Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов (1988) (1092085), страница 8
Текст из файла (страница 8)
Уа Уа ут .== х! хх аз; ут = аа! 5а, Тчз; уа = — х,.ха а,; 1т'! = х,.а,. Затем определяют логическое выражение для каждой выходной величины. Для этого записывают равенство, в левой части которого указывают выходную величину, в правой части — связанные через операцию дизьюнкцни правые части тех из ранее составленных выражений, в которых представлена данная выходная величина. Полученные логические выражения приводят к минимальной форме: За=х, хх аз; !»«»=ах; Я!= а»'у' аа; Я,=ха х,.а, )/ х,а,; у,,у,=а,; У,, У, У„У, = х, ха а, 1/ аа! Уа =- х, ха а,.
Построение логической схемы комбинационного узла. По получен'ным выражениям строится логическая схема комбинационного узла. Уг У2 У5 Уг Уз У4 Уб л2 Рис. 1.9, Схема коибиивииоииого узла управляющего устройства 42 Входящие в выражения значения а„а,, а„определяемые комбинацией значений (~з н (~ю могут быть получены с помощью дешифратора. Остальная часть схемы строится в соответствии с полученными для выходных величин выражениями.
Схема комбинационного узла рассматриваемого управляющего устройства приведена на рис. 1.9. Выполнение программы. Мы рассмотрели реализацию управляющего устройства для выполнения операции умножения. Очевидно, могут быть построены подобные устройства для управления выполнением других операций. И если в управляющем устройстве процессора предусмотреть такие устройства, то, включая то или иное устройство, можно обеспечить выполнение различных операций на одном и том же оборудовании операционного устройства. Вид операции, подлежащей исполнению в процессоре, будем представлять командой.
С помощью дешифратора код команды можно преобразовать в сигналы, производящие включение устройств, которые управляют выполнением соответствующих операций (рис. !.10). При этом возникает возможность записать алгоритм сложной задачи в виде последовательности команд (которая будет соответствовать последовательности таких выполняемых операций, как умножение, деление н т.д.). Такая последовательность команд образует программу, хранимую в оперативной памяти.
Считывая нз оперативной памяти команды и исполняя их в процессоре, можно решить сложную задачу. Определим время, в которое реализуется алгоритм умножения при рассмотренном способе построения процессора. Обратимся к графу на рис. !.7. Каждый переход из одного состояния в другое происходит за один тактовый период.
Таким образом, переход из состояния ае в состояние а, требует одного тактового периода. Далее в цикле прохождение по замкнутому контуру из состояния а, с возвратом в то же состояние а, возможно либо за один, либо за два тактовых периода (в цепи а,— аз- а,). Приняв худший случай, когда во всех и разрядах мно- г, гт Рнс. 1.1О, Процессор, программируемый на языке команд жителя содержатся единицы, получим число тактовых периодов, требуемых для и-кратного повторения цикла, равное 2и.
Наконец, в один тактовый период совершается переход из состояния а, в состояние а,. Итак, общее число тактовых периодов М, = 2+2и. Прил ъ 1 У, же. Если длительность тактового периода Т, то время выполнения операции умножения составит 1„„„= Х,Т = 2лТ. 1.5. СИНТЕЗ УПРАВЛЯ1ОШЕГО УСТРОЙСТВА НА ОСНОВЕ ПРОГРАММИРУЕМОЙ ЛОГИКИ ПРИНПИП МИКРОПРОГРАММНОГО УПРАВЛЕНИЯ Мы видели, что выполнение операции в процессоре осуществляется в виде последовательности выполняемых мнкрокоманд. Можно предусмотреть другой способ формирования в управляющем устройстве управляющих сигналов, под действием которых в операционном устройстве выполняются микрокоманды.
Управляющие сигналы у, ... уа на выходе управляющего устройства в каждом тактовом периоде имеют уровни логического О и логической 1. Таким образом, каждой микрокоманде на выходе УУ соответствует некоторая кодовая комбинация. Такие кодовые комбинации, называемые кодовыми комбинациями микрокоманд (или просто микро- командами), можно хранить в улравляюимй иамяаии. Последовательность мнкрокоманд, предназначенную для выполнения некогорой операции, называют микропрограммой.
При этом выполнение операции сводится к выборке из управляющей памяти последовательно микрокоманд микропрограммы и выдаче с их помощью управлякнцих сиг- налов у, ... у„в операционное устройство. В управляющей памяти можно хранить много микропрограмм, предназначенных для выполнения различных операций. По выбранной из оперативкой памяти команде в управляющей памяти находится соответствующая команде микропрограмма.
Далее путем последовательиого считывания микрокомаид найденной микропрограммы и их выполнения в операционном устройстве реализуется предусматриваемая командой операция. Такой способ реализации операций называется микропрограммным способом, а построенное иа этом прииципе устройство — управляющим устройством с программируемой логикой. На рис. 1.11,а изображена структурная схема процессора с управляющим устройством, построенным иа принципе программируемой логики. Функции блока микропрограммного управления (БМУ) сводятся к определеиию адреса очередной микрокомаиды (МК) в управляющей памяти (УП).
Поступающая из оперативкой памяти (ОП) комаида содержит адрес первой МК той микропрограммы, которая реализует предусматриваемую командой операцию. Таким образом решается проблема поиска в УП микропрограммы, соответствующей дамкой команде. Адреса всех последующих МК определяются в БМУ следующим образом.
В формате МК (рис. 1.11, б) предусматривается поле адреса, которое содержит адрес очередной МК. Таким образом, считав из УП микрокомаиду, по содержимому ее поля адреса узнаем адрес следующей МК. Но так можно получать адреса МК при отсутствии в алгоритме разветвлений, т. е. условных переходов (УсП). Для реализации условиых переходов в МК можио предусмотреть поле условных переходов, в котором указывается, имеет ли место условный или безусловный переход, и в случае условного перехода — иа зиачеиия каких условий следует ориентироваться при определеиии адреса очередиой МК.
Пусть поле условных переходов построено следукпцим образом. Один из разрядов этого поля указывает вид перехода (иапример, если содержимое этого разряда О, то это означает безусловный переход, ес- г , члообляюгпее уг ргл1стго ! лоле 9л 1 1 1 1 1 1 1 1 1 1 1 1 Рис, 1.11. Структурная схема (а) и формат микрокомаидм (б) процесса. ра с управляю!цнм устройством, по. строенным на принципе программируемой логики ли содержимое разряда 1 — условный переход).
Кроме того, для каждого условия в поле условных переходов имеется разряд, указывающий участие данного условия в определении адреса. Если условный переход осуществляется по некоторому условию, то формирование адреса очередной МК будем осуществлять замещением младшего разряда содержимого поля адреса текущей МК значением соответствукяцего условия (такую операцию называют модификацией адреса). Получается разветвление на два направления: в зависимости от зиачеиия условия образуются два различающиеся в младшем разряде адреса и очередная МК считывается из одной либо другой ячейки УП. Если модифицировать два разряда содержимого поля адреса, то можно осуществлять разветвление в четырех направлениях.
Поле управляющих сигналов МК используется для подачи управляющих сигналов в операционное устройство ОУ. Таким образом, микрокоманда может быть разлита на две части: одна ее часть, включающая в себя поле адреса и поле условных переходов, определяет функционирование БМУ при определении адреса очередной МК и может быть иазвана микрокомандой БМУ; другая часть — поле управляющих сигналов — определяет функциоиирование ОУ и может быть названа микрокомандой ОУ. ПРИМЕР ПОСТРОЕНИЯ МИКРОПРОГРАММЫ Построим микропрограмму для выполнения рассмотреиной выше операции умножения. Выберем следующий формат микрокоманды: ! Поле адреса ~ Поле условных (4 разряда) 1 переходов (3 разряда) Поле управляю- щях сягяалов (7 разрядов) П ~ к, ~ х, МК ОУ МК ЕМУ Четырехразрядное поле адреса позволяет обращаться в любую ячейку УП с 16 ячейками (т.
е. в УП с возможностью хранения до !6 микрокомаид). Поле условных переходов содержит 3 разряда: разряд П, наличие единицы в котором указывает на то, что имеет место условный переход; разряды х, и х„наличие единицы в которых определяет условие, по которому происходит условный переход. Поле управляющих сигналов содержит 7 разрядов и обеспечиваег выдачу сигналов семи различных микроопераций.
Для хранения составляемой микропрограммы используем ячейки УП с последовательно нарастающими адресами: 0000, 0001, 0010, .... Ориентируясь иа схему алгоритма, приведенную иа рис. 1.6, б, построим схему алгоритма в микрокомаидах (рис. 1.12) и таблицу размещения мнкрокоманд в ячейках УП (табл. 1.5). Рас, ).!2. Схема алгоритма 7аднииа т д Норка кнейки П7 Подермимае кнопки (макрокоманда ) МК7(МН Пам УО, МК БмпиБП) мнг (мн пза —; мн дмп:поп МНд(МН ОО: —; МНБМЮиспнох,' МНБ (Продолиение ) Мнд 7МН Пам Уе ' МК БМП: БП) мне (мк пди Уе,' мн Бмн: Бп) оппп попе Хе=О- Ппт П Х-7 Оп 7 7 х"О 7 ОПП Х 7 П)П7 Стрелками в таблице показаны переходы в процессе исполнения микропрограммы.