Принципы организации командных и машинных циклов.
Команда представляет собой совокупность микрокоманд, которые в виде двоичных кодов хранятся в постоянной памяти (ПЗУ) устройства управления процессора. Выполнение команды можно рассматривать как процесс считывания из ПЗУ микрокоманд, инициирующих работу некоторых функциональных узлов процессора на отдельных временных интервалах (тактах). Время, затрачиваемое на выполнение команды, называется командным циклом.
Команды имеют не одинаковую длительность командных циклов, так как содержат различное число микрокоманд, используют разные способы адресации и другую дополнительную информацию. Это обстоятельство отражается в форматах команд, имеющих длину один, два и более байт. В командном цикле можно выделить две основные фазы:
? фазу выборки команды.
В этой фазе программный счетчик PC выставляет на адресную шину адрес первого байта команды. Микропроцессор вырабатывает сигнал «чтения памяти», благодаря которому содержимое адресуемой ячейки памяти по шине данных поступает в регистр команд IR ( Instruction Register ).
Программный счетчика PC формирует адрес, указывающий на следующий элемент объектного кода. Фаза выборки одинакова для всех команд;
? фазу выполнения команды.
Фаза начинается с дешифрации команды. В результате дешифрации первого байта определяется вид (код) операции и в устройстве управления формируются необходимые для ее выполнения управляющие сигналы. Действия процессора в фазе выполнения команды и ее продолжительность зависит от вида операции. Для выполнения операции может потребоваться дополнительное обращение к памяти или внешним устройствами за данными, пересылка данных в соответствующие регистры процессора, непосредственное выполнение операции в АЛУ, вывод результатов в память или внешнее устройство и т. д.
Различная длительность командных циклов и неоднородность их отдельных фаз явились причиной организации машинных циклов для выполнения команд. Каждый машинный цикл представляет собой цикл обращения к системной магистрали. В машинном цикле производится выборка очередного байта (слова) команды или данных из памяти, запись в память, ввод или вывод данных. Командный цикл может содержать различное число машинных циклов. В первом машинном цикле М1 происходит выборка первого байта команды, ее дешифрация и исполнение, если данные находятся во внутренних регистрах процессора. Если выполнение команды требует обращения к памяти или внешним устройствам, то используется два, три и более машинных циклов.
Машинные циклы, как и командные, также не являются однородными. Поэтому на их выполнение затрачивается различное число тактов. Таким образом, при выполнении команды все действия процессора синхронизированы вложенными друг в друга циклами трех уровней: командными, машинными и тактовыми.
Рассмотрим в общих чертах особенности организации машинных циклов и работы микропроцессоров КР580ВМ80 и К1810ВМ86.
Микропроцессор КР580ВМ80.
Организация машинных циклов. Для организации машинных циклов (МЦ) используется двухфазная система синхроимпульсов Ф1, Ф2. Машинные циклы выполняются по тактам. Каждый такт отсчитывается от фронта импульсов Ф1. Его длительность равна периоду синхроимпульсов.
В течение такта выполняется одна микрокоманда. В первый такт каждого МЦ процессор вырабатывает сигнал синхронизации SYNC. Один МЦ включает 3–5 тактов, один командный цикл — 1–5 МЦ.
Набор управляющих сигналов процессора не обеспечивает его нормального функционирования в микропроцессорной системе. Например, он не позволяет реализовать селективное обращение к памяти и внешнему устройству. Поэтому в процессоре предусмотрен вывод на шину данных 8–разрядного слова состояния SW ( Status Word ) в первом такте каждого машинного цикла, что позволяет расширить набор управляющих сигналов и организовать работу МП в машинных циклах.
Отдельные разряды D 7… D 0 слова состояния имеют следующее назначение:
D 0 ( INTA ) ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ: стробирование команды RS Т (повторного пуска) в микропроцессор из устройства, запрашивающего прерывание, при действительном сигнале ПРИЕМ ( DBIN );
D l ( WO #) ЗАПИСЬ/ВЫВОД: при WO # = 0 на шине данных находится информация для записи в память или вывода во внешнее устройство (при WO = 1 реализуется режим чтения из памяти или приема из внешнего устройства);
D 2 ( STACK ) СТЕК: на шине адреса установлен адрес из указателя стека;
D 3 ( HLTA ) ПОДТВЕРЖДЕНИЕ ОСТАНОВА: микропроцессор находится в состоянии останов — отклик на команду ОСТАНОВА HLT ;
D 4 ( OUT ) ВЫВОД: на адресной шине установлен номер устройства вывода и осуществляется вывод информации из аккумулятора в это устройство при сигнале ВЫДАЧИ ( WR = 0);
D 5(М1) ВЫБОР ПЕРВОГО БАЙТА: текущий цикл служит для выбора первого байта команды;
D 6( INT ) ВВОД: на адресной шине установлен номер устройства ввода и осуществляется ввод информации в аккумулятор из этого устройства;
D 7 (МЕМ R ) ЧТЕНИЕ ИЗ ПАМЯТИ: в текущем цикле производится чтение из памяти.
С помощью разрядов слова состояния кодируются МЦ. В 8–разрядном процессоре КР580ВМ80 предусмотрено 10 МЦ:
№ МЦ | Назначение | Код |
1 | Прием первого байта команды в регистр команд | 10100010 |
2 | Чтение данных из памяти | 10000010 |
3 | Запись данных в память | 00000000 |
4 | Чтение из стека | 10000110 |
5 | Запись в стек | 00000100 |
6 | Ввод данных из порта в аккумулятор | 01000010 |
7 | Вывод данных из аккумулятора в порт | 00010000 |
8 | Подтверждение прерывания | 00100011 |
9 | Останов | 10001010 |
10 | Подтверждение прерывания при останове | 00101011 |
Работа в машинных циклах.
Выполнение любой команды начинается с первого машинного цикла М1, называемого основным. Перед началом цикла в программном счетчике PC установлен адрес первого байта очередной команды.
На такте Т1 происходят следующие процессы:
? адрес первого байта загружается в регистр адреса и выставляется на шину адреса; одновременно содержимое счетчика команд поступает в схему инкремента–декремента;
? передним фронтом импульса Ф2 формируется сигнал SYNC , свидетельствующий о том, что текущий цикл является первым машинным циклом; одновременно с этим сигналом на шину данных выставляется информация о состоянии микропроцессора.
На такте T 2:
? передним фронтом импульса Ф1 формируется Строб, по которому происходит запись слова состояния в регистр состояния;
? передним фронтом импульса Ф2 в микропроцессоре формируется сигнал Прием; с помощью сигнала Прием и выходного сигнала D 7 регистра состояния формируется управляющий сигнал чтения из памяти ЧтП; первый байт команды через двунаправленный буфер БД поступает на шины данных микропроцессора, однако не воспринимается им;
? прежнее содержимое счетчика команд, находящееся в схеме инкремента–декремента, увеличивается на единицу и снова передается в счетчик. Следовательно, теперь в счетчике будет уже находиться адрес второго байта команды или адрес первого байта следующей команды, если текущая команда является однобайтной;
? выявляется необходимость перевода микропроцессора в состояние ожидания TW путем проверки сигналов ГОТОВНОСТИ (Гт), ЗАПРОСА ЗАХВАТА (ЗЗх) и ПОДТВЕРЖДЕНИЯ ОСТАНОВА ( D 3). Если к моменту появления среза импульса Ф2 сигнал Гт = 0, то микропроцессор переходит в состояние ожидания Tw , которое может длиться неограниченно большое, но целое число тактов. На срезе Ф2 каждого такта производится проверка сигнала Гт. При Гт = 1, ЗЗх = 0, D 3 = 0 микропроцессор переходит в такт ТЗ.
На такте ТЗ:
? отрицательным фронтом Ф1 первый байт команды записывается в регистр команд РК;
? положительным фронтом Ф2 оканчивается сигнал Прием на выходе микропроцессора и, следовательно, сигнал чтения из памяти ЧтП.
На такте Т4:
? первый байт команды поступает из регистра команд в устройство управления, где анализируется и выясняется необходимость дополнительного обращения к памяти;
? если команда однобайтная и операнды находятся в регистрах микропроцессора, то такое обращение не требуется и предусмотренная командой операция выполняется; при необходимости используется дополнительный такт Т5;
? если существует необходимость дополнительного обращения к памяти, то основной машинный цикл М1 заканчивается.
Отличие машинных циклов ЧТЕНИЯ ИЗ ПАМЯТИ (2), ЧТЕНИЯ ИЗ СТЕКА (4), ВВОДА из внешнего устройства (6) по сравнению с циклом М1 заключается в следующем:
? для активизации режима работы устройств используются соответствующие управляющие сигналы;
? на такте ТЗ информация на шине данных воспринимается микропроцессором как данные, а не первый байт команды, и поэтому передается в другие регистры, а не в регистр команд.
Особенности выполнения машинных циклов ЗАПИСИ В ПАМЯТЬ (3), ЗАПИСИ В СТЕК (5) и ВЫВОДА из микропроцессора во внешние устройства (7) проявляются в следующем:
? для активизации режимов записи или вывода используются соответствующие управляющие сигналы для каждого из указанных устройств;
? на такте Т2 из микропроцессора на шину данных выводится информация;
? на такте ТЗ формируется управляющий сигнал для активизации записи или вывода.
Микропроцессор К1810ВМ86.
Организация машинных циклов. Машинные циклы (МЦ) синхронизируются тактовыми импульсами, поступающими на вход CLK.
Период тактовых импульсов составляет такт МЦ. Границей раздела тактов является срез тактового импульса. Каждый МЦ содержит не менее четырех тактов Т1–Т4.
В режиме минимальной конфигурации все необходимые сигналы управления вырабатываются микропроцессором самостоятельно. В режиме максимальной конфигурации возможна работа в восьми МЦ, тип которого выбирается трехразрядным кодом S2S1S0.
Работа в машинных циклах.
Рассмотрим работу процессора в машинном цикле, в котором осуществляется обращение к магистрали.
В такте Т1 микропроцессор на соответствующие выводы выставляет адрес А19…А0 и сигнал BHE/S7 = 0 для активизации Н–банка памяти.
При адресации портов ВВ старшие разряды А19…А16 адреса принимают значение 0.
В циклах чтения такт Т2 используется для переключения шины адресов/данных (ША/Д) в режим чтения. В это время она находится в высокоомном состоянии. Данные принимаются в течение тактов ТЗ и Т4.
В циклах записи в течение тактов Т2–Т4 процессор выставляет на ША/Д данные D15…D0. В такте ТЗ любого МЦ МП сигналом READY опрашивает готовность ВУ к обмену. Если READY = 0, то в следующем такте МП переходит в состояние ожидания, которое длится целое число тактов TW . После поступления READY = 1 микропроцессор завершает МЦ тактом Т4 и переходит к следующему МЦ обращения к магистрали. При отсутствии необходимости обращения к магистрали генерируются холостые такты Т5.
При передаче данных в тактах Т2, ТЗ ( TW ), Т4 на выводах A 16/ S 3… A 19/ S 6 и BHE / S 7 микросхемы активными становятся сигналы S 3… S 7, которые информируют ВУ о состоянии МП. При этом S 6 = 0, S 5 показывает состояние флага прерывания, a S 4 S 3 кодирует сегментный регистр, используемый при адресации.
Встретят тебя с позитивным настроением, реальные путаны Саранск, страстным взглядом и сексуальностью доведут до рая. Девушки, представленные на сайте, отдаются по максимуму своей работе. Темпераментные реальные путаны Саранск, страстные и желанные, они такие модельные и чуткие, что интимный досуг тебе обеспечен. Не отказывай себе в удовольствии.