Лекция 6 Интерфейс микропроцессора
Скачать 64 Kb.
|
Лекция 6 «Интерфейс микропроцессора» Микропроцессор является основой любой компьютерной системы, поэтому рассмотрение интерфейса самого микропроцессора является первым шагом в изучении интерфейса различных компьютерных систем. Большинство микропроцессоров сами по себе функционально ограничены. Большая часть из них содержит внутреннюю память и немногие порты ввода - вывода, которые напрямую соединяют их с периферией. Микропроцессоры функционируют как элементы системы. Соединения между элементами внутри системы составляют интерфейс. Обычно интерфейс является общей границей между двумя или несколькими устройствами, т. е. тем, что влечет за собой раздел информации. Среди прочих свойств интерфейса отметим решение им задач синхронизации, выбора направления передачи данных и иногда приведения в соответствие уровней или форм сигналов. На рисунке 15 показана структурная организации работы микропроцессора с внутренними устройствами. Все названия даны в русском и английском вариантах. Расшифруем эти обозначения: - CPU - центральный процессор (центральное процессорное устройство - ЦПУ); - RAM - оперативное запоминающее устройство (ОЗУ); - ROM - постоянное запоминающее устройство (ПЗУ); - Port I/O - порт ввода/вывода. Рисунок 15 Основные элементы устройства с микропроцессором Процессор - это основной управляющий элемент всей схемы. ОЗУ и ПЗУ - это два вида памяти. Их можно было бы не разделять. Процессор их и не разделяет и работает с обоими видами памяти одинаково. Но между ними есть одно довольно существенное различие. ОЗУ хранит информацию только при наличии напряжения питания. Классический пример ячейки ОЗУ - это простейший регистр, построенный на D-триггерах. В такой регистр можно записывать информацию и она там будет храниться. Но после выключения питания при последующем включении все D-триггера регистра установятся в случайное положение. Информация будет утеряна. До сегодняшнего дня не придумано достаточно быстродействующего устройства оперативной памяти, не теряющего информацию с выключением питания. Современные ОЗУ строятся на других принципах. Сейчас в микропроцессорной технике преобладают так называемые динамические ОЗУ. Для хранения информации в них используются миниатюрные конденсаторы, выполненные интегральным способом на кристалле кремния. Каждый конденсатор хранит один бит информации. Входной сигнал при помощи дешифратора подается на этот конденсатор и, если это логическая единица, то конденсатор заряжается. Если логический ноль, то разряжается. Затем внутренний ключ отключает конденсатор от всех цепей и заряженные конденсаторы, какое то время хранят свой заряд. Но эти конденсаторы имеют свойство саморазряжаться, поэтому свой заряд они держат всего лишь несколько миллисекунд. Для того, что бы информация не потерялась, используют схему регенерации памяти. Все ячейки памяти организуются, как набор строк. Специальная схема периодически считывает информацию из памяти строка за строкой. После считывания очередной строки, считанная информация опять записывается в те же ячейки памяти. Конденсаторы при этом подзаряжаются снова. Для нормальной работы динамического ОЗУ схема микропроцессорного устройства должна непрерывно обеспечивать такую регенерацию в течение всего времени работы системы. ОЗУ современных больших компьютеров устроено так же по динамическому принципу. Однако схема регенерации встроена в сами микросхемы ОЗУ. ПЗУ строятся по другой технологии. Они называются постоянными запоминающими устройствами потому, что информация в них записывается один раз либо при их производстве, либо непосредственно перед применением, при помощи специальных программаторов. Хранение информации в ПЗУ основано на различных принципах, одним из которых является пережигание внутренних перемычек внутри микросхемы. Каждая перемычка предназначена для хранения одного бита информации. Если перемычка есть, то это значит, что в данной ячейке хранится единичный бит информации. Если она прожжена, то в ячейке ноль. Процессор может только читать информацию из ПЗУ. Запись информации в ПЗУ не возможна. Однако, если микропроцессор все же попытается произвести запись, то ничего страшного не произойдет. Ничего не запишется. В ячейке останется то, что там было до попытки записи. У микросхем ПЗУ отсутствует вход записи (WR). Порты ввода/вывода (или просто порты) - это обыкновенные регистры. Они служат для того, что бы микропроцессор мог управлять какими либо внешними устройствами. С одной стороны к ним подключены системные шины, а с другой подключаются внешние устройства. К выходам портов вывода можно подключать, например, цифро-аналоговые преобразователи (ЦАП), а через специальные электронные ключи электромагнитные реле, лампочки, светодиоды, моторчики, соленоиды и любые исполнительные механизмы. К входам портов ввода можно подключать аналогово-цифровые преобразователи (АЦП), кнопки, датчики. На рисунке 15 изображены три основные внутренние шины, организующие работу микропроцессора. Вместе они составляют системную шину. Системная шина состоит из следующих составляющих: - ШД - шина данных (DATA bus); - ША - шина адреса (ADDR bus); - ШУ - шина управления (CONTROL bus). Шина данных Эта шина предназначена для передачи данных от микропроцессора к периферийным устройствам и обратно. Для микропроцессора периферийными устройствами являются устройства памяти (ОЗУ и ПЗУ) и порты ввода/вывода. В простых микропроцессорных контроллерах она имеет обычно 8 разрядов. В более сложных - 16, 32, 64 … Количество разрядов всегда кратно восьми. По восьми разрядам передается один байт информации (то есть двоичное восьмиразрядное число). По шестнадцати разрядам можно одновременно передавать два байта. По 32-разрядной шине передача информации может происходить тремя способами: один байт (по младшим восьми разрядам), два байта (по младшим 16) и сразу по 4 байта. Аналогичный принцип используется и в 64-разрядной шине. Таким образом, как видим, байт тоже стал своеобразным стандартом, единицей измерения данных. Шина адреса Шина предназначена для передачи адреса ко всем периферийным устройствам (как к устройствам памяти, так и к портам ввода/вывода). Количество разрядов адресной шины от-личается большим разнообразием. Например, микропроцессор серии К580ИК80 имеет 16 разрядов адреса. Это можно считать минимальным количеством. Процессор Intel 8086, на котором собран родоначальник всех современных персональных компьютеров - IBM PC-XT, имеет 20 разрядов адреса. Современные процессоры имеют до 32 разрядов и больше. От количества разрядов шины адреса зависит, какое количество ячеек памяти может адресовать процессор. Процессор, имеющий шестнадцатиразрядную шину данных, может обращаться к 216 (то есть к 65536) ячейкам памяти. Это число называется объемом памяти. То есть, по другому, можно сказать, что такой процессор имеет объем адресуемой памяти в 65536 байт. В вычислительной технике используется необычная размерность для измерения объема памяти. Число 1024 (а это 210) байт информации принято называть Килобайтом. Почему 1024, а не 1000? Ну, во первых, потому, что количество ячеек памяти, адресуемых любым микропроцессором всегда является величиной, равной какой либо степени числа два. Например, для адресации 1024 ячеек памяти нужна шина адреса, имеющая ровно 10 разрядов. При этом шина не будет избыточна. Если бы мы захотели иметь только 1000 ячеек памяти, то для того, что бы обеспечить возможность обратиться к любой из них, нам все равно потребовалось бы 10 разрядов адреса, так как при девяти разрядах можно обратиться только к 512 ячейкам. Поэтому никто и ни когда не делал запоминающего устройства с объемом не равным одной из степеней двойки. Логично, что и объем памяти удобнее измерять в величинах, из того же ряда. Поэтому один килобайт равен 1024 байта. Один мегабайт равен 1024 килобайта. Для адресации портов ввода/вывода используется та же самая шина данных. Но в отличие от режима обмена данными с ОЗУ, при обмене с ПЗУ обычно используются только восемь (реже 16) младших разрядов той же самой шины адреса. Это связано с тем, что в реальной микропроцессорной системе портов ввода вывода бывает гораздо меньше, чем ячеек памяти. Шина управления Эта шина не имеет такой же четкой структуры, как шина данных или шина адреса. В шину управления условно объединяют набор линий, передающих различные управляющие сигналы от процессора на все периферийные устройства и обратно. В любой шине управления обязательно присутствует линии, передающие следующие сигналы: - RD - сигнал чтения; - WR - сигнал записи; - MREQ - сигнал, инициализации устройств памяти (ОЗУ или ПЗУ); - IORQ -сигнал инициализации портов ввода/вывода. Кроме того, к сигналам шины управления относятся: - READY - сигнал готовности; - RESET - сигнал сброса. Мы в дальнейшем будем рассматривать простую систему с микропроцессором, имеющую восьмиразрядную шину данных и шестнадцатиразрядную шину адреса. Рассмотрим подробнее, как работает система, изображенная на рисунке 5. В основном режиме работы всей системой управляет центральный процессор (CPU). При этом он может выполнять четыре основных операции: - чтение из ячейки памяти; - запись в ячейку памяти; - чтение из порта; - запись в порт. Для того, чтобы прочитать байт из ячейки памяти, процессор сначала устанавливает на шине данных адрес нужной ячейки. Затем он устанавливает сигнал MREQ в активное состояние (Лог. 0). Этот сигнал поступает на устройства памяти и служит разрешением для их работы. При этом сигнал IORQ остается равным лог. 1. Поэтому порты ввода/вывода микропроцессорной системы не активны. В следующий момент времени процессор переводит в активное состояние сигнал RD. Этот сигнал поступает как на устройства памяти, так и на порты ввода/вывода. Однако порты не реагируют на него, так как они отключены высоким уровнем сигнала IORQ. Устройство памяти напротив, получив управляющие сигналы RD и MREQ, выдает на шину данных байт информации из той ячейки памяти, адрес которой поступает на него по шине адреса. Процесс записи данных в память происходит в следующей последовательности: - сначала центральный процессор выставляет на адресную шину адрес нужной ячейки памяти; - затем на шину данных он выставляет байт, предназначенный для записи в эту ячейку; - после этого активизируется сигнал MREQ, разрешающий доступ к модулю памяти; - затем процессор устанавливает сигнал WR в активное (лог. 0) состояние. По этому сигналу происходит запись байта в ячейку памяти, адрес которой присутствует на шине адреса. Некоторые виды памяти работают медленно. Они могут не успеть выдать информацию или произвести ее запись так быстро, как это способен сделать центральный процессор. Для согласования работы медленных устройств памяти с быстрыми процессорами существует сигнал READY (готовность). Сразу после того, как процессор установит сигнал чтения или записи в активное состояние, устройство памяти устанавливает сигнал READY в пассивное состояние (лог. 0). Такой уровень сигнала означает, что внешнее устройство не готово, то есть еще не выполнило команду. Сигнал READY поступает на процессор, и он переходит в режим ожидания. Когда устройство памяти выполнит команду, оно установит сигнал в активное состояние (лог. 1). Процессор, получив этот сигнал, возобновляет работу. Сигнал READY применяется и в случае работы с медленными портами ввода/вывода. Операции чтения и записи с портами ввода/вывода происходят аналогично операциям чтения/записи с ОЗУ. Различие лишь в том, что вместо сигнала MREQ, в активное состоя-ние переходит сигнал IORQ, разрешающий работу портов. Как видно из схемы рисунка 15, к одной системной шине могут подключаться несколько модулей памяти, а так же несколько портов. Все устройства ко всем шинам подключаются параллельно. Как же происходит, что процессор записывает информацию в тот модуль памяти, в который нужно и при этом он не попадает в другие модули? Для этого в каждый модуль памяти встроен специальный дешифратор. На него подаются сигналы старших разрядов адресной шины. Далее, при помощи внутренних перемычек, для каждого модуля выбирается свой диапазон адресов с таким расчетом, что бы модули занимали разные не пересекающиеся диапазоны. Для того, что бы это было понятнее, предположим, что мы имеем четыре модуля памяти по шестнадцать ячеек в каждом. Для адресации шестнадцати ячеек достаточно четырех разрядов адресной шины. Еще два разряда понадобятся для того, что бы выбирать один из модулей. Поэтому четыре младших разряда шины данных (D0..D3) подаются на все модули памяти параллельно и используются для выбора одной из ячеек в модуле. Следующие два разряда (D4, D5) подаются на дешифраторы выбора модуля. Такие модули еще называют банками памяти. Перемычки в выбираемых модулях при этом нужно установить так, что бы первый модуль (банк памяти) активизировался тогда, когда разряды D4, D5 примут значение 002. Во втором модуле перемычки должны быть установлены в положение, при котором модуль будет активизироваться если D5, D5 примут значение 012. Третий модуль активизируется при D4, D5 = 102, а четвертый при 112. При таком способе включения модулей памяти первый банк памяти будет занимать в адресном пространстве адреса с 0000002 по 0011112. Второй банк - адреса с 0100002 по 0111112. Третий - с 1000002 по 1011112. И четвертый - с 1100002 по 1111112. Таким образом, процессор сможет обращаться к любой ячейке любого банка памяти. И при этом все модули будут подключены ко всем шинам параллельно. В заключение рассмотрим еще однин элемент, необходимый для организации работы микропроцессора с внутренними и внешними устройствами. Это тактовый генератор. Каждая операции в работе микропроцессора разделена на несколько тактов. Тактовый генератор вырабатывает прямоугольные импульсы, которые поступают на специальный вход микропроцессора, а иногда и на некоторые другие микросхемы системы. Эти импульсы синхронизирует все процессы, происходящие в системе и, в конечном счете, определяют быстродействие всей системы. Обычно передача данных от- и в микропроцессор через шины осуществляется в следующих формах: 1. Считывание из памяти 2. Запись в память 3. Считывание из УВВ 4. Запись в УВВ 5. Управление прерыванием или сбросом Когда говорят, что данные введены с другого устройства, это означает, что они введены в микропроцессор. Аналогично вывод данных - это их вывод из микропроцессора. Обычно микропроцессор является ядром всех операций. Однако в некоторых случаях микропроцессоры оставляют на время управление шинами данных и адресов, чтобы периферийное устройство могло получить доступ к центральной памяти, минуя микропроцессор: эта операция называется прямым доступом к памяти (ПДП). Согласно рисунку 15, МП, ПЗУ, ОЗУ, порты ввода - вывода являются различными устройствами. Иногда разработчики создают интерфейсы, совместимые с соответствующими устройствами МП. Они являются универсальными в том смысле, что могут быть программируемы как устройства интерфейса ввода или вывода. Некоторые разработчики встраивают ОЗУ и порты ВВ или ПЗУ в одну и ту же ИС с целью снижения числа элементов, составляющих систему. Они производят также специализированные интерфейсы в форме ИС: интерфейсы программируемых связей, программируемого управления ПДП, программируемого управления прерываниями, управления дискетами, контролерами связи синхронных данных, управления видеотерминалом и клавишным устройством. |