Сделай Сам Свою Работу на 5

ВРЕМЕННЫЕ ДИАГРАММЫ МАШИННЫХ ЦИКЛОВ МИКРОПРОЦЕССОРА ПРИ ЧТЕНИИ И ЗАПИСИ





 

Эти диаграммы отображают распределение во времени процессов чтения и записи данных на локальных шинах. Управление названными процессами на этих шинах микропроцессор осуществляет с помощью двух сигналов: DBIN — чтение и — запись. На системных шинах синхронизация чтения и записи осуществляется уже по четырем линиям: ,, и (см. п. 1.4). Сигналы на эти линии выдает СКФ после приема кода SW (см. таблицу 2.1).

Временная диаграмма записи SW представлена на рис. 2.5. В начале первого такта (Т1) по сигналу SYNC SW записывается во внутренний регистр СКФ, после чего снимается с локальной ШД, освобождая ее для передачи информации — приема микропроцессором команды или обмена данными с другими устройствами. В соответствии с SW комбинационной схемой, находящейся внутри СКФ, к началу второго такта (Т2) выдаются сигналы ,,, или , уровни которых определяет тип цикла. Так при чтении кода команды или данных из памяти L-уровень будет иметь сигнал , а при чтении информации из УВВ — и т.д. Назначение сигнала будет рассмотрено в дальнейшем.

    Рис. 2.5

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



Временная диаграмма цикла чтения приведена на рис. 2.6. Согласно этой диаграмме микропроцессор осуществляет следующие действия:

· в такте Т1 выдается:

Þ на ША — адрес ячейки памяти или УВВ;

Þ на ШД — код SW;


    Рис. 2.6

 

    Рис. 2.7

 

Þ на линию SYNC — сигнал SYNC, отмечающий начало машинного цикла и сопровождающий SW;

· в такте Т2:

Þ если READY имеет высокий уровень, то производится переход к такту Т3;

Þ если READY имеет низкий уровень, то это означает, что адресуемое устройство не успевает выдать данные на ШД, в этом случае микропроцессор устанавливает сигнал ожидания готовности WAIT и вставляет между тактами Т2 и Т3 такты ожидания ТW;

· в тактах ТW анализируется состояние входа READY и если последний имеет высокий уровень (данные появились), то микропроцессор переходит к такту Т3;

· в такте Т3 микропроцессором производится считывание данных из памяти или УВВ по сигналам СКФ или , момент выдачи которых определяет сигнал микропроцессора DBIN (чтение).



Последующие такты обычно требуются для внутренних операций микропроцессора.

Цикл записи (см. рис. 2.7) отличается от цикла чтения следующим:

· данные для записи выдаются микропроцессором на ШД без задержки после снятия SW;

· управляющим сигналом является , по которому СКФ выдает или , синхронизирующие запись байта в память или УВВ.

Первым машинным циклом каждого командного цикла всегда является чтение — микропроцессор считывает первый байт команды, содержащий код операции (выборка команды из памяти). Далее, в зависимости от информации, полученной после расшифровки этого кода, осуществляется переход либо к циклу чтения данных из памяти или УВВ, либо к записи информации в эти устройства, а также к останову или обработке прерывания, порядок которой будет рассмотрен далее.

СИСТЕМА КОМАНД

 

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

· пересылки данных;

· ввода-вывода информации;

· арифметических и логических действий;

· переходов к другим участкам программы и подпрограммам.

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



Команды пересылки реализуют обмен информацией между микропроцессором и памятью, осуществляя чтение или запись данных. Так по команде, имеющей мнемокод MVI А, Х, микропроцессор выполнит чтение байта Х из ячейки памяти в аккумулятор. Ячейка, где хранится байт Х, является следующей после той, в которой записан код операции данной команды. При ее выполнении текущий адрес в регистре IP получит приращение на число байтов командного кода — таким образом программа будет продолжена скоманды, следующей заMVI А, Х. Командные коды MOV A, M и MOV M, А обеспечат соответственно чтение и запись содержимого аккумулятора в ячейку, адрес которой хранится в регистрах H, L. При завершении этих команд содержимое IP будет указывать на очередную команду также, как и при выполнении MVI А, Х. Считывание командного кода, а также процессы чтения и записи данных синхронизируются сигналами и .

Команды ввода-вывода отличаются от команд пересылки тем, что осуществляют информационное взаимодействие микропроцессора с ячейками УВВ, называемых портами. В мнемокодах этих команд указывают адрес ячейки, называемый номером порта, с которой производят обмен. Например по команде OUT F8содержимое аккумулятора будет записано в ячейку с адресом 00F8h, а по команде IN F8 микропроцессор считает данные из этой ячейки в аккумулятор. В этом случае синхронизация считывания кодов команд осуществляется сигналом , а чтение и запись данных — и .

