Программа которая постоянно находится в памяти и служит для управления внешним устройством

Как быстро выучить стихотворение наизусть? Запоминание стихов является стандартным заданием во многих школах.

Как научится читать по диагонали? Скорость чтения зависит от скорости восприятия каждого отдельного слова в тексте.

Как быстро и эффективно исправить почерк? Люди часто предполагают, что каллиграфия и почерк являются синонимами, но это не так.

Как научится говорить грамотно и правильно? Общение на хорошем, уверенном и естественном русском языке является достижимой целью.

  • Обратная связь
  • Правила сайта

Источник: www.soloby.ru

Порты ввода-вывода | Первая программа | Микроконтроллеры с нуля #4

Обмен данными с внешними устройствами ввода/вывода.

· регистры в состоянии управления, также как и регистры данных доступны только через шину данных; другими словами часть управляющей информации в компьютере передаётся не по шине управления, а по шине данных;

· такая организация передачи управления информации обусловлена тем, что каждое внешнее устройство имеет целый набор собственных сигналов и команд, а потому предусмотреть для них соответствующие линии на шине управления системного интерфейса не представляет возможным, очевидно, что это существенно замедляет обмен данными с внешним устройством

Нарисуем упрощённую блок-схему контроллера внешнего устройства для системного интерфейса с изолированной шиной:

  • логика управления обеспечивает дешифрацию регистров контроллеров; приём управляющих сигналов системного интерфейса (ввод/вывод); формирование на их основе внутренних управляющих сигналов, кроме того, она может генерировать сигнал готовности ВУ; запрос на прерывание; запрос на прямой доступ к памяти
  • внутренние управляющие сигналы определяют, в какой из регистров контроллера будет подключён через приемо-передатчик шины к шине данных

Различают 3 основных способа организации ввода/вывода:

    1. программно – управляющий обмен
    2. обмен в режиме прерывания
    3. обмен в режиме прямого доступа к памяти

программно – управляющий обмен – это передача данных по инициативе и под управлением программы, осуществляющей ввод/вывод

Такой обмен может быть реализован в 2 режимах:

а) обмен в синхронном режиме – обмен с безусловной передачей данных (без контроля приёма данных);

· синхронный режим используется для обмена с такими ВУ, для которых точно известно время выполнения одной операции ввода/вывода;

· программа, управляющая обменом, должна давать команды на приём или передачу данных с временным интервалом не меньшим, чем время необходимое для выполнения одной операции

4. Периферийные устройства.

· если команды и данные будут передаваться в более быстром темпе, то они будут потеряны

· этот наиболее простой способ обмена требует минимальных и аппаратных и программных затрат

б) обмен в асинхронном режиме – обмен с проверкой готовности ВУ (обмен по готовности ВУ)

· в этом режиме каждая следующая команда на приём или передачу данных даётся только тогда, когда ВУ выполнит предыдущую команду и сообщит об этом, установив бит (флаг) готовности в своём регистре состояний

Изобразим алгоритм обмена:

Рассмотрим действия, необходимые для печати слова EPSON на принтере, подключённом параллельно в входу PC (LPT1).

Контроллер параллельного интерфейса имеет 3 регистра:

  1. регистр данных – 378h: записывается байт данных, который затем пересылается в буфер принтера
  2. регистр состояний – 379h
  3. регистр управления – 37Ah: записывается команда, управляющая работой принтера

Рассмотрим простейшую программу:

const D: array [1..7] of byte = ($45,$50,$53,$4F,$4E,$D,$A);

if (Port[SR] and $80) = 0 then

writeln(‘принтер не готов’);

for I:=1 to sizeof (D) do

while (Port[SR] and $80) = 0 do;

обмен в режиме прерывания – такой способ обмена, при котором производится приостановка (для выполнения ввода/вывода) или прерывание выполняемой программы; причём обмен инициирует не программа, выполняемая процессором, а само внешнее устройство (ВУ)

· при реализации этого способа обмена команды или инструкции обслуживания этого устройства оформляются в виде подпрограммы – подпрограммы обработки прерываний (ПОП)

Читайте также:
Мс ворд это прикладная программа

· процессор передаёт управление ПОП только в том случае, если ВУ, исходя из своих внутренних побуждений, само известит процессор о готовности к обмену, для этого он выставляет на соответствующую линию шины управления системного интерфейса сигнал «запрос на прерывание»

