Текст
                    АРХИТЕКТУРА
И ЕЁ
ОЦЕНКА


Л.В. Нестеров РО.ЦЕССРРЫ АРХИТЕКТУРА И ЕЁ ОЦЕНКА Под редакцией заслуженного деятеля науки и техники РСФСР, доктора технических наук, профессора Л.Н.ПРЕСНУХИНА Допущено Министерством высшего и среднего специального образования СССР в качестве учебного пособия длл студентов высших технических учебных заведений МОСКВА <ВЫСШАЯ ШКОЛА» 1984 Scan AAW
ББК 32.973.2 Н 56 УДК 681.322 Рецензенты: кафедра «Автоматизированные системы управления» Московского высшего технического училища им, Н. Э. Баумана (зав. кафедрой — д-р техн, наук, проф. В. Н. Четвериков) и канд. техн, наук А. А. Васенков. Нестеров П. В. Н 56 Микропроцессоры. Архитектура и ее оценка: Учеб, пособие для втузов/Под ред. Л. Н. Преснухина. — М.: Высш, шк., 1984.— 104 с., ил. 25 к. Пособие является первой книгой из серии, выпускаемой под общим назва* нием «Микропроцессоры». В нем даны основы теории и проектирования мик- ропроцессоров на интегральных схемах с повышающейся степенью интеграции элементов; изложены принципы построения и развития логической структуры микропроцессоров; рассмотрены направления эффективного использования мик«« ропроцессоров и вычислительных средств на их основе, приведены методики оценки и выбора архитектуры микропроцессора для определенных направлений применения. 2405000000—440 ББК 32.973.2 Н ------------- КБ—56—5—83 001(01)—84 6Ф7.3 Петр Владимирович Нестеров Микропроцессоры. Архитектура и ее оценка Заведующая редакцией Н. И. Хрусталева. Редактор Л. П. Андрианова. Млад- шие редакторы Т. Ф. Артюхина и А. Л. Михайлова. Художник В. В. Гарбузов. Художественный редактор В. И. Мешалкин. Технический редактор А. К. Нес- терова. Корректор Г. И. Кострикова. ИБ № 4834 Изд. № Стд —431. Сдано в набор 21.05.84. Подп. в печать 07.09.84. Т-18909. Формат 60Х90’/16. Бум. тип. № 1. Гарнитура литературная. Печать высокая. Объем 6,5 усл. печ. л. 6,75 усл. кр.-отп. 743 уч.-изд. л. Тираж 35 000 экз. Зак. 534. Цена 25 коп. Издательство «Высшая школа», 101430, Москва, ГСП-4, Неглинная ул., д. 29/14 Московская типограия № 8 Союзполиграфпрома при Государственном комитете СССР по делам издательств, полиграфии и книжной торговли, 101898, Москва, Центр, Хохловский пер., 7. © Издательство «Высшая школа», 1984
ОГЛАВЛЕНИЕ Предисловие............................................................ 3 Введение............................................................... 6 Глава 1. Микропроцессоры, микроконтроллеры, микро-ЭВМ — новые массовые средства цифровой вычислительной техники на основе боль- ших интегральных схем............................................. 10 § 1.1. Технико-экономические закономерности развития и совершенст- вования микропроцессорных интегральных схем....................... 10 § 1.2. Особенности проектирования архитектуры микропроцессоров . 13 § 1.3. Проблемы создания микропроцессорных систем обработки дан- ных и управления.................................................. 17 Глава 2. Развитие архитектуры микропроцессоров........................ 20 § 2.1. Классификация микропроцессоров............................. 20 § 2.2. Развитие архитектуры микропроцессорных вычислительных средств........................................................... 27 § 2.3. Решение проблемы создания программного обеспечения при раз- витии архитектуры микропроцессоров................................ 33 Глава 3. Развитие логической структуры микропроцессоров........... 44 § 3.1. Организация логической структуры микропроцессоров .... 44 § 3.21. Требования,, предъявляемые к системам команд, методам адре- сации данных и управлению адресами и операциями .... 48 § 3.3. Особенности построения и функционирования логических блоков прерывания работы микропроцессоров................................ 51 § 3.4. Методы и средства управления вводом — выводом данных . . 58 § 3.5. Логические структуры микропроцессоров...................... 65 Глава 4. Организация и применение микропроцессорных систем обработ- ки данных и управления............................................ 68 § 4.1. Логическая структура микропроцессорной системы............ 68 § 4.2. Интерфейс микропроцессоров................................. 74 § 4.3. Логическая структура микропроцессорной системы на основе комплекта БИС секционного микропроцессора ....... 78 § 4.4, Области применения микропроцессорных вычислительных средств 84 Глава 5. Оценка возможностей и обоснование выбора архитектуры мик- ропроцессора ..................................................... 89 § 5.1. Сравнение архитектур микропроцессоров...................... 89 § 5.2. Обоснование выбора архитектуры микропроцессора............. 96 § 5.3. Оценка возможностей архитектуры микропроцессора .... 10О Список литературы . . . *....................................... 104
ПРЕДИСЛОВИЕ Характерной чертой научно-технического прогресса, определяю- щей дальнейший мощный подъем общественного производства, является широкое внедрение электроники во все отрасли народного’ хозяйства. В материалах XXIV—XXVI съездов КПСС и особенно в реше- нии ноябрьского (1982 г.) Пленума ЦК КПСС и в последующих постановлениях партии и правительства отмечалась необходимость повысить технический уровень вычислительной техники, приборов и средств автоматизации на основе новейших достижений микро- электроники и микропроцессорной техники. Эти решения партии успешно претворяются в жизнь советской наукой и промышлен- ностью. Современная электронная цифровая вычислительная техника широко применяется в народном хозяйстве. В настоящее время создано четыре поколения ЭВМ с улучшающимися технико-эко- номическими показателями, что способствует дальнейшему расши- рению сферы применения ЭВМ и их эффективности. Четвертое поколение ЭВМ на основе интегральных схем с большой степенью интеграции элементов (БИС) появилось в начале 70-х годов и существенно изменило параметры ЭВМ всех классов. Вместе с тем возник совершенно новый класс вычислительной тех- ники на основе БИС—микропроцессорные вычислительные маши- ны — микро-ЭВМ. В конце 70-х годов в результате интеграции всех электронных устройств ЭВМ в одном кристалле были созданы однокристальные микро-ЭВМ, вычислительная мощность которых не уступает вы- числительной мощности чредних ЭВМ начала 70-х годов. Микропроцессоры и микро-ЭВМ стали новым массовым классом ЭВМ вследствие малой материалоемкости, низкого энергопотреб- ления, высокой надежности и малой стоимости. Отечественной промышленностью ежегодно производится несколько десятков ты- сяч микро-ЭВМ (например, семейства микро-ЭВМ «Электроника НЦ», «Электроника С5», «Электроника-60» и др.), сотни тысяч микропроцессоров и микрокалькуляторов на их основе, а также диалоговые вычислительные комплексы ДВК-1 и ДВК-2 с произ- водительностью 104—106 операций/с. Разрабатываются операцион- ные системы общего применения и стандартное программное обес- печение микро-ЭВМ. Массовость этого нового класса вычислительной техники и его высокие технико-экономические параметры оказывают революцио- 4
визирующее влияние на целое поколение приборов, оборудования, агрегатов со встроенными микропроцессорными средствами. Микропроцессоры и микро-ЭВМ находят применение в различ- ных областях народного хозяйства (в управлении технологически- ми процессами, информационных и измерительных комплексах, энергетике, медицине и др.). На базе выпускаемых микропроцес- соров и микро-ЭВМ созданы высокопроизводительные устройства числового программного управления. Крупносерийное производст- во ряда моделей мини-ЭВМ позволило начать работы по созданию нескольких типов проблемно-ориентированных комплексов для ав- томатизации научных исследований и технологических процессов. Продолжается исследование принципов построения мобильных систем 'программирования на базе перспективных языков высокого уровня для мини- и микро-ЭВМ. Разработки, производство и хранение микро-ЭВМ и микропро- цессорной техники для различных отраслей народного хозяйства требуют подготовки соответствующих специалистов. Подготовка специалистов должна проходить широким фронтом и начинаться с переподготовки преподавательских кадров. Причем эта переподготовка должна коснуться не только преподавателей кафедр вычислительной техники и вычислительной математики, но и кафедр автоматики, промышленной электроники, информационной техники и подавляющего большинства машиностроительных и обще- инженерных кафедр. Вопросы широкого применения микропроцес- сорной техники в народном хозяйстве должны быть отражены, сог- ласно рекомендациям Минвуза СССР и ГКНТ СССР, в учебных планах практически всех инженерно-технических специальностей высших учебных заведений и техникумов. Для подготовки инженеров различных специальностей по вопро- сам правильного использования микропроцессорной техники и мик- ро-ЭВМ и их разработки предпринято издание данного учебного пособия, состоящего из девяти отдельных книг. При написании учебного пособия авторами использован опыт разработки и исследований микропроцессоров и микро-ЭВМ, а так- же опыт преподавания на кафедре «Вычислительная техника» Мо- сковского института электронной техники. Авторы выражают глубокую благодарность рецензентам: коллективу кафедры авто- матизированных систем управления МВТУ им. Баумана (зав. ка- федрой— д-р техн, наук, проф. В. Н. Четвериков) и канд. техн, наук А. А. Васенкову (директор НИИ физических проблем), заме- чания которых способствовали улучшению материала учебных по- собий. Авторы с благодарностью примут все замечания по книгам, ко- торые можно направлять по адресу: 101430, Москва, ГСП-4, Нег- линная ул., 29)14, издательство «Высшая школа». Л. Н. Преснухин 5
ВВЕДЕНИЕ Постановлением ЦК КПСС и Совета Министров СССР «О мерах по ускорению научно-технического прогресса в народном хозяй- стве» * установлено, что в ближайшие годы отечественной промыш- ленностью должен быть обеспечен выпуск машин, оборудования, приборов и другой продукции, отвечающей по своим технико-эко- номическим показателям высшему мировому уровню, а также внед- рение прогрессивных технологий и передовых методов организации производства и на этой основе существенно повышена производи- тельность труда. Одно из главных направлений работы по ускорению научно- технического прогресса — широкая автоматизация технологических процессов на основе применения автоматизированных станков, ма- шин и механизмов, унифицированных модулей оборудования, робототехнических комплексов и вычислительной техники. В этих целях ускоряется создание гибких автоматизированных произ- водств, систем автоматизированного проектирования, обеспечиваю- щих существенный рост производительности труда и резкое сниже- ние доли ручного труда, повышение технического уровня выпускае- мой продукции, сокращение сроков и улучшение качества проект- ных и конструкторских работ. Для решения этих и ряда других проблем, установленных Постановлением ЦК КПСС и Совета Министров СССР, принци- пиально важным и необходимым является широкое ' применение микропроцессорных вычислительных средств, поскольку именно микропроцессорная техника иррает активную роль на современном этапе научно-технического прогресса. В настоящей книге впервые сделана попытка обобщения резуль- татов разработки и применения отечественных микропроцессорных вычислительных средств, а также дан прогноз направления разви- тия архитектуры микропроцессоров по мере совершенствования микроэлектронной техники. Построение ЭВМ на основе микропроцессорных БИС позволяет уменьшить стоимость микро-ЭВМ, сравнимых по своим параметрам с ранее созданными ЭВМ, в 103—104 раз, по габаритным разме- рам— в (2-?-3) 104 раз, по мощности потребления — в 105 раз. Это означает, что без увеличения общих затрат микроэлектронная тех- нология позволяет обществу произвести в сотни и тысячи раз боль- ше ЭВМ, чем ранее. См: Правда, 1983, 20 августа. 6
Микропроцессор (МП)— программно-управляемое устройство, предназначенное для обработки цифровой информации и управле- ния процессом этой обработки, выполненное в виде одной (или не- скольких) интегральной схемы с высокой степенью интеграции электронных элементов. Производительность микропроцессоров непрерывно возрастает по мере 'совершенствования микроэлектронной технологии и архи- тектуры. У наиболее развитых микропроцессоров она уже с начала 80-х годов не уступает производительности процессоров обычных и мини-ЭВМ средней вычислительной мощности. Процессоры ЭВМ имеют сложную логическую структуру и содержат большое количе- ство электронных элементов с множеством разветвленных связей между ними. Для повышения производительности процессора необ- ходимо развивать все его аппаратурные ресурсы. Возможности однокристальных микропроцессоров определяет микроэлектронная технология па определенном уровне развития. Поэтому, чтобы уве- личить производительность процессоров, используют их реализации в виде многокристалъных, а также секционных многокристалъных микропроцессоров. Многокристальные МП можно получить в том случае, когда про- изводится разделение логической схемы процессора на отдельные функционально законченные части, каждая из которых реализуется в виде интегральной схемы. Необходимость выполнения сложных функций управления при- вела к созданию микроконтроллеров — управляющих устройств, выполненных на одном или нескольких кристаллах. Микроконтрол- леры выполняют функции логического анализа и управления (поэ- тому за счет исключения арифметических операций можно умень- шить их аппаратурную сложность или развить функции логического управления). Значительным достижением микроэлектронной технологии яв- ляется создание аналоговых МП, предназначенных для прямой обработки аналоговых и цифровых сигналов. В структуре аналого- вых МП имеется несколько каналов аналого-цифровых и цифро- аналоговых преобразователей, а также цифровой процессор. Ана- логовые микропроцессоры выполняют функции аналоговых схем. Например, производят генерацию колебаний, модуляцию, смешение частот, фильтрацию, кодирование и декодирование сигналов в реальном масштабе времени и т. д.; заменяют сложные электрон- ные схемы, состоящие из операционных усилителей, катушек индук- тивности, конденсаторов и т. д. Они значительно повышают воспро- изводимость и точность обработки аналоговых сигналов, а также предоставляют широкие функциональные возможности программной «настройки» цифровой части микропроцессора на различные алго- ритмы обработки аналоговых сигналов. Использование БИС микропроцессора вместе с БИС полупро- водниковой памяти, БИС управления вводом — выводом позволило в принципиально новой системе обработки данных и управления — микро-ЭВМ — получить преимущества, характерные для отдельных 7
БИС: высокие производительность и надежность, низкую стои- мость, малые мощность потребления и габариты и большую устой- чивость к -неблагоприятным климатическим и механическим воздей- ствиям. Отечественной промышленностью выпускается м<ного видов микропроцессорных вычислительных цредств (например, специали- зированные 4-разрядные микропроцессоры и микроконтроллеры, 8-и 16-разрядные однокристальные микропроцессоры, одноплатные встраиваемые, а также конструктивно законченные микро-ЭВМ). Развитые одно- и многокристальные МП имеют разрядность 8, 16, 32 бит, а многокристальные секционные МП — разрядность 2, 4 и 8 бит и позволяют строить разнообразные высокопроизводительные процессоры ЭВМ. Таблица R.1 Серия МПК БИС или ИС Базовая технология Разрядность микропроцес- сора Число БИС или ИС общее в базовом комплекте К536 р-МДП 8 12 2 К580 п-МДП 8 3 1 К581 п-МДП 16 4 2 К584 И2Л 4п 3 2 К586 п-МДП 16 4 1 К1800 ЭСЛ 4п 8 2 К1801 п-МДП 16 2 1 К587 кмдп 4п 4 2 К588 кмдп 16 3 2 К589 ТТЛДШ 2п 8 2 К1883 п-МДП 8п 4 2 Примечание, п — 1, 2, 4. В та1бл. В.1 приведены выпускаемые отечественной 'промышлен- ностью микропроцессорные комплекты БИС (МПК БИС). Практи- чески МП используется вместе с другими интегральными схемами (ИС), поэтому в таблице указаны число ИС в базовом комплекте (собственно микропроцессор) и общее количество сопрягаемых ИС в комплекте. Однокристальные МП изготовляются преимущественно на основе р-МДП и п-МДП технологии униполярных полупровод- никовых приборов, а секционные многокристальные МП — на основе ТТЛДШ, И2Л, ЭСЛ быстродействующих биполярных полупровод- никовых приборов. Низкое потребление электрической энергии до- стигается в МП, выполненных на основе КМДП микроэлектронной технологии. Высокоскоростные секционные биполярные ИС, имею- щие малую физическую разрядность и монтируемые в корпусе с большим числом выводов, позволяют организовать разветвленные связи в процессоре и за счет конвейерной обработки получить вы- сокую производительность. 8
Приобретая микропроцессоры или микро-ЭВМ, потребители ре- шают задачу построения своей конкретной микропроцессорной системы с позиций системотехнического удовлетворения общих тре- бований. Разработчикам системы на основе микропроцессора не- доступен уровень отдельных транзисторов, связей между ними, а также широкая возможность трансформации связей между компо- нентами микропроцессорного комплекта БИС. Потребитель .воспри- нимает микропроцессор как нечто цельное, имеющее внешние потребительские свойства, заложенные в его архитектуре. Архитектура микропроцессора — функциональные возможности аппаратурных электронных средств микропроцессора, используемые для представления данных, машинных операций, описания алгорит- мов и процессов вычислений. Архитектура объединяет аппаратурные, микропрограммные и программные средства вычислительной техники и позволяет четко выделить то, что при создании конкретной микропроцессорной си- стемы и использовании возможностей микропроцессорного комп- лекта БИС должно быть реализовано пользователем программным способом и дополнительными аппаратурными средствами.
Глава МИКРОПРОЦЕССОРЫ, МИКРОКОНТРОЛЛЕРЫ, | МИКРО-ЭВМ — НОВЫЕ МАССОВЫЕ СРЕДСТВА ЦИФРОВОЙ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ НА ОСНОВЕ БОЛЬШИХ ИНТЕГРАЛЬНЫХ СХЕМ § 1.1. Технико-экономическле закономерности развития и совершенствования микропроцессорных интегральных схем Микроэлектронная технология позволяет в едином технологиче- ском процессе интегрировать в объеме (и на поверхности) полу- проводникового кристалла электронные элементы — транзисторы, диоды, резисторы, связи (соединения) и т. д., которые можно ис- пользовать для построения ИС. Однако экономические законы про- изводства накладывают жесткое ограничение на выбор возможных решений. Создание ИС—сложный и дорогостоящий процесс. Переход от научных исследований по определению функционального назначе- ния ИС к их промышленному производству возможен только при полной отработке схемотехнических решений изделий и технологии производства. Развитие микроэлектроники показало, что на раз- личных стадиях стоимость разработки схемотехнических решений изделий и создания технологии производства различна. Однако в целом для микроэлектроники свойственно существенное возраста- ние стоимости разработки схемотехнических решений изделий и создания технологии производства. Эта тенденция определяет не- обходимость в сбалансированном управлении развитием производ- ства ИС, выпуске изделий, экономически выгодных как для произ- водства, так и для потребителя ИС. Зависимость стоимости отдельного логического элемента от числа элементов на кристалле приведена на рис. 1.1. Она равна сумме затрат (кривая 3, рис. 1.1) на изготовление элементов и об- ратно пропорциональна числу элементов на кристалле (кривая 1, рис. 1.1) и затратам на сборку и контроль ИС (кривая 2, рис. 1.1 V Стоимость изделия (ИС) складывается из стоимости изготовле- ния кристалла и стоимости т^руда при сборке и контроле ИС. Когда кристалл мал (до 1,0X1,0 мм), его стоимость (стоимость материа- ла и его обработки) составляет незначительную часть от стоимости изделия. Удвоение, например, числа элементов на кристалле малого размера существенно не изменяет общей стоимости сборки и контроля ИС, поэтому стоимость одного элемента практически уменьшается в два раза. При увеличении числа элементов на кри- сталле возрастает количество используемого кремния, соответствен- но возрастают его стоимость и стоимость обработки. Стоимость С элемента остается приблизительно постоянной (и будет небольшой) ю
до тех тор, пока -выход годных кристаллов не начнет сильно умень- шаться (нижняя часть кривой 3, рис. 1.1), что приводит к возраста- нию стоимости элемента. Наименьшая стоимость элемента дости- гается при уровне технологии производства, соответствующем оп- тимальному уровню интеграции, наиболее экономически выгодному при данном уровне развития технологии. По мере совершенствования технологии кривая зависимости стоимости отдельного логического элемента от числа элементов на кристалле (кривая 3, рис. 1.1) сдвигается вправо и вниз, что опре- деляет переход к новому технико-экономическому уровню (кривая 4, рис. 1.1). Характерная особенность мик- роэлектронной технологии — по- стоянное. снижение стоимости из- делий повышающейся сложности. Так, стоимость карманного микро- калькулятора за первые десять лет производства уменьшилась в 100 раз. На ранних этапах производст- ва БИС их стоимость была очень высока, однако по мере совер- шенствования технологии произ- водства она резко снизилась. Таким образом, стоимость слож- ного микроэлектронного изделия, Рис. 1.1. Зависимость стоимости С логического элемента от степени ин- теграции N элементов на одном кристалле изготовленного на более поздних этапах производства, ниже, чем стоимость простого микроэлектрон- ного изделия, изготовленного на более ранних этапах производства. Затраты на разработку ИС окупаются лишь при их массово-м производстве и реализации. Высокая стоимость разработки БИС экономически оправдана только тогда, когда имеет место потреб- ление их в большом количестве. А это возможно лишь для БИС с универсальными функциями, т. е. для БИС стандартных компонен- тов разнообразных систем или для БИС конечных продуктов с вы- сокими потребительскими свойствами и умеренной стоимостью. На рис. 1.2 изображены этапы развития микроэлектронных схем, предназначенных для построения ЭВМ. Возникновение полупро- водниковой электроники, частью которой является микроэлектро- ника, связано с изобретением в конце 40-х годов полупроводнико- вого усилительного .прибора — транзистора. В конце 50-х годов были созданы интегральные схемы, содержащие несколько логиче- ских элементов в одном кристалле. Первые интегральные схемы выполняли простейшие логические функции или несложную комби- нацию этих функций и вследствие своей универсальности имели широкий рынок сбыта. Повышение степени интеграции до несколь- ких сотен элементов в одном кристалле позволило реализовать более сложные логические функции. Однако производство таких ИС оказалось экономически неэффективным из-за того, что в раз- личной аппаратуре сложные узлы одного типа, как правило, не 11
применяются. Технико-экономические ограничения 60- и 70-х годов не позволяли выпускать большое количество функционально оди- наковой аппаратуры *. Возможность производства ИС со степенью интеграции до не- скольких тысяч элементов в одном кристалле позволила спроекти- ровать универсальные матрицы элементов для выполнения простей- Рис. 1.2. Направления развития высоко- эффективных БИС ших логических функций и уз- лы регистров. Развитие этого направления по пути создания высокоэффективных полузаказ- ных ИС на основе матриц эле- ментов «базовых кристаллов» имеет очень большое значение для совершенствования ЭВМ всех классов. Отработка тех- нологии производства узлов ре- гистров и матриц логических элементов позволила перейти к изготовлению полупроводнико- вых ЗУ. Интеграция запомина- ющих элементов — носителей информации и схем управле- ния— в одном кристалле ус- пешно решила проблему числа выводов корпуса, остро стоя- щую перед логическими БИС. В случае БИС памяти для уп- равления полем в N одно- или многоразрядных слов необхо- димо иметь n = log2AZ выводов корпуса. Следовательно, для полупроводниковых ЗУ емкостью в 1 млн. бит с организацией 106Х 1 требуется всего /i = log2-22o = 20 выводов. Корпусы БИС с таким числом выводов производятся се- рийно. Полупроводниковые БИС стали массовой продукцией мик- роэлектроники именно вследствие универсальности своего функцио- нального назначения, обеспечивающей практически неограниченную сферу применения. Следующими эффективными изделиями микроэлектронной тех- нологии стали БИС микрокалькулятора и микропроцессора, где в одном кристалле произошла интеграция блоков арифметическо- логических (АЛБ), регистров, логических матриц и запоминающих элементов оперативных и постоянных запоминающих устройств. Развитие полей памяти и введение в состав микропроцессора логических схем управления внешними устройствами, а затем и * К началу 80-х годов во всем мире было произведено только 400 тыс. ЭВМ всех классов. Экономически оправданный объем производства ИС одного типа— сотни тысяч штук в год. 12
преобразователей информации породило однокристальные микро- ЭВМ. Микрокалькулятор, микропроцессор, микро-ЭВМ на основе БИС обязаны своим коммерческим успехом логической и функцио- нальной гибкости за счет программируемости своей работы. Они реализованы не в виде жестко закоммутированной схемы для вы- полнения каких-либо (даже сложных) логических функций, а в виде конечного автомата, выполняющего последовательность микроопе- раций. Введение некоторой аппаратурной избыточности в БИС поз- волило при программном управлении перестраивать последователь- ность выполняемых микроопераций и тем самым приспосабливать .схему к выполнению конкретной задачи в конкретных условиях. Поскольку для применения в разнообразных условиях программи- руемые БИС оказались достаточно эффективными, они вместе с БИС памяти стали массовой продукцией микроэлектронной техно- логии на ее следующем этапе развития. При переходе к проектированию аппаратуры на основе БИС от- четливо проявляется тенденция специализации БИС, так как части системы несомненно должны носить отпечаток ее характерных черт. Однако аппаратурная специализация БИС имеет серьезные техни- ко-экономические ограничения. Использование программируемых £ИС предоставляет широкие возможности вследствие программной -адаптации к конкретной области применения: изменяя программу работы, изменяют функции системы. Поэтому за счет составления программы работы аппаратуры в конкретных условиях работы ча- стной системы можно получить оптимальные характеристики систе- мы. Если уровень только программной «настройки» аппаратуры не позволяет обеспечить эффективные функции системы, то может быть доступен следующий уровень — микропрограммный. Изменяя содержимое постоянных запоминающих устройств ПЗУ или про- граммируемых логических матриц ПЛМ, можно «настроиться» на более «тонкие» специфичные черты системы. В данном случае аппаратурный уровень системы затрагивается, но только частично. Технико-экономические затраты при этом приемлемы, так как свя- заны лишь .с ограниченным вмешательством в технологию изготов- ления уже отработанных узлов и блоков аппаратуры, а не с полным циклом проектирования и изготовления новых аппаратурных средств. § 1.2. Особенности проектирования архитектуры микропроцессоров Архитектура микропроцессоров описывает методологию опти- мального объединения совокупности аппаратурных, программных и микропрограммных средств в вычислительной системе с позиций свойств, предоставляемых в распоряжение разработчиков систем и программистов-пользователей. При разработке архитектуры микропроцессоров и информационно-управляющих систем на их юснове необходимо: 1) дать описание концептуальной структуры 13
функционального поведения системы с позиций учета интересов пользователя при ее построении и организации вычислительного процесса в ней; 2) определить структуру, номенклатуру и особен- ности построения программных и микропрограммных средств; 3) описать характеристики внутренней организации потоков данных и управляющей информации; 4) провести анализ функциональной структуры и особенностей физической реализации устройств си- стемы с позиций сбалансированности программных, микропрограм- мных и аппаратурных средств. При разра-бовке архитектуры микропроцессоров и на их осно- ве— микросистем устанавливаются форматы данных и команд,, определяются системы команд и методы адресации, обосновывают- ся требования к интерфейсам. Правильно сбалансированные требования к аппаратурным и программным средствам дают возможность оптимизировать вычи- слительный процесс в системе. Поскольку в микропроцессорной системе функции оптимизации выполняет программное обеспечение^ достигаемый при разработке компромисс между аппаратурными и программными средствами определяет сложность и трудоемкость программного обеспечения. Большие интегральные схемы наибольшее влияние оказывают на микроархитектуру микропроцессора — аппаратурную организа- цию и логическую структуру микропроцессора, конфигурацию ре- гистров, управляющих схем, арифметическо-логических блоков, за- поминающих устройств и связывающих их информационных маги- стралей. Функциональные блоки, которые раньше строились из много- численных полупроводниковых приборов, в настоящее время реа- лизуются в виде одного прибора. Кроме того, увеличение функцио- нальной насыщенности и быстродействия и снижение стоимости памяти и логики, обеспечиваемые БИС, открывают новые возмож- ности проектирования микро-ЭВМ, уменьшая влияние стоимости. Поскольку МП выполнены на одном кристалле и при этом вклю- чают в себя все аппаратурные средства центрального процессора — регистры, АЛБ, схемы управления, а в некоторых случаях даже память, их микроархитектура определяет многие из черт микро- архитектуры системы (емкость и расположение регистров, разряд- ность и трассировку магистралей данных и управления, наличие » функции буферных регистров и магистралей для передачи всех сигналов). Так как многие элементы микроархитектуры становятся частыа конструкции кристалла, очень трудно создать такой кристалл БИС, который мог бы найти широкое применение. Очевидно, что кри- сталл, на котором реализована микроархитектура одной микро- ЭВМ, будет бесполезным для построения микро-ЭВМ другой архи- тектуры. Следовательно, объем его производства будет небольшим, а себестоимость — высокой. Микропроцессоры, являющиеся удачным примером реализации целой микроархитектуры на одном кристалле, позволяют также 14
увидеть и недостатки такого подхода. В дополнение к собственной микроархитектуре эти микропроцессоры обладают собственной макроархитектурой и системой команд и в связи с этим практиче- ски не годятся для реализации архитектуры других ЭВМ. Поэтому для реализации практически любых известных и новых архитектур ЭВЛ1 на основе БИС широко используются следующие виды микро- схем: микропроцессоры в виде модулей-секций на несколько двоич- ных разрядов (секционные микропроцессоры); программируемые логические матрицы и более совершенные программируемые ма- тричные логические схемы; матрицы логических элементов и спе- циальные ИС. Секционные микропроцессоры реализуют только -арифметические и логические функции центрального процессора: у них нет блока управления; они обрабатывают «слоги» данных обыч- но по 4 или 8 бит сразу. Такие микропроцессоры предоставляют проектировщикам ЭВМ свободу в выборе трассировки подмагист- ралей данных и адресов, а также разрядности этих подмагистра- лей и размещения на печатных платах, организации регистров и прочих элементов микроархитектуры. Как говорилось выше, при разработке любой ЭВМ необходимо достижение компромисса между ее аппаратурно-и программно-реа- лизуемыми функциями. Чем больше сложных функций в ЭВМ реа- лизуется аппаратурно, тем сложнее ее архитектура, а значит, тре- буется больше электронных элементов. Именно ограничение Коли- чества элементов аппаратуры ЭВМ приводит к появлению проблем программного обеспечения, поскольку в ЭВМ программно выпол- няется то, что нельзя реализовать аппаратурными средствами. Создание сверхбольших интегральных схем (СБИС) позволило получить новые однокристальные вычислительные функциональные устройства — универсальные вычислительные модули. Возрастание -сложности СБИС дает возможность разместить на одном кристалле центральный процессор и оперативную память достаточно большого информационного объема. Поскольку системные связи между про- цессором и памятью универсального вычислительного модуля реа- лизуются внутри кристалла, нет ограничений, связанных с числом выводов корпуса СБИС, на их сложность. Функциональная сложность вычислительного модуля позволяет довольно легко реализовать в нем прямое восприятие языков высо- кого уровня. При этом возможно такое направление развития вы- числительных модулей, при котором будет достаточно cфqpмyли- ровать решаемую проблему, а не писать подробную программу решения. Интерактивный режим ввода проблемы позволяет ЭВМ уточнить все особенности задания, правильно «понять» ограниче- ния и направления исследования. Перевод задания на «язык» такой интеллектуальной ЭВМ, составление программы и решение пробле- мы могут осуществляться машиной автоматически. Поэтому преодо- ление «программного кризиса» может быть достигнуто лишь в результате создания вычислительных средств воспринимающих и правильно интерпретирующих смысл формализованного естествен- ного языка человека. 15
Дальнейшее развитие микроэлектронной технологии позволит решить задачу речевого «общения» человека и машины за счет увеличения производительности микро-ЭВМ и создания одно- и М'ногокристальных синтезаторов и преобразователей речи. Пользователи микро-ЭВМ и программисты обычно плохо осве- домлены о существовании реальных буферных схем, особенностях реализации арифметическо-логических блоков и информационных магистралей; их, как правило, интересуют только система команд, типы данных, которые могут обрабатываться, режимы адресации и принципы работы, т. е. то, что называется макроархитектурой. Лю- бые изменения в макроархитектуре вынуждают пользователя зано- во переписывать или преобразовывать программу задачи, которую должна решать микро-ЭВМ. Изменения такого типа нежелательны, поскольку приводят к потере больших объемов программных средств, разработанных как пользователями, так и поставщиками микро-ЭВМ. Поэтому большинство разработчиков микропроцес- соров считают целесообразным сохранять освоенные макроархитек- туры. Практически проводится большая работа для того, чтобы стандартизовать макроархитектуры в масштабе отдельных направ- лений развития вычислительной техники. При развитии микропроцессоров наблюдается тенденция возло- жения на аппаратурные средства максимум того, что необходимо делать программным способом. Интеграция программных возмож- ностей в аппаратурных конструкциях, главным образом в виде микропрограмм ПЗУ — направление, которое находит все более ши- рокое применение в микропроцессорах, поэтому многие функции операционной системы уже начинают реализовываться аппаратур- ным методом. Вслед за этим придет очередь и аппаратурной реали- зации функций языков программирования. Для сохранения существующей архитектуры применяемых ЭВМ большое значение имеет возможность создания функциональ- но специализированных микропроцессоров. Примером служат одно- кристальные связные микропроцессоры-адаптеры и периферийные контроллеры, которые, принимая на себя соответствующие функ- ции, разгружают центральный процессор, увеличивая его произво- дительность. Поэтому они в определенной степени гарантируют сохранение неизменности программного интерфейса пользователя (м а кр о ар х и те к т у р ы). Перспективным является направление создания высокоуровне- вых объектно-ориентированных архитектур микропроцессоров. В таких микропроцессорах все данные и программы хранятся в виде сложных программных структур, называемых объектами (класте- рами), внутренний формат которых перестает интересовать поль- зователя после того, как определены характеристики и начальные значения объекта. Это — существенное отличие разрабатываемых и перспективных архитектур от уже отработанной и широко исполь- зуемой архитектуры микро-ЭВМ, где требуется, чтобы програм- мист следил за тем, какие типы данных — десятичные или целые, с фиксированной или плавающей точкой — хранятся в конкретной 16
ячейке памяти или используются при выполнении конкретной опе- рации. Именно в этом направлении развития микропроцессорной архитектуры решается проблема снижения стоимости программных средств микросистем. § 1.3. Проблемы создания микропроцессорных систем обработки данных и управления На основе интегральных схем (ИС) с малой степенью интегра- ции элементов строились сложные ЭВМ и разнообразные управляю- щие схемы, в которых за счет жестко выполненных связей фикси- ровались определенные алгоритмы функционирования. Такие спе- циализированные электронные управляющие схемы называли элек- тронными схемами с произвольными связями, что подчеркивает важность связей для построения оптимальных управляющих схем. Однако с ростом степени интеграции элементов в ИС оказывается сложно осуществлять именно произвольные связи. Поэтому воз- никло противоречие между возможностями создания множества электронных элементов в кристалле, объединением их произволь- ными связями на поверхности кристалла и организацией входных и выходных потоков данных через очень ограниченное число вы- водов корпуса ИС. Связи между элементами, выполненные в соот- ветствии с алгоритма«ми функционирования одних электронных систем управления, оказываются неоптимальными для других. Создание микропроцессора стало одним из решений проблемы построения разнообразных систем на базе перехода от произволь- ных аппаратурных связей к произвольным (или широко распрост- раненным) программам. В этом случае алгоритмы реализуются программным методом, а аппаратура остается практически одина- ковой для разнообразных применений. Поскольку микропроцес- сор — программно-управляемый прибор, необходимо при проектиро- вании заложить в него широкую оптимизацию уровней аппаратурно-программных средств и затем «настраивать» на реше- ние конкретных задач по конкретным алгоритмам только за счет разработки программ, отражающих специфику данной электронной системы. Однако возможности широко универсального примене- ния микропроцессора определяются только его производитель- ностью, обеспечиваемой архитектурой и схемотехнологическими параметрами. Микропроцессор решает задачи методами последовательных вы- числений, что приводит к большим затратам времени. Поэтому бы- стродействие любых микропроцессорных систем меньше, чем элек- тронных систем на основе схем с произвольными связями, выпол- ненных на основе тех же схемотехнологических принципов. С уче- том этого очень важного для практической работы фактора можно отметить следующие преимущества микропроцессорных систем пе- ред электронными системами на основе ИС с произвольными свя- зями: 1) меньше корпусов ИС и БИС, более простые печатные пла- ты и меньшее их число и меньшее число разъемов для реализации 17
одних и тех же функций; 2) более высокая надежность вследствие меньшего числа контактов, связей и компонентов; 3) меньшая мощ- ность потребления и снижение требований к источникам питания; 4) более простые сборка и испытание системы; легкость изменения и наращивания функций изменением программного обеспечения; 5) возможность выпуска все более усложняющихся систем (непре- рывная эволюция) при использовании конструктивного и програм- много задела. Микропроцессор — центральная часть любой электронной си- стемы управления и обработки данных, но не сама система. От- дельный микропроцессор не может выполнить каких-либо полезных функций во всех сферах, где его применение имеет какой-либо тех- нико-экономический смысл. Это обстоятельство определяется тем, что для получения реальной пользы от функционирования микро- процессора в него необходимо вводить исходные данные о текущем состоянии какого-либо управляемого объекта (процесса) и исполь- зовать выводимые данные, полученные в результате обработки исходных данных по заранее отработанному алгоритму, для зада- ния определенных управляющих воздействий на некоторую сово- купность управляющих органов (исполнительных механизмов). Следовательно, электронная система с микропроцессором (или на основе микропроцессора) обязательно должна содержать следую- щие функциональные части—подсистемы: ввода—вывода данных, обработки данных, накопления и хранения данных об особенностях внутренней структуры и функционировании объекта или процесса (памяти системы). Для размещения всех аппаратурных средств электронной систе- мы необходимо иметь конструктив, определяемый особенностями управляемого объекта (.процесса), со средствами электрического, электронного и механического сопряжения частей системы и управ- ляемого объекта (процесса). Объект управления и электронная система управления на основе микропроцессора могут иметь общий или раздельные источники питания, но в любом случае должны быть решены все аспекты проблемы электромагнитной совмести- мости. Создание МПК БИС привело к появлению принципиально но- вых направлений в применении цифровой вычислительной техники и позволило осуществить встроенное управление простым обору- дованием и приборами, распределенное управление сложным обо- рудованием и агрегатами, распределенные вычисления в многопро- цессорных системах. Применение микропроцессоров и микро-ЭВМ дает возможность получить существенный технико-экономический эффект, но требует значительных трудовых и денежных затрат. Пользователь должен изучить и оценить преимущества исполь- зования для своих целей многих видов микропроцессорных аппара- турных средств, среди которых наиболее типичны однокристальные, многокристальные и секционные многокристальные микропроцес- соры; однокристальные микро-ЭВМ; все БИС микропроцессорного 18
комплекта в совместимые с ними по конструктивно-функциональ- ным признакам обычные ИС; минимальные микро-ЭВМ, скомпоно- ванные на одиночной печатной плате; набор модулей микро-ЭВМ в виде совокупности печатных плат; законченные микро-ЭВМ в оп- ределенной конструкции; законченные диалоговые вычислительные- комплексы; периферийные устройства ЭВМ, датчики, исполнитель- ные механизмы, источники питания и т. д. В противном случае он на какой-то стадии работы может внезапно понять, что получает набор компонентов вместо законченной системы. В результате пользователь должен будет заниматься проектированием системы, средствами программного обеспечения и отладки. Вместо решения своих задач он будет занят созданием самой системы. Проблема выбора и оценки требуемых компонентов, обоснование желаемой архитектуры могут быть успешно решены лишь при квалифициро- ванном комплексном подходе к аппаратуре, программам и обору- дованию. Оборудование, в котором применяется микропроцессор, должна быть оснащено датчиками, определяющими режимы работы его отдельных частей или технологического процесса, а также испол- нительными механизмами, позволяющими влиять на протекающий процесс. Информация от датчиков и сигналы воздействия на испол- нительные механизмы почти всегда имеют параметры сигналов^ отличающиеся от принятых в микропроцессоре. Устройства согласования сложно изготовлять в виде интеграль- ных схем, поскольку в них происходит усиление очень малых сиг- налов, преобразование аналоговых сигналов в дискретные и, наобо- рот, световых, магнитных и других в электрические и т. д. Естест- венным выходом из этого положения является миниатюризация всех компонентов управляющих систем, которая приводит к необ- ходимости создания не только самого микропроцессора, но и се- мейства интегральных схем, совместимых электрически и конструк- тивно между собой, а также с семействами датчиков и исполни- тельных механизмов. Комплексный подход к созданию и применению микропроцес- сорных информационно-управляюгцих систем гарантирует полную и эффективную реализацию тех преимуществ, которые потенциально предполагает применение микропроцессоров.
Глава РАЗВИТИЕ АРХИТЕКТУРЫ 2 МИКРОПРОЦЕССОРОВ § 2.1. Классификация микропроцессоров Микропроцессор (МП) характеризуется очень большим числом параметров и качеств, поскольку он, с одной стороны, функциональ- но является сложным программно-управляемым цифровым процес- сором, т. е. устройством ЭВМ, а с другой — интегральной схемой (схемами) с высокой степенью интеграции элементов, т. е. электрон- ным прибором. Поэтому для микропроцессора важны такие каче- ства и параметры, как тип корпуса, количество источников пита- ния, требования к синхронизации, мощность рассеяния, темпера- турный диапазон, возможность расширения разрядности, цикл выполнения команд (микрокоманд), уровни сигналов, помехоустой- чивость, нагрузочная способность, объединение сигналов на выхо- дах, надежность, долговечность и т. д. Микропроцессор как функциональное устройство ЭВМ обеспе- чивает эффективное автоматическое выполнение операций обработ- ки цифровой информации в соответствии с заданным алгоритмом. Для решения широкого круга задач в различных областях приме- нений микропроцессор должен обладать алгоритмически полной системой команд (операций). Теоретически показано, что мини- мальная алгоритмически полная система команд процессора со- стоит из одной или нескольких универсальных команд. Однако при- менение процессоров с минимальными по числу операций системами команд ведет к неэкономичному использованию информационных емкостей памяти и значительным затратам времени на выполне- ние «длинных» программ. Поэтому обычно в микропроцессоры встраиваются аппаратурные средства, позволяющие реализовать многие десятки и сотни команд. Такие развитые системы команд дают возможность обеспечить компактную запись алгоритмов и соответственно эффективные программы. При проектировании микропроцессоров решают задачу опреде- ления наборов команд, выполняемых программным или аппаратур- ным способом на основе заданной системы микрокоманд. Аппара- турная реализация сложных команд дает возможность увеличить быстродействие микропроцессора, но требует значительных аппа- ратурных ресурсов кристалла интегральной схемы микропроцес- сора. Программная реализация сложных команд позволяет обеспе- чивать программирование сложных задач, изменять количество и особенности исполнения сложных команд. Однако скорость испол- 20
нения программных команд ниже скорости исполнения аппаратур- но-реализованных команд. Практически во всех современных микропроцессорных системах используются сложные развитые системы команд. Их ядро, состоя- щее из набора универсальных команд, реализуется аппаратурным способом в центральном микропроцесс9ре. Кроме того, специализи- рованные части наборов системы команд реализуются вспомога- тельными или периферийными микропроцессорами. Эти расширяю- щие возможности обработки данных специальные арифметические или логические микропроцессоры позволяют ускорить выполнение определенных команд и тем самым сократить время исполнения программ. Для описания МП как функциональных устройств необходимо охарактеризовать формат обрабатываемых данных и команд, коли- чество, тип и гибкость команд, методы адресации данных, число внутренних регистров общего назначения и регистров результата, возможности организации и адресации стека, параметры виртуаль- ной памяти и информационную емкость прямоадресуемой памяти. Большое значение имеют средства построения системы прерываний программ, построения эффективных систем ввода — вывода дан- ных и развитого интерфейса. По числу БИС в микропроцессорном комплек- те различают микропроцессоры однокристальные, многокристаль- ные и многокристальные секционные. Процессоры даже самых простых ЭВМ имеют сложную функ- циональную структуру, содержат большое количество электронных элементов и множество разветвленных связей. Реализовать прин- ципиальную схему обычного процессора в виде одной или несколь- ких БИС практически невозможно из-за специфических особенно- стей БИС (ограниченность количества элементов, сложность выполнения разветвленных связей, сравнительно небольшое число выводов корпуса). Поэтому необходимо изменять структуру про- цессора так, чтобы полная принципиальная схема или ее части имели количество элементов и связей, совместимое с' возможностя- ми БИС. При этом микропроцессоры приобретают внутреннюю магистральную структуру, т. е. в них к единой внутренней инфор- мационной магистрали подключаются все основные функциональ- ные блоки (арифметическо-логический, рабочих регистров, стека, прерываний, интерфейса, управления и синхронизации и др.). Для обоснования классификации микропроцессоров по числу БИС надо распределить все аппаратурные блоки процессора между основными тремя функциональными частями: операционной, управ- ляющей и интерфейсной. Сложность операционной и управляющей частей процессора определяется их разрядностью, системой команд и требованиями к системе прерываний; сложность интерфейсной части — разрядностью и возможностями подключения других уст- ройств ЭВМ (памяти, внешних устройств, датчиков и исполнитель- ных механизмов и др.). Интерфейс процессора содержит несколько 21
десятков шин информационных’магистралей данных (МД), адресов; (МА) и управления (МУ). Однокристальные микропроцессоры получаются при реализации всех аппаратурных средств процессора в виде одной БИС или СБИС. По мере увеличения степени интеграции элементов в кри- сталле и числа выводов корпуса параметры однокристальных микропроцессоров улучшаются. Однако возможности однокристаль- ных микропроцессоров ограничены аппаратурными ресурсами кри- сталла и корпуса. Поэтому более широко распространены много- кристальные микропроцессоры, а также многокристальные секци- онные микропроцессоры. Рис 2.1. Функциональная структура процессора (а) и ее разбие- ние для реализации процессора в виде комплекта секционных БИС МП (б) Для получения многокристального микропроцессора необходимо провести разбиение его логической структуры на функциональна законченные части и реализовать их в ваде БИС (СБИС). Функ- циональная законченность БИС многокристального микропроцес- сора означает, что его части выполняют заранее определенные функции и могут работать автономно, а для построения развитого процессора не требуется организации большого количества новых связей и каких-либо других электронных ИС БИС. На рис. 2.1, а, показано функциональное разбиение структуры процессора при создании трехкристального микропроцессора (пунк- тирные линии), содержащего БИС операционного ОП, БИС управ- ляющего УП и БИС интерфейсного ИП процессоров. Операционный процессор ОП служит для обработки данных, управляющий процессор УП выполняет функции выборки, декоди- рования и вычисления адресов операндов и также генерирует по- следовательности микрокоманд. Автономность работы и большое быстродействие БИС УП позволяет выбирать команды из памяти с большей скоростью, чем скорость их исполнения БИС ОП. При этом в УП образуется очередь еще не исполненных команд, а также заранее подготавливаются те данные, которые потребуются ОП в следующих циклах работы. Такая опережающая выборка команд экономит время ОП на ожидание операндов, необходимых для вы- 22
полнения команд программ. Интерфейсный .процессор ИП позво- ляет подключить память и периферийные средства к микропроцес- сору; по существу, он является сложным контроллером для уст- ройств ввода — вывода информации. БИС ИИ выполняет также функции канала прямого доступа к памяти. Выбираемые из памяти команды распознаются и выполняются каждой частью микропроцессора автономно, и поэтому может быть обеспечен режим одновременной работы всех БИС МП, т. е. кон- вейерный поточный режим исполнения последовательности команд программы (выполнение последовательности с небольшим времен- ным сдвигом). Такой режим работы значительно повышает произ- водительность микропроцессора. Многокристальные секционные микропроцессоры получаются в том случае, когда в виде БИС реализуются части (секции) логиче- ской структуры процессора при функциональном разбиении ее вер- тикальными плоскостями (рис. 2.1, б). Для построения многораз- рядных микропроцессоров при параллельном включении секций БИС МП в них добавляются средства «стыковки». Для создания высокопроизводительных многоразрядных микро- процессоров требуется столь много аппаратурных средств, не ^реализуемых в доступных БИС, что может возникнуть необходи- мость еще в функциональном разбиении структуры микропроцес- сора горизонтальными плоскостями. В результате рассмотренного функционального разделения структуры микропроцессора на функ- ционально и конструктивно законченные части создаются условия реализации каждой из них в виде БИС. Все они образуют комплект секционных БИС МП (рис. 2.1, б). Таким образом, микропроцессорная секция — это БИС, пред- назначенная для обработки нескольких разрядов данных или вы- полнения определенных управляющих операций. Секционность БИС МП определяет возможность «наращивания» разрядности об- рабатываемых данных или усложнения устройств управления микропроцессором при «параллельном» включении большего числа БИС. За 10 лет с момента создания однокристальные микропроцес- соры развились от простых специализированных четырехразрядных процессоров до 16-разрядных процессоров, сравнимых по парамет- рам с процессорами средних мини-ЭВМ начала 80-х годов. Трех- кристальные микропроцессоры имеют разрядность до 32 бит и параметры, сравнимые с параметрами старших моделей рядов мини-ЭВМ и дредних ЭВМ общего применения. Многокристальные секционные микропроцессоры имеют разряд- ность от 2—4 до 8—16 бит и позволяют строить разнообразные высокопроизводительные процессоры ЭВМ. Однокристальные и трехкристальные БИС МП, как правило, изготовляются на основе микроэлектронных технологий униполяр- ных полупроводниковых приборов, а многокристальные секционные БИС МП — на основе технологии биполярных полупроводниковых приборов. 23
Использование многокристальных микропроцессорных высоко- скоростных биполярных БИС, имеющих функциональную закончен- ность при малой физической разрядности обрабатываемых данных и монтируемых в корпус с большим числом выводов, позволяет организовать разветвление связи в процессоре, а также осущест- вить конвейерные принципы обработки информации для повыше- ния его производительности. По назначению различают универсальные и специализи- рованные микропроцессоры. Универсальные микропроцессоры могут быть применены для решения широкого круга разнообразных задач. При этом их эф- фективная производительность слабо зависит от проблемной специ- фики решаемых задач. Специализация микропроцессора, т. е. его проблемная ориентация на ускоренное выполнение определенных функций, позволяет резко увеличить эффективную производитель- ность при решении только определенных задач. Среди специализированных микропроцессоров можно выделить различные микроконтроллеры, ориентированные на выполнение сложных последовательностей логических операций; математиче- ские МП, предназначенные для повышения производительности при выполнении арифметических операций за счет, например, матрич- ных методов их выполнения; МП для обработки данных в различ- ных областях применений и т. д. С помощью специализированных микропроцессоров можно эффективно решать новые сложные за- дачи параллельной обработки данных. Например, конволюция поз- воляет осуществить более сложную математическую обработку сигналов, чем широко используемые методы корреляции. Последние в основном сводятся к сравнению всего двух серий данных — вход- ных, передаваемых формой сигнала, и фиксированных опорных,— и к определению их подобия. Конволюция дает возможность в реальном масштабе времени находить соответствие для сигналов изменяющейся формы путем сравнения их с различными эталонны- ми сигналами, что, например, может быть использовано для выде- ления полезного сигнала на строке шума. Существовавшие до сих пор конвольверы на базе набора ИС имели большие размеры и потребляли значительную мощность. Кроме того, как правило, и конволюция и корреляция, которые являются видами цифровой согласованной фильтрации, нуждаются в обширном программном обеспечении, особенно при «бедности» аппаратурных средств кон* вольвера или коррелятора. Разработанные однокристальные конвольверы применяются в устройствах опознавания образов в тех случаях, когда возможности сбора данных превосходят способности системы обрабатывать эти данные. По виду обрабатываемых входных сигналов раз- личают цифровые и аналоговые микропроцессоры. Сами микропро- цессоры— цифровые устройства. Однако они могут иметь встроен- ные аналого-цифровые и цифро-аналоговые преобразователи. По- этому входные аналоговые сигналы передаются в микропроцессор 24
через преобразователь в цифровой форме, обрабатываются и после обратного преобразования в аналоговую форму поступают на вы- ход. С архитектурной точки зрения такие микропроцессоры пред- ставляют собой аналоговые функциональные преобразователи сигналов и называются аналоговыми микропроцессорами. Они вы- полняют функции любой аналоговой схемы (например, производят генерацию колебаний, модуляцию, смещение, фильтрацию, кодиро- вание и декодирование сигналов в реальном масштабе времени и т. д., заменяя сложные схемы, состоящие из операционных уси- лителей, катушек индуктивности, конденсаторов и т. д.). При этом применение аналогового микропроцессора значительно повышает точность обработки аналоговых сигналов и их воспроизводимость, а также расширяет функциональные возможности за счет програм- мной «настройки» цифровой части микропроцессора на различные алгоритмы обработки сигналов. Обычно в составе однокристальных аналоговых МП имеется несколько каналов аналого-цифрового и цифро-аналогового преоб- разования. В аналоговом микропроцессоре разрядность обрабаты- ваемых данных достигает 24 бит и более, большое значение уде- ляется увеличению скорости выполнения арифметических операций. Отличительная черта аналоговых микропроцессоров — способ- ность к переработке большого объема числовых данных, т. е. к вы- полнению операций сложения и умножения с большой скоростью, при необходимости даже за счет отказа от операций прерываний и переходов. Аналоговый сигнал, преобразованный в цифровую форму, обрабатывается в реальном масштабе времени и передается на выход обычно в аналоговой форме через цифро-аналоговый пре- образователь. При этом согласно теореме Котельникова частота квантования аналогового сигнала должна вдвое превышать верх- нюю частоту сигнала. Сравнение цифровых микропроцессоров производится сопостав- лением времени выполнения ими списков операций. Сравнение же аналоговых микропроцессоров производится по количеству эквива- лентных звеньев аналого-цифровых фильтров — рекурсивных филь- тров второго порядка. Производительность аналогового микропро- цессора определяется его способностью быстро выполнять операции умножения: чем быстрее осуществляется умножение, тем больше эквивалентное количество звеньев фильтра в аналоговом преобра- зователе и тем более сложный алгоритм преобразования цифровых сигналов можно задавать в микропроцессоре. Одним из направлений дальнейшего совершенствования анало- говых микропроцессоров является повышение их универсальности и гибкости. Поэтому вместе с повышением скорости обработки боль- шого объема цифровых данных будут развиваться средства обеспе- чения развитых вычислительных процессов обработки цифровой информации за счет реализации аппаратурных блоков прерывания программ и программных переходов. По характеру временной организации работы микропроцессоры делят на синхронные и асинхронные. 25
Синхронные микропроцессоры — микропроцессоры, в которых начало и конец выполнения операций задаются устройством управ- ления (время выполнения операций в этом случае не зависит от вида выполняемых команд и величин операндов). Асинхронные микропроцессоры позволяют начало выполнения каждой следующей операции определить по сигналу фактического окончания выполнения предыдущей операции. Для более эффек- тивного использования каждого устройства микропроцессорной системы в состав асинхронно работающих устройств вводят элек- тронные цепи, обеспечивающие автономное функционирование устройств. Закончив работу над какой-либо операцией, устройство вырабатывает сигнал запроса, означающий его готовность к выпол- нению следующей операции. При этом роль естественного распре- делителя работ принимает на себя память, которая в соответствии е заранее установленным приоритетом выполняет запросы остальных устройств по обеспечению их командной информацией и данными. По организации структуры микропроцессор- ных систем различают микро-ЭВМ одно- и многомагистраль- ные. В одномагистральных микро-ЭВМ все устройства имеют одина- ковый интерфейс и подключены к единой информационной магист- рали, по которой передаются коды данных, адресов и управляющих сигналов. В многомагистральных микро-ЭВМ устройства группами под- ключаются к своей информационной магистрали. Это позволяет осуществить одновременную передачу информационных сигналов по нескольким (или всем) магистралям. Такая организация систем усложняет их конструкцию, однако увеличивает производитель- ность. По количеству выполняемых п р о гр а м м различают одно- и многопрограммные микропроцессоры. В однопрограммных микропроцессорах выполняется только одна программа. Переход к выполнению другой программы происходит после завершения текущей программы. В много- или мультипрограммных микропроцессорах одновре- менно выполняется несколько (обычно несколько десятков) про- грамм. Организация мультипрограммной работы микропроцессор- ных управляющих систем позволяет осуществить контроль за состоянием и управлением большим числом источников или прием- ников информации. По назначению микропроцессоры делят на универсальные и специализированные. Универсальные МП это — такие, в системе команд которых заложена алгоритмическая универсальность. По- следнее означает, что выполняемый машиной состав команд позво- ляет получить преобразование информации в соответствии с любым заданным алгоритмом. К универсальным МП относятся и секцион- ные микропроцессоры, поскольку для них система команд может быть оптимизирована в каждом частном проекте создания секцион- ного микропроцессора. Специализированные микропроцессоры пред- 26
назначены для решения определенного класса задач, а иногда только для решения одной конкретной задачи. Их существенными особенностями являются простота управления, компактность ап- паратурных средств, низкая стоимость и малая мощность потреб- ления. § 2.2. Развитие архитектуры микропроцессорных вычислительных средств Микропроцессоры и однокристальные микро-ЭВМ. Отечествен- ной промышленностью выпускаются микропроцессорные средства от простейших и сложных микроконтроллеров до развитых серий микропроцессорных БИС, от однокристальных микро-ЭВМ до одно- платных и многоплатных высокопроизводительных микро-ЭВМ. Использование различных микроэлектронных технологий позволило получить широкие возможности этих микропроцессорных средств: микропроцессоры на основе КМОП-технологии обеспечивают сверхмалое потребление электрической энергии, микропроцессоры на основе п-МОП-технологии— получение максимально насыщен- ных электронных компонентов, микропроцессы на основе ТТЛДШ- и ЭСЛ-технологии—сверхвысокое быстродействие (например, серии микропроцессорных ИС К589, К1802, изготовленных по ТТЛДШ- технологии, обеспечивают быстродействие микропроцессора менее 0,1 мкс, серии микропроцессорных ИС К587, К588, изготовленные по К-МОП-технологии — сверхнизкое потребление электрической мощности, серии микропроцессорных ИС К580, К581, К1801 — вы- сокую степень интеграции элементов и т. д.). Перечисленные и дру- гие серии микропроцессорных средств позволяют строить разно- образные микроконтроллеры, микропроцессоры и микро-ЭВМ. В табл. 2.1 приведены основные параметры и указаны типы наиболее сложных БИС микропроцессорных комплектов. Отметим некоторые характерные особенности БИС указанных серий микро- процессорных комплектов (МПК). МПК серии КР580. БИС этой серии в отличие от серии БИС К580 в обыч- ном пластмассовом корпусе выполнены в пластмассовом корпусе с двухрядными выводами с шагом расположения 2,5 мм. БИС КР580ИК80А является полным схемотехническим аналогом БИС К580ИК80, но с повышенным быстродействием. БИС KP580BB51I и БИС КР580ВВ55 отличаются от БИС К580ИК51 типом кор- пуса и обозначением их функционального назначения; схемотехнически они ана- логичны. Кроме того, в составе комплекта выпускаются следующие БИС: 1) програм- мируемый таймер — формирует программно-управляемые временные задержки и определяет времязадающие функции; (2) программируемый контроллер прямого доступа к памяти — осуществляет высокоскоростной обмен данными между памятью и периферийными устройствами; 3) программируемый контроллер пре- рываний — осуществляет обслуживание внешних устройств по запросу прерыва- нием программы центрального процессора с учетом уровня приоритета запроса; 4) программируемый контроллер электроннолучевой трубки — осуществляет со- пряжение растровых сканирующих дисплеев с микропроцессорной системой, обес- печивая поддержание изображения на экране содержимого буферной памяти, заполняемой из оперативной памяти системы. МПК серии КР581. В серии БИС К581 имеется три микропроцессорные схе- мы, в том числе динамическое ОЗУ информационной емкостью 16 К бит и 8-раз- рядный приемопередатчик. Их применение позволяет в значительной степени 27
Т а б Л и ц a 2.1 Наименование ИС Обозначение Разряд- ность (ем- кость), бит Такто- вая час- тота, МГц Напряже- ние пита- ния, В Серия КР580 Центральный процес- сорный элемент парал- лельной обмотки дан- ных КР580ИК80А 8 I2L5 + 5; +12, —5 Программируемый по- следовательный интер- фейс КР580ВВ51 8 2,0 + 5 Программируемый па- раллельный интерфейс КР580ВВ55 8 2,0 + 5 Программируемый тай- КР580ВИ53 8; 16 2,0 + 5 Программируемый контроллер прямого до- ступа к памяти КР580ВТ57 8; Гб 2,0 + 5 Программируемый контроллер прерываний КР580ВН59 8 2,0 + 5 Программируемый контроллер электронно- лучевой трубки КР580ВГ75 Серия К58 8; 1'6 1 3,0 + 5 Динамическое ОЗУ КР581РУ4 16К — + 5 Однокристальный мик- ропроцессор КР581ВЕ1 1’6 2,5—3,3 + 5; +12 Асинхронный приемо- передатчик КР581ВА1 Серия KP5J 8 32 0,4 -12; +5 Микропроцессор КР5812ИК1 4п 0,6 1,5 » КР582ИК2 Серия К58; 4п 3 0,6 1,5 К583ИКЗ 8п 1,0 1,5 Приемопередатчик бел памяти К583КП121 4п — 1,5 Приемопередатчик с памятью К583КПЗ 5 — 1,5 Универсальный комму- тирующий элемент К583ХЛ1 Серия KP5I 8 84 1,0 1,5 Микропроцессор КР584ИК1А 4 л 0,5 5,0 » КР584ИК1Б 4п 0,5 » КР584ИК1В Серия КР51 4п 38 0,5 Арифметическо-логиче- ское устройство КР588ВС2 16 1,0 5,0 28
Продолжение табл. 2.1 Наименование ИС Обозначение Разряд- ность (ем- кость), бит Тактовая частота, МГц Напряже- ние пита- ния, В Управляющая память КР588ВУ2 150 логи- ческих про- изведений 1,2 5,0 Системный контроллер КР588ВГ1 •— 1,0 5,0 Многорежимный бу- ферный регистр КР588ИР1 8 — 5,0 Магистральный приемопередатчик КР588ВА1 8 — 5,0 Примечание. Применяемые в таблице обозначения микропроцессорных БИС соот- ветствуют обозначениям серийных ИС. упростить схему и уменьшить габаритные размеры микро-ЭВМ и модулей к ним, построенных на основе МПК серии КР581. Однокристальный микропроцессор КР581ВЕ1 — СБИС, объединяющая функ- ции БИС регистрового АЛБ, БИС управления выполнением операций, БИС хра- нения микропрограмм управления и БИС микропрограммного ЗУ для реализации стандартного набора системы команд. Применение этой БИС позволило на одной печатной плате размером 135x240 мм построить микро-ЭВМ «Электроника-бОТ», эквивалентную микро-ЭВМ «Электроника-60», т. е. более чем вдвое повысить плотность монтажа в аппаратуре. МПК серии КР582. БИС серии КР582 выполнены по И2Л-технологии. По- строенные на ее основе приборы обладают относительно хорошими основными параметрами, но ни по одному из них не достигают рекордного уровня. МПК серии К583. Эта серия изготовляется по И2Л-технологии. В настоящее время в составе комплекта выпускаются четыре БИС: 8-разрядный секционный микропроцессор, универсальный коммутирующий элемент и два приемопередатчи- ка (с памятью и без памяти). МПК серии КР588. Микропроцессоры этой серии выполнены по КМОП-тех- нологии и обладают низким потреблением электроэнергии, БИС АЛБ имеет раз- рядность 16 бит. БИС УП имеет информационную емкость программируемой логической матрицы (ПЛМ) в 150 логических произведений. Имеются БИС УП с закодированными в них микропрограммами для реализаций системы команд микро-ЭВМ «Электроника-60», системы числового программного управления ме- таллорежущими станками «Электроника НЦ-31» и др. Кроме того, в состав МПК входят БИС «системного контроллера многорежимного буферного регистра и ма- гистрального приемопередатчика. В соответствии с ГОСТом, устанавливающим структуру и поря- док построения обозначений ИС, новые микропроцессорные комп- лекты БИС и серии ИС и БИС имеют четырехзначный номер серии. Ранее действующий стандарт был выпущен до появления микропро- цессоров, поэтому для обозначения функционального назначения микропроцессорных БИС (две буквы после номера серии) приме- нялся код ИК — прочие микросхемы. В новом стандарте преду- смотрены специальные коды функционального назначения микро- процессорных БИС. Эти коды применяются для обозначения новых и некоторых ранее освоенных промышленностью МПК. В табл. 2.2 приведены названия и основные параметры новых развитых микропроцессорных комплектов БИС. 29
Таблица 2.2 Наименование ИС Обозначение Разрядность (емкость), бит Тактовая частота, МГц Напряже- ние пита- ния, В Арифметическо-логиче- Серия К180 К1800ВС1 0 4л 36 —5,2; —2 ский блок Блок синхронизации К1800ВБ2 — 36 —5,2; —2 Блок управления one- К1800ВТЗ 4п 36 —5,2; —2 ративной памятью Программируемый К1800ВР8 16л 36 —5,2 -сдвигатель Однокристальная Серия К180 К1801ВЕ1 4 16 8,0 5,0 микро-ЭВМ Однокристальный мик- К1801ВМ1 16 5,0 5,0 ропроцессор БИС матрицы венти- К1801ВП1 1— * —> 5,0 лей Арифметический блок Серия КР18 КР1802ВС1 02 8л 8,0 5,0 Блок регистров общего КР1802ВР1 (16Х4)п 10,0 5,0 назначения Арифметический рас- КР1802ВР1 16л 8,0 5,0 ширитель Блок обмена информа- КР1802ВВ1 (4Х4)л 10,0 5,0 цией Последовательный КР1802ВР2 (8Х8)л 8,0 5,0 умножитель Интерфейсный адаптер Микропроцессорная КР1802ВВ2 Серия КР18 АР1804ВС1 04 4л 1'0,0 8,0 5,0 5,0 секция Блок управления по- КР1804ВУ1 8,0 5,0 следовательностью КР1804ВУ2 — 8,0 5,0 микрокоманд Схема ускоренного пе- КР1804ВР1 — 8,0 5,0 реноса Блок управления выбо- КР1804ВУЗ 32X8 8,0 5,0 ром следующего адреса Параллельный регистр КР1804ИР1 4л 8,0 5,0 D-типа Арифметический блок Серия U83-K 830-К18833ИА0 1883 8л 8,0 5,0 БИС управляющей па- 831-К1883РТ1 — 8,0 5,0 мяти Арифметический рас- 832-К18883ВР2 16л 8,0 5,0 ширитель Магистральный адап- 834-К1883ВА4 — 10,0 5,0 тер Примечание. Приме няемые в табл. 2.2 об означения мик! юпроцессор] ных БИС соот- ветствуют требованиям ГОСТ на обозначения микропроцессорных БИС, введенным в 1981 г. 30
Отметим характерные особенности БИС указанных серий МПК. МПК серии К1800. БИС этой серии построены по ЭСЛ-технологии и облада- ют сверхвысоким быстродействием (тактовая частота работы схем достигает 36 МГц). Этим определяется область применения МПК К1800— центральные и специализированные высокопроизводительные вычислительные системы, напри- мер развитые модели ЕС ЭВМ Минимальный состав МПК образуют четыре БИС: АЛБ, схемы синхронизации, схемы управления оперативной памятью и программируемого сдвигателя. Все БИС имеют наращиваемую структуру и по- зволяют строить процессоры с любой разрядностью обрабатываемых данных^ кратной 4 бит. МПК серии К1801. Основой комплекта построенного по м-хМДП-технологииг являются СБИС однокристального микропроцессора с системой команд микро- ЭВМ «Электроника-60» и матричная БИС для построения разнообразных схем управления. В составе комплекта имеется также СБИС однокристальной микро-ЭВМ с информационной емкостью ОЗУ 128 и ПЗУ 1024 16-разрядных слова. Сочетание однокристального микропроцессора с матричной БИС открывает широкие возможности построения вычислительных машин и комплексов различ- ной конфигурации. На основе матричной БИС возможно быстрое изготовление' специализированных, в том числе периферийных БИС, с затратами времени и средств на порядок и более меньшими по сравнению с обычным ходом разработ- ки заказных БИС аналогичного функционального назначения. На основе матричной БИС построены контроллеры управления ОЗУ емкостью- 32К 16-разрядных слов; радиального последовательного интерфейса СМ ЭВМ со скоростью передачи данных от 50 до 1920 бод, радиального параллельного интер- фейса СМ ЭВМ на двух БИС, накопителя на гибком магнитном диске и др. В состав комплекта входит также БИС постоянного ЗУ емкостью 64К бит (4К 16-разрядных слов), которая, как и все перечисленные БИС процессора и контроллеров, имеет в своем составе схемы управления, обеспечивающие их выход на стандартный межмодульный параллельный интерфейс (МПИ). Это обеспечи- вает возможность подключения БИС друг к другу через магистраль МПИ без дополнительных элементов. МПК серии К1801 обладает самой высокой степенью интеграции (до 300 000 элементов в кристалле) и по сравнен1ию с другими однокристальными микропро- цессорами высоким быстродействием (до 500 000 операций/с). Это, а также уни- фицированные интерфейс и система команд, обеспечивающие возможность использования программного обеспечения СМ ЭВМ и мини- и микро-ЭВхМ «Электроника-79», «Электроника-100/25», «Электроника-60», «Электроника-бОТ»,. «Электроника-бОМ» и т. д., делают применение данного комплекта особенно пер- спективным во всех областях народного хозяйства. МПК серий КР1802 и КР1804. БИС этой серии построены по ТТЛШ-техно- логии, полностью совместимы и взаимно дополняют друг друга. Отличаются комплекты подходом к разбиению вычислительных модулей на несколько БИС,, что определяется требованиями различных областей применения. В МПК серии КР1804 все БИС имеют функциональную завершенность. На- пример, БИС микропроцессора выполняется в виде 4-разрядной секции, содер- жащей все элементы микропроцессора. Простое объединение нескольких секций позволяет без дополнительного оборудования получить микропроцессор с различ- ной разрядностью, кратной разрядности БИС (4 бит.). Если требуется повысить быстродействие микропроцессора, то можно применить БИС ускоренного перено- са, которая имеется в комплекте. В МПК серии К1802 устройство разбивается на функциональные узлы, а узлы — на секции определенной разрядности или размерности. Например, микро- процессор разбивается на БИС арифметического устройства (8-разрядное), БИС регистров общего назначения (16 4-разрядных РОН), БИС 16-разрядного ариф- метического расширителя. Такая структура МПК несколько усложняет разработ- ку вычислительных средств на его основе, но обеспечивает гораздо большую гиб- кость и представляет большие возможности потребителю для построения вычис- лительных систем с развитыми связями. Оба комплекта «открыты» с точки зрения программного обеспечения, т. е. не специализированы под определенную систему команд. Разработчик может реа- 31
лизозать на его основе заданную систему команд. Для этого ему необходимо разработать требуемые микропрограммы и занести их коды в электрически про- граммируемые ПЗУ или ПЛМ. МПК серии U 83-К1883. Разработка этого комплекта проводилась специалис- тами СССР и ГДР.Он выполнен по п-МДП-технологии и предназначен для по- строения процессоров микро- и мини-ЭВМ, контроллеров и других вычислитель- ных устройств среднего быстродействия. МПК серии U83-K1883 относится к группе секционных микропроцессоров с микропрограммным управлением. Он по- зволяет строить вычислительные устройства с разрядностью обрабатываемых •чисел 8, 16 и 32 бит. Микро-ЭВМ. На основе комплектов микропроцессорных БИС отечественной промышленностью выпускаются отдельные модели и семейства микро-ЭВМ. Обширные возможности имеет семейство' микро-ЭВМ «Электроника НЦ», представляющее собой ряд про- граммно-совместимых моделей различной производительности. Высшие модели этого семейства имеют параметры развитых мини- ЭВМ, а младшие построены на основе комплекта микропроцессор- ных БИС серии К587, что позволяет реализовать возможности, представляемые КМОП-технологией. Микроэлектронная технология уже в середине 70-х годов поз- волила создать микро-ЭВМ, по параметрам сравнимые с мини-ЭВМ и программно-совместимые с ними. Так, микро-ЭВМ «Электро- ника-60» имеет развитую систему команд, большой набор аппарат- ных модулей и программную совместимость с широко распростра- ненными мини-ЭВМ «Электроника», а также с моделями СМ-3,4 ряда мини-ЭВМ. Микро-ЭВМ семейства «Электроника С5» предназначены для сбора и обработки данных в системах управления технологически- ми процессами, контрольно-измерительных системах и коммута- ционных системах связи. Они имеют модификации, обеспечивающие встраивание в локальные системы контроля и управления. При разработке аппаратурных средств микро-ЭВМ большое вни- мание уделяется возможности подключения и использования стан- дартных периферийных средств. Поэтому наиболее распространен- ные периферийные устройства СМ ЭВМ прямо подключаются к мини-ЭВМ «Электроника-100/25», «Электроника-60» и «Электрони- ка НЦ» и через аппаратурный адаптер к микро-ЭВМ «Электрони- ка С5». ЭВМ «Электроника-100/25», «Электроника-60» прямо сов- местимы и по системе команд между собой и с машинами СМ-3, СМ-4 ряда мини-ЭВМ. Все мини- и микро-ЭВМ совместимы между собой на уровне языка программирования БЭЙСИК. Этот язык легко осваивается начинающими программистами, он хорошо приспособлен для на- писания задач управления технологическими процессами и обору- дованием. Для всех микро-ЭВМ имеются интерпретаторы языков Ассемб- лера на стандартных больших ЭВМ типа ЕС ЭВМ и БЭСМ-6. Это означает, что программист, владеющий техникой программирования для этих машин, сразу, без подготовки, может писать программы для микро-ЭВМ. 32
В табл. 2.3 показана совместимость микро-, мини- и больших ЭВМ. по интерфейсу, системе команд, а также отмечено наличие кросс -средств, языков высокого уровня и специализированных стен- дов программирования. § 2.3. Решение проблемы создания программного обеспечения при развитии архитектуры микропроцессоров Одним из наиболее важных направлений развития архитектуры микропроцессоров, позволяющих снизить стоимость создания про- граммного обеспечения, является введение в кремниевые кристаллы СБИС аппаратурной реализации функций операционных систем Таблица 2.3 Ряды и виды микро-ЭВМ Архитектурная совместимость с ЭВМ Программные средства совместимости по интер- фейсу по системе команд кросс- средства языки вы- сокого уровня стенды про- граммиро- вания «Электро- ника НЦ» СМ-3,4 Э-100/25 Внутри ряда Снизу вверх БЭСМ-6 ЕС ЭВМ БЭЙСИК Эмуляция на больших ЭВМ «Электро- ника С5» — Внутри ряда Снизу вверх БЭСМ-6, ЕС ЭВМ М4030 БЭЙСИК На стар- ших моде- лях ряда «Электро- ника-60» СМ-3,4 Э-100/25 СМ-3,4 Э-100/25 БЭЙСИК На СМ-3,4 Э-100/25 и языков программирования высокого уровня, что дает возможность краткими указаниями определять все манипуляции с внешними потоками данных. Однако аппаратурная реализация функцией про- граммного обеспечения стала возможной лишь в развитых 32-раз- рядных микропроцессорах. Четырехразрядные микропроцесс9ры имеют простую архитектуру и требуют значительных затрат на программирование работы. В развитых 8-разрядных микропроцес- сорах аппаратурно были реализованы только лишь индексирование и непосредственная адресация; они обеспечивают обработку лишь 8- и 16-разрядных слов. 16-разрядные микропроцессоры обеспечи- вают непосредственную обработку отдельных битов данных, 8-раз- рядных, 16-разрядных и 32-разрядных слов, двоично-кодированных десятичных чисел, строк символов переменной длины. В них реали- зованы следующие режимы адресации: косвенная, косвенная инде- ксированная, индексированная с базированием, автоинкрементная и т. д. Увеличены разрядность и количество регистров, обеспечена регулярность (ортогональность) набора команд, которая подразу- мевает возможность использования любой команды для обработки данных любого типа, содержащихся в любом регистре или в любом месте памяти, заданной для любого режима адресации. 2—534 33
Процесс эволюции архитектуры микропроцессоров подобен про- цессу эволюции больших ЭВМ и мини-ЭВМ. Обусловлено это тем, что как возникновение, так и последующее развитие всех вычисли- тельных средств определяется совершенство1ванием технологии. Такг лишь после развития технологии производства транзисторов до достаточно высокого уровня были созданы первые большие ЭВМ с развитой архитектурой (ЭВМ системы IBM/360 и ЕС ЭВМ). Появление ИС малой степени интеграции позволило создать мини- ЭВМ с простой архитектурой, и только после появления ИС со средней степенью интеграции были созданы первые мини-ЭВМ с развитой архитектурой (PDP-11 фирмы «DEC»). Разработка технологии БИС и СБИС позволила создать и не- прерывно совершенствовать параметры микропроцессоров. Развитые 16-р азрядные микропроцессоры. На 16-разрядные микропроцессоры возлагаются серьезные и ответственные задачи по организации процессоров текстовых данных и созданию систем организационно-административного типа. Успешное применение 16-разрядного микропроцессора в многопрограммных и многоза- дачных микросистемах привело к необходимости аппаратурной реализации средств управления памятью и ее защиты с целью повы- шения производительности системы и упрощения ее структуры. При этом 16-разрядный микропроцессор должен обладать гораздо боль- шим быстродействием, чем в однопрограммной однозадачной мик- росистеме. Он должен также содержать средства защиты своей операционной системы от программ пользователей и средств защи- ты программ пользователей друг от друга. 16-разрядный микропроцессор мог бы обеспечивать работу большего числа пользователей или выполнения большего числа задач, если бы он имел виртуальную память. Однако защиту па- мяти и управление виртуальной памятью, чтобы не снижать произ- водительности микропроцессора, необходимо реализовать аппара- турным, а не программным способом. Для сложных систем управ- ления процессами в реальном масштабе времени 16-разрядный микропроцессор должен обладать малым временем реакции на пре- рывания, автоматическим переключением с задачи на задачу и большим диапазоном адресов в поле оперативной памяти. В вычислительных системах для одновременного решения мно- гих задач или одновременной работы многих пользователей обычно выделяются части общего поля виртуальных адресов памяти. Для слежения за границами адресов в памяти, а также для предотвра- щения несанкционированного доступа к хранящейся информации или модификации этой информации в машинах применяются спе- циальные аппаратурные дредства. Впервые механизм защиты памяти в виде встроенного аппара- турного блока на кристалле был реализован в 16-разрядном микро- процессоре 286 фирмы «Intel». Этот микропроцессор имеет регист- ровую архитектуру и обеспечивает выполнение высокоэффектив- ных конвейерных методов обработки информации. 34
В микропроцессорах с регистровой архитектурой необходимо переписывать содержимое внутренних рабочих регистров из регист- ров в ячейки оперативной памяти при каждом переходе с решения одной задачи на другую. Поэтому при прерываниях совершается такая последовательность действий микропроцессора: 1) останов вычислений по выполняемой программе (выполняется автоматиче- ски с помощью аппаратурных средств); 2) запоминание данных прерываемой программы (выполняется соответствующей последо- вательностью команд программы прерывания); 3) восстановление содержимого этих регистров (выполняется последовательностью последних команд программы прерывания); 4) исполнение коман- ды возврата в прерванную программу. Реализация прерывания осуществляется аппаратурно-програм- мным блоком прерывания микропроцессора. Для уменьшения вре- менных затрат при прерываниях в состав микропроцессора можно ввести не один, а два блока рабочих регистров. При этом операция переключения с задачи на задачу сводится к переключению с одно- го блока рабочих регистров на другой. Однако при переходах с большим числом задач необходимость операций с памятью при пе- реключениях остается. В микропроцессоре 286 используется развитый аппаратурный блок адресации и управления оперативной памяти, обеспечиваю- щий быструю запись содержимого рабочих регистров в оператив- ную память или Hao6qpoT. Данные динамически изменяемых рабо- чих регистров для реактивной задачи записываются в части памяти, называемой сегментом состояния задачи. Прежде чем произвести переключение с задачи на задачу, процессор автоматически контро- лирует все требования схем защиты. Если требования удовлетво- ряются, то аппаратура осуществляет запоминание состояния теку- щей задачи в сегменте состояния задачи для этой задачи, а затем загружает в регистры процессора новую информацию из другого сегмента состояния задачи. Вложенные прерывания организуются с помощью слова связи, предусмотренного в сегменте состояния задачи. Когда происходят вложенные прерывания, слово связи ука- зывает на предыдущий сегмент состояния задачи. Такая связь обеспечивает затем путь возврата к задаче, которая была первона- чально прервана и, исключает все накладные затраты програм- мных средств при выполнении этих операций. Набор команд микропроце^ра 286 упрощает реализацию слож- ных программных систем, разрабатываемых на современных язы- ках высокого уровня. Эти новые команды микропроцессора упро- щают выполнение операций со стеком, вычисление и контроль индексов динамических массивов, а также выполнение приказов входа и выхода из процедур в структурированных языках высокого уровня. С помощью привилегированных команд, которые могут выполняться только на высшем по приоритету уровне, т. е. в ядре операционной системы, можно устанавливать или изменять пара- метры защиты памяти для системы. 2* 35L
Решение проблемы исключения временных затрат на перепись содержания рабочих регистров при операциях переходов с задачи на задачу может быть достигнуто использованием микропроцессора без рабочих регистров. В этом случае микропроцессор имеет ап- паратурные средства для работы с содержимым ячеек оперативной памяти, так же как и регистровый микропроцессор для работы с содержимым внутренних рабочих регистров. Поэтому все данные для возможных задач располагаются только в ячейках оператив- ной памяти, занимая ее определенную область. Переход с одной задачи на другую в этом случае требует только переключения адреса начала рабочей области в блоке адресации микропроцес- сора. Такие переключения называются контекстными и могут быть в микропроцессорах, обеспечивающих реализацию архитектуры микропроцессорных систем «память — память». В них содержимое ячеек оперативной памяти пересылается в микропроцессор и под- вергается преобразованию в соответствии с кодами команд. Резуль- тат операции не записывается во внутренний регистр для времен- ного хранения, а сразу же пересылается для хранения в ячейку оперативной памяти. Первым микропроцессором для 16-разрядной обработки данных в системах с архитектурой «память — память» стал однокристаль- ный микропроцессор 9900 фирмы «Texas Instruments». Наличие в нем аппаратурных средств для организации файла рабочих регист- ров в оперативной памяти позволяет получить эффективное быстрое контекстное переключение программ при реализации цепочек вло- женных прерываний. По существу, в таких микропроцессорах соз- даны возможности ррганизации и работы со стеком, емкость кото- рого ограничена лишь пределом информационной емкости опера- тивной памяти. Поскольку в микропроцессоре 9900 файлы рабочих регистров находятся в оперативной памяти, не требуется сохранения и восста- новления их содержимого программным путем. А это означает эко- номию во времени при прерываниях программ в микропроцессоре 9900 в 2—10 раз по сравнению с затратами времени в других стан- дартных регистровых микропроцессорах. Так, в регистровом микро- процессоре 8080 время переключения составляет 52,5 мкс, причем на запись и восстановление содержимого регистров тратится 80% этого времени. 32-разрядный микропроцессор. Для такого микропроцессора рассмотрим реализацию языка программирования высокого уровня. Стремление решить проблему программного обеспечения и создать высокоэффективные вычислительные средства ведет к существенно- му усложнению архитектуры микропроцессоров. Это видно на при- мере трехдристального микропроцессора 432 фирмы «Intel» системы i АРХ. В нем, в частности, реализована концепция «возможностей» в системе управления памятью. Этот подход эффективно ограничи- вает доступ к отдельным элементам данных в памяти с помощью аппаратурной проверки каждой попытки доступа на предмет ее законности на основе информации о том, разрешено ли данной 36
части программы «знать» содержимое этого элемента данных. Такой подход позволяет обнаруживать, регистрировать и даже исправлять ошибки во время выполнения программы. Обращение программы к данным в микропроцессоре 432 осуществляется на основе того, что именно представляют собой эти данные. В микропроцессоре аппа- ратурно осуществляется адресация на основе аппаратурно храни- мой информации о реальном расположении данных в виртуальной памяти с гигантским объемом 240 Г байт, а также хранение и ис- пользование информации о типе каждого элемента данных. Кристаллы СБИС микропроцессора 432 разработаны на основе развитой МДП-технологии, что позволило ввести в каждую из трех СБИС очень большие аппаратурные ресурсы. Обработка данных в этом микропроцессоре осуществляется двухкристальным процессо- ром данных GDP, образуемым объединением БИС управления командами и адресами типа 43201, содержащей около 100 000 тран- зисторов, и БИС исполнительного операционного арифметическо- логического блока типа 43 202, содержащей более 60 000 транзисто- ров. БИС однокристального процессора интерфейса IP типа 43 203 содержит около 65 000 транзисторов. Он освобождает процессор общего назначения GDP от выпол- нения функций по взаимодействию с устройствами ввода—вывода. Процессор интерфейса IP может эмулировать многие команды про- цессора общего назначения микропроцессора 432. Каждый из трех кристаллов БИС конструктивно оформляется в 64-контактном кор- пусе с четырехрядным расположением выводов, работает от одного источника питания 5 В с мощностью рассеяний менее 2,5 Вт. Двух- фазная синхронизация при работе на частоте 8 МГц определяет номинальную длительность микроцикла (такта) в 125 нс. Процессоры GDP и IP — микропрограм1мируемые; в них исполь- зуются эффективные микроархитектуры, позволяющие уменьшить до минимума размеры микропрограмм. Процессоры GDP и IP со- держат микропрограммные ПЗУ соответственно емкостью 4КХ16 бит и 2КХ16 бит. Такая организация представляет важное компро- миссное решение по распределению функций между аппаратурными и программными средствами. В микропроцессоре 432 решение реа- лизовать ту или иную операцию аппаратурными средствами бази- руется на одном из трех факторов: 1) операция может иметь кри- тическое время выполнения, существенно влияющее на производи- тельность системы в целом; 2) операция может быть критической с точки зрения безопасности данных: от нее могут зависеть работо- способность системы защиты и сохранность важной информации; 3) операция может быть критической с точки зрения надежности: она может определять способность микропроцессора правильно функционировать в особых ситуациях, встречающихся при про- граммировании. Программная часть функциональных средств управления объек- тами также является далеко не тривиальной. Программные сред- ства отвечают за формирование новых объектов и уничтожение старых. Назначение этих объектов состоит в том, чтобы снять тра- 37
диционные барьеры между операционной системой и прикладным программным оборудованием. В табл. 2.4 приведены основные функциональные особенности микропроцессора 432, даны оценки быстродействия МП по урав- нению с быстродействием большой ЭВМ типа IBM 370/148 (ЕС ЭВМ). Генератор адресов обеспечивает отображение, или преобразова- ние, логических адресов микропроцессора 432 в физические адреса, по которым осуществляется реальное обращение к системе памяти. Для ускорения этого процесса преобразования в состав генератора Таблица 2.4 Функциональное устройство и операционный ресурс 32-разрядного микропроцессора 432 Типичная операция Время выпол- нения операции при частоте 8 МГц, мкс Арифметическое устройство для Перемножение 32-раз- 6,25 (16 мкс на операций над целыми числами пе- ременной точности рядных целых чисел IBM 370/148) Микропрограммное арифмети- Перемножение 80-раз- 26, 125 (38,5 мкс ческое устройство с плавающей точкой рядных чисел с плаваю- щей точкой на IBM 370/148) Устройство циклического сдвига Выборка 32-разряднО’ го поля 1,875 Генератор адресов с ассоциатив- ной буферной памятью для по- следних использованных адресов Обращение к памяти за 32-разрядным словом 0,75 Микропрограммы операцион- ной системы, записанные в ПЗУ кристалла МП Посылка сообщения 80, 875 адресов введена быстродействующая кэш-память (буферная сверх- оперативная), где хранятся самые последние по времени обраще- ния к памяти коды адреса. Поэтому поступивший новый адрес автоматически заменяет самый старый код адреса обращения па- мяти. Внутрь кристалла микропроцессора введено специальное микро- программное управляющее устройство, аппаратурно реализующее сложные функции программной операционной системы посредством выполнения многих высокоуровневых команд. Благодаря этому та- кая типичная команда, как «Послать сообщение», выполняется в пять раз быстрее, чем с помощью тщательно отлаженной опера- ционной системы мини-ЭВМ, и в 20—30 раз быстрее, чем в лучших операционных системах крупных ЭВМ. В табл. 2.5 приведено распределение общего объема микропро- грамм встроенной операционной системы процессора данных. Эта таблица отражает один из самых важных признаков функциональ- ной эффективности микроархитектуры процессора: для реализации базового выбора команд процессора требуется всего 6% общего 38
объема микропрограммной памяти. Такой малый процент общих затрат обусловливается близким соответствием между командами базового набора и микрокомандами. Многие команды могут реали- зоваться всего одной микрокомандой. Микрокоманды выдаются неподредственно дешифратором команд, размещенным на кристал- ле БИС управления командами 43201, и поэтому не требуют места в основном микропрограммном ПЗУ. Отметим некоторые характерные особенности микропроцессора 432, отражающие перспективность его архитектуры. Таблица 2.5 Программы реализации встроенных функций управления Необходимая информационная емкость, бит Процент от общего информационного объема встроен- ного ПЗУ в 64К бит Базового набора команд 3 680 6 Арифметических операций с плаваю- щей точкой 11 680 18 Обеспечения защиты памяти 6 400 10 Виртуальной адресации 4 800 7 • Контроля ошибок 2 640 4 Кремниевой операционной системы 26 400 40 Управления микропроцессорным режи- мом 8 640 13 Программы отладочных средств 1 280 2 1. Переменный формат команд. Форматы команд микропроцес- сора обеспечивают дравнительную легкость программирования и компактность получаемых программ. Команды имеют переменную разрядность и адресность и могут быть командами с непосредствен- ными адресами, одноадресными, двухадресными или трехадресны- ми. Режимы адресации операндов ориентированы на структуры, встречающиеся в таких системных языках -программирования высо- кого уровня, как язык программирования АДА, и обеспечивают об- работку таких типов данных, как скалярные, векторные и записи. Эти режимы адресации можно грубо уподобить применяемым в обычных машинах режимам типа «База плюс смещение», «База плюс индекс» и «База плюс смещение плюс индекс». В командах не задаются обращения к регистрам, поскольку последние могут оказаться трудно учитываемыми в процессе компиляции. Вместо этого операнды могут выбираться либо из памяти, либо из аппа- ратурно-управляемого стека, используемого при вычислениях слож- ных программных выражений. Допускаются любые сочетания опе- рандов, хранящихся в памяти или в стеке. Команды могут начинаться и заканчиваться на любом двоичном разряде. Команды передач управления также рассчитаны на адресацию с точностью до бита. Благодаря наличию подобных форматов команд наиболее упот- ребительные операторы высокоуровневого языка, например языка 39
АДА, при компиляции превращаются в одиночные команды микро- процессора 432. 2. Объектная ориентация архитектуры. Микропроцессор 432 имеет объектно-ориентированную архитектуру. Термин «програм- мный объект» отражает идентичные понятийные границы для самых различных информационных блоков (от простого элемента, напри- мер байта, до сообщения, пересылаемого другому процессору). Про- граммные объекты позволяют реализовать большинство возмож- ностей, предусмотренных в архитектуре микропроцессора, в том числе средства для выполнения базовых вычислительных операций, режимы для работы языковых систем, управление ресурсами, связь между процессорами и защищенную адресацию. Основные вычис- лительные операции обеспечиваются с помощью объекта данных. Это просто линейная область логических адресов длиной от 1 до 65К байт, предназначенная для хранения сообщения данных. В объекте данных могут храниться двоичные данные любого типа, причем обращение к конкретному элементу в рамках этого объекта осуществляется указанием его байтового смещения относительно начального адреса объекта. Полный логический адрес одного эле- мента данных, указываемый в полях операндов типичной команды, содержит значение смещения и локальное имя (или обозначение), используемое в программе для этого объекта данных. По такому сокращенному локальному имени объекта выбирается более длин- ный дескриптор обращения, указывающий местонахождение пол- ного имени (или абсолютного адреса объекта). Локальное имя в поле операнда зачастую занимает всего лишь 6 бит. 3. Виды объектов. Выполнение базовых вычислительных опера- ций в микропроцессоре 432 осуществляется обработкой объектов данных, для реализации функций более высокого уровня исполь- зуются более сложные объекты. Аппаратурные средства процессора по коду вида дескриптора обращений определяют, что адресуемые объекты содержат не просто обычные данные, и реализуют многие сложные функции их обработки, которые на обычных машинах вы- полняются программными средствами. Такие распознаваемые ап- паратурными средствами объекты данных рассматриваются в об- щем как системные объекты. К последним относятся доменные и контекстные объекты. Эти объекты в основном обеспечивают фор- мирование режимных средств защиты для используемых языков высокого уровня. Доменные объекты представляют собой средства для адресации программного модуля. Доменный объект содержит все дескрипторы для указания обращения как к объектам инструкций, так и к объек- там данных модуля, а также связи с другими доменами и тем самым является частью сети доменных объектов, представляющей собой полностью связанную, но все же модульную программу. Контекстный объект обеспечивает динамическое распределение памяти каждый раз, когда происходит его активизация. Он форми- руется динамически при вызове некоторой процедуры и динамиче- ски уничтожается при выходе из этой процедуры. Поскольку новый 40
контекстный объект формируется при каждой его активизации, механизм контекстных объектов непосредственно обеспечивает ра- боту разделенных, рекурсивных и реентерабельных (обладающих свойством повторной входимости) процедур. Другая главная функ- ция механизма контекстных объектов заключается в том, чтобы обеспечить активизацию каждой процедуры с объектом данных при хранении его локальных данных со стеком операндов для вычисле- ния выражений. Остальные системные объекты микропроцессора 432 обеспечи- вают работу аппаратурной, так называемой (кремниевой) опера- ционной системы. Структура данных, представляющая собой про- цессор GDP, называется процессорным объектом. Для каждого физического процессора GDP в микропроцессоре 432 имеется один процессорный объект. 4. Адресация объектов микропроцессора. Объекты хранятся в участках адресной области, называемой сегментами. Простые объ- екты могут занимать один, а сложные — много сегментов. Важная инфqpмaция о каждом объекте, в том числе определяющая его тип и размещение в физической памяти, находится в соответствующем дескрипторе объекта. Адресация объекта всегда осуществляется с помощью такого дескриптора, местоположение которого указы- вается в дескрипторе обращения. Информация о длине, входящая в дескриптор объекта, используется для защиты этого объекта от обращений по адресам, выходящим за границы диапазона, а инфор- мация о местонахождении, вместе с прочими данными, входящими в дескриптор объекта,— для реализации виртуальной памяти. Чтобы упростить управление памятью, все дескрипторы объектов группируются в центральной таблице. Естественно, эта таблица сама представляет собой объект и содержит свой собственный де- скриптор объекта. Чтобы выбирать или производить обращения к объекту, тре- буется 32-разрядный дескриптор обращения, содержащий иденти- фицирующие сведения о том объекте, к которому он относится. Каждый дескриптор обращения содержит также другую информа- цию, помогающую управлять доступом к данному объекту. Для одного и того же объекта могут существовать различные дескрип- торы обращения с,различными правами доступа. Этот факт яв- ляется основой применяемой в микропроцессоре 432 схемы защиты, которую должны знать программисты: чтобы обратиться к некото- рому объекту, программа должна содержать дескриптор обращения для него; программа может получить доступ к объекту только в со- ответствии с правами и привилегиями, закодированными в ее де- скрипторе обращения (рис. 2.2). Дескрипторы обращения располагаются в сегменте специального типа, называемом сегментом доступа. Тем самым обеспечивается защита целостности дескрипторов обращения, поскольку содержи- мое этого сегмента не может обрабатываться как обычные данные. Пересылка или обработка дескрипторов обращения осуществляется только определенными командами управления процессора. 41
5. Обеспечение надежности и устойчивости функционирования. Все компоненты микропроцессора 432 рассчитаны на работу в двух режимах, что позволяет скроить на их основе устройства и системы с исключительно жестким контролем ошибок. В основном режиме микропроцессор работает как обычно, а в специальном режиме — 1 сжиме контроля сравнением (подобный режим впервые встреча- < . ся в микропроцессоре) —все выводы микропроцессора, которые в обычном случае работают как выходы, становятся входами с осо- быми контрольными функциями. Вместо того чтобы выдавать на эти выводы выходные данные, микропроцессор в режиме контроля про- изводит выборку состояний подключенных к нему сигнальных шин. Рис. 2.2. Формирование пакетов запросов и ответов Полученные таким образом данные выборки сравниваются внутри микропроцессора с помощью логических схем, выполняющих опе- рацию «Исключающее ИЛИ» и встроенных в каждый выходной каскад с данными, которые выдавались бы в основном режиме. Устройство с жестким контролем ошибок путем такого qpae- нения может быть построено параллельным включением (рис. 2.3) двух идентичных микропроцессоров 432: один микропроцессор в такой схеме работает в основном режиме, а другой — в режиме контроля сравнением; для этого на вывод режима контроля второго MHKponpoHeccqpa подается соответствующий сигнал от схем систем- ного управления. Сигнал ошибки, выданный контролирующим микропроцессором, поступает на специальный входной вывод основ- ного микропроцессора. В случае обнаружения любого несовпадения при таком контроле сравнением контролирующий микропроцессор немедленно выдает признак ошибки; при этом происходит останов вычислительного процесса, а состояния микропроцессоров фикси- руются. 6. АДА — язык программирования микропроцессора 432. Язык АДА, новый стандартный язык программирования, разработанный по заданию министерства обороны США, представляет собой язык системной реализации вычислительных средств на основе микропро- цессора 432. Цели, поставленные при разработке языка АДА, ока- 42
зались весьма похожими на цели, установленные при разработке микропроцессора 432, поскольку создатели языка шли приблизи- тельно по тому же самому направлению исследований. Конечными целями как языка АДА, так и микропроцессора 432 являются по- вышение производительности труда программистов, надежности программных средств и снижение затрат на сопровождение про- граммных средств в течение всего срока их службы. Благодаря пакетной конструкции язык АДА обеспечивает есте- ственную возможность построения крупных программ с модульной объектно-ориентированной структурой. Пакет полностью определяет Рис. 2.3. Включение микропроцессоров в режиме контроля рабо- ты микропроцессорной системы объект и те операции, KOTqpbie можно над этим объектом произ- водить. В соответствии с этим принципом объектной организации программ пакет ограничивает доступ к объекту согласно указаниям, приведенным в отдельной интерфейсной части, и тем самым обеспе- чивает защиту деталей реализации пакета. Многие конструкции языка АДА непосредственно отображаются в аппаратурных дредствах микропроцессора 432. Например, пакет- ная конструкция языка АДА непосредственно реализуется в архи- тектуре микропроцессора 432 с помощью концепции доменного объекта, а активизация подпрограммы языка АДА соответствует механизму контекстных объектов. В тех случаях, когда аппаратурные средства микропроцессора 432 выходят за рамки основных конструкций языка АДА, можно воспользоваться тем, что этот язык программирования предусмат- ривает формирование специального пакета средств машинного до- ступа. С помощью этого пакета можно обращаться к любым ресурсам или командам микропроцессора 432, что исключает не- обходимость использования языка Ассемблера при работе с микро- процессором 432. Поэтому язык АДА является единственным язы- ком, используемым для написания исполнительных программ и программ операционной системы. Даже системные программисты пользуются языком АДА, лишь изредка прибегая к непосредствен- ному программированию на машинном языке. 43
Глава РАЗВИТИЕ ЛОГИЧЕСКОЙ СТРУКТУРЫ 3 МИКРОПРОЦЕССОРОВ § 3.1. Организация логической структуры микропроцессоров Логическая структура микропроцессора (МП), т. е. конфигура- ция составляющих микропроцессор логических схем и связей между ними, определяется функциональным назначением. Именно струк- тура задает состав логических блоков микропроцессора и то, как эти блоки должны быть связаны между собой, чтобы полностью отвечать архитектурным требованиям. Срабатывание электронных блоков микропроцессора в определенной последовательности приво- дит к выполнению заданных архитектурой микропроцессора функ- ций, т. е. к реализации вычислительных алгоритмов. Одни и те же функции можно выполнить в микропроцессорах со структурой, отличающейся набором, количеством и порядком срабатывания логических блоков. Различные структуры микропроцессоров, как правило, обеспечивают их различные возможности, в том числе и различную скорость обработки данных. Логические блоки микро- процессора с развитой структурой показаны на рис. 3.1. При проектировании логической структуры микропроцессоров необходимо рассмотреть: 1) номенклатуру электронных блоков, необходимую и достаточную для реализации архитектурных требо- ваний; 2) способы и средства реализации связей между электрон- ными блоками; 3) методы отбора если не оптимальных, то (наиболее рациональных вариантов логических структур из возможного числа структур с отличающимся составом блоков и конфигурацией связей между ними. При проектировании микропроцессора приводятся в соответст- вие внутренняя сложность кристалла и количество выводов корпуса. Относительный рост числа элементов по мере развития микроэлек- тронной технологии во много раз превышает относительное увели- чение числа выводов корпуса, поэтому проектирование БИС «в виде конечного автомата, а не в виде набора схем, реализующих неко- торый набор логических переключательных функций и схем памяти, дает возможность получить функционально законченные блоки и устройства ЭВМ. Использование микропроцессорных комплектов БИС позволяет создать микро-ЭВМ для широких областей применения вследствие программной адаптации микропроцессора к конкретной области применения: изменяя программу работы микропроцессора, изме- няют функции информационно-управляющей системы. Поэтому за 44
счет составления программы работы микропроцесс9ров в конкрет- ных условиях работы определенной системы можно получить опти- мальные характеристики последней. Если уровень только программной «настройки» микропроцессо- ров не позволит получить эффек- тивную систему, доступен следую- щий уровень проектирования — микропрограммный. За счет из- менения содержимого ПЗУ или ПЛМ можно «настроиться» на более специфичные черты систе- мы обработки информации. В этом случае частично за счет из- менения микропрограмм затра- гивается аппаратурный уровень системы. Технико-экономические последствия здесь связаны лишь с ограниченным вмешательством в технологию изготовления уп- равляющих блоков микро-ЭВМ. Изменение аппаратурного уровня информационно-управ- ляющей микропроцессорной си- стемы, включающего в себя функ- циональные БИС комплекта, од- новременно с конкретизацией мик- ропрограммного и программного уровней позволяет наилучшим об- разом удовлетворить требова- ниям, предъявляемым к системе. Решение задач управления в конкретной системе чисто аппара- турными рредствам-и (аппаратур- ная логика) дает выигрыш в быстродействии, однако приводит к сложностям при модификации системы. Микропроцессорное ре- шение (программная логика) является более медленным, но более гибким решением, позволяющим развивать и модифицировать си- стему. Изменение технических требований к информационно-управ- ляющей микропроцессорной системе ведет лишь к необходимости перепрограммирования работы микропроцессора. Именно это ка- чество обеспечивает высокую логическую гибкость микропроцес- соров, определяет возможность их широкого использования, а зна- чит, и крупносерийного производства. Управление виртуальной памятью. Достижения в области произ- водства полупроводниковой памяти позволяют применять в микро- процессорных системах запоминающие устройства с большой ин- формационной емкостью. Но в таких устройствах нельзя получить Рис. 3.1. Общая логическая струк- тура микропроцессора: I — управляющая часть; II — операци- онная часть; БУ ПК — блок управления последовательностью команд, БУ В On. блок управления выполнением опера- ций; БУФКА — блок управления форми- рованием кодов адресов; БУВП — блок управления виртуальной памятью; БЗП — блок защиты памяти; БУПРПр— блок управления прерыванием ’ работы процессора; БУВВ — блок управления вводом — выводом, РгСОЗУ — регистро- вое сверхоперативное запоминающее устройство, АЛБ — блок арифметическо- логический; Б ДА — блок дополнитель- ной арифметики, БС — блок синхрони- зации 45
существенного повышения эффективности без прямой адресации данных. Широко используемый в микропроцессорах 16-разрядный адрес дает возможность прямо адресовать 216, или 65 536, слов или байт памяти. Но даже для работы с языками высокого уровня, обеспечивающими повышенную эффективность труда програм- мистов, требуются значительно большие ресурсы памяти. Увеличение разрядности кода адреса прямым расширением средств кристалла МП приводит к переработке его микроархитектуры, т. е. к несовме- стимости с ранее выпущенными машинами. Вместо этого большин- ство разработчиков микропроцессоров за последние годы перера- ботали микроархитектуры, реализуя механизм аппаратурной расширяемой адресации. Благодаря этому в микроархитектуре осуществляется преобразование адресов макроархитектуры в новые адреса, по которым производится обращение к памяти, причем пользователю не нужно менять адреса в своих программах, т. е~ машины остаются совместимыми. Чтобы еще более освободить пользователей от учета физических ограничений, определяемых: имеющейся памятью микро-ЭВМ, были разработаны схемы вир- туальной памяти. Объединяя управление оперативной памятью с управлением внешней памятью, система виртуальной памяти дает возможность каждому пользователю считать, что в его распоряже- нии находится больший объем памяти, чем имеется в физической машине. Виртуальная память, несмотря на то что работает под уп- равлением программ операционной системы микро-ЭВМ, требует специальной модификации архитектуры машины. Некоторые архи- тектуры микро-ЭВМ, появившихся за последнее время, обязаны своей оригинальностью тому, каким образом в них реализуются адресация памяти и виртуальная память. В системе с виртуальной памятью пользователь рассматривает сочетание основных и внешних запоминающих устройств как еди- ную большую область памяти. Благодаря этому пользователь может писать большие программы, не беспокоясь об ограничениях физи- ческой памяти системы. Чтобы обеспечить такую возможность, операционная система размещает некоторые из программ и данных: пользователей во внешней памяти. В том случае, когда их необхо- димо загрузить в оперативную память для выполнения, система производит операцию «подкачки страниц». Информация, которая в. данный момент не используется, выводится из оперативной памяти и переписывается во внешнюю, освобождая место для новых стра- ниц. Программист работает с одним непрерывным набором адре- сов, называемых виртуальными адресами. Аппаратурные рредства управления памятью следят за тем, где находится инф9рмация в- любой конкретный момент, и преобразуют виртуальные адреса в реальные адреса оперативной памяти. Когда аппаратурные средст- ва обнаруживают, что требуемые виртуальные адреса в оператив- ной памяти отсутствуют, они инициируют процедуру подкачки стра- ниц. Основной функцией блока управления виртуальной памятью является преобразование виртуального, или логического, адреса^ 46
используемого программистами и формируемого центральным про- цессором, в реальный, или физический, адрес, используемый для обращения к физической основной памяти. Процессор прекращает выполнение той команды, для которой отсутствуют адреса физической памяти, восстанавливает содержи- мое регистра, которое уже было изменено выполняемой командой, я вызывает специальную программу операционной системы вир- туальной памяти, инициируя загрузку в память нужной страницы. Эта программа определит место размещения в периферийной па- мяти нужной страницы и загрузит ее в основную память, при необ- ходимости переписывая во внешнюю память неиспользуемые данные из оперативной памяти, чтобы освободить место для новой инфор- мации. Во время такой загрузки страницы центральный процессор свободен для выполнения другой задачи, если операционная си- стема .предусматривает мультипрограммную работу. Защита информации в памяти. При мультипрограммной работе микропроцессора необходимо предусмотреть чредства для исклю- чения влияния одной программы на другую. Такое влияние может возникнуть из-за ошибок в выполняемой программе, неисправностей оборудования, приводящих к выработке неправильных адресов, или несанкционированного доступа к информации. Защита информации памяти эффективна, когда имеет место контроль работы системы адресации. Блоки защиты памяти могут контролировать коды граничных адресов, разнобразных признаков или значения специальных кодов, называемых ключами. Код ключа может относиться к программам или данным. Для защиты памяти по граничным адресам используют особен- ность выделения в каждой программе зоны ячеек памяти с после- довательно нарастающими номерами. Блок защиты в этом случае проверяет «попадание» рабочего адреса в разрешенный диапазон адресов. Для защиты памяти по признакам можно, например, осущест- вить контроль обращения к памяти при ее страничной организации за счет введения признака, определяющего рабочую страницу. Признаки обращения формируются программой и записываются в виде «1» или «О» в триггеры специального регистра защиты стра- ниц, причем каждой странице соответствует один разряд кода признаков защиты. При защите по признакам используют коды ключей данных и программ. Ключ — это специально cфqpмиpoвaнньгй т-разрядный двоичный код, присваиваемый страницам памяти и программам. Текущая программа имеет право обращаться только к тем страни- цам памяти, ключ которых совпадает с ключом исполняемой про- граммы. Несовпадение ключей рассматривается как нарушение защиты, в этом случае вырабатывается сигнал прерывания. Ключ — универсальный признак определенной задачи. Назначение ключей производится при распределении информационного объема памяти между программами. Поэтому при всех операциях в ЭВМ код клю- 47
ча передается в составе команд; адреса команд и операндов прове- ряются на соответствие заданному ключу. Защита по ключам происходит и при вводе — выводе информации. § 3.2. Требования, предъявляемые к системам команд, методам адресации данных и управлению адресами и операциями Системы команд и методы адресации данных. Автоматизация обработки информации и управления МП обеспечивается цифровым программным управлением. Программа вычислений записывается в памяти системы в виде последовательности команд. Каждая команда программы должна: определять вид операции, исполняе- мой в данном цикле работы; задавать адреса (адрес) двух (или одного) операндов, участвующих в операции; определять место засылки результата операции; указывать адрес расположения сле- дующей команды. Вследствие малой разрядности микропроцессора очень трудно столь обширную информацию указать с помощью только одного машинного слова. Поэтому проблема выбора формата команд и кодирования полей команд микропроцессора имеет особое значе- ние. Разрядность команды микропроцессора имеет очень большое значение, поскольку МП отличаются друг от друга именно построе- нием и интерпретацией команд. Гибкость микро-ЭВМ и ее эффек- тивность определяются логической мощностью команд, полнотой системы команд, дредствами и способами адресации, а также воз- можностями организации разветвленных вычислительных процес- сов. Поэтому большая разрядность команды обеспечивает более широкие возможности микропроцессоров. Рассмотрим гипотетический формат команд, обращая внимание на необходимость жесткой экономии их разрядности. Код операции должен занимать более трех разрядов, иначе «бедность» выполняе- мых микропроцессором операций породит проблему «длинных» программ даже для простых задач. Кроме арифметических и логи- ческих операций необходимо предусмотреть операции пересылок информации в регистрах микропроцессоров, операции ветвления в зависимости от различных условий, операции ввода — вывода. 6 системе команд микропроцессора желательно предусмотреть ме- ханизм работы со стандартными подпрограммами, поскольку из-за существенных аппаратурных ограничений многие сложные функции в нем выполняются программным способом. Несмотря на то что при проектировании микропроцессоров мо- жет быть использовано большое количество вариантов выделения полей команд, ограниченная разрядность команды создает сущест- венные трудности при размещении в команде достаточной инфор- мации о коде операции и методах адресации данных. Возможным решением проблемы является введение в систему команд операций с удвоенной разрядностью и команд с переменной разрядностью. 48
При использовании команд с удвоенной разрядностью первое слово команды содержит информацию о кодах операций, способах адресации, признаке одиночной или двойной команды и информа- цию о старших разрядах адреса операнда. Второе слово двухслов- ной команды несет информацию о младших адресах операнда. Полный адрес определяется кодом второго слова и кодом старших разрядов адреса, записываемых в первом слове команды. Естест- венно, что использование двухсловных команд требует двух обра- щений в ОЗУ за командой и специальных средств микропроцессо- ров для правильной интерпретации обоих слов команды (эти сред- ства используются и для анализа типа команды, усложняясь по мере увеличения количества слов в команде). Чтобы определить М слов информации в памяти, необходимо иметь na = log2Al разрядов для прямого указания кода адреса. При Л4 = 65К слов па =16. Байтовый формат поля адреса позволяет пря- мо адресовать лишь 28 = 256 слов (ячеек) памяти. В одной команде желательно иметь двухадресный формат, т. е. желательно одно- временно задавать адреса хотя бы одного исходного операнда и результата. Вследствие малой разрядности команды микро-ЭВМ прямой двухадресный формат можно задать лишь при обращении к внутреннему регистровому файлу небольшой информационной емкости. Кроме поля кода операции и кода адреса (адресов) команда должна содержать поле признаков, указывающее на особенности адресации. Методы адресации определяют механизм формирова- ния исполнительного (прямого) адреса в памяти, исходя из значе- ний адресного поля и поля признаков адресации команды. Исполь- зуется большое количество методов адресации в микропроцессорах, позволяющих расширить адресуемое пространство информации и связать между собой различные части вычислительных процессов. Гибкость системы команд в большей степени определяется разно- образием методов адресации. Адрес следующей команды в микропроцессоре задается с по- мощью счетчика команд. При обычном ходе выполнения программы переход к очередной команде требует операции прибавления единицы в счетчик команд. При операциях условного или безуслов- ного перехода в счетчик команд засылается новое значение кода адреса команды, определяющего новую ветвь вычислительного про- цесса. Движение по ней идет также в соответствии с операцией при- бавления единицы в счетчик команд. Введение специального ин- дексного регистра существенно расширяет возможности микро- процессора за счет индексной адресации. Управление адресами. Команды микропроцессора записывают в виде системы цифровых кодов, поэтому над ними могут выпол- няться различные арифметические и логические операции, как над обычными двоичными числами. В результате автоматического преобразования команд происхо- дит их модификация в соответствии с заданными признаками адре- сации. Чтобы не загружать операционный блок операциями моди- 49
фикации адресов, в состав микропроцессора вводится индексный блок (блок индексной арифметики, или инкремента — декремента). Управление операциями. Коды операции команд программы, воспринимаемые управляющей частью микропроцессора, расшифро- ванные и преобразованные в ней, дают информацию о том, какие операции надо выполнить, где в памяти расположены данные, куда надо направить результат и где расположена следующая за выпол- няемой команда. Управляющее устройство имеет достаточно средств для того, чтобы после восприятия и интерпретации информации, получаемой в команде, обеспечить переключение (ррабатывание) всех требуе- мых функциональных частей машины, а также для того, чтобы под- вести к ним данные и воспринять полученные результаты. Именно ррабатывание, т. е. изменение состояния двоичных логических эле- ментов на противоположное, позволяет посредством коммутации вентилей выполнять элементарные логические и арифметические действия, а также передавать требуемые операнды в функциональ- ные части микро-ЭВМ. Устройство управления в строгой последовательности в рамках тактовых и цикловых временных интервалов работы микропроцес- сора (такт —минимальный рабочий интервал, в течение которого совершается одно элементарное действие: цикл—интервал времени, в течение которого выполняется одна машинная операция) осу- ществляет: выборку команды; интерпретацию ее с целью анализа формата, служебных признаков и вычисления адреса операнда (операндов); установление номенклатуры и временной последова- тельности всех функциональных управляющих сигналов; генера- цию управляющих импульсов и передачу их на управляющие шины функциональных частей микро-ЭВМ и вентили между ними; анализ результата операции и изменение своего состояния так, чтобы опре- делить месторасположение (адрес) следующей команды. Особенности программного и микропрограммного управления операциями. В микропроцессорах используют два метода выра- ботки совокупности функциональных управляющих сигналов: про- граммный и микропрограммный. Выполнение операций в машине сводится к элементарным пре- образованиям информации (передача информации между узлами в блоках, сдвиг информации в узлах, логические поразрядные опера- ции, проверка условий и т. д.) в логических элементах, узлах и блоках под воздействием функциональных управляющих сигналов блоков (устройств) управления. Элементарные преобразования, не разложимые на более простые, выполняются в течение одного такта сигналов синхронизации и называются микрооперациями. В аппаратурных (схемных) устройствах управления каждой операции соответствует свой набор логических схем, вырабатываю- щих определенные функциональные сигналы для выполнения микроопераций в определенные моменты времени. При этом способе построения устройства управления реализация микроопераций до- стигается за счет однажды соединенных между собой логических 50
схем, поэтому ЭВМ с аппаратурным устройством управления назы- вают ЭВМ с жесткой логикой управления. Это понятие относится к фиксации системы команд в структуре связей ЭВМ и означает практическую невозможность каких-либо изменений в системе команд ЭВМ после ее изготовления. При микропрограммной реализации устройства управления в состав последнего вводится ЗУ, каждый разряд выходного кода ко- торого определяет появление оцределенного функционального сиг- нала управления. Поэтому каждой микрооперации ставится в соответствие свой информационный код — микрокоманда. Набор микрокоманд и последовательность их реализации обеспечивают выполнение любой сложной операции. Набор микроопераций назы- вают микропрограммами. Способ управления операциями путем по- следовательного считывания и интерпретации микрокоманд из ЗУ (наиболее часто в виде микропрограммного ЗУ используют быстро- действующие программируемые логические матрицы), а также ис- пользования кодов микрокоманд для генерации функциональных управляющих сигналов называют микропрограммным, а микро- ЭВМ с таким способом управления — микропрограммными или с хранимой (гибкой) логикой управления. К микропрограммам предъявляют требования функциональной полноты и минимальности. Первое требование необходимо для обеспечения возможности разработки микропрограмм, любых ма- шинных операций, a BTqpoe — связано с желанием уменьшить объем используемого оборудования. Учет фактора быстродействия ведет к расширению микропрограмм, поскольку усложнение последних позволяет сократить время выполнения команд программы. Преобразование информации выполняется в универсальном арифметическо-логическом блоке микропроцессора. Он обычно строится на основе комбинационных логических схем. Для ускорения выполнения определенных операций вводятся дополнительно специальные операционные узлы (например, цикли- ческие сдвигатели). Кроме того, в состав комплекта микропроцес- сорных БИС вводятся специализированные оперативные блоки арифметических расширителей. Операционные возможности микропроцессора можно расширить за счет увеличения числа регистров. Если в регистровом буфере закрепление функций регистров отсутствует, то их можно исполь- зовать как для хранения данных, так и для хранения адресов. По- добные регистры микропроцессора называются регистрами общего назначения. По мере развития технологии реально осуществлено изготовление в микропроцессоре 16, 32 регистров и более. § 3.3. Особенности построения и функционирования логических блоков прерывания работы микропроцессоров Процесс прерывания работы микропроцессоров сигналами зап- роса внешних устройств устраняет необходимость выполнения микропроцессором неэффективных операций по проверке готовно- 51
сти внешних устройств к обмену и снижает затраты времени на ожидание их готовности. Реализация механизма прерываний имеет наибольшую важность в случае необходимости обмена данными с большим числом асинхронно работающих внешних устройств. Ис- пользование обмена по методу программируемого безусловного перехода, который может быть успешно реализован в синхронной системе, где моменты готовности к работе внешних устройств опре- деляются достаточно точно, здесь неэффективно. Для определения требований к построению системных блоков прерывания работы микропроцессоров рассмотрим особенности по- строения и функционирования внутренних схем прерывания микро- процессоров, реализуемых на кристалле 5ИС. Практически все микропроцессоры имеют отдельные выводы на корпусе для ввода и вывода сигналов, определяющих запросы и удовлетв9рение за- просов на прерывания. Сложность связанных с ними электронных схем определяет возможности системы прерываний. Момент возникновения запроса прерывания микропроцессора не связан с его работой по основной программе или какой-либо подпрограмме. Сигналы запроса прерывания текущей программы асинхронны относительно циклов работы микропроцессора. По- этому, получив сигнал запроса на прерывание работы, микропро- цессор должен закончить выполнение текущей микрооперации или операции и только после этого приступить к удовлетворению за- проса. Такой порядок дает возможность получить промежуточные результаты, являющиеся итогом работы микропроцессора по про- грамме (подпрограмме), зафиксировать их в его регистрах и за- слать на хранение в память. Процесс сбора и пересылки содержи- мого внутренних регистров микропроцессора в память часто назы- вается контекстным переключением, так как содержимое регистров имеет определенный смысл только в контексте данной выполняе- мой программы. Процесс считывания из памяти и распределения данных по определенным регистрам микропроцессора позволяет восстановить контекст, т. е. состояние прерванной программы, после окончания удовлетворения запроса прерывания. Именно такой порядок осуществления процесса прерывания дает возможность перехода от программы к подпрограмме и обратно к последователь- ности вложенных подпрограмм без потери промежуточной инфор- мации.и правильного счета по запрограммированным алгоритмам. Однако, контекстное переключение должно гарантировать правиль- ность продолжения работы микропроцессора после прерывания программы (подпрограммы), т. е. не должно вносить никаких по- следствий в процесс работы микропроцессора, кроме временных перерывов. Чтобы охарактеризовать важное качество микропроцессора и электронных систем на его основе по возможности прерывания прерывающих программ, вводят понятие «уровень программного прерывания микропроцессора». Если нельзя прервать прерываю- щую программу, то считается, что электронная система спроектиро- вана с нулевым уровнем прерывания. Чтобы избежать подобных 52
ограничений, большинство микропроцессоров имеет дредства для обеспечения практически произвольного количества уровней преры- вания. Это означает, что имеется возможность многократного пре- рывания прерываний и образования прерываний внутри прерыва- ний, т. е. вложенных прерываний, ведущих к появлению последо- вательностей вложенных подпрограмм. Стек — эффективное программно-аппаратурное средство для сохранения и возврата данных при контекстном переключении и осуществления вложенных прерываний. Стек (магазинная память) представляет собой совокупность ячеек памяти, организованных так, что обращение к некоторой последовательности (списку) слов может происходить в процессе, обратном записи. Это означает, что стек позволяет осуществить принцип работы «последнее из списка последовательно записанных слов считывается первым». В стеке реализуется подразумеваемая адресация, т. е. всегда запись или чтение данных происходит в «верхней» ячейке. Образно стек можно представить в виде бесконечной этажерки, где ячейки соответствуют полкам. «Положить» слово можно только выше последнего поло- женного (записанного) слова; «взять» можно только то слово, ко- торое «положено» самым последним. Чтобы осуществить именно этот порядок обращения, имеется регистр «Указатель полки», кото- рый перемещается по мере добавления новых слов на полках вверх или опускается вниз по мере их взятия. Этот регистр — указатель состояния заполненности стека — физически указывает на регистр СОЗУ на кристалле микропроцессора или на ячейку памяти ОЗУ. Практически неограниченный по информационной емкости стек по- лучается именно во втором случае, поскольку редко возникает не- обходимость иметь в системе тысячу (и более) уровней прерывания, а такая глубина прерываний вполне реализуется при использова- нии ОЗУ с доступной величиной информационной емкости. При удовлетворении запроса на прерывание текущей программы блок управления микропроцессора осуществляет запись контекстно- го состояния рабочих регистров микропроцессора в стек автомати- чески, начиная с «верхней» ячейки, и добавляет единицу в регистр- указатель ячейки стека после каждой записи. Поэтому достаточно одной команды «Записать состояние в стек», чтобы аппаратурные средства микропроцессора считали всю контекстную информацию рабочих регистров и направили ее для хранения в стек. Восстанов- ление контекста также происходит автоматически по команде «Восстановить состояние прерванной программы (подпрограммы)», которая ставится последней в подпрограмме прерывания. В про- цессе восстановления в счетчик команд заносится адрес возврата из прерываний, указывающих на команду, которая должна выпол- няться первой. На рис. 3.2 показано заполнение и освобождение стека при появ- лении цепочки вложенных прерываний. Анализ последовательности работы МП показывает, что имеют место qpraHH3OBaHHbift переход от подпрограммы к подпрограмме, запоминание промежуточных состояний и последовательное завершение всех подпрограмм. 53
Пример. Пусть при выполнении основной программы 77 4 необходимо перейти к подпрограмме 77771, внутри нее — к подпрограмме ПП2, а затем к подпрограм- ме ПП3. Последовательность выполняемых при этом команд, содержимое счетчика команд и верхних регистров стека приведены в табл. 3.1. При выполнении основной программы IJi команда <х3> определяет переход к подпрограмме ПГЦ. В интервал времени анализа команды <Хз> на счетчике команд уже установлено значение Х4. Команда перехода к подпрограмме 7777± пересылает содержимое счетчика команд, т. е. значение х4, в верхний регистр- стека, а в счетчик команд засылает значение r/i, т. е. адрес начала подпрограм- мы ПП1. После выполнения команды <z/i> содержимое счетчика команд увели- чивается на единицу и выполняется вторая команда <у2> подпрограммы ПП^ а содержимое счетчика команд определяет команду <#3>, т. е. команду пере- хода к подпрограмме ПП2. Поэтому команда <уз> осуществляет передачу со- Ilf Рис. 3.2. Порядок выполнения вложенных подпрограмм при использовании стека держимого счетчика команд, т. е. значение г/4, в стек. Содержимое х4 верхнего регистра стека посылается вниз во второй регистр, а в счетчик команд заносится число Zi, определяющее начало подпрограммы ПП2. При этом в верхнем регист- ре стека окажется значение #4. Затем совершится переход к подпрограмме ПП^, в верхний регистр стека будет занесено число z4. После выполнения подпрограм- мы 77773, т. е. при переходе к команде возврата <у5>, устройство управления передает содержимое верхнего регистра стека z4 в счетчик команд, уничтожая значение vQ в счетчике команд. Запись значения z4 в счетчик команд означает возврат к подпрограмме ПП2. После выполнения подпрограммы ПП2 команда <z5> возврата к подпрограмме П1Ц передает в счетчик команд значение г/4, которое заменяет значение z6. Таким образом совершается переход к 77771. За- тем команда <#6> определяет командой <z4> продолжение выполнения про- граммы 771, поскольку после выполнения команды <х4> в счетчике команд ав- томатически устанавливаются значения Хэ, Хе и т. д. Таким образом, магазинный механизм запоминания адресов возвратов дает очень удобные средства работы с подпрограммами. При переходе к подпрограмме стек заполняется сверху и его содер- жимое продвигается вниз. При возврате в прерванную программу содержимое стека продвигается каждый раз вверх, выталкивая в счетчик команд адрес команды возврата. Поэтому для работы со стеком достаточно двух команд «Записать в стек» («Втолкнуть в стек») и «Считать из стека» («Вытолкнуть из стека»). В состав микропроцессора можно ввести средства для записи и возвращения не только содержимого счетчика команд, но и всех других регистров, состояние которых необходимо сохранять при прерываниях. При этом в «верх» стека последовательно записы- 54
вается содержимое счетчика команд, аккумулятора, регистра приз- наков и т. д. При выполнении одной команды «Возврат» автомати- чески П|роизводится несколько считываний из стека и «разворачи- вание» извлекаемой информации в определенные регистры. Виды запросов на прерывания. В большинстве микропроцессо- ров приняты запросы прерывания немаскируемые и маскируемые. Немаскируемые запросы на прерывание — такие прерывания, которые аппаратурно реализованы вне программного контроля и не управляются программистом. Сигналы немаскируемых запро- Таблица 3.1 Команды про- граммы Содер- жимое счетчи- ка команд Содержимое регистров стека Команды программы Содержи- мое счетчи- ка команд Содержимое регистров стека Рг2 Рг» Ргх Рг2 Ргз <Х1> Оз> ?4 У4 х4 <Хг> *2 — — <V4> V4 *4 У4 х4 <Хз> *з — — Об> ^5 ?4 У4 х4 Х4 Х4 — ^6 У4 Х4 — <У1> У1 х4 — <*4> *4 У4 Х4 — <У2> У2 х4 —— <z5> *5 У4 Х4 — <Уз> Уз х4 *6 Х4 — У4 У4 х4 — <У4> У4 Х4 — — <*1> z\ У4 х4 — <У5> Уз Х4 — — <*2> *2 У4 х4 — <Уб> Уб Х4 — — <г3> *3 У4 х4 — У7 — — —— *4 *4 У4 х4 <*4> Х4 — — — Oi> V1 *4 У4 Хд <х5> *5 — — — <v2> ^2 *4 У4 Х4 Примечание, х, у, z, v — номера ячеек ОЗУ и коды счетчика команд; <х>, <у>, <z>, <и> — содержимое ячеек х, у, z, v в ОЗУ. сов на прерывания обычно поступают в микропроцесс9р по отдель- ной шине магистрали управления и имеют наивысший при9ритет, т. е. исполняются ранее других запросов на прерывания. Обычно к немаскируемым запросам на прерывания относятся запросы на пре- рывания от таких важнейших для системы средств, как схемы питания и контроля правильности передач данных. Например, сни- жение уровня питания создает опасность потери всей оперативной информации, поскольку полупроводниковые ОЗУ и регистры микро- процессора теряют информацию при отключении или сбоях пита- ния. Поэтому схемы контроля питания в этом случае подают запрос прерывания и совершается переход к подпрограмме аварийной пе- резаписи оперативной информации в ОЗУ с батарейным невыклю- чаемым питанием или во внешнее магнитное ЗУ. Следовательно, в блоке питания должны быть предусмотрены емкостные фильтры для того, чтобы длительность снижения уровня вторичного напря- 55
жения при выключении первичного питания была достаточна для выполнения аварийной подпрограммы. Цепи контроля правильности передач данных должны действовать аналогично. Любые ошибки в последовательностной системе запоминаются и искажают все по- следующие результаты. Поэтому необходимо прекратить вычисле- ния и решением тестовых задач как .подпрограмм прерывания выяс- нить неисправные аппаратурные блоки, провести восстановление работоспособности системы и лишь после этого продолжать выпол- нение основной программы. Маскируемые запросы на прерывания управляются командами программы и имеют целью дать программисту возможность гибкого управления вычислительным процессом. Если программист орга- низовал программный цикл ожидания и обмен с устройством, кото- рый не может быть прерван, то ему необходимо отключить меха- низм прерываний. Для этих целей в состав регистра состояния микропроцессора вводится специальный триггер «Разрешение удов- летворения запросов на прерывания». Сигнал с этого триггера по- ступает в блок управления микропроцессора как сигнал запрета (маскирования) запросов прерывания. Триггер «Разрешение удов- летворения запросов на прерывания» устанавливается в состояние «1» и сбрасывается в состояние «О» специальными командами «Установить маску прерываний», «Сбросить маску прерываний». Поэтому программист может вставлять их в программу везде, где это необходимо. При использовании маскируемых запросов на прерывания между внешним устройством и микропроцессором должен осуществляться асинхронный обмен управляющими сигналами до начала собствен- но процесса прерывания. Поэтому в ряде микропроцессоров прием запроса и начало процесса прерывания сопровождаются выходным сигналом «Запрос прерывания удовлетворен». Этот сигнал может быть использован и для маскирования схемы прерываний. Необхо- димость в этом связана с тем, что если до конца выполнения под- программы прерывания сигнал «Запрос прерывания» не снят, то тот же самый запрос будет выполняться вновь. Поэтому в качестве последней команды подпрограммы прерывания должна стоять команда снятия маски прерывания. Это является гарантией того, что если будет сгенерирован запрос прерывания, то он будет новым. Определение адреса программы прерывания по сигналам запро- са на прерывание от конкретного внешнего устройства. Для задания адреса программы прерывания применяются методы, различаю- щиеся числом дополнительных схем в микропроцессоре или в ин- формационном контроллере внешнего устройства. Наиболее простой метод заключается в записи кода адреса памяти, где записана первая команда подпрограммы прерывания, в специальном регистре адреса прерывания. В этом случае блок управления микропроцессором после завершения контекстного пе- реключения автоматически считывает и передает в регистр счетчи- ка команд код регистра адреса прерывания. Обратившись поэтому адресу, микропроцессор считывает два байтовых числа или одно И
двухбайтовое число, которое является первой командой подпрограм- мы прерывания. Поскольку данный метод прямо указывает на место расположения подпрограммы прерывания, для обозначения на- чального адреса программы прерывания используют термин «век- тор прерывания». Таким образом, рассмотренный метод позволяет косвенной адресацией ячейки памяти определить вектор прерыва- ния, а через него и подпрограмму прерывания. Другой метод требует проведения асинхронного запроса со стороны микропроцессора к внешним устройствам для определения устройства, которое выставило сигнал запроса на прерывание. Ин- формационный контроллер внешнего устройства, пославшего сигнал запроса на прерывание, в ответ на запрос микропроцессора выстав- ляет код команды, который при пополнении блоков управления микропроцессора вызывает ветвление по одному из некоторого множества адресов. Следовательно, этот метод также практически прямо указывает на вектор прерывания, причем позволяет задать векторы прерываний многих подключенных внешних устройств. Для реализации он требует развития рредств информационного контроллера. В сложных микропроцессорах используется специаль- ный регистр, адресуемый программистом и называемый регистром вектора прерывания, с помощью которого можно также прямо задать векторы прерывания многих внешних устройств. Определение адресов программ прерывания по сигналам запро- са на прерывания от некоторого множества внешних устройств. Микропроцессор может иметь только два ввода для приема сигна- лов запросов на маскируемые и немаскируемые прерывания, а в электронной системе может быть необходимо осуществить управ- ление многими внешними устройствами. В этом случае возможно одновременное появление множественных запросов на прерывание работы микропроцессора, т. е. сигналов запросов на прерывание от ряда внешних устройств. При этом имеется несколько путей решения проблемы управле- ния множественными сигналами запроса на прерывания. Все вы- ходы схем генерации запросов прерывания выполняются на основе каскадов с открытым коллектором или с тремя внутренними состоя- ниями и параллельно соединяются с выводом МП. Срабатывание такого каскада вызывает сигнал запроса прерывания. Микропро- цессор, опознав его, проводит анализ и определяет точный адрес вектора прерывания. Наиболее распространены системы векторных и обзорных прерываний. Векторные прерывания требуют значительных аппаратурных затрат, но имеют высокую скорость реакции. Один из методов реа- лизации векторных прерываний посылкой кода команды из средств информационного контроллера был рассмотрен выше. Обзорные прерывания заключаются в выполнении общей подпро- граммы прерывания с целью определения вектора прерывания кош кретного устройства. Подпрограмма содержит главным образом команды считывания и анализа кода состояния внешних устройств. Последовательный анализ по заранее заданной схеме позволяет 57
выделить устройство, подготовленное к обмену. После этого со- вершается условный переход и считывается вектор прерывания этого устройства. Данный метод требует для реализации неболь- ших аппаратурных затрат и может быть применен при подключе- нии небольшого числа медленных устройств, поскольку требует значительных затрат времени на осуществление процесса преры- вания. В любой из рассмотренных систем прерываний возникают слож* ности управления одновременными запросами на прерывания от не- скольких устройств. Обычно они разрешаются назначением приори- тета каждому внешнему устройству. Поэтому при появлении одновременно нескольких запросов предпочтение отдается запросу на прерывание от более приоритетного устройства. В системе, реализующей схему управления векторными запро- сами на прерывания, цепочечное подключение узлов запросов на прерывания приоритетных устройств автоматически выявляет актив, ное устройство: сигнал удовлетворения запроса прерывания прохо- дит через узлы всех более высокоприоритетных схем и вызывает передачу вектора прерывания наиболее приоритетного устройства. В системе с реализацией принципа обзорных прерываний прио- ритет устройства прямо устанавливается анализом кода состояния и не требует дополнительной аппаратуры. Сравнение векторных и обзорных систем прерывания работы микропроцессора показывает, что при их проектировании можно достичь компромисса между количеством аппаратуры микропроцес- сора и объемом его программного обеспечения. Меньшие аппара- турные затраты требуют большего программного обеспечения и порождают низкоскоростные решения. Более высокое быстродей- ствие достигается более высокими аппаратурными затратами и меньшими программными издержками. Сложность аппаратурных решений не позволяет заложить многого в кристалл микропроцес- сора. Поэтому в комплекте БИС развитого микропроцессора вы- пускается специальная БИС программируемого контроллера пре- рываний. § 3.4. Методы и средства управления вводом — выводом данных При проектировании микропроцессорной системы важнейшее значение имеет правильный выбор методов управления вводом — выводом данных. Микропроцессор обладает очень широкими возможностями орга- низации ввода — вывода, однако на эффективность ввода — вывода существенное влияние оказывают особенности тех технических 9редств, которые являются источниками (приемниками) вводи- мых— выводимых данных. Микропроцессор может взаимодейство- вать с различными типами источников (приемников) данных. В од- них из них смена данных происходит в любой момент времени и занимает достаточно большой интервал (по сравнению с быстро- го
действием микропроцессора). Установленные данные могут быть считаны (записаны) через достаточно произвольный интервал времени после установки. К подобным средствам ввода — вывода можно отнести практически все устройства ввода — вывода данных, предназначенные для взаимодействия оператора и системы (напри- мер,, дисплеи, клавиатура). Имеются устройства, работающие значительно медленнее, чем микропроцессор, но в периодическом режиме (например, накопи- тели данных на магнитных дисках, печатающие устройства). В этих устройствах данные могут быть записаны (считаны) только в оп- ределенные промежутки времени. Если именно в этот промежуток времени микропроцессор не осуществит сеанс взаимодействия, то данные будут потеряны. В то же время, если микропроцессор будет только следить за состоянием таких устройств, он не сможет вы- полнять других функций в системе. Поэтому во время пассивных промежутков времени между сеансами взаимодействия микропро- цессор должен выполнять другие операции в системе. Для этого в системе должна быть решена задача разделения пассивных и ак- тивных интервалов взаимодействия. Например, во внешние устрой- ства можно ввести дополнительные технические средства индика- ции активного состояния, а в МП — средства соответствующей реакции на сигналы возникновения активного состояния в системе. В системе могут быть данные, снимаемые с датчиков состояния управляемых объектов (процессов), крутизна и предельные значе- ния которых должны быть предметом особого контроля со стороны микропроцессора. В реальной системе могут быть объединены многочисленные сигналы разнообразных вводимых и выводимых данных. Один из рациональных методов осуществления ввода — вывода в такой си- стеме заключается в организации асинхронного режима работы микропроцессора и приемников — источников информации. В этом случае до обмена данными всегда происходит обмен асинхронными управляющими сигналами. Действительно, обмен по прерываниям работы микропроцессора может начаться только тогда, когда внешнее устройство выработает сигнал готовности («Запрос на прерывание»), а МП, завершив обязательные действия над выпол- няемой командой программы, выработает ответный сигнал «Запрос на прерывание удовлетворен». Затем микропроцессор осуществля- ет переход к подпрограмме обслуживания запроса прерывания, которая содержит последовательность команд обмена данными. По завершении подпрограммы прерывания микропроцессор возвра- щается к продолжению работы по ранее прерванной программе. Программный обмен данными по командам условного перехода. В этом виде обмена микропроцессор программным путем должен определить, готово ли периферийное устройство к выполнению опе- раций ввода — вывода до того, как начнется программная передача данных. Внешнее устройство должно иметь аппаратурные рредства для выработки информации о внутреннем состоянии статусной ин- формации. Микропроцессор считывает эту информацию, передает ее 59
во внутренний регистр-аккумулятор, анализирует и на основе ре* зультата анализа принимает решение о готовности устройства. На рис. 3.3 приведена схема алгоритма программного обмена данными по командам условного перехода. Из нее следует, что микропроцессор может находиться в режиме программного ожи- дания (готовности) внешнего устройства, выполняя команды бло- ков 1 и 2, После обнаружения состояния готовности МП передает данные по командам блока 3, а затем приступает к работе по про- должению основной программы. I Считать и Мести информацию Цикл о состоянии программного устройства. ожидания Да г3-------------- выполнить операции передачи данных Рис. 3.4. Схема подключения преоб- разователя к микропроцессору при программном вводе данных Рис. 3.3. Схема алгоритма програм- много обмена данными Обмен данными по командам условного перехода. Аналого-циф- ровой преобразователь при передаче данных имеет трехуровневые выходные каскады, передача данных с которых осуществляется по сигналу «Разрешение выдачи» РВ. По сигналу «Начало преобра- зования» преобразователь начинает преобразования мгновенной амплитуды входного аналогового сигнала в восьмиразрядный код. Время преобразования зависит от реализуемого принципа преоб- разования и схемотехнического исполнения. Во время преобразова- ния выдается управляющий сигнал «Конец преобразования» КП, равный «О». Он принимает значение «1», когда преобразование аналоговой величины в код завершено. Чтобы считать требуемое значение данных, сигнал РВ должен поступить после того, как ус- тановится значение «1» сигнала КП. На рис. 3.4 приведена схема подключения преобразователя к микропроцессору МП. Для микропроцессора преобразователь пред- 60
ставляется как логическое устройство, управляемое сигналами «На- чало преобразования» НП, «Конец преобразования» КП, и «Разре- шение выдачи» РВ. Эти сигналы считываются микропроцессором из байтового выходного регистра данных. Сигналы данных Q7—Qo имеют правильное значение, если соблюдена последовательность выдачи управляющих сигналов НП, КП, РВ согласно временной диаграмме. Чтобы выдавать требуемые управляющие сигналы в заданное время, каждый управляющий сигнал определяется своим адресом N. Сигнал с дешифратора адреса ДША вместе с сигналом операции микропроцессора «Чтение — запись» Чт/Зп по сигналу импульса синхронизации С определяет генерацию необходимого управляющего сигнала. По сигналам А^нп=1 и A^PB=1 осуществ- ляется запуск преобразователя; по сигналам А^рв и А^кп=1—считы- вание и ввод в микропроцессор значения сигнала КП. Этот сигнал через трехуровневый каскад вводится в микропроцессор МП по шине Д7. В 8-разрядном МП этот разряд является разрядом знака числа. Поэтому команда «Условный переход по знаку результата» определит либо окончание преобразования (7(77=1), либо необхо- димость перехода к новому циклу анализа (7(77=0). После опреде- ления состояния КП=\ командой «Прочитать данные по адресу А/рв» осуществляется ввод информации с преобразователя в МП. Из рассмотренного примера и принципа обмена данными по командам условного перехода видно, что микропроцессор должен находиться в режиме ожидания, следя за состоянием внешнего устройства. На чтение статусной информации и ее анализ может быть затрачено большое количество циклов работы микропроцес- сора, которые, по существу, будут потерянными. Если микропроцес- сор работает только с одним устройством, то такие потери неиз- бежны. Однако в электронной системе со множеством источников- приемников данных рассмотренный режим ввода — вывода неэффективен. Обмен данными по сигналам прерывания работы микропроцес- сора от внешних устройств. При обмене данными по сигналам прерывания внешние устройства являются сами инициаторами обмена. Микропроцессор работает параллельно с ними над выпол- нением основной программы и не занимается анализом состояния внешних устройств. Но в микропроцессоре должны быть специаль- ные аппаратурные цредства анализа состояния внешних устройств. Когда эти устройства обнаруживают готовность к обмену какого- либо внешнего устройства, то сигнализируют об этом блоку управ- ления микропроцессора. Последний завершает текущую операцию, передает на хранение в память всю информацию внутренних регистров данных и управления и осуществляет переход к подпро- грамме обслуживания прерывания. Основная часть этой подпро- граммы— команды передачи данных между микропроцессором и конкретным внешним устройством. В конце ее имеются программы восстановления состояния микропроцессора, которое существовало к началу прерывания. Ввод данных по прерываниям. Рассмотрим ввод данных с ана- 61
лого-цифрового преобразователя. В данном случае выходной сигнал «конец преобразования» КП не связан с магистралью данных МД (рис. 3.5), поскольку нет необходимости анализировать состояние устройства. Этот сигнал используется для установки специального триггера прерывания 7/(-типа по входу С. Триггер прерывания ТгП Рис. 3.5. Схема подключения преоб- разователя к микропроцессору при вводе данных по прерываниям применяется для генерации сигнала запроса прерывания микро- процессора МП. Сигнал «Запрос прерывания» ЗП поступает в блок управления и используется для прерывания работы МП. Так как сигнал 377=1 будет все вре- мя вызывать срабатывание схем блока управления процессора, то сразу же после удовлетворения запроса прерывания командой «Считать состояние по адресу ТУкп» триггер ТгП переводится в состояние «О» подачей сигнала фиктивного считывания по входу R Триггера ТгП. В остальном ге- нерация сигналов и работа схем, показанных на рис. 3.4 и 3.5, ана- логична. Обмен данными в канале прямого доступа в память. Ранее рассмотренные методы обмена данными относились к передачам между внешними устройствами и микропроцессором. Если необхо- димо осуществить обмен между внешним устройством и памятью, то нет необходимости пересылать данные через микропроцессор. Обычно между памятью и внешними устройствами обмен данными заключается в пересылке массивов информации. Если проводить чтение данных в памяти (внешних устройствах), заносить данные в аккумулятор микропроцессора, а затем осуществлять запись в регистры внешних устройств (или память), то затраты времени микропроцессора будут очень большими. Можно в систему ввести контроллер прямого доступа в память, который берет на себя уп- равление передачей, освободив от этих функций системный микро- процессор. Прямой доступ в память при выполнении операций ввода — вывода позволяет значительно увеличить скорость пере- дачи данных и повысить эффективность использования средств микропроцессора. Построение канала прямого доступа в память является альтернативой программному обмену, поэтому и в дан- ном случае справедливы общие закономерности балансировки программно-аппаратурных средств; выполнение определенных функций аппаратурой упрощает программное обеспечение, значи- тельно сокращает затраты времени на выполнение функций по сравнению с их программной реализацией, но требует использо- вания сложных дополнительных модулей аппаратуры. Последнее увеличивает стоимость, габариты и мощность потребления системы, снижает ее надежность. 62
Средства канала прямого доступа КПД в память могут быть подключены «параллельно» процессору так, как это показано на рис. 3.6, а, с передачей функций арбитража ОЗУ. Однако при этом усложняются схемы управления ОЗУ, появляется второй информа- ционный канал, состоящий из информационных магистралей дан- ных МД, адреса МА и управляющих сигналов МУ (рис. 3.6, б). Поэтому в микропроцессорных системах решается задача разделе- ния единого информационного канала между микропроцессором и каналом прямого доступа в память посредством использования свойств трехуровневого состояния информационных подмагистра- лей. Микропроцессор МП во время передачи информации по каналу прямого доступа переводит выходные схемы управления магистра- Рис. 3.6. Схема подключении канала прямого доступа к ОЗУ в микропро- цессорной системе лями данных, адресов и управляющих сигналов в высокоомное со- стояние и тем самым изолируется от остальной части системы, что аналогично обрыву его информационного канала. Степень влияния операций ввода—вывода в канале прямого доступа на основной вычислительный процесс в системе опреде- ляется сложностью аппаратурных цредств контроллера этого кана- ла. В простейшем случае контроллер берет на себя управление пе- редачей данных по информационной магистрали в условиях, когда микропроцессор одновременно с выдачей сигнала удовлетворения запроса канала переводится в режим ожидания окончания опера- ций в канале. При этом за счет перевода выходных каскадов управ- ления шинами информационной магистрали в высокоомное состоя- ние микропроцессор эффективно электрически и информационно отключается от системы. Состояние внутренних регистров «замора- живается», т. е. микропроцессор в режиме ожидания сохраняет то информационное состояние, которое возникло в нем к моменту удовлетворения запроса канала прямого доступа. Построение контроллера канала прямого доступа, функциони- рующего параллельно с микропроцессором, позволяет не отключать последний на время выполнения операций ввода — вывода. Однако операции ввода — вывода с использованием передач по информа- ционной магистрали надо синхронизовать с другими операциями в системе и выполнять их тогда, когда магистраль свободна. Мицро- 63
процессор после обращения к памяти за очередной командой зани- мается ее расшифровкой и анализом и в этот промежуток времени адреса обращения к памяти еще не известны. Поэтому канал прямо- го доступа может «занять» цикл обращения к памяти и осуществить операцию ввода или вывода слова данных. Этот метод занятия цикла памяти контроллер канала прямого доступа осуществляет так, что микропроцессор даже «не знает», что одновременно с его функционированием происходят другие операции в системе, по- скольку они никакого торможения работы микропроцессора не вы- зывают. Рис. 3.7. Схемы подключения УВВ к микропроцессору Недостаток канала прямого доступа с занятием цикла — ограни- чение его производительности быстродействием микропроцессора: обмен данными между памятью и внешними устройствами совер- шается со скоростью, определяемой частотой выборки команд. Подключение устройств ввода — вывода к микропроцессору. Способы подключения внешних устройств к микропроцессору опре- деляются возможностями его корпуса, аппаратурно-программных средств, количеством и особенностями устройств ввода — вывода. Запрос на простое прерывание привлекает внимание микропро- цессора к внешней подсистеме и требует проведения анализа ее состояния. Если несколько устройств ввода — вывода УВВ подклю- чены к своим индивидуальным аппаратурным ресурсам (рис. 3.7, а, радиальный интерфейс), то внутри микропроцессора МП необходи- мо иметь мультиплексор для последовательного опроса всех УВВ. Когда время реакции критично, можно ввести аппаратурные сред- ства, позволяющие конкретному yBBi зразу же после выполнения текущей команды программы вызвать свою подпрограмму обслужи- вания. В случае подключения многих yBBi к одному уровню пре- рывания при простом прерывании требуется обзор всех причин пре- рывания и выделения активного УВВ^. 64
Последовательное расположение подпрограмм анализа причин прерываний УВВ в программе может считаться приоритетом, если не задан другой алгоритм. Следовательно, первое активное устрой- ство, обнаруженное программой пре- рывания, получает ресурс на обслужи- вание. Аппаратурно этот алгоритм реализуется в «цепочечной» схеме под- ключения УВВ (рис. 3.7, б). Векторное (направленное) преры- вание возникает тогда, когда УВВ^ выставившее запрос на прерывание, по- сылает после удовлетворения запроса адрес Ai—AN ячейки, где расположена программа прерывания данного УВВ^ (рис. 3.7, в). Многоуровневые групповые системы прерывания требуют наличия в микро- процессоре МП нескольких входов (рис. 3.7, г) и могут быть векторными приоритетными или обзорными. Рис. 3.8. Логическая структура развитого микропроцессора § 3.5. Логические структуры микропроцессоров Сложность логической структуры и возможности микропроцессоров опре- деляются достижениями микроэлек- тронной технологии кристаллов и кор- пусов интегральных схем. Степень ин- теграции электронных элементов на- кладывает ограничения на разрядность микропроцессора; количество слоев металлизированной разводки на крис- талле влияет на сложность связей меж- ду логическими блоками микропроцес- сора, а количество выводов корпуса накладывает ограничения на число шин внешнего и внутреннего интер- фейсов цифровых вычислительных средств на основе микропроцессоров. Логическая структура развитого однокристального микропроцессора (рис. 3.8). Микропроцессор имеет магистральную внутреннюю структуру. Все его блоки и уз- лы соединены между собой с помощью общей информационной ма- гистрали, состоящей из информационных магистралей вводимых данных Л4Д1, выводимых данных МД2, внутренних информацион- ных магистралей данных Л4ДВ11 и управляющих сигналов А4УВТ1. Внешние связи микропроцессора образуют информационные маги- страли однонаправленных адресов МА, двунаправленных данных 3-534 65
МД, сигналов системного управления МУС, сигналов запроса па прерывание процессора МУПр. Последняя в простейшем случае может быть одной шиной запросов прерывания процессора. Основные блоки микропроцессора следующие: арифметическо- логический блок АЛБ; блок управления вводом — выводом инфор- мации БУВВ с внутренними буферными регистрами для временного хранения вводимых и выводимых кодов; блок прерываний микро- процессора БПр, блок местного управления и синхронизации БМУС. Арифметическо-логический блок АЛБ связан с регистром триг- геров признаков РгП, число триггеров в котором может изменяться в широких пределах (в типичном случае регистр триггеров призна- ков РгП содержит четыре разряда для хранения сигналов перепол- нения, знака, переноса и нулевого результата). Для системного управления кроме сигналов блока БМУС ис- пользуются также сигналы регистра кода состояния микропроцес- сора РгС. В микропроцессоре может быть один или несколько регистров результата РгР (накапливающих регистров или аккумуляторов). Блок универсальных регистров общего назначения БРгОН или ре- гистровое СОЗУ расширяет внутренние возможности микропроцес- сора по хранению данных и управляющей информации. Счетчик команд СчК, регистр команд РгК, блок индексных регистров БРгИ позволяют организовать последовательное программное управление, переходы в программе и индексирование команд. При этом сама индексация может происходить в АЛБ. С помощью схемы инкре- мента— декремента (схемы увеличения или уменьшения содержи- мого индексного регистра на единицу) содержимое индексных ре- гистров может изменяться на «проходе», т. е. при пересылке значения индекса из индексного регистра в АЛБ и обратно. Это экономит время работы АЛБ при индексации команд. Для работы с подпрограммами может быть организован стек. Если он расположен в ОЗУ, то достаточно иметь только регистр- указатель стека. В качестве последнего, а также счетчика команд СчК и индексных регистров могут быть использованы универсала ные регистры БРгОН, что позволяет программным способом гибко использовать регистровые ресурсы процессора и уменьшать общее количество элементов и связей в кристалле микропроцессора за счет исключения таких специализированных ресурсов микропроцессора, как регистр-указатель стека, БРгИ, СчК и др. Для ускорения обработки прерываний и перехода к подпрограм- мам стек может быть использован в специальных регистрах внутри кристалла микропроцессора. Но при этом глубина стека ограни- чена. Логическая структура микропроцессора с распределенными функциями. Она содержит операционный Л177ОП и индексный МПП блоки (рис. 3.9), включенные в конвейерную систему взаимодейст- вия. Такая структура дает возможность совместить операции, свя- занные с определением исполнительных адресов данных и команд, 66
организацией циклов и т. д., а также операции, выполняемые бло- ком МПп, с операциями содержательной обработки данных, выпол- няемыми блоком МПоп. Наличие четырех внутренних магистралей (данных Л4Д, команд МК, адресов данных МАД, адресов команд МАК) дает возможность распараллелить передачи информации в микропроцессоре, использовать асинхронный принцип передачи информации. В рассматриваемой системе одновременно выпол* няются операции приема команд, рандов, формирования адресов операндов и команд. Физически блоки микропроцессора (Л4/7ОП и МПи) могут быть реализованы на одном или разных кристаллах. По мере необходимости раз- дельные магистрали данных МД и команд МК с помощью внешних средств могут быть объединены в зависимости от количества ис- обработки подготовленных опе- Рис. 3.9. Логическая структура микропроцессора с распределенны- ми функциями пользуемых ОЗУ и типа блоков управления ими БМУ. Архитектурное расширение возможностей микропроцессорной системы с помощью внешних вспомогательных функциональных устройств. Микропроцессор с набором внешних расширяющих спе- циальных микропроцессоров для различной сложной обработки данных с точки зрения программиста рассматривается просто как один центральный процессор (ЦП) с большим набором команд. Фактически аппаратурные средства такого микропроцессора состо- ят из нескольких специализированных вспомогательных процессо- ров, подключенных к центральному процессору. Когда центральный процессор получает команду, которая долж- на выполняться вспомогательным процессором, он передает ему эту команду с соответствующими данными для выполнения. Если нужного вспомогательного процессора в системе нет, центральный процессор вырабатывает особое программное прерывание и пере- ходит на эмуляцию этой команды программным способом. Одно из достоинств такого подхода к применению вспомогательных про- цессоров в том, что пользователь может отрабатывать и начинать выпуск своей информационно-управляющей системы без них, ис- пользуя программные эмуляторы вместо недостающих специальных БИС. Затем, исключая программные эмуляторы и вводя вспомога- тельные процессоры © виде дополнительных БИС, можно получать системы более высокого быстродействия. Другое достоинство в том, что по мере совершенствования технологии и реализации возмож- ности выполнения расширяющих функций микропроцессора на од- ном кристалле не требуется вносить никаких изменений в програм- мное обеспечение модернизируемой при развитии системы при со- вершенствовании аппаратурных средств. 3* 67
Глава ОРГАНИЗАЦИЯ И ПРИМЕНЕНИЕ 4 МИКРОПРОЦЕССОРНЫХ СИСТЕМ ОБРАБОТКИ ДАННЫХ И УПРАВЛЕНИЯ § 4.1. Логическая структура микропроцессорной системы При проектировании систем контроля, управления или вычисле- ний на основе микропроцессора необходимо выяснить и описать функции, подлежащие выполнению в системе, а затем согласовать их с возможностями тех микропроцессоров, которые могут быть использованы в проектируемой системе. Реальная электронная система на основе микропроцессора со- держит значительное число функциональных устройств, одним из которых является микропроцессор. Все устройства системы имеют стандартный интерфейс и подключаются к единой информационной магистрали, как это показано на рис. 4.1. Микропроцессор в зависимости от требований, предъявляемых к системе, может быть устройством однокристальным или одно- платным, созданным на основе многокристального комплекта микропроцессорных БИС. В высокопроизводительных системах микропроцессор строится на основе биполярных микропроцессор- ных секций БИС. Микропроцессор выполняет в системе функции центрального устройства управления и устройства арифметическо-логического преобразования данных. В качестве устройства управления он ге- нерирует последовательности синхронизирующих и логических сиг- налов, которые определяют последовательности срабатывания всех логических устройств системы. Микропроцессор задает и последо- вательно осуществляет микрооперации извлечения команд програм- мы из памяти системы, их расшифровку и исполнение. Тип опера- ций микропроцессора определяется кодом операции в команде. В соответствии с этими кодами микропроцессор выполняет арифме- тические, логические или иные операции над числами, представлен- ными в двоичном или кодированном двоично-десятичном коде. Числа, подвергающиеся операционным преобразованиям в ариф- метическо-логическом блоке микропроцессора, называют операнда- ми. Операнд может быть одним из исходных чисел, результатом, константой или некоторым параметром. Операция в микропроцес- соре производится над одним или двумя операндами. Память микропроцессорной системы физически реализуется на основе различных запоминающих устройств. Технико-экономиче- ская целесообразность ведет к построению иерархической памяти на основе полупроводниковых постоянных и оперативных запоми- нающих устройств и магнитных внешних запоминающих устройств. 68
Полупроводниковые постоянные запоминающие устройства ПЗУ позволяют в процессе работы системы осуществлять только чтение заранее записанных данных. Они имеют высокую скорость работы и энергонезависимы, т. е. сохраняют информацию при выключении питания. Рис. 4.1. Логическая структура микропроцессорной системы Полупроводниковые оперативные запоминающие устройства ОЗУ работают в режимах оперативной (совпадающей с темпом работы микропроцессора) записи и чтения данных. Недостаток ОЗУ — их энергозависимость, т. е. потеря записанной информации при выключении питания. Память системы адресуема, т. е. каждое слово записывается в ячейке памяти со своим уникальным адресом. Слово — совокуп- ность двоичных единиц (бит) — двоичных разрядов, интерпретируе- мых как отдельное число или несколько смысловых групп двоичных разрядов. Для получения числа из памяти или записи числа в память необходимо точно задать его адрес в памяти и осуществить операцию считывания данных из памяти. Устройства ввода данных (УВв)—любые средства, предназна- ченные для передачи данных извне в регистры микропроцессора или в память (клавиатура пульта управления, ввод с перфолент и 69
перфокарт, внешние запоминающие устройства на магнитных лен- тах, кассетах, дисках, дисплеи и т. д.). Устройства вывода данных (УВвыв)—любые средства, способ- ные воспринимать данные, передаваемые из регистров микропро- цессора или ячеек памяти (дисплеи, печатающие устройства, внеш- ние запоминающие устройства, пульт управления и т. д.). Для подключения разнообразных устройств ввода или вывода данных (а также комбинированных устройств ввода — вывода) не- обходимо привести их все связи и сигналы к стандартному виду, т. е. провести согласование интерфейсов. Для этого используется специальный аппаратурный блок — информационный контроллер ИК, имеющий стандартный интерфейс со стороны подключения к информационной магистрали и нестандартный интерфейс со сторо- ны устройств ввода — вывода, т. е. являющийся преобразователем интерфейсных сопряжений. Микропроцессор МП, ОЗУ и ПЗУ вместе с УВвыв, предназна- ченными для операций с человеком или другой электронной систе- мой, называется микро-ЭВМ. Микро-ЭВМ — это ЭВМ, центральная часть которой в составе процессора, ОЗУ, ПЗУ, информационного контроллера построена на основе БИС. Применение БИС в качестве основных элементных компонентов обеспечивают микро-ЭВМ такие преимущества перед другими типами ЭВМ, как компактность, на- дежность, малая материалоемкость, низкая мощность потребления, низкая стоимость. Но магистральная структура микро-ЭВМ и ско- ростные ограничения микропроцессора определяют умеренные ха- рактеристики производительности микро-ЭВМ. Это относится к мицро-ЭВМ на основе микропроцессоров на одном или нескольких кристаллах. В микро-ЭВМ на основе биполярных микропроцессор- ных секций можно получить высокое быстродействие за счет реа- лизации конвейерной обработки данных и высокоэффективного скоростного управления вычислительным процессом даже при ма- гистральной структуре. Микро-ЭВМ становится центральной частью электронной си- стемы контроля, управления и вычислений, когда она вводится в контур управления некоторого объекта (процесса). Для сопряже- ния с микро-ЭВМ объект (процесс) должен быть оснащен датчи- ками состояния и исполнительными механизмами. Датчики высту- пают как источники вводимой для микро-ЭВМ информации, а ис- полнительные механизмы — как приемники выводимой информации. Для согласования интерфейсов подключение датчиков и исполни- тельных механизмов в системе осуществляется через блоки сопря- жения датчиков и исполнительных механизмов. В зависимости от особенностей объекта (процесса) и возмож- ностей микропроцессора сложность каждого устройства или блока устанавливается на этапе проектирования. Части системы могут развиваться или вырождаться, но должен быть обеспечен общий принцип построения и работы всех электронных систем управле* ния. Вследствие прямой зависимости между функциями програм1 мных и аппаратурных средств можно при построении электронной 70
системы развивать либо аппаратуру, либо усложнять программное обеспечение. Именно эти обстоятельства и определяют массовые возможности применения микропроцессорных систем управления практически во всех сферах. Логическая структура универсального программируемого конт- роллера. Контроллер (блок местного управления) необходим для управления аппаратами ввода — вывода информации (АВВ). Он обеспечивает электромеханическое и логическое сопряжения ин- формационного канала ЭВМ и частей АВВ, являющихся источни- ками или приемниками управляющей информации и данных, задает порядок следования, количество, электрические параметры, поло- жение во времени и направление прохождения информации между информационными каналами и АВВ. Основная задача контроллера заключается в обеспечении условий отпирания и запирания одиноч- ных вентилей или их групп, а также в запуске различного рода электрических двигателей, электромеханических переключателей, возбуждении соленоидов, приеме усиленных и сформированных раз- нообразных сигналов датчиков информации АВВ. При любых вариантах функционального разбиения системы на части аппаратурные средства блока сопряжения с УВВ либо интег- рируются со средствами БИС микропроцессора, либо выполняются отдельно в виде интерфейсной (интерфейсных) БИС. Контроллер можно выполнить жестким соединением между группами вентилей, триггеров и т. д. как цифровой автомат на ос- нове аппаратурной логики. Минимизация количества электронных элементов или корпусов интегральных схем, как правило, приводит к неупорядоченной электронной структуре, специализированной на конкретное применение. Изменение во временной диаграмме или введение новых сигналов в аппаратурном контроллере приводят к необходимости перепроектирования и переконструирования всего контроллера или его части. Универсальные программируемые контроллеры для широкого круга применений реализуются в виде однокристальных БИС или на основе секций микропроцессорных комплектов БИС. В таких контроллерах разнообразные временные диаграммы сигналов и их последовательности порождаются не распределением регуляр- ных сигналов тактовых генераторов путем проводных соединений, а преобразованием последовательностей команд (микрокоманд). Из-за гибкости программных и микропрограммных средств адапта- ция программируемого контроллера к конкретной области приме- нения осуществляется за счет перепрограммирования, не затраги- вающего аппаратурную реализацию контроллера или вызывающего только перезапись содержимого управляющих запоминающих устройств. Технико-экономические параметры интегральных схем с высо- :ой степенью интеграции элементов позволяют осуществлять управ- ение АВВ информации ЭВМ посредством электронных структур, юдобных структурам управляющих ЭВМ. При этом обеспечи- ваются: 1) функциональная гибкость за счет использования разви- 71
тых систем команд и построения разнообразных Сложных последо- вательностей сигналов на их основе с возможностью учета реакции системы на выдаваемые сигналы; 2) использование распределенных методов управления в иерархических управляющих системах, когда оптимизация процесса преобразования информации ведется на ление осуществляется встроенным контроллером, воспринимающим и интерпретирующим как состояние АВВ, так и управляющие сиг- налы средств более высокого уровня управления; 3) простота спе- циализации и модификации устройства управления АВВ. Алгоритм управления определенным типом АВВ задается одно- значно и в виде программы может быть записан в ПЗУ. Таким образом, программируемый контроллер в процессе работы много- кратно может использовать одну и ту же программу, получая с более высокого уровня управления исходные данные и задания и функционируя автономно, независимо и параллельно с работой средств более высокого уровня. Логическая структура универсального программируемого конт- роллера приведена на рис. 4.2. Контроллер имеет магистральную структуру. Управление АВВ обеспечивают микропроцессор МП, микроконтроллер или микро-ЭВМ, выполненная на одном кристал- ле. Если аппаратурных возможностей микропроцессора МП недо- статочно, то к магистралям подключаются расширяющие ОЗУ и ПЗУ; поле памяти этих устройств может управляться дополнитель- ным контроллером. Однако в отличие от ми^ро-ЭВМ в контроллере системные функции расширяющих ОЗУ и ПЗУ развиты очень слабо и поэтому для управления ими достаточно простейших аппаратур- 72
них средств, обычно закладываемых в кристаллы БИС ОЗУ и ПЗУ. Узлы программируемого интерфейса У ПИ и узлы сопряжения УС с пультом управления ПУ и АВВ имеют модульную структуру, что позволяет наращивать их при усложнении АВВ и увеличении их числа. Контроллер работает по жестко заданной, заранее отрабо- танной и введенной в него программе. Во время работы контролле- ра нет необходимости в его взаимодействии с человеком. Рис. 4.3. Обобщенная логическая структура микро-ЭВМ с микропроцессорными контроллерами Узлы программируемого интерфейса УПИ дают возможность учесть специфику АВВ и осуществить переход от внутрисистемного интерфейса информационной магистрали к интерфейсу разнообраз- ных АВВ. Специализация шин управления АВВ обеспечивается по- дачей сигналов при выполнении определенной последовательности команд микропроцессора МП; их число зависит от числа узлов программируемого интерфейса УПИ. Логическая структура развитой микропроцессорной системы. На рис. 4.3 показана логическая структура микро-ЭВМ, в которой в качестве всех управляющих блоков устройств ЭВМ используются программируемые контроллеры, например контроллер системного пульта управления КСПУ. Он используется для работы с системным пультом управления СПУ. Все аппараты ввода — вывода управ- ляются контроллерами устройств ввода — вывода КУВВ или труп- повыми контроллерами устройств ввода — вывода ГрКУВВ. Опера- тивное ОЗУ и постоянные запоминающие устройства ПЗУ управ- ляются с помощью соответствующих контроллеров КОЗУ, КПЗУ. При такой организации ЭВМ центральный процессор ЦП обеспечи- вает программируемые контроллеры только управляющей инфор- мацией высокого уровня, детализируемой контроллером. Поэтому количество управляющей информации на информационной ма- гистрали системы резко уменьшается, что позволяет увеличить скорость передачи данных. По существу, в этой схеме приведена 4—534 73
многопроцессорная вычислительная система, в которой в пределе контроллер имеет те же возможности, что и центральный процес- сор. Низкая стоимость и высокая надежность БИС позволяют для достижения желаемых параметров ввести распределенное управле- ние и распределенную обработку во всех подсистемах вычислитель- ной системы, что определяет новые способы организации вычисли- тельных процессов в системах с децентрализованными управлением и обработкой информации. § 4.2. Интерфейс микропроцессоров Для включения микропроцессора в любую микропроцессорную систему необходимо установить единые принципы и средства его сопряжения с остальными устройст- вами системы, т. е. унифицирован- ный интерфейс. Унифицированный интерфейс — совокупность правил, устанавливаю- щих единые принципы взаимодейст- вия устройств микропроцессорной системы. В состав интерфейса вхо- дят аппаратурные средства соедине- ния устройств (разъемы и связи), Рис. 4.4. Схема интерфейсных связей микропроцессора номенклатура и характер связей, программные средства, описы- вающие характер сигналов интерфейса и их временною диаграмму, а также описание электрофизических параметров сигналов. На рис. 4.4 представлена общая схема взаимодействия микро- процессора МП с устройствами ввода — вывода УВВ и ОЗУ в микропроцессорной системе. Связь МП с УВВ требует пяти групп связи, обеспечиваемых через выводы корпуса. По группе шин 1 передается код выбора (адреса) устройства, по шине 2—сигнал управления считываем — записью, по шине 3—сигнал запроса на прерывания, шины 4 и 5 используются для передачи данных от про- цессора к УВВ и от УВВ к МП. Связь МП с ОЗУ также содержит пять групп связей, которые необходимо обеспечить через выводы корпуса МП. По группе шин 6 передается адрес в ОЗУ, шина 7 ис- пользуется для управления чтением/записью, по сигналам на шине 8 принимаются команды в процессор, а шины 9 и 10 используются для передачи данных из ОЗУ в МП и обратно. Информационные магистрали. При проектировании БИС и уст- ройств на их основе необходимо принимать во внимание сложность выполнения разветвленных связей между различными узлами (бло- ками) и устройствами. Поэтому практически реализованы и полу- чили широкое распространение магистральные структуры связей, к которым подключены входы и выходы электронных узлов (блоков). Информационная магистраль (МИ) представляет собой совокуп- ность проводников (шин) или кабелей, физические свойства которых обеспечивают передачу высокочастотных информационных сигна- 74
Дз' Дд Рис. 4.5. Схема магистральных связей трех регистров данных лов. Электронные узлы (блоки), подключаемые к информационной магистрали, должны обладать определенными свойствами, иначе возможно образование короткозамкнутых связей или низкоомных нагрузок. Рассмотрим пример передачи данных в системе трех 4-разрядных синхронизируемых регистров с информационными ма- гистральными связями, позво- ляющий определить общие зако- номерности построения подобных структур (рис. 4.5). Входные сигналы записи дан- ных Ло—А3 передаются в регистр и вызывают црабатывание триг- геров только на переднем фронте сигнала синхронизации при нали- чии управляющего сигнала «Раз- решение записи» РЗп. Если сиг- нал РЗп=0, то сигналы входных данных не проходят на входы триггеров и поэтому не могут из- менить состояние регистра. Вход- ные сопротивления для информа- ционных входов Ai при этом ста- новятся достаточно большими, их параллельное подключение к ши- нам магистрали данных не ведет к каким-либо проблемам. Выходные информационные сигналы Qo—Q3 в рассматривае- мых схемах формируются с по- мощью управляемых трехуровне- вых каскадов, вырабатывающих выходные сигналы логических состояний «О», «1» и «Выключе- но». Управление выходными кас- кадами триггеров регистра осу- ществляется сигналом «Разреше- ние выдачи» РВ. При запрете вы- дачи выходных состояний (РВ = = 0) выходные каскады перево- дятся в режим с высоким выходным сопротивлением. Поэтому па- раллельное подключение выходных выводов регистров к шинам информационной магистрали также не порождает проблем. Сброс триггеров регистров происходит импульсом синхрониза- ции при подаче сигнала «Разрешение установки 0» (РУ«0»). В рассматриваемой схеме разрешена только лишь последова- тельная передача информационных сигналов. Поэтому, несмотря на то что все входы регистров подключены к шинам магистрали и про- ходящие по магистрали сигналы поступают на входные каскады всех регистров, запись осуществляется только в один регистр уп- 4* 75
равляющим сигналом Р3п=\ (принципиальных ограничений на од- новременную запись одной и той же информации в несколько регист- ров нет). Однозначность инфqpмaциoнныx сигналов на магистрали при выдаче информации из регистров обеспечивается подачей толь- ко одного управляющего сигнала РВ=\. Управляющие сигналы РВ = 0 других регистров обеспечивают эффективную электрическую изоляцию их выходных каскадов от шин информационных магист- ралей. Операция передачи данных «регистр—регистр» осуществляется следующим образом. Рассмотрим таблицу истинности (табл. 4.1) регистров с трехуровневыми выходными состояниями. Таблица 4.) РЗп РВ ру «о> Выходное состояние 0 1 1 Qo=Qi = Q2 = Qs=^ 1 1 0 Qi=Ai (на заднем фронте С) 0 1 0 Режим хранения (сигналы С не дей* ствуют) 0 0 0 «Отключено» Примечание. Знаком 0 отмечены сигналы, которые могут принимать значение либо «0>, либо «1> и не влияют на выполнение тех функций регистром, которые определе- ны другими управляющими сигналами. Используя таблицу истинности, определим условия передачи со- стояния регистра данных РгД\ в регистр данных РгД3 (в условной записи [РгД1]->{РгДз]): РЗп1 = 0, PBi = 0 РЗп2 = 0, РВ2 = 0 РЗп3 = 1, РВ3 = О [РгДг] - [РгД3]. После установки уровней управляющих сигналов передача ин- формационного состояния происходит по импульсу синхронизации. При увеличении числа регистров (или иных электронных бло- ков), подключенных к магистрали, правильность работы схемы не нарушается, если соблюдены правила проектирования регистров и схем управления ими. Единая инфдрмационная магистраль микропроцессорной систе- мы связывает между собой все устройства и функционально со- стоит из информационных магистралей, адресов, данных и сигналов управления. Магистраль адресов. В простой микропроцессорной системе только микропроцессор может вырабатывать адреса передаваемой в системе информации. Поэтому магистраль адресов (МА) — одно- направленная: микропроцессор генерирует сигналы кода адреса, а остальные устройства, подключенные к МА, только могут воспри- 76
нимать их, выполняя непрерывно микрооперацию опознания кода адреса. Количество шин магистрали адресов совпадает с разрядностью передаваемого кода адреса. Если используется 16-разрядный код, то в системе разрешается выработка 216 = 65 536 адресов. Они могут все относиться к адресам ячеек памяти или к адресам ячеек памяти и адресам регистров данных устройств ввода — вывода. Магистраль данных. Микропроцессор, а также ОЗУ, ВЗУ, дисп- леи могут воспринимать или передавать данные. Другие устройст- ва могут либо только принимать данные, например устройство пе- чати, либо только выдавать их, например ПЗУ. Чтобы обеспечить все возможности системы, магистраль данных (МД) является двунаправленной. Ее разрядность определяется раз- рядностью микропроцессора и равна 2, 4, 8, 16, 32 бит. Если в микропроцессоре обрабатываются данные по программам двойной разрядности, то двойное слово пересылается за два цикла, т. е. имеет место временное мультиплексирование (оно также при- менялось в нескольких первых микропроцессорах, когда использо- валась общая магистраль адресов данных). Магистраль управления. Микропроцессор и некоторые шины устройств ввода — вывода генерируют управляющие сигналы, предназначенные для синхронизации и определения операций устройств. Эти сигналы передаются по совокупности однонаправ- ленных шин, в целом образующих магистраль сигналов управления (МУ). Все сигналы управления в электронной системе согласованы с системными сигналами синхронизации. Эти сигналы задают нача- ло и последовательность срабатывания как различных устройств системы, так и различных блоков и узлов внутри всех кристаллов БИС. Для задания главной последовательности синхронизирующих импульсов, как правило, применяется внешний кварц или генератор на его основе. Выдаваемые микропроцессором сигналы синхрони- зации бывают однофазными, реже двухфазными. Каждый микропроцессор имеет уникальную систему сигналов управления. Поэтому конкретное описание всех шин МУ, так же как и цоколевки выводов корпуса, дается в технической документации на конкретный микропроцессор. Тем не менее практически все микропроцессоры имеют общие сигналы. Среди них — сигнал «Сброс»—входной сигнал, вырабатываемый на пульте управления системы. Он приводит к сбросу всех внутренних регистров микро- процессора и загрузке счетчика команд — узла, определяющего последовательность выполнения команд программы, начальным значением адреса, где записана первая команда программы. Важнейшая управляющая функция микропроцессора — опреде- ление потоков данных в системе. Микропроцессор вызывает слова команд из памяти в процессе их чтения, обращается в память за операндами или к внешним устройствам за новыми данными, может записать результат операции в память или, сформировав массив данных, определить необходимость их вывода на внешние устрой- ства. Когда микропроцессор посылает данные какому-то устройст- 77
ву, он выполняет операцию записи данных, а когда получат данные от какого-то устройства, то считывает данные из его информацион- ного регистра и выполняет операцию чтения данных. Чтобы задать направление передачи данных по МД, микропроцессор генерирует сигналы «Чтение/запись», передаваемые по одной из шин МУ. Специфика устройств ввода — вывода данных такова, что инфор- мация может быть потеряна, если микропроцессор своевременно не осуществит операцию с устройством. Поэтому эти устройства гене- рируют сигналы «Запрос прерывания процессора», обращающие вни- мание микропроцессора на состояние готовности (или неисправно- сти). Микропроцессор имеет вход для приема по крайней мере од- ного сигнала «Запрос прерывания процессора». Если же запрос принимается, то МП информирует систему, вырабатывая ответный сигнал «Запрос прерывания удовлетворен». Разная скорость работы устройств ввода — вывода и микропро- цессора порождает необходимость приостановки процессора на время подготовки данных во внешнем устройстве. Поэтому режим работы ожидание микропроцессора определяется внешним сигналом «Данные подготовлены (данные не подготовлены)». Всего в МУ передается до десятка и более разнообразных сигналов управле- ния. § 4.3. Логическая структура микропроцессорной системы на основе комплекта БИС секционного микропроцессора Комплект БИС секционного микропроцессора. Вследствие малой разрядности секций микропроцессоров и определенности функцио- нального наполнения их реализуют, как правило, в виде биполяр- ных БИС в корпусе с 42—64 выводами. Большое количество выво- дов корпуса одной секции БИС и внутренняя логическая структура секции микропроцессора обеспечивают построение микро-ЭВМ раз- личной разрядности с наращиваемым числом входов прерываний, различным количеством подключаемых УВВ и т. д. В состав комплекта БИС секционного микропроцессора входит значительное число секций. Рассмотрим наиболее важные из них. Секции арифметическо-логических БИС используются для по- строения операционных блоков обработки информации. Они вклю- чают в себя несколько разрядов арифметическо-логического блока, управляющих регистров, СОЗУ и узлов связи с информационными магистралями. Секции БИС опережающего параллельного переноса позволяют объединить арифметическо-логические секции в высоко- скоростные блоки обработки информации за счет создания пира- мидальных схем ускоренного переноса. Секции БИС для задания последовательности микрокоманд, при- меняемые для построения блоков микропрограммного управления, дают возможность вырабатывать выходной код в зависимости от внешнего управляющего кода, кода состояния процессора, содержи- мого счетчика микрокоманд или содержимого внутреннего стека, а также внутреннего состояния самой секции. 78
При микропрограммном управлении каждой команде соответст- вует микропрограмма — последовательность микрокоманд, выпол- нение которых приводит к выполнению операций, заданных коман- дой. Микрокоманда управляет выполнением одной или нескольких микроопераций. БИС микропрограммного управления на основе программируе- мой логической матрицы (ПЛМ). Схема ПЛМ приведена на рис. 4.6, она содержит логическую матрицу адресов И и логическую матрицу данных ИЛИ, с помощью которых осуществляется преоб- кода в m-разрядный' выходной разование входного п-разрядного код. Матрицы данных ПЗУ и ПЛМ совпадают. Различие ПЗУ и ПЛМ существует только между матрицами адресов или дешифра- торами адресов. При построении дешифратора адресов ПЗУ обязательна поста- новка коммутирующих элементов хг У/ У1 Уз Уп Рис. 4.6. Структура программиру- емой логической матрицы между входными шинами и ши- нами переходных функций. Поэтому в дешифраторе каждой комби- ции входных сигналов соответствует одна и только одна переход- ная функция. Всего переходных функций 2П. В ПЛМ коммутирую- щие элементы для ряда входных переменных могут отсутствовать. Поэтому некоторые переменные не влияют на выбор переходной функции. Число переходных функций ПЛМ 0</^2п. На практике получили распространение ПЛМ с многоразрядны- ми адресами, для которых число входных переменных равно 16, 24 разрядам и более. ПЗУ и ПЛМ различаются по системе адресации информационного поля данных, распределению информационных полей, возможности одновременного опроса нескольких переходных функций. Так как в ПЛМ осуществляется избыточная свободная адресация, а в ПЗУ — жесткая неизбыточная адресация, то в ПЛМ большому количеству входных комбинаций адресов соответствует малое количество адресуемых переходных функций. Разные адреса могут определять одну и ту же переходную функцию или не опре- делять ни одну из переходных функций. Кроме того, возможны варианты, когда один адрес определяет более одной переходной функции. Специфика внутреннего распределения информационных полей в ПЛМ заключается в том, что посредством двух (или более) раз- личных адресов можно адресовать одну и ту же область данных матрицы, что позволяет обращаться к микропрограммам по различ- ным адресам. Следовательно, появляется возможность микропро- граммного перехода к микроподпрограммам из различных текущих условий без выполнения специальных микрокоманд перехода. Эта особенность адресации определяется наличием безразличных раз- рядов в коде адреса. Одновременность выбора двух (и более) выходных информа- ционных слов и объединение их по ИЛИ на выходе ПЛМ опреде- 79
ляются возможностью адресации различных переходных функций одним адресом. При этом сохраняется выбор каждого информа- ционного слова своим специфичным адресом. Жесткая неизбыточ- н.ая адресация ПЗУ позволяет иметь однозначное соответствие ад- ресов и слов в информационном поле данных. Рис.4.7. Схема БИС микропрограммного управления на основе программи- руемой логической матрицы Обычная ПЛМ— комбинационная логическая схема. Чтобы построить микропрограммный последовательностный автомат, не- обходимы регистры на входах и выходах ПЛМ и обратная связь для задания закона выработки последовательностных состояний. Встраивание входных и выходных регистров в блок управления с ПЛМ обеспечивает автономную функциональную законченность БИС. Управление приемом и выдачей информационных состояний регистров позволяет использовать такую БИС в любой асинхрон- ной (а также синхронной) микро-ЭВМ и снимает проблему «гонок» («состязаний»). Схема БИС микропрограммного управления вертикального типа с инфдрмационным полем на основе ПЛМ приведена на рис. 4.7. Она содержит ПЛМ, регистр команд РгК, регистр состояния 80
системы РгС, регистр следующего адреса микрокоманды РгАМК, буферный регистр следующего адреса микрокоманды БРгАМК, ре- гистр внутренних состояний блока микропрограммного управления РгСМУ, выходной регистр микрокоманд РгМК, а также узел мест- ного управления и синхронизации УМУиС. В качестве входной ин- формации в ПЛМ подаются код команды (например, 16-разряд- ный), код следующего адреса (например, 4-разрядный) и несколько! разрядов кода состояния системы, определяющих формирование условий переходов в микропрограммах и обработку сигналов пре- рывания. Выходной код ПЛМ обычно содержит 20—30 разрядов, посколь- ку микрокоманды большей разрядности требуют использования корпусов БИС с большим количеством выводов. Часть выходных сигналов ПЛМ не выводится из БИС. Код следующего адреса микрокоманды записывается в регистр БРгАМК, а затем передается в регистр РгАМК. Сигналы с регистра РгСМУ делятся на две груп- пы, одна из которых передается внутри БИС в УМУиС, а вторая через контакты корпуса выводится из БИС и используется блоком БцУиС. В каждом машинном такте микрокоманда выдается на информационную магистраль микрокоманд ИММК, а в РгАМК заносится некоторый код, определяющий вместе с командами РгС и РгСМУ адрес следующей команды. Свойство одновременности выбора нескольких выходных адрес- ных шин ПЛМ увеличить информационную насыщенность ПЛМ по сравнению с ПЗУ позволяет выиграть в 3—10 раз в количестве используемых элементов для построения информационных полей БИС. Секции БИС приоритетного векторного прерывания включают в себя регистры приема внешних сигналов запросов прерывания, кода маскирования состояния, приоритетный шифратор, узел формиро- вания кода приоритетного вектора, блоки местного микропрограм- много управления и управления информационными магистралями. Секции БИС триггерных регистров широкого назначения исполь- зуются для организации разнообразных буферов хранения цифро- вой информации. Секции БИС приемопередатчиков информации (с контролем правильности передачи или без него) содержат буферные регистры для хранения входной и выходной информации, усилители для ра- боты на внешние информационные магистрали (как правило, с тремя внутренними состояниями «Включено», «Выключено», «От- ключено»). Комплект БИС для построения электронной системы. В состав всех комплектов БИС (в том числе и секционных) входят БИС, ОЗУ, ПЗУ, программируемого ПЗУ или ППЗУ, ПЛМ, программи- руемой ПЛМ или ППЛМ, имеющие разнообразную организацию информационных полей и управляющие интерфейсной логикой. Они позволяют создавать наращиваемые поля оперативной, постоянной и микропрограммной памяти, работать с прямыми и интерфейсными 81
информационными сигналами, строить многовходовые системы ад- ресной выборки, цепи контроля передаваемой и хранимой инфор- мации и т. д. Логическая структура микропроцессора на основе комплекта БИС секционного микропроцессора. Развитая внутренняя структура секционных комплектов БИС микропроцессора обеспечивает воз- можность построения высоко- производительных средств эф- фективной эмуляции развитых микро-ЭВМ и позволяет созда- вать гибкие эффективные систе- мы с адаптацией к области применения. Обобщенная схема процес- сора на основе секционного комплекта БИС приведена на рис. 4.8. В основу процессора положены секции микропроцес- соров МП и секции ускоренного опережающего переноса *. Для построения интерфейсных схем применены секции приемопере- датчиков сигналов ППС, позво- ляющие организовать двуна- правленные магистрали дан- Рис. 4.8. Обобщенная схема микропро- ных, адресов и сигналов управ- цессора на основе БИС секционного ления. Блок микропрограммно- микропроцессора г0 управления строится на ос- нове ПЗУ или ППЗУ, а также БИС выработки последовательности управляющих сигналов. По- следние применяются в качестве блока управления микрокоманда- ми БУМД. Для управления приоритетными векторными прерыва- ниями используются соответствующие секции БИС ПВП для пост- роения регистров — секции БИС регистров универсального назна- чения. Блок местного управления БМУ управляет всей системой. Поскольку секции микропроцессора имеют некоторый набор ра- бочих регистров общего назначения, любые из них могут быть вы- делены в качестве счетчика команд, регистра-указателя стека или других рабочих и управляющих регистров. Рассмотрим взаимодействие основных блоков процессора. Команда извлекается из ОЗУ и по магистрали данных МД пере- дается в регистр команд РгК. Код команды поступает через блок адресации БА в блок управления микрокомандами БУМК., чтобы преобразовать его в первый адрес микрокоманды в запоминающем устройстве микрокоманд ЗУМ К. Затем выполняется несколько * Рассматриваемые микропроцессоры могут быть построены на основе мик- ропроцессорных комплектов серий КР&82, К583, КР584, К589, К1800, КР1802, КР1804, U83—К1883. 82
микроопераций для поиска данных в ОЗУ и передачи их в микро- процессор МП, выполнения операций в арифметическо-логическом блоке, контроля переполнения и запросов на прерывание и т. д. Выходной код с ЗУМК является микрокомандой, обычно содер- жащей около 40 разрядов, например 9 разрядов для определения операции арифметическо-логического блока, 8 разрядов для адре- сации двух исходных операндов СОЗУ; остальные разряды — для сигналов выдачи выходных результатов, управления ОЗУ, приемо- передатчиками, стеком и т. д. Наличие регистра микрокоманд РгМК дает возможность органи- зовать конвейерную работу процессора. Пусть в регистре РгМК. со- держится код 1 выполняемой микрокоманды. Поле микрокоманды, управляющее последовательностью микрокоманд, анализируется блоком местного управления процессора ЕМУ Пр и направляется в виде управляющих сигналов 2 в БУМК для определения адреса сле- дующей микрокоманды. Адрес микрокоманды в виде сигналов 3 посылается в ЗУМК и новая микрокоманда поступает на выход РгМК. Микропроцессор параллельно выполняет ранее полученную микрокоманду, поскольку на реализацию микрокоманд 1—4 тре- буется всего лишь один цикл работы процессора. За это время микропроцессор должен пройти состояния до 5 включительно, т. е. кроме выполнения действий внутри микропроцессора должен быть передан в регистр состояния РгС код состояния процессоров. Если он не вызывает ветвления в микропрограмме, что определяет БМУПр по сигналам 6 от регистра РгС, то начинает выполняться следующая микрокоманда, уже подготовленная в РгМК. Таким образом, наличие РгМК дает возможность извлекать следующую микрокоманду параллельно с работой микропроцессора МП, что удваивает скорость работы процессора из-за исключения последо- вательной работы его операционной и управляющей частей. Типичная команда в ЭВМ имеет такую последовательность ис- полнения отдельных тактов в процессе интерпретации: выборка команды; дешифрирование кода операции; выборка базового ад- реса; формирование исполнительного адреса; выборка операнда из ОЗУ; выполнение операции над операндом и содержимым рабочего регистра или регистра результата; засылка результата на хранение в регистр результата или рабочий регистр. Во время исполнения такой команды необходимы три обращения к ОЗУ. Высокой пропускной способности микропроцессора позволяет достичь метод перекрытия (поточный или конвейерный) путем па- раллельных действий над потоком команд во времени по отдельным фазам их исполнения. Вышеприведенная последовательность шести тактов выполнения команды при поточном исполнении сокращает кажущееся время выполнения команд до трех тактов. При этом достигается максимально эффективное использование ресурсов ОЗУ, поскольку обращение к нему осуществляется в течение каж- дого такта. Для простейшего перекрытия процесса выполнения двух команд 83
необходим доступ к информационным полям команды, что требует отдельного регистра команд. Код команды заносится в этот регистр из буферного регистра команд ОЗУ, в который он поступил в пре- дыдущем такте выборки команды из ОЗУ. На время выполнения микропроцессором операции необходимо хранить операнд следую- щей команды в буферном регистре данных. Выбранный из ОЗУ базовый адрес помещается в выходной информационный регистр. Во время исполнения данной команды надо обеспечить единичное приращение содержимого счетчика команд. Поскольку арифмети- ческо-логическое устройство занято выполнением операций, необ- ходимо предусмотреть отдельный сумматор или инкрементный блок для единичного увеличения кода адреса команды. Микро-ЭВМ на основе секционного комплекта биполярных БИС например серии К1800, может иметь 16—32-разрядную сетку, 8— 64-уровневую приоритетную систему прерывания (цикл 100— 200 нс). Это позволяет ЭВМ выполнять операции типа сложения за 100—200 нс, а операцию умножения четырехбайтовых слов — за 4—16 мкс. Система команд обеспечивает выполнение 100—150 опе- раций, использующих 8—16 режимов адресации информации. § 4.4. Области применения микропроцессорных вычислительных средств При проектировании микро-ЭВМ необходимо обеспечивать: простое наращивание разрядности и производительности; возмож- ность широкого распараллеливания вычислительного процесса; эф- фективную обработку алгоритмов решения различных задач; про- стоту технической и математической эксплуатации. Сама микро-ЭВМ, будучи оснащенной разнообразными устрой- ствами ввода — вывода информации, может использоваться в ка- честве законченного изделия. Однако часто к микро-ЭВМ необхо- димо кроме устройств ввода — вывода информации подключить сигналы от множества датчиков и исполнительных механизмов ка- кого-либо сложного объекта управления или технологического про- цесса. В этом случае уже образуется сложная управляющая систе- ма, центром которой является микро-ЭВМ. В управляющих системах используются отдельные микро-ЭВМ, расширенные микро-ЭВМ (за счет наращивания числа микропро- цессоров для увеличения разрядности) и системы микро-ЭВМ, обра- зующие вычислительные сети с параметрами, близкими к парамет- рам развитых мини-ЭВМ. Микропроцессоры и микро-ЭВМ используются в тестовых и контрольно-измерительных системах; системах управления техно- логическими процессами; программного управления станками; контроля состояния линий связи; подсистемах первичной обработки информации в управляющих системах промышленного назначения и системах автоматизации научного эксперимента; подсистемах уп- равления периферийным оборудованием вычислительных систем и комплексов; специализированных вычислительных устройствах. 44
Дешевые микропроцессоры применяют в часах, калькуляторах, кино- и фотокамерах, радиоприемниках и телевизорах. Микропро- цессоры (например, однокристальные микропроцессоры серии К580) ставятся в замки и звонки, домашние приборы и устройства. Более дорогие микропроцессоры успешно конкурируют с меха- ническими и электромеханическими блоками управления «жест- кой», или «аппаратурной», логики. Микропроцессоры и микроконтроллеры находят применение для регулирования среды в домашних аквариумах и больших водоемах: они осуществляют контроль pH среды, температуры, плотности, содержания кислорода; управляют освещением, подогревом, уров- нем воды, дозированием корма и биологических добавок, произво- дят фильтрацию и аэрацию и т. д. Возьмем, например, обычный и широко распространенный меха- нический инструмент — электрическую дрель. Встроенный в нее микропроцессор позволяет учитывать сопротивление сверлению и автоматически изменять частоту вращения в зависимости от твердости обрабатываемого материала. При использовании дрели для завинчивания винтов и гаек микропроцессор выключает пита- ние электромотора до окончания операции, завершаемой за счет инерции. Встраивание микропроцессора, например серии К580, в пишу- щую машинку позволяет обрабатывать текст и запоминать его в памяти. Обработка текста представляет собой развитые операции редактирования от исправления слов и расстановки абзацев до вставки нового текста и формирования фраз из уже написанных словосочетаний. Затем запомненный текст может быть автоматиче- ски многократно и безошибочно отпечатан. Подключение внешней памяти на магнитной кассете (ленте, диске) к такой пишущей ма- шинке с микропроцессорным управлением позволяет накапливать архив документов. Это позволяет осуществить в такой системе функции поиска документов по признакам, сортировку документов, ведение архива и т. д. Бурно развивается производство электронных игр с использо- ванием микропроцессоров и микроконтроллеров. Оно порождает не только интересные средства развлечения, но и дает возможность проверить и развить приемы логических заключений, ловкость и скорость реакции. Игры с телевизионным индикатором или без него обеспечивают выполнение сложных функций вследствие применения логически более мощных, но доступных по стоимости микропро- цессоров. Микропроцессор может выполнять важнейшие функции в авто- мобилях всех типов. Водитель может вызвать из микро-ЭВМ на индикатор числовые значения скорости, уровня топлива, средний и текущий расход топлива на единицу пройденного пути, время прибытия в заданный пункт при определенных водителем усло- виях, температуру двигателя и т. д. Ведутся исследования по при- менению микропроцессорных средств для управления двигателем (подача топлива, зажигание, регулирование частоты вращения, эф- 85
фективность и контроль отходов при сгорании топлива); управления ходовой частью (управление скоростью и тормозной системой, учет влияния нагрузок и рельефа дорог); управления безопасностью движения (снижение требований к водителю и учет обстановки на дороге); управления комфортом в кабине (салоне). На основе микропроцессоров серии К587 разработан прибор для контроля психофизического состояния человека типа «Тонус НЦ-01». Микропроцессоры эффективно используются в дисплеях, экран- ных пультах и терминалах, где на них возложены функции редакти- рования данных, управления, генерации символов и хранения и воспроизведения изображений. Микропроцессоры и микро-ЭВМ берут на себя функции предва- рительной обработки информации внешних устройств, преобразо- вания форматов данных, контроллеров электромеханических внеш- них устройств. Для этих целей применяют микропроцессоры серий К580, К536, К1801. Использование микропроцессоров в аппаратуре связи дает воз- можность производить контроль ошибок, кодирование — декодиро- вание информации и управлять приемопередающими устройствами. Применение микропроцессоров позволит в несколько раз сократить необходимую ширину телевизионного и телефонного каналов, соз- дать новое поколение оборудования связи. Для этих целей приме- няются микропроцессорные средства на основе микро-ЭВМ типа «Электроника С5», «Электроника НЦ-32» и др. Использование микропроцессоров в контрольно-измерительных приборах и в качестве контрольных средств радиоэлектронных си- стем дает возможность проводить калибровку, испытание и поверку приборов; коррекцию и температурную компенсацию; контроль и управление измерительными комплексами; преобразование и об- работку, индикацию и представление данных; диагностику и лока- лизацию неисправностей. Применение микро-ЭВМ типа «Электро- ника С5» позволяет успешно обрабатывать данные измерений. Микропроцессорные средства решают сложную техническую проблему разработки различных систем сбора и обработки инфор- мации, где общие функции сводятся к передаче множества сигналов в один центр для оценки и принятия решения. Например, в меди- цине для круглосуточного контроля состояния тяжелобольных необходимо периодически замерять кровяное давление, частоту биения сердца и дыхания, параметры электрокардиограмм и т. д. Централизованная система на основе большой или мини-ЭВМ для этих целей получается громоздкой и достаточно дорогой. Распре- деленная диагностическая система на основе микропроцессора имеет высокую живучесть, проста по организации и позволяет по- лучить хорошие экономические показатели. Микропроцессорные распределенные системы на основе микро-ЭВМ типа «Электро- ника-60» решают успешно эти задачи. Обобщая примеры применения микропроцессоров, можно выде- лить четыре основных направления в применении микропроцессоров 86
и микропроцессорных систем: 1) встроенные системы контроля и управления; 2) локальные системы накопления и обработки инфор- мации; 3) распределение системы управления сложными объектами; 4) распределенные высокопроизводительные системы параллельных вычислений. Встроенные системы контроля и управления. Встраивание, т. е. постановка микропроцессора в любую, даже простейшую схему (пульт) управления, принципиально изменяет качество функциони- рования отдельных инструментов, приборов, разнообразных уст- ройств, отдельных агрегатов технологической линии и т. д. Встраи- вание микропроцессора позволяет оптимизировать режимы работы управляемых объектов или процессов и за счет этого получать и Прямой и косвенный технико-экономический эффект. Прямой тех- нико-экономический эффект выражается в экономии потребляемой энергии, повышении чрока службы и снижении расхода сверл, фрез, нагревательных элементов и т. д. Косвенный технико-экономический эффект связан со снижением требований к обслуживающему пер- соналу и повышением производительности. Опыт показывает, что Практически во всех случаях встраивания микропроцессора только экономия электроэнергии обеспечивает окупаемость микропроцес- сорного управления за 1—1,5 года. Управление оборудованием на основе встроенных систем кон- троля и управления создает реальные предпосылки осуществления полностью автоматизированных производств. Встраивание микро- процессора повышает качество работы и производительность обору- дования, существенно снижает требования к персоналу, работаю- щему на оборудовании. Цифровое управление отдельными единицами оборудования позволяет легко собирать информацию (или вызвать ее) с нижних контуров на верхние уровни иерархиче- ской системы управления. Управляющие встроенные микропроцессоры предназначены для решения локальных задач управления объектами и могут выпол- нять функции контроллеров устройств, подключаемых к ЭВМ, более высоких контуров управления или быть центром управляющих си- стем нижних контуров управления. Микропроцессоры, встраиваемые в оборудование, в большинстве случаев не комплектуются внешними устройствами и содержат толь- ко упрощенный специализированный пульт управления и ПЗУ управляющих программ. Лишь для некоторых применений, требую- щих частой замены управляющих программ, необходим загрузчик, выполненный на основе простейших технических средств. Локальные системы накопления и обработки информации. Для любого специалиста или руководителя необходимо всегда иметь «под рукой» достаточно большой объем специфичной информации. Сегодня эта информация доступна лишь в библиотеке, записной книжке или на экране терминала, подключенного к большой ЭВМ. Последнее средство является наиболее приемлемым, но дорогостоя- щим и имеющим большие ограничения из-за чрезмерной центра- лизации информации. Локальные, т. е. расположенные на рабочем 87
месте, микропроцессорные системы накопления и обработки инфор- мации технически просто и экономически доступно осуществляют информационное обеспечение специалистов и руководителей, инже- неров и врачей. Объединение локальных систем между собой в сеть и дистанционное подключение этой сети к большой ЭВМ с громад- ным информационным архивом позволяют создать завершенную автоматизированную систему информационного обеспечения. Внешние устройства локальных вычислительных систем могут встраиваться в корпус микро-ЭВМ. Их комплект содержит устрой- ства, минимально необходимые для вычислительных работ и обра- ботки данных: цифровую, алфавитно-цифровую и функциональную клавиатуру; алфавитно-цифровой индикатор; печатающее устрой- ство; внешние запоминающие устройства. В комплект более сложных микро-ЭВМ, ориентированных на решение инженерных и научных задач, могут входить разнообраз- ные внешние устройства, например устройства ввода — вывода и печати, визуального отображения, внешней памяти, комплексиро- вания, пульты операторов общего назначения и т. д. Распределенные системы управления сложными объектами. Альтернативой распространенным системам с центральным процес- сором становятся распределенные микропроцессорные управляющие системы. В этом случае микропроцессоры и связанные с ними схемы обработки данных физически располагаются вблизи мест возник- новения информации, что позволяет вести обработку информации в месте ее возникновения, например вблизи двигателя, рулей уп- равления, тормозной системы и т. д. Связь таких локальных систем обработки с центральной системой обработки и накопления данных и создает пространственно распределенную систему управления. В распределенных системах достигается значительная экономия в количестве и распределении линий связи, повышается живучесть, существенно развиваются возможности оптимизации режимов уп- равления и функционирования. Распределенные высокопроизводительные системы параллель- ных вычислений. Микропроцессоры открыли новые возможности решения сложных вычислительных задач, алгоритмы вычисления которых допускают распараллеливание, т. е. одновременные (парал- лельные) вычисления на многих микропроцессорах. Системы параллельных вычислений на основе десятков, сотен, тысяч одинаковых или специализированных на определенные за- дачи микропроцессоров при значительно меньших затратах дают такую же производительность, как и вычислительные системы на основе мощных процессоров конвейерного типа. Микропроцессоры в распределенной вычислительной системе могут быть одинаковыми и универсальными или специализированными на определенные функции. Создание микропроцессорных систем с большим количест- вом специализированных по функциональному назначению процес- соров позволяет проектировать мощные вычислительные системы нового типа по сравнению с традиционными развитыми большими вычислительными машинами. 88
Глава ОЦЕНКА ВОЗМОЖНОСТЕЙ И ОБОСНОВАНИЕ 5 ВЫБОРА АРХИТЕКТУРЫ МИКРОПРОЦЕССОРА § 5.1. Сравнение архитектур микропроцессоров Микропроцессорные вычислительные средства и их программное управление. При проектировании архитектуры микропроцессорной системы решается задача распределения затрат между уровнем входных алгоритмических языков, включающих языки (директивы) заданий пользователя и определяющих особенности связи человека и машины, и уровнем аппаратурных средств, определяемых достиг- нутой элементной, конструкторской и технологической базой. Ар- хитектура микропроцессора дает возможность получить описание виртуальной (воображаемой, математической) микромашины, пред- ставленной своей системой команд, способом организации и управ- ления внутренней и внешней памяти, способами адресации и за- щиты данных, системой прерывания. Входные алгоритмические языки отображаются в виртуальной машине программным способом. Поэтому любое задание машине, выраженное на входном алгоритмическом языке, обязательно про- ходит этап трансляции с использованием компиляторов или интер- претаторов, если входной алгоритмический язык и машинный язык виртуальной ЭВМ не совпадают. Повышение уровня машинного языка, приближение его к алгоритмическим входным языкам высо- кого уровня снижают затраты на разработку программного обеспе- чения. При этом усложняются структуры операций и операндов, воспринимаемых виртуальной машиной, например вместо отдель- ных операндов-слов в программе компактно описываются массивы информации (матрицы, наборы слов — строки, удовлетворяющие заданным условиям, и т. д.). Виртуальная машина отображается на аппаратурный уровень главным образом схемным путем, разработкой схемно- или микро- программно-управляемых автоматов, управляющих заранее зало- женными связями между частями (модулями) аппаратурных средств. Усложнение виртуальной машины приводит к появлению в физической системе большого числа сложных связей и электрон- ных элементов. Если разрабатываемые вычислительные средства предназначены для многократного использования потока однажды оттранслиро- ванных программ, то необходимо стремиться к получению макси- мального быстродействия аппаратуры. Этого можно достичь за счет понижения уровня машинного языка, что увеличивает скорость вы- полнения элементарных операций и, как следствие, производитель- ность микро-ЭВМ. Такой подход успешно реализуется в системах, 89
построенных на основе секционных комплектов БИС микропроцес- сора. При проектировании систем для однократного решения потоков разнообразных задач желательно сдвигать уровень языка вирту- альной микромашины в сторону алгоритмических языков. Прибли- жение входного и машинного языков снижает затраты на програм- мирование. Повышение уровня машинного языка, реализуемое, например, в микропроцессоре 432, обеспечивает построение систем для данного направления применения. Промежуточное направление, позволяющее за счет обеспечения разнообразных модулей програм- много и аппаратурного обеспечения создавать конфигурации вычи- слительных средств, удовлетворяющие различным интересам пока- зателей, базируется на применении однокристальных 5-, 8-, 16-раз- рядных микропроцессоров и специальных БИС микропроцессорного комплекса. Важным направлением в развитии микропроцессоров является создание и применение эмуляторов на основе заказных БИС. Среди них первыми были микро-ЭВМ LSI-И фирмы «DEC» и отечествен- ная микро-ЭВМ «Электроника-60». Эмуляторы являются младшими моделями известных серий (рядов) мини-ЭВМ, для которых созда- но развитое программное обеспечение. Архитектуры микропроцессоров. При создании микропроцессо- ров используются все виды архитектуры, созданные за время их развития: регистровая, стековая, ориентированная на оперативную память. Регистровая архитектура микропроцессора (архитектура типа «регистр — регистр») определяет наличие достаточно большого ре- гистрового файла внутри БИС микропроцессора. Этот файл обра« зует поле памяти с произвольной записью и выборкой информации. Микропроцессоры с регистровой архитектурой имеют высокую эф- фективность решения научно-технических задач, поскольку высокая скорость работы СОЗУ позволяет эффективно использовать скоро- стные возможности арифметическо-логического блока. Однако при переходе к решению задач управления эффективность таких микро- процессоров падает, так как при переключениях программ необхо- димо разгружать и запружать регистры СОЗУ. Стековая архитектура микропроцессора дает возможность соз- дать поле памяти с упорядоченной последовательностью записи и выборки информации. Эта архитектура эффективна для организа- ции работы с подпрограммами, что необходимо для решения слож. ных задач управления, или при работе с языками высокого уровня. Хранение адресов возврата позволяет организовать в стеке эффек- тивную обработку последовательностей вложенных подпрограмм. Однако стек на кристалле микропроцессора с малой информацион- ной емкостью быстро переполняется, а стек большой емкости тре- бует значительных ресурсов. Реализация стека в ОЗУ решает эти проблемы. Архитектура микропроцессора, ориентированная на оператив* ную память (архитектура типа «память — память»), обеспечивает 90
высокую скорость работы и большую информационную емкость рабочих регистров и стека при их огранизации в ОЗУ. Эта архитек- тура отнесена к типу «память — память», поскольку в микропроцес- сорах с такой архитектурой все обрабатываемые числа после опе- рации в микропроцессоре вновь возвращаются в память, а не хра- нятся в рабочих регистрах. При оценке быстродействия ЭВМ необходимо учитывать физи- ческую реализацию как элементов, так и связей между ними. Высокая скорость срабатывания логических элементов интеграль- ных схем не всегда может обеспечить высокую скорость работы ЭВМ, поскольку большие значения индуктивно-емкостных пара- метров связей на печатных платах не позволяют передавать высо- коскоростные сигналы без искажения. Применение БИС существен- но уменьшило размеры ЭВМ, снизило паразитные параметры свя- зей. Поэтому стало возможным физически отделить регистровый блок регистров и стек от арифметическо-логического блока и обе- спечить при этом их высокоскоростную совместную работу. При создании ЭВМ в одном кристалле регистровые СОЗУ и ОЗУ имеют практически одни и те же параметры. Повышение скорости работы ОЗУ позволяет удалить регистровый файл и стек из кристалла, микропроцессора и иопользовавать освободившиеся ресурсы для развития системы команд, средств прерывания, многоразрядной об- работки. Использование ОЗУ для организации рабочих регистров и стека приводит к уменьшению скорости передачи информации, но при этом повышается общая эффективность такого решения за счет большой информационной емкости полей регистровой и стековой памяти, а также развития систем команд и прерываний. Архитектура микропроцессора, ориентированная на оператив- ную память, обеспечивает экономию площади кристалла микро* процессора. В этом случае на кристалле размещается только ре- гистр-указатель начального адреса файла регистров. Адресация остальных регистров осуществляется указанием в команде хода смещения. Доступ к рабочим регистрам в этом случае замедляется, поскольку приходится совершать сопряженное с затратами времени кольцевое «путешествие» из процессора во внекристальную память, где размещаются рабочие регистры. Однако контекстное перек- лючение в микропроцессоре с такой архитектурой происходит бы- стро, поскольку при 'прерывании необходимо только изменить зна- чение содержимого регистра — указателя рабочей области. Другая отличительная особенность архитектуры микропроцес- сора, ориентированная на оперативную память,— двухадресный формат команд. В этих микропроцессорах нет специального накап- ливающего регистра, выполняющего функции подразумеваемой ячейки результата для всех двухоперандных команд. Рассмотрим выполнение операции сложения содержимого двух ячеек памяти с номерами I и / по команде «Сложить //» (рис. 5.1, а). Поскольку в архитектуре типа «память — память» любая ячейка памяти может содержать либо исходный операнд, либо операнд — результат, эта операция выполняется по одной команде. 91
В то же время в процессорах с одноадресной регистровой архи- тектурой для достижения той же самой цели приходится исполь- зовать две команды: команду пересылки операнда J во внутренний регистр, команду I сложения содержимого регистра с содержимым ячейки памяти I и пересылки результата в ячейку J (рис. 5.1, б). В первом случае для компиляторов высокоуровневых языков существенно упрощается задача присвоения значений переменным и благодаря этому получаются более короткие модули объектных программ. а) Архитектура, ориентиробанная на оперативную память Процессор Память d) Регистровая .архитектура Процессор Память Рис. 5.1. Иллюстративные схемы выполнения операций в микропроцессорах с архитектурой, ориентированной на опе- ративную память (а) и регистровой (б) В отличие от микропроцессоров с архитектурой, ориентирован- ной на оперативную память, <в микропроцессорах с регистровой архитектурой рабочие области регистров размещаются в логических частях процессоров. Однако малая плотность логических схем по сравнению с плотностью схем памяти ограничивает возможность регистровой архитектуры. В свою очередь, микропроцессоры с ар- хитектурой, ориентированной на память, обеспечивают быстрое подключение к рабочим областям, когда необходимо заменять кон- тексты. Смена контекстов осуществляется изменением векторов трех регистров — счетчика команд, регистра состояния и указателя рабочей области. Достоинство этой архитектуры в отношении сме- ны контекстов связано с выполнением только одной команды для передачи полного вектора контекста. Микропроцессоры с регистровой архитектурой требуют больших и довольно медленных последовательностей команд или дополни- тельных логических схем для передачи данных от каждого из ре- гистров к памяти, организованной вне БИС микропроцессора. Использование возможностей быстрой смены контекстов и фак- тически неограниченной рабочей области в микропроцессорах с ар- хитектурой, ориентированной на оперативную память, позволяет контроллерам легко находить применение в 16-разрядных системах. Особенно это относится к системам, работающим в реальном мас- штабе времени. 92
При разработке системы обработки данных, ориентированных на использование в системах управления, важное значение для оп- ределения характеристик системы, ее габаритов и стоимости имеет выбор архитектуры процессора. Поэтому в настоящее время наибо- лее распространенными архитектурами программируемых контрол- леров, которые лежат в основе таких систем, являются архитек- туры, ориентированные на память. Еще одной статьей затрат, где видно различие между рассмат- риваемыми архитектурами, являются дополнительные логические схемы, требуемые для осуществления таких важных операций, как обработка многократных прерываний. Объем дополнительных логи- ческих схем возрастает по мере роста числа операций по смене контекстов. Но еще больше объем дополнительной логики возраста- ет для архитектур, ориентированных на регистры, за счет повыше- ния их емкости. В результате существенно снижается быстродейст- вие процессора. К достоинствам архитектуры микропроцессора, ориентирован- ной на оперативную память, относится возможность развития си- стемы, позволяющая снизить время разработки программного обес- печения. Под развитием понимается способность систем внедрять в виде функциональных модулей программные, программно-аппа- ратурные и даже аппаратурные средства, которые можно исполь- зовать в системе по мере совершенствования аппаратурных средств и накопления опыта. Распределенные системы управления часто требуют полуавто- номных контроллеров, которые должны вписываться в определенные иерархические структуры. При этом архитектура микропроцессора, ориентированная на память, обеспечивает естественный и эффек- тивный интерфейс между контроллерами, расположенными на од- ном иерархическом уровне, и процессами управления, расположен- ными на более высоком иерархическом уровне, а структура связей между контроллерами может быть обеспечена за счет развитых информационных магистралей. Ортогональность архитектуры микропроцессоров. Полупровод- никовая память в виде набора быстродействующих регистров на кристалле микропроцессора оказала непосредственное влияние на различные уровни архитектуры за счет увеличения числа реализуе- мых регистров. В микро-ЭВМ, рассчитанных, например, на много- программную работу, наличие многочисленных общих регистров позволяет ускорить контекстные переключения. Когда осуществ- ляется переключение с программы на программу, содержимое соот- ветствующего блока регистров не обязательно переписывать в опе- ративную память и перезагружать в него содержимое для новой программы. Вместо этого каждой программе выделяется собствен- ный блок регистров. Именно эти возможности определяют важную отличительную особенность микропроцессоров — их многоуровневую ортогональ- ную архитектуру, порождаемую элементами аппаратурной избы- точности в структуре микропроцессора и рассматриваемую как 93
основа для сохранения его «ортогональных» состоянии при перек- лючениях (программ. Каждый вектор состояния некоторых микропроцессоров имеет свои собственные ресурсы, независимые от ресурсов других векто- ров состояния, поэтому трансформации одного состояния не вли- яют на трансформации других состояний. (При этом в значительной степени минимизируются или практически устраняются затраты времени на сохранение состояния микропроцессора при возникно- вении запроса на (прерывание и его удовлетворение, а также на Рис. 5.2. Структура двухуровневых (а) и одноуровневых (б) ре- сурсов рабочих регистров микропроцессоров восстановление состояния (микропроцессора после выполнения пре- рывающей программы. Избыточные ресурсы микропроцессора поз- воляют при переключении оставить «на месте» текущий вектор состояния процессора и переключиться на другие ресурсы или пе- рейти на следующий уровень архитектуры. На рис. 5.2, а, б показаны структура двухуровневых ресурсов рабочих регистров микропроцессора МГЦ и структура традицион- ного одноуровневого регистрового микропроцессора МП2. Эти микропроцессоры имеют одинаковые регистровые файлы ФРг, но их количество в микропроцессоре МГЦ удвоено. Каждый из орто- гональных регистровых файлов микропроцессора МГЦ может обслуживать свою программу прерывания. Если задана и исполь- зуется только одноуровневая система прерывания микропроцессора Л4771, то при переключениях вместо осуществления подпрограммы сохранения состояния в микропроцессоре МП2 в микропроцессоре МПх происходит переключение рабочего файла регистров установ- кой нового состояния внутреннего регистра вектора состояния РгВ. 94
Регистры общего назначения микропроцессора адресуются про- граммным образом для различных целей. Поэтому возможно зада- ние изменяемого количества ортогональных состояний в микро- процессоре с развитым регистровым файлом, что позволяет повы- сить эффективность мультипрограммной работы. Регистры общего назначения, например внутреннего файла 16 регистров микропро- цессоров, могут применяться в качестве рабочих или индексных Рис. 5.3. Одноуровневые (а) и восьмиуровневые (б) ресурсы рабочих ре- гистров микропроцессора регистров, счетчиков команд СчК, указателей рабочих областей УРО данных ОЗУ. При работе с прерываниями этот файл приме- няется в качестве счетчика команд и регистров указателей рабочих областей для определенных внешних процессов (прерывания. Струк- тура рассматриваемых микропроцессоров позволяет использовать различное число уровней прерываний (до восьми) и допускает при- менение регистров для осуществления различных функций между двумя крайними вариантами, представленными на рис. 5.3. В пер- вом случае (рис. 5.3, а) архитектура микропроцессора представле- на арифметически-логическим блоком АЛБ с регистром результата РгР, счетчиком команд СчК. и файлом 16 рабочих регистров ФРг. Во втором случае (рис. 5.3, б) файл рабочих регистров разбит на 8 групп, в каждой из которых определен счетчик команд СчК и регистр-указатель рабочей области УРО. Практически неограниченное число уровней «ортогональных» состояний задается в микропроцессоре с архитектурой типа «па- мять — память», поскольку расположение рабочих регистров в ОЗУ дает возможность иметь ресурсы регистров для целей прерываний в пределах полной информационной емкости ОЗУ. 95
§ 5.2. Обоснование выбора архитетуры микропроцессора Для конкретного (Применения микропроцессорной системы мож- но сформулировать определенную совокупность требований к аппа- ратуре, программному обеспечению и вспомогательным средствам. Сопоставление требований и возможность их удовлетв9рения — ос- новная задача этапа оценки и выбора архитектуры микропроцес- сорной системы. Критерии выбора микропроцессора. Ориентация на функцио- нальное назначение микропроцессора позволяет объективно оце- нить требования к нему как элементу системы. При этом важно выделить и описать следующие основные функции системы: 1) необходимость выполнения интенсивной обработки данных при небольшом потоке вводимых и выводимых данных; 2) интенсивный обмен данными системы и окружающей среды с умеренной, но достаточно производительной обработкой; 3) интенсивный обмен с ограничениями по скорости реакции на внешние сигналы и управление в реальном масштабе времени; 4) интенсивный обмен данными, отражающими определенные физические -процессы в виде аналоговых напряжений и токовых сигналов. В реальной системе часто имеет место переплетение функцио- нальных требований. Однако можно выделить четыре сферы при- менения микропроцесс9ра, для которых особую важность имеет только одна из всех важнейших характеристик. Микропроцессор во встроенной системе управления (ВСУ) вы- полняет функции, ориентированные преимущественно на обработку потока входных и выходных сигналов. Для него очень важна на- дежность. Принципиальным является сложность и возможность модификации программного обеспечения, а также наличие чредств отладки программ. Близкие требования предъявляются к микро- процессорам, применяемым в качестве компонентов других систем. В них микропроцессоры, как правило, выполняют функции пред- процессоров — процессоров предварительной обработки данных, представленных в аналоговой форме. Поэтому большое значение имеет также способность быстрого выполнения логических и ариф- метических операций, а также скорость реакции на многоуровне- вые приоритетные прерывания. Для системных применений по сравнению с ВСУ значительно снижена острота требований к про- граммному обеспечению, поскольку в большой системе микропро- цессор выполняет четко заданные и ограниченные функции. Микропроцессор, управляющий процессом или объектом в реальном масштабе времени (УРВ), по сравнению с ВСУ должен обладать повышенной производительностью и иметь системные средства защиты питания и автоматического перезапуска после сбоя. Микропроцессор, предназначенный для обработки связных сиг- налов, т. е. управляющий процессом приема — передачи сообщений (ППС), выполняет манипуляции с нечисловой информацией. 96
В этом классе применений микропроцессор используется для пере- дачи необработанных сообщений от одного терминала к другому. Сообщение состоит из набора символов, передаваемых к месту назначения с минимальной обработкой. Для рассматриваемых при- менений характерно объединение данных в блоки, однако последо- вательная обработка этих данных внутри блока осуществляется довольно редко. Гораздо чаще встречаются перекрестные пе- ресылки между блоками и даже произвольно разбросанные входы Таблица 5.1 Область применения Критерий выбора ВСУ УРВ НТР ппс Производительность Обработка байтов 4- 4- 4- Обработка битов 4- 4- 4- Аппаратурное умножение — деление 4- 4- Развитая адресация Многоуровневые прерывания 4- 4- 4- 4- Развитый ввод — вывод + 4- Наличие таймера 4- 4- Системное асинхронное управление 4- 4- Канал прямого доступа Защита питания 4- 4- Высокая надежность 4- 4* Автоматический перезапуск после сбоя Программное обеспечение 4- 4- 4- Средства отладки Средства взаимодействия с пользова- 4- 4- телем в блок. Поскольку основная программа выполняет одинаковые действия над различными блоками, большое значение имеет нали- чие индексной адресации. Желательно иметь в системе команд несколько команд высокого уровня и возможность работы МП с отдельными разрядами коммутируемых сообщений. Выполнение арифметических операций — несущественный фактор. Для органи- зации тестов и других логических операций потребность в них не- велика. Простейшие средства обработки прерываний вполне отве- чают предъявляемым требованиям; что касается ввода — вывода, то требования к нему несущественны, если предусмотрен отдель- - ный канал прямого доступа в память. Гибкость системы адреса- ции — ключевой фактор для эффективного использования микро- процессора в приложениях, связанных с обработкой нечисловой информации. Быстродействие очень существенно, в особенности для больших систем. Микропроцессор в системах, предназначенных для научно-тех- нических расчетов (НТР), должен иметь развитые средства взаимо- действия с пользователем, программное обеспечение с языками высокого уровня, развитую систему команд с большим набором 97
сложных методов адресации. Эти и другие возможности МП долж- ны обеспечивать его высокую (Производительность 'при отладке про- грамм и решении разнообразных потоков задач. Таблица 5.2 Функциональные требования Параметр микропроцессора Интенсивный ввод — вывод Решение задач в реальном масшта^ бе времени Операции умножения и деления Повышенная точность арифметиче- ских операций Развитая логическая обработка Количество каналов Пропускная способность Команды обработки байтов f Производительность 1 Гибкость системы прерывания Дополнительные аппаратурные или программные средства и увеличенные затраты памяти Команды с удвоенной разрядностью или пакеты прикладных программ (бо« лее медленно) Гибкость структуры и форматов пред* ставления данных В табл. 5.1 приведены основные критерии для выбора подходя- щего микропроцессора в рассмотренных сферах применения. Если сформулированы функциональные требования, то они мо-1 гут быть связаны с реальными возможностями аппаратурных и программных средств (табл. 5.2). После определения основных характеристик, задаваемых сфе- рой применения, необходимо перейти к критериям выбора для оценки архитектуры. Эти критерии должны отражать требования и возможности системы, оценки аппаратурных, программных и вспомогательных средств, а также вопросы обучения, возможностей консультаций с разработчиком, условий поставки и т. д. Можно предложить распределение весовых значений коэффициентов кри- териев, например, так, как это показано в табл. 5.3. Весовые коэффициенты, определяющие важность первичных ха- рактеристик аппаратурных средств, дающие основу для оценки кри- териев выбора, приведены в табл. 5.4. По данным табл. 5.4 можно получить числовую оценку в баллах аппаратурных средств гипотетической наиболее простой и наиболее сложной системы: 100 и 400 баллов. Все реальные системы могут быть оценены промежуточным значением баллов, а сопоставление числового значения этой оценки с граничными значениями позволит выбрать совокупность параметров системы чравниваемых вариан- тов систем. В табл. 5.5 приведены критерии важности для составляющих программного обеспечения. Современные микропроцессоры имеют характеристики и пара- метры, значения которых находятся в определенных пределах. Спецификой этого микропроцессорного направления вычислитель- 98
Таблица 5.3 Критерий выбора Весовое значение критерия, % минималь- ное среднее максималь- ное Аппаратурные средства 25 20 15 Доступность программного обеспече- ния 25 30 35 Удовлетворение требований применения минимальным вариантом аппаратуры V программ 35 30 25 Дополнительные средства 15 20 25 Таблица 5.4 Критерий выбора Весовой коэффи- циент, % Диапазон параметров Балл значи- мости Разрядность данных, бит 20,0 4,8 1 16 2 32 4 Эффективность системы команд 15,0 Малая 1 Средняя 2 Высокая 4 Число уровней приоритетных пре* 10,0 До 8 1 рываний 16—32 2 64 и более 4 Время реакции на прерывание, мкс 13,0 Более 10 1 До 1,0 2 Менее 1,0 4 Аппаратурные арифметические рас» 10,0 Отсутствуют 1 ширите л и Средние 2 Обширные 4 Число индексных регистров 12,0 До 8 1 16—32 2 Более 64 4 Емкость памяти, байт 10,0 Менее 16К 1 16—64К 2 Более 64К 4 Цикл памяти, мкс 13,0 До 2,0 1 1,0-2,0 2 Менее 1,0 4 них средств является то, что по мере совершенствования микро- электронной технологии их изготовления происходит сдвиг пара- метров только в благоприятную сторону. Поэтому данные табл. 5.6 следует интерпретировать с позиций удешевления микропроцес- соров, имеющих «минимальные» характеристики, и с позиций более высоких значений микропроцессоров с «максимальными» характе- ристиками, приобретаемыми за ту же или более низкую цену. Диапазон основных характеристик аппаратурных микропро- цессорных систем представлен в табл. 5.6. 99
Таблица 5.5 Критерий выбора Весовой ко- эффициент, % Фактор значимости Языки высокого уровня 20 Емкость памяти для компи- лятора Возможность модификации Диагностика эффективности ППЛГПЯ мм Возможности языка Ассемблера 20 lipUl palYlIVl Количество проходов Перемещаемость Емкость памяти Средства отладки Операционные системы 35 Возможности управления данными Управление вводом — выво- дом Емкость памяти Защита Вспомогательные средства 25 Обучение Библиотеки Диагностика Таблица 5.6 Наименование характеристик или параметров Значения характеристик мини- маль- ные средние максимальные Разрядность, бит 4,8 16 32 Обработка битов и байтов — —, + + Команды обработки двойных слов — —, + + Аппаратурное деление (умножение) — —, + Защита памяти — —, + Контроль пересылок — —, + Может быть + Канал прямого доступа — Может быть Таймер — То же + Частота синхронизации, мГц 0,1 До 1,0 До 2—5 Количество программируемых кана- 1 1 1 лов ввода — вывода Количество входов приоритетных 1 1, может До 256 векторных прерываний быть до 64 § 5.3. Оценка возможностей архитектуры микропроцессора Полное перечисление всех качеств и параметров микропроцес- соров, сообщаемое заводом-изготовителем в технической докумен- тации, помогает в их оценке и выборе. Однако командам системы команд всегда присуща определенная специфика в виде «логиче- ской мощности». Системы команд различаются возможностями ор- ганизации компактных цепочек команд при программировании 100
различных алгоритмов решаемых задач. Поэтому сравнение лишь числа команд в системах команд или числа регистров в микропро- цессорах не дает достаточной основы для их выбора. Действитель- но, большое число регистров микропроцессора с жестко определен- ными функциями может быть менее эффективным, чем малое число универсальных регистров общего назначения. Например, выделение отдельных регистров общего назначения для базирова- ния адресов и размещения данных обеспечивает большие возмож- ности для перемещения информации во время вычислительного процесса, и это свойство используется программистом. • Оценить эффективность проектируемой архитектуры и уточнить требования к ее аппаратурной реализации можно на основе эталон- ного (пробного) программирования. Оно выполняется для заранее определенного набора эталонных (пробных) задач, отражающих специфику той области, для которой предназначается проектируе- мая микропроцессорная система. Анализ качества полученных про- грамм позволяет оценить: 1) затраты на программирование; 2) время решения эталонного пакета задач; 3) информационную емкость памяти. Более быстрая предварительная оценка «может быть сделана программированием ядер алгоритмов решаемых задач, т. е. состав- лением и анализом небольших программ, отражающих наиболее существенные особенности задач. Эталонное программирование для микропроцессоров имеет особое значение, поскольку, как пра- вило, микропроцессоры применяют для решения конкретных задач. Знание области применения микропроцессоров позволяет выделить из решаемых задач наиболее принципиальные части и составить программы для всех доступных микропроцессоров с целью получе- ния эксплуатационных характеристик микропроцессорной вычисли- тельной системы. Из них наиболее важны такие, как общее цремя выполнения прогоаммы, информационный объем требуемых ячеек ОЗУ, время реакции на внешние сигналы, 'максимально достижи- мые скорости ввода — вывода данных и т. д. В результате эталонного программирования получаются реаль- ные эксплуатационные характеристики применения конкретного микропроцессора в конкретных системах. Вместе с информацией завода-изготовителя полученные данные, как правило, достаточны для оценки микропроцессора и микро-ЭВМ на его основе. Действи- тельно, время выполнения программы и время реакции на внешние сигналы должны быть согласованы с параметрами управляемого процесса, так же как и потоки взаимно передаваемой информации. Стоимость микропроцессорной системы управления в значи- тельной степени определяется стоимостью ОЗУ, поэтому для мас- совых применений следует минимизировать требуемый объем ОЗУ до предельно допустимого уровня в данной конкретной системе: управления даже за счет ухудшения других эксплуатационных характеристик. Если же в системе решаются разнообразные задачи и каждый раз составляется новая программа вычислений, то надо» минимизировать стоимость программирования. Использование язы- 10В
ков высокого уровня часто решает эту проблему, хотя, как правило, ведет к увеличению требуемого объема ОЗУ по сравнению с исполь- зованием более дорогих программ, написанных на языках низшего уровня. Анализ эффективности применения микропроцессоров для ре- шения широкого круга задач показывает, что, несмотря на важ- ность архитектурных черт конкретных МП, доминирующим факто- ром их качества является разрядность обрабатываемых данных. При эталонном программировании и оценке качества программ наиболее важны следующие показатели: 1) число (Предложений в программах на языке Ассемблера (трудоемкость программирова- ния); 2) время выполнения программы (определяет стоимость аппаратурных средств); 3) информационная емкость ОЗУ для компилированной программы (стоимость ОЗУ). В исходных программах для определенного заданного пакета задач по обработке байтовой и двухбайтовой информации, вводу — выводу информации 4-разрядные МП имеют в три раза, 8-разряд- ные МП — в два раза больше предложений, чем 16-разрядные микропроцессоры. Еще большая разница между этими микропро- цессорами получается в скорости выполнения эталонных программ: в цреднем 16-разрядные МП выполняют задачи быстрее 8-разряд- ных МП в 3 раза и в 4—10 раз быстрее 4-разрядных МП. 4- и 8- разрядные МП требуют также больше ячеек памяти для компили- рованных программ, чем 16-разрядные МП. При обработке байтовой информации использование 16-разряд- ных МП более эффективно, чем 4- и 8-разрядных МП, поскольку они обладают мощным набором команд и выполняют сложные преобразования в одной или небольшом числе команд. На рис. 5.4 и ниже приведены результаты исследования 12 раз- личных МП, показывающие, что эффективность одного и того же МП может быть различна при решении разных задач: Номер МП I II III IV V VI VII VIII IX Тотн • • • 12,5 11,2 0,9 0,8 0,9 0,85 0,8 0,4 0,32 Сота ... 1,3 1,2 0,55 1,1 0,65 1,2 0,95 1,05 1,2 X XI XII 0,3 0,25 0,15 1,1 1,05 0,6 Здесь Тотн — относительное время выполнения пакета задач, Сот — относительная емкость ОЗУ, требуемая для выполнения па- кета задач. Микропроцессор III имеет специальную команду (или метод ад- ресации), что позволяет получить очень короткое время решения третьей задачи, тогда как другие задачи на нем решаются значи- тельно медленнее. При решении рассмотренного пакета задач на микропроцессорах III—V и XII требуется наименьшая емкость ОЗУ, однако последний МП решает все задачи значительно быст- рее. Характерным является также сохранение микропроцессорами I, II и XII своих «плохих» или «хороших» скоростных характери- стик для всего пакета решаемых задач. Из данных рис. 5.4 следует, что для конкретных МП существуют «хорошие» и «плохие» задачи. Поэтому при выборе эталонного 102
пакета задач возможна субъек- тивность, когда разработанный «свой» МП превосходит осталь- ные, с которыми производится сравнение, вследствие специально обоснованного пакета эталонных задач. Гибкость микро-ЭВМ и ее эф- фективность определяются логи- ческой «мощностью» команд, пол- нотой системы команд, дредства- ми и способами адресации, а так- же возможностями организации разветвленных вычислительных процессов. Поэтому большая раз- рядность команд обеспечивает более широкие возможности мик- ропроцессору. Вычислительные и управляю- щие функции однокристальных микропроцессоров ограничены Рис. 5.4. Зависимость относитель- ного времени решения задач от ти- па задач для ряда микропроцессо- ров аппаратурными ресурсами на кристалле. Как правило, вычислительные средства на основе одно- кристальных микропроцессоров просты и дешевы. Специфичная архитектура и фиксированный набор команд делают эти микро- процессоры на основе униполярных БИС наиболее подходящими для конкретных областей применения. Четырехразрядные микропроцессоры эффективны при специа- лизированном применении. Восьмиразрядные системы обработки информации используются при решении задач, не требующих высокой точности вычисления и высокой скорости обработки информации. Хотя во многих 8-раз- рядных МП заложена возможность обработки 16-разрядных кодов, сложность этих вычислений увеличивает стоимость программиро- вания работы микропроцессоров. Поэтому и этот фактор может быть значительным при выборе 8- или 16-разрядного микропро- цессора. Выбор между 4-, 8- и 16-разрядными микропроцессорами дол- жен выполняться на основе анализа особенностей их применения,, требований к точности и скорости обработки потоков информации. Задачи, в которых за короткое время необходимо выполнить обра- ботку данных с высокой точностью, лучше решаются на 16-разряд- ных микропроцессорах. Улучшение параметров 16-разрядных мик- ропроцессоров позволило им занять места мини-ЭВМ сначала на нижнем, а затем на все повышающихся уровнях производительно- сти. Электронные системы с 32-разрядными микропроцессорами при- меняются для многозадачных (мультипрограммных) применений с обеспечением защиты информации.
СПИСОК ЛИТЕРАТУРЫ Артвик Б. А. Сопряжение микро-ЭВМ с внешними устройствами. Пер. с англ./ Под ред. П. В. Нестерова, — М.: Машиностроение, 1983. Архитектура однокристальной микро-ЭВМ типа К1801ВЕ1/Дяш/яяя В. Л,, Машевич П. Р., Коваленко С. С. и др. — В кн.: Микроэлектроника. — М.: Совет- ское радио, 1980, вып. 6. Байцер Б, Архитектура вычислительных комплексов, т. 1, 2. — М.: Мир, 1974. Балашов Е. П., Пузанков Д. В. Микропроцессоры и микропроцессорные сис- темы— М.: Радио и связь, 1981. Борисенков В. Д., Плотников В. В., Талое И. Л. Микро-ЭВМ «Электроника- -60». — Электронная промышленность, 1979, № 11—12. Карцев М. А. Архитектура цифровых вычислительных машин. — М.: Наука, 1978. Клингман Э. Э. Проектирование микропроцессорных систем. Пер. с англ./Под фед. С. Д. Пашкеева. — М.: Мир, 1980. Конвольвер в интегральном исполнении для поточной обработки данных. — Электроника, 1980, № 26. Королев Л. Н. Структуры ЭВМ и их математическое обеспечение. 2-е изд. — М:. Наука, 1978. Матрица логических вентилей — процессор «Системы/370». — Электроника, 1980, № 22. Микропроцессорные БИС и микро-ЭВМ. Построение и применение/Под ред. А. А. Васенкова. — М.: Советское радио, 1980. Микропроцессорные комплекты интегральных схем: Состав и структура: «Справочник/Борисоз В. С., Васенков А. А., Милошевич Б. М. и др.; Под ред. А. А. Васенкова, В. А. Шахнова. — М.: Радио и связь, 1982. Микропроцессорные комплекты повышенного быстродействия/Березея- 4со А. И., Корягин Л. Н., Назарьян А. Р. — М.: Радио и связь, 1981. Микро-ЭВМ «Электроника-С5» и их применение! Гальперин М. П., Кузне- цов В. Я., Цветов В. П. и др.; Под ред. В. М. Пролейко — М.: Советское радио, 1980. Нестеров П. В. Архитектура микропроцессоров и ее развитие. — Зарубежная .радиоэлектроника, 1979, № 4. Нестеров П. В. Сверхбольшие интегральные схемы. Проблемы создания и ожидаемые результаты. — Зарубежная радиоэлектроника, 1980, № 12. Одноплатная микро-ЭВМ «Электроника НЦ-80-01 »!Борщенко Ю. И,, Дшху- нян В. Л., Отрохов Ю. Л. и др. — Электронная промышленность, 1981, № 1. Прангишвили И. В. Микропроцессоры и микро-ЭВМ. — М.: Энергия, 1979. Преснухин Л. Н., Нестеров П. В. Цифровые вычислительные машины. 2-е «зд., испр. и доп. — М.: Высшая школа, 1981. Сверхбольшие интегральные схемы потрясают основы архитектуры ЭВМ — Электроника, 1979, № 11. Севрин М. LSI-11 —система на базе микро-ЭВМ, совместимая с мини-ЭВМ.— ТИИЭР, 1976, т. 64, № 6. Соучек В, Микропроцессоры и их применение. — М.: Советское радио, 1979. Хилбурн Дж., Джулич П. Микро-ЭВМ и микропроцессоры. Пер. с англ./Под фед. С. Д. Пашкеева. — М.: Мир, 1979. 32-разрядный микропроцессор с архитектурой, ориентированной на язык АДА. — Электроника, 1981, № 4.
25 к. • МИКРОПРОЦЕССОРЫ • Под редакцией заслуженного деятеля науки и техники РСФСР, доктора технических наук, профессора Л.Н.ПРЕСНУХИНА • Архитектура и ее оценка • Организация вычислительных процессов на микро-ЭВМ • Элементная база и схемотехника средств сопряжения • Основы построения микро-ЭВМ • Аппаратурно-программные средства отладки • Информационно-управляющие вычислительные системы • Автоматизированные системы контроля объектов • Лабораторный практикум • Сборник примеров и задач МОСКВА «ВЫСШАЯ ШКОЛА» 1984