Арифметические и логические команды производят одноименные действия с данными. Например при выполнении команды ADD С произойдет арифметическое сложение содержимого аккумулятора и регистра С, а результат суммы снова будет помещен в аккумулятор. Команда ОRA D реализует логическую функцию поразрядного ИЛИ данных в аккумуляторе и регистре D, результат выполнения которой также будет записан в аккумулятор.

Команды перехода путем изменения адресной информации в регистре IP осуществляют:

· организацию циклического выполнения одной или нескольких команд программы;

· переход от основной программы к подпрограмме и возврат из нее снова в основную программу.

В мнемокодах этих команд указывают адреса переходов к участкам программы, называемые метками. Ниже приведена программа, содержащая циклы и подпрограмму, назначением которых является поочередный вывод байта из регистра B в порты с номерами F8 и F9.

 

Программа 2.1

МЕТКА МНЕМОКОД КОММЕНТАРИЙ
  LXI SP, 0900 Начало программы. Запись в регистр SP адреса вершины стека 0900h.
  MVI B, 63 Запись в регистр В числа 63h.
  MVI C, 01 Запись в регистр С числа 01h.
START: MOV A, C Начало цикла START. Запись в аккумулятор содержимого регистра С.
  OUT F8 Вывод содержимого аккумулятора в порт с адресом 00F8h.
  RLC Циклический сдвиг содержимого аккумулятора влево (удвоение результата).
  MOV C, A Запись содержимого аккумулятора в регистр С.
  MOV A, B Запись в аккумулятор содержимого регистра В.
  OUT F9 Вывод в порт с адресом 00F9h значения в аккумуляторе.
  CALL TIME Вызов подпрограммы TIME.
  JMP START Переход к началу цикла. Конец цикла START. Конец программы.

 

Подпрограмма 2.1

МЕТКА МНЕМОКОД КОММЕНТАРИЙ
TIME: LXI D, AFF0 Начало подпрограммы TIME.Запись числа AFF0h в регистровую пару DE.
CYCLE: DCX D Начало цикла CYCLE. Уменьшение содержимого регистра D на 1 (декремент).
  MOV A, D Запись в аккумулятор содержимого регистра D.
  ORA E Поразрядное логическое ИЛИ аккумулятора и регистра Е. Результат помещается обратно в аккумулятор.
  JNZ CYCLE Если результат в аккумуляторе не равен 0 (значение результата определяется по флагу Z регистра F), то перейти к началу цикла CYCLE, в противном случае перейти к следующей команде. Конец цикла CYCLE.
  RET Возврат в основную программу. Конец подпрограммы TIME.

 

В начале программного кода в регистр SP производится запись адреса вершины стека. В данном случае в стеке сохраняется значение регистра IP, записываемое туда при выполнении команды CALL TIME, изменяющей затем содержимое этого регистра для перехода к метке TIME, с которой начинается подпрограмма. В подпрограмме организован программный цикл, охватывающий команды DCX D, MOV A, D, ORA EиJNZ CYCLE, выполняющийся до тех пор, пока содержимое аккумулятора не станет равно нулю. При нулевом значении аккумулятора цикл закончится и выполнение подпрограммы продолжит команда RET, которая извлечет из стека прежнее значение IP, указывающее на команду, следующую после CALL TIME. Таким образом произойдет возврат в основную программу к команде JMP START,организующей программный цикл, начинающийся с метки START. Далее всякий раз выполнение основной программы будет начинаться с этой метки.

ДЕШИФРАТОР АДРЕСА

 

Дешифратор адреса (ДА) представляет собой устройство, предназначенное для выборки микросхем ЗУ или УВВ, ячейки которых адресует микропроцессор (см. п. 1.4.2). Количество адресуемых ячеек определяется размером адресного пространства — величиной 2n+m, где n + m — число линий ША, передающих n старших и m младших разрядов кода. Единицей измерения этого пространства является величина 210, называемая 1К. Количество же микросхем ЗУ и УВВ, которые могут быть выбраны, зависит с одной стороны от числа выходов ДА, а с другой — от способа подключения устройств к этим выходам: совместного или раздельного (см. п.1.4.4).