· если при программо-управляемом обмене готовность ВУ определяется путём программного считывания содержимого регистра состояний контроллера ВУ, то появление запроса на прерывание появляется аппаратно

· наличие сигнала готовности проверяется процессором автоматически при выполнении каждой команды – это существенно экономит время процессора, поскольку программный цикл ожидания отсутствует

Какие действия выполняются в компьютере при появлении сигнала на прерывание?

процессор завершает выполнение текущей команды

если аппаратное прерывание разрешено, т.е. установлен флаг в прерывании в регистре состояний процессора, то процессор с помощью специальных сигналов и соответствующих циклов шины подтверждает готовность к прерыванию и идентифицирует источник запроса

процессор сохраняет в (текущем) стеке содержимое счётчика команд (СК) и содержимое регистра состояний (РС)

процессор помещает в СК адрес подпрограммы обработки прерывания для данного устройства и приступает к её выполнению

в начале своей работы подпрограмма обработки прерывания должна сохранить в стеке содержимое регистров процессора и в конце работы она должна восстановить эти регистры из стека

подпрограмма обработки прерываний завершается специальной инструкцией возврата из прерывания, по этой инструкции процессор извлекает из стека адрес возврата прерванной программы – после чего продолжается выполнение прерванной программы

· такой алгоритм обслуживания прерываний с использованием стека обеспечивает вложенность прерываний; вложенность означает, что любое ВУ может прервать уже выполняющуюся подпрограмму обработки прерываний, если оно имеет более высокий приоритет, чем обслуживаемое устройство

