- •Предисловие
- •Глава 1
- •1.1. Средства микропроцессорной вычислительной техники
- •1.2. Основные характеристики, место и классификация микроЭвм
- •1.3. Индустрия микропроцессорных средств вт
- •Глава 2 элементная база микроэвм. Микропроцессоры
- •2.1. Микропроцессорные бис
- •2.2. Микропроцессор 8086
- •2.3. Развитие семейства мп 8086
- •Глава 3 элементная база микроэвм. Микропроцессорные семейства бис
- •3.1. Сопроцессоры
- •3.2 Интегральные микросхемы памяти
- •3.3. Интерфейсные схемы, контроллеры
- •3.4. Схемы обрамления
- •Глава 4 магистрально-модульная организация микроэвм
- •4.1. Интерфейсы и магистрали микроЭвм
- •4.2. Магистрали типа Multibus
- •4.3. Интерфейсы периферийного оборудования
- •4.4. Конструктивные особенности микроЭвм
- •Глава 5 аппаратура микроэвм
- •5.1. Периферия микроЭвм
- •5.2. Аппаратура персональных микроЭвм
- •5.3. Модульные системы и одноплатные микроЭвм
- •Глава 6
- •6.1. Операционные системы
- •6.2. Средства автоматизации программирования
- •6.3. Пакеты прикладных программ
- •1. Монография я учебные издания
- •2. Периодические издания
- •3. Фирменные издания
- •Глава 1. Введение в микропроцессорную технику .............................. 5
- •Глава 2. Элементная база микроЭвм. Микропроцессоры ...................... 18
- •Глава 3. Элементная база микроЭвм. Микропроцессорные семейства бис ............................................................................................................................ 81
- •Глава 4. Магистрально-модульная организация микроЭвм ……………108
- •Глава 5. Аппаратура микроЭвм ............. ……………………………….148
- •Глава 6. Программное обеспечение микроЭвм ........................................187
Глава 4 магистрально-модульная организация микроэвм
Для построения работоспособной микроЭВМ необходимо информационно и конструктивно связать в единое целое самые разнообразные устройства: один или несколько процессоров, внутренние (ОЗУ, ПЗУ) и внешние ЗУ, различные приборы для обмена информацией с человеком (дисплеи, принтеры, графопостроители)
и другие приемники/источники информации (микроЭВМ, бытовые и электроизмерительные приборы и тому подобное). Организующая все эти устройства среда должна обеспечить, во-первых, достоверный обмен информацией между ними, и, во-вторых, гибкость компоновки системы в целом. Эти вопросы решаются на базе магистрально-модульной организации, основанной на принципах агрегатирования и унификации [1.201].
Агрегатирование (модульность) состоит в разделении всего вычислителя на простые функционально и конструктивно законченные блоки — модули. Например, модуль процессора, модуль ОЗУ и ПЗУ, модуль контроллера внешнего ЗУ на магнитном диске.
Унификация заключается в оптимизации номенклатуры модулей, связей между ними и их конструктивного оформления, при условии разнообразной компоновки и эффективного функционирования вычислительной системы. Принцип унификации реализуется прежде всего в стандартах на системы информационного сопряжения модулей — интерфейсы и стандартах на конструктивное исполнение.
Следование принципам магистрально-модульной организации позволяет добиться: высокой гибкости при компоновке и реконфигурации микропроцессорных вычислительных систем, распараллеливания производства между различными производителями, снижения времени и стоимости их изготовления, отладки и ввода в эксплуатацию, удлинения сроков морального старения. Важность и необходимость магистрально-модульной организации средств МпВТ подчеркивается также тем, что разработкой стандартов на интерфейсы и конструкции занимается множество отдельных фирм или групп фирм (инициативных групп), государственных, региональных и международных комитетов, комиссий. Ведущими в области стандартизации ВТ являются:
Международная организация по стандартизации (ISO — International Standards Organization);
Международная электротехническая комиссия (МЭК, IEC — International Electrotechnical Commission);
Международный организационный комитет по телефонии и телеграфии (МККТТ, CCITT — Consultative Committe for International Telephony and Telegraphy);
Межправительственная комиссия по вычислительной технике стран — членов СЭВ (МПК по ВТ);
Американский национальный институт стандартов (ANSI — American National Standards Institute);
Институт инженеров по электротехнике и электронике (IEEE — Institute of Electrical and Electronics Engineers);
Европейский комитет по стандартизации в ядерной физике (ESCONE — Europian Standards on Nuclear Electronics).
4.1. Интерфейсы и магистрали микроЭвм
Магистрально-модульная организация микроЭВМ наглядно отображается в структуре вычислителя (рис. 4.1). Отличительным признаком является единая (и обычно единственная) системная магистраль (шина), связывающая все входящие в систему модули. Правила подключения модулей к магистрали определяются системным (внутренним) интерфейсом. Отличают в структуре также внешние (малые) интерфейсы или интерфейсы периферийного оборудования, задающие правила сопряжения с устройствами ввода-вывода. ;
Под интерфейсом (interface) [1.20] в практике построения МпВТ I понимается совокупность информационно-логических, электрических и конструктивных требований, выполнение которых обеспечивает работоспособное, с оговоренными характеристиками сопряжение различных модулей (элементов, узлов, устройств) системы.
Информационно-логические требования определяют структуру и состав линий и сигналов, способы кодирования и форматы данных, адресов, команд, протоколы обмена для различных режимов и фаз работы. Информационно-логические условия непосредственно влияют на основные характеристики интерфейса — пропускную способность, надежность обмена, аппаратурные затраты.
Электрические требования задают необходимые статические и динамические параметры сигналов на линиях интерфейса: уровни, длительности фронтов и самих сигналов, нагрузочные способности, уровни помех и т. п.
Конструктивные требования указывают на тип соединительного
элемента, распределение линий по контактам соединительного элемента, допустимую длину линий, геометрические размеры платы, каркаса и других конструктивных элементов.
Системный интерфейс в целом существенно влияет на все характеристики микроЭВМ, особенно на производительность, так как она может ограничиваться не быстродействием микропроцессора, а возможностями магистрали по скорости передачи информации.
Когда некоторый модуль выполняет обмен информацией с другим модулем или несколькими модулями (широковещательный обмен), то первый называется ведущим (задатчиком, master), а второй — ведомым (исполнителем, slave). Ведущий модуль управляет магистралью, т. е. генерирует определенную последовательность сигналов, обеспечивающую выполнение требуемой операции. Ведомый модуль посылает сигналы в магистраль только в ответ на соответствующие сигналы ведущего. Сигналы между модулями передаются по линиям — электрическим цепям, связывающим одноименные контакты на всех соединителях (разъемах) магистрали. Как правило, линия и сигнал, который по ней передается, называются и обозначаются одинаково. Совокупность линий, передающих сигналы одного функционального назначения, называются шиной (bus). Отметим, что в англоязычной литературе термин «bus» используется для обозначения и шины, и магистрали. Различают следующие основные шины системной магистрали:
шина данных предназначена для передачи кодов данных между модулями, характеризуется своей разрядностью, фактически это количество линий в шине. Некоторые магистрали допускают изменение разрядности передаваемых кодов данных (но не шины) в процессе функционирования;
шина адреса обеспечивает выбор ведущим модулем требуемого ведомого (передает адрес модуля), а внутри ведомого модуля — выбор требуемого элемента, например, ячейки памяти (передает адрес ячейки) или регистра контроллера ввода-вывода (передает адрес порта УВВ). Адресная шина также характеризуется разрядностью — количеством линий В некоторых магистралях коды адреса и данных передаются по одним и тем же линиям. Такую шину называют мультиплексируемой шиной адреса/данных;
шина управления включает линии, по которым передаются сигналы управления обменом, запросы прерывания, передачи шины, синхронизации и тому подобные;
шина питания подводит питающие напряжения ко всем потребителям, подключенным к магистрали.
Различают три фазы (режима) работы магистрали: фаза обмена, фаза обработки прерываний, фаза арбитража.
В фазе обмена происходит передача информационного кода между ведущим и ведомым модулями. В этой фазе выполняется одна из двух операций: чтение, когда код данных передается из ведомого модуля в ведущий, или запись, когда код данных передается из ведущего модуля в "ведомый. Существуют два основных способа организации обмена—асинхронный и синхронный. Отличительная особенность асинхронной организации заключается во взаимной зависимости смены состояний ведущим и ведомым модулями (см. рис. 4.2,а). Ведущий модуль устанавливает на шине адреса код адреса модуля и элемента в модуле, из которого он хочет получить информацию. Сигналом «Чтение» (обычно низкого уровня) ведущий сообщает всем модулям, что он начинает операцию чтения и что адрес уже установлен на шине. Все модули, подключенные к магистрали, анализируют адрес. Однако активизируется только тот модуль, которому принадлежит установленный на шине адрес, он и становится ведомым. Этот модуль считывает код данных из требуемого элемента (ячейки ЗУ или порта ввода-вывода) и выставляет его на шину данных. Истинность кода ведомый подтверждает сигналом готовности данных. Только, получив сигнал готовности, ведущий может принимать данные. Завершив прием, ведущий снимает адрес и сигнал «Чтение».
Теперь и ведомый может снять код данных с шины и сбросить сигнал готовности. На этом фаза обмена завершается. Обратите внимание, что при такой организации не требуется никаких особых сигналов синхронизации.
При синхронном способе смена состояний модулей, участвующих в обмене, происходит в строго оговоренные моменты времени, определяемые специальным сигналом синхронизации. На рис. 4.2, б показан пример синхронной организации обмена. Операция обязана завершиться за три такта. Причем в первом такте ведущий модуль должен выставить адрес и управляющий сигнал, определяющий операцию, в рассматриваемом примере — низкий уровень сигнала «Чтение». Ведомый модуль, распознав в первом такте, что ведущий обращается к нему и желает прочитать содержимое некоторого элемента (ячейки ЗУ или порта ввода-вывода), должен во втором такте выбрать эту информацию и выставить ее на шину данных. Ведущий модуль всегда принимает код данных в начале третьего такта и затем снимает адрес и сигнал «Чтение». На этом операция завершается. Важно, что модули работают совершенно независимо и при выполнении всех временных требований нет необходимости в сигнале подтверждения готовности данных от ведомого. Считается, что асинхронная организация обмена упрощает сопряжение устройств с различной скоростью передачи данных, но снижает пропускную способность магистрали. Синхронная организация позволяет достичь максимальных скоростей, но затрудняет связь между существенно различными по временным характеристикам устройствами. Для устранения последнего недостатка в реальных синхронных магистралях так или иначе вводится подтверждение готовности ведомого к выполнению операции.
Возможны случаи, когда нескольким модулям одновременно необходимо выполнить обмен. Но магистраль одна и пользоваться ею в каждый отдельный момент времени может только один ведущий. Поэтому возникает необходимость в фазе арбитража, в которой выбирается один модуль из всех, желающих стать ведущим. Выбранному модулю и предоставляется право управления магистралью.
Существует два принципиально различных способа арбитража. Первый — централизованный, параллельный (рис. 4.3, а). В этом случае к магистрали подключается специальный модуль — арбитр (контроллер) магистрали, имеющий входы запроса и выходы разрешения. Каждый модуль, который пытается стать ведущим, формирует сигналы запроса магистрали (ЗМ) и передает их арбитру. Последний по некоторому алгоритму выбирает модуль, который должен стать ведущим в очередной фазе обмена, и сообщает ему об этом, формируя сигнал разрешения (Р) на занятие магистрали. Фаза арбитража на этом завершается и начинается фаза обмена под управлением выбранного модуля. Второй способ арбитража — цепочечный, последовательный (daisy-chain). Все потенциально ведущие модули пронизывает линия (цепочка) разрешения занятия магистрали (см. рис. 4.3, б).
Пример
Пусть модуль 2 пытается захватить управление. В фазе арбитража он разрывает цепочку и анализирует состояние входа разрешения. Если на входе установлена логическая единица, то есть ни один модуль, расположенный правее, не разорвал линию и, следовательно, не требует магистрали, то модуль 2 может ее занимать. Если на входе разрешения отсутствует единичный сигнал, то какой-то модуль справа тоже стремится выполнить обмен, и управление шиной получает он, а не модуль 2. Таким образом, между модулями устанавливается «географический» приоритет — чем правее, тем приоритетнее (для нашего примера), и никакого специального арбитра не требуется. Фактически при последовательном способе арбитр магистрали как бы распределяется между всеми модулями, в каждом из которых есть схемы, выполняющие его функции.
И последовательный и параллельный способы допускают частичное или полное совмещение фазы обмена и фазы арбитража. Естественно, это требует дополнительной регламентации и дополнительных линий. Например, вводится линия «Занято», и модулям разрешается запрашивать магистраль, только если она свободна ?на линии «Занято» низкий уровень). Получив управление шиной, ведущий модуль переводит линию в единичное состояние. Следовательно пока ведущий модуль не завершит обмен, никакой другой, паже старший по приоритету, не получит управление магистралью, но и никаких специально выделенных тактов для арбитража не требуется. К преимуществам параллельного арбитража относятся [1.13] малое время выбора ведущего, возможность программной настройки системы приоритетов между модулями. Но количество ведущих модулей, подключаемых к магистрали, ограничивается количеством входов и выходов арбитра. И схемно, и организационно более прост последовательный способ, однако его эффективность снижается большими задержками в распространении сигнала разрешения по длинной цепочке и невозможностью программного управления приоритетами модулей. Реальные магистрали допускают то или иное совмещение двух основных способов арбитража, позволяющее сочетать достоинства каждого. Отметим, что простейшие системные магистрали разрешают подключение только одного ведущего модуля, обычно процессорного. Возникновение конфликта в этом случае невозможно и арбитраж в любом его виде не нужен.
Фаза прерывания наступает, когда некоторый модуль стремится обратить внимание ведущего на свое состояние. Например, принтер завершил печать сообщения и может печатать следующее, контроллер должен сообщить об этом процессору. Или в процессе передачи группы данных в память из дискового накопителя произошла ошибка Канал прямого доступа должен немедленно поставить в известность об этом процессор. Организация прерываний в системных магистралях достаточно проста пока допускается только один обработчик прерываний, как правило процессорный модуль, а само количество запросов невелико. В шине управления выделяется несколько линий, по которым запросы от всех устройств передаются обработчику. Получив запрос или запросы, обработчик инициализирует на магистрали фазу прерывания, во время которой происходит выделение наиболее приоритетного запроса и идентификация модуля который его выставил. Фаза прерывания завершается передачей в процессор вектора прерывания — кода адреса программы, обслуживающей данное устройство. При росте числа источников запросов и ограниченном количестве линий их передачи приходится усложнять организацию прерываний. Вводятся, например, линии последовательной передачи запросов типа daisy-chain и программный поиск в цепочке устройства, выставившего запрос. Если разрешается подключение к магистрали нескольких обработчиков (мультипроцессорные системы), то организация прерывании еще более усложняется. Принципиальным преодолением этих затруднений является введение виртуальных прерывании — передачи сообщений специального вида между модулями в стандартных фазах обмена. Виртуальные прерывания полностью снимают проблемы количества запросов, их идентификации и множественности обработчиков. Однако реакция на запросы при этом замедляется, что существенно при использовании микроЭВМ в системах реального времени.
В зависимости от конструктивного исполнения микроЭВМ системные магистрали можно разделить 12.11 на внутримодульные (внутриплатные) и межмодульные (межплатные, внутриблочные). Межмодульные системные магистрали развивались вслед за микропроцессорами. Можно указать три поколения системных интерфейсов:
первое поколение ориентировано на 8-разрядные МП с 16-разрядными адресами. Шина адреса обеспечивает доступ к 64 Кбайт памяти. Скорость обмена по шине данных — до 2 Мбайт/с. Основные характеристики наиболее популярных магистралей первого поколения приведены в табл. 4.1;
второе поколение поддерживает 16-разрядные МП с расширенными 20—32-разрядными адресами. В шинах данных допускается передача кодов разной разрядности (8 или 16), скорость обмена увеличена до 8—10 Мбайт/с. Характеристики шин второго поколения показаны в табл. 4.2;
третье поколение применяется с 16- и 32-разрядными микропроцессорами. Они имеют 32-разрядную мультиплексируемую шину адреса/данных, допускают обмен со скоростями до 40 Мбайт/с (ТТЛ) и 80 Мбайт/с (ЭСЛ). Обеспечивается как обычная, логическая адресация модулей, так и географическая (топологическая) — по месту расположения модуля в конструктиве. Сама магистраль состоит из нескольких подмагистралей, специализированных на выполнение функций передачи данных с различными скоростями и в различных условиях. Основные параметры магистралей третьего поколения приведены в табл. 4.3.
Внутримодульные системные магистрали получили широкое распространение в персональных микроЭВМ. Они, как правило, ориентированы на определенный МП и во многом повторяют некоторую межплатную магистраль. В табл. 4.4 показаны характеристики магистралей двух типов, используемых в ПЭВМ фирм IBM и Apple.
Таблица 4.1. Системные магистрали первого поколения
|
||||
Характеристика |
Магистраль |
|||
S-100 |
Q-bus |
STD.bus |
Multibus |
|
Разработчик |
MITS |
DEC |
Pro-log |
Intel |
Стандартизация |
IEEE 696 |
|
IEEE 61 |
|
Разрядность |
|
|
|
|
адресов
|
16
|
161 |
16
|
16 16 |
данных |
8 |
161 |
8 |
16 |
Протокол обмена |
Асинхронный |
Асинхронный |
Синхронный |
Асинхронный |
Скорость передачи данных, Мбайт/с |
|
2
|
|
2
|
Способ арбитража |
Один ведущий модуль |
Один ведущий модуль |
Последовательная цепочка |
Последовательная цепочка; параллельный с арбитром |
Размер платы, мм |
130х232 |
228Х132 |
165,1х94,3 |
304,8х171,5 |
Тип разъема |
Ножевой |
Ножевой |
Ножевой |
Ножевой |
Число контактов |
100 |
72 |
56 |
86 |
Число подключаемых модулей |
20 |
15 |
|
8 |
1Мультиплексируемая шина адресов/данных.
Внутримодульные системные магистрали получили широкое распространение в персональных микроЭВМ. Они, как правило, ориентированы на определенный МП и во многом повторяют некоторую межплатную магистраль. В табл. 4.4 показаны характеристики магистралей двух типов, используемых в ПЭВМ фирм IBM и Apple.
Следует отметить, что между магистралями, вернее, между группами фирм, поддерживающими тот или иной интерфейс, ведется жесткая конкурентная борьба. Естественно, чем популярней магистраль, тем больший доход имеют предприятия, выпускающие оборудование, которое можно к ней подключить. В связи с этим важным является национальная и/или международная стандартизация интерфейса. Получив статус стандарта, имея подробные спецификации и описания, интерфейс становится мощным фундаментом для широчайшего внедрения совместимых с ним средств МпВт.
Таблица 4.2. Системные магистрали второго поколения
|
||||
Характеристика |
Магистраль |
|||
Z-bus |
Versubus |
Eurobus |
Multibus I |
|
Разработчик |
Zilog |
Motorola |
Ferranti |
Intel |
Стандартизация |
|
|
|
IEEE 796 |
Разрядность |
|
|
|
|
адресов |
321 |
24; 32 |
261 |
20 |
данных |
321 |
32 |
341 |
16 |
Варианты поля данных |
8; 16 |
8; 16; 32 |
8; 16; 24 |
8; 16 |
Протокол обмена |
Синхронный |
Асинхронный Синхронный |
Асинхронный |
Асинхронный |
Скорость передачи данных, Мбайт/с |
|
5
|
8
|
|
Способ арбитража |
Последовательная цепочка |
Последовательная цепочка; параллельный арбитр |
Параллельный арбитр с индивидуальными линиями |
Последовательная цепочка; параллельный арбитр |
Размер платы |
160х100 160х233,94 |
368,3х235 |
160(220)х100(233) |
304,8х171,5
|
Тип разъема |
Ножевой |
Ножевой |
Накладной |
Ножевой |
Число контактов |
96 |
140; 120 |
64 |
86 |
Число подключаемых модулей |
8 |
24 |
20 |
8 |
1 Мультиплексируемая шина адреса/данных. |
Таблица 4.3. Системные магистрали третьего поколения
|
||||
Характеристика |
Магистраль |
|||
VМЕ |
MultibusII |
FUSTBUS |
Futurebus |
|
Разработчик |
Motorola |
Intel |
NIM |
|
Стандартизация |
IEEE 1014 |
|
IEEE 960 |
IEEE 896 |
Разрядность |
|
|
|
|
адресов |
32 |
321 |
321 |
321 |
данных |
32 |
321 |
321 |
321 |
Варианты поля данных |
8; 16; 32 |
8;16;24;32 |
32 |
32 |
Протокол обмена |
Асинхронный |
Асинхронный Частично синхронный |
Асинхронный |
Асинхронный |
Скорость передачи данных, Мбайт/с |
20 |
40 |
80 |
32 |
Географическая адресация |
Нет |
Есть |
Есть |
Есть |
Виртуальные прерывания |
Нет |
Есть |
Нет |
Есть |
Последовательная шина |
Есть |
Есть |
Есть |
Есть |
Способ арбитража |
Последовательно-параллельный с арбитром |
Параллельный с арбитром |
Параллельный со специальным модулем |
Параллельный, децентрализованный |
Размер платы |
160х100 160х233,3 |
220х100 220х233,3 |
400х366,7 |
Многовариантный |
Число контактов разъема |
2х96 |
96 |
130 |
96 |
Число подключаемых модулей |
20 |
20 |
26 |
32 |
1 Мультиплексируемые шины адреса/данных. |
|
Таблица 4.4. Внутримодульные системные магистрали персональных микроЭВМ |
||
|
Тип ПЭВМ |
|
Характеристика |
IBM PC |
Apple II |
Микропроцессор |
8088 |
6502 |
Разрядность |
|
|
адресов
|
20
|
16
|
данных
|
8
|
8
|
Протокол обмена |
Синхронный с диалогом |
Синхронный |
Скорость передачи данных, Мбайт/с |
0,9 |
|
Количество разъемов расширения |
5 |
8 |
Тип разъема |
Ножевой |
Ножевой |
Число контактов |
62 |
50 |