Если УВВ подключены раздельно с памятью, то обычно применяют два модуля ДА — для ЗУ и УВВ. Это необходимо для того, чтобы не перегружать по току выходы одного модуля при подключении к нему большого числа устройств. С точки зрения ЦП модули рассматриваются как один ДА с единой выходной магистралью (см. рис. 2.8), поскольку к их входам подключены одни и теже n линий старших разрядов адресного кода. Младшие m разрядов адреса определяют конкретную ячейку, с которой ЦП производит обмен информацией.

При совместном подключении памяти и УВВ, как правило, применяют один модуль ДА, преобразующий n-разрядный адресный код в 2n линий . Эти линии распределяют между ЗУ и УВВ в соответствии с их требуемым количеством (см. рис. 2.9). На рисунке показано, что выходы ДА — подключены к ЗУ, а — — к УВВ.

Микросхемы, применяемые при построении модулей ДА, имеют тристабильные управляемые выходы, что дает возможность реализовать дешифратор с необходимым числом выходных линий на основе нескольких микросхем в том случае, если выходов одной ИМС недостаточно.

Для примера рассмотрим модуль ДА, состоящий из 9 стандартных ИМС, преобразующий старшие адресные линии А11 — А15 (см. п. 2.1) в 32-разрядную выходную магистраль — . Схема ДА приведена на рис. 2.10, где обозначено:

· DD1 — главного дешифратора;

· DD2 — DD9 — подчиненных дешифраторов.

Главный дешифратор преобразует трехразрядный код на линиях А13 — А15 в 8 выходных сигналов, разрешающих работу подчиненным дешифраторам, которые вырабатывают сигналы выборки ЗУ или УВВ согласно базовым адресам. Например, если какое-либо из этих устройств имеет базовый адрес Е800h, то двоичный код на ША будет иметь значение 1110 1000 0000 0000. Соответствие разрядов кода номерам линий ША приведено на рис. 2.11. Двоичный код на линиях А13 — А15 представляет собой

 

 

 

    Рис. 2.9  

десятичное число 7. В этой связи на выходе Y7 главного дешифратора будет установлен L-уровень, который разрешит работу подчиненному дешифратору DD9. Код на линиях А11, А12 соответствует десятичному числу 1, поэтому ИМС DD9 на выходе Y1 выдаст логический 0 — таким образом сигнал станет активен и произведет выборку адресуемого устройства.

 
А15 А14 А13 А12 А11 А10 — А0

 

Рис. 2.11


  Рис. 2.10

Если число выходных линий ДА определяет количество микросхем ЗУ или УВВ, которые могут быть выбраны, то число младших разрядов ША — количество ячеек, содержащихся в микросхеме. Очевидно, что каждая микросхема занимает определенный участок адресного пространства. В рассмотренном примере ДА делит это пространство размером 216 = 64К на 32 участка (в соответствии с числом выходов ) по 2К. Размер участка соответствует величине 211, равной числу ячеек, адресуемых одиннадцатью младшими разрядами кода адреса, передаваемого по линиям А0 — А10.

ЗАПОМИНАЮЩИЕ УСТРОЙСТВА

 

Типы и условные графические обозначения ИМС запоминающих устройств (ЗУ) были рассмотрены выше в п. 1.5. Подключение к системным шинам этих микросхем должно обеспечивать бесконфликтный доступ к ячейкам памяти при чтении и записи информации. Это возможно только в том случае (см. п. 1.4.3), если их переключение из Z-состояния в режим выдачи или приема данных будет осуществляться только во время действия импульсов синхронизации информационного обмена:

· — чтения;

· — записи.

Варианты стыковки ЗУ с шинами МПС будут рассмотрены на примерах подключения к этим шинам ИМС ПЗУ и статического ОЗУ.

Схема соединения ИМС ПЗУ с 16-разрядной ША и 8-разрядной ШД приведена на рис. 2.12. ПЗУ имеет 11 адресных (А0 — А10) и 8 информационных линий D0 — D7, подключенных соответственно к ША и ШД. Таким образом, ПЗУ представляет собой блок, содержащий 2К (211) 8-разрядных (однобайтных) ячеек общей информационной емкостью 2К байт или 2 килобайта — 2КВ. Управление Z-состоянием приемопередающих информационных линий D0 — D7 осуществляется по двум входам: и . Соединение выхода ДА с входом ПЗУ означает, что начальный адрес блока будет нулевым. В ячейке с этим адресом должен храниться код операции команды, которая считывается микропроцессором первой сразу же после включения электропитания (см. п. 2.2.2) и с ее выполнения начинается процесс программной обработки данных. В этой связи начальный участок адресного пространства выделяется для энергонезависимого хранения в ПЗУ основы программного обеспечения МПС.

