Проектирование микропроцессорной системы на основе микропроцессора I 8086

Министерство науки и образования  Республики Казахстан

Многопрофильный колледж

Северо-Казахстанского государственного университета

имени академика  М. Козыбаева 
 
 
 

Пояснительная записка

к  курсовому проекту

по дисциплине: «Цифровые устройства и микропроцессорные системы»

на тему: «Проектирование микропроцессорной системы на основе микропроцессора I 8086 »

Вариант № 16 
 
 
 
 

                Выполнил: студент гр. РЭС-к-09

                         Сафронов С.В

                  Проверил: преподаватель

                Михайлова А.Н 
                 
                 

_________________                                       ______.______          _________

оценка                                                                       дата                подпись 
 

Петропавловск 2010

    Содержание 

    1. Введение……………………………………………………….….….……4

    2. Общая структура МПС…………………………………………...………5

    3. 16-разрядный микропроцессор i8086………...………………………….7

    3.1 Система команд………………………………………………………….9

    4.Внутренняя  структура ……………………………………………..….....10

    5. Устройства памяти……………………………………………...……….16

    6. ОЗУ. Принципы построения…………………………………………….18

    7.Постоянные  запоминающие устройства (ПЗУ)………………………...20

    8.Цифро-аналоговые преобразователи (ЦАП)........................……………22

    9.Разработка  функциональной схемы модуля  ввода/вывода……………24

    10 Заключение………………………………………………………………27

    Список  литературы…………………………………………………………28

    Приложение А 
 

 

    1. Введение

    Целью дисциплины «Цифровые устройства и  микропроцессоры» является изучение принципов построения цифровых устройств различной функциональной сложности – от логических элементов до микропроцессоров и микро - ЭВМ.

    Компактная  микроэлектронная “память” широко применяется  в современной электронной аппаратуре самого различного назначения. В ПК  память определяют как функциональную часть, предназначенную для записи, хранения и выдачи команд и обрабатываемых данных. Комплекс технических средств, реализующих функцию памяти, называют запоминающим устройством (ЗУ). Для обеспечения работы процессора (микропроцессора) необходимы программа, т. е. последовательность команд, и данные, над которыми процессор производит предписываемые командами операции. Команды и данные поступают в основную память ЭВМ через устройство ввода, на выходе которого они получают цифровую форму представления, т. е. форму кодовых комбинаций О и 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 - (готовность) аналогично соответствующему входу  МП i8080 обеспечивает возможность  асинхронного машинного цикла.

CLR - (сброс)  устанавливает все регистры МП  в 0, кроме CS, который устанавливается  в FFFF и осуществляет запуск командного цикла. Таким образом, стартовый адрес i8086 - всегда FFFF0.

CLC - тактовый  сигнал.

INT, INTA\ - соответственно запрос и подтверждение  вешнего прерывания (подробнее см. раздел 7).

NMI - запрос  внешнего немаскируемого прерывания  по фиксированному вектору 2.

HLD, HLDA - соответственно требование и  предоставление прямого доступа  в память (работает аналогично  подсистеме ПДП i8080). В максимальном  режиме вместо сигналов HLD, HLDA используются  две двунаправленные линии RQ\/Ei\ - запрос шины/разрешение доступа, на которые работает специальная микросхема - арбитр шины. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    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– Выбор ячейки по адресу: а – триггера; б – элемента матрицы 

Проектирование микропроцессорной системы на основе микропроцессора I 8086