8. Системы прерываний Прерывания в микроконтроллерах

advertisement
8. Системы прерываний Прерывания в микроконтроллерах
представляет собой механизм, который позволяет
микроконтроллеру реагировать на внешние события. Этот
механизм работает таким образом, что при наступлении некоторого
события в процессоре возникает сигнал, заставляющий процессор
прервать выполнение текущей программы, т.е. говорят, что
возникло прерывание. После того как выполнение текущей
программы прервано, процессор должен перейти к выполнению
программной процедуры, связанной с этим событием
(прерыванием) – процедуры обработки прерывания. Однако,
прежде чем перейти непосредственно к процедуре обработки
прерывания, процессор должен выполнить ряд предварительных
действий. Прежде всего, для того чтобы в будущем он смог
корректно продолжить прерванную программу, необходимо
сохранить состояние процессора (счетик команд, слово состояния
процессора, внутренние регистры и т.д.) на момент,
предшествующий прерыванию. Т.е. другими словами, требуется
сохранить состояния всех тех ресурсов, которые так или иначе
могут быть изменены в процессе обработки прерывания. Далее,
если в системе имеется несколько возможных источников
прерываний (а обычно так и бывает), процессор должен определить
источник запроса прерываний. И, наконец, затем перейти к самой
процедуре прерываний, конкретной для данного прерывания. По
завершению обработки прерывания процессор должен восстановить
состояние ресурсов, соответствующее прерванной программе,
после чего она может быть продолжена. Следует отметить, что для
сохранения всех требуемых ресурсов, поиска источника
прерывания и перехода к процедуре обработки прерывания
процессор должен затратить вполне определенное время. Это время
называется скрытым временем прерывания. Чем меньше скрытое
время прерывания, тем выше скорость реакции системы на внешние
события и тем выше производительность системы. Во многом это
определяется системой прерывания процессора и она является
одной из основных особенностей архитектуры контроллера. Под
системой прерываний мы будем понимать совокупность
аппаратных и программных средств, реализующих механизм
прерываний в микроконтроллере. Хотя существуют большое
множество различных вариантов построения систем прерываний,
тем не менее, можно выделить несколько основных способов
организации систем прерываний. Они отличаются между собой
объемом аппаратных средств, необходимых для реализации такой
системы и соответственно имеют различное быстродействие.
Рассмотрим эти варианты. Одноуровневые прерывания Данная
система прерываний реализована таким образом, что при
возникновении прерывания процессор аппаратно переходит к
подпрограмме обработки прерываний, расположенной по
некоторому фиксированному адресу. Чтобы упростить аппаратную
часть системы прерываний, этот адрес обычно располагается либо в
начале, либо в конце адресного пространства программной памяти.
Поскольку для обработки ВСЕХ прерываний используется только
ОДНА точка входа, то такая система прерываний получила
название одноуровневой. В такой системе выявление источника
прерываний путем опроса состояния флажков признаков
прерываний в начале программы обработки прерываний. При
обнаружении установленного флажка происходит переход к
соответствующему участку процедуры. Чем больше возможных
источников прерываний, тем больше времени необходимо для
обнаружения источника прерывания. Такой метод обнаружения
источника прерывания называется программным опросом или
поллингом (polling). Его недостатком является довольно большое
время, затрачиваемое на поиск источника прерывания и, как
следствие, замедленная реакция системы на внешние события. Его
достоинство – простота реализации системы прерываний.
20. Запоминающие устройства на магнитных носителях Эта
система могла хранить 5 млн символов (5 Мбайт!) на 50 дисках
диаметром 24 дюйма (около 61 см). В отличие от ленточных
устройств хранения данных, в системе RAMAC запись
осуществлялась с помощью головки в произвольное место
поверхности диска. Такой способ заметно повысил
производительность компьютера, поскольку данные записывались
и извлекались намного быстрее, чем при использовании ленточных
устройств. Как магнитное поле используется для хранения
данных. В основе работы магнитных носителей — накопителей на
жестких и гибких дисках — лежит электромагнетизм. Суть его
состоит в том, что при пропускании через проводник
электрического тока вокруг него образуется магнитное поле (рис.
1). Это поле воздействует на оказавшееся в нем ферромагнитное
вещество. При изменении направления тока полярность магнитного
поля также изменяется. Явление электромагнетизма используется в
электродвигателях для генерации сил, воздействующих на магниты,
которые установлены на вращающемся валу. Однако существует и
противоположный эффект: в проводнике, на который воздействует
переменное магнитное поле, возникает электрический ток. При
изменении полярности магнитного поля изменяется и направление
электрического тока (рис. 2). Головка чтения/записи в любом
дисковом накопителе состоит из U-образного ферромагнитного
сердечника и намотанной на него катушки (обмотки), по которой
может протекать электрический ток. При пропускании тока через
обмотку в сердечнике (магнитопроводе) головки создается
магнитное поле (рис. 3). При переключении направления
протекающего тока полярность магнитного поля также изменяется.
В сущности, головки представляют собой электромагниты,
полярность которых можно очень быстро изменить, переключив
направление пропускаемого электрического тока. Магнитное поле в
сердечнике частично распространяется в окружающее пространство
благодаря наличию зазора, “пропиленного” в основании буквы U.
Если вблизи зазора располагается другой ферромагнетик (рабочий
слой носителя), то магнитное поле в нем локализуется, поскольку
подобные вещества обладают меньшим магнитным
сопротивлением, чем воздух. Магнитный поток, пересекающий
зазор, замыкается через носитель, что приводит к поляризации его
магнитных частиц (доменов) в направлении действия поля.
Направление поля и, следовательно, остаточная намагниченность
носителя зависят от полярности электрического поля в обмотке
головки. Гибкие магнитные диски обычно делаются на лавсановой,
а жесткие — на алюминиевой или стеклянной подложке, на
которую наносится слой ферромагнитного материала. Рабочий слой
в основном состоит из окиси железа с различными добавками.
Магнитные поля, создаваемые отдельными доменами на чистом
диске, ориентированы случайным образом и взаимно
компенсируются на любом сколько-нибудь протяженном
(макроскопическом) участке поверхности диска, поэтому его
остаточная намагниченность равна нулю. Если участок
поверхности диска при протягивании вблизи зазора головки
подвергается воздействию магнитного поля, то домены
выстраиваются в определенном направлении и их магнитные поля
больше не компенсируют друг друга. В результате на этом участке
появляется остаточная намагниченность, которую можно
впоследствии обнаружить. Выражаясь научным языком, можно
сказать: остаточный магнитный поток, формируемый данным
участком поверхности диска, становится отличным от нуля.
23-24. Оптические дисковые накопители CD-ROM (Compact Disc
Read-Only Memory — память только для чтения на компактдиске)
— это оптический носитель информации, предназначенный только
для чтения данных. Другие форматы, CD-R и CD-RW, позволяют
записывать данные на компакт-диск, а новая технология DVD
позволяет существенно увеличить емкость обычного оптического
диска. В настоящее время накопитель CD-ROM — неотъемлемая
часть практически любого компьютера. Исключением служит лишь
компьютер, используемый в бизнес-сети. В такой сети существует
выделенный сервер с жесткими дисками и накопителем CD-ROM,
предоставленными в совместное использование. Такой способ
более экономичен, но приносит массу неудобств, особенно если
сеть предприятия достаточно велика.
CD-ROM — это оптический носитель информации,
предназначенный только для чтения, на котором может храниться
до 650 Мбайт данных, что соответствует примерно 333 тыс.
страниц текста, 74 минутам высококачественного звучания или их
комбинации. Технология записи компакт-дисков
Компакт-диск представляет собой поликарбонатную пластину
диаметром 120 мм и толщиной 1,2 мм, в центре которой
расположено отверстие диаметром 15 мм. Штампованное или литое
основание пластины физически является одной спиральной
дорожкой, которая начинается на внутренней и заканчивается на
внешней части диска. Шаг этой дорожки, или разделение спирали,
равен 1,6 микрон (1 микрон — миллионная часть метра или
тысячная часть миллиметра). Для сравнения: шаг физической
дорожки долгоиграющей пластинки составляет примерно 125
микрон. Компакт-диск, если смотреть на него со стороны
считывания (снизу), вращается против часовой стрелки. Если
рассмотреть спиральную дорожку под микроскопом, то станет
видно, что она состоит из приподнятых участков, которые
называются впадинами (pits), и плоских поверхностей между ними,
называемых площадками (lands). На первый взгляд может
показаться странным, что приподнятый участок дорожки
называется впадиной. Лазер, используемый для считывания данных
компакт-диска, может свободно пройти сквозь прозрачный пластик,
поэтому отформованная поверхность диска покрывается
отражающей металлической пленкой (обычно алюминиевой).
После этого алюминиевая пленка покрывается тонким защитным
слоем акрилового лака, на который, в свою очередь, наносится
текст или красочное изображение. Типы оптических накопителей
Как уже отмечалось, в настоящее время существует несколько
типов оптических накопителей. Два из них — CD-R (CDRecordable) и WORM — предоставляют возможность однократной
записи данных на один и тот же диск, что часто бывает необходимо
для гарантии целостности архивной информации, а два других —
магнитооптический и фазоинверсный (PC — phase change) — дают
возможность перезаписывать данные, уже однажды записанные на
диск. Еще один тип — CD-ROM предусматривает только чтение
данных с дисков. Промышленность выпускает оптические
дисковые автоматы, поддерживающие накопители и носители всех
перечисленных типов. Один из наиболее популярных типов
оптических накопителей — магнитооптический. В таких
устройствах для записи данных используются магнит и лазер.
Запись информации в них осуществляется за два прохода луча
лазера. Фазоинверсные накопители выполняют запись за один
проход. Емкость компакт-диска Максимальный объем данных,
содержащихся на стандартном компакт-диске, считывается в
течение 74 минут, причем за каждую секунду обрабатывается 75
блоков по 2 048 байт в каждом. Это позволяет вычислить
абсолютную максимальную емкость диска CD-ROM, которая
составляет 681 984 000 байт — 682 Мбайт (мегабайт), или 650 MiB
(mebibyte).
25.
Магнитооптические
накопители
Магнитооптический
дисковод внешне очень похож на обычный, но снабжен
электронной системой выброса носителя. В принципе, работа с ним
мало чем отличается от работы с обычным дисководом, а для
пользователя он ничем не отличается от обычного винчестера. В
таблице приведены основные технические характеристики
накопителя фирмы Fujitsu M2512A. Приведем минимальные:
скорость записи 290 KБ/с, скорость чтения 800 KБ/с. При всех
измерениях программная кэш-память не использовалась.
Технические характеристики: Время доступа 35 мс, Количество
циклов чтения/записи 10 млн., скорость чтения – 1,47 Мб/с,
скорость записи 0,49 Мб/с, разметка сектора 512 байт, число
дорожек 17940, объём кэш-памяти 237 Кбайт. Как уже было
сказано, скорость работы дисковода при чтении намного выше
скорости в режиме записи. Для увеличения быстродействия
магнитооптического накопителя используется кэширование. При
этом кэш-память может устанавливаться отдельно как на чтение,
так и на запись. Имеет смысл дополнительно использовать
программное
кэширование.
Как
показывают
испытания,
использование программной кэш-памяти объемом 512 КБ
увеличивает скорость работы магнитооптического накопителя на
30%, а дальнейшее увеличение кэш-памяти неэффективно.
Преимущества:
слабая
подверженность
механическим
повреждениям, слабая подверженность магнитным полям,
гарантированное качество записи, работа как с жестким диском,
магнитооптический диск способен сохранять информацию более
длительное время, чем обычные флоппи-диски. Конечно,
магнитооптические накопители, как и другие устройства, имеют
недостатки. 1)Самым серьезным из них можно считать перегрев
самого дисковода и диска в режиме записи. Используя внутренний
дисковод, следует по возможности пытаться устанавливать его в
более просторное место, подальше от винчестеров и других
накопителей. 2) Еще один серьезный недостаток - это большое
время доступа к данным (в самых последних моделях - около 20
мс). 3) В процессе записи продольное магнитное поле должно
оставаться ориентированным в одном направлении. Оно не может
менять направление потому, что высокая индуктивность
электромагнита препятствует быстрому переключению полярности
магнита. Следовательно, магнит в современных МО-дисководах
может построить магнитное поле в данной область дорожки диска
только в одном направлении, при каждом прохождении области
дорожки под головкой чтения/записи. Например, если поляризация
продольного поля направлена вверх, можно поменять поляризацию
направленных вниз полей на противоположную, но ориентацию
вверх
не
поменяешь.
Чтобы работать надежно, МО процессу записи требуется
одинаковая ориентация всех полей на записываемой области.
Другими словами, данную область сначала надо стереть, а потом на
нее записывать. В МО-дисководах процесс стирания требует
отдельной фазы. Во время первого шага стирается ранее
записанный материал, а во второй шаг записывается новый. 4)
Малая распространенность. Снижение цен на магнитооптические
дисководы и увеличение их быстродействия в ближайшее время
может привести к тому, что они полностью вытеснят флоппидисководы. Вполне возможно, что темпы снижения цен ниже, чем
ожидалось, но предлагаемый объем и скоростные параметры
магнитооптических накопителей уже сегодня многим помогут
решить проблему хранения больших объемов информации.
Насколько это перспективно и выгодно - судите сами. Принципы
работы МО накопителя. МО накопитель построен на совмещении
магнитного и оптического принципа хранения информации.
Записывание информации производится при помощи луча лазера и
магнитного поля, а считывание при помощи одного только лазера.
В процессе записи на МО диск лазерный луч нагревает
определенные точки на диски, и под воздействием температуры
сопротивляемость изменению полярности, для нагретой точки,
резко падает, что позволяет магнитному полю изменить полярность
точки. После окончания нагрева сопротивляемость снова
увеличивается, но полярность нагретой точки остается в
соответствии с магнитным полем, примененным к ней в момент
нагрева. В имеющихся на сегодняшний день МО накопителях для
записи информации применяются два цикла, цикл стирания и цикл
записи. В процессе стирания магнитное поле имеет одинаковую
полярность, соответствующую двоичным нулям. Лазерный луч
нагревает последовательно весь стираемый участок и таким
образом записывает на диск последовательность нулей. В цикле
записи
полярность
магнитного поля
меняется
на
противоположную, что соответствует двоичной единице. В этом
цикле лазерный луч включается только на тех участках, которые
должны содержать двоичные единицы, и оставляя участки с
двоичными нулями без изменений. Несмотря на большую емкость
магнитооптических дисков (на сегодняшний день существуют 5,25дюймовые диски емкостью 4,6 ГБ), они не могут заменить жесткие
диски. Прежде всего, это связано с низким быстродействием
магнитооптических дисководов, а ведь этот параметр является
одним из основных показателей для жестких дисков.
Быстродействие магнитооптических дисководов существенно
снижается при записи диска; не спасает положение и технология
кэширования записи. Как известно, запись на магнитооптический
диск осуществляется за два прохода: при первом проходе данные
стираются с диска, при втором - записываются. А если к тому же
установить проверку данных при записи, то быстродействие
снизится еще на 20-30%.
2. Структурная схема ЦП. Назначение и
функционирование узлов ЦП.
…
Управляющий блок - управляет работой всех блоков
процессора.
Арифметико-логический блок - выполняет
арифметические и логические вычисления.
Регистры - блок хранения данных и промежуточных
результатов вычислений - внутренняя оперативная память
процессора.
Блок декодировки - преобразует данные в двоичную
систему.
Блок предварительной выборки - получает команду от
устройства (клавиатура и т.д.) и запрашивает инструкции в
системной памяти.
Кэш-память (или просто кэш) 1-го уровня - хранит часто
использующиеся инструкции и данные.
Кэш-память 2-го уровня - хранит часто использующиеся
данные.
Блок шины - служит для ввода и вывода информации.
Характеристики процессора
Основными характеристиками процессора являются его
тактовая частота, разрядность и размеры кэша 1-го и 2-го
уровня.
Тактовая частота
Частота — это количество колебаний в секунду. Тактовая
частота — это количество тактов в секунду. В применении к
процессору:
Тактовая частота — это количество операций, которое
процессор может выполнить в секунду.
Т.е. чем больше операций в секунду может выполнять
процессор, тем быстрее он работает. Например, процессор с
тактовой частотой 40 МГц выполняет 40 миллионов
операций в секунду, с частотой 300 Мг — 300 миллионов
операций в секунду, с частотой 1 ГГц - 1 миллиард
операций в секунду.
К 2003 году тактовая частота процессоров достигла 3 ГГц.
Существует два типа тактовой частоты — внутренняя и
внешняя.
Внутренняя тактовая частота — это тактовая частота, с
которой происходит работа внутри процессора.
Внешняя тактовая частота или частота системной шины —
это тактовая частота, с которой происходит обмен данными
между процессором и оперативной памятью компьютера.
До 1992 года в процессорах внутренняя и внешняя частоты
совпадали, а в 1992 году компания Intel представила
процессор 80486DX2, в котором внутреняя и внешняя
частоты были различны — внутренняя частота была в 2 раза
больше внешней. Было выпущено два типа таких
процессоров с частотами 25/50 МГц и 33/66 МГц, затем Intel
выпустила процессор 80486DX4 с утроенной внутренней
частотой (33/100 МГц).
С этого времени остальные компании-производители также
стали выпускать процессоры с удвоенной внутренней
частотой, а компания IBM стала выпускать процессоры с
утроенной внутренней частотой (25/75 МГц, 33/100 МГц и
40/120 МГц).
В современных процессорах, например, при тактовой
частоте процессора 3 ГГц, частота системной шины 800
МГц.
Разрядность процессора определяется разрядностью его
регистров. Компьютер может оперировать одновременно
ограниченным набором единиц информации. Этот набор
зависит от разрядности внутренних регистров. Разряд — это
хранилище единицы информации. За один рабочий такт
компьютер может обработать количество информации,
которое может поместиться в регистрах. Если регистры
могут хранить 8 единиц информации, то они 8-разрядне, и
процессор 8-разрядный, если регистры 16-разрядные, то и
процессор 16-разрядный и т.д. Чем большая разрядность
процессора, тем большее количество информации он может
обработать за один такт, а значит, тем быстрее работает
процессор.
Процессор Pentium 4 является 32-разрядным.
Объем кэш-памяти 1-го и 2-го уровня также влияет на
производительность процессора. В процессоре Pentium III
кэш-память 1-го уровня составляет 16 Кб, кэш-память 2-го
уровня 256 Кб.
3. Стандартный цикл работы ЦП.
1)По содержимому Счетчика команд происходит обращение в ОЗУ
и выборка из ОЗУ команды на регистр команд. 2)Команда
принимается на регистр команд и затем определяется тип команды
по содержимому поля кода операции с помощью дешифратора и
управляющего устройства, которое на протяжении всей работы
процессора формирует управляющие сигналы для всех блоков
процессора. 3)Затем по содержимому адресного поля происходит
формирование исполнительных адресов (адресов, по которым в
памяти хранятся операнды), причем операнды могут храниться как в
ОЗУ так и в СОЗУ(Кэш). 4)Далее происходит выборка операндов по
исполнительным адресам и засылка их в соответствующие блоки
для обработки. 5) Затем происходит выполнение операции (или
обработка операндов) и размещение результата в нужной памяти
при необходимости (результат может быть записан в память либо
остаться в АЛУ для дальнейшей обработки). 6) Далее на Счетчике
команд вычисляется адрес следующей команды (СК + к, где к –
количество ячеек памяти, занимаемых командой, т.е. увеличение
Счетчике команд на длину прочитанной команды)
4. Канал обмена информацией. Функции и реализация.
Компьютер сможет работать с достаточной скоростью лишь при
условии, что будет организован таким образом, чтобы полное слово
данных обрабатывалось им за указанное время. Когда слово данных
пересылается между устройствами, параллельно перемещаются и
все его биты. Каждый бит пересылается по своему проводу (линии),
так что для пересылки слова требуется несколько параллельных
линий. Группа линий, образующая соединение между несколькими
устройствами, называется шиной (bus). Наряду с линиями, по
которым пересылаются данные, шина содержит линии для передачи
адреса и управляющих сигналов.
Для соединения нескольких функциональных устройств
компьютера проще всего использовать общую шину (single bus). К
этой шине подсоединяются все устройства компьютера. Поскольку
за один раз по шине может пересылаться только одно слово данных,
в каждый конкретный момент шину могут использовать только два
устройства. Для организации процесса параллельной обработки
нескольких запросов используются линии управления шиной.
Главным достоинством архитектуры с общей шиной является ее
низкая стоимость и гибкость в отношении подключения
периферийных устройств. При наличии в системе нескольких шин
возможно одновременное выполнение нескольких операций
пересылки данных, благодаря чему такая система работает быстрее,
но и стоимость ее выше. Подсоединенные к шине устройства могут
заметно отличаться друг от друга по скорости функционирования.
Некоторые электромеханические устройства, в том числе
клавиатуры и принтеры, работают относительно медленно.
Значительно выше скорость работы, скажем, магнитных и
оптических дисков. А память и процессор функционируют со
скоростью электронных схем, благодаря чему являются самыми
быстрыми частями компьютера. Поскольку все эти три типа
устройств могут взаимодействовать между собой через шину,
необходим такой механизм пересылки данных, который не
ограничивал бы скорость обмена информацией между любыми
двумя устройствами скоростью более медленного из них и
сглаживал бы разницу в скорости работы процессора, памяти и
внешних устройств.
Самый распространенный подход к решению этой задачи основан
на использовании буферных регистров, которые встраиваются во
внешние устройства для хранения получаемой ими информации.
Для примера давайте рассмотрим процесс передачи кода символа от
процессора принтеру. Процессор пересылает данные по шине в
буфер принтера. Поскольку буфер представляет собой электронный
регистр, пересылка выполняется очень быстро. Когда буфер будет
заполнен, принтер начнет печатать, и вмешательство процессора
больше не потребуется. Шина и процессор освобождаются для
другой работы, которая может выполняться одновременно с
печатью символа, хранящегося в буфере принтера. Таким образом,
использование буферных регистров сглаживает различия в скорости
функционирования процессора, памяти и устройств ввода-вывода и
предотвращает блокирование высокоскоростного процессора
медленными устройствами на все время выполнения операций
ввода-вывода. Процессор может быстро переключаться от одного
устройства к другому, обслуживая их параллельно.
5. Способы обмена информацией. Канал ЭВМ обеспечивает три
типа обмена данными - это программный обмен, обмен в
режиме прямого доступа к памяти и обмен в режиме прерывания программы. Программный обмен – способ обмена,
при котором всё управление процессом ввода/вывода
осуществляется под управлением процессора, при исполнении им
соответствующих команд ввода-вывода. Обмен в режиме прерывания программы - синхронизация достигается за счет того,
что устройство ввода-вывода само сообщает о своей готовности,
отправляя через шину специальный сигнал. Прямой доступ к
памяти - является характерным для высокоскоростных устройств
ввода-вывода. Эта технология позволяет интерфейсным схемам
устройства самостоятельно обмениваться
5-6. Программный обмен. Ввод-вывод информации. Аппаратное
и программное обеспечение.
Программный обмен – способ обмена, при котором всё управление
процессом ввода/вывода осуществляется под управлением
процессора, при исполнении им соответствующих команд вводавывода.
Простейшая схема подключения устройств ввода-вывода к
компьютеру заключается в использовании общей шины. Все
устройства, подключенные к шине, могут обмениваться между
собой информацией. Обычно шина состоит из трех наборов линий,
предназначенных для передачи адресов, данных и управляющих
сигналов. Каждому устройству ввода-вывода присваивается
уникальный набор адресов. Когда процессор помещает на адресные
линии конкретный адрес, распознавшее этот адрес устройство
отвечает на команду, помещенную на управляющие линии.
Процессор запрашивает либо операцию чтения, либо операцию
записи, и запрошенные данные пересылаются по линиям данных.
Организация системы ввода-вывода, при которой устройства вводавывода и память разделяют одно адресное пространство, называется
вводом-выводом с отображением в память. При использовании
ввода-вывода с отображением в память любые машинные команды,
выполняющие обращение к памяти, могут быть задействованы и для
обмена данными с устройствами ввода-вывода. Предположим,
DATAIN — это адрес входного буфера, связанного с клавиатурой.
Тогда следующая команда считывает данные из DATAIN и
помещает их в регистр процессора R0: «Move DATAIN,R0».
Аналогичным образом команда «Move R0,DATAOUT» пересылает
содержимое регистра R0 по адресу DATAOUT, который может
соответствовать выходному буферу дисплея или принтера.
Аппаратные элементы, необходимые для присоединения устройств
ввода-вывода к шине, представлены на рис. 4.2. Когда адрес
устройства появляется на адресных линиях, устройство распознает
его с помощью дешифратора (декодера) адреса. Данные, которыми
устройство обменивается с процессором, хранятся в регистрах
данных. Регистр состояния содержит информацию, относящуюся к
функционированию устройства ввода-вывода. Регистры данных и
состояния соединяются шиной данных, и им присваиваются
уникальные адреса. Дешифратор адреса, регистры данных и
состояния, управляющие схемы, необходимые для координирования
операций ввода-вывода, составляют схему сопряжения, или интерфейс, устройства.
…
Скорость работы устройств ввода-вывода значительно отличается
от скорости работы процессора. Когда оператор вводит с
клавиатуры символы, между последовательными нажатиями
клавиш процессор может выполнять миллионы команд.
Команда, считывающая символ с клавиатуры, должна выполняться
только тогда, когда таковой находится во входном буфере
интерфейса клавиатуры. Кроме того, необходимо гарантировать,
что один и тот же символ не будет прочитан из этого буфера
дважды. В случае входного устройства, подобного клавиатуре, в
схему сопряжения в виде одного из разрядов регистра состояния
включается флаг состояния SIN. Он устанавливается в I, если
символ вводится с клавиатуры, и сбрасывается в 0, если символ
считывается процессором. Таким образом, проверяя значения флага
SIN, программное обеспечение гарантирует корректность операции
чтения данных. Для этого обычно организуется программный цикл,
считывающий регистр состояния и проверяющий состояние флага
SIN. Обнаружив, что флаг установлен в 1, программа считывает
значение из регистра входных данных. Аналогичным образом
может осуществляться управление операциями вывода, но в этом
случае применяется флаг состояния SOUT. Это технология
программно-управляемого ввода-вывода, при котором процессор
постоянно проверяет флаг состояния, чтобы синхронизировать свою
работу с работой внешнего устройства. Мы говорим, что процессор
опрашивает устройство.
Download