Разработка устройства управления выполнением операции (управляющего автомата) с программируемой логикой
Принцип микропрограммного управления был предложен Wilkes в 1951 г. И впервые был реализован IBM 8/360.
Последовательность управляющих сигналов в таком устройстве задаётся микропрограммой хранимой в постоянном запоминающем устройстве (ПЗУ).
накопитель
УУ с программируемой логикой содержит: 1) Регистр адреса микрокоманд. 2) Регистр микрокоманд. 3) Схему формирования адреса следующей микрокоманды.
При горизонтальном кодировании под каждый управляющий сигнал выделяется один разряд, что позволяет в рамках одной микрокоманды формировать любые сочетания микроопераций, но приводит к большим затратам на хранение и низкой эффективности использования памяти. При вертикальном кодировании достигается минимальная длина операционной части микрокоманды, равная ]log2 Мо[, где Мо – количество микрокоманд. При этом в каждой микрокоманде кодируется только одна операция. Так как наш операционный автомат относится к классу I-автоматов, позволяющим достигнуть максимальную производительность с использованием одновременно нескольких управляющих сигналов, вертикальное кодирование не подходит. При смешанном кодировании, горизонтально-вертикальном, вся совокупность м/о группируется на несовместимые м/о и каждая группа кодируется вертикально и дешифруется отдельно. Отметим закодированную ГСА методом смешанного кодирования для принудительной адресации. Тогда количество бит, используемых под ПЗУ = 18 бит/ команда * 18 м/к =324 бит. Узнаем формат ячейки ПЗУ Для начала необходимо разбить м/о по полям операционной части м/к так, что внутри каждого поля они были несовместимы между собой. Построим матрицу совместимости. М/о выполняющиеся одновременно кодируются 1. Например y1,y2,y3.
Матрица совместимости
Y1 = {y1,y4,y5,y6,y7,y8,y9,y10,y11,y12,y14,y15} Y2 = {y2,y13} Y3 = {y3} Для удобства кодирования поместим по 5. несовместимых м/о в разные подмножества. Каждую м/о закодируем вертикальным кодированием в разных подмножествах.
Условия закодируем вертикально.
При естественной адресации микрокоманды в ПЗУ делят на управляющие и операционные микрокоманды. Управляющая микрокоманда:
При единичном условии X осуществляется по адресу из поля A, иначе выполняется следующая микрокоманда из ПЗУ Операционная команда:
Y – поле операционной части, затем всегда выполняется следующая микрокоманда из ПЗУ. Для моего алгоритма программа с естественной адресацией будет выглядеть так:
По условию задания – максимальная производительность, т.е. с минимальной длиной программы, выбираем из рассмотренных вариантов автомат с принудительной адресацией. Можно было использовать 2 адресных поля, тогда бы мы избавились он одного безусловного перехода. Но такие изменения незначительны, а аппаратные затраты существенно больше, поэтому я использую одно адресное поле. В принудительной адресации адрес следующей команды явно записан в микрокоманде. При смешанном кодировании формат ячейки выглядит так:
Закодируем ПЗУ:
Иллюстрация функционирования операционного устройства на заданных числах А = 13.75 В = 13 Переводим в двоичную С.С. А = 1101.11 => 0.110111 * 24 В = 1101 => 0.1101 * 24
1)А(0) = 0 2)B(0) = 0 => C (0:6) = B(0:6) + A(0:6) = 010002 (810) 3)С(0:1) = 10? (нет) =>
C= |00|01000|0|00000000000000…0 A > |00|00100|0|01101110000000…0 + B(8)=1 ____________________________ C=C+A |00|01000|0|01101110000000…0 B < |00|00100|0|1010000…01 CЧ=24-1=23 C= |00|01000|0|01101110000000…0 A > |00|00100|0|00110111000000…0 + B(8)=1 ____________________________ C=C+A |00|01000|0|10100101000000…0 B < |00|00100|0|010000…011 CЧ=23-1=22 C= |00|01000|0|10100101000000…0 A > |00|00100|0|00011011100000…0 B(8)=0 B < |00|00100|0|10000…0110 CЧ=22-1=21 C= |00|01000|0|10100101000000…0 A > |00|00100|0|00001101110000…0 + B(8) = 1 ____________________________ C=C+A |00|01000|0|10110010110000…0 (дальше в В остались только 0 до конца счетчика, поэтому 21 такт счетчика автомат будет только сдвигать вправо регистр А и влево В ничего не складывая) 4) = 0 5) С(8) = 1 => C(0) = 0 => C(1) = 0 => C(0:55) ответ 13.75 * 13 = 178.75 = 10110010.11| С= 0.1011001011 * 28 = 10110010.11 Ответы совпадают, значит устройство функционирует верно
Список использованной литературы. 1. Е.И. Зайцев Прикладная теория цифровых автоматов: Учебное пособие –М.: МГУПИ, 2008. – 74с. 2. Конспект лекций по Теории автоматов. 3. Марченков С.С. “Конечные автоматы” – М.:ФИЗМАТЛИТ, 2008. – 56 с. 4. В.А. Горбатов “Теория автоматов: учеб. для студентов втузов” – 2008. 5. Карпов Ю.Г. Теория автоматов. –СПб.: Издательский дом “Питер”, 2003. –208с.
Популярное: Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (478)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |