Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
МПС с одно- и двухуровневым управлением
При разработке достаточно простых контроллеров или МПС, ориентированных на выполнения одной (управляющей) программы часто бывает целесообразно " погрузить" алгоритм управления (программу пользователя) непосредственно на микропрограммный уровень. Такой подход обеспечивает значительное увеличение эффективного быстродействия системы, снижает (по сравнению с двухуровневым вариантом) затраты оборудования, но значительно затрудняет или даже исключает возможность модификации программы пользователя. Структура МПС с одноуровневым управлением практически повторяет структуру УОД (Рис. 10.11); ее лишь может быть придется расширить за счет ОЗУ и средств управления ВУ. При использовании в МПС двухуровневого управления на нижнем уровне (в УОД) осуществляется арифметическая и логическая обработка данных. Верхний уровень представлен т.н. " центральным устройством управления" (ЦУУ), которое обеспечивает реализацию командного цикла, процедуры обмена данными по магистрали, анализ запросов на прерывания и ПДП. ЦУУ, в свою очередь, должно состоять из ОА и УА. Для реализации ЦУУ в некоторых серия секционированных БИС предусматриваются специальные модули. Так, в серии К1804 (второй очереди, [19]) выпускаются секции адресной обработки..ВУ5 - для построения ОА ЦУУ, контроллеры прерываний (..ВН1,..ВР3), прямого доступа в память (..ВУ6,..ВУ7), управления синхронизацией (..ГГ1) и другие модули. Использование приведенного выше комплекта БИС позволяет проектировать эффективные процессоры для каждого конкретного класса задач. В качестве примера рассмотрим структурную схему адресной обработки К18004ВУ5 (Рис. 10.12).
Рис. 10.12.Микросхема К1804ВУ5 Назначение выводов ВУ5
Расширение архитектуры Am2900 В рамках серии К1804 было выпущено ряд микросхем, отличающихся по архитектуре от АЛС ВС1, 2 и ВУ1, 2, 4, которые были ориентированы на создание устройств прежде всего нижнего уровня. Расширение составили БИС: ВМ1 – базовый процессорный модуль, ВУ5 – секция адресной обработки, ВН1 – контроллер прерываний, ВУ6, 7 – счетчики адресов для каналов ПДП и другие. Базовый процессорный элемент К1804ВМ1
Рис. 10.13. Структура К1804ВМ1
Назначение выводов микросхемы приведено в Табл. 10.8 Табл. 10.8
Организация основных блоков РЗУ – однопортовая память (Рис. 10.14) включает накопитель на 32 16-разрядных слова, выходной регистр данных, дешифратор адреса и схему управления записью/чтением. Запись осуществляется по заднему фронту тактового сигнала С при IEN\ = 0. При работе с байтами старшая половина слова остается неизменной. Рис. 10.14. Блок РЗУ Аккумулятор – 16-разрядный регистр (Рис. 10.15), запись в который осуществляется по переднему фронту С, если в инструкции Акк определен в качестве приемника результата. При IEN\ = 1 запись не производится независимо от инструкции. Регистр данных – «защелка» по заднему фронту DLE (Рис. 10.16). Наличие и позволяет организовать три режима работы регистра данных: 1) ввод информации через шину Y(0: 15) при DLE = 0 (регистр «открыт») и OEY\ = 1; 2) вывод информации из микропроцессора через шину Y при DLE = 1 (регистр «закрыт») и OEY\ = 0; 3) ввод, обработка и вывод через шину Y: ¨ в течение первой половины такта OEY\ = 1 и DLE = 1 ¨ в течение второй половины такта OEY\ = 0 и DLE = 0. В отличие от РЗУ и Акк в Рг.D может быть записано лишь полное 16-разрядное слово. Арифметико-логическое устройство (Рис. 10.17) включает мультиплексоры входов R, S и U, сдвигатель канала U, арифметико-логический блок АЛБ, приоритетный шифратор ПШ, формирователь признака нуля ФПН и выходной мультиплексор.
Сдвигатель позволяет за один такт выполнить циклический сдвиг в сторону старших разрядов (левый) на заданное число разрядов (от 1 до 15). При выполнении операций с байтами осуществляется сдвиг только восьми младших разрядов. Признаки C, N, Z, OVR формируются как для слов, так и для байтов.
На вход ПШ поступает R& S\ (S – маска, R – операнд). Приоритетный шифратор формирует номер позиции старшей «1» в формате, приведенном в Табл. 10.9. Табл. 10.9
1) позиция старшей единицы; 2) выход ПШ при операциях со словами; 3) выход ПШ при операциях с байтами.
Запись в Рг.С производится по переднему фронту С при SRE\ = 0 и IEN\ = 0. Формат Рг.С показан ниже.
В младшие четыре разряда могут быть записаны признаки Z, C, OVR, N или 4 младших разряда с шины Y. Источник для четырех младших разрядов Рг.С определяется выполняемой инструкцией (за исключением «NOP», «Хранение Рг.С», «Проверка состояния», «Уст. 0», «Уст. 1 старших битов Рг.С»). В старших четырех разрядах хранится бит связи L (который формируется после каждой инструкции сдвига) и три флага пользователя. Содержимое Рг.С можно вывести на шину Y или записать в РЗУ или Акк. При выполнении записи в инструкции со словом старшие 8 бит устанавливаются в «0», при операциях с байтами содержимое Рг.С так же записывается в младшие 8 разрядов, но содержимое старшего байта регистра или Акк не меняется. При операциях со словами в Рг.С записываются все 8 признаков, а при операциях с байтами – только 4 младших. Блок формирования кода условий обеспечивает выработку одного из 12 возможных условий (см. табл), а мультиплексор MUX CT обеспечивает прохождение на выход СТ условия под управлением инструкции (от блока управления) или кода на входах Т(4: 1)
Система инструкций Инструкции ВМ1 можно разбить на 11 групп: 1) с одним операндом; 2) с двумя операндами; 3) сдвига на 1 разряд; 4) битовые; 5) циклического сдвига на n разрядов (1 £ n £ 15); 6) циклического сдвига и сравнения; 7) циклического сдвига и слияния; 8) шифрации; 9) генерации избыточного кода (CRC); 10) установки и проверки состояния; 11) «нет операции». 1) Инструкции с одним операндом имеют два формата SOR (с использованием РЗУ) и SONR (без использования РЗУ), форматы которых приведены в Табл. 10.10 и Табл. 10.11.
Каждая инструкция может работать как с байтом (при B/W = 0), так и со словом (при B/W = 1). Табл. 10.10. Инструкции SOR с одним операндом
Табл. 10.11. Инструкции SONR с одним операндом
Все однооперандные инструкции передают на шину Y значение, загружаемое в приемник. Разряды Z, C, N, OVR регистра состояний модифицируются, остальные – не меняются. Единственное ограничение на способ адресации: если Акк и Рг.С определены одновременно в качестве приемников, то невозможно использовать РЗУ в качестве источника. 2) Инструкции с двумя операндами имеют следующие форматы:
Табл. 10.12. Двухоперандные инструкции типа TOR 1, 2
Табл. 10.13. Двухоперандные инструкции типа TONR
Примечание. Флаги OVR, N, Z, C модифицируются по результатам арифметических операций; в логических операциях OVR: = C: = 0. 3) Инструкции сдвига на один разряд имеют следующие форматы:
При сдвиге модифицируются биты N и Z регистра состояний, а биты C и OVR устанавливаются в «0». Функция NÅ OVR используется при умножении чисел в дополнительном коде. Рис. 10.19. Выполнение процедур сдвига
Табл. 10.14. Инструкции сдвига на 1 разряд
Табл. 10.15. Управление шиной Y и регистром состояния
Примечания. W = 1 – команды работы со словами; W = 0 – команды работы с байтами; Х – вход при сдвиге.
4) Инструкции с битами имеют следующие форматы:
Табл. 10.16. Инструкции с битами формата BOR 1, 2
Табл. 10.17. Инструкции с битами формата BONR
В табл. 8 и 9 «проверка» – это установка признака Z в состояние, определяемое значением n-го разряда адресуемого объекта. «Установка» и «сброс» – при сохранении всех разрядов, кроме n-го. 5) Инструкции циклических сдвигов на n разрядов имеют следующие форматы:
Операнд источника циклически сдвигается на n позиций (0 £ n £ 15) в сторону старших разрядов (влево), результат сдвига помещается в приемник и/или на шину Y. В режиме слова сдвигаются все биты (что соответствует сдвигу вправо на (16 – n) позиций. В режиме байта сдвигаются только биты (7: 0), а сдвиг на n влево эквивалентен сдвигу на (8 - n) вправо. Биты N и Z модифицируются, а биты C и OVR устанавливаются в «0».
Табл. 10.18. Инструкции циклического сдвига
6) Инструкции циклического сдвига и сравнения:
Инструкция осуществляет поразрядное сравнение двух 16-разрядных векторов, маскированных вектором маски, причем один из входных векторов предварительно (перед маскированием) сдвигается на заданное число разрядов (). Рис. 10.20. Сдвиг и сравнение Единичное значение разряда маски исключают из сравнения соответствующие разряды операндов (оба при сравнении равны «0»). Биты N, Z регистра состояний модифицируются, а OVR и C – сбрасываются в «0». Табл. 10.19. Инструкции циклического сдвига и сравнения
7) Инструкции циклического сдвига и слияния:
Сдвигаемый операнд U циклически сдвигается на n позиций в сторону старших разрядов, затем с помощью маски формируется результат: в качестве его i-го разряда берется i-й разряд сдвинутого U, если соответствующий разряд маски равен «1», иначе берется разряд Ri. Результат заносится по адресу несдвигаемого операнда. Пример: n = 4, режим W (работа со словами)
Табл. 12. Инструкции циклического сдвига и слияния
Биты N, Z регистра состояний модифицируются, а OVR и C – сбрасываются в «0». Инструкции этого типа могут быть эффективно использованы для преобразования одного кода в другой. 8) Инструкции шифрации:
В этих инструкциях производится поразрядная конъюнкция операнда R и инвертированного значения маски S. Нулевое значение разряда маски Si разрешает участие соответствующего разряда операнда R в шифрации приоритета. Выходной 5-разрядный код указывает номер старшей единицы операнда R (с учетом маски). Биты N, Z регистра состояний модифицируются, а OVR и C – сбрасываются в «0». Ограничение на выбор операндов – необходимость использования для операнда и маски различных источников (что, впрочем, логично). Инструкции этого типа могут быть эффективно использованы в операциях нормализации. Табл. 10.20. Инструкции шифрации
Табл. 10.21. Инструкции шифрации PRTNR
9) Инструкции генерации циклического избыточного кода (CRC) определяются одним полем – адресом РЗУ. Инструкции обеспечивают генерацию контрольных разрядов в циклическом избыточном коде. Одна инструкция – «прямая» (CRCF), другая – «обратная» (CRCR), отличающиеся порядком поступления разрядов на свертку: при прямой свертка начинается со старшего (15-го) разряда, при обратной – с младшего. Две инструкции необходимы, т.к. существующие стандарты применения циклических избыточных кодов не определяют, какой разряд данных (старший или младший) должен передаваться первым. Форматы инструкций:
На рис. показан процесс реализации инструкции обратной свертки. Бит L используется как вход последовательного кода. В соответствии с полиномом, задаваемым с помощью маски, последовательный вход комбинируется с разрядами регистра контрольной суммы. После того, как последний входной бит будет обработан, регистр РЗУ содержит контрольные разряды. В процессе выполнения инструкций биты L, N, Z регистра состояний РгС модифицируются, а C и OVR – сбрасываются в «0». Перед началом операции необходимо загрузить в Акк полиноминальную маску, а в разряд L РгС – первый бит данных. В следующем такте этот бит появится на выходе L. Результат операции Å этого бита и старшего (младшего – для обратной свертки) бита регистра РЗУ передается на схемы поразрядной конъюнкции для умножения на разряды маски S. Выходы конъюнкторов поступают на входы сумматоров по модулю два Å, где поразрядно складываются со сдвинутым на один разряд влево (для обратной свертки n = 15, что соответствует сдвигу на один разряд вправо) операндом U (РЗУ). Результат операции поразрядного суммирования записывается в регистр РЗУ. Очередной такт начинается с загрузки следующего разряда данных в разряд связи L. Процесс продолжается до тех пор, пока все разряды данных не пройдут такой цикл. Табл. 10.22. Управление шиной Y в инструкциях CRC
10) Инструкции установки и сохранения состояния оперируют с регистром состояния РгС, формат которого имеет след. вид:
Форматы инструкций:
Табл. 10.23. Инструкции SETST и RSTST
При реализации инструкций SVST в регистр РЗУ (SVSTR) или в Акк (SVSTNR) загружается только младший байт (при B/W = 0) или все слово (при B/W = 1) с шины Y. На шину Y во всех случаях передается: Y(7: 0) РгС, Y(15: 8) 0.
11) Инструкции проверки состояния определяют одно из 12 тестовых условий, которое передается на выход CT. Формат инструкций:
Табл. 10.24. Инструкции TSTST
Состояние шины Y при действии инструкции TSTST не определено, содержимое РгС не меняется. Содержимое РгС может быть так же проверено (помимо инструкции) через двунаправленную шину Т(4: 1), причем код Т(4: 1) совпадает с полем кода инструкции I(4: 1) для выбора соответствующего условия (см. таблицу). При конфликте кодов I(4: 1) и Т(4: 1) приоритет имеют линии I(4: 1). 12) Инструкция «Нет операции»:
Значение шину Y не определено; Внутреннее состояние регистров не меняется. Инструкции с непосредственным операндом – двухтактные – содержат в мнемокоде литеру «I». Операнд размещается в программе (микропрограмме) непосредственно за словом инструкции
.
Однокристальные микроЭВМ Популярное:
|
Последнее изменение этой страницы: 2016-07-13; Просмотров: 577; Нарушение авторского права страницы