Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов (1988) (1092085), страница 9
Текст из файла (страница 9)
В ячейку с адресом 0000 помещаем МК1, в которой МК ОУ определяет предусмотренные схемой алгоритма действия )У„МК БМУ определяет безусловный переход (БП) к ячейке с адресом 000!. В ячейку с адресом 000! помещена МК2, в которой МК ОУ не предусматривает действий в ОУ, МК БМУ определяет условный переход по условию х, (при х, =- 0 происходит переход к ячейке с адресом 00!О, указанным в поле адреса МК2; при х, = 1 происходит переход к ячейке с адресом 0011, в которой помещена МКб продолжения программы после окончания выполнения операции умножения). Микрокоманда МКЗ в ячейке с адресом 0010 так же, как и МК2, не предусматривает действий в ОУ и предназначена для выполнения условного перехода по условию х, (значение условия х,, замещая младщий разряд содержимого поля адреса О!00, приводит при Н,=-О к переходу к ячейке с адресом 0100, содержащей МКб, и при х, = !в к ячейке с адресом 0101, содержащей МК4).
1аблича Кб Мевроломввде мк оу МК ЯМУ с м к п й с Поле условного переводе е. Уг е е мо пг к Микрокоманда МК4 предусматривает в ОУ выполнение микрокоманды Км а в БМУ вЂ” безусловный переход к ячейке с адресом 0100, хранящей МК5. Микрокоманда МК5 предусматривает в ОУ выполнение микрокоманды 1'„в БМУ вЂ” безусловный переход к МК2, адрес которой содержится в поле адреса МК БМУ. В табл. 1.6 приведена микропрограмма.
Определим время выполнения операции умножения. Оно равно Луроизведенню числа тактовых периодов, требуемых для выполнения операции, и длительности тактового периода. В рассматриваемом алгоритме операции умножения требуется однократное выполнение МК1 .й и-кратное (л — число разрядов множителя) выполнение микрокоманд цикла. В цикле в зависимости от значения условия х, выполняется либо 4 микрокоманды (МК2, МКЗ, МК4, МК5) либо 3 микрокоманды (МК2, МКЗ, МК5). Ведя расчет на наихудший случай, когда во всех разрядах множителя содержится единица, примем, что число выполняемых в цикле микрокоманд равно четырем.
Тогда пренебрегая временем выполнения МК1, получаем число тактовых периодов, равное Ж, = 4 и, и время выполнения операции Гу„„= )Ч, Т = 4ПТ (где Т вЂ” длительность тактового периода). Вспомним, что в рассматриваемом выше способе построения процессора с использованием схемного принципа построения УУ )у',= = 2л. Рассмотрим, как можно было бы снизить М, (и тем самым повысить скорость выполнения операции умножения) прн использовании принципа программируемой логики. На рис. 1.13 показан другой вариант схемы алгоритма, особенность которого в том, что выполняемые в ОУ мнкрокоманда )г, н в БМУ условный переход по хд совмещены в одной микрокоманде МК4. При этом М, = — Зп. В табл.
1.7 н 1.8 показаны соответственно размещение микрокоманд в УП и микропрограмма. Рис. 1.!3, Схема алгоритма Дальнейшее сокращение У, возможно лишь при использовании условных переходов одновременно по двумя условиям х, н х, с выполнением разветвления в четырех направлениях, т. е. замещением не одного, а сразу двух разрядов содержимого поля адреса в МК БМУ значениями условий ха и х,.
На рис. 1.14 показана схема алгоритма с таким разветвлением вычислительного процесса. Из схемы видно, что в этом случае гт', = 2, В табл. 1.9 и 1.10 приведены соответственно размещение микрокоманд в УП и микропрограмма. Следует обратить внимание на следукицую особенность в записи микрокоманд. Запись 1 в разряде х,(либо ха) микрокоманды означает, что формирование адреса очередной микрокоманды производится путем замещения в содержимом поля адреса соответствующего разряда на значение условия х, (либо х,).
Не следует считать, что такая запись означает х, = 1 (либо хе = 1). Рис. 1,14. Схема алгоритма Тидлица 1. 7 Адрес ячейки У// а о а/ ~ О а / а -«г.а аа/1 -«г-1 х,-а — а/ аа, х/ 1 0101 Таблица 1.8 Мииооиоиаида мк ьму мк оу Поле уеловиого оерекода и и и о Е К ч и ем ио м« Ую Уе л, ! 000! о 0010 ' 0011 6100 /0101 0010 0100 МК! МК2 мКБ МК4 мКЗ 0 0010 0100 1 0 0 Х ! Х 1 0 0 0 1 0 Тадлица 10 Ордер/кимое ячейки (л/икрокомаида ) и/К/ (МК ОУ: У/ ', Мн мка(мк ау: —; мк Мна(МК ОУ:1; МН /екав (МК ОУе Уг ', МН МФ5 (Продел/кение) МК5 (Продал/кение) Адрес ячейки У/1 БМУ: БП) БМУ: и Плох,) БМУ: УсП оохе,лг) БМУ: БП) - ао/а 0011 О 0100,«, аа Х/ 1 — 0101~«г,х О/ 0110 хг х 10 0111«-«,х, И Седели/имое ячейки (макрокоманда) мн/ (мн ау: у; мк Бму: Бп) МКБ(МК ОУ/ —; Мн БМУ:Усляок,/ МКБ ( Продаякгеиое) МКУ (Мн ОУ:Уг; МК БМУ:УСП ОО«г) МК7 (МК ОУДУг „' МН БМУ: БП) Таблица 1.10 Мннрономлнде мк пму мк оу Поле услоеного морехода й нм й мй рс МК! МК2 МК4 МКЗ МКО МК5 0010 0011 0100 0101 0110 0111 0011 0100 0100 0100 1 0 0 0 Х 1 1 Х Х 0 1 Х СРАВНЕНИЕ ПО БЫСТРОДЕИСТВИЮ ДВУХ ПРИНПИПОВ ПОСТРОЕНИЯ УПРАВЛЯЮШИХ УСТРОИСТВ чглелае мк ! 1 ! 1 1 1 бму срармирайалие айреса ачерейиай мд Рис.
1.15. Временийе диаграммы работы процессора, построенного на принципе программнруемой логики Как мы убедились, использование принципа программируемой логики при построении УУ может привести к увеличению числа тактовых периодов, в которое реализуется программа, и, следовательно, к снижению быстродействия процессора. Кроме того, быстродействие дополнительно может снизиться за счет большей длительности тактового периода.
На рис. !.!5 приведеиа временная диаграмма работы процессора с УУ, построенным по принципу программируемой логики. В момент времени с, (иа положительном фронте сиихросигиала С) происходит прием в регистр адреса (РА) БМУ сформироваииого адреса следуюшей микрокомаиды. Далее с бсгход .нондейерного региппра 1С! 'Сг 1Сг л-я мк Гла))-я мк ! 1 ислолнение нслолнение с с!-!)-й мк оа ! 1 чл)ение Глтг)-й мк Чтение Гл+ г) -й мк 1 1 ал ! бму Формиродание адреса слег)-й мк Формиродоние адреса !а+!)-й мк Рнс.
1.17, Временнйе анаграммы работы процессора с конаейерным регистром 51 адрес из РА выдается в шину адре- мК дд са и поступает в УП, где происходит чтение очередной МК. Процесс чтения завершается к моменту времени 1„и с этого момента в ОУ поступает МК ОУ и начинается процесс исполнения МК, который завершается к моменту 1,. В момент )г (на положительном фронте синхросигнала) полученный в ОУ команда результат фиксируется в соответствующем регистре. В БМУ в ин- Рнс. 1.)б. Структура мнкропроцестервале времени 1, ... 1, под дейст- сора с конаейерным регистром вием МК БМУ происходит формирование адреса очередной МК и фиксация его в момент 1, в РА и т.
д. Такой последовательный способ чтения и исполнения МК вызывает увеличение длительности тактового периода на время, необходимое для чтения МК из УП, что является дополнительным фактором, снижающим быстродействие процессора. Последний недостаток может быть устранен использованием конвейерного способа чтения и исполнения МК. При этом способе осуществляется параллельный принцип чтения и исполнения МК; в процессе исполнения в ОУ п-й МК в УП производится чтение (и + 1)-й МК, в том же тактовом периоде в БМУ формируется адрес (а + 2)-й МК.
Реализация этого способа требует использования конвейерного регистра (рис. !.!б). Временная диаграмма работы процессора с конвейерным регистром показана на рис. !.1?. В интервале времени г, ... г, из конвейерного регистра выдается л-я МК ОУ, считанная из УП на предыдущем тактовом периоде. В интервале времени 1,...Г, она исполняется в ОУ.
В этом же тактовом интервале производится чтение из УП (и + 1)-й МК по адресу, сформированному в БМУ в предыдущем тактовом периоде. В интервале времени 1, ...Г, в БМУ формируется адрес (а + 2)-й МК. Прн использовании схемы с конвейерным регистром длительность тактового периода может оказаться той же (при соответствующем высоком быстродействии УП), что и в устройстве, построенном иа принципе схемной логики. Однако в этом случае дополнительно увеличивается число тактовых периодов, во время которых исполняется алгоритм.
Применение конвейерного регистра приводит к некоторому усложнению процесса составления микропрограммы. Особенности построения микропрограмм для таких схем будут рассмотрены в разделах, посвященных программированию микропроцессорных устройств с использованием микропрограммируемых МПК. 1.6. ПОСТРОЕНИЕ МИКРОПРОЦЕССОРОВ ПРИ ИСПОЛЬЗОВАНИИ РАЗЛИЧНЫХ МИКРОПРОЦЕССОРНЫХ КОМПЛЕКТОВ Все элементы микропроцессора с программируемой логикой— операционное устройство (ОУ), управлякяцая память (УП) и блок микропрограммного управления (БМУ) — могут размещаться на одном кристалле, т.
е. весь микропроцессор может быть выполнен в виде одной микросхемы. Так реализованы микропроцессоры в отечественных сериях микропроцессорных комплектов КР580 и КР!810. Управляющая память микропроцессоров такого типа хранит набор микропрограмм, записанный в нее уже на этапе изготовления микросхемы на заводе. Каждая микропрограмма представляет собой последовательность микрокоманд, обеспечивающую выполнение некоторой несложной операции.
При поступлении в микропроцессор команды из оперативной памяти (ОП) в УП находится соответствующая команде микропрограмма и путем последовательного считывания ее микрокомаид осуществляется прием из ОП операндов, выполнение над ними некоторых простейших действий и вызов из ОП очередной команды. В микропроцессоре серии КР580 такие микропрограммы содержат от 4 до!7 микро- команд.
Применение микропроцессора, выполненного на одной микросхеме, естественно, упрощает построение микропроцессорного устройства, сокращая количество используемых в нем элементов. Кроме того, упрощается процесс программирования, так как от программиста не требуется записывать выполняемые в каждом также микрокоманды. Составляя программу, он оперирует командами, т. е. группами микро- команд, которые соответствуют командам. Однако такое облегчение программирования сопровождается существенным снижением скорости решения задачи.
Это связано со следующим. Система команд, которой снабжается микропроцессор при его заводском изготовлении, универсальна в том смысле, что она позволяет программировать решение любой задачи. Но при решении конкретной задачи такая фиксированная система команд может оказаться неэффективной: пользование ею потребует большого числа команд, на выполнение которых микропроцессор будет затрачивать много времени.