Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ТУЛЬСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Институт прикладной математики и компьютерных наук
Кафедра вычислительной техники
КОНСПЕКТ ЛЕКЦИЙ
по дисциплине
МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ
Уровень профессионального образования: бакалавриат
Направление подготовки: 09.03.01
«Информатика и вычислительная техника»
Профиль (специализация) подготовки:
Системы автоматизированного проектирования
Вычислительные машины, комплексы, системы и сети
Автоматизированные системы обработки информации и управления
Программное обеспечение средств вычислительной техники и автоматизированных систем
Квалификация выпускника: бакалавр
Форма обучения: очная
Тула, 2018
2
Конспект лекций составлен доцентом С.М. Афанасьевой и обсуждены
на заседании кафедры вычислительной техники ИПМКН
протокол № __ от «___»_________ 2018 г.
Зав. кафедрой _________________ А.Н. Ивутин
3
Содержание
СОДЕРЖАНИЕ ......................................................................................................................................................... 3
ТЕМА 1.ОСНОВНЫЕ НАПРАВЛЕНИЯ ПРИМЕНЕНИЯ МИКРОПРОЦЕССОРНЫХ СИСТЕМ ........ 4
ТЕМА 2. БАЗОВЫЙ НАБОР ФУНКЦИЙ И МОДУЛЕЙ МПС....................................................................... 6
ТЕМА 3. ЗАДАЧА РАЗРАБОТКИ МПС............................................................................................................... 9
ТЕМА 4. МИКРОПРОЦЕССОРЫ И МИКРОКОНТРОЛЛЕРЫ .................................................................. 10
ТЕМА 5. МП С СОКРАЩЕННЫМ НАБОРОМ КОМАНД............................................................................ 13
ТЕМА 6. МИКРОСХЕМЫ ПАМЯТИ ................................................................................................................. 16
ТЕМА 7. МУЛЬТИМИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ ........................................................................ 18
ТЕМА 8. SMP, МРР И NUMA - АРХИТЕКТУРЫ............................................................................................. 19
ТЕМА 9. ОСНОВНЫЕ ЭТАПЫ ПРОЕКТИРОВАНИЯ МПС. ...................................................................... 23
ТЕМА 10. 8-РАЗРЯДНЫЙ МИКРОПРОЦЕССОР I8080................................................................................. 25
ТЕМА 11. КОМАНДНЫЙ ЦИКЛ МИКРОПРОЦЕССОРА I8080 ................................................................. 27
ТЕМА 12 16-РАЗРЯДНЫЙ МИКРОПРОЦЕССОР I8086................................................................................ 28
ТЕМА 13. ВНУТРЕННЯЯ СТРУКТУРА МП I8086 ......................................................................................... 29
ТЕМА 14. МАШИННЫЕ ЦИКЛЫ I8086 В МИНИМАЛЬНОМ И МАКСИМАЛЬНОМ РЕЖИМАХ .. 33
4
Тема 1.Основные направления применения микропроцессорных систем
Из многочисленных и разнообразных областей применения микропроцессоров
(МП) и микроЭВМ одно из первых мест по объему и использованию занимают микропроцессорные системы - объектно-ориентированные вычислительные системы, например, для
управления, диагностики, цифровой обработки сигналов и изображения.
В микропроцессорных системах особенно эффективно проявляется такое важное
свойство микропроцессоров, как встраиваемость, возможность приблизить вычислительную технику непосредственно к объекту измерений, управления, обработки информации
или диагностики.
Основные задачи, которые могут решаться с помощью микропроцессорных систем,
следующие:
- управление сложным технологическим процессом или техническим объектом
по заданным алгоритмам;
- цифровая обработка сигналов непосредственно на месте расположения источника сигналов;
- обработка изображения – фильтрация, повышение четкости, выделение контуров, масштабирование и т.п. в системах технического зрения в промышленных роботах, в
системах радиолокации, в системах наблюдения, навигации и т.п.
- адаптация автоматических систем измерения, управления, прогнозирования к
изменяющимся условиям;
- создание гибких перестраиваемых систем управления, цифровой обработки
сигналов и изображения;
- накопление и предварительная обработка информации;
- создание многофункциональных приборов, расширение возможностей существующих приборов;
- создание «интеллектуальных» приборов и систем, повышение уровня интеллекта существующих приборов и аппаратов;
- осуществление самодиагностики и тестирования аппаратуры.
Возможность реализации этих функций в микропроцессорных системах в совокупности с достижениями электроники и средств связи, развитием математических методов
обработки сигналов при измерениях и разработкой соответствующего программного
обеспечения создала необходимые предпосылки для появления новых поколений микропроцессорных систем и аппаратуры, обладающих следующими возможностями:
- полной автоматизацией всех видов обработки информации, объединением и координацией всех предусмотренных системой функций;
- наращиванием состава системы и расширением ее функций благодаря магистрально-модульной структуре построения и развитию программного обеспечения;
- разнообразием алгоритмов и методов измерений;
- децентрализацией выполняемых задач по функциональному, организационному
и территориальному признакам, наличием средств искусственного интеллекта, возможности обучения системы, ее адаптации и оптимизации;
- высокой надежностью и функциональной безотказностью благодаря средствам
самодиагностики и тестирования, а также гибкости управления системой;
- возможностью сопряжения с другими вычислительными системами.
Для практической реализации вышеперечисленных задач необходимо комплексное
решение научных, технических и технологических вопросов, связанных с созданием и
развитием аппаратных и программных средств, методов математического моделирования
сложных процессов и технических объектов, аналого-цифровых и цифроаналоговых преобразователей (ЦАП), интерфейсных БИС и других электронных компонентов, с исполь-
5
зованием современных средств связи и, наконец, с подготовкой кадров, способных грамотно решать поставленные задачи.
6
Тема 2. Базовый набор функций и модулей МПС
Обобщенная структурная схема МПС, реализующей информационноизмерительную систему, (рис. 1) содержит следующие составные части:
1- группу датчиков (Д), размещенных постоянно в определенных точках объекта
исследования, или перемещающихся в пространстве (сканирующего типа) или воспринимающих одновременно поле исследуемого объекта;
2- аналоговые преобразователи (АП), содержащие предусилительные и согласующие устройства, фильтры, нормирующие и функциональные преобразователи, аналоговые
каналы связи;
3- аналого-цифровые преобразователи (АЦП) и многоканальные аналоговые коммутаторы, схемы выборки - хранения, компараторы;
4- контроллеры датчиков, обеспечивающие управление сбором информации с датчиков, передачу данных в ядро МПС;
6
Объект
1
2
3
4
5
Сеть
10
9
8
7
Рис. 1. Обобщенная структурная схема микропроцессорной системы
5 – ядро МПС содержит компьютер - процессор, память, устройства ввода вывода,
формирователи импульсов, таймеры, преобразователи кодов, специализированные цифровые вычислительные устройства (умножители, быстрые преобразователи Фурье и др.);
устройства отображения и регистрации результатов измерения, включающие печатающие
устройства, накопители информации на магнитной ленте и дисках, дисплеи, сигнализаторы, цифровые индикаторы;
6 - каналы передачи данных - цифровой связи, модемы, оптические линии связи,
формирователи помехозащищенных кодов;
7 – контроллеры вывода результатов обработки;
8 - цифроаналоговые преобразователи (ЦАП) и выходные демультиплексоры;
9 – согласующие устройства – усилители мощности, преобразователи сигналов и
формирователи выходных импульсов;
10 - регуляторы, включающие различные исполнительные устройства (двигатели,
нагреватели, реле и т.д.);
Конечно, не во всякой МПС требуется включение всех приведенных на рис. 1.1
блоков. Для каждой конкретной системы или прибора количество блоков, состав функций
и связи между блоками должны устанавливаться особо.
7
Вариант схемы ядра МПС представлен на рис.2.
ПЗУ
ОЗУ
Контроллер
памяти
Адаптер
связи
Модем
АВ
DВ
СВ
ЦПр
Порт
ввода
Порт
вывода
ВУ
ВУ
Контроллер
ввода-вывода
Контроллер
датчиков
от датчиков
Контроллер
регуляторов
к регуляторам
Рис.2. Вариант схемы ядра МПС
Порты ввода- вывода выполняют следующие функции: 1) выбор требуемого модуля системы, т.е. селекция нужного устройства; 2) подключение выбранного модуля к шине
данных по соответствующему сигналу CS или отключение от нее (роль шинного формирователя); 3) сохранение уровней сигналов в период их чтения или записи, независимо от
длительности этих операций.
Код выбора внешнего устройства (ВУ) содержится в командах ввода-вывода и по
шине адреса передается на все контроллеры ВУ (КВУ). Каждый из них имеет свой собственный селектор адреса. С КВУ сигнал подается на вход CS соответствующего порта
ввода или вывода. При наличии такого сигнала к центральному процессору в процессе работы МПС может подключаться только одно ВУ. Входы и выходы всех остальных ВУ при
этом остаются в третьем, выключенном состоянии, т.е. отключены от системной шины. От
центрального процессора к ВУ поступают сигналы, управляющие направлением обмена
данными: RD – прием информации центральным процессором из порта ввода, WR – передача информации от центрального процессора в порт вывода.
ВУ, отстоящие от МПС дальше, чем 15 м, требуют специальных периферийных
алаптеров связи, связывающих каналы связи с системной шиной. При передачи данных по
одной линии связи каждый символ сообщения должен быть закодирован последовательностью бит, число которых определяется принятой системой кодирования: 8 бит – при использованиии кода ASCII (American Standart Code for Information Interchange), ДКОИ
(двоичный код обработки информации; 7 бит - при использовании КОИ-7 (код обмена
информацией); 5 - бит при использовании телеграфного кода. При использовании телеграфного кода за счет введения трех кодов для трех групп символов: цифр (код 11011),
латинских букв (код 11111) и русских (код 00000), в результате телеграфным кодом можно закодировать 78 различных символов. Таким образом, для передачи символа требуется
по линии связи передавать 5, 7 или 8 бит.
8
ЭВМ
верхнего
уровня
системная магистраль
ИБ
ОС
Объект
Д
ИУ
ИУ
ИУ
БВИ
ВП
СП
ИУ
ИУ
ИУ
УУ
(микроЭВМ)
ИМ
видеомагистраль
ИБ
ИУ
МП
УВИ
Рис.3. МПС для обработки изображения в системе технического зрения: ОС – осветительная система, ИБ- интерфейсный блок, БВИ – блок ввода изображения, УВИ – устройство визуализации изображения, ВП – видеопамять, СП – спецпроцессор для обработки изображения, ИМ – исполнительный механизм механического робота
Микро-ЭВМ (ПК) управляет последовательностью выполнения процедур обработки изображения, обменом информации с системой управления (движением робота, нацеливанием на объект и т.п.), а также обеспечивает реализацию алгоритмов адаптации системы технического зрения к изменяющимся условиям внешней среды.
Управление ОС осуществляется с целью компенсации изменения внешней освещенности, производится программно, на основе анализа изображения, поступающего от
датчиков оптической информации Д. Число и места расположения датчиков определяются
формой объекта и особенностями решаемой задачи МПС.
9
Тема 3. Задача разработки МПС
Основу МПС составляют универсальные программируемые БИС: МП, порты ввода/вывода, таймеры, контроллеры прерываний и т. д., конкретизация функционирования
которых осуществляется путем программирования, в связи с чем, полное описание МПС
должно включать помимо принципиальных электрических схем также описание программного обеспечения, отражать взаимосвязи аппаратной части и программного обеспечении, временные диаграммы сигналов и протоколы обмена информацией. Указанные характеристики объединяются понятием организации МПС.
Организация МПС включает в себя несколько уровней описания.
На физическом уровне организация МПС отображается принципиальной электрической схемой, а также включает в себя характеристики и временные диаграммы сигналов
управления аппаратных модулей МПС.
Организация МПС на логическом уровне (логическая организация) представляется
архитектурой, отражающей модульный состав, функциональные связи в МПС. Она характеризует вычислительную среду, предоставляемую пользователю для разработки его прикладных программ. В общем случае архитектура отражает:
- совокупность программно-доступных компонентов МП и МПС (регистры, таймеры, счетчики, контроллеры прерываний и т.д.), связей между ними;
- способы представления и форматы данных;
- систему команд;
-режимы адресации;
-систему прерываний;
- форматы управляющих слов.
Неотъемлемой частью архитектуры любой современной микропроцессорной системы с микропроцессорами или микроЭВМ является ее системное и прикладное программное обеспечение (ПО). Различают два вида системного ПО: внутреннее (резидентное) обеспечение, которое образуют служебные программы, постоянно хранимые в памяти системы и необходимые для разработки прикладных программ, и кросс программное
обеспечение, представляющее собой комплект программ, используемых пользователем на
этапе разработки системы или ее модернизации.
Большинство микропроцессорных систем со встроенными микропроцессорами изза ограниченной емкости памяти содержат только прикладные программы пользователя.
Комплекс ПО МПС обычно включает библиотеку программных модулей, предназначенных для реализации типовых процедур ввода - вывода, преобразования кодов, обработки прерываний, вычисления функций и т.д.
10
Тема 4. Микропроцессоры и микроконтроллеры
Условно, по признаку архитектуры, все микропроцессоры можно разделить на три
больших класса: однокристальные, многокристальные и секционированные (Рис. 4).
Микропроцессоры
Секционные
Однокристальные
Многокристальные
CISC
RISC
Микроконтроллеры
(ОЭВМ)
RISC-МП
Транспьютеры
Сигнальные
Рис. 4. Типы МП
Однокристальные микропроцессоры полностью реализованы на одном кристалле
кремния и конструктивно размещены в одном корпусе интегральной микросхемы. Они
имеют фиксированную разрядность (8, 16, 32 или 64 двоичных разряда) и фиксированный
набор команд (80 - 140 команд), который не может быть изменен пользователем. Они не
имеют средств для наращивания разрядности или числа команд.
Многокристальные микропроцессоры (иногда их называют функциональномодульными) конструктивно представляют собой комплект из нескольких (обычно 3 - 4)
микросхем большой степени интеграции (БИС), причем каждая из них выполняет функции одного из устройств, входящих в обобщенную структурную схему микропроцессора
(рис. 5). Многокристальные микропроцессоры в том понимании, как здесь указано, имеют
фиксированную разрядность и обычно фиксированный набор команд.
m
Данные
УОД
СШ
c1 c2 c3 c4
x
БИ
cn
КОП
УУ
Рис. 5.
Секционированный микропроцессор конструктивно также представляет собой
комплект из нескольких микросхем. Однако в отличие от многокристального микропроцессора в секционированном микропроцессоре устройство обработки данных и блок ин-
11
терфейса, входящие в общую структуру микропроцессора, разделяются на части не по
функциональному принципу, а по группам разрядов.
Главными отличительными признаками МП с микропрограммным управлением
являются:
— секционированность микропроцессорных комплектов БИС, позволяющая из малоразрядных (2- и 4-разрядных) секций создавать путем объединения многоразрядные
МПС;
— наличие независимых шин адреса, данных и управления, обеспечивающих разнообразие архитектур МПС и поточную обработку данных;
— наличие встроенных трехстабильных буферных выходных усилителей с большим коэффициентом разветвления;
— микропрограммируемость.
Микропрограммируемость заключается в том, что каждой команде в этом случае
соответствует не электрическая схема, а микропрограмма, которая хранится в памяти,
расположенной на отдельном кристалле. Достоинство МП с микропрограммным управлением — возможность изменения набора команд путем изменения содержимого памяти,
что позволяет для конкретных задач МПС создать оптимальную систему команд. Недостаток - более низкое быстродействие из-за необходимости обращения к внешней памяти
микропрограмм.
Первые секционированные комплекты БИС, выполненные по ТТЛШ-технологии,
были освоены в 1974 г. К ним относятся серии 3000 фирмы Intel (США) и 2900 фирмы
Advanced Micro Divices(США). На их основе был спроектирован 16-разрядный центральный процессор, содержащий около 20 БИС. Отечественными представителями данного
класса являются микропроцессорные комплекты К585, К589, К1802 и др.
Необходимо помнить, что затраты, требуемые на проектирование МПС на основе
секционированных МП - комплектов, значительно выше чем на основе однокристальных
МП. Это объясняется тем, что в отличие от однокристальных МП в данном случае необходимо, во-первых, из отдельных секций сконструировать МП и, во-вторых, разработать
систему команд на уровне микропрограмм под полученную конфигурацию МП.
Однако возможность разработки систем команд для МП на основе санкционированных БИС позволяет создавать уникальное программное обеспечение, максимально
адаптированное к решению конкретной задачи.
Упрощенную структуру секционированного микропроцессора по аналогии со
структурой однокристального микропроцессора (рис. 5) можно представить в виде рис. 6.
УОД
УОД
УОД
БИ
БИ
БИ
МУУ
МУУ
МУУ
УУ
Рис. 6.
12
Каждая из секций в функциональном отношении представляет собой совокупность
тех же основных блоков, что и однокристальный микропроцессор: УОД, БИ, а также местное устройство управления (МУУ). Конструктивно каждая из секций размещена в отдельном корпусе микросхемы и имеет сравнительно небольшое число разрядов (2, 4, 8).
Однако секции могут соединяться между собой, образуя в целом наращиваемое вычислительное или управляющее устройство с практически любой необходимой разрядностью:
1б, 32, 64 и более разрядов. Помимо местного устройства управления, необходимого в каждой секции, секционированный микропроцессор имеет также устройство управления
(УУ), общее для всего микропроцессора. Устройство управления конструктивно реализуется обычно в виде нескольких отдельных микросхем.
Как правило, устройство управления секционированного микропроцессора также
может наращиваться, что дает возможность пользователю не только изменять по своему
усмотрению список команд, но и увеличивать (наращивать) число команд, если в этом
возникнет необходимость.
Таким образом, в отличие от однокристального микропроцессора, который имеет,
как правило, аппаратную или «жесткую» логику управления, секционированный микропроцессор имеет «гибкую» или микропрограммируемую логику управления, что является
большим и важным достоинством этого микропроцессора.
13
Тема 5. МП с сокращенным набором команд
Новое направление развития МП-техники сложилось в начале 80-х гг. К указанному направлению относятся МП третьего класса, которые известны как системы с сокращенным набором команд — RISС-процессоры (Reduce Instruction Set Computer).
Промышленный выпуск 32-битных RISC-процессоров освоили фирмы Inmos (так
называемые транспьютеры) и Acorn (AR.М-Acorn Risc Machine).
Важнейшие особенности «чистого» RISC-процессора заключаются в однотактной
работе (многократные обращения к памяти не предусматриваются) и аппаратном управлении (выполнение команд опирается на быстродействующие схемы, а не на микрокод в
отличие от процессоров с микропрограммным управлением).
Транспьютеры
Хотя транспьютер и является одиночным процессором, однако он не рассчитан на
работу в однопроцессорной конфигурации и ориентирован на параллельную работу нескольких транспьютеров. Подобная конфигурация теоретически обеспечивает линейный
рост производительности при увеличении числа процессоров, например, удвоение числа
транспьютеров удваивает число команд, выполняемых за одну секунду. Для организации
связи с другими транспьютерами, каждый транспьютер имеет несколько последовательных двунаправленных канала связи (линков). Благодаря прямому доступу к памяти обмен
данными по каналам связи может осуществляться одновременно с работой остальных
устройств транспьютера.
Слово «транспьютер» произошло от слов «транзистор» и "компьютер", при этом
подчеркивается параллельность протекания вычислительных процессов (как в аналоговых
системах). Характеристики транспьютеров можно показать на примере трех семейств
транспьютеров: Т2 (Т212, Т222, М212), Т4 (Т414, Т425), Т8 (Т800, Т805). См. табл. 2.1.
Таблица 2.1.
Тип
Разрядность
Внутреннее
MIPS
Число
транспьютера
ОЗУ, кбайт
линков
Т212
16
2
10
4
Т222
16
4
10
4
М212
16
2
10
2
Т414
32
2
10
4
Т425
32
2
10
2
Т800
32
4
4
25
Т805
32
4
4
25
Выполнение программы на нескольких транспьютерах происходит параллельно.
Огромные матрицы транспьютеров представляют собой первое реальное решение задачи
создания компьютеров 5-го поколения, которые по оценкам японских специалистов должны выполнять около 1 млрд команд/с.
Сигнальные процессоры
В середине 80-х гг. сформировалось самостоятельное направление, которое объединяет специализированные микропроцессоры для цифровой обработки сигналов — цифровые процессоры обработки сигналов ЦПОС). Цифровая обработка сигналов охватывает
широчайший спектр практических приложений. К ним относятся цифровая фильтрация,
кодирование и декодирование информации, распознавание звука и речи, обработка изо-
14
бражений, спектральный анализ, цифровая звукотехника, медицинская техника, измерительная техника, управляющие системы. Чем же отличается ЦПОС от обычного МП? В
первую очередь архитектурой и системой команд. В основу построения ЦПОС положены
следующие принципы:
- использование гарвардской архитектуры;
- сокращение длительности командного цикла;
- —применение конвейеризации;
- применение аппаратного умножителя;
- включение в систему команд специальных команд цифровой обработки сигналов.
Основной особенностью фон-неймановской архитектуры является использование
общей памяти для хранения программ и данных.
Основной особенностью гарвардской архитектуры является использование раздельных адресных пространств для хранения команд и данных.
Короткий командный цикл требуется для обеспечения высокой производительности процессора при работе в реальном времени. С развитием полупроводниковой технологии длительность командного цикла снижается.
Для сокращения командного цикла используется уже известный конвейерный режим. Обычно применяется двух- или трехкаскадный конвейер, что позволяет на разных
стадиях выполнения одновременно обрабатывать две или три инструкции.
Аппаратный умножитель применяется для сокращения времени выполнения одной
из основных операций цифровой обработки сигналов — операции умножения. В процессорах общего назначения эта операция реализуется за несколько тактов сдвига и сложения
и занимает много времени, а в ЦПОС благодаря специализированному умножителю - за
один командный цикл.
Система команд сигнальных процессоров включает команды, оптимизированные
для выполнения базовых задач цифровой обработки сигналов: умножение с накоплением,
битовые операции (для графиков), инверсию бит адреса (для БПФ), кольцевые буфера
(для фильтратов и многое другое.
В развитии ЦПОС выделяют три поколения. Наиболее ярким представителем сигнальных ЦПОС первого поколения является МП TMS32010 фирмы Texas Instruments (TI),
выпуск которого начался в 1982 г. TMS32010 оперирует 16-разрядными словами и способен выполнять 5 млн операций умножения или сложения в секунду. Основными характеристиками МП первого поколения семейства TMS являются:
— длительность командного цикла 160-280 нс;
— - ОЗУ объемом 144 или 256 слов;
— ПЗУ программ объемом 1,5 или 4К слов;
— разрядность арифметико-логического устройства и аккумулятора 32;
— умножитель 1616 с 32-разрядным результатом;
— восемь 16-разрядных портов для устройств ввода-вывода.
В середине 80-х гг. появились сигнальные ЦПОС второго поколения. Повышение
степени интеграции микросхем позволило значительно расширить функции ЦПОС. Особо
следует отметить увеличение скорости выполнения команд и распараллеливание обработки данных. Ко второму поколению изделий фирмы Т1 относятся МП ТМS32020,
TMS320C25 и их модификации. МП TMS320C25 может выполнять 10 млн. операций в секунду. Объем встроенного ОЗУ составляет 544 16-разрядных слова. Предусмотрена возможность подключения внешней памяти программ и внешней памяти данных объемом до
128К слов. По сравнению со своими предшественниками процессоры второго поколения
обладают в 2-4 раза большим быстродействием.
15
Ко второму поколению относятся также выпущенные позже 16-разрядные ЦПОС
TMS320C5X фирмы TI и ADSP21xx фирмы Analog Devices. Указанные процессоры имеют
архитектуру, в основном похожую на своих предшественников, но расширенную дополнительными возможностями. В этих процессорах реализованы три режима энергопотребления: активный, периферийный и «спящий>. Активный режим энергопотребления является основным, потребление в этом режиме составляет 1,5 мА/MIPS для 3 В процессора. В
периферийном режиме центральный процессор останавливается, работают только периферийные устройства, при этом энергопотребление составляет приблизительно 0,25
мА/MIPS. В спящем режиме все узлы МП «засыпают» до возникновения внешнего прерывания, потребление снижается до 5 мкА.
В конце 80-х гг. ведущие фирмы - производители ЦПОС, освоив субмикронную
технологию, почти одновременно вышли на рынок с сигнальными МП третьего поколения, реализующими арифметику с плавающей запятой: TMS320C30 фирмы TI, DSP96002
фирмы Motorola, АDSP-21U20) фирмы Analog Devices. МП TMS320C30 по производительности (33 MIPS) значительно превзошел своих конкурентов.
Фирма TI в 1994 году выпустила новый ЦПОС TMS320C80, который имеет второе
название Мultimedia Video Processor (MVP). Эти МП имеют десятикратное увеличение
производительности по сравнению с лучшими из существовавших ранних сигнальных
МП - 2 млрд операций/с). МП представляет собой комбинацию из пяти процессоров, двух
видеоконтроллеров и контроллера пересылок. Четыре процессора имеют 32-разрядную
архитектуру с фиксированной точкой, пятый процессор является управляющим, имеет 32разрядную RISС-архитектуру и содержит встроенный блок плавающей арифметики.
Универсальные микропроцессоры предназначаются для применения в вычислительных системах: персональных ЭВМ, рабочих станциях, а в последнее время и в массово-параллельных супер-ЭВМ. Основной их характеристикой является наличие развитых
устройств для эффективной реализации операций с плавающей точкой над 64 разрядными
и более длинными операндами. Предназначаются в основном для проведения научнотехнических расчетов.
Цифровые сигнальные процессоры рассчитаны на обработку в реальном времени
цифровых потоков, образованных путем оцифровывания аналоговых сигналов. Это обусловливает их сравнительно малую разрядность и преимущественно целочисленную обработку. Однако современные сигнальные процессоры способны проводить вычисления с
плавающей точкой над 32 — 40-разрядными операндами. Кроме того, появился класс медийных процессоров, представляющих собой законченные системы для обработки аудиои видеоинформации.
Наибольшей специализацией и разнообразием функций обладают микроконтроллеры, используемые во встроенных системах управления, в том числе в бытовых приборах. Общее число типов кристаллов с различными системами команд превышает 500, и
все они, в силу существования изделий с их использованием, имеют свою устойчивую долю рынка.
По прогнозам компаний-производителей дальнейшее развитие технологии производства микропроцессоров будет идти в направлении увеличения плотности транзисторов
на кристалле, роста числа слоев металлизации и повышения тактовой частоты, наряду с
уменьшением напряжения питания и удельной (на один транзистор) потребляемой электрической и выделяемой тепловой энергии.
16
Тема 6. Микросхемы памяти
Увеличение быстродействия микропроцессоров повышает требования к пропускным способностям остальных подсистем компьютера и, прежде всего к быстродействию
подсистемы памяти [З]. Разработчики используют более быстродействующую и, соответственно, более дорогую память в наиболее "ответственных" узлах системы. Широко применяется многоуровневая иерархическая архитектура памяти, где на верхнем уровне иерархии расположена более быстродействующая кэш-память, в которую в процессе вычислений помещаются интенсивно используемые фрагменты программного кода и обрабатываемых данных. В реальных системах используется до 2 уровней кэш-памяти. Причем,
кэш-память первого уровня, как правило, располагается на кристалле микропроцессора и
работает с его же тактовой частотой, а кэш-память второго уровня обычно располагается
вне кристалла микропроцессора и строится на базе быстродействующих микросхем памяти.
В настоящее время наиболее распространенными являются энергозависимые, теряющие запомненную информацию при снятии питания, статические и динамические
микросхемы памяти. Статические микросхемы памяти запоминают биты данных в триггерах, что требует 4-6 транзисторов для хранения бита. Динамическая память использует
для запоминания бита информации состояния конденсатора "заряжен - не заряжен". Так
как при этом необходим только электронный ключ для управления разрядом и зарядом
конденсатора, объем оборудования для хранения бита в четыре раза меньше, чем в статической памяти. Однако динамическая память, в отличие от статической, требует регенерации, предотвращающей потерю информации из-за разряда конденсатора током утечки.
Регенерация заключается в считывании состояния заряда конденсатора и восстановлении
этого состояния посредством последующей записи. Регенерация требует дополнительного
времени в цикле обращения к памяти, что снижает ее пропускную способность.
Кэширование оперативной памяти
Основная память, реализуемая на относительно медленных по своей природе микросхемах динамической памяти, обычно требует ввода тактов ожидания процессора (wait
states) в циклы обращения к памяти. Статическая память, построенная, как и процессор, на
триггерных ячейках, по своей природе способна догонять современные процессоры по
быстродействию и избежать (или хотя бы сократить количество) тактов ожидания. Реализация основной памяти на микросхемах SRAM технически и экономически не оправдана,
поскольку плотность упаковки информации у них существенно ниже, а удельная стоимость хранения и энергопотребление (или, что важнее, тепловыделение) существенно
выше, чем у DRAM. Разумным компромиссом для построения экономичных и производительных систем явился иерархический способ построения оперативной памяти. Идея этого
способа заключается в сочетании основной памяти большого объема на DRAM с относительно небольшой кэш памятью на быстродействующих микросхемах SRAM.
В переводе слово «кэш» (cache) означает склад или тайник. Тайна этого склада заключается в его «прозрачности» — для программы он не представляет собой дополнительной адресуемой области памяти. Он является дополнительным и быстродействующим
хранилищем копий блоков информации основной памяти, к которым, вероятно, в ближайшее время будет обращение. Кэш не может хранить копию всей основной памяти, поскольку его объем во много раз меньше объема основной памяти. Он хранит лишь ограниченное количество блоков данных и каталог (cache directory) — список их текущего соответствия областям основной памяти. Кроме того, кэшироваться может не вся память,
доступная процессору: обычно кэшируется только основная динамическая память системной платы (память, установленная на адаптерах, не кэшируется), и из этой памяти кэшируется только часть.
17
При каждом обращении к кэшируемой памяти контроллер кэш-памяти по каталогу
проверяет, есть ли действительная копия затребованных данных в кэше. Если она там
есть, то это случай кэш-попадания (cache hit), и обращение за данными происходит только
к кэш-памяти. Если действительной копии там нет, то это случай кэш-промаха (cache
miss), и данные берутся из основной памяти. В соответствии с алгоритмом кэширования
блок данных, считанный из основной памяти при определенных условиях, заместит один
из блоков кэша. От качества алгоритма зависит процент попаданий и, следовательно, эффективность кэширования. Поиск блока в списке должен производиться достаточно быстро, чтобы не свести на нет выигрыш от применения быстродействующей памяти. Обращение к основной памяти может начинаться одновременно с поиском в каталоге, а в случае попадания — прерываться (архитектура Look Aside). Это экономит время, но лишние
обращения к основной памяти ведут к излишнему энергопотреблению. Другой вариант —
обращение к внешней памяти начинается только после фиксации случая промаха (архитектура Look Through), но на этом теряется, по крайней мере, один такт процессора, зато
экономится энергия. В современных компьютерах кэш обычно строится по двухуровневой
схеме. Первичный кэш (L1 Cache) встроен во все процессоры. Объем его невелик (8-32
Кбайт), и для повышения производительности для данных и команд часто используется
раздельный кэш (так называемая Гарвардская архитектура — противоположность Принстонской, использующей общую память для команд и данных). Быстродействие его таково, что он работает на внутренней тактовой частоте процессора (CPU Clock). Вторичный
кэш (L2 Cache) обычно устанавливается на системной плате. Новые чипсеты поддерживают до 2 Мбайт L2 Cache. Его быстродействие обеспечивает работу на внешней тактовой
частоте процессора — частоте системной шины (Host Bus Clock).
Кэш-контроллер должен обеспечивать когерентность (coherency) — согласованность данных кэш-памяти обоих уровней с данными в основной памяти, причем обращение к этим данным может производиться не только со стороны процессора (а процессоров
может быть и несколько, и у каждого может быть свой внутренний кэш), но и со стороны
других активных (bus-master) адаптеров, подключенных к шинам (PCI, VLB, ISA...).
Кэшируемая основная память условно разбивается на страницы (в данном случае
256), размер которых совпадает с размером кэш-памяти. Кэш память (и опять-таки условно страницы основной памяти) делится на строки (256К/32 = 8К строк). Архитектура прямого отображения подразумевает, что каждая строка кэша может отображать из любой
страницы кэшируемой памяти только соответствующую ей строку. Поскольку объем основной памяти много больше объема кэша, на каждую строку кэша может претендовать
множество блоков памяти с одинаковой младшей частью адреса (смещением внутри страницы). Одна строка в определенный момент может, естественно, содержать копию только
одного из этих блоков.
18
Тема 7. Мультимикропроцессорные системы
В настоящее время сфера применения мультимикропроцессорных систем (ММС)
непрерывно расширяется, охватывая все новые области в различных отраслях науки, бизнеса и производства. Стремительное развитие кластерных систем создает условия для использования мультимикропроцессорной вычислительной техники в реальном секторе
экономики.
Если традиционно ММС применялись в основном в научной сфере для решения
вычислительных задач, требующих мощных вычислительных ресурсов, то сейчас из-за
бурного развития бизнеса резко возросло количество компаний, отводящих использованию компьютерных технологий и электронного документооборота главную роль. В связи
с этим непрерывно растет потребность в построении централизованных микропроцессорных систем для критически важных приложений, связанных с обработкой транзакций,
управлением базами данных и обслуживанием телекоммуникаций. Можно выделить две
основные сферы применения описываемых систем: обработка транзакций в режиме реального времени (OLTP, on-line transaction processing) и создание хранилищ данных для
организации систем поддержки принятия решений (Data Mining, Data Warehousing, Decision Support System).
Наряду с расширением области применения по мере совершенствования ММС
происходит усложнение и увеличение количества задач в областях, традиционно использующих высокопроизводительную вычислительную технику. В настоящее время выделен
круг фундаментальных и прикладных проблем, эффективное решение которых возможно
только с использованием сверхмощных вычислительных ресурсов, включает следующие
задачи:
• предсказания погоды, климата и глобальных изменений в атмосфере;
• науки о материалах;
• построение полупроводниковых приборов;
• сверхпроводимость;
• структурная биология;
•разработка фармацевтических препаратов;
• генетика;
• квантовая хромодинамика;
• астрономия;
• транспортные задачи;
• гидро- и газодинамика;
• управляемый термоядерный синтез;
• эффективность систем сгорания топлива;
• геоинформационные системы;
• разведка недр;
• наука о мировом океане;
• распознавание и синтез речи;
• распознавание изображений.
Мультимикропроцессорные системы могут существовать в различных конфигурациях. Наиболее распространенными типами ММС являются:
• системы высокой надежности;
• системы для высокопроизводительных вычислений;
• многопоточные системы.
19
Тема 8. SMP, МРР и NUMA - архитектуры.
SMP-архитектура
SMP (symmetric multiprocessing) — симметричная мультимикропроцессорная архитектура. Главной особенностью систем с архитектурой SMP является наличие общей физической памяти, разделяемой всеми процессорами.
ЦП
ЦП
ЦП
Подсистема В/В
Общая физичес кая па мять
Рис. 7. Схематический вид SMP-архитектуры
Память служит, в частности, для передачи сообщений между процессорами, при этом
все вычислительные устройства при обращении к ней имеют равные права и одну и ту же
адресацию для всех ячеек памяти. Поэтому SMP-архитектура называется симметричной.
Последнее обстоятельство позволяет очень эффективно обмениваться данными с другими
вычислительными устройствами. SMP-система строится на основе высокоскоростной системной шины (SGI PowerPath, Sun Gigaplane, DEC TurboLaser), к слотам которой подключаются функциональные блоки типов: процессоры (ЦП), подсистема ввода/вывода (I/O) и т.
п. Для подсоединения к модулям I/O используются уже более медленные шины (PCI,
VME64). Наиболее известными SMP-системами являются SMP-серверы и рабочие станции
на базе процессоров Intel (IBM, HP, Compaq, Dell, ALR, Unisys, DG, Fujitsu и др.) Вся система работает под управлением единой ОС (обычно UNIX-подобной, но для Intel-платформ
поддерживается Windows NT). ОС автоматически (в процессе работы) распределяет процессы по процессорам, но иногда возможна и явная привязка. Основные преимущества
SMP-систем:
• простота и универсальность для программирования. Архитектура SMP не накладывает ограничений на модель программирования, используемую при создании приложения: обычно используется модель параллельных ветвей, когда все процессоры работают независимо друг от друга. Однако можно реализовать и модели, использующие
межпроцессорный обмен. Использование общей памяти увеличивает скорость такого
обмена, пользователь также имеет доступ сразу ко всему объему памяти. Для SMPсистем существуют довольно эффективные средства автоматического распараллеливания;
• простота эксплуатации. Как правило, SMP-системы используют систему кондиционирования, основанную на воздушном охлаждении, что облегчает их техническое обслуживание;
• относительно невысокая цена.
Недостатки:
• системы с общей памятью плохо масштабируются.
Этот существенный недостаток SMP-систем не позволяет считать их по-настоящему
перспективными. Причиной плохой масштабируемости является то, что в данный момент
шина способна обрабатывать только одну транзакцию, вследствие чего возникают проблемы разрешения конфликтов при одновременном обращении нескольких процессоров к одним и тем же областям общей физической памяти. Вычислительные элементы начинают
друг другу мешать. Когда произойдет такой конфликт, зависит от скорости связи и от коли-
20
чества вычислительных элементов. В настоящее время конфликты могут происходить при
наличии 8-24 процессоров.
Кроме того, системная шина имеет ограниченную (хоть и высокую) пропускную
способность (ПС) и ограниченное число слотов. Все это, очевидно, препятствует увеличению производительности при увеличении числа процессоров и числа подключаемых пользователей. В реальных системах можно задействовать не более 32 процессоров. Для построения масштабируемых систем на базе SMP используются кластерные или NUMAархитектуры. При работе с SMP-системами используют так называемую парадигму программирования с разделяемой памятью (shared memory paradigm).
МРР-архитектура
МРР (massive parallel processing) — массивно-параллельная архитектура. Главная
особенность такой архитектуры состоит в том, что память физически разделена. В этом
случае система строится из отдельных модулей, содержащих процессор, локальный банк
оперативной памяти (ОП), коммуникационные процессоры (рутеры) или сетевые адаптеры, иногда - жесткие диски и/или другие устройства ввода/вывода. По сути, такие модули
представляют собой полнофункциональные компьютеры (см. рис.9). Доступ к банку ОП
из данного модуля имеют только процессоры (ЦП) из этого же модуля. Модули соединяются специальными коммуникационными каналами. Пользователь может определить логический номер процессора, к которому он подключен, и организовать обмен сообщениями с другими процессорами. Используются два варианта работы операционной системы
(ОС) на машинах МРР-архитектуры. В одном полноценная операционная система (ОС)
работает только на управляющей машине (front-end), на каждом отдельном модуле функционирует сильно урезанный вариант ОС, обеспечивающий работу только расположенной
в нем ветви параллельного приложения. Во втором варианте на каждом модуле работает
полноценная UNIX-подобная ОС, устанавливаемая отдельно.
Рис. 9. Схематический вид архитектуры с раздельной памятью
Главным преимуществом систем с раздельной памятью является хорошая масштабируемость: в отличие от SMP-систем, в машинах с раздельной памятью каждый процессор
имеет доступ только к своей локальной памяти, в связи с чем не возникает необходимости
в потактовой синхронизации процессоров. Практически все рекорды по производительности на сегодня устанавливаются на машинах именно такой архитектуры, состоящих из нескольких тысяч процессоров (ASCI Red, ASCI Blue Pacific). Недостатки:
• отсутствие общей памяти заметно снижает скорость межпроцессорного обмена, поскольку нет общей среды для хранения данных, предназначенных для обмена между
21
процессорами. Требуется специальная техника программирования для реализации
обмена сообщениями между процессорами;
• каждый процессор может использовать только ограниченный объем локального банка
памяти;
• вследствие указанных архитектурных недостатков требуются значительные усилия
для того, чтобы максимально использовать системные ресурсы.
Именно этим определяется высокая цена программного обеспечения для массивнопараллельных систем с раздельной памятью.
Системами с раздельной памятью являются суперкомпьютеры ММС-1000, IBM
RS/6000 SP, SGI/CRAY T3E, системы ASCI, Hitachi SR8000, системы Parsytec.
Машины последней серии CRAY T3E от SGI, основанные на базе процессоров Dec
Alpha 21164 с пиковой производительностью 1200 Мфлопс/с (CRAY T3E-1200), способны
масштабироваться до 2048 процессоров.
При работе с МРР-системами используют так называемую Massive Passing Programming Paradigm — парадигму программирования с передачей данных (MPI, PVM, BSPlib).
Гибридная архитектура NUMA
Главная особенность гибридной архитектуры NUMA (non-uniform memory access) —
неоднородный доступ к памяти.
Гибридная архитектура совмещает достоинства систем с общей памятью и относительную
дешевизну систем с раздельной памятью. Суть этой архитектуры — в особой организации
памяти, а именно: память физически распределена по различным частям системы, но логически она является общей, так что пользователь видит единое адресное пространство.
Система построена из однородных базовых модулей (плат), состоящих из небольшого
числа процессоров и блока памяти. Модули объединены с помощью высокоскоростного
коммутатора. Поддерживается единое адресное пространство, аппаратно поддерживается
доступ к удаленной памяти, т.е. к памяти других модулей. При этом доступ к локальной
памяти осуществляется в несколько раз быстрее, чем к удаленной. По существу, архитектура NUMА является МРР (массивно-параллельной) архитектурой, где в качестве отдельных вычислительных элементов берутся SMP (симметричная многопроцессорная архитектура) узлы. Доступ к памяти и обмен данными внутри одного SMP-узла осуществляется через локальную память узла и происходит очень быстро, а к процессорам другого
SMP-узла тоже есть доступ, но более медленный и через более сложную систему адресации.
Рис. 10. Структурная схема компьютера с гибридной сетью
22
Впервые идею гибридной архитектуры предложил Стив Волох, он воплотил ее в
системах серии Exemplar. Вариант Волоха — система, состоящая из восьми SMP-узлов.
Первой NUMA-подобной системой была машина Butterfly, разработанная в 1981 году в
компании BBN, более всего известной своим участием в создании сети ARPAnet. Фирма
HP купила идею и реализовала на суперкомпьютерах серии SPP. Идею подхватил Сеймур
Крей (Seymour R.Cray) и добавил новый элемент — когерентный кэш, создав так называемую архитектуру ccNUMA (Cache Coherent Non-Uniform Memory Access), которая расшифровывается как «неоднородный доступ к памяти с обеспечением когерентности кэшей». Он ее реализовал на системах типа Origin.
23
Тема 9. Основные этапы проектирования МПС.
Процесс проектирования микропроцессорных систем включает три этапа (рис.
14.1): 1) системный; 2) функционально- схемотехнический; 3) отладка и оценка характеристик.
На этапе системного проектирования сначала проводится системный анализ задачи, поставленной перед МПС, выявляются назначение, основные свойства, потребности,
идеи реализации, сумма финансирования и другие особенности, достаточные для принятия решения о путях проектирования. Затем формулируются функциональное поведение
системы и требования к ней с позиций обеспечения совокупности выполняемых функций,
необходимой производительности, выявления критических функций, определения состава
периферийного оборудования системы, структуры входных и выходных данных, характеристик потоков данных и управляющей информации. Разрабатываются укрупненный алгоритм функционирования системы и формализованное описание алгоритма работы МПС.
Следующим шагом на этапе системного проектирования является определение
числа уровней иерархии МПС, связей между ними и внешней средой или системой. Определяются требования к архитектуре системы, осуществляется распределение функций,
реализуемых аппаратными и программными средствами, обосновываются требования к
интерфейсам. Необходимо сбалансировать требования к аппаратным и программным
средствам системы с учетом заданного быстродействия и возможности уменьшении
сложности и стоимости, сокращения сроков разработки. Чем больше функций реализуется
аппаратно, тем выше быстродействие, но сложнее архитектура системы и дольше время
разработки.
В настоящее время в связи с развитием возможностей БИС и СБИС наблюдается
тенденция возложения на аппаратные средства таких функций, которые до недавнего времени выполнялись только программным способом. Интеграция программных возможностей в аппаратных конструкциях, главным образом в виде микропрограмм ПЗУ или «математических» кристаллов, - направление, которое находит все более широкое применение в микропроцессорных системах. Многие функции операционной системы уже начинают реализовываться аппаратным методом путем размещения программ в кристаллах.
ПЗУ. Возможно, придет очередь и аппаратной реализации функций языков программирования.
Важным моментом системного этапа проектирования является выбор элементной
базы, базового МПК, т.е. типа микропроцессорного семейства, и других БИС. На основе
этого этапа составляется техническое задание (ТЗ).
Этап системного проектирования в основном эвристический, и его результатом является
структурная схема микропроцессорной системы и ТЗ, в котором указаны все требования,
которым должна удовлетворять разрабатываемая МПС.
Функционально-схемотехнический этап разделяется на три направления: разработка аппаратных средств, разработка программных средств и разработка вспомогательных
средств, которые в свою очередь содержат и аппаратную, и программную части. Отличительные особенности выполнения этого этапа следующие:
1) необходимость совместной разработки и отладки технических средств и программного
обеспечении, ориентированного на конкретную структуру технических средств;
2) использование принципиально новых методов и средств разработки и отладки микропроцессорных систем, таких как внутрисхемные эмуляторы, логические и сигнатурные
анализаторы, отладочные комплексы и средства автоматизации программирования;
3) сильная взаимосвязь и даже интеграция этапов проектирования, при которой разработчик должен одновременно обладать опытом проектирования микропроцессорных систем,
а также разбираться в конкретной области их применения.
24
На этапе функционально-схемотехнического проектирования на основе структурной схемы МПС разрабатываются функциональные и принципиальные схемы технических средств, алгоритмы и модули прикладных программ. Этот этап характеризуется широким использованием типовых схемных и программных решений и сильной взаимозависимостью технических и программных средств, разработка которых должна осуществляться параллельно на всех этапах. Заканчивается этап объединением аппаратных и программных средств, которым начинается этап отладки всей МПС в целом..
Отладка МПС представляет собой наиболее трудоемкий этап, поэтому разработке
средств встроенного контроля и методики использования стандартных отладочных
средств должно уделяться такое же внимание, как и разработке аппаратных и программных средств. Для отладки требуются встроенные средства, программные и аппаратные, а
также специальные приборы типа логических и сигнатурных анализаторов, отладочные
комплексы, внутренние эмуляторы. Встраивание средств - диагностики и контроля несколько растягивает и удорожает разработку системы, но значительно облегчает ее отладку и дальнейшую эксплуатацию.
Проектирование системы завершается опытными испытаниями разработанной
МПС в системе, для которой она предназначалась, оценкой полученных характеристик.
Если результаты оценки не удовлетворяют требованиям ТЗ, то выполняется анализ причин и на его основе – перепроектирование отдельных модулей МПС или всей системы в
целом.
Проектирование заканчивается разработкой методического обеспечения, содержащего рекомендации по рациональному использованию проектируемой МПС и всю необходимую документацию.
Рассмотренные этапы выполняются, как правило, в виде научно-исследовательской
работы при участии относительно небольшого числа высококвалифицированных специалистов.
Дальнейшие стадии проектирования выполняются обычно в виде опытноконструкторских работ и требуют привлечения большого числа исполнителей.
25
Тема 10. 8-разрядный микропроцессор i8080
На рис. 11 представлена внутренняя структура МП i8080, включающего в себя 8разрядное АЛУ с буферным регистром и схемой десятичной коррекции, блок РОН, регистры указателя стека SP и счетчика команд PC, первичный управляющий автомат УА, буферные схемы шин адреса и данных и схему управления системой.
Внешний интерфейс представлен 8-разрядной двунаправленной шиной данных
D[7:0], 16-разрядной шиной адреса A[15:0] и группой линий управления.
Назначение входных и выходных линий МП:
D[7:0] – двунаправленная шина данных служит для приема и выдачи данных,
приема команды, приема вектора прерывания, выдачи дополнительной управляющей информации (слово PSW);
Рис. 12. Внутренняя структура МП i8080
A[15:0] – однонаправленная шина адреса служит для выдачи адреса памяти и устройств
ввода/вывода;
Ф1, Ф2 – сигналы тактового генератора частотой 1..2,5 МГц;
RESET – сброс (начальная установка и запуск программы с адреса 0000);
READY – входной сигнал готовности памяти или ВУ к обмену (обеспечивает асинхронный режим обмена);
INT – запрос внешнего прерывания;
HOLD – захват шины (требование прямого доступа в память со стороны ВУ);
26
WR – запись – выходной сигнал, определяющий направление передачи информации по
шине данных от процессора к памяти или ВУ;
RD – чтение – выходной сигнал, определяющий направление передачи информации по
шине данных от памяти или ВУ к процессору;
SYNC – выходной сигнал, идентифицирующий наличие на шине данных дополнительной
управляющей информации (PSW);
WAIT – выходной сигнал, отмечающий состояние ожидания или останова МП;
INTE – выходной сигнал, подтверждающий режим внешних прерываний;
HLDA – выходной сигнал, подтверждающий режим прямого доступа в память (подтверждение захвата).
27
Тема 11. Командный цикл микропроцессора i8080
МП работает в составе МПС, обмениваясь информацией с памятью и ВУ. В основе работы МП лежит командный цикл – действия по выбору из памяти и выполнению одной команды. В зависимости от типа и формата команды, способов адресации и числа
операндов командный цикл может включать в себя различное число обращений к памяти
и ВУ и, следовательно, иметь различную длительность.
Любой командный цикл (КЦ) начинается с извлечения из памяти первого байта
команды по адресу, хранящемуся в PC, что команды i8080 имеют длину 1, 2 или 3 байта,
причем в первом байте содержится информация о длине команды. В случае 2- или 3байтовой команды реализуются дополнительные обращения к памяти по соседним (большим) адресам.
После считывания команды начинается ее выполнение, причем в процессе выполнения может потребоваться еще одно или несколько обращений к памяти или ВУ
(чтение операнда, запись результата).
Для реализации команды i8080 может потребоваться от 1 до 5 обращений к памяти
(ВУ). Хотя обращения к ЗУ/ВУ располагаются в разных частях КЦ, выполняются они по
единым правилам, соответствующим интерфейсу МПС и реализованы на общем оборудовании управляющего автомата. Действия МПС по передаче в/из МП одного байта данных/команды называются машинным циклом.
Командный цикл представляет собой последовательность машинных циклов
(МЦ), причем КЦ i8080 может содержать от 1 до 5 МЦ, которые принято обозначать M1,
M2,..M5.
МЦ обязательно включает в себя действия по передаче байта информации. Кроме
того, в некоторых МЦ дополнительно реализуются действия по пересылке и/или преобразованию информации внутри МП. Поэтому длительность МЦ может быть различной – за
счет различного числа содержащихся в них машинных тактов (T1, T2,...).
Машинный такт (такт) образует пара сигналов тактового генератора Ф1, Ф2, поэтому длительность такта постоянна – период тактового генератора (за исключением такта Tw – см. ниже).
Таким образом, просматривается иерархия процедур при работе микропроцессора
(не только i8080).
28
Тема 12 16-разрядный микропроцессор i8086
Первый 16-разрядный процессор i8086 фирма Intel выпустила в 1978 году. Частота
– 5 Мгц, производительность – 0,33 MIPS для инструкций с 16-битными операндами
(позже
появились
процессоры
8
и
10
МГц).
Технология
3 мкм, 29 000 транзисторов. Адресуемая память 1 Мбайт. Через год появился i8088 – тот
же процессор, но с 8-разрядной шиной данных. С него началась история IBM PC, неразрывно связанная со всем дальнейшим развитием процессоров Intel. Массовое распространение и открытость архитектуры IBM PC привели к лавинообразным темпам появления
нового программного обеспечения, разрабатываемого крупными, средними и мелкими
фирмами, а также энтузиастами-одиночками. Технический прогресс тогда и сейчас был
бы немыслим без развития процессоров, но с учетом огромного объема уже существующего программного обеспечения для PC уже тогда возник принцип обратной программной совместимости – старые программы должны работать на новых процессорах. Таким
образом, все нововведения в архитектуре последующих процессоров должны были пристраиваться к существующему ядру.
16-разрядный МП i8086 явился дальнейшим развитием линии однокристальных
МП, начатой i8080. Наряду с увеличением разрядности в i8086 реализован ряд новых архитектурных решений:
1) расширена система команд (по набору операций и способам адресации);
2) архитектура МП ориентирована на мультипроцессорную работу. Разработана
группа вспомогательных БИС (контроллеров и специализированных процессоров) для организации мультимикропроцессорных систем различной конфигурации;
3) начато движение в сторону совмещения во времени выполнения различных
операций. МП включает два параллельно работающих устройства;
4) обработки данных и связи с магистралью, что позволяет совместить во времени
процессы обработки информации и передачи ее по магистрали;
5) введена новая (по сравнению с i8080) организация памяти, которая далее использовалась во всех старших моделях семейства INTEL – сегментация памяти.
Для сохранения преемственности модели i8080 в i8086 предусмотрено два режима
работы – "минимальный" и "максимальный", причем в минимальном режиме i8086 работает просто как достаточно быстрый 16-разрядный i8080 с расширенной системой команд
(архитектура МПС на базе i8086-min напоминает архитектуру на базе i8080).
Максимальный режим ориентирован на работу i8086 в составе мультимикропроцессорных систем, в которых, помимо нескольких центральных процессоров i8086, могут
функционировать специализированные процессоры ввода/вывода i8089, сопроцессоры
"плавающей арифметики" i8087.
Определим более четко введенные выше понятия:
Центральный процессор – поддерживает собственный командный цикл, выполняет программу, хранящуюся в системной памяти, по сбросу системы управление, как правило, передается центральному процессору (или одному из ЦП, если их несколько в системе).
Специализированный процессор – поддерживает собственный командный цикл,
выполняет программу, хранящуюся в системной памяти, но инициализируется только по
команде ЦП, по окончании выполнения программы сообщает ЦП о завершении работы.
Сопроцессор не поддерживает собственный командный цикл, выполняет команды, выбираемые для него ЦП из общего потока команд. По сути дела сопроцессор является расширением ЦП.
29
Тема 13. Внутренняя структура МП i8086
Структурная схема МП i8086 представлена на рис. 1. МП включает в себя три основных устройства:
УОД – устройство обработки данных;
УСМ – устройство связи с магистралью;
УУС – устройство управления и синхронизации.
УОД предназначено для выполнения команд и включает в себя 16-разрядное
АЛУ, системные регистры и другие вспомогательные схемы; блок регистров (РОН, базовые и индексные) и блок микропрограммного управления.
УСМ обеспечивает формирование 20-разрядного физического адреса памяти и 16разрядного адреса ВУ, выбор команд из памяти, обмен данными с ЗУ, ВУ, другими процессорами по магистрали. УСМ включает в себя сумматор адреса, блок регистров очереди
команд и блок сегментных регистров.
УУС обеспечивает синхронизацию работы устройств МП, выработку управляющих сигналов и сигналов состояния для обмена с другими устройствами, анализ и соответствующую реакцию на сигналы других устройств МПС.
МП может работать в одном из двух режимов – "минимальном" (min) и "максимальном" (max). Минимальный режим предназначен для реализации однопроцессорной
конфигурации МПС с организацией, подобной МПС на базе i8080, но с увеличенным адресным пространством, более высоким быстродействием и значительно расширенной системой команд. Максимальная конфигурация предполагает наличие в системе нескольких
МП и специального блока арбитра магистрали (используется интерфейс Multibus).
На внешних выводах МП i8086 широко используется принцип мультиплексирования сигналов – передача разных сигналов по общим линиям с разделением во времени.
Кроме того, одни и те же выводы могут использоваться для передачи разных сигналов в
зависимости от режима (min – max).
Ниже приводится описание внешних выводов МП i8086. При описании выводов
косой чертой разделены сигналы, появляющиеся на выводе в разные моменты машинного
цикла. В круглых скобках указаны сигналы, характерные только для максимального режима. Символ \ после имени сигнала – знак его инверсии.
A/D[15:0] – младшие [15:0] разряды адреса / данные;
A[19:16]/ST[6:3] – старшие [19:16] разряды адреса / сигналы состояния;
BHE\/ST[7] – разрешение передачи старшего байта данных / сигнал состояния;
STB(QS0) – строб адреса (состояние очереди команд);
R\ – чтение;
W\/(LOCK\) – запись (блокировка канала);
M-IO\(ST2\) – память – внешнее устройство (состояние цикла);
OP-IP\(ST1\) – выдача-прием (состояние цикла);
DE\(ST0\) – разрешение передачи данных (сост. цикла);
TEST\ – проверка;
RDY – готовность;
30
Рис. 12. Внутренняя структура процессора i8086
CLR – сброс;
CLC – тактовый сигнал;
INT – запрос внешнего прерывания;
INTA\(QS1) – подтверждение прерывания (состояние очереди команд);
NMI – запрос немаскируемого прерывания;
HLD(RQ\/E0) – запрос ПДП (запрос / подтверждение доступа к магистрали);
NLDA(RQ\/E1) – подтверждение ПДП (запрос / подтверждение доступа к магистрали);
MIN/MAX\ – потенциал задания режима (1-min, 0-max).
Сигналы состояния ("статуса") используются для отображения внутреннего состояния МП. Некоторые группы статусных сигналов используются только в максимальном режиме.
Сигналы ST[2:0]\ определяют тип текущего машинного цикла (аналогично PSW
для i8080) и формируются только в максимальном режиме:
ST2
1
1
ST1
1
1
ST0
1
1
1
Таблица 14
Тип машинного цикла
Обслуживание прерывания
Чтение ВУ
Запись ВУ
Останов
Извлечение кода команды
Чтение ЗУ
31
1
1
1
1
1
Запись ЗУ
Пассивное состояние
Разряды статуса 3..4 определяют сегментный регистр, используемый для вычисления физического адреса:
Таблица 15
ST4
ST3
Сегментный регистр
ES
1
CS
1
SS
1
1
DS
ST[5] отражает состояние флага разрешения прерывания IF, ST[6] всегда установлен в 0, когда МП обменивается информацией по магистрали, состояние ST[7] не определено (зарезервировано).
Сигналы QS[1:0] формируются только в максимальном режиме и отражают состояние очереди команд:
Таблица 14.3
QS1
QS0
Состояние очереди команд
Нет операции
1
Очередь очищается
1
Извлекается первый байт
1
1
Извлекается очередной байт
Практически все команды МП i8086 могут работать как со словами
(2 байта),
так и с байтами. При работе со словами сигнал BHE\ разрешает передачу старшего байта
слова.
Сигнал STB отмечает наличие на линиях A/D и A/S адреса.
R и W\ стробируют данные на шине A/D соответственно при чтении и записи.
M-IO\ и OP-IP\ определяют соответственно устройство, с которым производится
обмен (память – ВУ), и направление передачи информации (вывод – ввод) относительно
процессора.
DE\ стробирует внешний буфер A/D при передаче данных.
Вход TEST\ предназначен для синхронизации программы с внешними процессами. Команда WAIT (ожидание) переводит процессор в режим ожидания, в котором он будет находиться до тех пор, пока на входе TEST\ удерживается высокий уровень сигнала
(лог. "1"). При этом все магистрали МП переводятся в высокоимпедансное состояние.
RDY – (готовность) аналогично соответствующему входу МП i8080 обеспечивает
возможность асинхронного машинного цикла.
CLR – (сброс) устанавливает все регистры МП в 0, кроме CS, который устанавливается в FFFF и осуществляет запуск командного цикла. Таким образом, стартовый адрес
i8086 – всегда FFFF0.
CLC – тактовый сигнал.
INT, INTA\ – соответственно запрос и подтверждение вешнего прерывания (подробнее см. раздел 4).
NMI – запрос внешнего немаскируемого прерывания по фиксированному вектору
2.
HLD, HLDA – соответственно требование и предоставление прямого доступа в
память (работает аналогично подсистеме ПДП i8080). В максимальном режиме вместо
32
сигналов HLD, HLDA используются две двунаправленные линии RQ\/Ei\ – запрос шины/разрешение доступа, на которые работает специальная микросхема – арбитр шины.
33
Тема 14. Машинные циклы i8086 в минимальном и максимальном режимах
Временные диаграммы работы МП i8086 в минимальном режиме представлены на
рис. 13 и рис. 14.
Рис. 13. Минимальный режим – цикл ЧТЕНИЕ
Цикл начинается с формирования в T1 сигнала M/IO, определяющего тип устройства – память или ВУ, с которым осуществляется обмен данными. Длительность сигнала
M/IO равна длительности цикла шины, и он используется для селекции адреса устройств.
В T1 и в начале T2 МП выдает адрес A[19:16] и A[15:0] и сигнал BHE, который вместе с
A0 определяет передачу слова или одного из байтов. По спаду строба ALE адрес фиксируется во внешних регистрах-защелках.
В такте T2 происходит переключение шин: на выводы A[19:16]/ ST[6:3] поступают сигналы состояния; выводы A/D[15:0] в цикле ЧТЕНИЕ переводятся в высокоимпедансное состояние, а в цикле ЗАПИСЬ на них выдаются данные, предназначенные для записи в устройство.
Циклы ЧТЕНИЕ и ЗАПИСЬ отличаются не только активными значениями сигналов RD и WR и состоянием сигнала OP/IP, но и тем, что в цикле ЗАПИСЬ сигналы DEN и
WR становятся активными раньше и имеют большую длительность, чем в цикле ЧТЕНИЕ.
Рис. 14. Минимальный режим – цикл ЗАПИСЬ
34
В максимальном режиме изменяются значения восьми управляющих сигналов
МП, на основании которых системный контроллер К1810ВГ88 формирует системные
управляющие сигналы. Временные диаграммы работы i8086 в максимальном режиме
представлены на рис. 15(а).
Код состояния S[2:0] выдается по срезу CLK в последнем такте предшествующего
цикла, которым может быть T4 или T1. В такте T1 контроллер формирует строб ALE и
устанавливает необходимый уровень на выходе OP/IP (DT/R). В такте T2 начинается формирование DEN, который в отличие от минимального режима имеет активный высокий
уровень. Контроллер ВГ88 формирует так же MRDC\, IORC\, AMWC\, AIOWC\. Последние два – сигналы опережающей записи обеспечивают более длительный импульс записи,
что может потребоваться для некоторых устройств. Следует помнить, что сигналы опережающей записи не гарантируют установку данных по началу импульса записи. При разработке контроллера ВГ88 предполагалось, что шина данных системы буферизована, поэтому сигналы MRDC, IORC, AMWC, AIOWC начинают формироваться еще до того, как МП
переведет шину в третье состояние. Поэтому эти сигналы не должны подаваться на те
устройства, которые подключены непосредственно к мультиплексированной шине A/D.
На рис. 15(б) в рамки помещены сигналы, которые формирует системный контроллер
К1810ВГ88.
При работе в асинхронном режиме между тактами T3 и T4 могут появиться один
или несколько тактов ожидания Tw, в течение которых МП удерживает в активном состоянии выводы ST2..ST0, так что контроллер сохраняет управление шиной в течение любого числа тактов ожидания Tw. Сигнал направления передачи OP/IP\, передаваемый на
шинные формирователи (ШФ), устанавливается в такте T1, но работа ШФ не разрешается
до появления сигнала DEN\ = 0 в такте T2. Строб данных DEN\ заканчивается в такте T4,
что обеспечивает отключение ШФ до начала следующего цикла шины.
35
Рис. 15 (а, б). Временные диаграммы МЦ i8086 в максимальном режиме