При адресации ячейки ПЗУ ДА выдает сигнал L-уровня, после чего микропроцессор вырабатывает импульс (чтение). Во время действия этого импульса ПЗУ переключится из Z-состояния на выдачу данных из адресованной ячейки (см. рис. 1.13 б) и таблицу 1.4).

Если ИМС ОЗУ подключить к системным шинам аналогично ПЗУ так, как показано на рис. 2. 13, то произойдет конфликт на ШД при записи данных в эту микросхему. Действительно, после выборки нужной микросхемы ОЗУ сигнал (запись) некоторое время еще остается пассивен — имеет Н-уровень, а записываемые данные уже присутствуют на ШД (интервал времени [t1, t2] на рис. 1.13 а)). Из таблицы 1.5 следует, что если на входе установлен сигнал Н-уровня, то выбранная ИМС выдаст данные из адресованной ячейки. В режиме выдачи микросхема будет работать до тех пор, пока на вход не поступит сигнал L-уровня, настраивающий ее на прием информации — запись. Таким образом, существует интервал времени, когда к ШД подключаются устройства, одновременно являющиеся источниками данных: с одной стороны — микропроцессор, сформировавший данные для записи, а с другой — ИМС ОЗУ, выдавшая информацию по причине работы в режиме чтения. Очевидно, что устройства, подключившиеся к одной и той же шине, и одновременно работающие в режиме выдачи данных будут конфликтовать. Если бы работа ИМС ОЗУ была запрещена при пассивных значениях и , то данные не выдавались бы, и конфликта не произошло. Причина, по которой возник конфликт, состоит в том, что управление Z-состоянием микросхемы ОЗУ осуществлялось только одним сигналом — , а сигналы и в управлении этим состоянием не участвовали.

Рассмотренная выше конфликтная ситуация будет исключена, если применить логическую схему на элементах 2ИЛИ и 2И (см. рис. 2.14), которые разрешают работу ИМС ОЗУ сигналом лишь в том случае, если или , а также установлены в «0» (см. таблицу 2.2).

    Таблица 2.2.
Режимы работы ОЗУ Сигналы
         
Z-состояние
Чтение
Запись
Z-состояние Любые значения
 

Из таблицы следует, что ОЗУ находится в Z-состоянии если и имеют H-уровень (пассивны), несмотря на то, что ИМС выбрана L-уровнем от дешифратора адреса. В этом случае ОЗУ не выдаст данные и конфликт, речь о котором шла выше, становится невозможным. Поскольку элементы 2ИЛИ и 2И обладают конечным

  Рис. 2.12
  Рис. 2.13     Рис. 2.14

быстродействием, то моменты времени переключения уровней сигнала , запаздывают относительно . Тогда выход ИМС из Z-состояния произойдет после настройки ОЗУ на прием информации извне. Таким образом прием данных продолжается до тех пор, пока имеет L-уровень.

Элементы логической схемы, реализующей бесконфликтный доступ к ОЗУ, у некоторых ИМС могут находиться внутри корпуса. Если ИМС содержит 2ИЛИ, то ее подключение к управляющим сигналам производится только через элемент 2И, как показано на рис. 2.15 а). Микросхемы памяти, заключающие логическую схему целиком, имеют раздельные входы управления чтением и записью данных, обозначаемые соответственно и . Соединение таких микросхем с системными шинами приведено на рис. 2.15 б).

  Рис. 2.15  

В МПС с 16-разрядной ША и 8-разрядной ШД максимальный объем памяти составляет 64К´1 байт — 64 КВ. Очевидно, что для построения ЗУ такого объема на ИМС емкостью 2 КВ необходимо 32 микросхемы. В этом случае нагрузка по току на шинные формирователи ЦП может быть значительной. Для оптимизации нагрузки на системные шины ЦП память составляют из нескольких модулей, каждый из которых имеет собственный шинный формирователь, повышающий нагрузочную способность шин группы микросхем. Схема одного из таких модулей приведена на рис. 2.16, где обозначено:

· DD1 — ПЗУ;

· DD2 — DD4 — ОЗУ;

· DD5 — шинный формирователь;

· DD6 — логический элемент 2И.

На этой схеме ИМС ЗУ объединены в блок, имеющий объем 8 КВ. МПС с 64 КВ памяти должна содержать 8 таких блоков с определенными диапазонами адресов. На рис. 2.16 микросхемы DD1 — DD4 занимают начало адресного пространства — их выборка осуществляется по 4 линиям: — . Сигналы на этих линиях может, например, вырабатывать дешифратор DD2 см. рис. 2.10.

