/
Text
основы ПОСТРОЕНИЯ микро аЭВМ
В. Л. Горбунов Д. И. Панфилов Д. Л. Преснухин ИТШ । РОЦЕССОРЫ ОСНОВЫ ПОСТРОЕНИЯ МИКРО-ЭВМ Под редакцией заслуженного деятеля науки и техники РСФСР, доктора технических наук, профессора Л.Н.ПРЕСНУХИНА Допущено Министерством высшего и среднего специального образования СССР в качестве учебного пособия для студентов высших технических учебных заведений МОСКВА <ВЫСШАЯ ШКОЛА» 1984 Scan AAW
ББК 32.973.2 Г67 УДК 681.322 Рецензенты: Кафедра «Автоматизированные системы управ- ления» Московского высшего технического училища им. Н. Э. Бау- мана (заведующий кафедрой д-р техн, наук, проф. В. Н. Четвери- ков); канд. техн, наук Васенков А. А. Горбунов В. Л., Панфилов Д. И., Преснухин Д. Л. Г67 Микропроцессоры. Основы построения микро-ЭВМ: Учеб, пособие для втузов. — М.: Высш, шк., 1984. — 144 с., ил. 30 к. Пособие является четвертой книгой из серии, выпускаемой под общим названием «Микропроцессоры». В ней рассматриваются особенности архитек- туры микропроцессорных БИС и общие вопросы построения микро-ЭВМ; принципы организации интерфейса в микро-ЭВМ; освещаются вопросы, связан- ные с особенностями построения микро-ЭВМ на конкретных комплектах мик- ропроцессорных БИС серии 580, 589, 587; приводится описание комплектов МП БИС, раскрываются особенности построения на их основе микро-ЭВМ и составления рабочих программ. 2405000000—443 ББК 32.973.2 Г ---------------КБ-56-8-83 001(01)—84 6Ф7.3 Владимир Леонидович Горбунов Дмитрий Иванович Панфилов Дмитрий Леонидович Преснухин Микропроцессоры. Основы построения микро-ЭВМ Заведующая редакцией Н. И. Хрусталева. Редактор В. И. Петухова. Млад- ший редактор Т. Ф. Артюхина. Художник В. В. Гарбузов. Художественный редактор В. И. Мешалкин. Технический редактор А. К. Нестерова. Корректор Г. И. Кострикова. ИБ № 4833 Изд. № СТД—438. Сдано в набор 30.05.84. Подп. в печать 12.09.84. Т-15163. Формат 60X90V16. Бум. тип. № 1. Гарнитура литературная. Печать высокая. Объем 9 усл. печ. л. 9,25 усл. кр.-отт. 9,73 уч.-изд. л. Тираж 35 000 экз. Зак. № 559. Цена 30 коп. Издательство «Высшая школа», 101430, Москва, ГСП-4, Неглинная ул., д. 29/14 Московская типография № 8 Союзполиграфпрома при Государственном комитете СССР по делам издательств, полиграфии и книжной торговли, 101898, Москва, Центр, Хохловский пер., 7. © Издательство «Высшая школа», 1984
ОГЛАВЛЕНИЕ Список литературы...................................................... 4 Введение .............................................................. 5 Глава 1. Функциональные блоки и организация управления в микро-ЭВМ 6 § 1.1, Общие сведения.............................................. 6 § 1.2. Структура операционного устройства ......................... 9 § 1.3. Структура устройства управления.....%...................... 15 Глава 2. Особенности построения микро-ЭВМ на микропроцессорном комплекте серии К580 ....................................... 25 § 2.1. Общие сведения............................................. 25 § 2.2. Микропроцессорная БИС КР580ИК80............................ 25 § 2.3. Организация обмена данными с микро-ЭВМ в параллельном коде.............................................................. 46 § 2.4. Организация прерываний микро-ЭВМ при работе с внешними устройствами...................................................... 52 § 2.5. Организация прямого доступа к памяти микро-ЭВМ............. 70 § 2.6. Организация временных интервалов в микро-ЭВМ............... 80 § 2.7. Организация обмена данными с микро-ЭВМ по каналу связи в последовательном коде............................................. 86 Глава 3. Особенности построения микро-ЭВМ на микропроцессорном комплекте серии К589 ................................................. 98 § 3.1. Интегральный МПК серии К589 ............................... 98 § 3.2. Микро-ЭВМ с управлением на микрокомандном уровне .... 112 § 3.3. Анализ быстродействия микропроцессоров.................... 116 § 3.4. Микро-ЭВМ с управлением на командном уровне............... 120 Глава 4. Особенности и специфические характеристики микропроцессор- ных комплектов серий К587 и К588 .................................... 125 § 4.1. Общие сведения............................................ 125 § 4.2. Интегральный МПК серии К587 .............................. 126 § 4.3. Интегральный МПК серии К588 .............................. 126 § 4.4. Архитектурные особенности построения управляющей микро- ЭВМ на базе интегрального МПК серии К587 ................... 141 § 4.5. Вычислительный блок на базе интегрального МПК серии К588 143
СПИСОК ЛИТЕРАТУРЫ 1. Балашов Е. П., Пузанков Д. В. Микропроцессоры и микропроцессорные системы. — М.: Радио и связь. 1981, 326 с. 2. Микропроцессорный комплект БИС ТТЛ с диодами Шоттки (серия К589)/ Березенко А. И., Назарьян А. Р., Корягин Л. Н., Орлов Б. В, — Электронная про- мышленность. 1978, вып. 5, с. 20—21. 3. Березенко А. И., Корягин Л, Н., Назарьян А. Р. Микропроцессорные комп- лекты повышенного быстродействия. — М.: Радио и связь, 1981. 4. Васенков А. А. Развитие микропроцессоров и микро-ЭВМ семейства сЭлектроника НЦ> на основе комплексно-целевых программ. — Электронная про- мышленность, 1979, вып. 11, 12, с. 13—16. 5. Васенков А. А. Микропроцессоры. — Электронная промышленность, 1978» вып. 5, с. 7—9. 6. Каган Б. М., Сташин В. В. Микропроцессоры в цифровых системах. — М.: Энергия, 1979, 193 с. 7. Микромощный микропроцессорный комплект БИС серии К587 на допол- няющих МДП-транзисторах/Дшхг/ня« В. Л.» Коваленко С, С., Машевич П. Р. и др. — Электронная промышленность, 1978, вып. 5, с. 15—19. 8. Микромощный комплект БИС ТТЛ с диодами Шоттки (серия К589).— М.: ЦНИИЭлектроника, 1978. — 52 с. 9. Микропроцессорные БИС и микро-ЭВМ. Построение и применение/Васен- ков А. А., Воробьев Н. М., Дшхунян В. Л. и др./Под ред. А. А. Васенкова. — М.: Советское Радио, 1980, 279 с. 10. Микропроцессорные комплекты интегральных схем. Состав и структура: Справочник/Ворисов В. С., Васенков А. А., Шахнова В. А. — М.: Радио и связь» 1982. 11. Нестеров П. В. Развитие и оценка архитектуры микропроцессоров. — За- рубежная радиоэлектроника, 1979, вып. 4, с. 32—69. 12. Преснухин Л. Н, Нестеров 77. В. Цифровые вычислительные машины.— М.: Высшая школа, 1981, 512 с. 13. Соучек Б. Микропроцессоры и микро-ЭВМ: Пер. с англ./Под ред, А. И. Петренко. — М.: Советское радио, 1979, 520 с. 14. Аналоговые и цифровые интегральные схемы/Под ред. С. В. Якубовско- го. — М.: Советское радио, 1979, 336 с.
ВВЕДЕНИЕ Решение задач, связанных с научно-технической революцией в сфере производства и выполняемых в соответствии с постановле- нием ЦК КПСС *, предполагает широкое внедрение в народное хо- зяйство микропроцессорной техники. Развитие микроэлектроники и появление микропроцессорных БИС открывает для разработчика аппаратуры возможность исполь- зования их во встраиваемых в объект вычислительно-управляемых комплексах, расширяющих логические и точностные возможности проектируемых устройств. Широкая номенклатура микропроцессор- ных БИС позволяет при проектировании вычислительно-управляе- мых комплексов выбрать наиболее подходящие для конкретных ус- ловий применения и предъявляемых технических требований мик- ропроцессорные БИС. Для строгого обоснования выбора конкрет- ных микропроцессорных БИС разработчик должен представлять себе возможности существующих микропроцессорных средств и осо- бенности проектирования на них вычислительных устройств. Целью данной книги авторы ставили знакомство читателя с общими принципами, закладываемыми при построении микропро- цессорных БИС, и изучение связанных с ними технических возмож- ностей вычислительных устройств. Особенности проектирования вычислительных средств иллюстрируются на различных по своим возможностям и структуре микропроцессорных БИС. * См. Правда, 1983, 20 августа.
Глава ФУНКЦИОНАЛЬНЫЕ БЛОКИ И ОРГАНИЗАЦИЯ | УПРАВЛЕНИЯ В МИКРО-ЭВМ § 1.1. Общие сведения Микропроцессорные интегральные схемы (МП ИС) и микро- ЭВМ, построенные на их основе, явились следствием бурного раз- вития микроэлектроники, позволившего в одном кристалле полупро- водника размещать сложные вычислительные структуры, содержа- щие десятки тысяч транзисторов. Изготовление больших интег- ральных схем (БИС) сопряжено с трудоемкой работой по разра- ботке схем, фотошаблонов и подготовкой производства и служб контроля технологических параметров и характеристик БИС. Сни- жение себестоимости БИС возможно лишь при максимальной ав- томатизации этапов, предшествующих их изготовлению, и массово- сти производства. Массовое производство БИС предполагает широкий спрос пот- ребителя, а следовательно, возможность ее использования для боль- шого круга решаемых задач. Микропроцессорные БИС (МП БИС) представляют тот класс интегральных схем, который сочетает в се- бе высокую степень интеграции, обеспечивающую огромные функ- циональные возможности, с большой универсальностью по приме- нению [5]. Достигается универсальность тем, что в МП БИС реализованы сложные устройства, позволяющие выполнять над исходными чис- лами логические и арифметические функции, при этом управление процессом вычисления ведется программно. Изменение программы вычисления позволяет осуществить вычисление любой сложной функции. Если рассмотреть схему микро-ЭВМ (рис. 1.1), то можно прий- ти к выводу, что в ней содержатся те же блоки, на которых строи- лись вычислительные машины предыдущих поколений. Однако микро-ЭВМ имеет некоторое архитектурное отличие от предшест- вующих ЦВМ, обусловленное стремлением объединить в БИС, на которых строится микро-ЭВМ, узлы и блоки, способные проводить сложные преобразования информации при минимальном количест- ве внешних проводников. Эта особенность обусловлена возможно- стью построения в БИС сложных электронных схем при ограниче- нии по числу внешних проводников, не превышающих, как правило, 50 или 100 контактов. Структура процессора микро-ЭВМ строится с учетом этих осо- бенностей БИС. Наиболее распространенной является схема микро- ЭВМ, имеющая две или три общие магистрали, к которым подвоз- 6
действием устройства управления могут поочередно подключать- ся входящие в микропроцессор узлы. Такая структура требует ог- раниченное число внешних контактов, но обмен информацией ме- жду узлами и блоками должен осуществляться в определенной по- следовательности. В микро-ЭВМ процессор строится на БИС, образующих базовый МП комплект. Процессор микро-ЭВМ может быть реализован в виде одной (однокристальный микропроцессор) или нескольких БИС (многокристальный микропроцессор). Для построения остальных блоков микро-ЭВМ используются специализированные БИС или ИС средней степени интеграции. Основные типы ИС, применяемых в микро-ЭВМ, могут быть отнесены к од- ной из четырех групп: базовый микро- процессорный комплект (МПК) ИС; ИС запоминающих устройств; ИС уст- ройств ввода — вывода информации в микропроцессор; ИС для связи микро- ЭВМ с объектами управления. В соответствии с разработкой спе- циализированных ИС для различных блоков микро-ЭВМ структурная схе- ма ее может быть представлена как Рис. 1.1. Схема микро-ЭВМ совокупность функциональных блоков (рис. 1.2), соединенных между собой в соответствии с требованиями интер- фейсов. В приведенной схеме обработку информации осуществляет микропроцессор, синхронизируемый тактовыми импульсами устрой- ства синхронизации. Обмен информацией между микропроцессо- ром и остальными блоками микро-ЭВМ осуществляется по трем ма- гистралям: адресной, данных и управляющей. Адресная магистраль служит для передачи кода адреса, по которому проводится обра- щение к устройствам памяти, ввода — вывода или другим внешним устройствам, подключенным к микропроцессору. Обрабатываемая информация и результаты вычислений передаются по магистрали данных. Магистраль управления передает управляющие сигналы на все блоки микро-ЭВМ, настраивая на нужный режим устройст- ва, участвующие в выполняемой команде. Использование в микро-ЭВМ большого числа магистралей, в данном примере трех типов, обеспечивает высокое быстродействие и упрощает процесс вычисления. Возможно построение микро-ЭВМ с одной или двумя магистралями, по которым последовательно пе- редаются код адреса и обрабатываемая информация, при этом уве- личивается время выполнения команды и усложняется организация обмена информацией между узлами. Структура микро-ЭВМ определяется архитектурой микропро- цессора, составом входящих в МП БИС функциональных узлов, ко- личеством внешних магистралей и организацией обмена информа- цией [9]. 7
Микропроцессоры на одном кристалле — однокристальные МП — отличаются фиксированной разрядностью и фиксированной •системой команд. Функциональная законченность однокристальных МП требует разместить в одном кристалле блоки дешифратора ко- манд и устройства управления, арифметическо-логический блок, устройства управления внешним обменом, каскады согласования внутренних и внешних сигналов. Многокристальные МП строятся на основе совокупности БИС, представляющих собой МПК. Каж- Рис. 1.2. Схема трехмагистральной микро-ЭВМ дая БИС, входящая в МПК, позволяет реализовать узел или функ- циональный блок узла МП. Наиболее характерными узлами МП являются арифметическо- логический блок (АЛБ), составляющий основу операционного уст- ройства, и устройство управления. Арифметическо-логический блок предназначен для обработки информации в соответствии с посту- пающим на него управляющим кодом. Выполняемые в АЛБ опе- рации могут быть разделены на три группы: арифметические, сдви- га, логические и пересылок. В качестве арифметических операций обычно используются опе- рации: сложения и вычитания двух кодов; сложения и вычитания единицы; сложения и вычитания с содержимым признака операции. К операциям сдвига относятся операции арифметического, логичес- кого и циклического сдвигов вправо и влево содержимого регист- 8
ров АЛБ. Логические операции и операции пересылок обеспечи- вают выполнение основных логических функций (сложение, умно- жение) над содержимым регистров и пересылки содержимого меж- ду регистрами и между регистрами и внешними магистралями. Устройство управления формирует управляющие сигналы на все блоки микро-ЭВМ, синхронизируя их работу, и обеспечивает выборку команд из памяти в соответствии с заложенным алго- ритмом. § 1.2. Структура операционного устройства Операционное устройство МП, предназначенное для выполнения операций над операндами в соответствии с кодом выполняемой ко- манды (арифметической, логической, сдвига или пересылочной) обычно включает в себя АЛБ, блоки регистров общего назначения (РОН), блок формирования состояния регистра условий, блок мест- ного управления. Рис. 1.3. Принципиальная схема АЛБ Арифметическо-логический блок непосредственно выполняет ми- крооперацию над исходными операндами. Блок РОН обеспечивает хранение операндов и промежуточных результатов вычислений, характеризуется малым временем обра- щения и ограниченным количеством регистров. Блок формирования состояний регистра условий записывает в регистр условий двоичный код, характеризующий арифметические и логические признаки результата операции АЛБ. Содержимое ре- гистра признаков может быть использовано устройством управ- ления для формирования условных переходов по результатам опе- раций АЛБ. Блок местного управления обеспечивает выполнение текущей микрокоманды и управляет в соответствии с кодом микрокоманды всеми блоками операционного устройства. Рассмотрим работу АЛБ на примере приведенной на рис. 1.3. схемы [9]. На входы АЛБ поступает входная информация AiBi; через входные мультиплексоры. Арифметическо-логический блок 9
состоит из трех ступеней: I — ступень логических операций и фор- мирования полусумм, II — ступень генерации переносов, III — сту- пень формирования полных сумм. На входы So—S3 подаются коды выполняемой операции. Перечень выполняемых операций в зави- симости от значения кодов So—S3 приведен в табл. 1.1. На выходе I ступени формируются функция полусуммы 2у2, функция генера- ции Gi и функция передачи Pi переноса Функция полусуммы предназначена для формирования результата суммирования с уче- том переноса из соседнего младшего разряда на III ступени АЛБ. Таблица 1.1 So F при S4=0 F при S4 = l 0 0 0 0 А А— 1 _ 0 0 0 1 A\JB A+A\JB 0 0 10 A\JB A+A\JB 0 0 11 1 А+А 0 10 0 A-В АВ— 1 0 10 1 В АВ + A\JB 0 110 А®В А+В 0 111 A\JB А-}-АВ 10 0 0 А-В ЛВ4-1 10 0 1 АфВ А—В—1 10 10 В АВ±А\/В 10 11 А\/В АВ+А 110 0 0 —1 110 1 АВ Л\/В+0 1110 А-В лв+о 1111 А л-ьо Функция G определяет условие генерации переноса в данном разряде (G = A/\B). Функция Р определяет условие передачи пе- реноса из соседнего младшего разряда в следующий, более старший разряд (Р=А\/ В). Перенос от n-го разряда в процессе двоичного сложения определяется выражением Сл = Gn v Gn—\Pn v Gn^Pr — \Рп V • • • V G^P 1Р2^з« • » (Ы) где 0, 1, ..., п — номера разрядов. В соответствии с этим уравнением строятся схемы, определяю- щие перенос для каждого разряда АЛБ. Управляющий вход S4 за- дает тип выполняемых операций: при S4=0 выполняются логичес- кие операции, при S4 = l — арифметические. При выполнении логи- ческих операций переносы не распространяются. На III ступени фор- мируется полная сумма из полусумм, формируемых на I ступени, и переносов, формируемых на II ступени. В секционных модулях операционного устройства АЛБ имеет ограниченную разрядность, равную 2, 4, 8, 12, 16. Объединение не- скольких подобных модулей в операционном устройстве требует 10
организации связей по переносах^ АЛБ. Быстродействие расширен- ного по разрядности АЛБ в большей степени зависит от способа организации переноса внутри разрядно-секционированного моду- ля и между модулями. Внутри модуля могут быть предложены сле- дующие способы переноса: последовательный сквозной, параллель- ный, групповой. При последовательном сквозном переносе во II ступени АЛБ для каждого /-го разряда формируется сигнал пе- реноса на основании функции генерации и передачи переноса и Рис. 1.4. Организация ускоренного переноса сигнала переноса в предыдущем младшем-разряде в соответствии с выражением Ci = PCi-\\/Gi. При этом время распространения пе- реноса равно ritn, где п — число разрядов в модуле; tn — время распространения переноса через один разряд. При параллельном переносе во II ступени формиру- ются параллельно все сигналы переноса для каждого разряда на основании функций генерации и передачи переноса в предыдущих разрядах в соответствии с (1.1). Такая организация сигнала пере- носа обеспечивает лучшее быстродействие, но требует аппаратур- ных затрат при большом числе разрядов в модуле. При групповом переносе АЛБ разделяется на равные по числу разрядов группы. В каждой группе организуется парал- лельный перенос и формируется перенос из группы в следующую по старшинству. Это более гибкое построение схемы переноса с учетом факторов быстродействия и аппаратурных затрат. Между модулями обычно используют два способа организации связи по переносу: последовательный сквозной и групповой. При последовательном сквозном переносе между модулями реализуют параллельный или групповой перенос внутри модулей. При группо- вом переносе в каждом модуле формируются функции генерации и передачи переноса из модуля, поступающие во внешний узел ус- коренного параллельного переноса, как показано на рис. 1.4. На основании этих функций в узле ускоренного переноса фор- мируются входные переносы для каждого секционированного мо- дуля. Последовательный сквозной перенос между модулями при- меним при малом числе связанных модулей. При числе модулей 11
больше четырех, целесообразно применять групповой способ с внеш- ним узлом параллельного переноса. Структура операционного устройства зависит от количества вне- шних магистралей и организации обмена информации по ним, а также от организации внутренних магистралей и порядка обмена информации между блоками операционного устройства. Операционные устройства, реализованные в составе однокрис- тальных МП БИС, отличаются фиксированной разрядностью и системой команд. Ограничения по числу информационных магист- ралей и внешних контактов приводят к необходимости организо- вать последовательный вид передачи информации, при котором по одной информационной магистрали последовательно осуществля- ется обмен информацией между всеми внутренними узлами БИС и внешними магистралями. Однокристальные МП БИС не позволяют строить высокопроиз- водительные микропроцессорные системы с параллельной обработ- кой информации. Время выполнения команд колеблется от 2 до 10 мкс. Однокристальные МП БИС эффективно применяют в уст- ройствах, не требующих высокого быстродействия и имеющих ог- раничения по объему аппаратуры и ее стоимости. Они реализованы в сериях К580 и К586 МП БИС, содержащих наряду с микропро- цессорами ряд вспомогательных БИС для построения микро-ЭВМ. Структура операционного устройства, построенного на одной двунаправленной МД, используется в МПК серии К580 (рис. 1.5, а). Источниками операндов для АЛБ являются входная МД и блок РОН. Результаты вычислений по той же МД могут передаваться либо во внешние устройства, либо в РОН. Результат каждого вы- полненного действия записывается в специальный регистр — акку- мулятор АС. В регистре признаков РгПр формируется двоичный код, характеризующий признаки результата выполненной операции. Информация блока РОН поступает на однонаправленную адресную магистраль для передачи кода адреса внешнего устройства (ВУ). Особенность операционного блока с одной МД — необходимость последовательного выполнения текущей микрокоманды. Последо- вательное управление блоками операционной системы осуществля- ется устройством управления. Каждая выполняемая команда ис- полняется. в течение определенного количества тактов в зависимо- сти от ее сложности. Кроме формирования внутренних управляю- щих сигналов устройство управления в каждой выполняемой опе- рации формирует сигналы управления для внешних устройств, под- ключенных к общей МД, подготавливая их к выполняемой опе- рации. Модульные МП БИС позволяют использовать в операционной системе большее число внутренних и внешних шин и повысить про- изводительность вычислений. Например, в МПК серии К589 в опе- рационном устройстве работают два мультиплексора MCI и МС2 на входе и регистр АС на выходе АЛБ (рис. 1.5, б). Приведенная структура позволяет подавать коды операндов независимо по двум входным магистралям, мультиплексоры расширяют число возмож- 12
Рис. 1.5. Структуры операционных устройств МПК
ных операндов. Вход М маскирует разряды операндов, поступаю- щих на входы мультиплексора. Операционные устройства с боль- шим числом внешних магистралей имеют, как правило, небольшую разрядность. Для увеличения разрядности обрабатываемых кодов в операционных устройствах предусмотрена возможность соедине- ния их между собой, позволяющая увеличить соответственно раз- рядность процессора. Достигается это использованием линий входа CI и выхода СО переноса для каждой малоразрядной БИС опера- ционного устройства. В МПК серии К584 операционное устройство имеет два допол- нительных рабочих регистра Рг1 и Рг2 с мультиплексорами на вхо- де АЛБ и один мультиплексор на выходе АЛБ (рис. 1.5, в). Опе- рационное устройство включает в себя сдвиговые регистры, позво- ляющие проводить операции сдвига с поступающими и выходными двоичными кодами АЛБ. Наличие двух сдвиговых регистров упро- щает реализацию относительно сложных операций умножения и де- ления. Большое количество мультиплексоров позволяет реализо- вать эффективный набор микрокоманд, использующий разнообраз- ные источники информации. В МПК серии К1804 реализована возможность независимого одновременного обращения к двум регистрам РОН, информация которых записывается в регистры РгА и РгВ (рис. 1.5, г). Такая структура операционного устройства позволяет за один машинный такт выполнять операцию над содержимым двух регистров РОН. Кроме содержимого РОН на вход АЛБ могут быть поданы коды входной магистрали I или содержимое внутреннего регистра РгО Для объединения нескольких микропроцессорных секций в АЛБ учитывается сигнал переноса из соседней младшей секции CI и формируется слово признаков СП, включающее в себя сигнал пе- реноса в соседнюю старшую секцию, признаки переполнения, нуле- вого результата, значение старшего разряда и два признака для организации ускоренного переноса. Сдвиг информации осуществля- ется в сдвигателях данных АЛБ (СдА) и регистра PeQ (СдРг), имеющих входы и выходы для соединения с соседними микропро- цессорными секциями. С внешней магистралью АЛБ связано через селектор выходных данных СВД, который выбирает источник выходного кода в соот- ветствии с выполняемой микроинструкцией. Наличие в операцион- ных устройствах рассмотренных секционированных МПК внутрен- ней регистровой памяти позволяет за один период синхроимпуль- сов проводить вычисления над содержимым РОН. В МПК серии К1802 регистровая память вынесена из операци- онного устройства в отдельный блок с возможностью независимо- го наращивания ее объема и доступа со стороны других блоков про- цессоров. Кроме того, в операционном устройстве МПК серии К1802 предусмотрена возможность использования специальных сек- ций, выполняющих аппаратно операции умножения, деления и па- раметрических сдвигов. Такая же возможность расширения опе- рационного устройства характерна и для МПК серии К587. 14
На рис. 1.5, д представлена схема операционного устройства МПК серии К587. Источниками операндов в этой модели служат блок регистров с двумя каналами чтения, рабочие регистры Рг1 и Рг2, регистр констант РгЗ, двунаправленные магистрали данных Ml, М2, М3. Последние через мультиплексор связаны с входом ре- гистра Рг1, а по входу магистрали М2—М3 соединены с выходом регистра Рг1, магистраль Ml — с выходом регистра Рг2. Блок выполнения операций I содержит АЛБ, узел сдвигателя данных Сд вправо или влево на один разряд и узел формирования состояний УФС. Информационнный выход блока выполнения опе- раций связан со входами записи в регистры Рг1, Рг2 и с блоком регистров РОН. Выход узла формирования состояний соединен со входом записи регистра Рг2. Регистр константы РгЗ является час- тью регистра микрокоманд. Такая структура БИС характеризует- ся широким разнообразием микроопераций. § 1.3. Структура устройства управления Устройство управления микро-ЭВМ обеспечивает выполнение последовательности микроопераций в соответствии с кодом теку- щей команды и организует выборку команд программы в соответ- ствии с выполняемой программой. Использование микропрограм- мирования в реализации устройства управления позволяет созда- 0m устройства прерывания Рис. 1.6. Обобщенная схема устройства управления вать его на регулярных структурах, допускающих легко вносить изменения в формируемую последовательность управляющих сиг- налов. Представленная на рис. 1.6 обобщенная схема устройства ми- кропрограммного управления содержит: блок микропрограммной памяти, в котором хранятся микрокоманды; блок генерации адреса микрокоманды, формирующий адрес очередной микрокоманды, ко- торый в общем случае зависит от кода выполняемой микрокоман- ды,* кодов признаков выполняемых в АЛБ операций, информации блоков синхронизации и прерывания процессора; блок синхрони- зации, предназначенный для приема управляющих сигналов и фор- мирования последовательности синхросигналов для основных бло- ков микро-ЭВМ для обеспечения определенной последовательно- сти их работы; дешифратор микрокоманд, формирующий управ- ляющие сигналы, поступающие в исполнительные блоки микро-ЭВМ. 15
Наиболее распространены варианты реализации устройств уп- равления с использованием в качестве микропрограммной памяти Постоянного ЗУ (ПЗУ) или перепрограммируемого ЗУ (ППЗУ) и устройства управления на базе программируемой логической мат- рицы (ПЛМ). В первом случае блок памяти микрокоманд выполняют на базе стандартных БИС памяти типа ПЗУ, ППЗУ. Остальные блоки уст- ройства управления объединяют в отдельную БИС или исполняют в виде отдельных узлов на схемах средней интеграции. В устрой- стве управления на базе ПЛМ все блоки объединяют в одну БИС, представляющую собой фактически законченный цифровой авто- мат, закон функционирования которого определяется коммутацией внутренних магистралей матрицы. Типовая структура микрокоманды. Типовой формат слова ми- крокоманд включает в себя зоны микроопераций, «следующего ад- реса» и служебных и управляющих разрядов. Зона микрооперации содержит код выполняемой операции. В практике микропрограммирования существуют две основные стра- тегии кодирования зоны микроопераций: минимальное и максималь- ное кодирование [12]. При минимальном кодировании зона микро- операций разделяется на отдельные поля, каждое из которых имеет определенное число разрядов и через комбинационную декодирую- щую схему управляет Конкретным операционным устройством. Содержимое различных полей не зависит друг от друга. В предель- ном случае стратегия минимального кодирования приводит к гори- зонтальному микропрограммированию, при котором каждый разряд микрокоманды управляет работой соответствующего блока или уз- ла операционного устройства. При этом разрядность зоны микро- операции равна числу управляемых устройств. При максимальном кодировании зона микроопераций содержит поле формата и поле микроопераций. Каждый формат предназна- чен для управления одним операционным блоком. Для каждого формата существует фиксированный набор микроопераций. Микро- команды с максимальным кодированием имеют малую разряд- ность, но требуют довольно сложной дешифрации и не позволяют управлять несколькими операционными блоками . Выбор стратегии кодирования зоны микрооперации связан со стремлением уменьшить формат зоны микроопераций, упростить структуру дешифратора микроопераций и увеличить производи- тельность процессора. Минимальное кодирование позволяет до- стигнуть большей производительности и распространено для уп- равления операционных устройств широкого применения. Для редко используемых операционных устройств целесообраз- но максимальное кодирование, при этом одно операционное поле управляет несколькими устройствами в зависимости от кода фор- мата. Зона «следующего адреса» содержит информацию, необходимую для формирования адреса следующей микрокоманды. Структура полейг' в этой зоне зависит от механизма формирования адреса ми- 16
кропрограммной памяти и будет рассмотрена более подробно при описании блока генерации адреса микрокоманды. Зона служебных и управляющих разрядов обычно содержит ин- формацию для управления узлами и блоками, являющимися специ- фичными для разных типов микропроцессоров. К такой информа- ции относятся коды по управлению внешними устройствами памя- ти, коды, позволяющие маскировать входную информацию, коды, позволяющие организовать условную синхронизацию, и др. Условная синхронизация микропроцессора необходима для изме- нения ритма его работы, например когда для вычислений требу- ется результат предыдущей операции, формируемый с заданной временной задержкой. Выполнение последующей операции в таком случае должно отставать от предыдущей на определенное число циклов работы микропрограммного устройства, которое может быть достигнуто использованием холостых операций. Однако запись про- грамм с учетом пропуска фиксированного числа циклов доста- точно сложна и требует строгого анализа временных задержек всех блоков микро-ЭВМ. Более гибкое управление с учетом различия времени выполнения операций может быть реализовано с использо- ванием зоны условной синхронизации микрокоманды. Код в зоне ус- ловной синхронизации обеспечивает блокировку синхронизирую- щих импульсов, формирующих переход к следующей микрокоман- де. Блокировка прекращается при поступлении сигнала готов- ности от соответствующего узла процессора. Условная синхрони- зация обеспечивает асинхронность работы отдельных блоков мик- ропроцессора по отношению к микропрограммному устройству, при сохранении управления под контролем синхросигналов. Структура памяти микрокоманд. Память микрокоманд может быть реализована как самостоятельный блок на интегральных схе- мах для хранения двоичной информации. В БИС ПЗУ и ППЗУ набор входных переменных определяется л-разрядным входным ко- дом адреса. Каждой из 2П комбинаций входных переменных со- ответствует одна словарная линия, состоящая из т выходных пе- ременных. При отладке программ ПЗУ может быть заменено на ОЗУ, позволяющее легко и оперативно именять содержимое памя- ти. После отладки программа из ОЗУ переписывается в ПЗУ, в которой сохраняется и при выключении питания . Обычно устройство управления вычислительных машин содер- жит большое число входных переменных (до 40—50) и выходных функций (до 50—70). Формирование устройства управления на ПЗУ с произвольной выборкой с таким количеством входных пе- ременных и выходных функций потребовало бы большей емкости памяти (в данном примере 240-50 бит). Для снижения емкости памяти ПЗУ обычно вводят узел ана- лиза входных линий, снижающий разрядность адреса, либо ЗУ с адресным доступом соединяют в несколько последовательных уров- ней. Оба способа снижают скорость выполнения операций в мик- ропроцессоре. Использование одного и того же программного мо- дуля в различных программах требует в ПЗУ с адресным доступом 17
повторной записи этого модуля либо предусматривает микропро- граммные передачи управления к общим сегментам, что снижает общую производительность микропроцессора. Этих недостатков лишены устройства управления, реализован- ные на программируемой логической матрице (ПЛМ). На рис. 1.7 представлена схема ПЛМ, состоящая из матрицы логических эле- ментов. Их входы коммутируются через диоды с информационны- ми шинами, образуя инверсии логических произведений тех вход- произведении Рис. 1.7. Схема ПЛМ ных переменных, соединения с шинами которых были произведены. Прямые и обратные значения входных кодов образуют на верти- кальных шинах функции __________ п yi = XiX2X3...Xn= П XI, 1-1 где Хг может принимать значения Xi, Хг или 1 (единица соответ- ствует отсутствию связи с переменной xi). Количество функций у(р) определяется числом логических эле- ментов, формирующих вертикальные шины. Сформированные ана- логичным образом выходные сигналы соответствуют уравнению *1 = • -Ур = Х1Х2Х3.. .хп + Х^. .-хп 4-... 4-х1х2х3...х^ = Р Р п __ == 2 У) = 5 П Х/(или xit или 1). j-i ;-п=1 Приведенная структура обладает некоторыми преимущества- ми по сравнению со структурой на ПЗУ, при формировании после- 18
довательности переходов. В микропрограммной памяти на ЗУ с произвольным адресным доступом для п входных переменных су- ществует 2П переходных функций. В ПЛМ коммутирующие элемен- ты для ряда входных переменных могут отсутствовать, поэтому не- которые переменные не влияют на выбор переходных функций. В ПЛМ число переходной функции 0^/^2п. На практике получили распространение ПЛМ с многоразряд- ными адресами, для которых число входных переменных равно 16, 24 разрядам и более. В ПЗУ при такой разрядности кодов адре- са требуются слишком большие матрицы, не реализуемые в одной БИС. В ПЛМ для такого числа входных переменных количество переходных функций обычно составляет несколько сотен. Отличие ПЗУ от ПЛМ заключается в системе адресации инфор- мационного поля данных, распределении информационных полей, возможности одновременного опроса нескольких переходных функ- ций. В ПЛМ осуществляется избыточная свободная адресация, в ПЗУ — жесткая неизбыточная адресация. В ПЛМ большому числу входных комбинаций адресов соответствует малое количество ад- ресуемых переходных функций. Некоторые разные адреса могут оп- ределять одну и ту же переходную функцию или не определять ни одну из переходных функций. Кроме того, возможны варианты, ко- гда один адрес определяет более одной переходной функции. Специфика внутреннего распределения информационных полей в ПЛМ заключается в том, что посредством двух (или более) раз- личных адресов можно адресовать одну и ту же область данных матрицы, что дает возможность обращаться к микропрограммам по различным адресам. При этом становится возможным переход к микропрограммам из различных текущих условий без выполнения специальных микрокоманд перехода. Эта особенность ПЛМ обус- ловлена наличием безразличных разрядов в коде адреса. Структура ПЛМ позволяет анализировать большое количество входных переменных и увеличивать их число без необходимости увеличения накопительной матрицы. Структура блока генерации адреса. Блок генерации адресов ми- крокоманд— один из основных блоков устройства микропрограм- много управления — определяет логические возможности и струк- туру языка программирования. Структура этого блока задает ме- ханизм формирования в устройстве управления адреса следующей микрокоманды. Наиболее распространены в микропроцессорных устройствах управления способы формирования следующего адреса микрокоманд с использованием инкрементного счетчика, поля «сле- дующего адреса» в составе формата микрокоманды и стековой па- мяти. Устройство с инкрементным счетчиком для определения следую- щего адреса является самым простым. Адрес следующей микроко- манды определяется увеличением на единицу адреса исполняемой команды. Такое устройство управления предполагает естествен- ный порядок следования микрокоманд, при котором последующие микрокоманды отличаются адресом на единицу от предыдущих. 19
Для организации условных и безусловных переходов в устройст- вах с естественной последовательностью микрокоманд должны быть предусмотрены специальные служебные микрокоманды и ис- точники адреса команды условного перехода. Достоинство этого устройства управления — малая длина слова микрокоманды и воз- можность достигнуть высокого быстродействия в формировании I I ' I /4 g П [~у~1 ЦО 5) |------3 I w TH Pry [*— | РгА | 1/733 I ________ZT Рис. 1.8. Схемы генерации адре- са на базе инкрементного счет- чика (а) и с полем «следую- щего адреса» (б) адреса, недостатки — сложность организации циклов в микропро- грамме, сложность размещения от- дельных последовательностей микро- команд и формирования переходов от одной последовательности микро- команд к другой в управляющей па- мяти. На рис. 1.8, а представлена схема блока генерации адреса на базе инкре- ментного счетчика. Мультиплексор МС управляется микропрограммно и обес- печивает поступление на вход регист- ра адреса РгА либо информации внешней магистрали Ml, либо инфор- мации с выхода инкрементного счет- чика Сч, Содержимое инкрементного счетчика увеличивается на единицу пос- ле исполнения очередной микрокоман- ды. Переход к другой последователь- ности микрокоманд требует формиро- адреса новой последовательности и по- следующей передачи управления инкрементному счетчику. Устройства с полем «следующего адреса» в составе микроко- манды позволяют организовать произвольный порядок следования микрокоманд. В поле «следующего адреса» исполняемой микроко- манды указывается адрес следующей микрокоманды. При услов- ных переходах адрес микрокоманды формируется по установлен- ному алгоритму из информации в поле «следующего адреса» и по- ступающих из операционного устройства и внешних устройств ко- дов признаков. Достоинство этой структуры в том, что в ней легко реализуются циклы, условные и безусловные переходы, недоста- ток— большая длина слова микрокоманды и связанное с этим ус- вания на Ml начального ложнение процесса программирования. На рис. 1.8, б представлена схема блока генерации адреса с по- лем «следующего адреса», используемая в МПК серии К589. Ос- новой для формирования адреса являются информация на одной из двух внешних магистралей Ml и М2 и информация поля «сле- дующего адреса» ПЗУ. Источники адресов объединены в мульти- плексоре МС, управляемом микропрограммно. Адрес следующей микрокоманды при входе в программу опре- деляется содержимым одной из магистралей Ml или М2, а при ис- полнении программы — кодом поля «следующего адреса», входя- щим в состав микрокоманды. Модификация адреса при организа- 20
ции условного перехода осуществляется по установленному алго- ритму в соответствии с содержимым регистра условий РгУ, в кото- рый записываются признаки арифметических и логических опера- ций. Совмещение рассмотренных структур в одном устройстве управ- ления позволяет при естественной последовательности микрокоманд использовать для формирования адреса инкрементный счетчик, а при нарушении естественной последовательности код адреса микро- команды задавать в исполняемой микрокоманде. Такое устройство должно по содержимому микрокоманды анализировать способ фор- мирования «следующего адреса» и включать в себя аппаратные средства, позволяющие формировать адрес по одному из рассмот- ренных способов. Для формирования условных переходов в устрой- ство управления вводят блоки, позволяющие в зависимости от зна- чения кодов признаков модифицировать адрес следующей микроко- манды. Использование стека (стековой магазинной памяти) в блоке ге- нерации адреса микрокоманды позволяет применить принцип мо- дульности при написании микропрограмм. Микропроцессоры со стековой организацией эффективны в тех случаях, когда основная программа содержит совокупность подпрограмм или программных модулей, повторяющихся в ходе выполнения основной программы. Например, в программе может возникнуть необходимость много- кратного перемножения двух чисел, причем числа при каждом ум- ножении могут меняться, а процедура их перемножения остается одинаковой во всех случаях. Писать программу перемножения и хранить в памяти рабочие программы для каждой пары чисел не- целесообразно. Неизменность совершаемой над данными процеду- ры позволяет соответствующую последовательность команд поме- щать в память в единственном экземпляре. Обращение к выделен- ной последовательности команд, называемой подпрограммой, мо- жно производить из любой команды основной программы. Стеко- вая память устройства управления обеспечивает возврат к основ- ной программе после завершения выполнения подпрограммы. Для обращения к подпрограмме в основной программе указы- вается адрес первой микрокоманды подпрограммы, а содержимо- му счетчика команд дается приращение, после чего это содержи- мое записывается в стековую память. При этом в стеке будет за- писан номер микрокоманды, с которой необходимо продолжить ос- новную программу после завершения подпрограммы. Все подпрограммы при такой организации должны заканчивать- ся командой передачи управления по содержимому памяти стека. По этой команде обеспечивается перезапись адреса, хранящегося в стеке, в счетчик команд и выполнение основной программы про- должается с того места, в котором произошло обращение к подпро- грамме. При выполнении подпрограммы может возникнуть необходи- мость обращения ко второй подпрограмме, которая, в свою оче- редь, обращается к третьей и т. д. Для выполнения такой последо- 21
вательности подпрограммы стековая память должна иметь емкость, равную числу возможных вложенных обращений к подпрограммам, и обеспечивать считывание данных в порядке, обратном порядку записи, т. е. первым считывается последнее записанное слово. Существуют различные варианты реализации стека на сдвиго- вых регистрах или на ячейках памяти. Емкость стековой памяти на регистрах ограничена количеством ре- гистров, на которых организован стек. Ограничений по емкости лишен стек, ^использующий участок основной памя- ти и регистр, хранящий адрес теку- щей верхушки стека и называемый указателем стека. При обращении к стеку в ячейку, адрес которой опреде- ляется указателем стека, записывает- ся адрес микрокоманды. Содержимое указателя стека увеличивается на еди- ницу. При возвращении к основной программе содержимое указателя сте- ка уменьшается на единицу и указыва- ет адрес выхода из подпрограммы. Число вложений микропрограмм в таком стеке определяется количеством отведенных для стека ячеек памяти. На рис. 1.9, а приведена схема бло- ка формирования следующего адреса^ применяемая в МПК серии К1804, в которой используются все рассмотрен- I 1 ' ные способы формирования адреса. Ус- Рис. 1.9. Схемы БИС серии тановка начального адреса микропро- К1804 (а) и серии К587РП1 граммы может быть произведена па (б) одному из кодов, поступающих по ма- гистралям Ml и М2 на вход мульти- плексора [1]. На два других входа мультиплексора поступают коды с инкре- ментного счетчика и стековой памяти. Стек состоит из четырех ре- гистров и указателя стека. Указатель стека работает как реверсив- ный счетчик, имеющий два управляющих входа: записи/чтения и разрешения обращения. Выбор одного из четырех входов мультиплексора осуществля- ется по двум управляющим входам поля микрокоманды. Выходная информация на магистрали адреса может быть модифицирована кодом, подаваемым на вход М2. По входу R возможна установка нулевого значения на соответствующих разрядах выходного адреса. Использование рассмотренных способов формирования адреса микрокоманды реализует принцип модульности при написании ми- кропрограмм. Адрес в подобной структуре блока генерации адресов может быть получен либо из инкрементного адресного счетчика, ли- бо из поля «следующего адреса» текущей микрокоманды, ли- 22
бо из адресного стека, либо модификацией регистра признаков. Та- кая структура позволяет гибко адресовать программную память, способствует локализации микропрограмм. Наличие стека делает возможным формирование программ из микропрограммных моду- лей и организацию сложных программных последовательностей. Устройства управления на ПЛМ. В этих устройствах в отличие от рассмотренных схем сов<мещены функции узла генерации адре- са микрокоманды с памятью микропрограммы. Рассмотрим схему такого устройства на примере МПК серии К587 (рис. 1.9, б). Структура устройства содержит память микропрограмм типа ПЛМ, регистр команд РгК, регистр кода условий РгКУ, регистр следующего адреса РгА и- регистр признаков управления РгУ. Регистр признаков управления содержит маски на сигнал за- писи в регистр команд, регистр следующего адреса и регистр кода условий. Часть сигналов с выхода ПЛМ выводится для управле- ния операционной частью как микрокоманда, а другая часть выход- ных сигналов ПЛМ не выводится из корпуса БИС и используется для формирования следующего адреса и кода регистра управления. Программируемая логическая матрица позволяет анализировать большое число разрядов, что исключает необходимость в управляе- мых мультиплексорах. Совокупность всех разрядов РгК, РгКУ и РгА используется как полное адресное слово для ПЛМ. Регистр команды служит для приема кода команды, задающего устройству управления программу выборки последовательности кодов микрокоманд, выполняя которые микропроцессор реализу- ет алгоритм данной команды. Для этого один из выходов ПЛМ про- граммируется на выработку разрешения на прием новой команды. Выборка той или иной микрокоманды в процессе выполнения алгоритма какой-либо команды микропроцессора не всегда являет- ся строго заданной, а может зависеть от условий — результатов операций, зафиксированных в регистре условий. Регистр адреса является главным задающим звеном при выбор- ке последующей микрокоманды. Разрядность п регистра адреса позволяет устройству управления создавать 2П устойчивых состоя- ний без смены кода команды и кода условий. Способность ПЛМ порождать новые информационные состоя- ния комбинацией имеющихся закодированных состояний, путем их простого объединения, расширяет логические возможности ПЛМ как цифрового автомата. Рассмотренное устройство не содержит стековой памяти и, следовательно, не предусматривает модульного программирования. Из рассмотренных устройств на структуру мик- ро-ЭВМ в наибольшей степени влияет вариант реализации устрой- ства управления. Можно выделить три наиболее характерных ва- рианта: реализация в однокристальном процессоре, объединяющем в себе операционную часть и устройство управления; реализация устройства управления в виде микропрограммного автомата с ис- пользованием ПЗУ и ППЗУ для записи микрокоманд; реализация устройства управления на основе ПЛМ. 23
Выпускаемые промышленностью МПК и их технические характе- ристики приведены в [9]. В микропроцессорных комплектах се- рии К587, К588, К582, К1883 устройства управления реализо- ваны на основе ПЛМ. Микропроцессорные комплекты серий К580, К586, К582 содержат в своем составе БИС, в которой реализованы центральный процессор и устройство управления с фиксированной структурой и системой команд. В МПК серий К583, К589, КР1802, КР1804, КР1800, устройство управления строится в виде микропро- граммного автомата на базе входящих в эти комплекты БИС, что позволяет потребителю реализовать на их основе необходимую ему систему команд. Микропроцессорные комплекты серий К536, К581 предназначены для построения микро-ЭВМ семейства «Электрони- ка С» и «Электроника-60». Микропроцессорные комплекты серии К1801 включают в себя однокристальный МП К1801ВМ1, реализующий в себе процессор и устройство управления с системой команд микро-ЭВМ «Электро- ника-60», и ряд БИС для построения одноплатных микро-ЭВМ. По своим техническим характеристикам МПК серий К580, К586, К582, содержащие однокристальные МП, целесообразно применять для получения устройств цифровой автоматики, простейших контрол- леров, а также использовать для построения микро- и мини- ЭВМ различного назначения. Микропроцессорные комплекты се- рий К583, К584, К587, К588 предназначены для построения микро- ЭВМ и сложных контроллеров. Благодаря секционной организации, развитой системе магистралей, микропрограммируемости управ- ляющих функций они могут быть использованы для построения раз- личных управляющих систем. Малое энергопотребление и высокая помехоустойчивость МПК серий К587 и К588 определяют целесо- образность их применения в системах числового программного уп- равления технологическим оборудованием и в устройствах с огра- ничениями по потребляемой энергии. Быстродействующие МПК серий К589, К1802, К1804 предназ- начены для построения микро-ЭВМ и систем быстродействующей автоматики, совместимы по уровням сигналов и могут дополнять друг друга. Микропроцессорные комплекты серии К1802 и К1804 отличаются подходом к формированию модулей. В МПК КР1804 4-разрядные микропроцессорные БИС содержат все элементы мик- ропроцессора. В МПК серии КР1802 в БИС выполняются отдель- ные функциональные узлы МП (БИС 8-разрядного АЛБ, БИС ше- стнадцати 4-разрядных РОИ, БИС 16-разрядного арифметическо- го расширителя и т. д.). Отличие по составу модулей рассмотрен- ных МПК позволяет применить для различных областей наиболее подходящий из них по функциональному разбиению. Микропроцессорный комплект серии К1800 обладает сверхвы- соким быстродействием (частота тактовых сигналов 36 МГц) и ори- ентирован на построение вычислительных средств с высокой про- изводительностью.
Глава ОСОБЕННОСТИ ПОСТРОЕНИЯ МИКРО-ЭВМ 2 НА МИКРОПРОЦЕССОРНОМ КОМПЛЕКТЕ СЕРИИ К580 § 2.1. Общие сведения В МПК серии К580 процессор вместе с устройством управле- ния реализован в виде отдельной БИС и имеет фиксированные разрядность и систему команд, «зашитую» в БИС МП. Микро-ЭВМ, построенная на МПК с фиксированной разрядностью и ограничен- ным количеством магистралей, имеет типичную для данного типа МПК структуру [И]. Изучение особенностей построения микро- ЭВМ на МПК серии К580 позволит легко освоиться с работой других аналогичных МПК. Микропроцессорный комплект серии К580 включает в себя микросхемы: 1. Микропроцессорная БИС. 2. Программируемое устройство ввода — вывода параллельной информации различного формата КР580ИК55. 3. Программируемый блок приоритетного прерывания КР580ИК59. 4. Программируемое устройство прямого доступа к памяти КР580ИК57. 5. Интегральный таймер КР580ВИ53. 6. Универсальный синхронно-асинхронный программируемый при- емопередатчик КР580ИК51. Схемы выполнены по и-МОП-технологии, входные и выходные сигналы соответствуют уровням работы ТТЛ-схем. Микро-ЭВМ, построенная на базе комплекта, работает с тактовой частотой до 2 МГц. Схемы программируются с помощью фиксированного набо- ра команд МП БИС КР580ИК80. Многообразие режимов работы, а также возможность подклю- чения к микро-ЭВМ различных внешних устройств требует под- робного рассмотрения как схемотехнических вопросов построения, так и методов программирования отдельных ее схем. Ограничения по количеству магистралей в МПК такого типа приводят к необходимости организации последовательной обработ- ки информации, что обусловливает относительно медленное выпол- нение команд. При тактовой частоте генератора 2МГц время вы- полнения команд колеблется от 2 до 8 мкс. В качестве ПЗУ в мик- ро-ЭВМ могут использоваться и перепрограммируемые ПЗУ типа 573РФ1, 573РФ2, соответствующие МПК серии 580 по быст- родействию, но допускающие возможность перезаписи информации. § 2.2. Микропроцессорная БИС КР580ИК80 Микропроцессорная БИС КР580ИК80 представляет собой одно- кристальный 8-разрядный МП с двумя магистралями: однонаправ- ленной 16-разрядной адресной магистралью (МА), двунаправлен- 25
ной 8-разрядной магистралью данных (МД) —и 12 сигналами уп- равления (шесть входных и шесть выходных) (рис. 2.1). Микропроцессорная БИС рассчитана на выполнение логических и арифметических операций с 8-разрядными числами в двоичной и десятичной системах счисления, а также операций с двойной раз- рядностью (с 16-разрядными числами). а) Д0-Д7 Л МД (3-10) I Б ФД Н 5) Внутренняя МД (в) 6<PA18 ДШК ЗП(1в), XI (вл \БФ,РгСв\ Флаги & Z1BL С18)_ £(в) L (8) W (8) В (8) 0(8) Н_______ 5Р(1Б) PC (16) РА(16) ЗЛр^, 33X(I3) Г(Д, Ф$2]) .. . ' { I, 1 К ° ,5 П(17) РПр(1В) I 0ЖД(2Д) CHHXP(t9) МА ПЗХ(21) Цч 1 мс | Рис. 2.1. Схема МП БИС КР580ИК80 (а) и ее условное обозначе- ние (б) Функциональное назначение внешних выводов МП БИС КР580ИК80: Ло—Л15 — адресная магистраль (выходы с тремя состояниями), обеспечивающая адресацию к любой из 216 8-разрядной ячейки памяти или внешнего устройства (ВУ); До—Д1 — двунаправленная магистраль данных, используемая для обмена информации с памятью или ВУ; СИНХР (синхронизация)—на этом выходе МП БИС форми- руется сигнал СИНХР в начале каждого машинного цикла; П (прием) —сигнал ПРИЕМ на этом выходе указывает на го- товность МП БИС к приему данных; ОЖД (ожидание) — сигнал ОЖД на этом выходе указывает, что МП находится в состоянии ожидания; ЗП— на этом выходе МП БИС сигнал ЗП указывает, что дан- ные выданы МП БИС и установлены на МД и могут быть записа- ны в ВУ; 26
П.ЗХ (подтверждение захвата)—на этом выходе МП БИС сигнал П.ЗХ появляется в ответ на сигнал З.ЗХ (запрос захвата) и указывает, что МД и МА находятся в состоянии высокого сопро- тивления; Р.Пр (разрешение прерывания) —на этом выходе сигнал Р.Пр указывает на состояние внутреннего триггера разрешения прерыва- ния МП БИС. Состояние триггера может быть установлено про- граммно с помощью команд El, DI. При уровне «О» на выходе Р.Пр прием запросов прерывания МП БИС невозможен; Г (готов)—сигнал ГОТОВ на этом входе информирует о го- товности данных на МД ко вводу в МП БИС. При уровне «О» МП БИС будет находиться в состоянии ОЖИДАНИЕ. З.ЗХ (запрос захвата) —вход, используемый для подачи сигна- ла З.ЗХ на переход МП БИС в состояние ЗАХВАТ, в котором МА и МД переходят в третье состояние (высокое сопротивление). Обычно состояние используется для организации обмена инфор- мацией по каналу прямого доступа к памяти; З.Пр (запрос прерывания)—вход, используемый для подачи сигнала З.Пр. Сигнал поступает от внешнего устройства на преры- вание выполнения основной программы и переход на выполнение подпрограмм обслуживания прерывания. Сигнал запроса преры- вания не воспринимается МП БИС при работе его в режимах ЗАХВАТ, ОЖИДАНИЕ или нулевом состоянии внутреннего триг- гера разрешения прерывания; R — вход, по которому поступает сигнал на начальную установ- ку МП БИС, при этом обнуляется его программный счетчик, внут- ренние триггеры, формирующие сигналы Р.Пр и П.ЗХ\ Ф\ и Фг — входы для подачи тактовых сигнала Ф1 и Фг. Ф\ и 02 являются не пересекающимися во времени сигналами, опреде- ляющими тактовую частоту работы МП БИС. Входы источников питания МП БИС: нулевой потенциал (зем- ля) + 5В, —5В, + 12В. Условное обозначение схемы МП БИС КР580ИК80 приведено на рис. 2.1, б. Структура МП БИС КР580ИК80 приведена на рис. 2.1. Мик- ропроцессорная БИС состоит из следующих функциональных бло- ков (рис. 2.1) [13]: 1) регистров и логических цепей их выбора; 2) арифметическо-логического блока; 3) регистра команд и уст- ройства управления (УУ); 4) буферов МД (БФД) и МА (БФА). Секция регистров включает в себя шесть 16-разрядных реги- стров W, Z; В, С; D, Е\ Н, Ц PC (программный счетчик) и SP (указатель стека). Шесть 8-разрядных регистров общего назначе- ния составлены в пары регистров: Bf С; D, Е; Н, L. Они могут быть использованы в программах как отдельные 8-разрядные ре- гистры, а также как три 16-разрядных регистра (В; D; Н). Программный счетчик PC содержит текущий адрес памяти, к которому обращается программа. Содержание PC автоматически изменяется в течение каждого цикла команды. Указатель стека SP содержит адрес памяти, начиная с которого ее можно исполь- 27
зовать для хранения и восстановления содержания программно- доступных регистров МП БИС. Буферные регистры W, Z не являются программно-доступными регистрами и используются для выполнения команд внутри МП БИС. Арифметическо-логический блок (АЛБ) выполняет арифметиче- ские и логические операции под воздействием устройства управле- ния МП БИС. Он включается в себя 8-разрядное АЛУ, схему деся- тичной коррекции ДК, построенной на базе ПЗУ, 5-разрядный регистр признаков, аккумулятор А, буфер аккумулятора БФА и бу- ферный регистр БФРг. Арифметическо-логическое устройство по- зволяет осуществить арифметические операции сложения, вычита- ния, а также основные логические операции (И, ИЛИ, исключа- ющее ИЛИ) и сдвиг. При проведении операций одно число всегда берется из буфера аккумулятора, а другое — из буферного регист- ра. По результату выполнения арифметическо-логических опера- ций АЛБ устанавливает в регистре признаков пять разрядов. Признак переноса (Carry — С) устанавливается в единицу, ес- ли при выполнении команд появляется единица переноса из стар- шего разряда. Дополнительный признак переноса (Auxiliary carry — АС) уста- навливается в единицу, если при выполнении команд возникает единица переноса из третьего разряда числа. Состояние разряда может быть проанализировано лишь командой десятичной коррек- ции числа. Признак знака (Sign — S) в машинном слове можно предста- вить числом от —128 до +127. В этом случае седьмой (старший) разряд числа будет представлять его знак. Единица в седьмом раз- ряде при такой записи будет указывать на отрицательное число, а ноль — на положительное. В разряд нулевого признака (Zero — Z) записывается единица, если при выполнении команды результат равен нулю. В разряд признака четности (Parity — Р) записывается едини- ца, если при выполнении команды количество единиц в разрядах результата будет четным. Регистр команд РгК и дешифратор команды ДШК использу- ются в МП БИС для получения и дешифрации кода команды. При извлечении команды первый байт, содержащий ее код, помещается в регистр команды и поступает на дешифратор команд. Дешифра- тор совместно с устройством управления и синхросигналами Ф\ и Фг формирует управляющие сигналы для всех внутренних блоков МП БИС, а также его выходные сигналы управления и состояния. Выполнение каждой команды производится МП БИС в строго определенной последовательности, определяемой кодом команды, и синхронизируется во времени сигналами Ф\ и Фг тактового ге- нератора. Период синхросигналов Ф\ или Фг называется машинным так- том (Т). Длительность машинного такта Т может быть установле- на произвольно в диапазоне от 0,5 до 2 мкс. Длительность каждого 28
сигнала должна быть кратна Т/9. На рис. 2.2 приведены возмож- ные варианты задания длительностей сигналов Ф\ и Фг и их вза- имного расположения. Необходимо помнить, что предъявляются также жесткие требования и к фронтам сигнала. При использовании МП БИС необходимо ясно представлять динамику его работы, т. е. на каких магистралях, в зависимости от каких управляющих сигналов и когда МП БИС будет выдавать ту или иную информацию. Это в дальней- шем поможет понимать работу схем, поз- воляющих согласовывать ее с различны- ми периферийными устройствами микро- ЭВМ. При анализе процессов будем исполь- зовать следующие понятия: машинный цикл (М) — время, требуемое для извле- чения 1 байт информации из памяти или выполнения команды, определяемой од- ним машинным словом. Машинный цикл может состоять из 3—5 машинных так- тов. Время выполнения команды опреде- ляется процессом получения, декодиро- вания и выполнения команды. В зависимости от вида команды это время может состоять из 1—5 машинных циклов. Для МП БИС КР580ИК80 су- ществует десять различных типов машин- ных циклов: 1. Извлечение кода команды (All). 2. Чтение данных из памяти. 3. За- пись данных в память. 4. Извлечение из стека. 5. Запись данных в стек. 6. Ввод Рис. 2.2. Возможное взаим- ное расположение и дли- тельности синхроимпульсов Фх и Ф2 данных из внешнего устройства. 7. Запись данных во внешнее уст- ройство. 8. Цикл обслуживания прерывания. 9. Останов. 10. Обслу- живание прерывания при работе МП БИС в режиме останова. Первым машинным циклом при выполнении любой команды всегда является цикл М\ извлечения кода команды. На первом такте каждого машинного цикла МП БИС указывает тип вы- полняемого цикла с помощью 8-разрядного слова состояния, вы- даваемого на магистраль данных. Назначение каждого разряда в слове состояния указано в табл. 2.1. В табл. 2.2 приведен вид сло- ва состояния МП БИС при выполнении различных циклов. Отдель- ные разряды слова состояния задействуются в микро-ЭВМ для формирования магистрали управления. Слово состояния выдается на МД лишь на интервале синхросигналов СИНХР (такты Т\ и Т2), а используется на протяжении всего машинного цикла, по- этому необходимо записать его в специальный регистр слова со- стояния РгСС. На рис. 2.3 приведена схема записи слова состоя- ния. Запись осуществляется с использованием сигнала СИНХР и синхросигнала Ф\. Сигнал СИНХР появляется в начале каждого цикла и занимает промежуток времени между положительными 29
Таблица 2.1 Обозначение Разряд Пояснение Обслуживание пре- рывания (ОБ.Пр) Д0 Обслуживание сигнала прерывания. Совмест- но с сигналом «Прием» этот разряд использует- ся для подачи команды RST на МД ЗАПИСЬ Дх При Д1 = 0 указывает, что в текущем цикле будет запись данных в память или внешнее устройство. В противном случае будет чтение данных из памяти или внешнего устройства СТЕК Д2 Указывает, что на МА находится адрес сте- ка из SP Обслуживание ос- танова (ОБ.Ост) Дз Указывает на выполнение команды «Оста- нов» ВЫВОД Д4 Указывает, что на МА находится адрес внешнего устройства и МД будет содержать данные для записи при сигнале «ЗП» Afi Дз Указывает на выполнение цикла извлечения кода команды ВВОД Дъ Указывает, что на МА содержится адрес внешнего устройства и данные будут находить- ся на МД при сигнале «Прием» ПАМЯТЬ Д1 Указывает, что МД будет использована для чтения данных из памяти Таблица 2.2 Разряд слова состояния Информация состояний Вид слова состояния МП БИС при машинных циклах 1 1 1 2 1 3 1 4' 1 5 6 1 1 1 8 9 10 Извлечение кода ко- манды Чтение данных из памяти Запись в нами гь Извлечение данных из стека Запись в стек Ввод данных из внеш- него ус тройства Запись данных во внешнее устройство Обслуживание нре- 1 рывания Ос1анов I Обслуживание преры- вания в режиме ос- танова До ОБ.Пр 0 0 0 0 0 0 0 1 0 1 Д1 ЗАПИСЬ 1 1 0 1 0 1 0 1 1 1 д2 СТЕК 0 0 0 1 1 0 0 0 0 0 Дз ОБ. ОСТ 0 0 0 0 0 0 0 0 1 1 д< ВЫВОД 0 0 0 0 0 0 1 0 0 0 Дз АЛ 1 0 0 0 0 0 0 1 0 1 Дз ввод 0 0 0 9 0 1 0 0 0 0 Д1 ПАМЯТЬ 1 1 0 1 0 0 0 0 1 0 фронтами синхросигнала Фг на тактах 1\ и Т2 (рис. 2.4). Таким образом, запись слова состояния осуществляется сигналом Ф\ на такте Т2 (рис. 2.5). На рис. 2.5 приведена схема записи слова со- стояния с помощью схемы многорежимного буферного регистра К589ИР12. 30
Рассмотрим временные диаграммы работы микро-ЭВМ при раз- личных машинных циклах. Извлечение кода команды, данных из памяти или внешнего уст- ройства. Цикл является основным циклом, с которого начина- До'Дп МП БИС Л(П) СИНХР (19) ////////%. о I Pr'-ff Импульс на запас' Рис. 2.4. Временная диа- грамма записи слова состоя- ния Рис. 2.3. Схема записи слова состояния МП БИС ется выполнение любой команды, поэтому временные процессы для него рассмотрим более подробно. Анализ процессов будем прово- дить по каждому машинному такту Т. Рис. 2.5. Схема записи слова состояния в регистр слова состояния М4 На такте 1\ (рис. 2.6) программный счетчик МП БИС выдает на МА адрес ячейки памяти, из которой будет считываться код ко- манды. При этом схема приращения адреса МП БИС автоматиче- 31
ски увеличивает на единицу значение числа, записанного в про- граммном счетчике. Положительным фронтом импульсов 02 фор- мируется сигнал СИНХР и выдается слово состояния на Мд. Сигнал ПРИЕМ, управляющий двунаправленным шинным форми- рователем (ДШФ) МД, на этом такте равен нулю, что позволяет слову состояния поступить на МД микро-ЭВМ. #2 СИНХР Ао~Дт* Импульс, записи в РгСС I । । | J ! :—I—ГТ \Ьлово состоя- команды\ г J кия 1 1 * I'f Отключена МД "! Выход РгСС ПРИЕМ ЧЛАМЯТЬ ГОТОВ Aq~Ai5 I-----П--------J\---------г ___I । Запись слова, q мп я д \ состояния з Запись кадф МП выдает: анализ СИГ-^ команды в МПБИС । яние т°У захвагродост I ——"-----|- Дешифра- | ция койа ' команды ----J-—4- Время | \Дополнитель\ ный, Т если пот радуется Рис. 2.6. Временные диаграммы процесса получения МП БИС кода команды На такте Тг слово состояния записывается в регистр. Положи- тельным фронтом 02 заканчивается сигнал СИНХР и формируется единичный сигнал ПРИЕМ, позволяющий данным поступить на вход МП БИС, через двунаправленный шинный формирователь. На такте Т2 из сигнала ПРИЕМ и седьмого разряда слова состоя- ния (Д7) формируется сигнал на чтение данных из памяти (7. ПАМЯТЬ), позволяющий данным поступать из памяти на МД (рис. 2.7). Изменения данных на этом такте восприниматься МП БИС не будут, так как их запись осуществляется в фиксированные моменты времени на такте Т3. На этом же такте анализируется состояние сигналов ГОТОВ, ЗАХВАТ и ОБ. ОСТ (рис. 2.8). При нулевом сигнале на входе 3. ЗАХВАТ, нуле в разряде Да слова 32
состояния и единичном сигнале на входе ГОТОВ МП БИС пере- ходит к выполнению такта Т$. Если к моменту появления отрицательного фронта Фг на такте Т2 сигнал на входе ГОТОВ будет иметь нулевой потенциал, то МП БИС на такте Т3 переходит в режим ожидания. В этом режи- ме приостанавливается процесс обработки данных и формируется единичный сигнал на выходе ОЖИДАНИЕ, подтверждающий это состояние. Время ожидания выражается целым числом тактов и может длиться бесконечно долго. На каждом такте в этом режиме МА те Ф2 будет проверяться состояние сигнала на вхо- де ГОТОВ. Изменения в диаграм- мах работы МП БИС в режимах ЗАХВАТ, ОС- ТАНОВ и ПРЕРЫВА- НИЕ иллюстрируются на рис. 2.8 и будут рассмот- рены отдельно. На такте Т3 в момент отрицательного фронта сигнала Ф\ производится запись данных во внутрен- ний регистр кода коман- ды. Положительным Рис. 2.7. Схема чтения кода команды или дан- ных из памяти фронтом Ф2 оканчивается сигнал ПРИЕМ на выходе МП БИС и, следовательно, сигналы Ч, ПАМЯТЬ, Отметим, что импульс на вы- ходе ПРИЕМ будет формироваться МП БИС на машинных цик- лах: извлечения кода команды (АЛ), чтения данных из памяти,пре- рывания, чтения из стека или внешнего устройства. На последующих тактах Тц и Т$ дешифратор кода команды рас- шифровывает код команды, определяет количество байтов в ко- манде, формирует команды на внутренние пересылки данных и подготавливает МП БИС к выполнению следующих машинных циклов. Отличие машинных циклов чтения данных из памяти, стека или ВУ по сравнению с циклом Мх будет заключаться лишь в том, что МП БИС будет воспринимать числа, полученные на такте Т3 по МД не как код команды, а как данные. Временные диаграммы, иллюстрирующие работу МП БИС при выполнении двухбайтовой команды ввода числа IN<N> из внешнего устройства, приведены на рис. 2.9. При записи данных с ВУ на МУ формируется сигнал чтения устройств ввода — вывода (Ч. ВВ) из сигнала ПРИЕМ и разряда Дб слова состояния. Этот сигнал позволяет ВУ выдать ин- формацию на МД микро-ЭВМ. Запись данных в память или внешнее устройство. Процесс за- писи данных в память иллюстрируется на схеме, показанной на рис. 2.10. Временные диаграммы — на рис. 2.11. 2—559 33
На такте 1\ при положительном фронте Ф2 содержание реги- стра адреса МП БИС выдается на МА, а на МД выдается слово состояния (см. табл. 2.2). Сброс (ГОТОВ)(РБ.ОСТ) готов+обдст готов Да Нет____ ГОТОВ Нет Нет ригге, Ъодтвержд'ени охвата цстаг Нет Тз Выпал не - вершена]. Нет ШРЯ да Установить триггер под- тверждения захвата 1 । Режим I ЗАХВАТ Да ЗАХВАТ Выход из режи- ма останова Режа АХВА СБ росить триггер д подтверждения ________Аа Ис та набить три г- гер на запрет восприятия пре- рываний захвата Ш(Р.пр) 13Х)(3,Пр) Установить триггер под- тверждения захвата ЗАХВА Режим\ЗАХВАТ Сбросить триггер подтверждения захвата Рис. 2.8. Диаграмма изменений состояния МП БИС при работе его в различных режимах На такте Т2 сигналом Ф\ производится запись в регистр слова со- стояния (рис. 2.12). Положительным фронтом Фг оканчивается синхросигнал СИНХР, а на МД выдается данное для записи в память. На такте Т3 на выходе ВЫДАЧА формируется сигнал, по ко- торому будет проходить запись данных в память или ВУ. Из этого 34
сигнала и разряда Д4 формируется сигнал 3. ПАМЯТЬ, разреша- ющий запись в память (рис. 2.10). Непосредственно запись числа в память осуществляется по сигналу Фо. $2 Ао'Дп СИНКР 'ПРИЕМ ГОТОВ ОЖД ЗП Выход Р-СС Рис. 2.9. Временные диаграммы выполнения двухбайтовой команды IN <W> На протяжении всего машинного цикла записи данных в память сигнал ПРИЕМ находится на нулевом уровне, что позволяет дву- направленному шинному формирователю работать в режиме выда- чи данных на МД микро-ЭВМ. Рис. 2.10. Схема записи данных в память Рис. 2.11. Временные диаграм- мы процесса записи данных в память 2* 35
Процесс записи данных во внешнее устройство аналогичен за- писи данных в память. Для записи необходимо наличие на МА адреса внешнего устройства, данных на МД и непосредственно за- писывающего сигнала. Единственное отличие этого процесса заклю- чается в формировании сигнала записи 3. ВВ. Для этого использу- ется сигнал с выхода ЗП и разряд Д4 слова состояния. Рис. 2.12. Временное диаграммы выполнения команды записи данных в ВУ OUT <N> На рис. 2.12 приведены временные диаграммы выполнения двухбайтовой команды записи данных на внешнее устройство — OUT<N> (N — адрес внешнего устройства). Выполнение коман- ды состоит из трех машинных циклов: первый цикл — извлече- ние кода команды OUT<N>; второй цикл Мг— чтение данных из памяти, при котором МП БИС получает адрес N внешнего уст- ройства; третий цикл М3 — запись данных во внешнее устройство. Работа в режиме ЗАХВАТ. Режим ЗАХВАТ используется для останова управления МП БИС работой микро-ЭВМ. При работе в этом режиме выходные магистрали МП БИС переводятся в третье состояние и отключаются от магистралей микро-ЭВМ, обеспечи- вая тем самым возможность обмена информацией с микро-ЭВМ по каналу прямого доступа к памяти. Режим ЗАХВАТ инициируется подачей сигнала «1» на вход управления 3. ЗХ. МП БИС подтверждает переход в режим ЗА- ХВАТ путем выдачи сигнала «1» на выходе П.ЗХ. Переход МП БИС в режим ЗАХВАТ будет осуществляться различно в зависи- мости от типа текущего машинного цикла. Если сигнал запроса поступает в начале цикла чтения данных из памяти или ВУ (рис. 2.13, а) (сигнал «1» на входе З.ЗХ на 36
такте Ti), то уровень логической «1» будет установлен на выход* П.ЗХ при положительном фронте Ф1 на такте Тз. Положительным фронтом сигнала Ф2 данные будут записаны в МП БИС, а выход- ные магистрали будут отключены от микро-ЭВМ. В тех случаях, когда текущий цикл требует для своего завершения тактов и Ts, несмотря на переход выходных магистралей МП БИС в третье состояние на такте Т3, внутренняя пересылка и дешифрация дан- ных будет автоматически завершена на тактах и Т&. Время Рис. 2.13. Переход МП БИС в состояние ЗАХВАТ при выполнении текущего цикла чтения данных (а) и записи данных в память или ВУ (б): ♦ — такты присутствуют, если необходимо Если сигнал запроса поступает в начале цикла записи данных в память или ВУ, то уровень «1» подтверждения захвата будет устанавливаться МП БИС при положительном фронте сигнала Ф» на такте, следующем за тактом Тз (рис. 2.13, б). Это дает возмож- ность МП БИС завершить процесс записи данных. Выходные магистрали МП БИС отключаются в этом случае на сигнале Фг- Состояние ЗАХВАТ будет длиться целое число тактов. Установ- ка низкого уровня потенциала на входе З.ЗХ проверяется на каж- дом сигнале Фг и при его наличии на следующем импульсе режим захвата будет прекращен и МП БИС перейдет к выполнению оче- редного машинного цикла начиная с такта Т\ (см. рис. 2.8). 37
Работа при выполнении команды HALT. Режим ОСТАНОВ яв- ляется результатом выполнения команды HALT. Находясь в этом режиме, магистрали МП БИС не отключаются от магистралей микро-ЭВМ, а процессор просто отмечает время, в течение которо- го он ничего не выполняет (рис. 2.14). Состояние микро-ЭВМ в этом режиме аналогично состоянию ОЖИДАНИЕ, за исключением того, что это состояние устанавливается программно. Время Рис. 2.14. Временные диаграммы выполнения МП БИС команды ОСТАНОВ (HALT) и окончания ее по сигналу прерывания Обычно режим ОСТАНОВ оканчивается тогда, когда ВУ выда- ют запрос на обслуживание. Один из методов формирования за- проса на обслуживание — подача запроса прерывания на вход З.Пр МП БИС (уровень «1» на входе З.Пр) (см. рис. 2.8). Если сигналы прерывания не воспринимаются МП БИС (на- пример, после выполнения команды DI), то остается один выход из состояния ОСТАНОВ — подача сигнала начальной установки на вход R МП БИС. Специфика режима ОСТАНОВ заключается в том, что в этом состоянии МП БИС может входить в режим ЗАХВАТ и выходить из него (см. рис. 2.8). В режиме ОСТАНОВ запрос на ЗАХВАТ не будет удовлетворяться, если запрос на прерывание был уже по- дан на вход З.Пр, но не было еще подтверждено его обслуживание (уровень «1» на выходе П.Пр не установлен). После подтвержде- ния получения прерывания (уровень «О» на выходе П.Пр) микро- ЭВМ может войти в состояние ЗАХВАТ. Обслуживание запросов на прерывание. Внешние устройства выдают сигнал запроса прерывания асинхронно по отношению к работе МП БИС путем уодачи уровня «1» на вход З.Пр. Запрос может быть удовлетворен только в том случае, если МП БИС на- ходится в состоянии разрешения восприятия запросов прерывания. 38
МП БИС автоматически устанавливается в состояние запрета во- сприятия запросов прерывания после выполнения начальной уста- новки, а также после начала обслуживания запроса прерывания. Управление состоянием восприятия запросов прерывания может осуществляться программно с помощью команд: EI — «Разрешение прерываний» и DI — «Запрет прерываний». МП БИС указывает на возможность восприятия прерываний на выходе Р.Пр. Если на этом выходе присутствует уровень «1», 1з Ъ I Tn II Ti L "з II м2 Ml Т3 I pc. Y SP+1 □c PCh PC a0 a15 Ao~Ai СИНХР ПРИЕМ ЗП Р.Пр З.Пр Внутренний триг гер разрешения прерывания МП БИС Выход РгСС 5 Время Рис. 2.15. Временные диаграммы обслуживания МП БИС запроса прерывания то запросы прерывания могут быть восприняты, в противном слу- чае (уровень «О» на выходе P-Пр) запросы восприниматься не бу- дут (см. рис. 2.8). Если запрос прерывания воспринят, то начинается цикл обслу- живания прерывания. На первом машинном цикле обслуживания прерывания МП БИС получает по МД микро-ЭВМ код прерыва- ния. Имеется два способа задания кода прерывания: с помощью команды RST<N> и с помощью команды CALL<Ai><A2> (век- торный способ). Первый цикл для обоих способов является общим и отличается от цикла М\ извлечения кода команды из памяти тем, что содержание программного счетчика МП БИС при этом не уве- личивается. На первом такте Т\ устанавливается уровень «О» на выходе Р.Пр (рис. 2.15). МП БИС информирует ВУ ov восприятии и начале обслуживания прерывания выдачей слова состояния с «1» в разрядах До, Дь Дз (см. табл. 2.2). Разряд До совместно с сиг- налом на выходе ПРИЕМ используется для формирования сигнала ОБ. Пр (обслуживание прерывания) магистрали управления микро- ЭВМ (рис. 2.16). По этому сигналу ВУ выдают на МД микро-ЭВМ либо код команды RST<N>, либо код команды CALL<Ai> <А2>. 39
Существует восемь кодов команды RST<N>, где N = 04-7. Команда RST<N> указывает начальный адрес подпрограммы об- служивания прерывания (табл. 2.3). Получив команду на первом машинном цикле, МП БИС на циклах М2 и М3 записывает в об- ласть памяти, отведенной под стек, текущее значение программно- го счетчика PC (см. рис. 2.15). Сохранение содержания PC в сте- ке необходимо для возврата к прерванной программе после окон- чания выполнения подпрограммы обслуживания прерывания. Рис. 2.16. Ввод кода команды RST1 при обслуживании МП БИС сигнала прерывания Возврат можно осуществить с помощью команды RET (RETURN), которая загружает содержание двух верхних ячеек стека в PC. Таким образом, каждая подпрограмма обслуживания прерываний должна в конце иметь команду RET. Первым машинным циклом при обращении к ячейкам памяти, указанным в команде RST<N>, является цикл извлечения.команды. При векторном способе задания прерываний на первом цикле Afi ВУ будет передавать МП БИС не команду RST<N>, а коман- ду CALL<Ai><А2>. Получив команду CALL, МП БИС автома- тически переходит в режим ввода 2 байт адреса А\ и А2 на цик- лах Мг, М3. После этого организуется сохранение содержания PC в стеке и обращение к началу подпрограммы обслуживания пре- рывания. Начало подпрограммы указано во втором и третьем бай- тах (<Ai><A2>) команды CALL. Отметим, что при векторном способе задания прерываний ВУ сообщает не только команду CALL, но и адрес начала подпрограммы обслуживания прерыва- ний. Начальная установка. При подключении питания к МП БИС содержание его внутренних регистров устанавливается произволь- но, что вызовет выполнение программы с произвольного адреса памяти. Для начальной установки МП БИС используется вход R. Для правильного выполнения начальной установки сигнал на вхо- де R должен поддерживаться по крайней мере в течение трех так- тов. За это время обнуляется программный счетчик, триггер разре- шения прерываний и внутренняя логика, связанная с формирова- нием сигнала ПЗХ. 40
Таблица 2.3 В течение всего времени, пока на входе R установлен уровень «1», все операции в МП БИС будут приостановлены. После снятия сигнала на входе выполнение программы начи- нается с периода 1\, определяемого следующим сигналом Ф| (рис. 2.8). Так как программный счетчик содержит к этому времени число 0000, то первая выполняемая команда будет записана по ад» ресу 0000. Прерывания остаются отключенными после начала выполнения программы и для восстановления возможности восприятия запро» сов прерывания в программу необходимо включать команду EI — «Разрешение прерываний». Организация магистралей микро-ЭВМ. Обмен информацией между МП БИС и ВУ организуется с помощью трех магистралей микро-ЭВМ: МА, МД и МУ. Ввиду малой нагрузочной способно- сти, а также ограниченного числа выводов МП БИС в микро-ЭВМ необходимо использовать дополнительные схемы для организации этих магистралей. Магистраль адресов является однонаправленной магистралью, выдача адресов на которую осуществляется лишь МП БИС или схе- мой прямого доступа к памяти при работе микро-ЭВМ с каналом прямого доступа к памяти. Малая нагрузочная способность МА требует применения буфера. Использование схемы многорежимного буферного регистра (МБР) К589ИР12 позволяет увеличить ее на- грузочную способность (рис. 2.17, а). Подключение выходного сиг- нала МП БИС П.ЗХ к управляющему входу ВК1 автоматически переводит выходы этой схемы в третье состояние, тем самым отклю- чая МА при работе в режиме прямого доступа к памяти. По МД организуется двунаправленный обмен данными между МП БИС и памятью или ВУ. Максимальная нагрузочная способ- ность МД невелика, что не позволяет непосредственно использо- вать его в системах с большой емкостью памяти и широким набо- ром периферийных устройств. Для увеличения нагрузочной способ- ности МД микро-ЭВМ необходимо также применять буфер МД. В качестве буфера для двунаправленного обмена данных может
быть использован двунаправленный шинный формирователь (ШФ) К589АП16 (рис. 2.17, б). Управление направлением обмена осуще- ствляется сигналом с выхода П МП БИС. При уровне «О» на выхо- де П схема осуществляет выдачу данных из МП БИС на внешнюю МД микро-ЭВМ. При уровне «1» на выходе П шинный формиро- ватель МД позволяет данным поступить на входы До—Д1 МП БИС. Рис. 2.17. Схема формирования МА микро-ЭВМ с использованием МБР КР589ИР12 (а) и схема формирования МД микро-ЭВМ с использованием ДШФ 589АП16 (б) Магистраль управления микро-ЭВМ состоит из следующих пя- ти выходов, сигналы на которых формируются из записанного сло- ва^ состояния МП БИС и его выходных сигналов ПРИЕМ и ЗП (рис. 2.18): 1. Чтение памяти (Ч. ПАМЯТЬ). 2. Запись в память (3. ПАМЯТЬ). 3. Чтение данных из устройства ввода (Ч.ВВ). 4. Запись данных в устройства вывода (З.ВВ). 5. Обслу- живание прерывания (ОБ.Пр). Организация получения каждого из сигналов была рассмотрена ранее при описании работы МП БИС в различных режимах. Здесь же еще раз укажем использование этих сигналов при работе мик- ро-ЭВМ. _________________ По сигналу Ч.ПАМЯТЬ (Ч.ВВ) информация, записанная в па- мяти (устройство ввода) с адресом, представленным на МА микро- ЭВМ, поступает на МД. По сигналу 3. ПАМЯТЬ (З.ВВ) данные, 42
находящиеся на МД микро-ЭВМ, записываются в память (устрой- ство вывода). Сигнал ОБ. Пр используется ВУ для выдачи на МД микро-ЭВМ кода команды прерывания RST<N> или сообщения команды CALL<Ai><A2>. Другие незадействованные разряды регистра слова состояния могут быть использованы при исследовании работы микро-ЭВМ, а также в больших системах, требующих различных уровней согла- сования их работы. Рис. 2.18. Схема формирования МУ микро-ЭВМ На рис. 2.19, а приведен пример подключения ОЗУ и ПЗУ к магистралям микро-ЭВМ. Дешифратор Д2 (К555ИД7), стробируе- мый сигналами Ч.ПАМЯТЬ или З.ПАМЯТЬ, служит для выбора восьми областей памяти емкостью по 2К байт, лежащих в адресах 0000—3FFF, что облегчает подключение схем ОЗУ и ПЗУ к маги- стралям. Первую область (0000—07FF) занимает ПЗУ Д5 (КР556РТ7) емкостью 2К байт, вторую область (0800—OFFF) — ОЗУ Д1 и Д4 (КР541РУ2А) емкостью 1К байт. К другим областям памяти микросхемы ОЗУ и ПЗУ подключаются аналогично. При адресации к внешним устройствам, как и к ячейкам памяти, одна из областей может быть отведена для дешифрации их адреса. На рис. 2.19, б показан пример организации дешифрации адреса внешних устройств. Схема позволяет подключить к магистралям до 64 устройств ввода — вывода. Использование четырех таких схем полностью реализует возможности МП БИС по адресации внешних устройств. Дешифратор Д2 (К555ИД7), стробируемый сигналами Ч.ВВ или З.ВВ, служит для выбора либо дешифраторов адреса для восьми простейших регистров ввода — вывода (напри- мер, ДЗ), либо схем, содержащих несколько таких регистров (на- пример, КР580ИК55, КР580ИК57, КР580ИК51). В качестве про- стейшего устройства на рис. 2.19, б показан регистр ввода — выво- да. Входные по отношению к микро-ЭВМ сигналы подключаются 43
a) MA 9 1 10 Z 11 3 /4 5 15 Б 16 7 Г7-5 мд Pmc. 2.19. Схема подключения памяти (а) внешних устро*ств (б) к магистралям микро-ЭВМ 44
ко входам До—А4 микросхем Д4, Д5 (К589АП16), а выходные — к выходам Со—С4. Следует отметить, что информация на выходах Со—С4 сохраняется лишь во время выдачи сигнала ВК, а после его снятия выходы переходят в третье состояние. При обращении к устройствам ввода — вывода как к ячейкам памяти дешифрато- ры схемы должны стробироваться сигналами Ч. ПАМЯТЬ и 3. Па- МЯТЬ. При таком способе дешифрации необходимо следить, чтобы адресное пространство устройств ввода — вывода не перекрывалось с адресным пространством ОЗУ или ПЗУ. На рис. 2.19, а дешиф- ратор ДЗ—К555ИД7, на рис. 2.19, б дешифратор Д1 — К555ИД7. Команды МП БИС КР580ИК80. Восьмиразрядное машинное слово используется для сообщения МП БИС как кода команд, так и данных. Набор команд фиксирован и состоит из 246 различных команд [6]. Все команды можно разделить на пять различных групп: 1. Команды переноса данных, осуществляющие перенос дан- ных между регистрами или между регистрами и памятью. 2. Ариф- метические команды, включающие в себя команды сложения, вычитания, увеличения или уменьшения на единицу данных в реги- страх или памяти. 3. Логические команды, позволяющие осуще- ствить логические операции И, ИЛИ, исключающие ИЛИ, сравне- ние, сдвиг или взятие дополнения числа в регистрах или памяти. 4. Команды передачи управления, обеспечивающие безусловную или передачу управления по условию, а также вызов или возврат из подпрограмм. 5. Команды управления и работы со стеком, орга- низующие ввод — вывод данных из микро-ЭВМ, доступ к стеку и внутреннему регистру признаков МП БИС, а также ее управление. Память микро-ЭВМ организована в виде 8-разрядных ячеек, каждая из которых имеет свой 16-разрядный адрес. Таким обра- зом, МП БИС может работать с памятью емкостью до 65 536 байт. Одна команда может содержать от 1 до 3 байт. Многобайтовые команды записываются в последовательные ячейки памяти. Первый байт команды всегда содержит код команды. При трехбайтовых командах во втором и третьем байтах содержатся данные (адрес), причем во втором байте записывается младший байт данных (адре- са), а в третьем — старший байт данных (адреса). МП БИС имеет четыре различных типа адресации к памяти или регистрам: 1. Прямая адресация — второй и третий байты команды содержат указание адреса памяти (младший байт адреса во вто- ром байте команды, а старший байт — в третьем). 2. Адресация к регистру — команда указывает на регистр или пару регистров, в которых записаны данные. 3. Косвенная адресация с помощью ре- гистров— команда указывает на пару регистров, в которых запи- сан адрес памяти или данные. 4. Непосредственная — команда са- ма содержит данные. При двухбайтовых данных во втором байте команды записывается младший байт, а в третьем — старший байт. За исключением обслуживания прерываний и выполнения ко- манд передачи управления, МП БИС осуществляет выполнение программы, считывая команды последовательно из ячеек памяти. 45
В командах передачи управления адрес, к которому будет об- ращаться МП БИС, может указываться с помощью прямой или косвенной адресации. При выполнении команд передачи управле- ния по условию МП БИС проверяет наличие условия и в случае его подтверждения осуществляет передачу управления. При не- удовлетворении условия выполнение программы будет продолжать- ся с команды, записанной в ячейке памяти, следующей после ко- манды передачи управления по условию. При обслуживании пре- рывания в зависимости от кода команды RST<N> МП БИС обращается к одной из восьми фиксированных ячеек памяти (табл. 2.3). § 2.3. Организация обмена данными с микро-ЭВМ в параллельном коде Асинхронный процесс обмена данными между микро-ЭВМ и ВУ, а также требования наиболее рационального использования времени работы микро-ЭВМ приводят к необходимости применения интерфейсных устройств при организации обмена данными. Зада- ча таких устройств состоит в приеме данных по сигналам управ- ления, формирования сигналов, указывающих на наличие данных в устройстве, выдаче данных по сигналам управления, а также фор- мировании сигналов, указывающих на готовность устройства к приему новых данных. Процесс обмена информацией организуется интерфейсным устройством под действием сигналов управления, поступающих от микро-ЭВМ и ВУ. Технология БИС позволяет создавать универсальные много- функциональные интерфейсные устройства ввода — вывода парал- лельной информации. Такие устройства могут быть программируе- мыми и используются для двунаправленной передачи данных и сигналов управления. Микро-ЭВМ информируется о готовности устройства к обмену данными, как правило, по сигналам прерыва- ния. Обмен данными осуществляется путем обращения микро-ЭВМ к устройству ввода — вывода как к адресу памяти или ВУ. Таким образом, применение интерфейсных устройств ввода — вывода па- раллельной информации позволяет согласовать во времени процесс обмена данными между микро-ЭВМ и ВУ при рациональном ис- пользовании времени работы микро-ЭВМ. Более подробно процессы при обмене информации рассмотрим на примере программируемого устройства ввода — вывода парал- лельной информации различного формата КР580ИК55, входящей в МПК серии К580. Программируемое устройство ввода — вывода параллельной ин- формации различного формата (КР580ИК55). Микросхема КР580ИК55 представляет собой программируемое устройство, ис- пользуемое для ввода — вывода параллельной информации. Схема позволяет осуществлять обмен 8-разрядными данными по трем каналам—А, В, С. Направление обмена и режим работы для 46
каждого канала задается программно. Каналы служат для пере- дачи как данных, так и управляющих сигналов. Упрощенно схема состоит из регистра управления и трех реги- стров, предназначенных для ввода — вывода данных. Структура микросхемы КР580ИК55 приведена на рис. 2.20, а, а ее условное обозначение — на рис. 2.20, б. Назначение выводов: До~Ду (27-3^ 30(36) А1(дП R(35J* +5В Каналы °) Схема управления каналом 0 (0-3 разряд) Схема выбора канала и управ- ления 5) 34 KAfKA, -& 32 (1-i) (37-W) JO. *соКСз -ft Ьц-'п) — 09 КС^-КСу 08 Кор п^с С > ^разряЗ) _££ ~36~ кв0-кв7 2? (18-25) До 4/ Дг Дз Ди Д5 Дб Ду Ао Al ВО ДТ 30 R БОП КВ0 KBi кв г КВ, кв1 KBs квв кв° кс0 КС, КС? Л£д КСц. КС5 KCS КСу ~ка~о KAi КА 2 К Аз К A if ка5 КА 6 КА 7 16 /4 06- Рис. 2.20. Упрощенная схема программируемого параллельного интерфейса КР580ИК55 (а) и его условное обозначение (б) До—Дч — двунаправленная магистраль данных, используемая для передачи данных, управляющих слов и информации состояния; КАо—KAi — двунаправленная магистраль данных канала А; КВй—КВ7— двунаправленная магистраль данных канала В; КСо—КС7— двунаправленная магистраль данных канала С (ма- гистрали каналов используются для передачи данных, управляю- щих сигналов и сигналов запроса на прерывание от ВУ и МП БИС); ВУ — выбор устройства; До—А1 — входы, используемые для выбора одного из каналов А, В, С или регистра управления (в табл. 2.4 приведены коды вы- борки каналов и регистра управления); ЧТ (чтение)—вход, на который подается сигнал на выдачу данных из внутренних регист- ров схемы на МД-, R — вход, используемый для начальной уста- новки схемы. При подаче сигнала на этот вход содержание всех внутренних регистров устанавливается на ноль; ЗП (запись) — вход, используемый для записи данных в схему. Для микро-ЭВМ схему можно представить состоящей либо из четырех ВУ, либо из четырех адресов памяти. Для формирования импульса выборки устройства, подаваемого на вход ВУ, можно использовать шины Аг—А15 МА микро-ЭВМ. При обращении к схе- ме как к четырем ВУ входы ЧТ и ЗП должны быть подключены к 47
Таблица 2.4 ВУ А1 АО Выборка 0 0 0 Канал А ввод — вывод 0 0 1 Канал В ввод — вывод 0 1 0 Канал С ввод — вывод 0 1 1 Запись в регистр управления 1 —• — К580ИК55 не выбрана а) Канал А Канал С Канал В ТПаТГПГЗБ 5ВЗ2 1 Г70 5 ИЗ 2 1 I В) Вправляющие сигналь! Канал А ’канал А^каналВ' Канал В Группа 1 Группа 2. Рис. 2.21. Использование реги- стров каналов А, В, С для пе- редачи информации по режиму О (а) и по режиму 1 (б) шинам Ч.ВВ и З.ВВ МУ микро-ЭВМ. При обращении к схеме как к четырем адресам памяти ее входы УТ и ЗП должны быть соот- ветственно подключены к шинам Ч.ПАМЯТЬ и З.ПАМЯТЬ МУ микро-ЭВМ. Схема может выполнять следующие функции: буферизацию (при асинхронном режиме обмена данными); преобразование фор- мата данных; сопряжение микро-ЭВМ с ВУ в режиме прерывания. Режимы работы микросхемы К580ИК55 задаются при ее начальной установке. Четыре подадресных реги- стра схемы включают в себя три реги- стра каналов ввода — вывода данных (А, В, С) и регистр управления. Ре- гистр канала С может быть подразде- лен на два четырехразрядных регистра ввода '— вывода данных, к которым осуществляется доступ как к отдель- ным независимым регистрам (рис. 2.21, а). Имеется возможность подраз- деления трех каналов на две группы (рис. 2.21, б). В этих группах каналы А п В используются для обмена данными с микро-ЭВМ, а отдель- ные шины канала С — для записи управляющих сигналов. Режимы работы каналов задаются путем записи управляюще- го слова в регистр управления. Существует три типа работы схе- мы. Возможные комбинации режимов работы каналов А, В, С приведены в табл. 2.5. Тип 0 — это простой ввод — вывод данных по трем 8-раз1ряд- ным каналам, причем канал С может быть подразделен на два 4-разрядных канала. Каждый из каналов может быть использован отдельно для ввода или вывода информации. При работе схемы в этом режиме никаких дополнительных сигналов управления не требуется. Вид каналов приведен на рис. 2.21, а. Тип 1 позволяет осуществлять обмен данными по каналам А и В с помощью сигналов управления, передаваемых по каналу С. Для каналов А и В существует четыре комбинации взаимных на- правлений передачи данных: а) каналы А и В работают в режиме вывода данных; б) каналы А и В работают в режиме ввода дан- 48
Таблица 2.5 А в С Разряды тип режим тип режим Ст С. С. С4 С. с» Ci Со 0 В или ВВ 0 В или ВВ В или ВВ В или ВВ В или ВВ В или ВВ В или ВВ В или ВВ В или ВВ В или ВВ 0 В или ВВ 1 ВВ В или ВВ В или ВВ В или ВВ В или ВВ В или ВВ СТБ“ (В) ВВБФ (В) З.Пр (В) 1 В или ВВ 1 В В или ВВ В или ВВ В или ВВ В или ВВ В или ВВ Прием (В) ВЪФ (В) З.Пр (В) I ВВ 0 В или ВВ В или ВВ В или ВВ ВВБФ (А) СТБ (А) З.Пр (А) В или ВВ В или ВВ В или ВВ 1 В 0 В или ВВ ВБФ (А) Прием (А) В или ВВ В или ВВ З.Пр (А) В или ВВ В или ВВ В или ВВ 1 ВВ 1 ВВ В или ВВ В или ВВ ВВБФ (А) СТБ" (А) З.Пр (А) СТБ" (В) ВВБФ (В) З.Пр (В) 1 ВВ 1 В В или ВВ В или ВВ ВВБФ (А) СТБ" (А) З.Пр (А) Прием (В) ВБФ (В) З.Пр (В) 1 В 1 ВВ ВБФ (А) Прием (А] В или ВВ В или ВВ З.Пр (А) СТБ (В) ВВБФ (В) З.Пр (В) 1 В 1 В ВБФ (А) Прием (А) В или ВВ В или ВВ З.Пр (А) Прием (В) ВБФ (В) З.Пр (В) 2 В/ВВ 0 ВВ ВБФ (А) Прием (А] ВВБФ (А) СНГ (А) З.Пр (А) В или ВВ В или ВВ В или ВВ 2 В/ВВ 0 В ВБФ (А) Прием (AJ ВВБФ (А) СТБ (А) З.Пр (А) В или ВВ В или ВВ В или ВВ 2 В/ВВ 1 ВВ ВБФ (А) Прием (А] ВВБФ (А) СТБ~ (А) З.Пр (А) СТБ" (В) ВВБФ (В) З.Пр (В) 2 В/ВВ 1 В ВБФ (А) Прием (А) ВВБФ (А) СТБ (А) З.Пр (А) Прием (В) ВБФ (В) З.Пр (В) Примечание. ВВ — ввод данных; В — вывод данных; В/ВВ — режим ввода — вывода.
них; в) канал А работает в режиме ввода, а В — в режиме вывода данных; г) канал А работает в режиме вывода, а В — в режиме ввода данных. Незадействованные для управляющих сигналов шины канала С могут быть использованы для ввода — вывода информации. На- правление передачи информации по этим шинам определяется уп- равляющим словом, записанным в регистре управления. Управляющие сигналы, передаваемые по шинам канала С при работе каналов А и В в режиме ввода данных, приведены на рис. Рис. 2.22. Передача управляющих сиг- налов по шинам канала С при ис- пользовании каналов А и В для вво- да (а) и вывода (б) данных (тип 1) 2.22, а. По сигналу СТБ (СТРОБ) информация записывается во входной буфер данных схемы (рис. 2.23, а). Выходной сигнал ВВБФ («Ввод в буфер») устанав- ливается в «1» и поддерживается на протяжении всего интервала времени от записи данных до мо- мента их чтения микро-ЭВМ. Сиг- налы СТБ и ВВБФ не могут быть использованы для информации МП БИС о готовности данных по вводу, так как ввод можно осуще- ствлять лишь после окончания сигнала СТБ, Для информирования МП БИС о готовности данных по вводу ис- пользуется выходной сигнал З.Пр (запрос прерывания), появляю- щийся на KCq, КСз в зависимости от выбранного канала. Разреше- ние на выдачу сигнала З.Пр выдает внутренний триггер разре- шения прерывания схемы (Р.Пр). Состояние триггера устанавли- вается лишь программно и не поступает на внешние зажимы схемы (рис. 2.22, а). Незадействованные под управляющие сигналы шины КС6, КС7 могут быть использованы для ввода — вывода дан- ных в зависимости от управляющего слова. Управляющие сигналы, передаваемые по шинам канала С при работе каналов А и В в режиме вывода данных, приведены на рис. 2.22, б. Данные в схему записываются с помощью импульса записи, подаваемого на вход ЗП (рис. 2.22, б). В момент оконча- ния записи данных формируется выходной управляющий сигнал ВБФ (ввод в буфер), указывающий, что данные записаны во входной буфер данных и готовы для выдачи во ВУ. Данные во ВУ выводятся по сигналу ПРИЕМ, выдаваемому с ВУ. Сигнал на выходе З.Пр («Запрос прерывания») используется для информирования микро-ЭВМ о готовности канала по выводу новых данных. На интервале вывода данных во ВУ сигнал З.Пр 50
установлен на «О» уровне и будет переведен в «1» при наличии «1» уровней сигналов ПРИЕМ, ВБФ и триггера разрешения прерыва- ния (Р.Пр). Так же как и в случае ввода данных, управление со- стоянием триггера осуществляется путем записи «О» или «1» в со- ответствующий разряд регистра, С. Это дает возможность програм- мно управлять режимом вывода данных из микро-ЭВМ. “Г ВВБФ ОТВ - Данные Vr — Данные записаны 1 ные S Время Завершение чтения ванны* Начала чтения данных. Данные готовы для чения в микро -ЭВМ Р Новые дан- поступили канал 3,Пр Микро-ЭВМ за пи-У сала данные в схему В У начало чтение данных Время Микро-ЭВМ начало, запись новых данные ВУ закончило чтение данных Рис. 2.23. Временные* диаграммы работы схемы КР580ИК55 по типу 1 при использовании каналов А и В для ввода (а) и вывода (б) данных в микро-ЭВМ Незадействованные под управляющие сигналы ХС4—КС5 могут быть использованы для ввод — вывода информации. Доступ к ним осуществлен с помощью операции чтения данных из регистра С или использования управляющего слова для изменения содержа- ния отдельных разрядов регистра С. Сигналы ВВБФ, ВБФ и З.Пр канала С не могут быть изменены произвольно программно при установке отдельных его разрядов или при начальной установке схемы, так как они отражают состояние внутренних триггеров на разрешение прерываний схемы. Тип 2. При работе по этому типу канал А используется для двунаправленной передачи данных, канал С —для записи управ- ляющих сигналов, обеспечивающих передачу данных по каналу А. Управляющие сигналы являются комбинацией сигналов, необходи- мых при работе канала А по типу 1. На рис. 2.24 приведено раз- мещение управляющих сигналов по шинам канала С. Шины /СС2,о могут быть использованы для ввода — вывода или передачи управ- 51
ляющих сигналов. В табл. 2.5 приведены возможные комбинации выбора режимов работы каналов и соответствующие им размеще- ния управляющих сигналов по разрядам канала С. Комбинации режимов задаются путем записи управляющего слова по адресу регистра управления схемы. В регистр управления можно только записывать управляющие слова. Чтение информации из регистра управления недопустимо. На рис. 2.25, а приведен вид управляющего слова для выбора режимов рабо- З.Пр (А) 8 в~БФ(А) ~ПРИЕМ (А) СТб(А) ИвбФ(а) 3 Рис. 2.24. Переда- ча управляющих сигналов по ши- нам канала С при использовании ка- нала А как двуна- правленного кана- ла передачи дан- ных (тип 2) ты каналов. Так как схема КР580ИК55 не имеет внутрен- него регистра, указывающего на состояние схе- мы, то для его определения считывают содержа- ние регистра канала С и интерпретируют отдель- ные его разряды. При работе схемы по типу 1 (рис. 2.26, а) или 2 (рис. 2.26, б) можно изменять содержание отдельных разрядов канала С с по- мощью управляющего слова, записываемого в ре- гистр управления. Вид управляющего слова, ис- пользуемого для изменения отдельных разрядов регистра С, приведен на рис. 2.25, б. При подаче уровня «1» на вход R обнуляются регистр управления, триггеры разрешения пре- рываний, а все каналы устанавливаются в режим ввода данных. Пример использования микросхемы КР580ИК55. На рис. 2.27 приведен пример ис- пользования схемы для подключения клавиатуры в виде матрицы клавиш 8x8 и восьмиразрядного дисплея, построенного на восьмисегментных светодиодных индика- торах. Канал С схемы используется для сканирования дисплея и клавиатуры, канал В — для записи восьмисегментного кода очеред- ного отображаемого разряда дисплея, канал А — для чтения кода нажатой клавиши с матрицы клавиатуры. Дешифрирование и ска- нирование клавиатуры и дисплея осуществляется программно. § 2.4. Организация прерываний микро-ЭВМ при работе с внешними устройствами Внешние устройства могут выдавать сигнал на обслуживание прерывания в любой момент времени как путем подачи уровня «1> на вход З.Пр МП БИС, так и с помощью установки флага в одном из разрядов слова состояния ВУ (считываемый тип прерывания). При работе по считываемому типу прерывания микро-ЭВМ в про- цессе выполнения программы обращается к ВУ и определяет уста- новку флага в разряде его слова состояния и при подтверждении его установки организует выполнение соответствующей подпро- граммы обслуживания прерывания. Таким образом, подключение ВУ при работе по считываемому типу прерываний ничем не отли- чается от подключения входного устройства к микро-ЭВМ. 52
При запросе прерывания подачей сигнала на вход З.Пр МП БИС подтверждение его восприятия и начало его обслуживания указывается сигналом ОБ.Пр на МУ микро-ЭВМ. В начале обслу- живания прерывания микро-ЭВМ переходит к циклу извлечения 7 6 5 Р- 3 2 1 О+Номер разряы , 'I.Г" "Т ' I -i 1 Младшие р разряда >. ^канала С 1 — канал ВJ — >- канал В -0 тип работы 0;1 тип работы 1 Старшие четыре 1 разряда > 0-Вывод, 1-ввод — канала С ) канал А (00-тип работы О канал А 01-тип радо ты 1 \тип радо ты 2 6) 1 Ь 5 4 3 2 1 О+Номер разряда В Выдранный разряд ООО ВыВор РСО 001 — РС1 010 — РС2 011 — РОЗ 100 — POP- 101 — РС5 110 — РС6 J11 — РС7 ^Разряды не используются. В них должны дыть записаны ООО Рис. 2.25. Вид управляющего слова для выбора режима работы каналов (а) и изменения содержания отдельных разрядов реги- стра С (б) кода команды, но с двумя особенностями: 1. Содержание програм- много счетчика не увеличивается. 2. Слово состояния МП БИС отображает режим обслуживания прерывания (см. табл. 2.2). Команда, передаваемая по прерыванию, должна быть такой, чтобы в результате ее выполнения микро-ЭВМ сохраняла содер- жание программного счетчика в стеке, а затем обращалась к под- программе обслуживания прерывания. По выполнению подпрограм- мы обслуживания прерывания команда RET позволяет возвратить сохраненное значение PC из стека и продолжить выполнение те- кущей программы. В наборе команд МП БИС КР580ИК80 имеет- ся лишь одна команда CALL, позволяющая осуществить описан- ную последовательность операций. Существуют два типа команды CALL: RESTART (RST<N>) и CALL<Ai><A2>. Команда RST<N> является однобайтовой, позволяющей передавать управление на один из фиксированных 53
адресов памяти (см. табл. 2.3). Команда CALL<Ai><A2> явля- ется трехбайтовой, где первый байт содержит код команды CALL— CD16, а второй и третий — информацию об адресе передачи управ- ления. Разряды регистра С * а) Разряды состоя- ния канала А Разряды состоя- ния канала В Ввод данных^ ^7 |еб/д|гг/д|д550|р/7/7|з /?д| Вывод_______________ данных^_____________ Пр |gg/g|gg/?| 3 Пр\ Ввод данных Az Ai До |Р./7/7|Ж<Р|3,/7р1 . __________ Вывод данных 'Дг Д'~Д°~'. |/?/7р|б50|Л/7Т] Разряды регистра С |д?|Д5 Дг1Дг ”До\ Разряды состоя- ния канала А Разряды состояния канала В ----' Тип 0 Ввод-вывод jl данных (вв-в) Дг Д1 До |gg/g|ga/g|gg/^ ' Тип! ввод данных Д'] Дб Дв Дц Дз Р.Пр, вВРФР.Пр, З.Пр\ Дг Д] До Тип 1 вывод данных Дг Д] До Рис. 2.26. Вид слова состояния при чтении его из ре- гистра С в зависимости от типа работы схемы Внешние устройства в ответ на начало обслуживания прерыва- ния (сигнал ОБ.Пр) могут сообщать микро-ЭВМ либо команду RST<N>, либо команду CALL<Ai><A2>. Для сообщения ко- манды RST<N> может использоваться блок приоритетного преры- вания К589ИК14 Д1 совместно со схемой К589ИР12 ДЗ (рис. 2.28). На схеме Д2 — К155ЛН1. При сообщении команды CALL<Ai><A2> ВУ должно обеспе- чивать: 1. В ответ на получение сигнала ОБ.Пр сообщить на МД микро-ЭВМ код команды CALL—CDi6. 2. Исключить обращение МП БИС к памяти на двух последующих циклах сообщения кода адреса <Ai><A2>. 54
Обычно в микро-ЭВМ включают дополнительную микросхему системного контролера КР580ВГ28, позволяющего на МУ микро- ЭВМ сформировать два дополнительных сигнала ОБ.Пр в ответ на поступление кода команды CALL по МД. Этот принцип исполь- зуется при подключении к микро-ЭВМ программируемого блока приоритетного прерывания КР580ИК59, работу которого рассмот- рим более подробно. му Рис. 2.27. Использование схемы КР580ИК55 для под- ключения клавиатуры и дисплея Программируемый блок приоритетного прерывания {КР580ИК59). Микросхема КР580ИК59 является многофункцио- нальным программируемым устройством, формирующим запрос на прерывание работы МП БИС и выдающим на МД микро-ЭВМ трехбайтовую команду CALL<Ai><A2> в ответ на последова- тельное поступление трех сигналов ОБ. Пр с МУ микро-ЭВМ. Зна- чения адресов Ai и А2 сообщаются схеме в процессе выполнения программы ее начальной установки. Схема имеет восемь уровней запросов прерывания. Возможно расширение уровней запросов прерывания до 64 за счет применения группы из девяти схем КР580ИК59, в которой одна из схем является ведущей, а восемь остальных — ведомыми. Схемы выборки различных приоритетов 55
могут быть установлены отдельно как для ведущей, так и для ве- домых схем. Существует четыре типа обслуживания сигналов на запрос прерывания, устанавливаемых для схемы КР580ИК59 программно. При одновременном поступлении импульсов на запрос преры- вания схема определяет приоритетный уровень запроса. Схема Рис. 2.28. Схема подключения БПП к микро-ЭВМ с использованием МБР также позволяет выполнять прерывание текущей программы об- служивания прерывания по входу запроса с более высоким при- оритетом. Структура микросхемы КР580ИК59 включает в себя три про- граммно-доступных регистра — регистр маски прерывания РгМП, регистр запроса прерывания РгЗП и регистр обслуживания пре- рывания РгОП. Обмен информацией с ними происходит путем об- ращения к схеме КР580ИК59 как к двум устройствам ввода — вы- вода данных или как к двум адресам памяти. Упрощенная схема КР580ИК.59 приведена на рис. 2.29, а, а ее условное обозначение — на рис. 2.29, б. Схема имеет двунаправ- ленную МД с возможностью перевода ее в третье состояние при подаче единичного сигнала на вход выборки ВМ или одновремен- ной подачи единичных сигналов на входы ЗП и ЧТ. Магистраль данных используется для выдачи в микро-ЭВМ команды 66
CALL<Ai><A2>, информации состояния, содержания внутрен- них регистров, а также для записи управляющих слов в схему. Блок управления записью/чтением [БУЗ (ч)] схемы содержит программно-доступные регистры для записи слов начальной уста- новки и управляющих слов. Блок также позволяет слову состояния схемы поступать на внешнюю МД. Входы блока: ВМ — уровень <0» на этом входе означает выборку схемы; ЧТ — уровень «О» на 5) 25 27 25 01 16 З.ПРО 20 7П 21 3-Пр2 25 ЗПРб — Мр, --- АО 02 03 22 23 18 19 20 Ди Д/ д2 д5 д7 11 ю 9 8 7 6 5 12 ЗП П.Пр вм КАС0 — KAOj као2 15 Рис. 2.29. Упрощенная схема КР580ИК59 (а) и ее условное обо- значение (б) этом входе позволяет схеме передавать на внешнюю МД содержа- ние РгЗП, РгОП, РгМП; ЗП — уровень «О» на этом входе позволя- ет записывать СНУ и СУ в схему, Ао — может подключаться к любой шине МА микро-ЭВМ. Уровень «О» или «1» определяет один из двух адресов внутренних устройств схемы, с которым микро- ЭВМ обменивается информацией. Внешние устройства выдают импульсы на формирование за- проса прерывания на входные зажимы З.Прй—З.Пр7 схемы. Уро- вень «1» на любом из этих входов воспринимается как импульс на формирование запроса прерывания. Все поступающие импульсы на входы З.Про—З.Пр7 записываются в РгЗП. Перед началом фор- мирования запроса прерывания схема определения приоритетного прерывания СхОППР с учетом информации, записанной в РгМП, определяет приоритетный уровень и записывает его в РгОП. Регистр маски прерывания служит для записи в него маски прерывания, позволяющей выборочно маскировать определенные а
разряды РгОП, давая возможность сигналам на входах с низшим приоритетом прерывать работу микро-ЭВМ. Запрос на прерывание выдается схемой на выход ПР и поступает на вход З.Пр МП БИС. При использовании в микро-ЭВМ нескольких схем КР580ИК59 необходимо определять управляющую и управляемые схемы. Для этой цели служит вход выборки ведомой схемы ВВДМ. Уровень «1» на нем определяет режим работы схемы как ведущей, а уро- вень «О» указывает на то, что схема будет работать как ведомая. Сигнал на входе ВВДМ определяет способ использования выводов каскадного соединения KACQ—КАС2 схемы. Эти выводы будут за- действованы для вывода сигналов при работе схемы как ведущей и для ввода сигналов для ведомых схем. Выходы ПР управляемых схем соединяются со входами З.Прц—З.Пр7 ведущей схемы. Способы подключения микросхем КР580ИК59 к микро-ЭВМ приведены на рис. 2.30. В микро-ЭВ^М, работающей с одной схемой КР580ИК59, трех- байтовый код команды CALL<Ai><A2> выдается ей на МД в ответ на три последовательных сигнала ОБ.Пр, поступающих с МУ микро-ЭВМ. Сигналы подают на вход П.Пр (подтверждение пре- рывания) устройства управления (УУ) схемы. Второй и третий байты в команде CALL (байты At и А2) будут сообщать начальный адрес подпрограммы обслуживания прерывания, соответствующий отрабатываемому запросу. При наличии в микро-ЭВМ ведущей и ведомых схем КР580ИК59, ведущая схема в ответ на первый сигнал ОБ.Пр вы- дает на МД лишь код команды CALL. На ее выходы KACQ—КАС2 поступает код (от ООО до 111), определяющий номер ведомой схе- мы, которая и будет сообщать на МД адрес A2Ai в команде CALL<A1><A2>. Выдача двух байтов адреса (младший байт Aj — первым, старший байт А2 — вторым) осуществляется ведомой схемой в ответ на поступление с МУ микро-ЭВМ второго и треть- его сигнала ОБ.Пр. Отметим, что при таком (векторном) методе прерывания мик- ро-ЭВМ не тратит дополнительного времени для определения конкретного источника прерывания и получения от него запроса прерывания. Здесь источники прерывания различаются просто по начальным адресам подпрограмм обслуживания прерываний. На- чальные адреса могут быть выбраны любыми и устанавливаются с помощью подпрограмм начальной установки схем КР580ИК59. Имеется два варианта задания начальных адресов. При первом варианте (рис. 2.31, а) начальные адреса соседних подпрограмм обслуживания прерываний отличаются друг от друга на четыре адреса. При втором варианте начальные адреса соседних подпро- грамм обслуживания прерываний различаются на восемь адресов (рис. 2.31,6). Таблица состояний содержания разрядов У (рис. 2.31, а, б) в за- висимости от уровня прерывания приведена ниже; 58
му мд МА МД Импульсы на запрос пре рыба -' ни я от В У ОБ.Пр 2 3 Р 5 -6. 7 8 9 & „ Схема де шифра - шааавкл ве'вуща. схема < 0---------1 От внешних уст- ройств 0-5, по- дающих импуль- сы на запрос прерывания у Входы импуль- сов запросов прерывания па ЗДрНПбИС ЗПРо ЗПр! ЗПр? ЗЛРз ЗПру ЗПр5 ЗПр6 З.Пр-j ШП А0_ >ЗЛ ЩМ МД До Д„1 Дг Дз Дц Дв Дв Д? 2 3 А 5 6 7 8 КАС0—Указывает на „ЛГР\ . I номер (0-1) обслуживаемого запроса преры- вания КАС1 КАСг Пр На ВхоОЗ.Пр МП БИО Ведомые схемы КАСй KACf КАСг ж ж ж ж Ж MPj fa’ Д'! КАС. МС1 Пр UJ До Д1 Дг fa Ди Zb Пр До ixj ВМ АО 3/7 ЦП — КАС0 ----КАС7 1L 15 /7 fa fa fa Л? VP, •7^-^ 5 3.1р. 5Прс WPb 2L. 21 Пр От внешний устройств 6-13, подающих импульсы на запрос прерывания От внешних устройст 1Ц-21, подающих импульсы на запрос прерывания Рис. 2.30. Схема подключения одного ПБПП к микро-ЭВМ (а) и одного ведущего и двух ведомых ПБПП к микро-ЭВМ (б) 59
Y Y Y Запрос на входе ЗЛР-схемы Y Y YJ Запрос на входе ЗЛР-схемы 1 1 1 З.Пр2 0 1 1 З.Прз 1 1 0 З.Прь 0 1 0 З.Прг 1 0 1 З.Пръ 0 0 1 З.Пр\ 1 0 0 З.Прк ООО З.Про Старшие разряды адреса устанавливаются программой началь- ной установки схемы КР580ИК59 с помощью записи слов началь- ной установки СНУ1 (слово начальной установки 1) и СНУ2 (сло- во начальной установки 2). а) p7|4e|4>|YlYl Yl°l° I Определяются СНУ2 А!2 А/2 Alt Al0 Ад ~Z7| Определяют- Задаются уровнем с я СНУ1 прерывания схемы l4?! д6| y | у | у I о | ^ | Рис. 2.31. Формат адресов векторов прерывания при раз- личных вариантах их задания Начальная установка схемы осуществляется с помощью после* довательной записи в схему двух или трех слов начальной уста- новки СНУ1, СНУ2, СНУЗ. Третье слово СНУЗ будет записывать- ся в том случае, если к микро-ЭВМ подключаются ведущая и ве- домые схемы. Формат слов начальной установки и алгоритм их записи приведены на рис. 2.32. Разряд Д2 в СНУ1 используется для указания формата F век- тора прерывания. Если Г=1, то разность между двумя адресами соседних векторов прерывания составляет четыре адреса. При F= = 0 разность равна восьми адресам. Содержание разряда Д\(5) указывает на количество подключаемых схем КР580ИК59. Если 5=1, то к микро-ЭВМ подключается только одна схема. При S = = 0 имеется ведущая и ведомые схемы. Разряды Д5—Д7 в СНУ1 используются для сообщения соответственно разрядов Л5—Л7 ад- реса вектора прерывания. Третье слово СНУЗ записывается по адресу Ло=1 и зависит от вида работы схемы. Для ведущей схемы «1» в разрядах СНУЗ оп- ределяет наличие ведомой схемы. Для ведомой схемы в разрядах До—Дг задается ее номер. При сообщении вектора прерывания ведомая схема будет выдавать двухбайтовый код адреса на МД в том случае, когда ее номер будет совпадать с числом на выходах КЛСо—КАС2 ведущей схемы. Содержание разрядов Д3—Д7 СНУЗ 60
для установки ведомой схемы не используется и может быть лю- бым. Процесс начальной установки инициируется записью в схему по адресу Ло=О СНУ1 с единицей в разряде Д4- В результате началь- ной установки в схеме происходят следующие процессы: обнуля- ются регистр маски прерывания, внутренний триггер маскирова- ния прерываний и триггер разрешения чтения состояния схемы, устанавливаются приоритеты за- просов прерывания (высшим прио- ритетом пользуется сигнал на входе З.Пръ, а низшим — З.Лр7). Проис- ходит начальная установка внутрен- них цепей схемы, позволяющих пос- ле окончания начальной установки при поступлении положительного фронта импульсов на входы З.Про— З.Пр1 воспринимать его как за- прос на прерывание и записывать в РгЗП. Режимы работы микросхемы КР580ИК59 задаются при ее началь- ной установке. Существует четыре режима работы схемы КР580ИК59: полностью установленные (неизмен- ные) приоритеты прерывания; пере- мещаемые приоритеты прерывания; специальное маскирование приори- тетов прерывания; считываемые пре- Разряды Ао ДтДв Д5Д^Д3Д2Д1Д1ГСНН1 Рис. 2.32. Формат слов начальной установки СНУ и последователь- ность их записи в схему КР580ИК59 рывания. Указанные режимы работы схемы различаются алгоритмами задания уровней приоритетов запросов прерывания и устанавли- ваются в зависимости от записи в схему слов управления (СУ). Запись СУ в схему возможна в любой момент времени после вы- полнения команд начальной установки. Любой вход запроса пре- рывания можно выборочно маскировать с помощью записи слова управления первого вида (СУ1) в РгМП, Состояние РгМП воздей- ствует на состояние РгОП. Если запрос на прерывание уже сфор- мирован схемой на какой-либо уровень, то любой из уровней с бо- лее низшим приоритетом не в состоянии прервать работу микро- ЭВМ, если в схему не записывается специальная команда EOI (ко- нец прерывания); запись ее осуществляется с помощью слова уп- равления второго вида (СУ2). Команда позволяет обнулить раз- ряд РгОП, соответствующий текущему прерыванию. Эту же цель можно также реализовать с помощью перевода работы схемы к специальному режиму маскирования, используя слово управления третьего вида (СУЗ). Режим полностью установленных приоритетов прерываний схе- ма имеет сразу после окончания выполнения команд начальной ус- тановки, и он не требует дополнительных слов управления для его 61
задания. Приоритеты прерывания в нем последовательно уменьша- ются от высшего (на входе З.Про) до низшего (на входе З.Пр7) и их порядок неизменен. При одновременном поступлении на входы З.Про—З.Пр7 двух сигналов (например, на З.Пр2 и З.Пр$) в соот- ветствующие разряды РгЗП (разряды Д2 и Д5) записывается «1». Перед началом формирования запроса очередного прерывания схе- ма определения приоритетного прерывания (см. рис. 2.29) выбирает высший по приоритету уровень запроса прерывания (З.Пр2) и ука- зывает на начало его обслуживания путем записи «1» в соответст- вующий разряд РгОП (разряд Д2). После начала формирования сигнала прерывания (З.Пр2) на всех разрядах РгЗП произойдет автоматический сброс. В процессе выполнения программы обслу- живания прерывания по входу З.Пр2 импульсы запросов на вхо- дах З.Про—З.Пр7 восприниматься не будут, а будут лишь регист- рироваться в РгЗП. Поступление же импульсов на входы З.Пр\ или З.Про вызовет появление нового сигнала на прерывание работы микро-ЭВМ, запись второй единицы в соответствующий разряд РгОП и новое обнуление РгЗП. Таким образом, РгЗП может быть представлен как регистр, фиксирующий поступившие, но еще не обслуженные импульсы на формирование запросов прерывания, а РгОП — фиксирующий те- кущие обслуживаемые запросы прерывания. Если текущая про- грамма обслуживания прерывания не прерывалась сигналом пре- рывания с более высоким приоритетом, то в разрядах РгОП име- ется лишь одна «1». При работе по полностью установленному типу прерываний каждая программа обслуживания прерываний должна содержать команду неспецифического конца обслуживания прерывания EOI. В результате ее выполнения в РгОП сбрасывается старший из установленных в «1» разряд. Этот разряд соответствует текущему обслуживаемому запросу прерывания. Команды EOI сообщаются схеме с помощью слова управления второго вида СУ2. Формат команд будет изменяться в зависимости ют типа работы схемы (рис. 2.33). В табл. 2.6 приведены возмож- ные варианты записи команды EOI при различных режимах рабо- ты схемы. В любой момент времени с помощью записи СУ1 в схему мож- но выборочно изменять содержание разрядов РгМП. Так как со- держание разрядов РгМП не влияет на процесс фиксации сигнала на входах З.Про—З.Пръ а лишь определяет разрешенные входные уровни запросов для схемы определения приоритетных прерыва- ний, то, изменяя числа, записанные в РгМП, можно программно регулировать последовательность и момент начала формирования прерываний. Например, поступивший во время обслуживания за- проса прерывания по входу З.Про запрос на входе З.Пр7 будет за- фиксирован в РгЗП, но не вызовет прерывание выполняемой под- программы. Запись маски прерывания, устанавливающей в «О» разряд Д7 регистра РгОП, позволяет схеме начать формировать запрос на обслуживание этого прерывания. Вид УС1, используемо- 62
Таблица 2.6 Команда EOI Вход Содержание разрядов СУ2 для сообшения различных команд EOI Описание команды Дт Де Д5 Д< Дз Д« Д1 До Неспецифи- ческая Специфиче- ская С автоматиче- ским сдвигом Со специфи- ческим сдви- гом Установка приоритета Установка в «О» наивысшего по прио- ритету разряда РОП, установленного в <1» Установка в «О» разряда РОП, указан- ного в L%—Lq Установка в «О» наивысшего по прио- ритету разряда РОП, установленного в «1»г и обозначение низше- го приоритета Установка в «О» наивысшего по прио- ритету разряда РОПГ установленного в «1»г и обозначение низшего приоритета по числу В Z>2—^0 Установка низшего приоритета по числу в £,2—^0 о о о о о о О о о о о о о о о о о о о о О ^2 о Z-2 ^2 о L1 о о ^0 о ^0 ^0 Рис. 2.33. Формат СУ2 для задания типа команды конца преры- вания го для установки отдельных разрядов РгМП, приведен на рис. 2.34. После выполнения команд начальной установки схемы любая команда, записываемая в схему при Ло=1, будет восприниматься ею как СУ1. 63
До Дт ДвДбДч-Дз Дг Д; До 2.34. Запись слова уп- Рис. равления СУ/ в РгМП для маскирования отдельных входов РгОП: М=1—вход РгОП маскирован; Ж=0 —разряд РгОП открыт для сигнала Существует два вида перемещаемых приоритетов прерыва- ний — вид А и вид В. Перемещаемый приоритет вида А отличает- ся от полностью установленного режима приоритетов тем, что после выполнения команды конца прерывания, автоматически этот запрос определяется схемой КР580ИК59 как низший по уров- ню. Код команды конца прерывания с автоматическим сдвигом и ее краткое описание приведены в табл. 2.6. Пример перемещения уровней приоритетов при работе схемы по видам А и В приведен в табл. 2.7. В тех случаях, когда последовательность поступления и обработки сигналов прерывания строго не определена, этот вид работы является более предпочтительным, так как дает равные возможности обслуживания всех входов схемы КР580ИК59. Запись команды прерывания со специ- фическим сдвигом (см. табл. 2.6) позво- ляет схеме работать по перемещаемому^ типу прерываний вида В. В результате, выполнения этой команды наивысший по? приоритету из установленных в «1» раз- рядов РгОП сбрасывается и происходит смена приоритетов входных уровней схемы. Низший по приоритету уровень задается в разрядах Д2—До СУ2. Такой способ задания приоритетов дает дополнительные программные возможности уп- равления каналами запросов прерывания. Общим свойством команд EOI со сдвигом является то, что они обнуляют разряд регистра РгОП, соответствующий текущему об- служиваемому прерыванию, и устанавливают новый порядок при- оритетов. Отличие проявляется в алгоритмах задания перемещений приоритетов. С помощью СУ2 можно задать специфическую команду EOI, выборочно обнуляющую разряд регистра РгОП, указанный в ее разрядах Ь2—LOf но не вызывающий сдвига уровней приоритетов схемы (см. табл. 2.6). Первоначальное задание низшего уровня приоритета может быть также задано с помощью записи СУ2 в схему. Команда уста- новки приоритетов (см. табл. 2.6) не изменяет содержания разря- дов регистра РгОП схемы, а лишь устанавливает низший уровень приоритета с помощью кода, задаваемого в разрядах Ь2—LQ. Так же как и для полностью установленного типа работы схе- мы, запись в схему СУ1 (маска прерывания) позволяет выборочно отключать отдельные входы З.Пр7—З.Прц. Путем записи маски прерывания можно отключать вход прерывания, подпрограмма обслуживания которого находится уже в выполнении. Отключение входа запроса приведет к автоматическому отключению всех вхо- дов запросов схемы с меньшими приоритетами. Для обеспечения возможности формирования сигналов прерывания со входов с меньшим приоритетом используется режим специального маскиро- вания приоритетов. 64
Таблица 2.7 Приоритеты, устанавливаемые для входов РОП Низ- ший Распределение приоритетов для входов З.Пр схемы КР580ИК59 Выс- ший 7 6 | 5 | 4 | 3 | 2 | 1 0 Перед выполнением первой подпрограммы прерывания После окончания вы- полнения подпрограммы прерывания З.Пр2 После окончания вы- полнения подпрограммы прерывания З.Пр$ Вид А З.ПР1 З.Пръ 3-Пр„* З.П Р4 З.Пря 3-Прг З.ПР1 З.Прц З.ПР2 3,ПР1 З.Пр0 З.Пр7 З.Пр6 3*Пръ* З.Прь З.П рз З.Пр5 З.Пр4 З.Пр3 З.Пр2 З.Пр1 З.Прц З.Пр; З.П PQ Вид Б Перед выполнением первой подпрограммы обслуживания прерыва- З.Пр-] З.П pq З.Пр5 З.Пр4 З.Прз З-Пр.* з-п рг З.Пра ния После первой подпро- граммы вход З.Пръ опре- деляется как низший З.Пр5 З.Пр 4 З.П рз З-Прь* З.Пр1 З.Прц З.Пр; З.Пръ После второй подпро- граммы вход З.Пръ опре- деляется как низший З.П р3 З.П р2 З.Пр\ З.Пръ З.Пpq З.Пр6 З.Пр5 З.П Pi * Указывает на наличие сигналов на запрос прерывания. Достоинства режима специального маскирования приоритетов прерываний можно проиллюстрировать на следующем примере. Допустим, что отрабатываемая программа обслуживания преры- вания рассчитана на то, что сигналы запросов на входах схемы с меньшим приоритетом могут прерывать ее выполнение. Обеспечить такой режим можно с помощью команды EOI, сбрасывающей соот- ветствующий разряд регистра РгОП. Однако первое из вновь по- ступивших прерываний вновь может запретить воздействие после- дующих запросов прерывания. Для обеспечения возможности воздействия прерываний с мень- шими приоритетами на выбранном участке программы служит специальный режим маскирования приоритетов. Этот режим пред- полагает первоначальное отключение входа запроса отрабатыва- емого текущего приоритета. Вход отключается после записи маски прерывания в РгМП (запись УС1 в схему). После этого с помо- щью УСЗ инициируется режим работы схемы специального маски- рования, при котором сигналы запросов на входах с меньшим при- оритетом могут вызывать прерывания выполняемой подпрограммы. Режим выполняется, пока в подпрограмме не будет включена команда его окончания, определяемая УСЗ. Например, если запрос 3—559 65
на входе З.Прх прерывает выполнение подпрограммы обслужива- ния прерывания по входу З.Пр^ а затем маскирует свой вход с по- мощью УС1, то запросы на входах З.Пр2 и З.Пр$ будут прерывать выполнение подпрограммы. Это будет продолжаться до тех пор, пока в подпрограмме не встретится команда окончания специаль- ного типа маскирования. Таким образом, необходимое условие перевода схемы в рас- сматриваемый тип работы — запись в РгМП соответствующей мас- Рис. 2.35. Формат управляющего слова УСЗ для установки режима работы схемы КР580ИК59 ки, а затем выполнение команды начала специального режима маскирования прерывания. Вид команды начала и конца режима специального маскирования, сообщаемых с помощью УСЗ, приве- ден на рис. 2.35. При работе в режиме считываемых прерываний прерывание ра- боты микро-ЭВМ осуществляется не по входу З.Пр МП БИС, а программным путем. Схема КР580ИК59 не использует свой вход ОБ.Пр и выход З.Пр для передачи запроса прерывания в микро- ЭВМ. Установка режима считываемых прерываний инициируется за- писью в схему СУЗ с единицей, записанной в разряде Д2 (рис. 2.35). При получении СУЗ схема ведет себя так же, как и при по- лучении уровня «О» сигнала ОБ.Пр на входе П.Пр. Так схема оп- ределяет наивысший по приоритету запрос на прерывание из за- просов, зафиксированных в РгЗП, и записывает «1» в соответству- ющий разряд РгОП. При следующем такте чтения информации из того же адреса она будет выдавать слово состояния с указанием наличия запроса на прерывание («1» — в разряде Д7) и номера приоритета запроса прерывания, указанного в разрядах До—Дг- 66
Формат слова состояния приведен на рис. 2.36. В том случае, если при обращении к схеме запросы на прерывание еще не поступили, в разряде Д7 слова состояния будет записан *0», а в разрядах До—Д2 — «1». Получив слово состояния, микро-ЭВМ организует его дешифрацию и при наличии запроса на прерывание передает управление на адрес, соответствующий полученному запросу. Таким образом, при работе по считываемому типу начало об- служивания запросов на прерывание, поступивших на вход схемы, осуществляется программно при обращении к схеме (с помощью записи СУЗ). Определение наличия запроса и сообщение его номе- ра производится путем чтения из схе- мы слова состояния. Внешние устрой- ства теперь не могут прерывать выпол- нение текущей программы после по- дачи импульса запроса прерывания на входе схемы. Места в программах, ког- да микро-ЭВМ считывает сигналы прерывания, фиксированы. Каждый ввод нового запроса прерывания из схемы должен сопровождаться про- цессом записи в нее СУЗ и чтением сло- ва состояния. При работе микро-ЭВМ с несколь- кими схемами КР580ИК59 прежде все- го требуется обращение к ведущей схе- ме. При подтверждении наличия за- проса прерывания (в разряде Д7 слова Дб As Ду- Az Дг А, До 1 — — — — Номер приори- }тетно£о запроса запроса на прерывание Рис. 2.36. Формат слова со- стояния, выдаваемого схемой при работе по считываемому типу прерываний: «1» — наличие запроса; «0» — отсут- ствие запроса состояния записана «1») необходимо организовать обращение к ведомой схеме, номер ко- торой указан в разрядах До—Д% слова состояния. Данные, полу- ченные из ведомой схемы, будут указывать наивысший по приори- тету запрос прерывания. Коды, записанные в разрядах До—ДгДвух слов состояния, должны использоваться микро-ЭВМ для передачи управления на соответствующую подпрограмму обслуживания пре- рывания. При содержании внутренних регистров микросхемы выводятся над МД микро-ЭВМ содержания ее регистров: запросов прерыва- ния РгЗП, обслуживания прерывания РгОП и маски прерывания РгМП. Указание типа регистра (РгЗП или РгОП) заключено в разря- дах До и Д\ СУЗ, записываемого в схему. Формат СУЗ чтения со- держания РгЗП или РгОП приведен на рис. 2.37. Содержание ре- гистра выводится из схемы с помощью команды чтения по адресу Ло=О, которая в программе может и не следовать непосредственно после команды записи СУЗ. Для вывода содержания РгМП нет не- обходимости в первоначальной записи СУЗ в схему. В любой мо- мент времени содержание этого регистра может быть выведено из схемы по адресу Л1=1 с помощью команды чтения данных. Программирование микросхемы КР580ИК59. Все режимы рабо- ты схемы и программные методы их задания были отдельно рас- 3* 67
смотрены при описании типов прерываний. В этом разделе приве- дем суммарные сведения по программированию схемы. Для микро-ЭВМ схема КР580ИК59 представляет собой два ад- реса памяти или два ВУ, обращение к которым осуществляется с помощью дешифратора адреса и входа Ао схемы. По этим адресам в схему можно записывать и считывать информацию. Первоначаль- ная установка схемы производится с помощью двух или трех уста- новочных слов (СНУ1, СНУ2, СНУЗ), записываемых в схему. Управление режимами работы (ЗАПИСЬ, ЧТЕНИЕ), а также выбор типа прерываний осуществляется с помошью слов управле- ния (СУ1, СУ2, СУЗ). Слово, записываемое по адресу Ао=О, будет интерпретироваться как СНУ1, СУ2 или СУЗ. При чтении данных из Рис. 2.37. Формат УСЗ для вывода содержания этого адреса вид ПО- РгОП или РгЗП следнего записанного СУЗ определяет, какие данные будут выводиться из схемы. Если в разрядах и До было число 01, то будет выводиться содержание ДгЗП, а при числе И будет выводиться содержание РгОП. Слово, записываемое по адресу Ао=1, будет интерпретировать- ся как СНУ2 или СНУЗ. Формат возможных 18 вариантов записи СНУ и СУ приведен в табл. 2.8. Микро-ЭВМ, работающая с одной схемой КР580ИК59, должна проводить ее начальную установку с помощью двух слов СНУ1 и СНУ2. При наличии ведущей и ведомых схем вначале осуществляет- ся начальная установка ведущей схемы, а затем каждой из ведо- мых путем записи в них слов СНУ1, СНУ2, СНУЗ. Начальная установка единственной в системе схемы с адресом А000 КР580ИК59 может быть, например, произведена с помощью следующих команд: MVI А000, 1216 — записать СНУ1 по адресу Ао = (Е(АООО); MVI А001, 4016 — записать СНУ2 по адресу Ао= 1 (А001). Два записанных слова определяют начало вектора прерывания в адресе 4000i6 с расстоянием между началами двух соседних век- торов прерывания восемь адресов. Если микро-ЭВМ работает, например, с тремя схемами КР580ИК59 (одной ведущей и двумя ведомыми) и ведомые схемы подключены по входам З.Пр0—З.Прх ведущей схемы, то начальная установка может быть осуществлена с помощью следующих ко- манд: установка ведущей схемы (адрес В000) MVI В000, 14 16—СНУ1 (указывает на наличие нескольких схем КР580ИК59, расстояние между началами соседних векторов пре- рывания четырех адресов, разряды А7, Аб, А5 адреса вектора пре- рывания установлены в «0»); 68
Таблица 2.8 Обозначе- ние Ао Д1 Дб Дъ д< Дз Да Д1 До Описание команды СНУ1 0 А А А 1 0 1 1 0 Используется одна схема. Сдвиг между началами век- торов прерывания — четыре адреса СНУ1 0 А А А 1 0 1 0 0 Используется несколько схем. СДвиг между началами векторов прерывания — че- тыре адреса СНУ\ 0 А А А 1 0 0 1 0 Используется одна схема. Сдвиг между началами век- торов прерываний — восемь адресов СНУ\ 0 А А А 1 0 0 0 0 Используется несколько схем. Сдвиг между начала- ми векторов прерывания — восемь адресов СНУ2 1 А А А А А А А А Старший байт адреса век- тора прерывания СНУЗ 1 S1 56 S5 s4 $3 52 51 5о Для ведущей схемы СНУЗ 1 0 0 0 0 0 52 51 50 Для ведомой схемы СУ1 1 м7 Мб М5 м4 ЛАз м2 Мх Мо Запись в РМП, чтение из РгМП СУ2(Е) 0 0 0 1 0 0 0 0 0 Неспецифическая команда EOI СУ2(5Е) 0 0 1 1 0 0 ^2 ^1 ^0 Специфическая команда EOI Установка в «0» разряда РгОП, указанного в Л2, Lo СУ2(₽Е) 0 1 0 1 0 0 0 0 0 Команда EOI с автомати- ческим сдвигом СУ2(К5Е) 0 1 1 1 0 0 ^2 £1 ^0 Команда EOI со специфи- ческим сдвигом Cy2(RS) 0 1 1 0 0 0 ^2 £1 ^0 Установка низшего при- оритета по числу в L2, Ц, Со СУЗ(Р) 0 — 0 0 0 1 1 0 0 Установка считываемого типа приоритетов СУЗ 0 — 0 0 0 1 0 1 1 Указание на чтение содер- жания РгОП СУЗ 0 — 0 0 0 1 0 1 0 Указание на чтение содер- жания РгЗП СУЗ 0 — 1 1 0 1 0 0 0 Установка режима работы по специальной маске пре- рывания СУЗ 0 — 1 0 0 1 0 0 0 Снятие режима работы по специальной маске преры- вания 69
MVI В 001, 40 16 — СНУ2 (начальный адрес вектора прерывания 400016); MVI В 001, 0316 — СНУЗ (определение входов, где подключены ведомые схемы); установка первой ведомой схемы (адрес В100): MVI В 100, 1016—СНУ1 (указывает, что схема ведомая, расстоя- ние между началами векторов прерывания для нее восемь адресов, разряды Л7, Лб, Л5 адреса вектора прерывания установлены в «0»); MVI В101,4816 — СНУ2 (начальный адрес вектора прерывания 48001 б) > MVI В101, 00 — СНУЗ (определение приоритета для ведомой схемы — «0»); установка второй ведомой схемы (адрес В200): MVI В200, 3016—СНУ1 (указывает, что схема ведомая, расстоя- ние между соседними векторами прерывания восемь адресов, раз- ряды Л7, Л6, Л5 адреса вектора прерывания соответственно уста- новлены в 001); MVI В201, 4816 — СНУ2 (начальный адрес вектора прерывания 482016); MVI В201, 1 — СНУЗ (определение приоритета для ведомой схемы — 1). После выполнения начальной установки схемы команды ЗАПИ- СИ или ЧТЕНИЯ схемы по адресу Ло= 1 обеспечивают доступ к РгМП. Запись «1» в любой из разрядов будет отключать соответ- ствующий вход запросов прерывания, запись «О'» разрешает вос- приятие запросов прерывания по соответствующему входу. Каждая подпрограмма обслуживания прерывания должна в конце записывать в схему команду конца прерывания EOI. В за- висимости от типа работы команда EOI имеет различный формат. Запись команды EOI в схему позволяет обнулить разряд в РгОП, соответствующий текущему обслуживаемому прерыванию. § 2.5. Организация прямого доступа к памяти микро-ЭВМ Режим прямого доступа к памяти (ПДП) используется в мик- ро-ЭВМ для быстрого обмена массивами данных между ЗУ и ВУ. При работе в этом режиме МП БИС отключается от микро-ЭВМ и специальное устройство прямого доступа к памяти берет на себя функцию управления МА и МУ. Работа устройства синхронизуется синхросигналом Ф\ или Ф% тактового генератора МП БИС. При обмене массивами данных устройство прямого доступа к памяти на каждом обращении к адресу памяти формирует необходимые сигналы управления для обмена данными между памятью и ВУ. Обмен данными осуществляется устройством путем обращения к последовательным ячейкам памяти микро-ЭВМ. По окончании пе- редачи массива устройство должно автоматически отключаться от микро-ЭВМ, давая тем самым МП БИС возможность управлять работой микро-ЭВМ. Запрос на начало режима прямого доступа к 70
памяти подается устройством на вход З.ЗХ МП БИС. Состояние МП БИС в режиме ЗАХВАТ и вывод его из этого состояния описа- ны в § 2.1. Устройство должно быть программируемо для сообще- ния направления обмена данными, начального адреса памяти, длины массива. В любом устройстве прямого доступа к памяти функционально можно выделить четыре группы выводов: для формирования маги- страли адресов микро-ЭВМ; для формирования МУ микро-ЭВМ и управляющих сигналов для ВУ; вспомогательные, включающие в себя вход синхросигнала тактового генератора МП БИС, выход для выдачи сигнала конца массива, сброс, вход запроса канала прямого доступа к памяти от ВУ и т. д.; магистрали данных для подключения устройства к МД микро-ЭВМ. Отметим, что МД устройства прямого доступа к памяти непо- средственно в обмене данными не участвует, а используется лишь для программирования cxefabi. Количество входных и выходных сигналов в третьей группе может меняться в зависимости от конк- ретной схемной реализации устройства. Рассмотрим организацию и работу канала прямого доступа с использованием программируемого устройства прямого доступа к памяти КР580ИК57, входящего в МПК серии К580. Программируемое устройство прямого доступа к памяти (КР580ИК57). Устройство представляет со'бой четырехканаль- ный программируемый контроллер, используемый в микропроцес- сорных системах, построенных на основе МП БИС КР580ИК80. Устройство позволяет осуществлять двунаправленный обмен мас- сивами данных емкостью до 16К байт между ЗУ и любым из четы- рех ВУ без участия МП БИС. При одновременном поступлении за- просов от ВУ программируемая логика схемы позволяет выбирать наивысший по приоритету канал прямого доступа к памяти (КПДП). Начало режима обмена по КПДП инициируется с помо- щью подачи сигнала З.ЗХ на вход МП БИС. После получения под- тверждения режима захвата с выхода П.ЗХ МП БИС устройство берет на себя функцию управления МА и МУ микро-ЭВМ. Направ- ления обмена данными, а также режим работы устройства задают- ся с помощью программы ее начальной установки. Упрощенная структура микросхемы КР580ИК57 приведена на рис. 2.38, а, а ее условное обозначение — на рис. 2.28, б. Схема содержит четыре одинаковых канала, обеспечивающих ПДП (Ко—Кз). Каждый канал включает в себя два 16-разрядных реги- стра: регистр адреса ПДП и регистр конца счета. В процессе вы- полнения программы начальной установки в регистр адреса дол- жен быть записан начальный адрес памяти, к которому будет об- ращаться ВУ по КПДП. В младшие 14 разрядов регистра конца счета записывается число, на единицу меньшее длины передава- емого массива. Старшие два разряда регистра конца счета исполь- зуются для задания режима работы канала. После передачи оче- редного данного по КПДП содержание регистра адреса автомати- чески увеличивается, а содержание регистра конца счета уменьша- 71
ется на единицу. Таким образом, если N— длина передаваемого массива, то при передаче N—1 данных по КПДП в регистре кон- ца счета будет записан «О». Старшие два разряда этого регистра в процессе обмена данными не меняются. Содержание этих разрядов изменяется с помощью программы начальной установки, записы- ваемой в схему между циклами обмена данными по КПДП. Каждый канал ПДП имеет свой вход запроса (ЗПДП^— ЗПДП3). Внешнее устройство информирует о готовности к обмену данными подачей единичного сигнала на этот вход. 5) Каналы 02, oi Aq А, Az А3 Ач Д5 А6 А7 30 29 28 27 26 23 22 21 СИНХР Ц. готов СБРОС Р.ЗХ ЗПДП0 -тЯзад зпдп2 зпдп3 > ЧВВ 12 ОБ 13 07 19 18 17 16 Aq At Аг Аз Ац. Д5 А6 А7 3 НАМЯТЬ ЦДАМЯТЬ - 32 ? 33 34 37 зз 33 43 03 25 ППДПг МАРК КС — стмТо Р.ЗХ — 3.3 х — ППДП0 Рис. 2.38. Схема программируемого устройства КПДП КР580ИК57 (а) и его условное обозначение (б) ППДПц—ППДП$ — выходы — используются для информирова- ния ВУ о его выборе для обмена данными по КПДП. Д1—До — двунаправленная МД, по которой происходит обмен информацией между МП БИС и схемой при записи программы начальной установки, выводе содержания внутренних программно- доступных регистров. По ней также выводятся старшие восемь раз- рядов адреса при работе КПДП. Отметим, что в обмене данными между ВУ и ЗУ двунаправленная МД не участвует. Л3—Ао — младшие разряды двунаправленной МА. При записи в схему программы начальной установки, а также чтения содер- жания регистров используются как входы для выбора регистра, с которым будет происходить обмен информацией (табл. 2.9). При работе в цикле ПДП используются для вывода младших четырех разрядов кода адреса. 72
Таблица 2.9 Разряд Подадресный регистр Л3 ла Л1 л0 О О О О О О О О 1 1 О О О О 1 1 1 1 О о о о 1 1 о о 1 1 о о о 1 о 1 о 1 о 1 о о Адреса канала О Конца счета канала О Адреса канала 1 Конца счета канала 1 Адреса канала 2 Конца счета канала 2 Адреса канала 3 Конца счета канала 3 Управления (при записи) Состояния (при считывании) Л7—А4 — однонаправленные МА с тремя состояниями, по кото- рым выводятся соответственно Л7—Л4 разряды кода адреса. З.ВВ (запись ввод—вывод) — двунаправленный управляющий вход—выход, используемый как вход для подачи сигнала на запись данных во внутренние регистры схемы при ее начальной установке. При работе в цикле ПДП используется как выход для сигнала, разрешающего запись данных из памяти во ВУ. Ч.ВВ (чтение ввод—вывод) — двунаправленный управляющий вход — выход, используемый как вход для получения сигнала Ч.ВВ от МУ микро-ЭВМ при чтении содержания внутренних реги- стров схемы. При работе в цикле ПДП используется как выход для сигнала, разрешающего считывание данных из ВУ в память. Таким образом, выводы Ч.ВВ, З.ВВ схемы подключаются к ВУ и определяют для них направление и интервалы времени, отведен- ные для записи или считывания данных. Сигналы, определяющие эти же интервалы времени для памяти, формируются на выходных зажимах Ч.ПАМЯТЬ и З.ПАМЯТЬ. Ч.ПАМЯТЬ (чтение память) —выход, используемый для чтения • данных из памяти. З.ПАМЯТЬ (запйсь память) —выход, используемый для запи- си данных в память. На рис. 2.39 приведены временные диаграммы сигналов на вы- водах Ч.ВВ, З.ВВ, Ч.ПАМЯТЬ, 3.ПАМЯТЬ при различных направ- лениях обмена данными между ВУ и памятью. МАРК (маркер 128 цикла)—выход, на котором появляется единичный сигнал, указывающий, что текущий цикл ПДП являет- ся по счету 128-м циклом при передаче массива данных. ГОТОВ (готовность)—управляющий вход, используемый при работе с медленными устройствами, у которых время записи ин- формации больше, чем длительность такта работы микро-ЭВМ. Подача нулевого уровня сигнала на этот вход переводит схему в 73
состояние ожидания. Это состояние аналогично состоянию ожида- ния для МП БИС. ЗПДПц—ЗПДП2 (запрос ПДП) —входы, на которые ВУ пода- ют сигналы запросов на получения цикла ПДП. ППДПц—ППДГЦ (подтверждение ПДП)—выход схемы, ис- пользуемый для информирования ВУ о его выборе для обмена ин- формации в цикле ПДП. КС (конец счета)—выход, единичный импульс на котором указывает ВУ, что текущий цикл обмена по КПДП является по- лапись с ( Ц'ВВ — 3? ЗЗУ [з,ПАМЯТЬ- З'гись из ЬпАМЯТЬ—^ ЗУ 5оЗУ\ 3.33 --- Рис. 2.39. Импульсы на выходах схе- мы КР580ИК57 при различном на- правлении обмена данными по КПДП следним при передаче массива данных. Единичный импульс на выходе КС будет формироваться на интервале времени, когда в 14 младших разрядах регистра кон- ца счета будет записан «О». При наличии «1» в разряде Д6 регист- ра управления по окончании по- следнего цикла обмена по КПДП этот канал будет автоматически отключен. Р-АД (разрешение адреса) —выход, используемый для отклю- чения всех магистралей микро-ЭВМ от МП БИС. Он также ис- пользуется для записи старших восьми разрядов кода адреса в бу- ферный регистр адреса и отключения схем выборки ВУ. При рабо- те в режиме ПДП выборка ВУ для обмена данными осуществля- ется с помощью выходных сигналов на ППДП$—ППДП3. СТ.АД (строб адреса) —выход, на котором формируется сиг- нал, записывающий старшие восемь разрядов кода адреса в буфер- ном регистре. ВУ (выбор устройства) —вход выбора данной схемы. Нулевой сигнал ВУ должен формироваться дешифратором адреса по сигна- лам с разрядов А4—Л is МА микро-ЭВМ. Вход автоматически от- ключается при работе схемы в цикле ПДП. СБРОС — вход начальной установки схемы. Подача единично- го сигнала обнуляет содержание всех программно-доступных реги- стров схемы, что, в свою очередь, отключает все каналы Kq—Кз- СИНХР (синхронизация) —вход синхросигнала <£>2- З.ЗХ (запрос захвата) — сигнал с этого выхода схемы поддает- ся на вход З.ЗХ МП БИС. - П.ЗХ (подтверждение захвата)—вход, на который подается выходной сигнал «п.зх» от МП БИС. Этот сигнал подтверждает, что все магистрали переведены в состояние высокого сопротивле- ния. При работе с /МП БИС блок логики ЧТ/ЗП (см. рис. 2.38, а) де- шифрирует младшие разряды Л3—До кода адреса и в зависимости от сигналов З.ВВ, Ч.ВВ организует запись или чтение программно- доступных регистров схемы. При работе в цикле ПДП логические цепи формируют пары сигналов Ч.ВВ, З.ПАМЯТЬ или З.ВВ, 74
Ч.ПАМЯТЬ на выходах схемы, обеспечивающие временное такти- рование процесса обмена данными между ВУ и памятью. Ввиду того что старшие восемь разрядов адреса (Л15—Л8) дол- жны быть записаны в буферном регистре, схема КР580ИК57 под- ключается к микро-ЭВМ совместно с каким-либо буферным реги- стром. В качестве такого регистра может быть использован МБР От схемы дешиф ротора адреса ГОТОВ З.ЗХ ~.ЗХ МП БИС КР580ИК80 МД микро -ЭВМ З.ЗХ • IX Ъ СТАД готов ВУ РАД КС зпдп0 ппдп0 зпдп1 ппдп1 зпдп2 ППДПг зпдп2 ППДПз МАРК 8К2 ВР ВК, К589ИР12 ЧЛАМЯТЬ З.ПАМЯТЬ ^Д7-До /<Р580ИК51 Ч.ВВ Ч.ВВ На отключение де- шифраторов адреса внешних устройств МА микро-ЭВМ МУ микро-ЭВМ Рис. 2.40. Схема подключения КПДП к микро-ЭВМ К589ИР12, его схема подключения приведена на рис. 2.40. Времен- ные диаграммы, поясняющие процесс записи старших восьми раз- рядов адреса в МБР, показаны на рис. 2.41. Единичный сигнал Р.АД на выходе КР580ИК57 позволяет данным с выходов Д7—До схемы поступит: на входы МБР. Этим же импульсом МД микро- ЭВМ должна быть отключена от МП БИС. С некоторой задержкой времени на выходах Д7—До схемы появляется код старших восьми разрядов адреса. Этот код появится на выходах МБР при поступ- лении положительного сигнала СТ.АД с выхода КР580ИК57. Запись этого кода в МБР будет осуществляться при единичном уровне сигнала СТ.АД. На рис. 2.42 приведены временные диаграммы, иллюстрирую- щие работу схемы в одном цикле передачи данных по КПДП. На- чало процесса инициируется поступлением на вход ЗПДП единич- ного сигнала запроса. Потребуется как минимум два периода син- хросигнала до начала цикла передачи данных по КПДП. Начало 75
цикла будет устанавливаться на отрицательном фронте Ф2 при по- лучении схемой единичного уровня «1» на входе П.ЗХ, подтвержда- ющего режим захвата. В тот же момент времени на выходе Р.АД появляется сигнал на отключение МД и МУ микро-ЭВМ от МП БИС. На такте Т{ схема выдает код младших разрядов адреса на выходы А7—Ло, старших разрядов адреса на выходы Д7—Д0. Сиг- нал СТ.АД записывает старшие разряды адреса в регистр буфера адреса. На такте Т2 схема посылает ВУ сигнал ППДП, указыва- ющий на начало обмена данными по КПДП. Этот сигнал ВУ может ис- пользовать для снятия сигнала за- проса ЗПДП. На тактах Т2, Т3 схе- ма формирует пару импульсов на выходах 3. ВВ, Ч. ПАМЯТЬ или Ч. ВВ, 3. ПАМЯТЬ, определяющих ! Т11 Т2\ Время Ф2 ЗПДП З.ЗХ п.зх ппдп РАД а7~а0 Д7~До СТАД ЧСЗВили ТГПАМЯТЬ 3J3B или 3.ПАМЯТЬ РАД Ai'Ao СТ.АД ^15'А 8 Рис. 2.41. Запись старших восьми разрядов кода адре- са в МБР К580ИР12 Рис. 2.42. Работа схемы КР580ИК57 при одном цикле передачи данных по каналу прямого доступа к памяти моменты времени и направление передачи данных между ВУ и ЗУ. На такте 1\ схема проверяет наличие импульса ЗПДП и при его снятии ВУ снимает сигнал З.ЗХ, что позволяет МП БИС выйти из состояния захвата. Подчеркнем, что описанный цикл работы схемы содержит четы- ре периода синхросигнала Ф2 и будет иметь место, если ВУ пере- дает лишь одно данное по КПДП. В этом случае оно использует сигнал ППДП для снятия сигнала запроса на входе ЗПДП. Такие же временные диаграммы будут, если по каким-либо причинам МП БИС снимает сигнал П.ЗХ на своем выходе. В случае непрерывной передачи массива данных ВУ будет под- держивать уровень «1» на входе ЗПДП в течение всего процесса передачи. Для снятия сигнала запроса ВУ может использовать ли- бо сигнал с выхода КС, появляющийся после окончания передачи последнего данного в массиве, либо импульс с выхода МАРК, по- являющийся после передачи каждых 128 данных массива. В зависимости от кода записываемой команды управления для схемы могут быть заданы два типа обслуживания запросов по вхо- дам ЗПДГЦ—ЗПДП2 — полностью установленный и перемеща- емый тип приоритетов. При полностью установленном типе прио- ритеты запросов определены: низший — на входе ЗПДП^, а выс- 76
ший — на входе ЗПДП$. Приоритеты не меняются после окончания очередного цикла ПДП. Перемещаемый тип приоритетов характеризуется сдвигом при- оритетов запросов по входам ЗПДП после выполнения очередного цикла ПДП. Приоритеты циклически сдвигаются так, что после окончания передачи данных по КПДП этот канал получает низкий приоритет. Алгоритм сдвига приоритетов приведен ниже: Канал, по которо- му окончилась пе- редача данных . . О(КЭ) 1 (К1) 2 (К2) 3 (КЗ) Приоритет: высший .... KI К2 КЗ КО К2 КЗ КО К1 КЗ КО KI К2 низший .... КО KI К2 КЗ Программирование и режимы работы микросхемы КР580ИК57. Начальная установка схемы осуществляется путем записи инфор- мации в три регистра: 16-разрядный регистр адреса, 16-разрядный регистр конца счета и 8-разрядный регистр управления. Первым записывается содержание регистра адреса. Запись производится начиная с младших восьми разрядов. При обращении к схеме как к ВУ это может быть осуществлено, например, с помощью команд: MVI А, АО — записать в аккумулятор содержание восьми младших разрядов кода адреса; OUT DMA1—записать содержимое аккумулятора по адресу (DMA1) регистра адреса канала 1; MVI А, А1 —записать в аккумулятор содержание восьми стар- ших разрядов кода адреса; OUT DMA1—записать содержимое аккумулятора по адресу (DMA1) регистра адреса канала 1. Вторым записывается содержание регистра конца счета. Млад- шие 14 его разрядов содержат число N—1, где N — количество эле- ментов массива. Старшие два разряда используются для выбора цикла работы канала. Ниже указаны возможные циклы работы каналов: Разряды регистра конца счета . . . Д15 Ди Циклы работы КПДП: проверки......................... О О записи........................... О 1 чтения........................... 1 О Запрещено............................ 1 1 При цикле чтения по ПДП данные передаются из памяти мик- ро-ЭВМ в ВУ. Цикл записи по ПДП определяет обратное направ- ление передачи данных из ВУ в память. При цикле проверки пере- дача данных не осуществляется, так как сигналы Ч.ПАМЯТЬ, 3. ПАМЯТЬ, Ч.ВВ, З.ВВ на выходных зажимах схемы формиро- ваться не будут. Все остальные функции будут выполняться схе- мой, так же как и при работе в циклах передачи данных по ПДП. Третьим записывается содержание регистра управления. Формат 77
управляющего слова приведен на рис. 2.43. Младшие его разряды Д3—До определяют возможность передачи данных по соответству- ющему каналу. Запись «О» в разряд запрещает передачу данных по каналу. Четвертый разряд Д4 устанавливает порядок обслужи- вания запросов на передачу данных по каналам. Содержание пя- того разряда определяет нормальный или удлиненный процесс за- писи по КПДП. При удлиненном процессе его окончание определи- I Д7|Дб Д5 |д" Ai ~До| Каналы | I—I О'атключен / -Включен 3 О- установленный 1 - перемещаемый О- нормальный g / - удлиненный I g^g 7 - Уста нов автоматичес - кого отключения кана- ла по импульсу К С 7 - У с та но в режима авто- матической загрузки канала 2 Рис. 2.43. Формат управляющего слова, записываемо- мого в регистр управления схемы КР580ИК57 ется подачей сигнала на вход ГОТОВ схемы с ВУ. Запись «1» в шестой разряд Д6 управляющего слова приводит к автоматическо- му отключению канала по окончании передачи массива данных, на что указывает появление положительного сигнала на выходе КС. Канал может быть вновь доступен для передачи данных после записи очередного управляющего слова, в котором в соответствую- щем разряде будет записана «1». При работе схемы в режиме ав- томатической загрузки (в седьмом разряде управляющего слова записана «1») второй канал не будет отключаться после появления сигнала на выходе КС. Отметим, что подача импульса начальной установки на схему приводит к сбросу всех разрядов регистра уп- равления и отключению всех каналов ПДП. В режиме автоматической загрузки (в разряде Д7 записана «1») используются лишь два канала схемы. Канал 2 используется для передачи последовательности массива данных, а регистры ка- нала 3 используются для автоматической загрузки регистров кана- ла 2 после окончания передачи очередного массива. Таким обра- зом, регистры канала 3 используются как буферы данных для ка- нала 2 и к ним возможен программный доступ по окончании про- цесса перезаписи их содержания в регистры канала 2. Канал 3 может быть доступен в том случае, если в третьем раз- ряде управляющего слова будет записана «1». При работе схемы в этом режиме все, что необходимо делать для передачи последова- 78
тельности различных массивов, — это записывать по МД микро- ЭВМ в регистры канала 3 параметры нового массива по оконча- нии процесса перезаписи. Начало процесса перезаписи иницииру- ется схемой после появления импульса на выходе КС и представ- / массив 2 массив J массив ^MUUUUUUUL На входе схемы МД микро - ЗВМ Флаг перезаписи Время Рис. 2.44. Работа схемы КР580ИК57 в режиме автоматической загрузки КС ляет собой первый цикл ПДП для нового массива. Цикл перезапи- си автоматически отображается записью «1» в четвертый разряд регистра состояния (флаг перезаписи). Для записи новых данных в регистры 3 МП БИС должна считывать содержание регистра состояния схемы и определять состояние флага перезаписи. Запись новых данных в регистры канала 3 разрешена только по окончании процесса перезаписи содержа- ния регистров из канала 3 в ка- нал 2 (флаг перезаписи уста- новлен в «О»). Временные диа- граммы, иллюстрирующие ра- боту схемы в режиме автома- тической загрузки, приведены на рис. 2.44. Помимо флага перезаписи регистр состояния указывает, в каналов передачи каждый [^7 ^6 ^5 Др Дз Д? Al ^о| Не исполь- зуются канала О 1 -------^2 -------► З Флаг перезаписи Рис. 2.45. Формат слова, считываемого из регистра состояния схемы КР580ИК57 каком из четырех окончился процесс массива. Для этого канал в регистре состояния имеет свой разряд КС, указывающий на конец счета (рис. 2.45). В разряд конца счета регистра со- стояния будет записываться «1», когда па выходе КС схемы по- является сигнал, указывающий на конец массива по соответствую- щему каналу. Все разряды КС будут сбрасываться при цикле чте- ния содержания регистра состояния. Флаг перезаписи регистра состояния может сбрасываться лишь в следующих случаях: а) при подаче импульса начальной установ- ки на вход СБРОС схемы; б) при снятии режима автоматической загрузки с помощью управляющего слова; в) в момент окончания 79
перезаписи содержания регистров, при работе в режиме автомати- ческой загрузки. Отметим, что регистр управления и регистр состояния имеют в схеме один и тот же адрес. Различие в обращении к ним проявля- К580 ИК5Т Ч.ПАМЯТЬ 3. ПАМЯТЬ Ч.ВВ З.ВВ Ч.ПАМЯТЬ\ 3, ПАМЯТЬ Ч, ВВ З.ВВ 5) К 580 ИК51 З.ВВ Ч.ВВ Ч. ПАМЯТЬ 3.ПАМЯТЬ CQ СЪ Ч. ПАМЯТЬ 3. ПАМЯТЬ Ч.ВВ З.ВВ I Рис. 2.46. Подключение схемы КР580ИК57 с МУ микро-ЭВМ при различных способах адресации к ней ется в том, что в регистр управления можно только записывать ин- формацию, а из регистра состояния — только считывать. Подключение микросхемы КР580ИК57 к микро-ЭВМ при обра- щении к ней как к УВВ показано на рис. 2.46, а. При обращении к схеме как к ячейкам памяти схема должна подключаться к МУ так, как показано на рис. 2.46, б. § 2.6. Организация временных интервалов в микро-ЭВМ Для организации временных интервалов при работе микро- ЭВМ может быть использован любой счетчик сигнала, работаю- щий на сложение или вычитание. В качестве входных импульсов на счетчик подают либо синхросигнал тактового генератора МП БИС, либо сигнал от отдельного задающего генератора. Для ор- ганизации временных интервалов в микропроцессорных системах, построенных на МПК серии К580, применяется специальная мик- росхема интервального таймера КР580ВИ53. Интервальный таймер (КР580ВИ53). Микросхема КР580ВИ53 представляет собой программируемый трехканальный таймер-счет- чик, вырабатываемый временные интервалы, управляемые про- граммой. Три канала программируются и работают независимо друг от друга. Длительность интервалов может задаваться про- граммно в двоичной или двоично-десятичной форме записи. Для каждого канала имеется возможность задания одного из шести ре- жимов работы: выдачи сигнала прерывания по счету до конечного числа; программируемого ждущего одновибратора; генератора так- товых импульсов, генератора прямоугольных импульсов, програм- мно-управляемого строба; схемотехнически управляемого строба. Процесс формирования временных интервалов в каждом кана- ле может управляться (начинаться, останавливаться или иници- ироваться вновь) внешним сигналом, подаваемым на вход разре- шения работы. Работа схемы тактируется сигналами внешнего ге- 80
нератора с частотой до 2 МГц. Для микро-ЭВМ схема представля- ется либо как устройство ввода—вывода, либо как ОЗУ. Структура микросхемы КР580ВИ53 приведена на рис. 2.47. Уп- рощенно схему можно представить в виде буфера канала данных БД, схемы выборки канала ВК., определяющей, к какому каналу обращается микро-ЭВМ, и трех независимых каналов. Каждый ка- нал включает в себя счетчик Сч, регистр режима РгР, в который записывается управляющее слово, схемы управления СУ и синхро- низации канала СС и 16-разрядный счетчик. Д7—До — двунаправленная магистраль данных с тремя состоя- ниями, используемая для передачи данных и управляющих слов между микро-ЭВМ и выбранными регистрами. ВМ (выбор микросхемы) — вход для подачи сигнала выбора схемы. ЧТ (чтение)—вход, на который подается сигнал на выдачу данных из внутренних регистров схемы на МД микро-ЭВМ. ЗП (запись) — вход, используемый для записи данных из МД микро-ЭВМ в схему. 4—559 81
Ao, Ai — входы — используются для сообщения выбора одного из каналов или регистра управления. Ниже приведены коды выборки счетчиков регистра управления каналов: Входы Загрузка счетчи- ВМ ЧТ ЗП Ло ков: 0 0 1 0 0 0 1 0 1 0 0 1 2 0 1 0 1 0 Запись слова типа работы Считывание счет- 0 1 0 1 1 чиков: 0 0 0 1 0 0 1 0 0 1 0 1 2 0 0 1 1 0 КР580ВИ53 не вы- брана 0 0 1 1 1 То же 1 — — — > 0 1 1 — — РО—Р2 — входы разрешения работы (начальной установки ка- налов 0—2). ТИО—ТИ2 — входы тактовой ча- стоты каналов 0—2. ВыхО—Вых2 — выходы каналов О—2. Подключение микросхемы КР580ИК59 к микро-ЭВМ. осуществля- ют следующим образом. Входы выбор- ки каналов Ао, Д1 соединяют с Ло и магистрали адреса микро-ЭВМ (рис. 2.48), входы — выходы таймера Д1—До подключаются к МД. Вход ВМ выбор- ки микросхемы подключается либо не- посредственно к МА при линейном ме- тоде адресации, либо в больших систе- мах через дешифратор адреса. На вхо- ды ЗП, ЧТ подаются соответственно при линейном методе адресации сигна- Рис. 2.48. Схема подключе- ния интервального таймера к микро-ЭВМ лы Ч. ПАМЯТЬ, 3. ПАМЯТЬ, а при использовании дешифратора — сигналы Ч.ВВ, З.ВВ. При создании задержек программа вместо использования временных циклов запускает один или несколько каналов в нужном режиме. По окончании счета таймер должен прервать работу МП БИС. В этом случае выходы каналов подклю- чаются по входам запроса прерывания БПП, что позволяет создать многоуровневую систему временных интервалов. Программирование и режимы работы микросхемы КР580ВИ53. Режимы работы микросхемы КР580ВИ53 задаются при начальной установке. Каналы схемы полностью независимы друг от друга и каждый может иметь свой режим работы. Счетчик каналов пред- ставляет собой 16-разрядный счетчик с предустановкой, работаю- 82
щей на вычитание в двоичном ли- бо в двоично-десятичном коде. Та- ким образом, загрузка всех «О» в счетчике канала дает максимальное число при счете (216 при работе в двоичном коде или 104 при работе в двоично-десятичном коде). Следует отметить, что, поскольку счетчик ра- ботает на вычитание, конечным чиС' лом, на которое будет реагировать схема управления канала, является число «О», а начальным — число, за- груженное в счетчик с МД микро- ЭВМ. Существуют шесть режимов работы схемы. Режим 0 — выдача сигнала прерывания по конечному числу. При работе по этому режиму на вы- ходе канала появляется уровень «О» сразу же после установления режи- ма работы. После загрузки числа в счетчик канала выход остается в«0> и счетчик начинает считать, если на входе разрешения установлен уро- вень «1» (рис. 2.49, а). После того как достигается конечное число, на выходе устанавливается уровень «1» и остается до тех пор, пока канал не будет перезагружен режимом ра- боты или новым числом. Перезагрузка канала во время счета приводит к следующему: за- грузка первого байта останавливает текущий счет. Загрузка второго бай- та начинает новый счет. Если во время счета на входе разрешения будет установлен уровень «О», то счет остановится и будет возобнов- лен при установке на входе разре- шения уровня «1» (рис. 2.49, б). Режим 1 —программируемый ждущий мультивибратор. В этом ре- жиме выход канала после загрузки числа в счетчик канала устанавли- вается в уровень «О» после первого тактового сигнала, следующего за передним фронтом на управляющем входе. Одновременно начинается счет, и при достижении конечного ТИл ЗПл. BblXSL г)— ЗПЛ. PSL д) Режим 2. 3 2 1 О п- 4| U 3 2 1 f.___ Время 4- ЗП -п- Вых Л- е) ЗПЛ- U3 2 1 \0(4)3 2 1 0(3) п-3 . Режим 3 Р л Выхп^л. Выхп-5^- jfl-IL PJL Выхп=№ Время 4 3 2 1 ОМЗ 2 и) Режим 4 Время Рис. 2.49. Временные диаграм- мы работы каналов по различ- ным режимам 4* 83
числа на выходе устанавливается уровень «1» (рис. 2.49, в). Таким образом, в этом режиме канал представляет собой ждущий муль- тивибратор с программно устанавливаемой длительностью сигна- лов. Подчеркнем следующие свойства режима: 1) если в процессе счета загрузить в счетчик другое число, то текущая длительность сигнала не будет изменена. Импульс новой длительности форми- руется при поступлении на управляющий вход следующего перед- него фронта сигнала; 2) при поступлении во время счета на управ- ляющий вход переднего фронта сигнала счет будет начат сначала (рис. 2.49, г); 3) текущее число может быть считано в любой мо- мент времени без изменения длительности сигнала. Режим 2 — генератор тактовых сигналов. В этом режиме на выходе канала через заданное число периодов тактовой частоты появляется уровень «О» длительностью в один период тактовой частоты. Число периодов определяется числом, записанным в счет- чике канала. В случае записи нового числа между сигналами на выходе текущий период не будет изменен, но последующие перио- ды будут иметь новое значение (рис. 2.49, д). Счет идет только при подаче уровня «1» на управляющий вход. При подаче на этот вход «О» уровня счет прекращается, а при восстановлении уровня «1» начинается сначала (рис. 2.49, е). Таким образом, управляющий вход позволяет осуществить схемотехническую синхронизацию ге- нератора. Так как после установления режима работы канала сиг- нал на выходе будет уровня «1» до окончания загрузки счетчика» то можно осуществить и программную синхронизацию (рис. 2.49, д). Режим 3 — генератор прямоугольных сигналов. В этом режи- ме на выходе канала будет высокий уровень в течение половины интервала времени, заданного числом N (если число четное), и уро- вень «О» в течение другой половины. Если N— нечетное число, то на выходе будет уровень «1» в течение (Af+1)/2 тактов и уровень «О» в течение (N—1)/2 тактов (рис. 2.49, ж). Управляющий вход как и в режиме 2, может использоваться для синхронизации (рис. 2.49, з). Режим 4 — программно-управляемый строб. После установле- ния режима 4 на выходе канала появляется уровень «1». Когда чис- ло полностью загружено в счетчик канала и на управляющий вход подан сигнал уровня «1», начинается счет и при достижении конеч- ного числа на выходе появляется импульс уровня «О» длительно- стью в один период тактовой частоты (рис. 2.49, и, к). Если счетчик перезагружается между выходными импульсами, то текущее время задержки не будет изменено, а последующее примет новое значе- ние. Счет можно приостановить подачей сигнала уровня «О» на управляющий вход. Перезагрузка счетчика канала в этом случае будет вызывать временную задержку по новому числу после того» как на управляющем входе будет восстановлен сигнал уровня «1». Режим 5 — схемотехнически управляемый строб. Работа ка- нала в этом случае аналогична работе по режиму 4 с той разницей, что счетчик канала после загрузки начинает счет только по перед- нему фронту на управляющем входе. Кроме того, если во время 84
счета на управляющем входе появится передний фронт сигнала, то счет будет начат сначала (рис. 2.49, л, м). Режим работы каналов схемы КР580ВИ53 выбирают с помощью простых команд вывода данных из микро-ЭВМ путем записи управ- ляющего слова в регистр режима канала (Ло=1, Л1 = 1). Формат управляющего слова, содержание и назначение его отдельных раа* рядов приведены на рис. 2.50. д? Дб Д5 д* Аз Аг Д> Ао SC1 SCO RL1 RLO М2 М1 МО вод J SC1 SCO Выбор 0 0 / 1 0 1 0 1 канала 0 канала / канала 2 Запрещенная комбинация RL1 RL0 Пояснение 0 1 0 1 0 0 _ 1 1 Чтение«на лету» Чтение/запись только старших восьми разрядов Чтение/ запись только младших вось ми разрядов Чтение/ запись сначала млад- ших, а затем старших восьми разрядов числа Рис. 2.50. Формат управляющего слова, записываемого в схему КР580ВИ53 I ВСД Пояснение 0 1 16 - разрядный двоичный счетчик Двоично-десятичный счетчик {четыре декады) При использовании таймера программа должна задать каждо- му каналу режим работы и число для счетчика (один или два 8-разрядных данных). Порядок программирования произвольный, т. е. управляющие слова и константы для счетчиков всех каналов могут быть загружены в любой последовательности с учетом двух ограничений: 1) управляющее слово записывается в программируе- мый канал первым; 2) счетчик канала загружается нужным числом в такой последовательности: Управляющее слово............ 2 То же........................ 0 » ........................ 1 Восемь разрядов числа: младшие................... 1 старшие................... 1 младшие................... 2 85
старшие................... 2 младшие................... О старшие................... О Иногда необходимо считывать число из счетчика канала в про- цессе работы и в зависимости от его величины принять соответст- вующее решение. Существуют два метода считывания чисел. Первый — считыва- ние с использованием простых операций ввода из выбранного ка- нала. В этом случае необходимо обеспечить неизменность числа в счетчике канала во время чтения. Это обеспечивается либо соответ- ствующим сигналом на управляющем входе, либо посредством внешней логики, препятствующей появлению тактовых сигналов на входе ТИ канала. Следует помнить, что если в управляющем слове было указано на чтение 2 байт, то до подачи команды записи в этот канал они обязательно должны быть оба прочитаны. Второй метод — чтение содержимого счетчика канала без при- остановления счета, чтение «на лету». Чтение при таком способе осуществляется с помощью записи специальной команды: д? Ав As At Аз Az А1 До SCI SCO 0 0 — 1 I — Получив команду, схема организует запись содержания счет- чика канала в специальный регистр и сохраняет его там. При этом типе чтения необходимо считывать из канала то число байтов, ко- торое указано в управляющем слове. § 2.7. Организация обмена данными с микро-ЭВМ по каналу связи в последовательном коде Во многих случаях ВУ, с которыми микро-ЭВМ обменивается информацией, находятся на значительном расстоянии или не могут выдавать или получать информацию в параллельном коде (теле- фонная, телеграфная связь). В таких случаях целесообразно орга- низовывать обмен данными по одному каналу связи в последова- тельном коде. Процесс обмена данными может носить как синхрон- ный, так и асинхронный характер. Микро-ЭВМ может ис- пользоваться для двунаправленного обмена данными по каналу связи. Основные задачи, решаемые при организации подобного обмена данными между микро-ЭВМ и ВУ, можно свести к следующим: 1. Выбор направления обмена и типа обмена (синхронный или асинхронный). 2. Организация формата передаваемых данных и их объема. 3. Выбор проверок правильности передаваемой или полу- ченной информации по каналу. 4. Организация непосредственной связи микро-ЭВМ с ВУ с целью определения их готовности к обме- ну данными. 86
Как правило, скорость обмена данными по каналам связи су- щественно меньше тактовой частоты работы микро-ЭВМ, и для ра- ционального использования .времени ее работы в микропроцессор- ные комплекты входят специальные микросхемы, осуществляющие реализацию указанных задач. Функция микро-ЭВМ при этом сво- дится лишь к соответствующему программированию режимов их работы, определению состояния их в процессе работы, записи или получению данных в параллельном коде. Данные записываются в микро-ЭВМ путем обращения к схеме как ВУ или адресу памя- ти. Готовность данных по вводу в микро-ЭВМ указывается схемой с помощью подачи сигнала запроса прерывания. Вводятся данные с помощью обращения к схеме как к ВУ или адресу памяти. В МПК серии К580 входит микросхема универсального синх- ронно-асинхронного программируемого приемопередатчика КР580ИК51. Схема позволяет организовать двунаправленный об- мен данными между микро-ЭВМ и ВУ в различных режимах. Рас- смотрим организацию процесса обмена данными между микро-ЭВМ и ВУ с помощью схемы КР580ИК51 более подробно. Универсальный синхронно-асинхронный программируемый прие- мопередатчик (УСАПП) (КР580ИК51). Микросхема КР580ИК51 может использоваться для организации двунаправленного обмена данными в последовательном коде между микро-ЭВМ и ВУ. В ка- честве ВУ могут использоваться клавиатура, цифровой или телеви- зионный дисплей, цифропечатающие устройства, графопостроители и т. д. Обмен информации с подобными устройствами осуществля- ется по одному каналу, на входе и выходе которого устанавливают УСАПП, работающие в режимах приема и передачи информации. Обмен информацией с микро-ЭВМ осуществляется по 8-разрядной двунаправленной МД. Схема может быть программно установлена в один из пяти ре- жимов работы: асинхронная передача; асинхронный прием; син- хронная передача; синхронный прием данных с внутренней синхро- низацией; синхронный прием данных с внешней синхронизацией. Скорость обмена информацией ВУ осуществляется в синхрон- ном (56 000 бит/с) или в асинхронном (9600 бит/с) режиме. Длина передаваемых символов — 5—8 разрядов. При передаче информации схема преобразует данные в парал- лельном коде в последовательность символов со служебной инфор- мацией и выдает ее в канал с различной (программно-задаваемой) скоростью. В зависимости от режима работы (синхронный или асинхронный) служебная информация, добавляемая схемой к по- следовательности данных, будет различна. При приеме информации схема получает последовательность символов со служебной информацией по каналу связи, выделяет данные в нем, преобразует их в параллельное 8-разрядное слово и передает их в микро-ЭВМ. Данные могут передаваться по каналам связи в синхронном или асинхронном режиме. Передача данных осуществляется всегда на- чиная с младшего разряда До. С точки зрения кодирования и деко- 87
жирования полезной информации различие в режимах проявляется в расположении служебной информации в потоке передаваемых символов. В асинхронном режиме перед началом передачи каждого дан- ного располагается стартовый разряд с «О», записанным в нем. Дан- ное может содержать от пяти до восьми разрядов. Далее, за раз- рядами данных, имеется разряд четности и один или два установ- ленных в «1» разряда останова (рис. 2.51, а). Количество разрядов в передаваемом данном, выбор проверки на признак четности или 1 или ? а) Стартовый Количества разрядов в данных разряда Стартовый ' разряд устанавливается программно останова / разряд s) Синхросимвол 2. Разряд четности Данное Рис. 2.51. Формат данных при асинхронном (а) и синхронном (б) режимах работы КР580ИК51 нечетности данных, а также количество разрядов останова задают- ся программно. При отсутствии информации в канале связи уровень сигнала в нем устанавливается в состояние «1». Появление старт разряда с «О», записанным в нем, информирует о начале процесса передачи данного. Для проверки правильности передача данного используется од- на из двух проверок: на признак четности или нечетности. При та- кой проверке подсчитывается количество разрядов в данном, уста- новленных в «1». При проверке на признак четности в разряд чет- ности записывается «1», если количество разрядов данных с запи- санными «1» плюс содержание разряда четности будет числом чет- ным. При проверке на признак нечетности в разряд четности запи- сывается «1», если количество разрядов данных с записанными «1» плюс содержание разряда четности будет числом нечетным. В табл. 2.10 приведены примеры записи информации в разряд Таблица 2.10 Данное Количество ,1* в разрядах Запись в разряд четности при проверке на признак четности признак нечетности 00110311 4 0 1 оюоюоо 2 0 1 оозэоюо 1 1 0 88
четности при проведении проверки на признак четности или нечет- ности в зависимости от передаваемых 8-разрядных данных. Разряды останова с записанными в них «1» используются для указания конца передачи данных. Уровень «1» будет присутство- вать в канале до поступления следующего стартового разряда, ука- зывающего на начало передачи нового данного. При синхронной передаче данные передаются по каналу в виде массива без служебной информации между данными. В начале Рис. 2.52. Упрощенная схема КР580ИК51 (а) и ее условное обозначе- ние (б) массива передаются один или два синхросимвола (рис. 2.51,6). Количество синхросимволов задается схеме программно с помощью инструкции режима. Упрощенная структура микросхемы КР580ИК51 состоит из двух каналов: приемного и передающего, имеющих общую связь с микро-ЭВМ по МД и полностью раздельными каналами связи с приемопередающими устройствами (рис. 2.52). Обмен информаци- ей по каналам связи может происходить одновременно и синхрони- зируется тактовыми сигналами, поступающими от ВУ для каждого канала отдельно. В схеме можно выделить пять основных блоков: передатчик Пд, приемник Пр, блок контроля состояния ВУ (5KJ и буфер ввода—вывода 5Фвв, блок управления записью чтением БУзц . Последний включает в себя регистр передачи данных РгПРД, регистр команд управления РгУ, регистр принимаемых данных РгПД и регистр состояния схемы РгС. Передатчик получает данные в параллельном коде от мик- ро-ЭВМ, преобразует их в последовательный код, добавляет слу- жебную информацию и выдает их на свой выход ВыхПд (выход 80
передатчика). При работе в асинхронном режиме схема КР580ИК51 добавляет перед началом данных старт разряд с за- писанным в нем «О», разряд четности, в котором может записы- ваться признак четности или нечетности, и один или два разряда останова. При синхронном режиме схема будет добавлять после каждого данного лишь разряд четности (если это предусмотрено программно). Если к моменту окончания передачи данного схема не получает от микро-ЭВМ новой посылки, то, чтобы не потерять синхронизма работы ю внешним приемником, на выход ВыхПд вы- даются синхросимволы. В обоих режимах данные передаются на выход ВыхПд только при наличии «1» в разряде До (Р. Пер — разрешение передачи) управляющего слова и уровней «О» на входе ГПрТ (готовность приемника терминала) схемы КР580ИК51. Если в схему не записаны данные, то на выходе ВыхПр будет постоянно присутствовать уровень «1». На выходе ВыхПд может выдаваться сигнал отключения кана- ла (нулевой уровень потенциала), если в третьем разряде Дз уп- равляющего слова записана «1». Для синхронизации передачи данных по выходу ВыхПд служит вход СПд (синхронизация передатчика), на который подаются син- хросигналы от приемника данных. При синхронном режиме данные выдаются на выход ВыхПд при каждом отрицательном фронте сиг- нала на входе СПд, Таким образом, частота выдачи информации на выходе передатчика равна частоте синхросигнала на входе СПд. Для асинхронного режима частота выдачи данных может программно устанавливаться в 16 или 64 раза меньше частоты синхросигнала на входе СПд. Канал передатчика имеет еще два выхода: ГПд (готовность пе- редатчика) и КПд (конец передачи). Выход ГПд используется для информирования микро-ЭВМ о готовности схемы КР580ИК51 принять новые данные или команды управления. Сигнал с выхода ГПд может использоваться как сигнал на запрос прерывания МП БИС. При работе по считываемому типу прерываний МП БИС может определять состояние сигнала на этом выходе с помощью чтения содержания регистра состояния схемы и определенйя состо- яния разряда До ГПД в нем. В этом разряде будет записана «1» всегда, как только в регистре передачи данных схемы КР580ИК51 не будет полезной информации. На выходе ГПд уровень «1» будет установлен в том случае, если в разряде До (разрешения переда- чи) управляющего слова записана «I», на входе ГПрТ — «О» и ре- гистр передачи данных пуст. На выходе ГПд будет установлен «О», как только в схему КР580ИК51 запишется новое данное. На выходе КПд устанавливается уровень «1», как только пре- образователь параллельного кода в последовательный канал пере- датчика не будет содержать данных. При работе в синхронном ре- жиме, в том случае если микро-ЭВМ не успела записать новые в передатчик, сигнал на выходе КПд устанавливается в «1», как только схема выдает синхросигнал на <своем выходе ВыхПр. Сброс 90
сигнала на выходе КПд происходит в момент записи новых данных в схему КР580ИК51. Приемник получает последовательность символов по каналу ВхПр (вход приемника), выделяет данные, преобразует их в парал- лельный код и записывает в регистр принимаемых данных. В асинхронном режиме перед началом приема данных на входе ВхПр присутствует уровень «1». Наличие «О» воспринимается схе- мой как старт-разряд, сообщаемый перед каждым данным. Опре- делив старт-разряд и получив данные, разряд четности и разряды останова, приемник преобразует их в параллельный код и устанав- ливает сигнал «1» на выходе ГПр (готовность приемника). Сигнал на этом выходе указывает о готовности данных приемника ко вво- ду. Сигнал может быть использован как сигнал запроса прерыва- ния. При работе по считываемому типу прерываний МП БИС мо- жет определять состояние сигнала на этом выходе с помощью чте- ния содержания регистра состояния схемы и определения содержа- ния его разряда Д\(ГПр). Если к моменту окончания приема оче- редного данного микро-ЭВМ не считала ранее записанные данные из регистра принимаемых данных, то ранее записанные данные те- ряются. Для отображения факта потери данных при записи вновь поступивших данных схема записывает «1» в разряд ошибки пере- полнения (0/7) регистра состояния. При определении ошибки по четности принимаемых данных схема автоматически записывает «1» в разряд ошибки четности (04) регистра состояния. При определении ошибки в разряде останова (уровень «О») схе- ма автоматически записывает «1» в разряд ошибки формата (ОФ) регистра состояния. Отметим, что запись «1» в любой из разрядов ошибок-регистра состояния никак не нарушает динамику работы схемы. Сбрасываются разряды с помощью записи команды началь- ной установки разрядов ошибок. Существуют два режима работы при синхронном приеме данных по входу ВхПр. Режимы отличаются методом синхронизации прие- ма данных. При внутренней синхронизации после приема очередного раз- ряда по входу ВхПр содержание буфера приемника сравнивается с синхросимволами, записанными в схему в процессе выполнения программы ее начальной установки. При их совпадении на выходе Вид СИНХР в середине последнего разряда принимаемых данных формируется уровень «1», указывающий на достижение схемой ре- жима внутренней синхронизации. Если схема запрограммирована на прием в конце каждого данного (в том числе и синхросимволов) разряда четности, то сигнал «1» на выходе Вид СИНХР будет фор- мироваться схемой в середине разряда четности. Сигнал «О» на вы- ходе Вид СИНХР будет устанавливаться автоматически после каж- дого чтения байта состояния схемы. Состояние сигнала на выходе Вид СИНХР отображается в разряде СИНХР регистра состояния схемы. При внешней синхронизации вывод Вид СИНХР используется как входной зажим для подачи сигнала внешней синхронизации. 91
Поступление уровня «1» на этот вход снимает режим внешней син- хронизации. Сигнал на входе Вид СИНХР может быть снят после одного периода синхроимпульсов, поступающих на вход СПр (син- хронизация приема). На вход СПр подают тактовые сигналы от внешнего передатчи- ка, синхронизирующие процесс передачи посылок по каналу связи. Так же как и при синхронном приеме данных, частота приема дан- ных равна тактовой частоте импульсов на входе СПр. При асин- хронном приеме частота может быть программно установлена в 16 или 64 раза меньше частоты сигнала на входе СПр. Данные запи- сываются в схему при положительном фронте импульсов на входе СПр. Индикация ошибки переполнения и ошибки четности осущест- влена в синхронном режиме, так же как в асинхронном. При потере синхронизации микро-ЭВМ может перевести схему в режим вхождения в синхронизм, тогда во все разряды буфера данных приемника будут записаны «1» и схема начнет работу с отыскания синхросигнала во вновь поступающей посылке данных. Блок контроля состояния В У служит для проверки состояния ВУ, с которыми происходит обмен информацией по каналам связи. Для каждого канала (приемного и передающего) в блоке контроля имеется по одному одноразрядному входу и выходу. З.ПдТ (запрос передатчика терминала) используется для пода- чи выходного сигнала общего назначения. В частности, сигнал с выхода может использоваться для информирования внешнего пере- датчика о готовности канала приемника схемы к приему информа- ции и проверки готовности передатчика к работе. ГПдТ (готовность приемника терминала) служит для подачи входного сигнала общего назначения. Этот вход, в частности, ин- формирует схему о готовности внешнего передатчика к посылке ин- формации по каналу связи. Состояние сигнала на этом входе мо- жет быть определено по разряду Д? регистра состояния схемы при его чтении. З.ПрТ (запрос приемника терминала) задействуется для подачи выходного сигнала общего назначения и, в частности, для подачи сигнала запроса о готовности приемника терминала принять дан- ные. На ГПрТ (готовность приемника терминала) подается входной сигнал общего назначения. Вход может быть использован для ин- формирования схемы о готовности приемника терминала принять в ответ на сигнал запроса по выходу З.ПрТ. Нулевой потенциал на этом входе при наличии «1» в разряде До управляющего слова, за- писанного при начальной установке схемы, разрешает передачу данных на выходе ВыхПд. Если во время передачи данных на вхо- де ГПрТ будет установлен уровень <1» или в схему будет записано управляющее слово с разрядом До, установленным в «О», то пере- дача текущих данных будет заканчиваться обычным способом, пос- ле чего выход ВыхПд отключится. 92
Буфер ввода — вывода включает в себя четыре буферных ре- гистра. Регистры данных и управления используются только для записи информации из МД микро-ЭВМ в схему. Регистры состоя- ния и принимаемых данных считывают информацию на МД мик- ро-ЭВМ. Обращение к соответствующему регистру схемы осущест- вляется блоком управления записью/чтением по сигналам на вхо- дах ВУ, У/Д,'ЗП, 1ГГ Ниже приведено состояние сигналов на этих входах для выбора нужного регистра: Входы у7д ЧТ ЗП ВУ Выдача данных из КР580ИК51 на МД микро-ЭВМ 0 0 1 0 Запись данных из МД микро-ЭВМ в КР580ИК51 0 1 0 0 Выдача содержания регистра состоя- ния схемы на МД микро-ЭВМ . . 1 0 1 0 Запись управляющего слова в ре- гистр управления КР580ИК51 .... 1 1 0 0 МД КР580ИК51 отключена —ч 1 1 0 МД КР580ИК51 отключена — — — 1 Блок управления записью!чтением имеет пять входных сигна- лов, синхронизирующих как процессы внутренней пересылки дан- ных в схеме, так и процесс обмена информацией между схемой КР580ИК51 и микро-ЭВМ. К ним относятся: СИНХР (синхронизация)—вход синхросигнала. Обычно в ка- честве синхросигнала используются сигналы от тактового генера- тора МП БИС. ВУ (выбор устройства) — вход сигнала выбора микросхемы. ЗП (запись) служит для подачи входного сигнала, разрешающе- го передачу данных и управляющего слова из МД микро-ЭВМ в схему? ЧТ (чтение) необходим для подачи входного сигнала, разрешаю- щего передачу данных и информации состояния из схемы на МД микро-ЭВМ. _______ У!Д • (управление/данные) — вход для подачи сигнала записи чтения данных или управляющих сигналов. Уровень «О» на входе указывает на возможность записи или считывания данных. Уровень «1» на входе разрешает записывать в схему управляющие слова или считывать информацию о состоянии схемы. СБРОС — установка схемы в исходное состояние. Оставшиеся выводы задействуются для подачи питания ( + 5 В), подключения напряжения смещения к подложке. Программирование микросхемы КР580ИК51. Сразу после на- чальной установки (внешней или внутренней) в схему должны быть записаны команды начальной установки. В результате запи- си управляющих слов схеме сообщаются скорость приема/передачи данных, количество разрядов в каждом данном, число разрядов останова, режим работы (синхронный или асинхронный), наличие 93
или отсутствие разряда четности в конце каждого данного. При синхронном режиме приема данных указывается также тип синхро- низации (внутренний или внешний). Управляющие слова разделя- ют на два типа: инструкция режима и инструкция команды. После- Рис. 2.53. Алгоритм ра- боты схемы КР580ИК51 Нет 23Г Д/ Д0 Скорость о5ме на данными Синхронный Асинхронный 1:16 1:6И -Дз Д2 О Длина слова (в разрядах) ~5 6 7 8 Дв Т Д^ ' X о Контроль четности Нет контроля По признаку нечетности По признаку четности Д7 Дв О 1 О 1 Длина стоп разряда Запрещено 1,5 2 Дв о Вид синхро- низации Внутренняя Внешняя 2 синхросимвола 1 синхросимВол^ Рис. 2.54. Формат инструкции режима, записываемой в схему КР580ИК51, после ее начальной установки о о 1 1 о о 1 О О Д1 о 1 о 1 о 1 о довательность записи инструкции режима, синхросимволов, инст- рукции команды для запуска схемы в работу приведены на рис. 2.53. Сразу после операции начальной установки схемы (внутренней или внешней) в регистр управления должна быть записана инструкция режима, определяющая основные характеристики работы схемы. Формат инструкции режима при асинхронном и синхронном режи- 94
Таблица 2.11 Разряд Обозначение Содержа- ние Пояснение Дь Разрешение передачи ин- формаций 0 Передача информации невоз- можна 1 Передача информации воз- можна Дг Запрос о готовности пере- датчика терминала передать данные 0 — 1 Записывает «0> на выходе ЗПдТ Д2 Разрешение приема ин- формации (Р.Прм) 0 Прием информации невоз- можен 1 Прием информации возмо- жен Дз Отключение канала пе- редатчика 0 Нормальная работа канала 1 Уровень «0» на выходе кана- ла Д4 Начальная установка раз- рядов ошибки 0 — 1 Установка разрядов ошибки регистра состояния в исходное состояние Дб Запрос о готовности при- емника терминала принять данные 0 — 1 Записывает «0> на выходе З.ПрТ Дв Программный сброс схемы в исходное состояние 0 — 1 Возвращает схему к установ- ке режима работы Д1 Установ режима поиска синхроимпульсов 0 — 1 Устанавливает режим поиска синхроимпульсов 95
мах работы схемы приведен на рис. 2.54. После записи инструкции режима и синхроимпульсов схема готова к работе. Все управляющие слова, записываемые в схему после инструк* ции режима, будут восприниматься ею как инструкция команды. Последняя может записываться в любое время в процессе обмена информацией по каналам связи. Инструкция команды должна за- писываться в схему всегда после инструкции режима и синхросим- волов (см. рис. 2.53). Формат инструкции команды приведен в табл. 2.11. Начальная установка схемы по сигналу на входе СБРОС (внешняя) или с помощью «1» в разряде Де инструкции команды (внутренняя) возвращает схему в исходное состояние и приводит к необходимости записи новой инструкции режима. В системах передачи данных часто необходимо контролировать состояние схемы, устанавливаемое в процессе обмена данными. Для этой цели задействуется регистр состояния, в разрядах которого отображаются сбои, ошибки и наличие сигналов на управляющих зажимах схемы. Микро-ЭВМ может считывать содержание- регист- ра состояния схемы в любой момент времени в процессе обмена данными. Формат регистра состояния приведен в табл. 2.12. Нали* чие ошибок при обмене информации по каналам связи фиксируется в разрядах ошибок регистра состояния, но не воздействует на ре- жим работы схемы. Разряды ошибок устанавливаются в исходное состояние при записи инструкцией команды. Таблица 2.12 Разряд Обозначе- ние Пояснение До- ГПд В разряд записывается «1>, если буфер данных передат- чика не содержит данных Д1 ГПр При «1» приемник готов выдать данные Д2 КПд При «1> передатчик закончил преобразование данных Дз ОЧ В разряд ошибки четности записывается «1>, если обна- руживается ошибка четности. Разряд устанавливается, в «0> записью в разряд Д4 инструкции команды Д4 оп В разряд ошибки переполнения записывается «1>, если микро-ЭВМ не считывает данные из приемника к моменту записи новой посылки. Разряд устанавливается в <0> записью в разряд Д4 инструкции команды Де ОФ В разряд ошибки формата записывается 1 (только при асинхронном режиме), если в конце данного не обнаружи- вается в стоп разряде логическая 1. Разряд устанавливает- ся в «0> записью «1> в разряде Д4 инструкции команды Де Вид СИНХР Состояние разряда такое же, как состояние сигнала на выходе Вид СИНХР Д7 ГПдТ Состояние разряда такое же, как состояние сигнала на входе ГПдТ Подключение микросхемы КР580ИК51 к магистралям мик- ро-ЭВМ показано на рис. 2.55. Делитель частоты обеспечивает де- ление тактовой последовательности Фг до частоты, необходимой 96
для работы передатчика или приемника. Напряжение смещения подключается к подложке путем соединения выводов 20 и 24, а вы* воды ГПд и ГПр — ко входам запросов блока приоритетных пре- рываний. На вход СБРОС подается сигнал со схемы начальной ус- МУ МА МД Схема дешифра- тора адреса 1 /| 2 2 ZZ 4 Д 5 8 б 9 7 10 гл л 26 >.1 ^оды ГПД \ запросов Ьлока 22 f приоритетных. I Пр прерывании АО До Д1 Дг Дз Ди Д^ Дб Дт — У/Д -^Ч>4/7 1£<>ВУ От схемы начальной уста- jg —-i —---------но’^и'МП БИС---- |g $2 от мп БИС 34 ^ИНХР ^вйЛиНХР $2 om МП БИС ЗВВ Ч ВВ зпРт№- <5 33 Модем или схема с о пряже - ни я по уродин] Делитель частоты 3 --- 20 См ~I Рис. 2.55. Схема подключения микросхемы К580ИК51 к магистралям микро-ЭВМ тановки МП БИС. Выход передатчика, вход приемника, сигналы запросов и подтверждения их готовности подключаются либо к мо- дему, либо к схеме сопряжения по уровню, позволяющей осуществ- лять преобразование ТТЛ-уровней входных и выходных сигналов в уровни, необходимые для работы с ВУ (дисплеем, телетайпом, на- копителем на магнитной ленте и т. д.).
Глава ОСОБЕННОСТИ ПОСТРОЕНИЯ МИКРО-ЭВМ 3 НА МИКРОПРОЦЕССОРНОМ КОМПЛЕКТЕ СЕРИИ К589 § 3.1. Интегральный МПК серии К589 В данной главе на примере МПК серии К589 рассматриваются особенности построения микро-ЭВМ, в которых устройства управ- ления реализованы в виде отдельного узла с использованием ПЗУ или ППЗУ в качестве памяти микрокоманд. Особенности функцио- нирования и проектирования микро-ЭВМ на серии К589 являются общими и для других МПК, ориентированных на аналогичный тип устройства управления. К таким МПК могут быть отнесены серии К583, К584, К589, К1802, К1804 [10]. Интегральные микросхемы серии К589 представляют собой ком- плект электрически и конструктивно совместимых микросхем, пред- назначенных для построения высокопроизводительных модульных микропроцессоров с микропрограммной архитектурой. Микросхемы серии К589 изготовляются по стандартной ТТЛШ- технологии, благодаря чему они полностью совместимы с микро- схемами, имеющими выходные уровни сигналов ТТЛ-микросхемы, требуют одного источника питания, отличаются высоким быстро- действием [3]. В состав серии К589 входят семь типов микросхем: централь- ный процессорный элемент (ЦПЭ), схема ускоренного переноса (СУП), блок микропрограммного управления (БМУ), блок приори- тетного прерывания (БПП), многорежимный буферный регистр (МБР), шинный формирователь без инверсии, шинный формиро- ватель с инверсией, синхронизирующее устройство. Центральный процессорный элемент К589ИК02. Представляет собой двухразрядную секцию операционного узла, допускающую объединение аналогичных ЦПЭ для увеличения разрядности обра- батываемых слов. В состав ЦПЭ (рис. 3.1) входят сверхоператив- ное запоминающее устройство СОЗУ, состоящее из И регистров общего назначения (/?о—Rq и Г), регистр адреса РА, регистр акку- мулятор АС, арифметическо-логическое устройство АЛБ, два муль« типлексора МС\ и МС2, дешифратор выполняемых функций и бу- ферные схемы выходных магистралей [8]. Данные от внешних источников информации поступают в ЦПЭ по одной из трех входных магистралей В, М и К. Результаты вы- числений передаются из ЦПЭ на ВУ по одной из двух выходных магистралей А и Д. Внутри ЦПЭ данные могут храниться в одном из регистров СОЗУ, РА и АС. Данные из входных магистралей, ре- гистров СОЗУ, АС могут поступать на вход АЛУ через два внут- 98
ренних мультиплексора. Входы и выходы CI, СП1, СО, СПО, X, Y служат для организации сдвигов и переноса, возможных при вы- полнении арифметических и логических операций. Если обозначить операнды, поступающие в АЛБ, а^ах и то сигналы на выходах X, У, СО определяются логическими уравнениями X = а0Ьъ v У = V Д(А V V Mi v аоаГ, СО = C1Y у ХУ. Центральный процессорный элемент выполняет операцию в со- ответствии с кодом микрооперации Fo—FQi подаваемым на вход де- шифратора микроинструкций. Дешифратор ДШ микроинструкций Рис. 3.1. Схема ЦПЭ КР589ИК02 (а) и его условное обозначе- ние (6) управляет работой мультиплексоров, выбирает один из регистров СОЗУ и определяет операцию, выполняемую в АЛБ. Синхронизи- руется работа ЦПЭ синхроимпульсами СИ. Для ЦПЭ характерна такая последовательность работы. После прихода положительного фронта сигнала синхронизации на входах Fq—Fa устанавливается код микроинструкции. В соответствии с этим кодом к АЛБ с помощью мультиплексоров подключаются вхо- ды информационных магистралей либо один из регистров СОЗУ или регистр АС. После преобразования этих данных в соответствии с кодом микроинструкции в АЛБ формируется результат, который загружается по отрицательному фронту синхросигнала в указан- ный в той же микроинструкции регистр. Затем содержимое РА и АС через выходной буфер в соответствии с сигналами управления буфером ВА и ВД (выборка адреса и данных соответственно) мо- жет подаваться на выходные магистрали А и Д. Мультиплексоры имеют различные организацию и назначение. Мультиплексор МС\ в зависимости от кода микроинструкции пере- дает на входы АЛБ информацию со входной магистрали Af, АС или из выбранного регистра СОЗУ. Мультиплексор МС2 соединяет со входом АЛБ входные магистрали В, АС или магистраль К. Вы- ходные сигналы второго мультиплексора образованы как поразряд- 99
ная конъюнкция кода на магистрали Г и выбранных информацион- ных сигналов В или АС. Если на магистраль К подавать информа- цию со специальных разрядов микрокоманды, то можно маскиро- вать входы в АЛБ и тем самым значительно увеличивать число реализуемых в ЦПЭ микроопераций. Магистраль К может исполь- зоваться при арифметических операциях для маскирования частей обрабатываемых полей и для передачи констант из памяти микро- команд. Арифметическо-логический блок способен выполнять арифмети* ческие и логические операции, включая двоичное сложение в до- полнительном коде, операции ±1, поразрядное логическое сло- жение и умножение, поразрядное «Исключающее ИЛИ—НЕ» и по- разрядное логическое дополнение. Для выполнения операции сдви- га вправо имеются выводы входа СП(СП1) и выхода СП (СПО). Линии входа и выхода переноса (С/ и СО) предназначены для обеспечения последовательного распространения переноса. Данные на выходы СО и СПО поступают через буферную схему с тремя состояниями, причем разрешается выдача либо СО, либо СПО. Выходы X, Y предназначены для организации ускоренного перено- са произвольной длины слова. Содержание выполняемой микрокоманды определяется функ- циональной (Г-группа) и регистровой (/^-группа) группами микро- инструкции: Г-группа определяется тремя старшими разрядами данных (Гб, Г5, Г4); Г-группа— четырьмя младшими разрядами (Л, Г2, Гь Го). /?-груп- па Регистр F, F, Fi Fo R- груп- па Регистр Ръ F, Fi Fo «0 0 0 0 0 Я8 1 0 0 0 Я1 0 0 0 I i R9 1 0 о- 1 Ri 0 0 1 0 1 т 1 1 0 0 Яз 0 0 I 1 АС 1 1 0 1 1 *4 0 1 0 0 Я5 0 1 0 I *6 0 1 1 0 2 Т 1 0 1 0 «7 0 1? 1 1 АС 1 0 1 1 3 т 1 1 1 1 1 0 АС 1 1 1 1 1 1 1 1 100
Группа R1 включает в себя регистры Ro—Rg, Т, АС и обознача- ется символом Rn, группы 2 и 3 содержат только регистры Т и АС. Форматы и кодировка F- и ^-групп приведены в табл. 3.1 и 3.2 со- ответственно. Система микроопераций и ее описание для произ- вольной, нулевой и единичной информации на магистрали К приве- дены в табл. 3.3 и 3.4. Схема ускоренного переноса К589ИК03. Предназначена для формирования групповых переносов в соответствии с (1.1) Одна схема СУП имеет 17 информационных входов и восемь информа- Рис. 3.2. Схема использования СУП К589ИК03 совместно с ЦПЭ ционных выходов, позволяющих организовать ускоренный перенос для 16-разрядного сумматора. На каждом из выходов СУП сигнал переноса для i-ro разряда формируется согласно уравнению C’n+i = + Y^Yt^Xt-г + Yi-iYi-iYi-зХ^ + ... + Yt-XYt-2.. ...У0Х0+У1-^1_2...У0Сп. Возможные варианты совместного использования ЦПЭ и СУП представлены на рис. 3.2. Блок микропрограммного управления К589ИК01. Представляет собой основную микросхему устройства управления, определяюще- го последовательность выполнения микрокоманд. В БМУ в соответ- ствии с кодом выполняемой микрооперации, поступающей из памя- ти микрокоманд, формируется адрес очередной микрокоманды. Кроме того, в БМУ записывается, хранится и выдается информа- ция, определяемая внешними условиями (например, сигнал пере- носа из старшего разряда ЦПЭ) и используемая для организации условных переходов. В БМУ заложена возможность выполнения 11 типов микроопе- раций перехода (четыре типа операций безусловного перехода и семь условного) и восьми микроопераций приема, хранения и вы- дачи признаков. Большое число типов выполняемых БМУ микро- операций позволяет строить на его основе устройства управления, реализующие эффективные микропрограммы. 101
Таблица 3.3 F -группа 7?-группа Инструкция 1 Rn + (АС A K) + CI Rn; АС 0 2 М + (АС Л К) + С1->-АТ АТ0 Л (Во Л Ко) - С/70; СП1 v [(#! Л Кх) Л ЛГ^ -> АТХ 3 [ЛТ0 л (Во л Ко)] v [ЛГ, v (Bi л Ki)] - Л?-о 1 K\zRn-^PA-, Rn+K + CI^Rn 1 2 K'jM^PA-, М + К +CI -+ AT 3 (AT v К) + (АТ л К) + CI + AT 1 (АС л K)-l + CI Rn 2 2 (AC Л К)— I + CI^AT 3 (В А R) — I + CI - AT 1 Rn 4- (AC л R) + Cl -* Rn 3 2 M + (AC л R) + CI-+AT 3 AT + (B A K) + CI-* AT 1 CI {v } № Л AC л K) -> CO; Rn A (AC л R)-+Rn 4 2 CI { v }(Af Л AC Л R) — CO; M A (AC A K)- AT 3 CI (v }(AT А В л К) —CO; ЛГл(ВлК)-ЛГ 1 C I{ v } (Rn л К) - CO; К A Rn - Rn 5 2 C Z{ v } (Al л К) - CO; К A M - AT 3 C Z{ v }(AT л К) - CO; К A AT - AT 1 CI {v }(AC A K)->C0-, Rn V (AC л K) - Rn 6 2 С1{\/ }(AC л K) - CO; M v (AC л K) - AT 3 CI {v ](B л K)- CO; AT \/(B/\ K)AT 1 CI{ v }(RnA AC A K)-C0; Кя ф (ЛСлК)-/?„ 7 2 CI ( v } (M A AC А К) -> CO; Л1 © (ЛСлК)-ЛГ 3 CI { 7} (AT A BA K)-*C0; ЛТфСВлЮ-ЛТ 102
К=00 Мнемоника Rn+CI^Rn', AC M+CI^AT AT^CnoATI^-AT^Cni-^ATI ILR ACM SRA Rn—*PA\ Rn+CI^Rn M-+PA\ M+CI-+AT AT-\-CI-+AT LMI LMM CIA CI-\-+Rn CI-1-+AT cm. CSA CSR CSA Rn+Cf-+Rn cm. ACM AT+CI^AT INR INA CZ->C0; 0-+Rn Cl-^СУ, 0-+AT cm. CLA CLR CLA cm. CL/? cm. CLA cm. CLA CZ->CO; Rn-+Rn С1-+С0; M^-AT cm. NOP NOP LMF NOP CZ->C); ~Rn-+Rn С1-+СУ); M-+AT g CZ^-CO; AT-+AT CMR LCM CMA
Таблица 3.4 K = ll Мнемоника F-rpynna AC+Rn-\-CI-^Rn\ AC M±AC+CI-+AT (см. табл. 3.3) ALR AMA 0 Rn—\-\~CI-+Rn \\-+РА\ M—X+CI-+AT at-\+ci-+at DSM LDM DCA 1 AC- \+C[-+Rn AC—X+CI-+AT B-\+CI-+AT SDR SDA LDI 2 AC+Rn+CI —>Rn cm. AMA В+ЛГ+С/->ЛГ ADR AIA 3 CZ{V)(^A^C)->CJ; Rnf\AC-+Rn CI{\J}(M/\ACy+C)\ Mf\AC^AT CI{\J}(AT /\В)-+Сд\ AT/\B-+AT ANR ANM ANI 4 Cl {v) Rn~+C0: Rn-+Rn CI{\J}M-+CQ\ M-+AT С1{\/}АТ^С(У, AT-+AT TZR LTM TZA 5 CI\\J}AC-+C&, Rn\/AC-*-Rn CZ(VMC->Ca; M\/AC-»AT C/{V)5->C0; B\/AT-+AT ORR ORM ORI 6 CI{\/}(Rn/\AC)-^C0-, Rn®AC-+Rn CI{\/}(M/\AC)-^C^ M®AC^-AT Cl\\J\(AT/\B)-+C&, B&AT-+AT XNR . XNM XNI 7
Адрес микрокоманды состоит из девяти двоичных разрядов, но в отличие от обычного линейного представления массива ячеек па- мяти использование К589ИК01 предполагает, что ячейки располо- жены в виде прямоугольной матрицы. Размер матрицы 32 строки на 16 колонок. Расположение микрокоманды задается элементом, на- ходящимся на пересечении одной из колонок и одного из столбцов. PC_________ ЗМ_________ С__________ JUL_________ .Д. В КрКзА РгК Ko-Ki, В1— ф JL Выходной I буфер Ф У<Р0,УФ1 М УФ^УФз / s’ S) СРП ~PKqPK^ МАдМА 9 Рис. 3.3. Схема БМУ К589ИК01 (а) и его условное обо- значение (б) Номер колонки определяется младшими четырьмя разрядами адре- са микрокоманды, а номер строки — пятью старшими. Таким обра- зом, общее количество слов памяти микрокоманд, адресуемых БМУ, составляет 512. Блок микропрограммного управления (рис. 3.3) состоит из логи- ческой схемы определения очередного адреса микрокоманды, уп- равляемой кодами операций, поступающими по магистрали У А, регистра адреса микрокоманды и схем, управляемых по магистра- ли УФ (обеспечивающих запись, хранение и выдачу информации о признаках). Код команды, по которому из памяти микрокоманд вызывается соответствующая микропрограмма, поступает по ма- гистрали К, причем первые четыре разряда кода команды могут быть записаны в регистре команд РгК. Информация о признаках поступает в БМУ по входу Ф, а извлекается по выходу Фв. Схе- ма записи, хранения и выдачи информации о признаках состоит из триггера Ф и двух флажковых триггеров С н Z. Через некоторое время после прихода фронта импульса синхро- 104
яизации на магистрали У А устанавливается код микрооперации пе- рехода, поступающий из памяти микрокоманд. Далее в логической схеме определения очередного адреса микрокоманды происходит выработка кода необходимого адреса. Указанный код с приходом среза сигнала синхронизации загружается <в регистр адреса МК9 если на входе ЗМ установлен «О». В противном случае по срезу сигнала синхронизации в регистр адреса МК загружается код, содержащийся на магистрали К. Информация, содержащаяся на входах Ко—Кз, загружается в разряды 4—7 регистра адреса МК, а со входов К4—К? — в разряды 1—3. В восьмой разряд регистра адреса Л4К записывается «О». Если в результате работы схемы определения очередного адре- са установлен адрес, являющийся элементом матрицы, находящим- ся на пересечении нулевой строки и 15-й колонки, то на выход СРП микросхемы выдается стробирующий сигнал разрешения прерыва- ния. Аналогично выполняются микрооперации по записи информа- ции о признаках во флажковые триггеры. В триггер Ф информация записывается в то время, когда на входе синхронизации установлен «О». Далее по приходу среза сигнала синхронизации в соответствии с кодом микроопераций, поступающим на входы УФ0, УФЬ происхо- дит загрузка содержимого триггера Ф во флажковые триггеры С и Z. Выдача содержимого флажковых триггеров определяется ко- дом операции, устанавливаемым на входах УФг, УФз. В табл. 3.5 приведены системы микроопераций по записи и счи- тыванию информации о признаках во флажковые триггеры. Таблица 35 Код Обозначение функции УФх УФ0 Описание микрооперации записи SCZ STZ STC HCZ FFO FFC FFZ FFI О О 1 1 Уф3 О О 1 1 О 1 о 1 УФ2 о 1 о 1 Установить код Фв в триггеры С, Z, Ф То же, Z, Ф > С, Ф Хранить состояние триггеров С и Z Выдать на Фв: «О» код триггера С код триггера Z . «1» В микрооперациях определения очередного адреса микрокоман- ды используются выходные сигналы триггеров, флажковой логики Ф, С и Z. В табл. 3.6 приведена система микроопераций БМУ по определению очередного адреса микрокоманды. Ограниченное чис- ло выводов микросхемы К589ИК01 не позволяет использовать пря- мую адресацию следующей микрокоманды в формате текущей мик- рокоманды, для этого необходимо иметь 9-разрядное поле магист- 105
Наименование микро- операций и их мне- моника Код на магистралях УЛв УЛ5 УЛ< УЛ8 УЛ, У At Переход в теку- 0 0 «4 «3 52 Si щей колонке (JCC) Переход в нуле- 0 1 0 $3 s2 Si вую строку (JZR) о 0 Переход в теку- 0 I I $3 $2 $1 щей строке (JCR) Переход по со- 1 0 0 53 S2 51 стоянию триггера Ф (JFL) Переход по со- 1 0 1 0 $2 стоянию триггера С (JCF) Переход по со- 1 0 1 1 5fi 5i стоянию триггера Z (JZF) Переход по со- 1 1 0 0 •$2 5i стоянию регистра команд (JPR) Переход по ле- 1 1 0 I •$2 5i вым разрядам ре- гистра команд (JLL) Переход в теку- 1 1 1 0 ^2 5i щей колонке в группе строк (JCE) Переход по со- 1 1 1 1 0 S1 держимому маги- страли К (JPX) Переход по пра- 1 1 1 1 1 с 5i вым разрядам ре- гистра команд (JRL)
Таблица 3.6 Адрес следующей микрооперации для значений разрядов строки колонки У Ao МАа ма7 МАа ma5 A1A4 AfA3 MAt MAj MA* So s4 S3 s2 Si So Прея [НИЙ So 0 э 0 0 0 S3 s2 Si So So п режни I S3 s2 Si So So Преж- ний S3 s2 Si So Преж- ний 0 1 Ф S0 Пре жний S2 Si So To же 0 1 C So > S2 Si So » 0 1 z So » S2 Si So РЯз PK2 РЛ-, PKV So » S2 Si So 0 1 pk3 PK2 So » S2 Si So Прея :ний So » Преж- ний Si So Л-7 Я6 K5 k< So » 1 Si So 1 1 PK^ PKq
рали управления адресом УА. В микрокоманде, управляющей ра- ботой БМУ, указываются способ формирования адреса следующей микрокоманды и двоичный код малой разрядности (4- или 5-раз- рядный) для формирования кода адреса. При принятом условном формате памяти микрокоманд в виде матрицы из 32 строк и 16 ко- лонок адрес следующей микрокоманды может принадлежать толь- ко определенной области памяти по отношению к текущему адресу (текущая колонка, текущая строка, ограниченная область вблизи текущего адреса). Возможные законы формирования следующего адреса задаются старшими разрядами магистрали УА. Все виды переходов могут быть разделены на безусловные и условные пере- ходы и переходы по кодам регистра команды и магистрали К4—Кт. Например, если в следующей микрокоманде с адресом 01101 0111 по магистрали У А записан код 0010111, то будет осуществлен переход к микрокоманде с адресом 10111 0111. так как первые два разряда указывают тип формирования следующего адреса — пере- ход в текущей колонке JCC. Адрес колонки совпадает с предыду- щим адресом (младшие разряды текущего кода адреса —0111), а младшие пять разрядов микрокоманды указывают номер следую- щего адреса в текущей колонке— 10111. При коде старших разрядов шины УА6—УА4, равном 1010, осу- ществляется условный переход в текущей строке по содержимому триггера С. Например, для предыдущего адреса микрокоманды 011010111 и кода магистрали управления адресом 1010001 при со- держимом триггера С=1 адрес следующей микрокоманды 010010011. В этом коде старшие два разряда совпадают с соответ- ствующими разрядами адреса предыдущей микрокоманды, три младших разряда кода строки 001 задаются младшими разрядами кода УА, четвертый разряд совпадает с соответствующим разрядом предыдущего адреса, второй и третий разряды при этом типе пе- реходов равны 01, а младший разряд равен коду триггера С. При содержимом триггера С = 0 следующий адрес будет равен 010010010. Управление адресом по содержимому регистра команд и шины К расширяет логические возможности устройства управления и до- пускает простую организацию режима прерывания программ. На- пример, при выполнении перехода по разрядам команд К4—Кт (JPX) код следующего адреса находится в группе адресов строк, оп- ределяемой кодами МА6—МАъ текущего адреса микрокоманды и содержимым разрядов УА\ и УА0. Адрес колонки следующей мик- рокоманды задается кодом шины К4—К?. При этом адрес следую- щей микрокоманды будет задан колом МА&МА7МА6УАуУАоКтКв^К^ Выводы МАо—МА6 и Фв, определяющие выходную информацию, могут быть установлены сигналами PC и ОС в третье состояние. Это позволяет, например, при обработке прерываний адрес очеред- ной микрокоманды задавать ВУ. Блок приоритетного прерывания К589ИК14. Обёспечивает при- ем сигналов запроса прерывания от различных устройств, входя- щих в состав вычислительной системы, и выработку при определен- 107
них условиях сигнала о необходимости перехода к подпрограмме обработки прерывания. При совместном использовании БМУ К589ИК01 и БПП К589ИК14 в БПП вырабатывается сигнал, оп- ределяющий установку адреса микрокоманды на МА кодом ВУ, в том числе выходным кодом БПП. При этом выходной код БПП соответствует начальному адресу подпрограммы, вызвавшей пре- «7Г- — СРП 6 jl; 2 4, 23 11 7g 2g 2g ~20\ 7g 7g 7л 7л >с п2 77/ Пр ВП >РЗ РСЧ РГ зп7 зп6 зп5 ЗПц зп3 зп2 ЗП1 ЗЛ0 БПП кп2< 10 74 РГП< КП0> 9 8 Рис. 3.4. Схема БПП К589ИК14 (а) и его условное обозначение (б) рывание предыдущей программы. Рассматриваемая схема БПП обеспечивает прерывание по восьми источникам запросов и имеет возможность наращивания их количества. БПП обеспечивает вы- полнение следующих функций: асинхронный прием и хранение сиг- налов запроса на прерывание с восьми направлений; выдача кода уровня принятого сигнала запроса на прерывание; прием и хране- ние кода уровня прерывания обрабатываемого процессором; выда- ча процессору сигнала о наличии запроса на прерывание более вы- сокого приоритета по сравнению с обрабатываемым. Блок приоритетного прерывания (рис. 3.4) состоит из совокуп- ности триггеров, в которые по восьми направлениям ЗП0—ЗП7 по- ступают сигналы запроса на прерывание, и триггерного регистра для хранения кода уровня приоритета программы, обрабатываемой процессором. Информация на этот регистр поступает по магистра- ли По—П2. Кроме того, в состав БПП входят схемы, обеспечиваю- щие выдачу сигнала о наличии запроса на прерывание, и буферная схема, через которую осуществляется выдача на магистраль КП ко- да поступившего запроса. Код приоритета выполняемой процессором программы записы- вается в триггерный регистр текущего приоритета по приходу фрон- та сигнала разрешения записи. При поступлении на входы ЗПо— ЗП7 от ВУ сигналов, индицирующих запросы на прерывание, они 108
запоминаются в соответствующих триггерах. В зависимости от того,, с какого направления пришел сигнал, он получает с помощью шиф- ратора код своего приоритета, сигнал сравнивается с кодом теку- щего приоритета, записанным по магистрали По—П2. Если уровень приоритета пришедшего запроса старше приоритета выполняемой программы и есть сигнал СРП, то с приходом сигнала синхрониза- ции на выходе ПР устанавливается «О», указывающий о необходи- мости прерывания работы процессора. Код уровня пришедшего сигнала на прерывание может быть вы- дан из БПП по магистрали КПо—КП2, что определяется сигналом РСЧ. В момент установления сигнала ПР блокируется допуск дру- гих запросов на прерывание. Блокировка снимается после записи в триггерный регистр текущего состояния нового кода уровня пре- рывания. Входы РГ, ВП и выход РПГ служат для аппаратного расшире- рения количества направлений приема сигналов запроса преры- вания. Многорежимный буферный регистр К589ИР12. Представляет собой универсальный 8-разрядный регистр с выходами, имеющими третье состояние. Входящие в МБР схема управления режимами и независимый триггер для формирования запроса на прерывание центрального процессора (рис. 3.5) позволяют использовать его для реализации многих типов интерфейсных и вспомогательных уст- ройств, включая простые регистры данных, буферные регистры со стробированием данных, мультиплексоры, двунаправленные шин- ные формирователи, прерываемые каналы ввода—вывода и др. Многорежимный буферный регистр состоит из восьми информа- ционных Д-триггеров, восьми выходных буферных устройств с тре- мя устойчивыми состояниями, Д-триггера для формирования запро- са на прерывание и схемы управления режимами работы регистра. Данные на информационные триггеры поступают по магистрали Д, а считываются через выходной буферный регистр по магистра- ли Q. Схемой управления выходные буферы передают информацию на выход при формировании «1» на внутренней магистрали ВД, что достигается следующей комбинацией управляющих сигналов: ВД— = BPV(BK1ABK2). При ВД=$ выходы схемы находятся в третьем состоянии. Уст- ройство управления МБР позволяет записывать информацию с вы- ходными каскадами, находящимися в третьем состоянии и повто- ряющими коды входной магистрали. Режим записи информации соответствует уровню «1» на внутренней управляющей магистрали: ЗП= (С/\ВР)У (ВКГ/\ВК2/\ВР). ____ В случае если режим записи обеспечивается сигналами С/\ВР, выходные каскады находятся в третьем состоянии, при организа- ции записи сигналами ВК\ /\ВД2/\ВР информация входной магист- рали подается на выходную магистраль. Установка информационных триггеров в «О» обеспечивается входным управляющим сигналом /? = 0. 109
Триггер запроса прерывания служит для выработки сигнала за- проса на прерывание в процессорной системе. Принято, что МБР находится в состоянии прерывания, когда выходу ЗП соответству- ет «О». Рис. 3.5. Схема МБР К589ИР12 (а) и его условное обо- значение (б) Уровень «1» на триггере запроса прерывания устанавливается при следующих входных сигналах: ЗП= С/\ (ВК\ f\BKi)', уровень «О» устанавливается при ЗП=В. V (BKiVBK2). Примеры организации обмена информацией с помощью МБР приведены на рис. 3.6. Шинные формирователи. Интегральные микросхемы К589АП16 и К589АП26 обеспечивают развязку входов и выходов устройств, работающих на двунаправленную магистраль. 110
Микросхемы шинных формирователей (ШФ) обеспечивают пе- редачу информации длиной 4 бит по одному из двух направле- ний. Рис. 3.6. Примеры использования МБР На рис. 3.7 представлены схемы обеих микросхем. Видно, что микросхемы состоят из набора повторителей (рис. 3.7, а) или ин- верторов (рис. 3.7,6), объединенных общим управлением. Струк- тура ШФ допускает параллельное использование нескольких та- ких микросхем. Выбирают ту или иную микросхему, т. е. переводят . Рис. 3.7. Схемы ШФ К589АП16 (а), К589АП26 (б) и его услов- ное обозначение (в) ее в активное состояние сигналом на вход выбора кристалла ВКГ Установка на входе ВК «О» обеспечивает возможность управления выдачей информацией по входу УВ. Ш
Данные могут поступать в микросхему по магистралям А или В, а выдаваться — по магистралям В или С. Если на входе УВ уста- новлена «1», то информация со входов Bi—В4 «поступает» на вы- ходы Ci—<в противном случае информация cg входов Д—-А «поступает» на В\—В4. Микросхема К589АП26 отличается от микросхемы К589АП16 тем, что входная информация, проходя через инверторы, изменяет свое значение на инверсное. § 3.2. Микро-ЭВМ с управлением на микрокомандном уровне Большое число внешних магистралей и широкий набор управ- ляющих функций БМУ позволяют строить на рассматриваемом МПК микро-ЭВМ с разнообразной архитектурой. Это разнообразие в большей мере относится к возможностям построения различных Рис. 3.8. Схема микропроцессора с управлени- ем на микрокомандном уровне (типов устройств управления (УУ). Рассмотрим особен- ности работы простейшей по структуре микро-ЭВМ, в ко- торой рабочая программа размещается в памяти мик- рокоманд (рис. 3.8). Опе- рационная часть, реализо- ванная на рассматриваемом микропроцессорном наборе, отличается в разных случа- ях применения разрядно- стью и способами организа- ции переноса. Основные различия микро-ЭВМ обус- ловлены возможными по- строениями УУ. В данном примере рабочая программа записана в памяти микро- программ ПЗУ МП. Управ- ление выборкой очередной команды осуществляется БМУ. Для за- грузки первоначального адреса программы используется управ- ляющий вход ЗМ БМУ. При уровне «О» на входе ЗМ и воздейст- вии синхроимпульса СИ код МА на выходе БМУ определяется ко- дом входной магистрали К. Задав на магистрали К начальный ад- рес программы управляющим входом ЗМ, организуют выход к пер- вому адресу программы [2]. По адресному коду МА из ПЗУ МП выбирается микрокоманда. Для повышения быстродействия в микро-ЭВМ применен конвей- ерный режим работы, заключающийся во введении между памятью микрокоманд и оборудованием, управляемым сигналами микроко- манд, дополнительного регистра на Д-триггерах (РгМК.), с записью по фронту синхроимпульса. Управляющие сигналы микрокоманды 112
УА0—УА6, определяющие адрес следующей микрокоманды, посту- пают с ПЗУ МП непосредственно на БМУ, минуя конвейерный ре- гистр. Такое включение позволяет совместить процесс выполнения текущей команды с выборкой следующей микрокоманды по коду УЛ0-УЛб. Состав микрокоманды для каждой конкретной микро-ЭВМ мо- жет зависеть от применяемых ВУ и решаемых задач. В данном при- мере (рис. 3.8) микрокоманда содержит семь разрядов для кода микрооперации ЦПЭ (Fo—F6), семь разрядов для зада- ния адреса следующей микрокоманды (УД0—УАв), четыре разряда для управ- ления признаками БМУ (УФо—УФз). Пе- речисленные части микрокоманды об- щей емкостью 17 разрядов являются по- стоянными для большинства структур микро-ЭВМ. В каждом конкретном слу- чае в состав микрокоманды входят до- полнительные поля для управления кон- кретными ВУ и ввода констант. В рас- сматриваемом примере к таким дополни- тельным полям относятся поле управ- ления внешней памятью (два разряда) и поле формирования констант по магист- рали К (восемь разрядов). Рассмотрим особенности применения микро-ЭВМ и ее программирования на простом примере. Допустим, что необхо- димо организовать запись во внешнюю память ЗУ микро-ЭВМ массив В из N чи- сел начиная с адреса 4о = 2О с возрастаю- щей последовательностью до адреса Ак = =Aq + B и определить, сколько чисел в Программа записи R^O Ас~-0 Ас-11 O+Rq Aq~^Rq Рис. 3.9. Схема программы массиве превышают значение D. Режи- мы работы ЗУ определяются сигналами CS и W/R: Сигналы CS W/R Запись 0 0 Считывание 0 1 Хранение 1 * * Соответствует НИЮ (0 или 1). безразличному состоя- На рис. 3.9 приведена схема программы, построенная с учетом возможностей конкретного процессора. В ЦПЭ выделим регистр Ro для записи кода текущего адреса; Ri — для записи количества чисел, превосходящих D. Соответствующая приведенной на рис. 3.8 схеме микро-ЭВМ микрокоманда состоит из полей: кода микрооперации ЦПЭ, управ- ления записью признака, управления считыванием признака, уп- —559 ' 113
равления БМУ, управления ЗУ и поля магистрали К. При дальней- шем рассмотрении микропрограмм для упрощения записи поле ма- гистрали не будем записывать в формате микрокоманды, так как его значение оговаривается либо выполняемой ЦПЭ функцией, либо определяется вводимым кодом. Последовательность микрокоманд, соответствующих блоку 1, имеет такой вид: 1. CLRj ; HCZ; FFl; JCR; CS, W/R (J/?i). 2. CLA ; HCZ; FF1; JCR; CS, W/R (J - AC). 3. CIA ; HCZ; FFO; JCR; CS, W/R (AC + A-CI AC). 4. CLR0 ; HCZ; FFl; JCR; CS, W/R () J?o). 5. R0+(ACa K) + CI-> Ro, AC; HCZ; FFO; JCR; CS, W/R (Ao - Ro). Первой микрокомандой осуществляется сброс регистра /?ь Вы- полнение этой микрокоманды предполагает ^=0 по всем разрядам ЦПЭ. Управление записью и считыванием признака в этой микро- команде не используется, поэтому второе и третье поля микро- команды могут принимать произвольные инструкции. Инструкция JCR обеспечивает переход к следующей микрокоманде 2, которая должна размещаться в одной строке поля ПЗУ МП с выполняемой микрокомандой 1. Управляющие сигналы для ЗУ запрещают обра- щение к нему в данной микрокоманде. По микрокоманде 2 сбрасывается регистр АС. Содержимое АС в третьей микрокоманде инвертируется, суммируется со значением CI и записывается в АС. Для того чтобы во всех разрядах АС была записана «1», необходимо присвоить С7 = 0, что и обеспечивает мик- роинструкция FF0. Микрокоманда 4 аналогична первой, но обеспе- чивает сброс Rq. В микрокоманде 5 в регистр Ro записывается зна- чение Ао, которое формируется в поле магистрали К, логически ум- ножается с содержимым АС (единицы во всех разрядах) и сумми- руется с содержимым Ro- Значение С1 = 0 обеспечивается микроин- струкцией FF0. Формирование адреса ЗУ на магистрали А и запись информации в ЗУ в соответствии с блоком 2 осуществляются следующими мик- рокомандами: 6. LMI; HCZ; FF1; JCR; CS, W?R (Ro -> RA, Яо = /?о + 1). 7. CLA; HCZ; FF1; JCR; CS, W/R (J -> AC). По микрокоманде 6 содержимое Ro записывается в RA, после чего в Ro записывается Ro=Ro+CI. Для увеличения адреса исполь- зуем микроинструкцию FF1, при которой С7=1.Код адреса посту- пит на магистраль RA при сигнале управления буфером ВА=0. В общем случае при объединении нескольких источников информации сигнал ВА может формироваться микропрограммно. В данном при-, мере допустим, что ВЛ=0. В микрокоманде 7 обнуляется АС и фор- 114
мируются сигналы CS и W/R, обеспечивающие режим записи в ЗУ числа массива В, поданного по магистрали М. Сравнение данных записываемого массива с числом D осуществ- ляется следующими микрокомандами блока 3: 8. CIA ; HCZ; FFJ; JCR;CS;W/R (AC + CI -> АС)- 9. (АС Л К + М + CI)-> AC; STZ; FFZ; JZF; CS; W/R (М — £>= АС). Микрокоманда 8 аналогична микрокоманде 3 и обеспечивает запись «1» в разряды АС. В микрокоманде 9 суммируется значение записываемого числа, поданного по магистрали М, с обратным кодом числа D. Обратный код числа D формируется в поле микроинструкции К. микрокоман- ды. В данном случае суммирование выполняется в обратном коде, поэтому С/=0; при суммировании в дополнительном коде необходи- мо обеспечить CI— 1. Для дальнейших вычислений необходимо опре- делить лишь знак суммы. При положительной сумме M>D, при от- рицательной M<D. Знак суммы определяется значением сигнала переноса СО ЦПЭ, так С0=0 соответствует отрицательному ре- зультату. Для организации условного перехода значение СО инст- рукцией FFZ записывается в триггер Z БМУ. Микроинструкция JZF формирует переход .. микрокоманде, адрес которой зависит от значения СО. Следующие микрокоманды должны располагаться в ПЗУ МП так, что при С0=1 микроинструкцией JZF управление передавалось микрокоманде 10, при С0=0 — микрокоманде 11. 10. ILRi ; HCZ; FFZ; JCR; CS, W/R (/?t -F CI - /?t, АС), 11. ILR0 ; HCZ; FFO; JCR; CS, W/R (Ro + CI Ro, AC). 12. SDR ; HCZ; FF1; JCR; CS, W/R (AC — 1 4- CI -> Rn) 13. CLA ; HCZ; FF1; JCR; CS, W/R (J->4C). 14. CMA ; HCZ; FFO; JCR; CS, W/R (AC + CI^AC). 15. (AC A K+R3)- ' —R3, AC ; STZ; FFO; JZF; CS, W/R (R3 — AC R3). 16. NOP ; FF1; FFO; JCR; CS, W/R (Ry-+R0). В микрокоманде 10, соответствующей блоку 4, к содержимому R\ прибавляется единица, таким образом подсчитывается количе- ство чисел массива, превышающее D. Управление в микрокоман- де 10 микроинструкцией JCR передается микрокоманде 11. Микрокоманды 11—14 блока являются подготовительными для организации сравнения Ак и текущего адреса Ro. В микрокомандах 11 и 12 содержимое Ro переписывается в R3, так как в результате суммирования в микрокоманде 15 разрушается первоначальное со- держимое регистра, из которого считывается операнд. Микро- команды 13 и 14 обеспечивают формирование единиц во всех раз- рядах АС для последующего ввода микроинструкцией К значе- ния Ак. Для этого в микрокоманде 15 микроинструкцией К переда- ется обратный код числа Ак. Микроинструкцией JZF управление 5* 115
передается одной из микрокоманд, находящихся в одной половине строки ПЗУ МП с исполняемой микрокомандой, младшие разряды которой определяются кодом 0IZ. Значение С0=1 соответствует /?0>Лк, при этом выполняемая программа заканчивается холостой микроинструкцией 16, соответствующей концу программы. При С0 = 0 управление должно передаваться микрокоманде 6. Для этого необходимо разместить все микрокоманды так, чтобы микрокоманды 6, 15 (блок 6) и 16 находились в одной половине строки ПЗУ МП и младшие разряды микрокоманд 6 и 16 опреде- лялись кодами 010 и ОН соответственно. Из рассмотренного примера видны особенности программирова- ния, обусловленные отсутствием свободной адресации в БМУ. Рас- пределение памяти микропрограмм должно вестись с учетом огра- ниченного числа адресов микрокоманд, в которые возможен услов- ный переход. Блок микропрограммного управления позволяет осу- ществлять в ПЗУ МП объемом 512 слов условные переходы по мик- рокомандам JFL, JCF, JZF только в 64 пары ячеек, расположенные во 2, 3 и 10, 11-м столбцах. Микроинструкция JZR обеспечивает пе- реход из любого адреса ПЗУ МП в ячейки нулевой строки. Перечисленные ограничения заставляют при распределении па- мяти в первую очередь размещать микрокоманды с условными пе- реходами, а затем уже длинные линейные участки программ, допус- кающие относительно свободное перемещение по полю ПЗУ МП. Ячейки нулевой строки целесообразно использовать как начальные адреса микропрограмм, к которым необходимо часто обращаться из разных адресов ПЗУ МП. Принятое распределение микрокоманд по адресам ПЗУ МП удобно фиксировать в диаграмме последовательности состояний программы, в которой каждая ячейка соответствует определенному адресу ПЗУ МП. В ячейках диаграммы отмечаются адреса ячеек» из которых передается управление в данную ячейку, и адреса ячеек ПЗУ МП, на которые передается управление из данной ячейки. Та- кая информация на диаграмме последовательности состояний про- граммы позволяет при отладке программы прослеживать последо- вательность выполнения микрокоманд, а при составлении программ облегчает размещение микрокоманд, особенно когда для большин- ства микрокоманд адреса определены и остается небольшое коли- чество ячеек памяти для размещения оставшейся части программы. Диаграммы упрощают работу при перераспределении ПЗУ МП. Перераспределение необходимо для размещения оставшихся мик- рокоманд или при модификации имеющихся программ. § 3.3. Анализ быстродействия микропроцессоров При построении аппаратуры на МПК серии К589 для достиже- ния высокого быстродействия большое внимание должно быть уде- лено вопросам синхронизации устройств, входящих в состав аппа- ратуры. Каждая из БИС серии К589, имеющая в своем составе триггер- ные элементы, синхронизируется сигналом определенной частоты и 116
длительности, определяющим цикл выполнения операций данного элемента. При совместном включении элементов цикл должен включать в себя задержки распространения передаваемых сигна- лов, а также времена их установки и после установки. Однако со- вместное включение элементов допускает различные конфигурации, вследствие этого указанные временные параметры для одного и то- го же сигнала могут значительно отличаться для разных конфигу- раций, что требует специального рассмотрения параметров цикла в каждом конкретном случае. Так как динамические параметры элементов, входящих в сис- тему, наперед заданы, то средством для уменьшения длительности цикла является выбор оптимальной структуры процессора. Как по- казано в [2, 14], длительность цикла процессора, построенного по типовой схеме, определяется длительностью цикла БМУ. Поэтому для повышения быстродействия процессора необходимо в первую очередь уменьшить время цикла устройства управления. Сделать это можно исключением из времени цикла длительности синхроим- пульса /и и времени распространения сигнала через коммутатор. В связи с тем что в устройстве управления, реализованном на микросхеме КР589ИК01, загрузка следующего адреса производит- ся по отрицательному фронту синхросигнала, а выдача его на ма- гистраль адреса памяти микрокоманд производится по положи- тельному фронту, исключить длительность синхросигнала при дан- ном типе БМУ невозможно. Исходя из этого представляет интерес схема устройства управ- ления (УУ), реализованная на регистрах серии К155 [14]. В такой реализации УУ исключена задержка коммутатора за счет того, что выходы регистров (рис. 3.10) непосредственно подключены к адрес- ным входам микропрограммной памяти ПЗУ, а на подпрограмму обслуживания прерывания переходят с помощью обычного услов- ного перехода. Применение предлагаемой ниже схемы выполнения условного перехода устраняет дополнительные задержки в распро- странении сигналов переноса и сигнала подтверждения прерывания с выхода ПР блока БПП. Особенность данной схемы заключается в том, что выход У АО микропрограммной памяти, формирующей младший разряд адреса микрокоманды, выход СО блока СУП, вы- ход ПР блока БПП и выход мультиплексора условий объединены схемой монтажного ИЛИ. Это возможно благодаря тому, что вы- ходы микросхем микропрограммной памяти и выход ПР блока БПП представляют собой схему с открытым коллектором, выход микросхемы СУП имеет три состояния, а на выходе мультиплексо- ра условий включен буферный инвертор с открытым коллектором. Такое подключение схем позволяет из времени цикла /ШУ цсклю- чить задержку распространения сигнала через коммутатор или че- рез схему И (в зависимости от применяемой схемы), а из времени цикла ЦПЭ устранить задержку сигнала переноса через мульти- плексор условий. Необходимо отметить, что выполнение условного перехода в данной схеме возможно лишь при переходе с произвольного адре- 117
са на нечетный, но в связи с тем, что нечетные адреса составляют половину всего адресного поля, данное ограничение представляется несущественным. Механизм осуществления условного перехода сле- дующий: при переходе с произвольного адреса на нечетный в раз- ряде памяти микрокоманд У АО записывается «1». Выходной код УАО—Х ПЗУ может быть изменен выходным сигналом соединенных с ним схем МС, ПР, БПП, СО, СУП. В текущей микрокоманде уп- равляющими сигналами опрашивается выходной сигнал только од- ной схемы, формирующей условный переход. Когда необходимо осуществить безусловный переход, выходы схем МС, БПП и СО СУП переводятся управляющими сигналами микрокоманды в третье состояние и младший разряд адреса У АО определяется кодом У АО микрокоманды ПЗУ. В рассмотренном уст- ройстве управления задержка распространения информации через мультиплексор условий не влияет на длительность цикла, так как условия, которые выбирает мультиплексор, формируются не в дан- ном текущем цикле, а заранее. Сигнал на выходе мультиплексора появляется после времени задержки распространения сигнала через него, т. е. после установления новой микрокоманды на /выходе кон- вейерного регистра, задолго до прихода синхросигнала. Произведем количественную оценку быстродействия данной структуры процессора. Временная диаграмма цикла выполнения арифметической опера- ции представлена на рис. 3.11. Цикл начинается с прихода отри- цательного фронта синхросигнала на вход синхронизации конвейер- ного регистра. В этом заключается отличие данного включения кон- вейерного регистра от типового, когда информация в регистр за- 118
носилась по положительному фронту синхросигнала, что требовало учета во время цикла времени синхросигнала. Информация в кон- вейерный регистр заносится в течение времени синхросигнала. Для правильного функционирования ЦПЭ необходимо, чтобы новая микрокоманда подавалась на входы F спустя время /с.м = 5 нс (вре- мя сохранения сигналов на входах кода микрокоманд) после прихода положи- тельного фронта синхросигнала. Это на- кладывает ограничение на время выбор- ки микрокоманды /в.мк>/и+5 нс = 33 + + 5 нс, т. е. /в.мк>38 нс. Данное условие можно выполнить, за- держав синхросигнал, подаваемый на вход синхронизации конвейерного регист- ра, на время задержки (нс): /з 38 — /р.с.к> где /р.с.к — задержка распространения сигналов через конвейерный регистр. Рис. 3.11. Временная диаграмма цикла выпол- нения арифметической операции для процессора предлагаемой структуры Итак, цикл начинается с прихода отрицательного фронта сиг- нала синхронизации. Через /в.мк микрокоманда поступает на вхо- ды F. Спустя /в.мп секции ЦПЭ вырабатывают сигналы X и Y для формирования переносов в СУП. Схема ускоренного переноса с задержкой /п.г после поступления сигналов X, Y генерирует одновременно переносы в секции ЦПЭ и перенос из процессора, поступающий на УЛ0 следующего адреса, для осуществления условного перехода. Цикл заканчивается записью результатов выполнения операции в СОЗУ, спустя /ус— времени установки сигнала на вход CI ЦПЭ (до прихода отрицательного фронта синхросигнала). Таким образом, суммарное время цикла при выполнении ариф- метической операции процессором, построоенным по предлагаемой структуре, будет Т’цикл — /в.мк 4" /в.мп 4" /ц.г 4" ^ус* Здесь /в.Мк=38 нс, /в.Мп=52 нс, /п.г=20 нс, /ус = 27 нс при {7П=5 В±5% и t= —104-4-70° С и /вмк=37 нс, /п.г=10 нс, /в.мк= = 38 нс, /ус = 27 нс при (7п=5,0 В и /=25° С. Следовательно, Тцикл === 137 нс при (7П=5 В±5% и /=-104-4-70° С и ТциКл = = 112 нс при £7ц = 5,0 В и / = 25° С. Временная диаграмма цикла работы устройства управления да- на на рис. 3.12. Цикл работы устройства начинается с прихода от- рицательного фронта синхросигнала на вход синхронизации регист- ра адреса. С задержкой /р а = 25 нс на выходе регистра адреса ус- танавливается новое значение адреса очередной микрокоманды. Через время задержки /в.а происходит выдача информации о сле- дующем адресе из ПЗУ микропрограмм, поступающая на входы регистра адреса. Для нормальной работы регистра адреса сигналы 119
на его входе должны иметь время предустановки tyc относительно отрицательного фронта синхросигнала. ТаКИМ образом, Тцикл^—^Р-а^в-аН-^усл ТДК КаК ^р.а — 25 НС, ^в.а =70 нс, £ус= Ю нс, то 7’цикл=105 нс при [7П=5 В±5% и t= = —104-+70°С. При обслуживании прерывания через время задержки /р.с.к после отрицательного фронта синхросигнала с конвейерного регист- ра на вход СРП микросхемы БПП (см. рис. 3.10) поступает сигнал разрешения прерывания. Положительный фронт син- хросигнала может быть подан только по истечении времени tye установки сигнала СРП на входе схемы БПП. Таким образом, Тцикл = ^в.м.к~Ь^ус“Ь ^и» так как ^в.м.к=38 нс, <ус = 16 нс, /и=33 нс, то 7’цикл=87 нс при t/n=5 В±5%, t = = -104-+ 70° С. цикл С z: н ч tp a tyc Время Рис. 3.12. Временная диа- грамма цикла предлагае- мого устройства управле- ния сигнала выдается Сигнал ПР поступает ствления условного При подтверждении прерывания сиг- налами на входах ЗП0—ЗП7 на входе ПР схемы БПП с задержкой /р.Сп относитель- но положительного фронта синхро- сигнал подтверждения прерывания, на вход УА0 регистра адреса для осуще- перехода. Цикл сигналов заканчива- ется приходом отрицательного фронта синхросигнала спустя время /Ус предустановки информации на входах регистра адреса. Таким образом, ТЦикл = /р.сп+/ус+/и. Так как /р.сп=25 нс, /ус=10 нс, /и=33 нс при t/n=5 В±5% и t— —104—|-70оС и /р,сп= 15 нс, /ус = = 10 нс, /и=33 нс при [/п=5,0 В, /=25° С, то ТЦИкл = 68 нс при /7П=5 В±5% и /= —10ч-+70°С и ТциКл = 58 нс при [/п=5,0 В и /=25° С. Результаты анализа быстродействия микропроцессора с исполь- зованием схемы К589ИК01 в УУ (вариант I) и рассмотренной схе- мы (вариант II) сведены в табл. 3.7. § 3.4. Микро-ЭВМ с управлением на командном уровне Микропроцессорные наборы с микропрограммным управлением позволяют строить микро-ЭВМ, в которых алгоритм пользователя записывается в блоке внешней памяти на языке команд, а в блоке микропрограммной памяти на микрокомандном уровне программи- руется система выбранных команд. Такая структура микро-ЭВМ может эмулировать на микропрограммном уровне произвольный список команд и строить специализированные системы для различ- ных практических применений с неизменной архитектурой, но с из- меняемым базовым языком процессора. Организацию работы такой микро-ЭВМ рассмотрим на примере схемы, представленной на рис. 3.13. Микро-ЭВМ состоит из 16-раз- рядного центрального процессора ЦП, состоящего из восьми схем 120
Таблица 3.7 Параметр Вириашы реализации I п / = -10 -70° С £/н = 5В±5% /=--25° С £/|(=5В 1 10-+70’С С/П = 5В±5% /-25“ С ^П = 5В Время цикла выполнения арифметической операции, нс 162 137 137 112 Тактовая частота выпол- нения арифметической опе- рации, МГц 6,1 7,3 7,3 9 Время цикла УУ процес- сором, нс 182 168 105 105 Тактовая частота УУ, МГц 5,5 6 9,5 9,5 Время цикла УУ при об- работке запроса прерыва- ния, нс 13) 116 68 87 Время цикла УУ при об- работке подтверждения пре- рывания, нс 182 168 68 58 Минимальное время цик- ла процессора в целом, нс 182 168 137 112 Максимальная тактовая частота процессора в це- лом, МГц 5,5 6 7,3 9 ЦП и схемы СУП, памяти микрокоманд ПЗУ МК и запоминающе- го устройства ЗУ для записи основной программы на языке команд и хранения данных, связанных с проводимыми вычислениями. Д А Рис. 3.13. Схема микро-ЭВМ с управлением на командном уровне 121
Программирование ведется на языке команд. В ПЗУ каждая команда записана как последовательность микрокоманд. Коман- дам присваивается код, определяющий адрес первой микрокоман- ды в ПЗУ, с которой начинается выполнение данной команды. Для организации последовательного выполнения команд на одном из внутренних регистров (Rq) ЦП организован счетчик команд, кото- рый увеличивает свое содержимое после выполнения очередной команды. Команда завершается микрокомандой обращения к счет- чику команд для перехода к следующей команде основной про- граммы. Для работы с подпрограммами в микро-ЭВМ организован стек (стековая память). В качестве указателя стека может быть исполь- зован один из регистров (например, R2) ЦП. Для стековой памяти отводится определенная область памяти. Количество возможных вложений программы определяется числом отведенных под стек ячеек памяти. Для проведения на микро-ЭВМ вычислений требует- ся загрузить в ЗУ рабочую программу и записать во все служебные регистры ЦП информацию, относящуюся к выполняемой програм- ме: в регистр приоритета — приоритет задачи; в регистр-указатель стека — начальный адрес участка памяти, отведенный под стек; в программный счетчик — адрес первой команды программы. Все перечисленные процедуры выполняются с помощью системных уп- равляющих программ, записанных в ПЗУ МК. Вызов необходимой системной программы может проводиться кодом НУ по управля- ющим входам Ко—К? БМУ при формировании управляющего сиг- нала ЗМ. Запись исходных данных в служебные регистры может быть реализована с помощью магистрали В ЦП. Записанная в ЗУ программа вычисляется в соответствии с си- стемной управляющей программой, содержащей подпрограммы уп- равления адресом команды, обработки прерываний и др. Подпрограмма вызова очередной команды. Обеспечивает вызов команды из основного ЗУ в соответствии с алгоритмом выполняемой программы. Для организации последовательного выполнения команд используется внутренний регистр Rq ЦП, на котором орга- низован счетчик команд. Команды программы записываются в ЗУ по адресам последовательно в соответствии с алгоритмом програм- мы. Адрес исполняемой команды записывается в регистре Rq. При выполнении последовательных участков программ содержимое увеличивается на единицу после выполнения очередной команды, указывая адрес следующей команды. Условные и безусловные пере- ходы к различным последовательным участкам программ требуют программного изменения содержимого /?о в зависимости от резуль- татов вычислений и исходных данных. Подпрограмма может быть построена такой последовательностью микрокоманд: 1. LMI; FF1; HCZ; JCR; (Rq-^RA, R^R^CI). 2. LMF; FFO; HCZ; JCR; BA, CS, W/R (Л4->Г). 3. NOP; FFO; HCZ; JZR; 3M, BA, CST, W/R. 122
Первая микрокоманда обеспечивает запись в RA содержимого Ro и последующее увеличение на единицу содержимого Ro- Увели- чение содержимого Ro на единицу обеспечивается выполнением ин- струкции Ro=Ro-\-CI, поэтому в этой микрокоманде применена микроинструкция FF1, обеспечивающая CI= 1. Микроинструкция JCR обеспечивает переход ко второй микрокоманде. Во второй микрокоманде считывается содержимое ЗУ по адре- су Ro и записывается в регистр Т схемы ЦП. Считывание из ЗУ обеспечивается микроинструкциями BA, W/R, CS. Запись в регистр Т обеспечивается микроинструкцией LMF. Код команды, определя- ющий адрес первой микрокоманды, записывается в старших восьми разрядах ЗУ и через М поступает на магистраль Ко—R? БМУ. Третья микрокоманда микроинструкцией ЗМ обеспечивает за- пись в БМУ кода Ко—К?, по которому осуществляется выбор пер- вой микрокоманды исполняемой команды. Подпрограмма проверки прерывания. Выполняется после каж- дой законченной команды и обеспечивает переход к прерывающей программе при запросе на прерывание и соблюдении приоритетно- сти. Для определения наличия запроса прерывания каждая команда завершается передачей управления к микрокоманде с адресом МА = 00016. В этой же микрокоманде формируется управляющий сигнал СРП, позволяющий формировать БПП на магистрали КП (КПо—КП2) код, соответствующий запросу прерывания. Информа- ция на магистрали КП будет отлична от нуля в случае превыше- ния приоритета прерывающей программы над исполняемой. Для сравнения приоритетов исполняемой и прерывающей программ в регистр По—П2 (см. рис. 3.4) БПП и один из регистров ЦП запи- сывается код приоритета исполняемой программы. Равенство нулю выходного кода КПо—КП2 не изменяет кода магистрали УА0—УА2, которая через схему БМУ формирует адресный код ПЗУ МК. Адрес 00016 ПЗУ МК соответствует начальному коду микропрограммы вы- борки очередной команды. В случае прерывания, на выходе КПо—КП2 БПП формируется двоичный код, соответствующий за- просу прерывания. Код КПо—КП2 представляет собой вектор пре- рывания и, проходя через схему ИЛИ на входы УА БМУ, определя- ет адрес первой микрокоманды прерывающей программы. Для последующего восстановления прерванной программы не- обходимо сохранить информацию служебных регистров ЦП— счетчика команд, указателя стека и регистра приоритета. Для это- го информация из соответствующих регистров ЦП переписывается в специально отведенные ячейки ЗУ. После выполнения прерыва- ющей программы из ЗУ считывается информация в служебные ре- гистры, восстанавливая коды, соответствующие моменту прерыва- ния для прерванной программы. Выполнение прерывающей программы начинается с записи в ре- гистр ЦП приоритета прерывающей программы и установки на- чального кода в счетчик команд. Содержимое указателя стека не изменяется при переходе к прерывающей программе, но при вос- 123
становлении прерванной программы указатель стека возобновляет свое значение, соответствующее моменту прерывания. Подпрограмма записи в стек. Используется при необходимости обращения к программному модулю с последующим возвращением к основной программе. Для выполнения процедуры записи в стек к содержимому регистра-указателя стека необходимо прибавить единицу, при этом в указателе стека формируется код адреса коман- ды, с которой должны продолжаться вычисления при возвращении к основной программе. Подпрограмма реализуется такой последо- вательностью микрокоманд: 1. ILR; FF1; HCZ; JCR (Ro + C/-Ro, ЛС). 2. LMI; FFI; HCZ; JCR; CS; WAR; BA, ВД (R2 - RA, R2 = R2+CI). Первой микрокомандой в регистр АС записывается код регист- ра-счетчика команд, увеличенный на единицу. Достигается это вы- полнением микроинструкций ILR и FF1. Микроинструкцией JCR управление передается второй микрокоманде. Во второй микро- команде в регистр RA записывается содержимое указателя стека /?2, после чего содержимое указателя стека увеличивается на едини- цу: R2=^2+CI. Для увеличения содержимого стека используется микроинструкция FF1, обеспечивающая равенство С1=1 и по адре- су RA в ОЗУ записывается содержимое АС. Режим записи в ОЗУ обеспечивается микроинструкциями W/R, CS, ВА, ВД. Подпрограмма считывания из стека. Обеспечивает возврат к программе, из которой проводилось обращение к программному модулю. Все программные модули, к которым возможно обращение через стек, завершаются передачей управления подпрограмме счи- тывания из стека, по которой в программном счетчике (регистр Ro) восстанавливается адрес команды, с которой необходимо продол- жить основную программу, и уменьшается на единицу содержимое регистра-указателя стека /?2. Подпрограмма выполняется такой по- следовательностью микрокоманд: 1. DSM; FFJ; HCZ; JCR (R2 — I + CI R2). 2. LMI; FFO; HCZ; JCR; W/R, CS, BA, ВД (R2 RA). 3. LMF; FFO; HCZ; JCR; W/R, CS, BA, ВД (M -> AC)- 4. SDR; FFI; HCZ; JCR (AC->/?0). В первой микрокоманде микроинструкциями DSM FFO умень- шается на единицу содержимое регистра-указателя стека R2. Вто- рая микрокоманда обеспечивает режим считывания содержимого ЗУ по адресу указателя стека, записанного в регистр RA. Третья микрокоманда обеспечивает запись выходной информации ЗУ в ре- гистр АС, четвертая — содержимого АС в регистр Ro. Таким обра- зом восстанавливается содержимое программного счетчика Rq, со- ответствующее той команде программы, с которой следует продол- жать ее выполнение после обращения к программному модулю. 124
Глава ОСОБЕННОСТИ И СПЕЦИФИЧЕСКИЕ 4 ХАРАКТЕРИСТИКИ МИКРОПРОЦЕССОРНЫХ КОМПЛЕКТОВ СЕРИЙ К587 И К588 §4.1 . Общие сведения Особенностями МПК серий К587 и К588 являются: организация микропрограммного управления на основе специализированной микросхемы управляющей памяти, коды микрокоманд которой за- шиты в программируемую логическую матрицу (ПЛМ); большая функциональная избыточность набора микрокоманд, обеспечива- ющая эффективное микропрограммирование; наличие нескольких двунаправленных каналов передачи данных; асинхронность функ- ционирования и наличие сигналов синхронизации выполнения фаз микрокоманды и возможность менять длительность этих фаз в за- висимости от наличия сигналов, сопровождающих информацию (квитанций); высокая помехоустойчивость и крайне низкое энерго- потребление. Перечисленные особенности ставят эти комплекты вне конку- ренции во многих областях применения. Основные характеристики МПК серий К587 и К588 приведены в табл. 4.1. Таблица 4.1 Обозначение Назначение Техноло- гия Разрядность, бит (емкость произведе- ний) Быстродействие, мкс Потребляемая мощ- ность, мВт Число микрокоманд Напряжение питания, В Число регистров ариф- метических/иидекс- ных/общего назначе- ния К587ИК2 Арифметическое уст- ройство Управляющая память кмдп 4Х« 2.0 50 168 9 1/1/8 К587РП1 кмдп 64 1,5 50 __ 9 К587ИК1 Устройство обмена ин- кмдп 8Хи 1.0 50 50 9 — К587ИКЗ формацией Арифметический рас- кмдп 8Х« 5,0 50 50 9 — ширитель К588ВС1 Арифметическое уст- ройство кмдп 16х« 1,2 1,0 420 5 1/0/16 К588ВУ1 Управляющая память кмдп 103 1,5 1,0 168 5 ___ К588ВР1 Арифметический рас- ширитель кмдп 8Хи 5,0 1,0 256 5 3/0/5 125
§ 4.2. Интегральный МПК серии К587 Арифметическое устройство К587ИК2. Это устройство пред- ставляет собой четырехразрядный автономный модуль обработки цифровой информации с микропрограммным управлением [7]; пред- назначено для приема, оперативного хранения, обработки и выдачи цифровой и командной информации, а также для построения опе- рационных блоков цифровых вычислительных средств различной разрядности, кратной четырем. Рис. 4.1. Схема арифметического устройства К587ИК2 (а) и его условное графическое обозначение (б) Структура устройства К587ИК2 содержит следующие функцио- нальные блоки (рис. 4.1, а): параллельный арифметическо-логиче- ский блок АЛБ; блок регистров общего назначения РОН; блок сдвигателя СДВ; регистр состояния РгС; рабочий регистр РгА; регистр микрокоманд РгМК; три четырехразрядных канала KI, К2, КЗ; схемы обмена СОЦ СО2, СОЗ; дешифратор микрокоманд ДШ; блок синхронизации БС; блок расширения БР. В зависимости от кодов в разрядах 0—1 регистра микрокоманд РгМК 12-разрядную микрокоманду АУ разбивают на поля, обра- зуя четыре формата микрокоманд (табл. 4.2). 126
Таблица 4.2 Формах Распределение поля команды гн разрядам 0 1 2 3 4 5 6 7 8 9 10 п РР 0 0 КОП 1 Pi КОП 2 ВС А 1 0 КОП 1 Pi ВС К 0 1 КОП 1 Константа КОП 4 ВС О 1 1 КОП 1 КОП 3 ВС Во всех форматах микрокоманд разряды РгМК (2—4)=КОП1 указывают код операции АЛБ, а разряд РгЛ1/<(11) = ВС указыва- ет на необходимость записи состояний в РгС и выдачи содержимо- го регистра состояний в канал КЗ. Параллельный арифметическо-логический блок АЛБ предна- значен для выполнения арифметических и логических операций. Блок состоит из четырехразрядной комбинационной схемы с асин- хронным переносом и входных мультиплексоров по двум магистра- лям. Арифметическо-логическое устройство выполняет арифметиче- ские операции (сложение с логической «1», сложение, вычитание) я логические операции (конъюнкция, дизъюнкция, сложение по модулю 2, инверсия). Входные мультиплексоры коммутируют по- ступающие операнды на входы АЛБ. Блок регистров общего назначения РОН предназначен для хра- нения данных внутри А У. Блок включает в себя восемь четырех- разрядных регистров общего назначения РОН. Содержимое реги- стров поступает на входы АЛБ по магистралям считывания. Запись информации в один из регистров должна осуществляться с магист- рали записи данных. Блок сдвигателя БС выполняет операции логического и цикли- ческого сдвигов четырехразрядных кодов на один разряд вправо и влево. В рабочий регистр РгА записываются и хранятся 4-разрядные коды результата, полученного при выполнении микрокоманды; в операциях обмена используется в качестве буферного регистр внеш- них каналов К1 — КЗ. Регистр состояний РгС индицирует состояния АУ. Регистр вклю- чает в себя триггер сравнения с нулем (РгС(О) =Г0); триггер пере- полнения (РгС(1) = Тпп); триггер знака (РгС(2) = Т3н); триггер рас- ширения (РгС(З) =ГР). Сигналы состояния должны заноситься в РгС и выдаваться в КЗ (КЗ—0—«СРО», КЗ—1—«ПП», КЗ—2— «ЗН», КЗ—3—«Р»). Регистр микрокоманд РгМК предназначен для записи и хране- ния кода микрокоманды, поступающей в АУ. Дешифратор микрокоманд ДШ МК формирует управляющие сигналы. Входы дешифратора подключены к РгМК, а кроме того, ДШ МК должен стробироваться сигналами из БС. Каналы KI, К2 предназначены для приема и выдачи информа- ции. Каналы К1 и К2 выдают и принимают информацию в рабочий 127
регистр РгА. Канал КЗ принимает информацию в регистр РгА и выдает информацию из РгС. Разряд 0 — старший разряд информа- ции в KI, разряд 3 — младший разряд информации в KI. Схемы обмена СО1, СО2, СОЗ управляют приемом или выдачей информации в и из ЛУ: вырабатывают сопровождающие выдава- емую информацию сигналы KIB и отмечают прием информации сигналами К1П. При’работе нескольких источников информации на один канал наличие сигнала К1П свидетельствует о занятости ка- нала и блокирует выдачу информации из АУ, но разрешает выпол- нение следующей микрокоманды. При незавершившемся обмене (сигнал KIB выдан) по К1 или К2 в предыдущей микрокоманде схемы СО1 или СО2 блокируют выполнение следующей микро- команды до окончания обмена. Если не завершена выдача информации в КЗ по первой микро- команде, схема обмена СОЗ не блокирует выполнение следующей микрокоманды при отсутствии в последней признака выдачи со- стояния (ВС), но сигнал сопровождения КЗВ и информация по ка- налу КЗ должны сброситься по сигналу Ф\ (из «О» в «1») второй микрокоманды, если нет входного сигнала КЗП. Сигнал КЗП, по- ступивший на схему обмена СОЗ при выполнении первой микро- команды, сбрасывает сигнал КЗВ. Приемом и выдачей информации по каналу К1 управляют пода- чей управляющих сигналов на вывод ЕК1 (разрешение обмена по первому каналу). При выдаче информации и отсутствии сигнала разрешения («1») должен появиться только задний фронт сигнала KIB, а информация в KI не должна выдаваться. Блок расширения БР обеспечивает возможность объединения нескольких БИС А У в одно арифметическое устройство с разряд- ностью, кратной четырем. При этом не требуется дополнительное оборудование. Блок синхронизации БС организует циклы выполнения микро- команды. Цикл выполнения микрокоманды должен начинаться при поступлении сигнала С либо положительного фронта сигнала Ф% и проходить последовательно три состояния: «Прием», «Чтение», «Запись». Сигналы на Ф\ и Ф2 выводах синхронизации индицируют все три состояния исполнения микрокоманды. Подача на эти выводы управляющих сигналов извне позволит задерживать цикл выпол- нения любой из микрокоманд, а также работать в режиме внешней синхронизации. Управляющая память К587РП1. Представляет собой автоном- ный асинхронный модуль обработки цифровой информации, при- меняемый для построения блоков микропрограммного управления различной информационной емкости, различной разрядности мик- рокоманд. В автономном режиме может служить для построения преобразователей и генераторов различных кодов, а также для простейших схем цифрового управления. Структура устройства К587РП1 включает в себя следующие функциональные блоки (рис. 4.2, а): постоянную память типа «программируемая логическая матрица» ПЛМ и программируемый 128
слой инверторов ПСИ\ входные регистры Рг1(Ъ—13) и Рг2(0—3); регистр следующего адреса РгСЛ(0—5); выходной регистр микро- команды РгМК\ блок синхронизации БС; схемы обмена информа- ции СО1 и СО2; регистр управления РгУ (0—3). РгМК БС QJ ^3 О) tPMKO РИМ щ ~23 22 2а 19 18 И 12 13 R /4 к— 8 КК~ РМКЗ РМ13 \^1 ЖС Зв 10 33 УО 3 4 К1 О 1 2 3 У 5 6 7 8 9 10 11 12 13 В оК2 1 2 3 >в Ф1 R УП РгМК О 1 2 3 У 5 6 7 8 9 10 11 12 13 К1Л К2П 37 36 35 ЗУ 33 32 31 30 29 28 27 26 25 24 15 кк — 38 Фг 6 Рис. 4.2. Схема управляющей памяти К587РП1 (а) и ее условное графическое обозначение (б) Постоянная память типа ПЛМ хранит и считывает микрокоман- ды. Программируемый слой инверторов ПСИ расширяет логиче- ские возможности УП. Первая подматрица ПЛМ1 эквивалентна 64 24-входовым схемам И—НЕ, вторая подматрица ПЛМ2—24 64вхо- довым схемам И — НЕ. Связи в подматрицах («кодировка» под- матриц и слоя инверторов) должны программироваться заказчи- ком и жестко записываться в процессе технологического изготовле- ния. Режим работы ПЛМ задается сигналом СТРОБ на внутренней магистрали, который формируется блоком синхронизации БС. Уровень «О» определяет режим чтения информации микрокоманды из ПЛМ, а уровень «1» — режим сброса матрицы, т. е. подготовки схемы к формированию следующей микрокоманды. На выбранном логическом произведении (выходы 1—64 ПЛМ1) по окончании сигнала СТРОБ ПЛМ должен храниться уровень «О», 129
который включает в себя закодированные в ПЛМ2 р-канальные транзисторы. На выходах ПЛМ2 должна появиться микрокоманда, содержащая уровень «1» в тех разрядах, где р-канальные транзи- сторы закодированы, и уровень «О» в разрядах, где не закодирова- ны. Микрокоманда через программируемый слой инверторов посту- пает на регистры микрокоманд РгМК, управления РгУ и регистр следующего адреса РгСА. Входные регистры Рг1, Рг2 предназначены для приема и хране- ния поступающей извне информации. Необходимость смены инфор- мации в Рг1, Рг2 должна определяться содержимым определенных триггеров в регистре управления РгУ. Записью информации в Рг1 и Рг2 управляют схемы обмена СО1 и СО2. Регистр следующего адреса РгСА хранит внутреннюю часть ад- реса следующей микрокоманды (следующего адреса), а регистр микрокоманд РгМК— код выходной микрокоманды. Блок синхронизации БС формирует сигналы: начала и оконча- ния выдачи микрокоманд, управления регистрами РгСА, РгУ и схемами обмена СО; на внешних выводах синхросигналов Ф2 («Синхронизация») и КК («Конец команды»). Режим работы БС необходимо задавать сигналами, поступающими извне на вход Ф\ («Исполнено»). Схемы обмена информацией СО1 и СО2 организуют асинхронный прием информации в Рг1 и Рг2. При поступлении сигналов с соот- ветствующих для Рг1 или Рг2 выходов РгУ схемы обмена инфор- мации переходят в состояние готовности приема информации. Если на входах KIB и (или) К2В появляется сигнал, сопровождающий выданную информацию, схема обмена вырабатывает сигнал, стро- бирующий прием информации в Рг1 и (или) Рг2, и ответные сигна- лы на выходах К1П и (или) К2П, свидетельствующие об окончании приема информации. Сигналы К1В и К2В при приеме информации в ИС УП следует передать из другого устройства минимум через /^300 нс после выдачи из микросхем УП сигналов К1П и К2П. Соответственно неизменной должна оставаться входная информа- ция по каналам К1 или К2. Регистр управления РгУ хранит коды признаков режима внут- ренних схем. Устройство обмена информации К587ИК1. Предназначено для организации внутрипроцессорного и внепроцессорного параллель- ного и последовательного обмена данными различной разрядности, кратной восьми, организации интерфейса процессоров, каналов, а также для построения блоков прерывания, использования в кон- троллерах периферийных устройствах, управления ОЗУ. Структура устройства К587ИК1 содержит (рис. 4.3): 8-разряд- ные каналы KI, К2, КЗ; схемы обмена СО1, СО2, СОЗ; схему захва- та СхЗ; 8-разрядные регистры Рг1 и Рг2; логическое устройство ЛУ; коммутатор К; регистр режима РгР; регистр маски состояния РгМС; схему формирования состояний СФС; регистр микрокоманд РгМК; дешифратор микрокоманд ДШМК; блок синхронизации БС. 130
Каналы KI, К2, КЗ используются для приема и выдачи инфор- мации. Схемы обмена СО1, СО2, СОЗ управляют приемом и выдачей информации из (в) ОИ, вырабатывают сопровождающие выдава- емую информацию сигналы К1В— КЗВ и отмечают прием инфор- мации сигналами К1П — КЗП. При работе нескольких источников информации на один канал наличие сигнала К1П свидетельствует о занятости канала и блокирует выдачу информации из ОИ. При Рис. 4.3. Схема устройства обмена информацией К587ИК1 (а) и его условное графическое обозначение (б) незавершившемся обмене в предыдущей микрокоманде схема об- мена блокирует выполнение следующей микрокоманды до оконча- ния обмена. Схема захвата СхЗ выдает информацию в один из каналов К1 или КЗ по предварительному запросу. Выдача информации начина- ется лишь при наличии сигнала EK1IK3. Отсутствие сигнала EK1IK3 блокирует схему СО2, а та, в свою очередь, выполнение следующей микрокоманды. Принадлежность схемы «захвата» кана- лов К1 или КЗ должна определяться состоянием РгР. Регистры Рг1, Рг2 предназначены для временного хранения ин- формация (Рг1 является 8-разрядным сдвиговым регистром, а Рг2— 8-разрядным регистром-счетчиком). Регистры формируют сигнал расширения — инверсия выпадающего при сдвигах разряда Рг1(7) или сравнение с «1» содержимого регистра Рг2 во всех операциях без сдвига. При этом с «1» сравнивается содержимое регистра Рг2 по результату выполнения предыдущей микрокоманды. Логическое устройство ЛУ выполняет операции маскирования, сравнения, выделения левой единицы информации. Логическое уст- 131
ройство содержит схему анализа результата операции на присутст- вие уровня «1» во всех разрядах результата, которая формирует сигнал сравнения с «1». Коммутатор К устанавливает внутренние связи, необходимые для выполнения микрокоманд. Регистр режима РгР служит для хранения кода режима, пред- назначенного для расширения наборов микрокоманд ОИ. Загрузка РгР осуществляется либо из К1, КЗ, либо из микрокоманды. Ре-, гистр режима РгР состоит из пяти триггеров. Триггер группы (РгР(0)=ТГ) определяет, к какой группе (первой или второй) должна относиться данная микрокоманда. Триггер повторения микрокоманды (РгР(1)=ТПМ) определя- ет, выполняют ли микрокоманду однократно, после запуска ОИ, или повторяют циклически. Выход из цикла происходит при нали- чии сигнала «1» на выводе Q. Триггер «захвата» канала (РгР(2)=ТЗК) определяет, по како- му каналу (К1 или КЗ) работает схема захвата. Микрокоманду 10010 группы I при ТЗК-1 применять не рекомендуется, так как это приведет к сбросу сигнала К1В при переходе ко второму такту вы- полнения микрокоманды независимо от внешнего сигнала К1П. Триггер «условных операций» (РгР(З) =ТУО) определяет, явля- ется ли данная микрокоманда условной или нет, т. е. зависит ли выполнение микрокоманды от выполнения условия (от уровня сиг- нала, поступающего на вывод Q ОИ). Если условие выполнено, то условные операции не должны отличаться от безусловных. Если ус- ловие не выполнено, то при наличии в микрокоманде признака при- ема информации из канала К1 информация должна приниматься, но сигнал К1П не должен выдаваться или при наличии в микро- команде признака выдачи информация KJ и сигнал KJB не должны выдаваться. Триггер асинхронной выдачи или сдвига (РгР(4)=ТАС) опре- деляет режим выдачи (асинхронный или синхронный) в канал КЗ во второй группе микрокоманд и указывает на операции со сдвигом в первой группе микрокоманд. Загрузка РгР (4) в отличие от загрузки остальных триггеров должна осуществляться только из микрокоманды. Ниже приведено соответствие между кодами РгР и режимами работы ОИ\ РгР(0)=ТГ РгР(1)=ТПМ РгР(’2)=ТЗК РгР(3)=ТУО РгР(0), РгР(4)=ТГ, ТАС ( Первая группа микрокоманд 0 I Вторая группа микрокоманд 1 ( Одиночные микрокоманды 0 t Режим повторения микрокоманд 1 f Захват по К/ 0 I Захват по КЗ 1 ( Безусловные микрокоманды 0 1 Условные микрокоманды 1 - Операции сдвига отсутствуют, вы- 10 дача в КЗ синхронная Присутствуют операции со сдви- 01 гом Выдача по КЗ синхронная 11 132
Регистр маски состояния РгМС предназначен для хранения ко- да маски состояния и содержит четыре триггера. Загрузка РгР и РМК осуществляется либо из Л7 или КЗ, либо из микрокоманды (табл. 4.3 и 4.4). Три триггера РгМС (ТМСР1, ТММ2, ТМТР) слу- жат для маскирования состояний ОИ—СР «1», М2, ТР. Запись «О» в триггеры маскирует операцию сравнения, запись «1» размаскиру- ет операцию сравнения. Четвертый триггер ТМВС указывает, какой уровень на выводе должен являться истинным для выполнения ус- ловия в условных операциях. Условие считают выполненным, если •Q® ТМВС1. Разряд О РМК определяет, в какой регистр производят загрузку. Таблица 4.3 Регистр Порядок загрузки регистров РгР и РгМС из регистра РгМК Разряды РгМК 0 1 2 3 4 РгР РгМС 0 1 ТГ ТМВС тпм ТМСР1 тзк ТММ2 ТУО ТМТР Таблица 4.4 Регистр Порядок загрузки регистров РгР и РгМС из каналов К1 и КЗ Разряды К1 и КЗ 0 1 2 3 4 5 6 7 РгР ТГ тпм тзк ТУО РгМС — — — — ТМВС ТМСР1 ТММ2 ТМТР Схема формирования состояния СФС выдает сигналы на выводе по формуле Q = (ТМСР1-СР1) 4-ТММ2.М’2 4- TMTP-TP). Регистр микрокоманд РМК предназначен для приема и хранения кода микрокоманды. Дешифратор микрокоманд ДШМК формирует управляющие сиг- налы. Входы дешифратора подключены к регистру режима и ре- гистру микрокоманд; кроме того, дешифратор стробируется сигна- лами из блока синхронизации. Блок синхронизации БС формирует временную диаграмму рабо- ты ОИ, имеет вход запуска С и вывод синхронизации Ф1. Послед- ний для синхронно работающих ОИ должен объединяться, образуя при этом функцию «Проводное И» (позитивная логика). По поло- жительному фронту Ф1 синхронизируются окончание приема и на- чало выдачи информации нескольких ОИ. 133
Арифметический расширитель К587ИКЗ. Он предназначен для выполнения аппаратного умножения двух операндов: сдвига на п разрядов и поиска кодов битов; применяется в блоках АР и спец- процессорах для выполнения матричных операций быстрого Фурье-преобразования. С целью расширения разрядности обраба- тываемых чисел предусмотрено объединение однотипных АР в блок с общим микропрограммным управлением. Рис. 4.4. Схема арифметического расширителя К587ИКЗ (а) и его условное графическое обозначение (б) Структура устройства К587ИКЗ содержит (рис. 4.4): два вось- миразрядных KI, К2 и пятиразрядный КЗ каналы; схемы обмена СОЦ СО2, СОЗ\ семиразрядный регистр микрокоманд РгМК', два восьмиразрядных регистра хранения операндов РгА, РгВ\ два восьмиразрядных регистра хранения результатов операций РгП1, РгП2\ двухразрядный регистр именного кода РгИК\ трехразрядный регистр кода позиции РгКП\ триггер установки ГУ; дешифратор микрокоманд ДШМК\ блок умножения £У; блок суммирования БСМ\ блок поиска кодов БПК\ блок формирования состояний БФС\ блок синхронизации БС\ схему начальной установки СНУ. Регистр РгП1 предназначен для хранения младшей части про- изведения при операциях умножения, результата операции при сдвигах влево. Регистр РгП2 предназначен для хранения старшей части произ- ведения при операциях умножения; результатов операции при сдви- гах вправо; кода бита при операции поиска. Регистр именного кода РгИК предназначен для организации объединения однотипных АР в блок с общим микропрограммным управлением. В зависимости от расположения АР в соответству- ющем вертикальном ряду в РгИК (0,1) заносят следующий код; 134
01 — крайний левый ряд; 10 — крайний правый ряд; 11—осталь- ные ряды; 00 — если имеет место только один вертикальный ряд. Разряды РгИК соответствуют разрядам микрокоманды: Л1К(3) — РгЯК(1), Л1К(4) — РгЯК(О). Регистр кода позиций РгКП отмечает последовательно слева на- право вертикальные ряды кодами РгКП (0, 1, 2): 000, 001, ..., 111. Разряды РгКП соответствуют разрядам микрокоманды: РгКП (2) — МК(3>) РгКП(\) РгКП(0) — МК(5). Триггер установки ТгУ отмечает при объединении в блок АР верхний ряд микросхем. Этого достигают установкой ТгУ в состоя- ние «0» с помощью подключения вывода К2Ф2 к общей шине. Блок умножения БУ выполняет операции умножения над опе- рандами в РгА и РгВ с получением младшей и старшей части про- изведения и операций сдвига над операндами в РгА, Операнды мо- гут представлять собой либо целые числа без знака, либо целые числа со знаком в старшем разряде в дополнительном коде. Блок умножения состоит из матрицы 8x8 одноразрядных сумматоров, с помощью которых происходит получение и сдвиг частичных сумм. Каналы KI, К2 и КЗ предназначены для приема и выдачи ин- формации. Каналы К1 и К2 обмениваются информацией с регист- рами РгА и РгВ соответственно. Канал КЗ предназначен для вы- дачи информации о состояниях, которые принимает АР при вы- полнении операций. Сигналы состояний поступают из БФС. Выводы КЗ имеют следующее функциональное назначение: Вывод признака «сравнения с нулем» (Z)................... КЗ (0) Вывод признака «переполнения» (V)........................ КЗ (1) Вывод «знака» или переноса из блока суммирования (N) КЗ (2) Вывод признака «расширения» (С).......................... КЗ (3) Схемы обмена СО1, СО2 и СОЗ управляют приемом и выдачей информации по каналам KI, К2 и КЗ соответственно. Эти схемы вырабатывают сигналы К1П, К2П и КЗП— идентификаторы при- ема информации и сигналы К1В, К2В и КЗВ — идентификаторы вы- дачи информации. При работе нескольких источников информации на один канал сигналы К1П, К2П и КЗП свидетельствуют о занято- сти соответствующего канала и блокируют выдачу информации сигналами К1В, К2В и КЗВ соответственно из АР. Регистр микрокоманд РгМК принимает и хранит код поступа- ющей в АР микрокоманды. Дешифратор микрокоманд ДШ формирует управляющие сигна- лы. Входы дешифратора подключены к регистру микрокоманд. Де- шифратор стробирует сигналами из блока синхронизации. Регистры РгА и РгВ предназначены для приема и хранения ис- ходного операнда, поступающего по каналам К1 и К2 соответ- ственно. Блок суммирования предназначен для суммирования частичных произведений при матричном объединении однотипных АР в блок с общим микропрограммным управлением. Входы блока суммиро- вания соединены с выходами БУ. Результат суммирования заносят в РгП2. Кроме того, в блок суммирования должен поступать через 135
вывод Р сигнал переноса. Перенос из блока суммирования через БФС должен поступать в КЗ (2). Блок поиска кодов БПК предназначен для выполнения операции поиска кода левого «нулевого» бита, левого «единичного» бита, ле- вой пары неравнозначных битов над операндом в РгВ. Блок формирования состояний БФС предназначен для индика- ции признаков результата операций в соответствии с описанием микрокоманды и содержит четыре схемы-индикации: схемы сравне- ния РгП1> РгП2 с логическим «О»; схему сравнения РгП2 с логи- ческой единицей «1»; схему переноса из блока суммирования. Блок формирования состояний выдает коды состояний в канал КЗ. При наличии в поле микрокоманды признаков ВС= \ формиру- ется сигнал КЗВ, сопровождающий выдачу информации по КЗ. Блок синхронизации БС организует циклы выполнения микро- команды. Блок синхронизации вырабатывает временную последо- вательность управляющих сигналов, необходимых для выполнения операций в АР и организации обмена информацией с ВУ. Схема начальной установки СНУ вырабатывает сигнал установ- ки схемы в начальное состояние при подаче микрокоманды началь- ная установка НУ и сигнала С после включения источника пита- ния. В микрокоманде НУ должна происходить статическая установка триггеров схемы. После снятия сигнала С схема готова к выпол- нению новой микрокоманды. § 4.3. Интегральный МПК серии К588 Преимущества серии К588 — один низковольтный источник пи- тания +5 В±Ю%, малая потребляемая мощность, широкий диа- пазон температур эксплуатации, совместимость по входным и вы- ходным параметрам с интегральными схемами серий К155, К555, К564, К589 и др.; микропрограммное управление, обеспечивающее относительно высокое быстродействие. Арифметическое устройство К588ВС1. Представляет собой авто- номный и асинхронный процессор, управляемый микропрограммно. Арифметическое устройство (АУ) предназначено для приема, опе- ративного хранения, обработки и выдачи цифровой информации и служит для создания микропроцессорных средств вычислительной техники. Разрядность операндов 16, разрядность микрокоманды 12, разрядность магистрали состояний 4 [10]. Структура устройства К588ВС1 содержит (рис. 4.5) АЛБ, РОНы, регистр состояний РгС, рабочий регистр-аккумулятор АК, регистр микрокоманд РгМК, регистр режима функционирования РгРЖФ, блок расширения БРШ, буферный регистр магистрали дан- ных БРгМД, буферный блок магистрали состояний БФБМС, блок управления БУ, блок синхронизации БС, блок обмена БОБ. Арифметическо-логический блок АЛБ предназначен для вы- полнения арифметических (сложение, вычитание, умножение и др.) и логических (конъюнкция, дизъюнкция, инверсия и др.) операций над 16-разрядными двоичными словами (операндами). В режиме функционирования обмен операндами между АЛБ и другими бло- 136
ками производится по магистралям А и В. Арифметическо-логиче- ский блок содержит коммутатор, сумматор со схемами переноса и сдвига, блок записи и обмена информации (байтовая форма пред- ставления) и регистр предварительного хранения информации. J4 35 32 33 Рис. 4.5. Схема арифметического устройства К588ВС1 Регистры (РгО, Рг\, ..., Рг15) РОН, предназначенные для опера- тивного хранения данных в БИС АУ в режимах записи и считыва- ния, позволяют обрабатывать информацию одного из 16 регистров с применением двунаправленной магистрали А. Регистр состояний состоит из 16 разрядов. Четыре (старших) разряда служат для ин- дикации состояния АЛБ, остальные 12 (младших) используются в ряде микрокоманд как регистры общего назначения. Старшие раз- ряды составляют триггеры признаков результата выполняемой опе- рации: знака, равенства нулю, переполнения и расширения. Аккумулятор АК предназначен для временного хранения 16-раз- рядного операнда. Аккумулятор применяется в операциях над дву- мя операндами, при этом обращение к нему определяется форма- том микрокоманды. Регистр микрокоманд предназначен для запи- си и хранения 12-разрядной микрокоманды, поступающей в БИС АУ извне. Регистр режима функционирования представляет собой трехразрядный регистр, информационное содержимое кото- рого определяет режим функционирования БИС АУ. 137
Ниже указаны режимы работы БИС АУ в зависимости от со- стояния трех триггеров регистра РгР/КФ'. т сам т 1 мл Гсг БИС АУ работает в автономном ре- жиме с двухуровневым активным сигналом «Исполнено» 1 1 — БИС АУ является старшим модулем при параллельном включении не- скольких БИС АУ 0 1 0 БИС АУ является младшим модулем при параллельном включении не- скольких БИС АУ 1 0 0 БИС АУ занимает промежуточное положение при параллельном вклю- чении нескольких БИС АУ 0 0 0 Автономная работа БИС АУ 0 1 1 Блок расширения БРШ используется для согласования БИС АУ по цепям переноса или сдвига {СО, СО, С1, ..., С16) при построении системы с расширенной разрядностью путем параллельного вклю- чения нескольких БИС АУ. Буферный регистр магистральных данных БРгМД совместно с БО осуществляет асинхронный прием и выдачу информации по 16-разрядной МД, БФБМС при этом используется для выдачи при- знаков результата операции (содержимого старших разрядов РгСН), управление работой блоков АУ производится с помощью БУ, обеспечивающего дешифрацию микрокоманд и формирование соответствующих управляющих сигналов. Блок синхронизации ис- пользуется для формирования внутренних синхросигналов, обеспе- чивающих работу БИС АУ, и внешних синхроимпульсов, позволя- ющих обеспечить работу нескольких БИС АУ в составе системы с применением БИС УП. Управляющая память К588ВУ1. Представляет собой автоном- ный и асинхронный формирователь двоичных последовательностей, который предназначен для построения блоков микропрограммного управления различной информационной емкости и используется в качестве генератора микрокоманд. Разрядность входного слова команды 16, входного слова состояний 4, выходной микрокоманды 13, число логических произведений ПЛМ-100. Структура устройства К588ВУ1 содержит (рис. 4.6) входные ре- гистры Рг1 и Рг2, регистры обратной связи — регистр текущего ад- реса РгТА и регистр следующего адреса РгСА, постоянную память типа «программируемая логическая матрица» ПЛМ, блок синхро- низации БС, регистр управления РГУ, блок обмена БО и выходной буфер микрокоманды БФМК. Программируемая логическая матрица состоит из двух програм- мируемых логических подматриц ПЛМ1 и ПЛМ2 и программиру- емой матрицы инверторов. Матрица инверторов расширяет логи- ческие возможности преобразования информации: ПЛМ1 эквива- лентна 100 27-входовым логическим элементам ИЛИ—НЕ; ПЛМ2 — 24 100-входовым логическим элементам. В ПЛ Ml, ПЛ М2 и матрице инверторов данные связи «кодируются» в ходе изготов- 138
ления БИС с помощью сменных фотошаблонов. Режим функционирования ПЛМ определяется значением ло- гического сигнала по СТРОБ ПЛМ, который формируется БС, уровень «О» соответствует режи- му сброса матрицы (исходное со- стояние ПЛМ), уровень «1» »— выборке микрокоманды из ПЛМ. Входные регистры Рг1 и Рг2 предназначены для приема и хра- нения поступающей извне инфор- мации в процессе обмена. Изме- нение информации в Рг1 и Рг2 определяется содержимым РгУ и осуществляется через БО и БС\ РгУ предназначен для обработки кода признаков режимов функци- онирования внутренних блоков УП. Режимы работы УП опреде- ляются информационным содер- жимым РгУ. Блок синхронизации БС вы- полняет роль формирователя внутренних сигналов, стробирую- щих ПЛМ, РгУ, БО, РгСА, РгТА, 353331 Рис. 4.6. Схема БИС УП К588ВЦ1 сигналов, определяющих начало и окончание выдачи микрокоманд, и внешних сигналов, поступаю- щих на выводы Ф2 (организация) и КК (конец команды). Режим работы БС определяется значением логического сигнала, поступа- ющего на вход Ф1 (исполнено); РгТА и РгСА формируют после- довательность микрокоманд, записью информации в данные реги- стры управляет один из подблоков РгУ. Блок обмена БО обеспечивает организацию асинхронного при- ема информации во входной регистр Рг1. При поступлении сигнала КК с соответствующего выхода РгУ БО переходит в состояние го- товности приема информации в Рг1. Если на входе в БО появляется сигнал уровня «О», свидетельствующий о наличии информации на входах Рг1, то БО вырабатывает сигнал, стробирующий прием ин- формации в Рг1. После окончания приема формируется сигнал, со- ответствующий «О» и поступающий на вывод ОПМ блока БО. Арифметический расширитель К588ВР1. Арифметический рас- ширитель представляет собой восьмиразрядное устройство, предна- значенное для быстрого выполнения операции умножения, деления и многоразрядных сдвигов, а также специфических операций с пла- вающей запятой. БИС АР позволяет существенно расширить функ- циональные возможности и производительность систем, построен- ных на основе МПК серии К588. При этом сохраняются особенности, определяющие его преимущества по сравнению с другими комплек- 139
тами: микропрограммное управление, асинхронный обмен, автоном- ная внутренняя синхронизация, электрическая совместимость с ТТЛ СИС и БИС, обеспечивающие в совокупности достаточно вы- сокое быстродействие и весьма низкое потребление мощности. Структура устройства К588ВР1 содержит (рис. 4.7) следующие блоки: блок умножения БУМ, два буферных регистра БФРг, ре- гистр микрокоманды РгМК, три регистра промежуточного хранения операндов РгХО, два регистра хранения результатов операций Рис. 4.7. Схема БИС АР К588ВР1 РгХОП, дешифратор микрокоманд ДШМК, блок поиска кода опе- ранда БПКО, блок выбора нулевого приближения БН, дешифратор кода сдвига ДШКД, блок синхронизации БС, схему начальной ус- тановки СхУСТ, блок суммирования БСМ и два блока обмена БО. Основной блок БИС АР — БУМ — представляет собой матрицу сложения сдвига 8x8 элементов. Два БФРг реализованы на раз- рядных регистрах и используются для ввода — вывода данных по каналам 1 и 2. Регистр микрокоманд также содержит восемь разря- дов. Три РгХО выполняют функции 8-разрядных регистров проме- жуточного хранения операндов. Два РгХОП обеспечивают хране- ние результата операции (РП1 — младшая часть, РП2 — старшая). Поиск кода «левого нулевого бита «или» левой пары неравнознач- ных бит» операнда производит блок БПКО. Блок выбора нулевого приближения предназначен для выбора обратной величины дели- теля. Формирование признаков и состояний типа: знак N, сравне- но
ние результата с нулем Z, переполнения V и переноса С — произво- дит блок признаков БПН. Четырехвходовый БС осуществляет син- хронизацию как в самой БИС АР, так и в многоразрядном блоке БИС при расширении размера слова. Режим асинхронного обмена осуществляется двумя БО по двунаправленным магистралям кана- лов К1 и К2. Система микрокоманд БИС АР содержит 256 микроопераций. Микрокоманды умножения выполняются по алгоритму умножения чисел в дополнительном коде с одним корректирующим шагом. § 4.4. Архитектурные особенности построения управляющей микро-ЭВМ на базе интегрального МПК серии К587 При проектировании управляющей микро-ЭВМ, работающей в режиме реального времени, разработчик стремится выполнить про- тиворечивые требования: достичь максимума быстродействия при минимальных аппаратных затратах, мощности и габаритно-весо- вых характеристиках. Поскольку управляющая микро-ЭВМ пред- назначена для решения группы заранее известных задач, как пра- вило, в реальном масштабе времени, то подход к ее разработке должен отличаться от подхода к разработке универсальной микро- ЭВМ и при этом для ЭВМ того же класса быстродействие должно быть выше, а аппаратные затраты ниже. Описываемая управляющая микро-ЭВМ спроектирована исходя из следующих соображений, в основном традиционных для мик- ро-ЭВМ [4]: использование в основном интегральных схем боль- шей степени интеграции, для обра- ботки информации — только БИС; принцип управления — микропро- граммный; информационная струк- тура должна состоять из необходи- мого, возможно меньшего числа уст- ройств (операционных блоков, па- мяти разных типов, регистров), объ- единенного возможно большим чис- лом буферизованных связей, что должно обеспечивать обмены ин- формацией между несколькими функциональными узлами сразу и выполнение операций обработки ин- формации и вычислений параллель- но несколькими соответствующими узлами (при условии программного обеспечения такого распараллелива- ния); совмещение ПЗУ микрокоманд и программ, с одной стороны, обус- ловленное спецификой управляющей ЭВМ — решением группы заранее известных задач, с другой — нали- чием БИС ППЗУ или ПЗУ большой /</ Рис. 4.8. Схема микро-ЭВМ на МПК серии К587 141
емкости; предварительная подготовка микрокоманд и данных ариф- метических устройств; специальная подготовка системы команд е— должны быть в наличии только нужные для задач данного класса команды, группы часто встречающихся команд целесообразно объ- единять в одну команду; для минимизации времени выполнения программы целесообразно использовать микрокомандный уровень ее представления, но при этом возникают неоправданные сложно- сти отладки программы и модернизации имеющегося алгоритма. При реализации программы на командном уровне минимизируется емкость ПЗУ, но возрастает время выполнения задачи. Наиболее целесообразным является следующий способ реали- зации программы: а) на период отладки — командное представле- ние; б) после отладки — командное представление частей програм- мы, некритичных ко времени их выполнения, и представление команд в виде их макрорасширений на микрокомандном уровне — для частей программ, критичных ко времени исполнения. Для аппаратной реализации этого необходимо иметь группу микрокоманд, выполняющихся таким же способом, что и команды. Можно сказать, что архитектура оптимизирована, если процессор- ные БИС выполняют микрокоманду за микрокомандой без про- стоев, а магистрали обеспечивают подачу команд и данных с тем- пом, соответствующим минимальным циклам ввода — вывода про- цессорных БИС и все время заняты. Архитектура описываемого процессора не полностью отвечает такому критерию оптимальности, однако разработана исходя из изложенных выше принципов. В качестве элементной базы исполь- зован МПК серии К587 и ИС серии К564, соответствующая ему по логическим уровням, технологии, быстродействию. Схема процессо- ра приведена на рис. 4.8. В состав его входят ПЗУ, регистр адреса ПЗУ (РгА ПЗУ), регистр данных ПЗУ (РгД ПЗУ), регистр адреса ОЗУ (РгА ОЗУ), устройство управления (УУ), два мультиплексора (МХ1 и МХ2), операционное устройство, состоящее из арифмети- ческого устройства А У (К587ИК2) и арифметического расширите- ля АР (К587ИКЗ). На схеме приведены только информационные магистрали, управляющие сигналы с УУ на все остальные устрой- ства процессора условно не показаны. Постоянное запоминающее устройство используется как микро- командная память, память констант и таблиц и память программ. Оперативное запоминающее устройство хранит входные данные, промежуточных результатов и результатов вычислений. Устройст- ва объединены двумя двунаправленными магистралями К1 и К2 и рядом однонаправленных. Регистр адреса ОЗУ может загру- жаться из АУ через канал микропрограммно или из РгД ПЗУ при расшифровке команды, РгА ОЗУ используется непосредственно как регистр адреса ОЗУ, регистр адреса константы при считыва- нии ее из ПЗУ, а также как адрес ВУ при обращении к нему. Ре- гистр адреса ПЗУ — микрокомандный счетчик адреса, его можно загружать при расшифровке команды или микрокоманды безус- ловного перехода или модифицировать путем выдачи признаков 142
результата операции АУ каналу КЗ при выполнении микрокоманды условного перехода. Возможно считывание из ПЗУ путем выдачи адреса из РОН АУ по каналу К2 через МХ1 на накопитель ПЗУ, Способы взаимодействия совокупностей устройств при выпол- нении микрокоманд или расшифровке команд определяются по- требной системой команд с учетом возможностей структуры. По- сле определения необходимого набора команд и микрокоманд для выполнения этой системы команд эти способы взаимодействия уст- ройств реализуются схемотехникой устройств управления. Для обеспечения максимального быстродействия необходимо стремиться к тому, чтобы цикл работы процессора стал близок к циклу работы АУ и АР. С этой целью приходится разрабатывать УУ с рациональной системой команд и отказываться от примене- ния БИС УП и ОИ, так как они в значительной мере удлиняют цикл процессора. Устройство управления должно по сигналам синхронизации с процессорных БИС вырабатывать сигналы, обеспечивающие пред- варительную подготовку микрокоманд и данных. Если применять достаточно быстродействующую постоянную память, например се- рии К556 (время выборки не более 100 нс), то первую часть сфор- мулированного критерия оптимальности — равенства цикла процес- сора времени выполнения микрокоманды процессорной БИС для микрокоманд без ветвления для данной структуры — можно счи- тать выполненной. Вторая часть критерия оптимальности оценива- ет объем аппаратуры, необходимой для такого эффективного функ- ционирования процессорных БИС, и поскольку вариантов структур можно предположить множество, а формального алгоритма их синтеза нет, то говорить о том, что задача решена с минимальны- ми аппаратными затратами, не следует. Однако для достижения этой цели были применены такие меры, как использование БИС, микропрограммность, совмещение ПЗУ микрокоманд и программ, стремление связать устройства возможно большим числом маги- стралей. § 4.5. Вычислительный блок на базе интегрального МПК серии К588 Микропрограммируемость, возможность наращивания емкости управляющей памяти, асинхронный принцип работы микропроцес- сора позволяют строить микро-ЭВМ на базе только двух БИС — АУ и УП. Стандартный комплект, предназначенный для реализации процессора микро-ЭВМ типа «Электроника-60», включает в себя следующие микросхемы: К588ИК2; К588ИК1—0003; К588ИК1 — 0004; К588ИК1—0005. Структура указанного процессора приведена на рис. 4.9. Он со- стоит из трех блоков: операционного ОБ, микропрограммного уп- равления БМУ и интерфейсного ИБ. 143
Рис. 4.9. Схема вычислительно- го блока на МПК серии К588 Микропрограммно-управляемый ОБ, реализуемый на одной микро- схеме К588ИК2, предназначен для формирования адресов и выполне- ния операций над данными, посту- пающими в него из ВУ или храня- щимися в регистрах общего назна- чения А|У. Блок микропрограммного управ- ления предназначен для управления операционным и интерфейсным бло- ками и реализован на трех микро- схемах управляющей памяти К588ИК1—0003, К588ИК1—0004, К588ИК1—0005, организующих ра- боту операционного блока в соответ- ствии с системой команд. Интерфейсный блок преобразу- ет внутренние сигналы процессо- ра в сигналы управления каналом, организуя циклы обмена инфор- мацией между процессором и ВУ. Интерфейсный блок выполняет функции системного контроллера и реализован на микросхемах ма- лой и средней степени интеграции. Обмен информацией с внешними устройствами осуществляется процессором по асинхронному принципу — на управляющий сигнал процессора должен поступить ответный сигнал ВУ. Сигналы управления каналом выполняют функции синхрониза- ции при передаче и приеме адреса или передаче данных по двуна- правленной 16-разрядной мультиплексируемой МАД. Сигнал син- хронизации активного устройства СИА вырабатывается процессо- ром и синхронизирует выдачу процессором адреса ВУ. Только при наличии этого сигнала возможен обмен информацией между про- цессором и ВУ. Сигнал «Ввод» вырабатывается процессором во время действия сигнала СИА и обозначает требование ввода информации в случае, если необходим вывод информации по адресу, устанавливаемому процессором до появления сигнала «Ввод». Сигнал «Вывод» со- провождает выдаваемые процессором данные. Сигнал синхронизации пассивного устройства СИП вырабаты- вается ВУ в двух случаях: если по сигналу «Ввод» внешнее уст- ройство подготовило данные и они установлены на МАД; если по сигналу «Вывод» ВУ закончило прием данных в МАД. Сигналы «Ввод» и «Вывод» снимаются процессором после по- явления сигнала СИП, который, в свою очередь, снимается ВУ после исчезновения сигналов «Ввод» или «Вывод». Процессор на- чинает выполнение начальной команды при появлении на магист- рали начального запуска сигнала «Пуск» длительностью не менее 500 нс.
30 коп. • МИКРОПРОЦЕССОРЫ • Под редакцией заслуженного деятеля науки и техники РСФСР, доктора технических наук, профессора Л.НЛРЕСНУХИНА О Архитектура и ее оценка • Организация вычислительных процессов на микро-ЭВМ • Элементная база и схемотехника средств сопряжения • Основы построения микро-ЭВМ • Аппаратурно-программные средства отладки • Информационно-управляющие вычислительные системы • Автоматизированные системы контроля объектов * Лабораторный практикум • Сборник примеров и задач МОСКВА «ВЫСШАЯ ШКОЛА» 1984