|
В начало
Микропроцессор 8086 (Лекция)ПЛАН ЛЕКЦИИ – Условная схема микропроцессора 8086 – Очередь команд – Режимы работы. – Режим максимальной конфигурации – Программная модель 8086 – Форматы команд. Режимы адресации команд и данных. Система команд. Кодирование команд – Организация прерываний в микропроцессор 80х86 Условная схема микропроцессора 8086Выводы микропроцессора нарисованы для режима минимальной конфигурации. В режимах максимальной конфигурации микропроцессор не сам формирует полный набор сигналов, а вырабатывает код типа текущего машинного цикла. Микропроцессор состоит из двух параллельно (одновременно) работающих блоков: операционное устройство и устройство сопряжения с шиной. Операционный блок: преобразует информацию, производит арифметические и логические операции. Устройство формирования шины: физические адреса, сигналы управления шиной. Операционный блок.В состав входит АЛУ комбинационного типа, АЛУ работает в двоичной, двоично-десятичной и ASCII системе счисления. Операнды могут быть одно и двух байтные. При выполнении операций фиксируется признак результата. Результат может быть зафиксирован в любом регистре. Регистр флагов
TF – флаг трассировки, если 1 то трассировка разрешена (разрешено выполнение по командам). IF – флаг прерываний, если 1 то прерывания разрешены. DF – флаг направления сканирования, если 0 то сканирование идет в направлении младших адресов, если 1 то старших. OF – флаг переполнения. Когда идет работа со знаковыми числами и возникает переполнение, то происходит перенос из значащей части в знаковую. РОН.В микропроцессоре Intel 8086 существует восемь байтных и восемь двубайтных регистров общего назначения. AX – аккумулятор, используется при умножении, делении и работе с портами. DH,DL,AH,AL – при умножении в DX. IN AL,[DX] – специализируется как указатель при работе с портами. CX – специализируется как счетчик. BX – используется как базовый при определении логического адреса. SP – содержит смещение в сегменте стека. BP- указатель базы, содержит базовую часть логического адреса при адресации к стеку. SI – содержит адрес ячейки источника при выполнении строковых команд. DI – индексный регистр при обращении к строке приемник. Блок согласования шины.Содержит четыре сегментных регистра. CS – сегментный регистр кода, содержащий базовый адрес сегмента при адресации к команде. CS×16+IP=физический адрес. DS – сегментный регистр данных. ES – хранит базовый адрес сегмента при адресации к данным. SS – сегментный регистр стека. Хранит базовый адрес сегмента стека. После RESET: CS=FFFFh, IP=0000h, стартовый адрес=FFF0h. Соглашения в организации памяти.Память – байтная. Слова желательно располагать по четному адресу и младший байт должен иметь более младший адрес. При таком расположении считывание слова происходит за один цикл шины. Сегменты.Длина одного сегмента до 64кБ. Сегменты могут располагаться произвольно и пересекаться. Достоинства сегментации: 1. Позволяет увеличить адресное пространство до 220, имея 16-битные внутренние регистры структуры. 2. Программы можно перемешать в адресном пространстве памяти путем перезагрузки базового адреса в сегменте. 3. Программист пишет программы в относительных адресах. Недостатки сегментации: 1. Нельзя манипулировать с физическими адресами. Очередь командУСШ – формирует циклы шины, выбирает команды в очередь, из которой две очередные команды поступают в блок управления в устройстве декодирования. Формирование очереди команд ускоряет быстродействеие на 60-80 %. Режимы работыМикропроцессор может работать в двух режимах: максимальной и минимальной конфигурации. В режиме минимальной конфигурации микропроцессор сам формирует набор сигналов для управления буферами на шинах и сигналов управления памятью и портами. Этот режим предназначен для однопроцессорных систем. В режиме максимальной конфигурации микропроцессор код тика машинного цикла, на основе которого формируется сигналы управления буферами на шинах и сигналов управления памятью и портами. Сигнал BHE разрешает передачу старшего байта при операции со словом. Адресация к портам.Порты могут быть однобайтными или двубайтными. Режим максимальной конфигурацииМногопроцессорная система строиться в виде модулей. Каждый модуль имеет шину, память, и общий ресурс – память. Плюсы такого метода состоят в увеличении мощности и надежности ЭВМ. Структурная схема микропроцессора 8086 в режиме максимальной конфигурации.В этом режиме восемь выводов микропроцессора переопределяются. В режиме максимальной конфигурации вывод MN/MX – заземляется и микропроцессор в каждом машинном цикле формирует тип машинного цикла по линии S0-2. Таким образом может существовать восемь типов машинных циклов: пассивный цикл, чтение/запись в память, чтение/запись в порты, машинный цикл останова, машинный цикл обработки прерываний, машинный цикл выработки кода команд. На основе S0-2 и сигналов CLK контроллер шины формирует сигналы управления буферами. ALE – сигнал-строб адреса, идущего по шине AD в первом такте машинного цикла. Контроллер шины формирует сигнал для управления передачи, служащий для определения передачи по шине данных. DEN – разрешение ввода-вывода данных, который открывает входные вентили буферы данных, и внешней части шины данных. Контроллер шины формирует семь командных сигналов для управления памятью и портами. Сигнал INTA формируется в виде двух импульсов. С первым импульсом контроллер прерываний извещается о переходе и машинном цикле обработки прерываний. Второй импульс служит для чтения векторов прерывания с шины данных. Когда PIC получил второй сигнал INTA, он сбрасывает восьмибитный код, а на выходе SP/EN формирует сигнал, открывающий буфер. Это позволяет микропроцессору считать с шины данных вектор. Сигнал LOCK – если необходимо выполнить команду полностью и что бы блокировать доступ других микропроцессоров к шине и памяти перед данной командой устанавливается префикс LOCK. Под его действием формируется сигнал LOCK, который поступает в схему арбитажа, и блокирует доступ других микропроцессоров к системной шине. QS0-1 – выводы кода состояния очереди команд. Эти сигналы поступают к сопроцессору. Возможные состояния очереди: очередь обнулена, из очереди выбран первый байт, из очереди выбран очередной байт, очередь пассивна. RQ/GT0 – вход с 0 – наиболее высокий приоритет. Программная модель 8086
Форматы команд. Режимы адресации команд и данных. Система команд. Кодирование командМикропроцессор 8086 имеет длину команды от 1 до байт. Перед командой может быть установлен один из четырех параметров. LOCK – префикс блокировки. REP – префикс повторения. WAIT – префикс ожидания. CS,DS,SS,ES – префикс пересегментации. Использование базового адреса для определения физического используется по умолчанию, но его можно переопределить. Длина команды в микропроцессоре 8086 не контролируется. Форматы команд.1. Однобайтные команды. 7-4: КОП 3-2: seg 1-0: reg – код регистра, участвуевовшего в операции, либо КОП. 2. Двухбайтные команды. Первый байт: 7-4: КОП 3-0: КОП или код условия передачи управления. Второй байт: 7-0: disp/ports/vects (смещение/номер порта/вектор прерывания) 3.Трехбайтные команды. Первый байт: 7-4: КОП 3-0: КОП или регистр. Второй и третий байты: data/offset 4. Четырехбайтные команды. Первый байт: 7-0: КОП Второй байт: 7-6: mod 5-3: reg 2-0: reg/mem Третий и четвертый байты: disp 5. Пятибайтные команды. Первый байт: 7-0: КОП Остальные байты: данные. 6. Шестибайтные команды. Первый байт: 7-2: КОП 1: КОП/S. S – признак расширения байта слова. 0: W Второй байт: 7-6: mod 5-3: reg 2-0: reg/mem Третий и четвертый байты: offset Пятый и шестой: data Способы адресации.Под способами адресации понимается способ формирования адреса данных в команде. Известно более 20 режимов адресации. При использовании различных режимов адресации преследуются следующие цели. 1. вычисление адреса в процессе выполнения программы, 2. поддержка языков высокого уровня, 3. оперирование адресами в форме удобной для массивов, строк, 4. определение адреса наименьшим количеством бит в команде, 5. вычисление адреса относительно текущей команды. Основные способы адресации к данным кодируются во втором байте команды. Бит d назначает регистр как источник или приемник операнда. d=1 – в микропроцессор (r/m – источник), d=0 – из микропроцессора (r/m – приемник). v=0 – обычный сдвиг, v=1 – параметрический сдвиг, содержимое CL по умолчанию. Физический адрес ячейки=base(CS,DS,SS,ES)×16+offset(IP,SI,DI,BX,BP,EA) EA(эффективный адрес)=base(BP,BX)+index(SI,DI)+disp 10 режимов адресации.1. Базовая адресация. Базовая часть эффективного адреса находиться в одном из регистров: BX,BP. Программист знает смещение строки. 2. Индексная адресация. Программист знает disp, а элемент вычисляется при выполнении программы. 3. Базово-индексная адресация 4. Относительная адресация. Применяется в командах передачи управления по и без условия. Смещение суммируется с указателем инструкций, переносы сбрасываются и результат заноситься в регистр инструкций. 5. Адресация портов. DX – хранит адрес порта. IN AL, [DX] IN AX, [DX] OUT [DX], OUT[DX],AX Организация прерываний в микропроцессор 80х86Реальный режим (real mode).INTR – маскируемые прерывания STI – разрешить прерывания CLI – запретить прерывания NMI – не маскируемые прерывания INT n; n=0..255 1100110V, если V=0 – INT3, V=1 – двухбайтное прерывание. IRET – возврат из подпрогаммы Имеются аппаратные прерывания INTR и NMI и внутренние – програмные прерывания. 1111`1111`00 ® 0000`0011`1111`1100 = 03FCh `По команде INTR или в результате принятия к обслуживанию аппаратного запроса на прерывание или в результате возникновения особого случая микропроцессор выполняет следующие действия. 1. (SP)-2®SP 2. (F)®стек 3. 0®IF, 0®TF 4. содержимое сегментного регистра кода в стек. (CS)®стек 5. обрабатывается начальный адрес обработки прерывания ADR. 6. (ADR+2)® 7. (SP)-2®(SP) 8. (IP)®стек. После выполнения команды осуществляется возврат командой IRET. При этом выполняются следующие действия. 1. из стека ®IP 2. (SP)+2®SP 3. из стека ®CS 4. (SP)+2®SP 5. из стека в F. Первые 32 коды прерывания зарезервированы. 0 – ошибка деления на 0 1 – по TF=1 2 – NMI 3 – INT3 4 – OF=1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||