· приоритет – число, приписанное ВУ, которое определяет очерёдность его обслуживания (обычно наибольший приоритет имеет наиболее быстродействующие устройства или устройства, данные от которых не могут быть восстановлены

· устройство с высшим приоритетом обслуживается первым

· если обслуживание запрашивает устройство, приоритет которого не выше приоритета уже обслуживаемого устройства, то его запрос блокируется до завершения текущей ПОП

  • в контроллерах ВУ, работающих в режиме прерывания в регистре управления, как правило, имеется бит, с помощью которого можно разрешить или запретить устройству генерацию сигналов «запрос на прерывание»
  • прерывания, о которых идёт речь, это аппаратные или внешние прерывания (т.е прерывания генерируемые внешними по отношению к процессору устройствами)

аппаратные прерывания подразделяют на:

  • маскируемые прерывания (INIR) можно запретить, сбросив флаг прерывания в регистре флагов процессора; можно также запретить прерывания от отдельных устройств с помощью регистра маски контроллера прерываний
  • немаскируемые прерывания с помощью регистра флагов запретить нельзя; немаскируемые прерывания могут генерировать схемы контроля чётности оперативной памяти (NMI), а также систему управления энергопотребления (SMI)
  • также различают программные или внутренние прерывания – генерируются самим процессором
  • к программным прерываниям относят особые случаи (исключения) (деление на ноль; запрос о отсутствующей в памяти страницы; нарушение защиты по привилегиям)
  • прерывания, генерируемые машинными командами, используются для доступа к стандартным подпрограммам, адреса которых программисту неизвестны
  • программные прерывания обрабатываются так же, как и аппаратные, только в первом случае отсутствуют циклы подтверждения прерывания

Высшие приоритеты имеют:

    1. программы прерывания
    2. немаскируемые аппаратные прерывания
    3. маскируемые прерывания

Существуют 2 основных свойства идентификации ВУ, запросившего обслуживание:

  1. с помощью программного опроса (полинга) готовности ВУ, работающих в режиме прерывания
  2. с использованием векторов прерывания
    • в первом случае запросы на прерывание от всех ВУ объединяются по схеме ИЛИ (монтажное ИЛИ) и подаются на соответствующий вход процессора; обработка прерываний осуществляется с помощью единой подпрограммы обработки прерываний
    • приоритеты ВУ при такой организации обслуживания прерываний определяются очерёдностью их опроса, чем раньше в подпрограмме опрашивается устройство, тем выше его приоритет и тем меньше время реакции на его запрос
    • необходимость последовательного опроса всех ВУ существенно увеличивает время устройств, опрашиваемых последними
    • уменьшить время обслуживания ВУ можно с помощью векторной системы подготовки прерывания
    • в случае векторной системы для каждого ВУ имеется собственная подпрограмма обработки прерываний, адрес этой подпрограммы обычно называется векторным прерыванием
    • для того чтобы процессор смог обработать запрос от ВУ, он должен тем или иным способом получить вектор прерывания для данного устройства
    Читайте также:
    Как запретить программе доступ в интернет через hosts

    Существует 2 основных способа получения вектора прерывания:

      1. само ВУ может сообщить вектор прерывания
      2. контроллер прерывания, общий для всех ВУ

    Соответственно различают 2 варианта реализации векторной системы:

    1. векторная система с интерфейсным вектором
    2. с вне интерфейсным вектором
      • в первом случае контроллер каждого внешнего устройства, работающего в режиме прерывания должен иметь специальный регистр для хранения вектора прерывания
      • это схема намного эффективнее схемы прерывания с программным опросом, поскольку здесь опрос осуществляется не программно, а аппаратно
      • во втором случае системы с вне интерфейсным вектором — специальные регистры для хранения векторов, адресов в контроллере ВУ отсутствует, а для идентификации используется общий для всех устройств контроллер прерывания – такая схема характерна для IBM совместимых PC

      Изобразим схему взаимодействия процессора с контроллером прерывания и шины IBM PC:

      • за исключением IRQ0, IRQ1, IRQ8, IRQ13 (системный таймер, клавиатура, часы реального времени, сопроцессор); контроллер шины формирует 2 цикла чтения, только во 2 цикле чтения контроллер прерывания выставляет номер вектора прерывания на шину данных, а процессор считывает его с шины данных
      • в реальном режиме вектора прерываний хранятся в таблице векторов прерываний, которые находятся в одном килобайте оперативной памяти, под каждый вектор выделено 4 байта (2 под смещение и 2 байта под адрес сегмента)
      • абсолютный адрес вектора прерываний в таблице = номер вектора умножить на 4
      • далее процессор сохраняет в стеке содержимое регистров флагов, содержимое регистра сегмента кода CS, смещение IP, затем сбрасывается флаг прерывания в регистре флагов; по адресу: номер вектора умноженный на 4 считывается из оперативной памяти адрес сегмента
      • подпрограмма обработки прерывания завершается инструкцией конца прерывания – EOI (end of interruption)
      • если обслуживание одновременно запрашивает несколько устройств, то контроллер прерывания обслуживает устройства с наибольшим приоритетом, а остальные устройства блокирует до получения команды конца прерывания

      обмен в режиме прямого доступа к памяти – обмен между ВУ и памятью осуществляется без участия процессора – специальный контроллер доступа к памяти общий для всех устройств, либо контроллер ВУ, если он имеет средство управления шинами

      · это наиболее быстрый способ обмена поскольку он требует меньшего числа тактов шины, чем при программно-управляющем обмене и обмене в режиме прерывания

      · в режиме прямого доступа могут работать LPT, COM, накопитель на магнитной диске, жёсткий диск, сетевые адаптеры

      · существует много способов организации обмена в режиме доступа к памяти

      1. с захватом цикла (с идентификацией состояния памяти)

      · в этом режиме обмен устройства с памятью осуществляется в течении тех машинных циклов процессора, когда последний не обращается к шине

      · для идентификации таких состояний процессор может генерировать специальный сигнал, указывающий что шина свободна

      2. прямой доступ к памяти с блокировкой процессора по запросу

      · в этом случае на время обмена процессор отключается от шин системного интерфейса

      · если устройство работает медленно, то оно в режиме прямого доступа к памяти (ПДП) – передаёт отдельные байты

      Читайте также:
      1с не удалось подключиться к другой программе класс не зарегистрирован

      · команда SC – после передачи байта запрос на прямой доступ к памяти сразу снимается DACK

      · если устройство работает быстро – данные передаются блоками, DACK не снимается

      Источник: poisk-ru.ru

      Современные операционные системы — тест 2

      nbsp

      nbsp

      nbsp

      Номер 2

      Что такое операционная среда?

      nbsp

      nbsp

      nbsp

      Номер 3

      Что такое оболочка операционной системы?

      nbsp

      nbsp

      nbsp

      Упражнение 3: Номер 1

      Какие функции выполняет операционная система?
      nbsp

      nbsp

      nbsp

      Номер 2

      Какие задачи решаются на этапе планирования ресурса в операционной системе?
      nbsp
      nbsp
      nbsp
      Номер 3
      Какие задачи решаются при управлении ресурсами?

      nbsp
      nbsp
      nbsp
      nbsp
      Упражнение 4: Номер 1
      Какие подсистемы являются общими для всех ресурсов?

      nbsp
      nbsp
      nbsp
      nbsp
      Номер 2
      Какие подсистемы являются общими для всех ресурсов?

      nbsp
      nbsp
      nbsp
      nbsp
      Номер 3
      Какие показатели являются критериями эффективности операционной системы?

      nbsp
      nbsp
      nbsp
      Упражнение 5: Номер 1
      Какие функции выполняет подсистема управления процессами?
      nbsp
      nbsp

      nbsp

      nbsp
      Номер 2

      Какие функции выполняет подсистема управления памятью?
      nbsp

      nbsp

      nbsp

      nbsp
      Номер 3

      Какая подсистема выполняет настройку адресно-зависимых частей кодов процесса на физические адреса выделенной области?
      nbsp
      nbsp
      nbsp
      nbsp
      Упражнение 6: Номер 1

      Какие подходы используются при разработке архитектуры операционной системы?
      nbsp
      nbsp
      nbsp
      nbsp
      Номер 2
      Какие утверждения являются верными?
      nbsp
      nbsp

      nbsp

      nbsp

      Номер 3

      Какие утверждения являются неверными?
      nbsp
      nbsp

      nbsp

      nbsp

      Упражнение 7: Номер 1

      Выполнение какого требования к операционной системе позволяет пользователю выполнить свои приложения в новой операционной системе?
      nbsp
      nbsp
      nbsp
      nbsp
      Номер 2

      Выполнение какого требования к операционной системе позволяет операционной системе управлять компьютером с различным числом процессов, обеспечивая линейное возрастание производительности при увеличении числа процессоров?
      nbsp
      nbsp
      nbsp
      nbsp
      Номер 3

      Выполнение какого требования к операционной системе позволяет переносить код операционной системы с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную платформу другого типа?
      nbsp
      nbsp
      nbsp
      nbsp

      Упражнение 8: Номер 1
      Какие возможности предлагает виртуализация?
      nbsp
      nbsp
      nbsp
      Номер 2
      Какие утверждения являются верными?

      nbsp
      nbsp
      nbsp

      nbsp

      Номер 3

      Какие утверждения являются неверными?

      nbsp

      nbsp
      nbsp
      nbsp
      Упражнение 9: Номер 1

      Какие операционные системы выполняются на одном процессоре, распределяя прикладные задачи по остальным процессорам?
      nbsp
      nbsp
      nbsp
      Номер 2
      Какой системой является операционная система Windows XP?

      nbsp
      nbsp
      nbsp
      nbsp
      nbsp
      Номер 3
      Какие утверждения верны только для многозадачных операционных систем (для однозадачных — неверны)?
      nbsp
      nbsp
      nbsp

      nbsp

      Упражнение 10: Номер 1

      Какие операционные системы предназначены для управления техническими объектами (станок, спутник, технологический процесс и прочее), где существует предельное время на выполнение программ, управляющих объектом?
      nbsp
      nbsp
      nbsp
      Номер 2

      Какие операционные системы предназначены для решения задач в основном вычислительного характера, не требующих быстрого получения результатов?
      nbsp
      nbsp
      nbsp
      Номер 3

      Какие операционные системы обеспечивают удобство и эффективность работы пользователя, который имеет терминал и может вести диалог со своей программой?
      nbsp
      nbsp
      nbsp
      Упражнение 11: Номер 1

      Какие утверждения являются верными для систем семейства UNIX/Linux?
      nbsp
      nbsp
      nbsp
      Номер 2
      Чем системы семейства UNIX/Linux отличаются от систем Windows?

      nbsp

      nbsp
      nbsp
      nbsp
      Номер 3

      Какие утверждения являются неверными для систем семейства UNIX/Linux?
      nbsp
      nbsp
      nbsp
      nbsp

      Упражнение 12: Номер 1
      На каких платформах работает операционная система Solaris?
      nbsp
      nbsp
      nbsp
      Номер 2
      В каких операционных системах поддерживается только командная строка как интерфейс пользователя?
      nbsp
      nbsp
      nbsp
      nbsp

      Номер 3
      Какая операционная система создана для разнообразных мобильных устройств?

      Источник: eljob.ru

      Рейтинг
      ( Пока оценок нет )
      Загрузка ...
      EFT-Soft.ru