Модуль имеет внутреннюю ШД, соединенную с системной ШД через шинный формирователь DD5, переключаемый по управляющему входу Т в режим приема или выдачи данных. Выборка ИМС памяти для любого из этих режимов производится одинаково: ДА вырабатывает сигналы разрешения работы — . При чтении или записи информации в ячейку ИМС, выбранной ДА, формирователь DD5 переключается из Z-состояния сигналом , который вырабатывает элемент 2И как результат логического умножения и . При Н-уровне этих сигналов запретит работу DD5 — в этом случае внутренняя ШД через DD5 будет разъединена с системной. Если же хотя бы один из сигналов или имеет L-уровень, то шинный формирователь переключится из Z-состояния на прием или выдачу данных в соответствии со значением сигнала на входе Т. Таким образом переключение блока в рабочий режим осуществляется только на время действия импульсов синхронизации чтения или записи, чем обеспечивается бесконфликтный доступ к микросхемам памяти (см. п. 1.4.2 — 1.4.4).

Каждая из этих микросхем занимает в адресном пространстве МПС некоторый диапазон адресов, который начинается с базового адреса и заканчивается кодом, указывающим на последнюю ячейку микросхемы. Базовый адрес ИМС DD1 (ПЗУ — см. рис. 2.16) имеет значение 0000h. Очевидно, что код, указывающий на последнюю ячейку этой ИМС, является максимальным смещением относительно базового адреса, и представляет собой двоичное число, выраженное логическими единицами в разрядах А0 — А10 (см. рис. 2.17).

   

 


А15... А12 A11 А10 А9 А8 А7 А6 А5 А4 А3 А2 А1 А0
0...0
F F
  Рис. 2.17

 

 
Входы дешифратора адреса Адресные входы ИМС ОЗУ
А15 А14 А13 А12 А11 А10 А9 А8 А7 А6 А5 А4 А3 А2 А1 А0

 

а)

 

Входы дешифратора адреса Адресные входы ИМС ОЗУ
А15 А14 А13 А12 А11 А10 А9 А8 А7 А6 А5 А4 А3 А2 А1 А0
    F F
F F F

 

б)

Рис. 2.18


Таким образом ИМС ПЗУ занимает диапазон адресов от 0000h до 07FFh.

Базовый адрес ИМС ОЗУ DD2, будет определяться кодом на линиях А0 — А15, как показано на рис. 2.18 а). Действительно, на информационные входы А11 — А15 ДА (дешифраторы DD1 и DD2 — см. рис. 2.10) поступают 5 старших разрядов этого кода, десятичным эквивалентом которого является число 1 — номер линии , выбирающей ИМС ОЗУ DD2 (см. рис. 2.16). В этой связи базовый адрес этой ИМС — 0800h. Код смещения определяется также, как и для ПЗУ (см. выше) и соответствует величине 7FFh (см. рис. 2.18 б)). Таким образом, адрес последней ячейки DD2, представляющий собой сумму кодов базового адреса и смещения (см. п.1.4.2), равен числу 0FFFh. Следовательно, диапазон адресов ИМС ОЗУ DD2 начинается с 0800h и заканчивается 0FFFh. Адресные диапазоны остальных микросхем рассчитываются аналогично.


  Рис. 2.19  

Формально каждую ИМС ЗУ, входящую в блок (см. рис. 2.16), можно считать страницей ячеек памяти, размер которой в данном случае составляет 2КВ. Таким образом отдельному блоку в адресном пространстве соответствует таблица, содержащая начальные адреса страниц, а совокупности блоков — перечень адресов таблиц.

В этой связи существует возможность построения логической модели адресации ячейки, называемой моделью памятии выражаемойсхемой, приведенной на рис. 2. 19. Согласно схеме, 16-разрядный адрес разбит на 3 поля. Поле 1 (разряды А0 — А10 ) содержит код смещения относительно начального адреса страницы, поле 2 (разряды А11, А12) — указатель на таблицу страниц, а поле 3 (разряды А13 — А15) — указатель на перечень таблиц.

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

УСТРОЙСТВА ВВОДА-ВЫВОДА

 

Данные устройства построены на специальных микросхемах и предназначены для подключения к ЦП внешних устройств (ВУ). К ВУ в частности относятся дисплей, клавиатура, накопители на гибких и жестких магнитных дисках, платы адаптеров, громкоговоритель звуковой сигнализации и т.д. Некоторые из устройств ввода-вывода позволяют расширять функциональные возможности МПС, обеспечивая информационное взаимодействие ЦП с другим оборудованием.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.