Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084), страница 16
Текст из файла (страница 16)
е. в двоичном коде, последовательные значения которого отличаются только в одном разряде. Такая схема управляется временнйми сигналамн, которые выдает тактовый генератор. Мы уже несколько раз упоминали эту управляющую схему, в частности в примере, где двоичный счетчик применялся для управления работой автоматической стиральной машины.
В этом примере приращение содержимого счетчика при переходе от одного состояния к другому определяется переменными, которые содержат информацию о длительности процесса. Например, когда управление нагревом барабана передается управляющей схеме, одно состояние сменяет другое только после того, как температура воды в барабане достигнет определенной величины. В контроллере МП происходит то же самое, только здесь приращение содержимого счетчика обеспечивают временныесигналы, так как продолжительность определенных операций, таких, как передача данных, известна заранее, потому что скорость передачи данных по соответствующим каналам измеряется достаточно точно.
Переход от одного состояния счетчика к другому вызывается приращением содержимого счетчика и тогда, когда, например, возникает состояние ожидания в процессе выполнения операции при обращении к ЗУ. Медленная реакция на запрос о получении информации связана с тем, что МП вынужден ждать в течение определенного времени, прежде чем запрашиваемые данные появятся на выходе ЗУ. При этом контроллер не переходит к следующему шагу, а находится в состоянии ожидания до тех пор, пока из ЗУ не будет получен сигнал КВАРТ (готов). Имеется ряд команд, которые нарушают регулярное изменение содержимого этого счетчика. Эта ситуация возникает в случае команд с определенным числом специальных операций, например внутренних передач. При выполнении такой команды обращение к внешнему ЗУ не требуется и специальные операции выполняются быстрее.
Глава 2 В таких случаях контроллер можно сбросить в нуль (состояние О). В ходе изменения содержимого счетчика могут возникать и ветвления, если некоторые специальные операции, которые инициируются определенными состояниями счетчика, оказываются нежелательными. За счет повторения контроллер может пройти ряд состояний, как в случае повторяющихся специальных операций.
Подобные повторения, когда в действительности происходят последовательные переходы к предыдущим состояниям, имеют место при умножении или делении, так как эти операции всегда являются комбинациями операций сложения и сдвига или вычитания и сдвига соответственно. При умножении подпрограмма или цикл прерываются после нескольких шагов сложения, а при делении это происходит тогда, когда остаток становится равным нулю или изменяет знак. МП 8085А не имеет этих команд, однако в настоящее время известны МП,такие, как 28000, 8086 и 68000, которые имеют команды умножения и деления в аппаратурном исполнении. Цикл управления контроллера начинается в МП с вызова команды из программного ЗУ.
Во время первого этапа производится считывание ячейки ЗУ, адрес которой указан в счетчике команд. Байт считанной команды передается в регистр команд для последующей интерпретации. Во время интерпретации МП устанавливает длину команды †од, два или три байта и на основе этого параметра определяет последовательность дальнейших шагов операций, а также узнает, какие состояния контроллера будут при этом использованы. В МП 8085Ашаги операцийпроисходят впределахтак пазы. ваемого машинного цикла. Выборка команды в зависимости от типа команды требует от одного до трех машинных циклов. Затем устанавливается длина соответствующей команды — один, два или три байта. Если машинный цикл определяется состоянием контроллера, то первые три состояния контроллера резервируются под выборку команды.
Так как в состоянии 1 счетчика происходит интерпретация команды, то в состояниях 2 и 3 должно произойти приращение содержимого счетчика команд, чтобы в случае двухбайтовых и трехбайтовых команд можно было обращаться к соответствующим последовательным адресам ЗУ. После считывания команды можно приступить к исполнению требуемой операции. В зависимости от взаимодействия с ЗУ, которое необходимо на шаге исполнения, эта специальная выполняемая операция может включать большое число машинных циклов. Такая информация связана с особенностью данной команды. В исполнительных состояниях контроллера вырабатываются временные сигналы, которые вместе с дешифрованными битами команд активизируют такие исполнительные органы, как эвм регистры, АЛУ и порты ввода-вывода, используемые при выполнении операций обработки данных, считывания и передачи данных.
Эти сигналы управления передаются по управляющей шине, которая соединяет внутри МП различные регистры иЦП. Ряд сигналов выдается из МП для управления работой внешних схем, таких, как ЗУ и порты ввода-вывода. Такими сигналами являются уже упоминавшиеся выше управляющие сигналы КЭ(Ь), %К(Ь) и 10(Н)/М(Ь). Если какая-либо команда имеет отношение к операциям АЛУ, то происходит активизация управляющих шин АЛУ и определенная комбинация соответствующего временнбго сигнала и сигнала, полученного после дешифрации битового АЛУ-поля в команде, в надлежащий момент времени запускает АЛУ для выполнения указанных выше выбранных операций. Контроллер вместе с регистром команд реализует микропрограмму для МП. Здесь микропрограммирование осуществляется не с помощью ПЗУ и устройства задания последовательности (УЗП), как в случае ЭВМ с разрядно-модульной организацией, а схемами контроллера, регистра команд, счетчика команд, АЛУ н регистрами данных.
Здесь мы имеем дело с программированием при помощи аппаратурных средств в противоположность микропрограммированию в случае интерпретаторов с разрядно-модульной организацией. Разумеется, работа АЛУ также программируется с помощью соответствующих аппаратурно-реализованных связей. Это программирование осуществляется на более низком иерархическом уровне и может быть названо нанопрограммированием. Для описания различных операций внутри МП фирма-изготовитель предлагает временнйе диаграммы, из которых схемотехник может получить необходимые данные. Пример такой диаграммы приведен на рис. 2.9. Эта диаграмма описывает ход выполнения двубайтовой команды, которая занимает три машинных цикла. В первом машинном цикле М1 производится выборка команды. В этом же цикле осуществляется адресация программного ЗУ по шине адресов (старшнй байт) и шине данных (младший байт команды) при подаче сигнала АЬЕ, после чего с помощью сигнала КР(Ь) происходит считывание соответствующего байта программы.
Из этой временнбй диаграммы видно, что за счет мультиплексирования шины данных через группу нз восьми выводов двухрядного корпуса (типа 01Ь) первыми передаются биты адреса для адресации ЗУ и затем через те же восемь выводов производится считывание данных под управлением команды Я1)(Ь). Команды чтения и записи обозначаются на диаграмме как ВР(Ь) и %К(Ь) соответственно.
Сигнал 10(Н)/М(Ь), который выдает МП, сообщает, с каким устройством будет поддерживать связь МП. Если сигнал 28 Глава 2 Си си го(н лис Рис. 2дд Временная диаграмма циклов вызова команды и записи данных (двухбайтовая команда вывода МП 8085А). М1 имеет длительность 1, ЗЗ мкс, М2 и МЗ вЂ” по 1 мкс. Длительность машинного такта составляет ЗЗЗ нс (1,=3 МГц). Указанные значения обеспечиваются при использовании б МГЦ- кристалла кварца.
10(Н)/М(1.) имеет высокий уровень, то МП будет осуществлять связь с портами ввода-вывода, если же сигнал 10(Н)/М(1.) имеет низкий уровень, то на связь вызывается ЗУ. Таким образом, каждый машинный цикл имеет две фазы — фазу адресации и фазу обмена данными. Сигналы )хР(1) и %к(1) определяют, что именно будет считано нли записано во время этого обмена. Сигналы состояния, которые появляются на выходе МП, могут понадобиться для того, чтобы сообщить внешним схемам, какие действия были выполнены ими и что МП находится в режиме НА|Т (останова). В этом режиме МП генерирует команду останова (Н|Т), после чего прекращаются все операции. Команда Н1Т используется, в частности, для окончания программы. 2.1!.
Минимальная конфигурация МП Как показано выше, МП реализует вычислительную функцию в комбинации с программным и оперативным ЗУ, а также портами ввода-вывода, которые обеспечивают связь с внешними 79 устройствами. Такая минимальная конфигурация, в которой используется МП типа 8085А, приведена на рис. 2.10. Для совместной адресации ЗУ и портов ввода-вывода МП вырабатывает 16 адресных сигналов, которые через шину адресов (16сигнальных линий) подаются как в ЗУ, так и в порты ввода-вывода.