Проектирование микропроцессорной системы на основе микропроцессора I 8086
Министерство науки и
Многопрофильный колледж
Северо-Казахстанского государственного университета
имени академика
М. Козыбаева
Пояснительная записка
к курсовому проекту
по дисциплине: «Цифровые устройства и микропроцессорные системы»
на тему: «Проектирование микропроцессорной системы на основе микропроцессора I 8086 »
Вариант № 16
Выполнил: студент гр. РЭС-к-09
Сафронов С.В
Проверил: преподаватель
Михайлова
А.Н
_________________
оценка
Петропавловск 2010
Содержание
1.
Введение……………………………………………………….
2. Общая структура МПС…………………………………………...………5
3. 16-разрядный микропроцессор i8086………...………………………….7
3.1 Система команд………………………………………………………….9
4.Внутренняя
структура ……………………………………………..…
5.
Устройства памяти……………………………………………...……….
6.
ОЗУ. Принципы построения………………
7.Постоянные запоминающие устройства (ПЗУ)………………………...20
8.Цифро-аналоговые
преобразователи (ЦАП)........................…
9.Разработка функциональной схемы модуля ввода/вывода……………24
10
Заключение……………………………………………………
Список
литературы……………………………………………………
Приложение
А
1. Введение
Целью дисциплины «Цифровые устройства и микропроцессоры» является изучение принципов построения цифровых устройств различной функциональной сложности – от логических элементов до микропроцессоров и микро - ЭВМ.
Компактная
микроэлектронная “память” широко применяется
в современной электронной
Данной курсовая работа посвящена изучению блока памяти. А именно, задача состоит в построении пространства памяти заданного объема и конфигурации.
2. Общая структура МПС
Микропроцессор (МП) – центральная часть любой микропроцессорной системы (МПС) – включает в себя арифметико-логическое устройство (АЛУ) и центральное управляющее устройство (ЦУУ), реализующее командный цикл. МП может функционировать только в составе МПС, включающей в себя, кроме МП, память, устройства ввода/вывода, вспомогательные схемы (тактовый генератор, контроллеры прерываний и прямого доступа к памяти (ПДП), шинные формирователи, регистры-защелки и др.
В любой МПС можно выделить следующие основные части (подсистемы):
- процессорный модуль;
- память;
- внешние устройства (внешние ЗУ + устройства ввода/вывода);
- подсистему прерываний;
- подсистему прямого доступа в память.
Рисунок
1 – Структура МПС с интерфейсом
"Общая шина"
Связь между процессором и другими устройствами МПС может осуществляться по принципам радиальных связей, общей шины или комбинированным способом. В однопроцессорных МПС, особенно 8- и 16-разрядных, наибольшее распространение получил принцип связи "Общая шина", при котором все устройства подключаются к интерфейсу одинаковым образом (Рисунок 1).
Все сигналы интерфейса делятся на три основные группы – данных, адреса и управления. Многочисленные разновидности интерфейсов "Общая шина" обеспечивают передачу по раздельным или мультиплексированным линиям (шинам). Например, интерфейс Microbus, с которым работают большинство 8-разрядных МПС на базе i8080, передает адрес и данные по раздельным шинам, но некоторые управляющие сигналы передаются по шине данных. Интерфейс Q-bus, используемый в микро-ЭВМ фирмы DEC (отечественный аналог – микропроцессоры серии К1801) имеет мультиплексированную шину адреса/данных, по которой эта информация передается с разделением во времени. Естественно, что при наличии мультиплексированной шины в состав линий управления необходимо включать специальный сигнал, идентифицирующий тип информации на шине.
Обмен информацией по интерфейсу производится между двумя устройствами, одно из которых является активным, а другое – пассивным. Активное устройство формирует адреса пассивных устройств и управляющие сигналы. Активным устройством выступает, как правило, процессор, а пассивным – всегда память и некоторые ВУ. Однако иногда быстродействующие ВУ могут выступать в качестве задатчика (активного устройства) на интерфейсе, управляя обменом с памятью.
Концепция
"Общей шины" предполагает, что
обращения ко всем устройствам МПС
производится в едином адресном пространстве,
однако, в целях расширения числа
адресуемых объектов, в некоторых системах
искусственно разделяют адресные пространства
памяти и ВУ, а иногда даже и памяти программ
и памяти данных.
3.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 реализован ряд новых архитектурных решений:
расширена система команд (по набору операций и способам адресации);
архитектура МП ориентирована на мультипроцессорную работу. Разработана группа вспомогательных БИС (контроллеров и специализированных процессоров) для организации мультимикропроцессорных систем различной конфигурации;
начато движение в сторону совмещения во времени выполнения различных операций. МП включает два параллельно работающих устройства
обработки данных и связи с магистралью, что позволяет совместить во времени процессы обработки информации и передачи ее по магистрали;
введена новая (по сравнению с i8080) организация памяти, которая далее использовалась во всех старших моделях семейства INTEL - сегментация памяти.
Для сохранения преемственности модели с i8080 в i8086 предусмотрено два режима работы - "минимальный" и "максимальный", причем в минимальном режиме i8086 работает просто как достаточно быстрый 16-разрядный i8080 с расширенной системой команд (архитектура МПС на базе i8086-min напоминает архитектуру на базе i8080).
Максимальный режим ориентирован на работу i8086 в составе мультимикропроцессорных систем, в которых, помимо нескольких центральных процессоров i8086, могут функционировать специализированные процессоры ввода/вывода i8089, сопроцессоры "плавающей арифметики" i8087.
Определим более четко введенные выше понятия:
Центральный процессор – поддерживает собственный командный цикл, выполняет программу, хранящуюся в системной памяти, по сбросу системы управление, как правило, передается центральному процессору (или одному из ЦП, если их несколько в системе).
Специализированный процессор – поддерживает собственный командный цикл, выполняет программу, хранящуюся в системной памяти, но инициализируется только по команде ЦП, по окончании выполнения программы сообщает ЦП о завершении работы.
Сопроцессор не поддерживает собственный командный цикл, выполняет команды, выбираемые для него ЦП из общего потока команд. По сути дела сопроцессор является расширением ЦП.
3.1 Система команд
В системе команд микропроцессора 8086 насчитывалось 98 инструкций: 19 команд передачи данных, 38 команд обработки данных, 24 команды различных условных и безусловных переходов и 17 команд управления ЦПУ.
Каждая команда состояла из кода операции (так называемый опкод) и операндов. Обычно на опкод отводился первый байт команды и три средних бита второго байта или же (в случае однобайтной команды) старшая часть первого байта команды. Всего же различных вариантов команд в i8086 насчитывается почти 4000.
По назначению команды микропроцессора I8086 разделяют на 6 групп:
1 Команды передачи данных: MOV, XCHG, PUSH, POP, PUSHF, POPF, LEA, LDS, LES, LAHF, SAHF, XLAT, IN.
2 Арифметические команды: ADD, ADC, INC, AAA, DAA, SUB, SBB, DEC, NEG, CMP, AAS, DAS, MUL, IMUL, DIV, IDIV, AAM, AAD.
3 Логические команды: NOT,SHL / SAL,SHR,SAR,ROL ,ROR,RCL,RCR,
AND, TEST,OR,XOR.
4 Команды манипуляции цепочками: CMPS, LODS, MOVS, REP, SCAS, STOS.
5 Команды передачи управления: JMP, CALL, RET, LOOP/LOOPE, LOOPZ, LOOPNE/LOOPNZ, JCXZ, JE/JZ, JNE/JNZ, JL/JNGE, JLE/JNG, JB/JNAE, JBE/JNA, JP/JPE, JNP/JPO, JO, JNO, JS, JNS, JG/JNLE, JGE/JNL, JA/JNBE, JAE/JNB.
6 Команды управления процессором: CLC, CMC, STC, CDL, STD, CLI, HLT,
WAIT, ESC , LOCK
4.Внутренняя структура
Структурная схема МП i8086 представлена на рис. МП включает в себя три основных устройства :
УОД - устройство обработки данных;
УСМ - устройство связи с магистралью;
УУС - устройство управления и синхронизации.
УОД предназначено для выполнения команд и включает в себя 16-разрядное АЛУ, системные регистры и другие вспомогательные схемы; блок регистров (РОН, базовые и индексные) и блок микропрограммного управления.
УСМ обеспечивает формирование 20-разрядного физического адреса памяти и 16-разрядного адреса ВУ, выбор команд из памяти, обмен данными с ЗУ, ВУ, другими процессорами по магистрали. УСМ включает в себя сумматор адреса, блок регистров очереди команд и блок сегментных регистров.
УУС обеспечивает синхронизацию работы устройств МП, выработку управляющих сигналов и сигналов состояния для обмена с другими устройствами, анализ и соответствующую реакцию на сигналы других устройств МПС.
МП может работать в одном из двух режимов - "минимальном" (min) и "максимальном" (max). Минимальный режим предназначен для реализации однопроцессорной конфигурации МПС с организацией, подобной МПС на базе i8080, но с увеличенным адресным пространством, более высоким быстродействием и значительно расширенной системой команд. Максимальная конфигурация предполагает наличие в системе нескольких МП и специального блока арбитра магистрали (используется интерфейс Multibus).
На внешних выводах МП i8086 широко используется принцип мультиплексирования сигналов - передача разных сигналов по общим линиям с разделением во времени. Кроме того, одни и те же выводы могут использоваться для передачи разных сигналов в зависимости от режима (min - max).
Ниже приводится описание внешних выводов МП i8086. При описании выводов косой чертой разделены сигналы, появляющиеся на выводе в разные моменты машинного цикла. В круглых скобках указаны сигналы, характерные только для максимального режима. Символ \ после имени сигнала - знак его инверсии.
Рис.2 Внутренняя
структура процессора 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 - готовность;
CLR - сброс;
CLC - тактовый сигнал;
INT - запрос внешнего прерывания;
INTA\(QS1) - подтверждение прерывания (состояние очереди команд);
NMI - запрос немаскируемого прерывания;
HLD(RQ\/E0) - запрос ПДП (запрос / подтверждение доступа к магистрали);
NLDA(RQ\/E1) - подтверждение ПДП (запрос / подтверждение доступа к магистрали);
MIN/MAX\ -
потенциал задания режима (1-min, 0-max).
Сигналы состояния ("статуса") используются для отображения внутреннего состояния МП. Некоторые группы статусных сигналов используются только в максимальном режиме.
Сигналы
ST[2:0]\ определяют тип текущего машинного
цикла (аналогично PSW для i8080), и формируются
только в максимальном режиме:
Табл.1
| ST2 | ST1 | ST0 | Тип машинного цикла |
| 0 | 0 | 0 | Обслуживание прерывания |
| 0 | 0 | 1 | Чтение ВУ |
| 0 | 1 | 0 | Запись ВУ |
| 0 | 1 | 1 | Останов |
| 1 | 0 | 0 | Извлечение кода команды |
| 1 | 0 | 1 | Чтение ЗУ |
| 1 | 1 | 0 | ЗаписьЗУ |
| 1 | 1 | 1 | Пассивное состояние |
Разряды статуса 3..4 определяют сегментный регистр, используемый для вычисления физического адреса:
Табл.2
| ST4 | ST3 | Сегментный регистр |
| 0 | 0 | ES |
| 0 | 1 | CS |
| 1 | 0 | SS |
| 1 | 1 | DS |
ST[5] отражает состояние флага разрешения прерывания IF, ST[6] всегда установлен в 0, когда МП обменивается информацией по магистрали, состояние ST[7] не определено (зарезервировано).
Сигналы
QS[1:0] формируются только в максимальном
режиме и отражают состояние очереди команд:
Табл.3
| QS1 | QS0 | Состояние очереди команд |
| 0 | 0 | Нет операции |
| 0 | 1 | Очередь очищается |
| 1 | 0 | Извлекается первый байт |
| 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 - (готовность)
аналогично соответствующему
CLR - (сброс) устанавливает все регистры МП в 0, кроме CS, который устанавливается в FFFF и осуществляет запуск командного цикла. Таким образом, стартовый адрес i8086 - всегда FFFF0.
CLC - тактовый сигнал.
INT, INTA\
- соответственно запрос и
NMI - запрос
внешнего немаскируемого
HLD, HLDA -
соответственно требование и
предоставление прямого
5
Устройства памяти
Устройства памяти микропроцессорной системы (МПС) могут быть внешними (винчестер, дисковод, CD-ROM и т.д.) и внутренними (ОЗУ, ПЗУ).
В данной курсовой работе рассматривается внутренняя память МПС, которая может быть:
- постоянной (ROM) или ПЗУ,
- оперативной (RAM) или ОЗУ.
В свою очередь ПЗУ по способу записи/перезаписи информации различаются следующим образом.
ПЗУ – постоянные запоминающие устройства, в основу которых положены диодные матрицы. Матрицы прожигаются на заводе-изготовителе, пользователь ничего изменить не может (рисунок 3). При подаче U > Uдоп диод сгорает, остается перемычка; при сгоревшем диоде Uузла = 0; при функционирующем диоде Uузла = 1
ППЗУ – перепрограммируемые ПЗУ (матрицы поставляются пользователю с уровнем 1 во всех узлах, пользователь может только один раз прожечь матрицу по своей программе).
РПЗУ
– репрограммируемые (т.е. многократно
программируемые) ПЗУ.
Рисунок
3 – Элемент диодной матрицы.
По
способу стирания информации РПЗУ могут
быть: ультрафиолетовыми и
Оперативные запоминающие устройства ОЗУ могут быть: динамическими (DRAM) и статическими (SRAM).
В динамических ОЗУ, построенных на МОП-транзисторных ячейках с дополнительной емкостью, информация после считывания пропадает, поэтому требуется ее регенерация (восстановление), а значит, такие ОЗУ при своей очевидной дешевизне имеют низкое быстродействие.
Статические ОЗУ, построенные на триггерных ячейках, хранят информацию после считывания и регенерации не требуют, имеют высокое быстродействие, хотя и существенно дороже динамических ОЗУ.
Современные
схемы ОЗУ сочетают в себе обе
технологии (SDRAM).
6. ОЗУ. Принципы построения
Рисунок
4 – Микросхема статической памяти
Шина адреса (рисунок 4) подключается к микросхеме памяти по N адресным входам: A0 – AN –1.
Шина данных подключается по входам/выходам D, количество которых зависит от того, сколько матриц размещено в кристалле.
CS – вход выборки кристалла, управляет подключением буфера данных к шине.
– вход запись/чтения, определяет подключение входного или выходного буфера данных к шине данных.
Рассмотрим принцип выбора ячейки памяти по адресу.
Входы
адресной шины подключаются к дешифраторам
(DC) строки и столбца матрицы. Предположим,
что к микросхеме подключается четыре
адресных линии (А0 – А3), причем
линии А0, А1 подаются на DC строки,
а линии А2, А3 – на DC столбца.
а)
б)
Рисунок
5– Выбор ячейки по адресу: а – триггера;
б – элемента матрицы