ПРОЕКТИРОВАНИЕ МИКРО-ЭВМ
Проектирование новой микро-ЭВМ обычно начинается с описания ее архитектуры, представляющей собой модель микро-ЭВМ с точки зрения программиста. Модель в процессе проектирования преобразуется в структуру микроЭВМ, определяющую состав, назначения и взаимные связи необходимых аппаратурных компонентов, реализующих желаемую архитектуру.
Многие аппаратурные компоненты выбираются проектировщиком из выпускаемых промышленностью МПК. БИС и применяются в качестве крупных строительных блоков микро-ЭВМ. Блочное, или модульное, проектирование микро-ЭВМ резко повышает производительность труда проектировщика, надежность и качество микроЭВМ и является основным методом создания новых микро-ЭВМ и микропроцессорных систем.
ФУНКЦИОНАЛЬНЫЕ БЛОКИ
И ОРГАНИЗАЦИЯ УПРАВЛЕНИЯ В МИКРО-ЭВМ
§ 6.1.
Общие сведенияМикропроцессорные интегральные схемы (МП ИС) и микро-ЭВМ, построенные на их основе, явились следствием бурного развития микроэлектроники, позволившего в одном кристалле полупроводника размещать сложные вычислительные структуры, содержащие десятки тысяч транзисторов. Изготовление больших интегральных схем (БИС) сопряжено с трудоемкой работой по разработке схем, фотошаблонов и подготовкой производства и служб контроля технологических параметров и характеристик БИС. Снижение себестоимости БИС возможно лишь при максимальной автоматизации этапов, предшествующих их изготовлению, и массовости производства.
Массовое производство БИС предполагает широкий спрос потребителя, а следовательно, возможность ее использования для большого круга решаемых задач. Микропроцессорные БИС (МП БИС) представляют тот класс интегральных схем, который сочетает в себе высокую степень интеграции, обеспечивающую огромные функциональные возможности, с большой универсальностью по применению [б
].Достигается универсальность тем, что в МП БИС реализованы сложные устройства, позволяющие выполнять над исходными числами
логические и арифметические функции, при этом управление процессом вычисления ведется программно. Изменение программы вычисления позволяет осуществить вычисление любой сложной функции.
Если рассмотреть схему микро-ЭВМ (рис.
6.1), то можно прийти к выводу, что в ней содержатся те же блоки, на которых строились вычислительные машины предыдущих поколений. Однако микро-ЭВМ имеет некоторое архитектурное отличие от предшествующих ЦВМ, обусловленное стремлением объединить в БИС, на которых строится микро-ЭВМ, узлы и блоки, способные проводить сложные преобразования информации при минимальном количестве внешних проводников. Эта особенность обусловлена возможностью построения в БИС сложных электронных схем при ограничении по числу внешних проводников, не превышающих, как правило, 50 или 100 контактов.Структура процессора микро-ЭВМ строится с учетом этих особенностей БИС. Наиболее распространенной является схема микро-ЭВМ, имеющая две или три общие магистрали, к которым под воздействием устройства управления могут поочередно подключаться входящие в микропроцессор узлы. Такая структура требует ограниченного числа внешних контактов, но обмен информацией между узлами и блоками должен осуществляться в определенной последовательности.
В микро-ЭВМ процессор строится на БИС, образующих базовый МП-комплект. Процессор микро-ЭВМ может быть реализован в виде одной (однокристальный микропроцессор) или нескольких БИС (многокристальный микропроцессор). Для построения остальных блоков микро-ЭВМ используются специализированные БИС или ИС средней степени интеграции. Основные типы ИС, применяемых в микроЭВМ, могут быть отнесены к одной из четырех групп: базовый микропроцессорный комплект (МПК) ИС; ИС запоминающих устройств; ИС устройств ввода
— вывода информации в микропроцессор; ИС для связи микро-ЭВМ с объектами управления.Рис.
6.2. Схема трехмагистральной микро-ЭВМВ соответствии с разработкой специализированных ИС для различных блоков микро-ЭВМ структурная схема ее может быть представлена как совокупность функциональных блоков (рис.
6.2), соединенных между собой в соответствии с требованиями интерфейсов. В приведенной схеме обработку информации осуществляет микропроцессор, синхронизируемый тактовыми импульсами устройства синхронизации. Обмен информацией между микропроцессором и остальными блоками микро-ЭВМ осуществляется по трем магистралям: адресной, данных и управляющей.Магистраль адреса (МА) служит для передачи кода адреса, по которому проводится обращение к устройствам памяти, ввода
— вывода или другим внешним устройствам, подключенным к микропроцессору. Обрабатываемая информация и результаты вычислений передаются по магистрали данных (МД).Магистраль управления
(МУ) передает управляющие сигналы на все блоки микро-ЭВМ, настраивая на нужный режим устройства, участвующие в выполняемой команде.Использование в микро-ЭВМ большого числа магистралей, в данном примере трех типов, обеспечивает высокое быстродействие и упрощает процесс вычисления. Возможно построение микро-ЭВМ с одной или двумя магистралями, по которым последовательно передаются код адреса и обрабатываемая информация, при этом увеличивается время выполнения команды и усложняется организация обмена информацией между узлами.
Структура микро-ЭВМ определяется архитектурой микропроцессора, составом входящих в МП БИС функциональных узлов, количеством внешних магистралей и организацией обмена информацией
[6].Микропроцессоры на одном кристалле
— однокристальные МП — отличаются фиксированной разрядностью и фиксированной системой команд. Функциональная законченность однокристальных МП требует разместить в одном кристалле блоки дешифратора команд и устройства управления, арифметическо-логический блок, устройства управления внешним обменом, каскады согласования внутренних и внешних сигналов. хМногокристальные МП строятся на основе совокупности БИС, представляющих собой МПК. Каждая БИС, входящая в МПК, позволяет реализовать узел или функциональный блок узла МП.Наиболее характерными узлами МП являются арифметическо-логический блок (АЛБ), составляющий основу операционного устройства, и устройство управления (УУ). Арифметическо-логический блок предназначен для обработки информации в соответствии с поступающим на него управляющим кодом. Выполняемые в АЛБ операции могут быть разделены на т-ри группы: арифметические, сдвига, логические и пересылок.
В качестве арифметических операций обычно используются операции: сложения и вычитания двух кодов; сложения и вычитания единицы; сложения и вычитания с содержимым признака операции. К операциям сдвига относятся операции арифметического, логического и циклического сдвигов вправо и влево содержимого регистров АЛБ. Логические операции и операции пересылок обеспечивают выполнение основных логических функций (сложение, умножение) над содержимым регистров и пересылки содержимого между регистрами и между регистрами и внешними магистралями.
Устройство управления формирует управляющие сигналы на все блоки микро-ЭВМ, синхронизируя их работу, и обеспечивает выборку команд из памяти в соответствии с заложенным алгоритмом.
§ 6.2.
Структура операционного устройстваОперационное устройство
МП, предназначенное для выполнения операций над операндами в соответствии с кодом выполняемой команды (арифметической, логической, сдвига или пересылочной), обычно включает в себя АЛБ, блоки регистров общего назначения (РОН), блок формирования состояния регистра условий, блок местного управления.Арифметическо- логический блок непосредственно выполняет микрооперацию над исходными операндами.
Блок РОИ обеспечивает хранение операндов и промежуточных результатов вычислений, характеризуется малым временем обращения и ограниченным количеством
регистров.
Блок формирования состояний регистра условий записывает в регистр условий двоичный код, характеризующий арифметические и логические признаки результата операции АЛБ. Содержимое регистра признаков может быть использовано устройством управления для формирования условных переходов по результатам операций АЛБ.
Блок местного управления обеспечивает выполнение текущей микрокоманды и управляет в соответствии с кодом микрокоманды всеми блоками операционного устройства.
Рассмотрим работу АЛБ на примере приведенной на рис. 6.3 схемы [б]. На входы АЛБ поступает входная информация AiBi через входные мультиплексоры. Арифмети-ческо-логический блок состоит из трех ступеней: I — ступень логических операций и формирования полусумм, II — ступень генерации переносов, III — ступень формирования полных сумм. На входы So — 5з подаются коды выполняемой операции. Перечень выполняемых операций в зависимости от значения кодов 5о — 5з приведен в таблице 6.1. На выходе I ступени формируются функции полусумм 21/2, функция генерации G, и функция передачи Р, переноса Ci. Функция полусуммы предназначена для формирования результата суммирования с учетом переноса из соседнего младшего разряда на III ступени АЛБ.
Функция G определяет условие генерации переноса в данном разряде (G = А/\В). Функция Р определяет условие передачи переноса из соседнего младшего разряда в
Рис.
6.3. Принципиальная схема АЛБследующий, более старший (Р
== А\/ В). Перенос от п-го разряда в процессе двоичного сложения определяется выражениемС
n = GnVGn-1- iPnVGn-2Pn-1PnV...VGoP1P3...Pn, (6.1)где
0,l,...,n - номера разрядов.В соответствии с этим уравнением строятся схемы, определяющие перенос для каждого разряда АЛБ. Управляющий вход
54 задает тип выполняемых операций: при ^4 = 0 выполняются логические операции, при 54 == 1 — арифметические. При выполнении логических операций переносы не распространяются. На III ступени формируется полная сумма из полусумм, формируемых на I ступени, и переносов, формируемых на II ступени.В секционных модулях операционного устройства АЛБ имеет ограниченную разрядность, равную
2, 4, 8, 12, 16. Объединение нескольких подобных модулей в операционном устройстве требует организации связей по переносам АЛБ. Быстродействие расширенного по разрядности АЛБ в большей степени зависит от способа организации переноса внутри разрядно-секционированного модуля и междуТаблица
6.1модулями. Внутри модуля могут быть предложены следующие способы переноса: последовательный сквозной, параллельный, групповой.
При последовательном сквозном переносе во
II ступени АЛБ для каждого г-го разряда формируется сигнал переноса на основании функции генерации и передачи переноса и сигнала переноса в предыдущем младшем разряде в соответствии с выражением С; = = PCi _ 1 V Gi. При этом время распространения переноса равно ntn, где п — число разрядов в модуле; in — время распространения переноса через один разряд.При параллельном переносе во
II ступени формируются параллельно все сигналы переноса для каждого разряда на основании функций генерации и передачи переноса в предыдущих разрядах в соответствии с (1.1). Такая организация сигнала переноса обеспечивает лучшее быстродействие, но требует аппаратурных затрат при большом числе разрядов в модуле.При групповом переносе АЛБ разделяется на равные по числу разрядов группы. В каждой группе организуется параллельный перенос и формируется перенос из группы в следующую по старшинству. Это более гибкое построение схемы переноса с учетом факторов быстродействия и аппаратурных затрат.
Между модулями обычно используют два способа организации связи по переносу: последовательный сквозной и групповой. При последовательном сквозном переносе между модулями реализуют параллельный или групповой перенос внутри модулей. При групповом переносе в каждом модуле формируются функции генерации и передачи переноса из модуля, поступающие во внешний узел ускоренного параллельного переноса, как показано на рис.
6.4.На основании этих функций в узле ускоренного переноса формируются входные переносы для каждого секционированного модуля. Последовательный сквозной перенос
Рис.
6.4. Организация ускоренного переносамежду модулями применим при малом числе связанных модулей. При числе модулей больше четырех целесообразен групповой способ с внешним узлом параллельного переноса.
Структура операционного устройства зависит от количества внешних магистралей и организации обмена информации по ним, а также от организации внутренних магистралей и порядка обмена информации между блоками операционного устройства.
Операционные устройства, реализованные в составе однокристальных МП БИС, отличаются фиксированной разрядностью и системой команд. Ограничения по числу информационных магистралей и внешних контактов приводят к необходимости организовать последовательный вид передачи информации, при котором по одной информационной магистрали последовательно осуществляется обмен информацией между всеми внутренними узлами БИС и внешними магистралями.
Однокристальные МП БИС не позволяют строить высокопроизводительные микропроцессорные системы с параллельной обработкой информации. Время выполнения команд колеблется от
2 до 10 мкс. Однокристальные МП БИС эффективно применяют в устройствах, не требующих высокого быстродействия и имеющих ограничения по объему аппаратуры и ее стоимости. Они реализованы в сериях К580 и К586 МП БИС, содержащих наряду с микропроцессорами ряд вспомогательных БИС для построения микро-ЭВМ.Структура операционного устройства, построенного на одной двунаправленной МД, используется в МПК серии К580 (рис.
6.5, а). Источниками операндов для АЛ Б являются входная МД и блок РОН. Результаты вычислений по той же МД, могут передаваться либо во внешние устройства, либо в РОН. Результат каждого выполненного действия записывается в специальный регистр — аккумулятор Л С. В регистре признаков РгПр формируется двоичный код, характеризующий признаки результата выполненной операции. Информация блока РОН поступает на однонаправленную адресную магистраль для передачи кода адреса А внешнего устройства (ВУ).Особенность операционого блока с одной МД
— необходимость последовательного выполнения текущей микрокоманды. Последовательное управление блоками операционной системы осуществляется устройством управления. Каждая выполняемая команда исполняется в течение определенного количества тактов в зависимости от ее сложности. Кроме формирования внутренних управляющих сигналов устройство управления в каждой выполняемой операции формирует сигналы управления для внешних устройств, подключенных к общей МД, подготавливая их к выполняемой операции.Модульные МП БИС позволяют использовать в операционной системе большее число внутренних и внешних магистралей и повысить производительность вычислений. Например, в МПК серии К589 в операционном устройстве работают два мультиплексора МС1 и МС2 на входе и регистр АС на выходе АЛБ (рис.
6.5, б). Приведенная структура позволяет подавать коды операндов независимо по двум входным магистралям, мультиплексоры расширяют число возможных операндов. Вход М маскирует разряды операндов, поступающих на входы мультиплексора. Операционные устройства с большим числом внешних магистралей имеют, как правило, небольшую разрядность. Для увеличения разрядности обрабатываемых кодов в операционных устройствах предусмотрена возможность соединения их между собой, позволяющая увеличить соответственно разрядность процессора. Достигается это использованием линий входа С/ и выхода СО переноса для каждой малоразрядной БИС операционного устройства.В МПК серии К584 операционное устройство имеет два дополнительных рабочих регистра Рг1 и Рг2 с мультиплексорами на выходе АЛБ и один мультиплексор на выходе АЛБ (рис.
6.5, в). Операционное устройство включает в себя сдвиговые регистры, позволяющие проводить операции сдвига с поступающими и выходными двоичными кодами АЛБ. Наличие двух сдвиговых регистров упрощает реализацию относительно сложных операций умножения и деления. Большое количество мультиплексоров позволяет реализовать эффективный набор микрокоманд, использующий разнообразные источники информации.В МПК серии К1804 реализована возможность независимого одновременного обращения к двум регистрам РОН, информация которых записывается в регистры РгА и РгВ (рис.
6.5, г). Такая структура операционного устройства позволяет за один машинный такт выполнять операцию над содержимым двух регистров РОН. Кроме содержимого РОН на вход АЛБ могут быть поданы коды входной магистрали / или содержимое внутреннего регистра РгО.Для объединения нескольких микропроцессорных секций в АЛБ учитывается сигнал переноса из соседней младшей секции
CI и формируется слово признаков СП, включающее в себя сигнал переноса в соседнюю старшую секцию, признаки переполнения, нулевого результата, значение старшего разряда и два признака для организации ускоренного переноса. Сдвиг информации осуществляется в сдвигателях данных АЛБ (СдА) и регистра РгО (СдРг), имеющих входы и выходы для соединения с соседними микропроцессорными секциями.С внешней магистралью АЛБ связано через селектор выходных данных СВД, который выбирает источник выходного кода в соответствии с выполняемой микроинструкцией. Наличие в операционных устройствах рассмотренных секционированных МПК внутренней регистровой памяти позволяет за один период синхроимпульсов проводить вычисления над содержимым РОН.
В МПК серии КР1802 регистровая память вынесена из операционного устройства в отдельный блок с возможностью независимого наращивания ее объема и доступа со стороны других блоков процессоров. Кроме того, в опера-
ционном устройстве МПК серии КР1802 предусмотрена возможность использования специальных секций, выполняющих аппаратно операции умножения, деления и параметрических сдвигов. Такая же возможность расширения операционного устройства характерна и для МПК серии К587.
На рис.
6.5, д представлена схема операционного устройства МПК серии К587. Источниками операндов в этой модели служат блок регистров с двумя каналами чтения, рабочие регистры Рг1 и Рг2, регистр констант РгЗ, двунаправленные магистрали данных MI, M2, МЗ. Последние через мультиплексор связаны с входом регистра Pel, а по входу магистрали M2 — МЗ соединены с выходом регистра Рг1, магистраль Ml — с выходом регистра Рг2.Блок выполнения операций
/ содержит АЛБ, узел сдви-гателя данных Сд вправо или влево на один разряд и узел формирования состояний УФС. Информационный выход блока выполнения операций связан со входами записи в регистры Pel, Рг2 и с блоком регистров РОЯ. Выход узла формирования состояний соединен со входом записи регистра Рг2. Регистр константы РгЗ является частью регистра микрокоманд. Такая структура БИС характеризуется широким разнообразием микроопераций.§ 6.3.
Структура устройства управленияУстройство управления микро-ЭВМ.
обеспечивает выполнение последовательности микроопераций в соответствии с кодом текущей команды и организует выборку команд программы в соответствии с выполняемой программой. Использование микропрограммирования в реализации устройства управления позволяет создавать его на регулярных структурах, допускающих легко вносить изменения в формируемую последовательность управляющих сигналов.Представленная на рис. 6.6 обобщенная схема устройства микропрограммного управления содержит: блок микропрограммной памяти, в котором хранятся микрокоманды; блок генерации адреса микрокоманды, формирующий адрес очередной микрокоманды, который в общем случае зависит от кода выполняемой микрокоманды, кодов признаков выполняемых в АЛБ операций, информации блоков синхронизации и прерывания процессора; блок синхронизации, предназначенный для приема управляющих сигналов и формирования последовательности синхросигналов для основных блоков микро-ЭВМ для обеспечения определенной последовательности их работы; дешифратор микрокоманд, формирующий управляющие сигналы, поступающие в исполнительные блоки микро-ЭВМ.
Наиболее распространены варианты реализации устройств управления с использованием в качестве микропрограммной памяти постоянного ЗУ (ПЗУ) или перепрограммируемого ЗУ (ППЗУ) и устройства управления на базе программируемой логической матрицы (ПЛМ).
Рис.
6.6. Обобщенная схема устройства управленияВ первом случае блок памяти микрокоманд выполняют на базе стандартных БИС памяти типа ПЗУ, ППЗУ. Остальные блоки устройства управления объединяют в отдельную БИС или исполняют в виде отдельных узлов на схемах средней интеграции. В устройстве управления на базе ПЛМ все блоки объединяют в одну БИС, представляющую собой фактически законченный цифровой автомат, закон функционирования которого определяется коммутацией внутренних магистралей матрицы.
Типовая структура микрокоманды. Типовой формат слова микрокоманд включает в себя зоны микроопераций, “следующего адреса” и служебных и управляющих разрядов.
Зона микрооперации содержит код выполняемой операции. В практике микропрограммирования существуют две основные стратегии кодирования зоны микроопераций: минимальное и максимальное кодирование [4]. При минимальном кодировании зона микроопераций разделяется на отдельные поля, каждое из которых имеет определенное число разрядов и через комбинационную декодирующую схему управляет конкретным операционным устройством. Содержимое различных полей не зависит друг от друга. В предельном случае стратегия минимального кодирования
приводит к горизонтальному микропрограммированию, при котором каждый разряд микрокоманды управляет работой соответствующего блока или узла операционного устройства. При этом разрядность зоны микрооперации равна числу управляющих устройств.
При максимальном кодировании зона микроопераций содержит поле формата и поле микроопераций. Каждый формат предназначен для управления одним операционным блоком. Для каждого формата существует фиксированный набор микроопераций. Микрокоманды с максимальным кодированием имеют малую разряднось, но требуют довольно сложной дешифрации и не позволяют управлять несколькими операционными блоками.
Выбор стратегии кодирования зоны микрооперации связан со стремлением уменьшить формат микроопераций, упростить структуру дешифратора микроопераций и увеличить производительность процессора. Минимальное кодирование позволяет достигнуть большей производительности и распространено для управления операционных устройств широкого применения.
Для редко используемых операционных устройств целесообразно максимальное кодирование, при этом одно операционное поле управляет несколькими устройствами в зависимости от кода формата.
Зона “следующего адреса” содержит информацию, необходимую для формирования адреса следующей микрокоманды. Структура полей в этой зоне зависит от механизма формирования адреса микропрограммной памяти и будет рассмотрена более подробно при описании блока генерации адреса микрокоманды.
Зона служебных и управляющих разрядов обычно содержит информацию для управления узлами и блоками, являющимися специфичными для разных типов микропроцессоров. К такой информации относятся коды по управлению внешними устройствами памяти, коды, позволяющие маскировать входную информацию, коды, позволяющие организовать условную синхронизацию, и др.
Условная синхронизация микропроцессора необходима для изменения ритма его работы, например когда для вычислений требуется результат предыдущей операции, формируемый с заданной временной задержкой. Выполнение последующей операции в таком случае должно отставать от предыдущей на определенное число циклов работы микропрограммного устройства, которое может быть достигнуто использованием холостых операций. Однако запись программ с учетом пропуска фиксированного числа циклов достаточно сложна и требует строгого анализа, временных задержек всех блоков микро-ЭВМ. Более гибкое управление с учетом различия времени выполнения операций может быть реализовано с использованием зоны условной синхронизации микрокоманды. Код в зоне условной синхронизации обеспечивает блокировку синхронизирующих импульсов, формирующих переход к следующей микрокоманде. Блокировка прекращается при поступлении сигнала готовности от соответствующего узла процессора. Условная синхронизация обеспечивает асинхронность работы отдельных блоков микропроцессора по отношению к микропрограммному устройству, при сохранении управления под контролем синхросигналов.
Структура блока генерации адреса. Блок генерации адресов микрокоманд
— один из основных блоков устройства микропрограммного управления — определяет логические возможности и структуру языка программирования. Структура этого блока задает механизм формирования в устройстве управления адреса следующей микрокоманды. Наиболее распространены в микропроцессорных устройствах управления способы формирования следующего адреса микрокоманд с использованием инкрементного счетчика, поля “следующего адреса” в составе формата микрокоманды и стековой памяти.В микропроцессорных вычислительных системах устройства управления реализуются, как правило, на основе специальных БИС блока микропрограммного управления. Такие БИС представлены практически во всех развитых секционируемых МПК и используются для адресации памяти, содержащей представленную в микрооперациях рабочую программу или интерпретирующей фиксированную систему команд. Выбор типа БИС для устройства управления в значительной степени зависит от требований конкретного применения вычислительного устройства, поскольку устройство управления определяет возможные способы адресации и источники адресов, механизм модификации адресов при условных и безусловных переходах.
В алгоритмах, реализуемых на вычислительных устройствах с микропрограммным управлением, число типов переходов ограничено. В каждом конкретном случае это число может быть обосновано и соответственно блок генерации адресов микрокоманд должен обеспечить их выполнение. Наибольшее распространение в алгоритмах микропрограммного управления получили следующие типы переходов
[8]:1.
Безусловный переход из адреса Ai по адресу Aj определенному одним из способов адресации (рис. 6.7,а).2.
Условный переход по адресу Aj при выполнении некоторого условия с и по адресу Ak при невыполнении условия (рис. 6.7, б).3.
Выполнение циклов по условию. Реализуется с использованием условного перехода по условию (рис. 6.7, б) или с помощью стека (рис. 6.7, г). При выполнении таких переходов выход из цикла на адрес Л* осуществляется по выполнению условия с.4.
Выполнение циклов по заданному числу их повторений. Такая организация реализуется со счетчиком R числа повторений N, входящим в состав УУ (рис. 6.7, (5).5.
Повторение выполнении микрокоманды подачей нулевого сигнала в счетчик/инкрементор адреса.6.
Условный переход к микропрограмме Aj, и возврат из нее по значениям условий с (рис. 6.7, е).7.
Условный переход к микропрограмме Aj и возврат из нее по счетчику количества циклов (рис. 6.7, ж).8.
Безусловный переход к микропрограмме Aj и возврат после ее выполнения к основной программе (рис. 6.7, з).Для выполнения всех рассмотренных переходов УУ должно содержать в своем составе: средства мультиплексирования внутренних источников адреса (переходы типа
1—6), регистр микропрограммного счетчика с инкремен-тором и директором нуля (1), полный сумматор (3,4), средства маскирования/конкатенации полей адреса (6), стековую память со средствами индикации состояния (полный/пустой). Для адресации внешними устройствами микропрограммная память на выходе должна иметь буферные схемы с тремя состояниями.Устройство с инкрементным счетчиком для определения следующего адреса является самым простым. Адрес следующей микрокоманды определяется увеличением на единицу адреса исполняемой команды. Такое устройство управления предполагает естественный порядок следования микрокоманд, при котором последующие микрокоманды отличаются адресом на единицу от предыдущих. Для организации условных и безусловных переходов в устройствах с естественной последовательностью
Рис.
6.7. Основные типы микропрограммных переходовмикрокоманд должны быть предусмотрены специальные служебные микрокоманды и источники адреса команды условного перехода. Достоинство этого устройства управления
— малая длина слова микрокоманды и возможность достигнуть высокого быстродействия в формировании адреса, недостатки — сложность организации циклов в микропрограмме, сложность размещения отдельных последовательностей микрокоманд и форми-
рования переходов от одной последовательности микрокоманд к другой в управляющей памяти.
На рис.
6.8, а представлена схема блока генерации адреса на базе инкрементного счетчика. Мультиплексор МС управляется микропрограммно и обеспечивает поступление на вход регистра адреса РгА либо информации внешней магистрали Ml, либо информации с выхода инкрементного счетчика Сч. Содержимое инкрементного счетчика увеличивается на единицу после исполнения очередной микрокоманды. Переход к другой последовательности микрокоманд требует формирования на Ml начального адреса новой последовательности и последующей передачи управления инкрементному счетчику.Устройства с полем “следующего адреса” в составе микрокоманды позволяют организовать произвольный порядок следования микрокоманд. В поле “следующего адреса” исполняемой микрокоманды указывается адрес следующей микрокоманды. При условных переходах адрес микрокоманды формируется по установленному алгоритму из информации в поле “следующего адреса” и поступающих из операционного устройства и внешних устройств кодов признаков. Достоинство этой структуры в том, что в ней легко реализуются циклы, условные и безусловные переходы, недостаток
— большая длина слова микрокоманды и связанное с этим усложнение процесса программ. На рис. 6.8, б представлена схема блока генерации адреса с полем “следующего адреса”, используемая в МПК серии К589. Основой для формирования адреса являются информация на одной из двух внешних магистралей Ml и М2 и информация поля “следующего адреса” ПЗУ. Источники адресов объединены в мультиплексоре МС, управляемом микропрограммно.Адрес следующей микрокоманды при входе в программу определяется содержимым одной из магистралей
Ml или М2, а при исполнении программы — кодом поля “следующего адреса”, входящим в состав микрокоманды. Модификация адреса при организации условного перехода осуществляется по установленному алгоритму в соответствии с содержимым регистра условий РгУ, в который записываются признаки арифметических и логических операций.Совмещение рассмотренных структур в одном устройстве управления позволяет при естественной последовательности микрокоманд использовать для формирования адреса инкрементный счетчик, а при нарушении естественной последовательности код адреса микрокоманды задавать в исполняемой микрокоманде. Такое устройство должно по содержимому микрокоманды анализировать способ формирования “следующего адреса” и включать в себя аппаратные средства, формирующие адрес по одному из рассмотренных способов. Для формирования условных переходов в устройство управления вводят блоки, которые в зависимости от значения кодов признаков модифицируют адрес следующей микрокоманды.
Использование стека (стековой магазинной памяти) в блоке генерации адреса микрокоманды позволяет применить принцип модульности при написании микропрограмм. Микропроцессоры со стековой организацией эффективны в тех случаях, когда основная программа содержит совокупность подпрограмм или программных модулей, повторяющихся в ходе выполнения основной программы.
Существуют различные варианты реализации стека на сдвиговых регистрах или на ячейках памяти. Емкость стековой памяти на регистрах ограничена количеством регистров, на которых организован стек. Ограничений по емкости лишен стек, использующий участок основной памяти и регистр, хранящий адрес текущей верхушки стека и называемый указателем стека. При обращении к стеку в ячейку, адрес которой определяется указателем стека, записывается адрес микрокоманды. Содержимое
указателя стека увеличивается на единицу. При возвращении к основной программе содержимое указателя стека уменьшается на единицу и указывает адрес выхода из подпрограммы. Число вложений микропрограмм в таком стеке определяется количеством отведенных для стека ячеек памяти.На рис.
6.9, а приведена схема блока формирования следующего адреса, применяемая в МПК серии К1804, в которой используются все рассмотренные способы формирования адреса. Установка начального адреса микропрограммы может быть произведена по одному из
кодов, поступающих по магистралям
Ml и М2 на вход мультиплексора [22].На два других входа мультиплексора поступают коды с инкрементного счетчика и стековой памяти. Стек состоит из четырех регистров и указателя стека. Указатель стека работает как реверсивный счетчик, имеющий два управляющих входа: записи чтения и разрешения обращения.
Выбор одного из четырех входов мультиплексора осуществляется по двум управляющим входам поля микрокоманды. Выходная информация на магистрали адреса может быть модифицирована кодом, подаваемым на вход
М2. По входу
R возможна установка нулевого значения на соответствующих разрядах выходного адреса.Использование рассмотренных способов формирования адреса микрокоманды реализует принцип модульности при написании микропрограмм. Адрес в подобной структуре блока генерации адресов может быть получен либо из инкрементного адресного счетчика, либо из поля “следующего адреса” текущей микрокоманды, либо из адресного стека, либо модификацией регистра признаков.
Такая структура позволяет гибко адресовать программную память, способствует локализации микропрограмм. Наличие стека делает возможным формирование программ из микропрограммных модулей и организацию сложных программных последовательностей.
Устройства управления на ПЛМ. В этих устройствах в отличие от рассмотренных схем совмещены функции узла генерации адреса микрокоманды с памятью микропрограммы. Рассмотрим схему такого устройства на примере МПК серии К587 (рис.
6.9, б).Структура устройства содержит память микропрограмм типа ПЛМ, регистр команд РгК, регистр кода условий РгКУ, регистр следующего адреса РгА и регистр признаков управления РгУ.
Регистр признаков управления содержит маски на сигнал записи в регистр команд, регистр следующего адреса и регистр кода условий. Часть сигналов с выхода ПЛМ выводится для управления операционной частью как микрокоманда, а другая часть выходных сигналов ПЛМ не выводится из корпуса БИС и используется для формирования следующего адреса и кода регистра управления. Программируемая логическая матрица позволяет анализировать большое число разрядов, что исключает необходимость в управляемых мультиплексорах. Совокупность всех разрядов РгК, РгКУ и РгА используется как полное адресное слово для ПЛМ.
Регистр команды служит для приема кода команды, задающего устройству управления программу выборки последовательности кодов микрокоманд, выполняя которые микропроцессор реализует алгоритм данной команды. Для этого один из выходов ПЛМ программируется на выработку разрешения на прием новой команды. Выборка той или иной микрокоманды в процессе выполнения алгоритма какой-либо команды микропроцессора не всегда является строго заданной, а может зависеть от условий
— результатов операций, зафиксированных в регистре условий.Регистр адреса является главным задающим звеном при выборке последующей микрокоманды. Разрядность п регистра адреса позволяет устройству управления создавать
2" устойчивых состояний без смены кода команды и кода условий.Способность ПЛМ порождать новые информационные состояния комбинацией имеющихся закодированных состояний, путем их простого объединения, расширяет•логические возможности ПЛМ как цифрового автомата. Рассмотренное устройство не содержит стековой памяти и, следовательно, не предусматривает модульного программирования. Из рассмотренных устройств на структуру микро-ЭВМ в наибольшей степени влияет вариант реализации устройства управления. Можно выделить три наиболее характерных варианта: реализация в однокристальном процессоре, объединяющем в себе операционную часть и устройство управления; реализация устройства управления в виде микропрограммного автомата с использованием ПЗУ и ППЗУ для записи микрокоманд;
реализация устройства управления на основе ПЛМ.
В микропроцессорных комплектах серий К587, К.588, К1883 устройства управления реализованы на основе ПЛМ. Микропроцессорные комплекты серий К.580, К.1801, К1810, К1816, К1820 содержат в своем составе БИС, в которой реализованы центральный процессор и устройство управления с фиксированной структурой и системой команд. В МПК серий К583, К589, КР1800, КР1802, КР1804 устройство управления строится в виде микропрограммного автомата на базе входящих в эти комплекты БИС, что позволяет потребителю реализовать на их основе необходимую ему систему команд. Микропроцессорные комплекты серий К.536, К.581 предназначены для построения микро-ЭВМ семейства “Электроника С” и “Электроника-60”.
Микропроцессорные комплекты серии К
1801 включают в себя однокристальный МП К1801ВМ1, реализующий в себе процессор и устройство управления с системой команд микро-ЭВМ “Электроника-60”, и ряда БИС для построения одноплатных микро-ЭВМ. По своим техническим характеристикам МПК серий К580, К1816, К1810, К1820, содержащие однокристальные МП, целесообразно применять для получения устройств цифровой автоматики, простейших контроллеров, а также использовать для построения микро- и мини-ЭВМ различного назначения. Микропроцессорные комплекты серий К583, К584, К587, К588 предназначены для построения микро-ЭВМ и сложных контроллеров. Благодаря секционной организации, развитой системе магистралей, микропрограммируемости управляющих функций они могут служить основой для построения различных управляющих систем. Малое энергопотребление и высокая помехоустойчивость МПК серий К587 и К588 позволяют проектировать на их основе системы числового программного управления технологическим оборудованием и устройства с ограничениями по потребляемой энергии.Быстродействующие МП К серий К589, КР1802, КР1804 предназначены для построения микро-ЭВМ и систем быстродействующей автоматики, совместимы по уровням сигналов и могут дополнять друг друга. Микропроцессорные комплекты серий КР1802 и К1804 отличаются подходом к формированию модулей. В МПК КР1804 4-разрядные микропроцессорные БИС содержат все элементы микропроцессора. В МПК серии КР1802 в БИС выполняются отдельные функциональные узлы МП (БИС 8-разрядного АЛБ, БИС
16 4-разрядных РОН, БИС 16-разрядного арифметического расширителя и т.д.). Отличие по составу модулей рассмотренных МПК позволяет применить для различных областей наиболее подходящий из них по функциональному разбиению.Микропроцессорный комплект серии КР1800 обладает сверхвысоким быстродействием (частота тактовых сигналов
36 МГц) и ориентирован на построение вычислительных средств с высокой производительностью.