Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

ЛЕКЦИЯ 5 по дисциплине 3421 Вычислительные машины системы и сети Раздел 2 Микропроцессоры с одн

Работа добавлена на сайт samzan.net:


МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ПРИБОРОСТРОЕНИЯ ИНФОРМАТИКИ

Кафедра ТИ-1 «ТЕХНОЛОГИЧЕСКАЯ ИНФОРМАТИКА И ТЕХНОЛОГИЯ МАШИНОСТРОЕНИЯ»

УТВЕРЖДАЮ

Заведующий кафедрой ТИ-1

_________ (_____________)

«___»_________200__г.

Для студентов 3 курса факультета ТИ

Специальности 220301 

К.т.н., доцент Холопов В.А.

(ученая степень, ученое звание, фамилия и инициалы автора)

ЛЕКЦИЯ № 5

по дисциплине 3421 «Вычислительные машины, системы и сети»

Раздел №2 Микропроцессоры с однозадачным режимом работы

(часть 1)

Обсуждена на заседании кафедры

(предметно-методической секции)

                                                                «__»___________200__г.

                                                Протокол № __

МГУПИ – 200__г.

Тема лекции: Микропроцессоры с однозадачным режимом работы (часть 1)

Время: 2 академических часа (90 мин.).

Литература (основная и дополнительная):

Новиков Ю.В. Основы микропроцессорной техники. Учебное пособие. М.: Интуит.ру, 2006 г. 357 с.

Корнеев В.В. Киселев А.В. Современные микропроцессоры. – 3-е изд. И доп. – СПб.: БХВ-Петербург, 2003. – 448 с.: ил.

Гук М., Юров В. Процессоры Pentium 4, Athlon и Durun. – СПб,: Питер Бук, 2002 – 512 с.: ил.

Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение – СПб,: Питер, 2003. – 736 с.: ил.

ПЛАН ЛЕКЦИИ:

Введение – до 5 мин.

Основная часть (учебные вопросы) – до 80 мин.

  1.  Микропроцессор фирмы Intel 8086.
    1.  Общие сведения.
    2.  Структура микропроцессора.
    3.  Регистры процессора

Заключение – до 5 мин.

ТЕКСТ ЛЕКЦИИ

Введение – до 5 мин.

Настоящая глава содержит подробное описание принципов работы 16-разрядных микропроцессоров 8086 и 8088 фирмы Intel и их советских аналогов К1810ВМ86 и К1810ВМ88. Микропроцессоры описываются  с точки зрения программиста, но не электронщика, т. е. приводится описание регистров, системы команд и т. п., но отсутствуют сведения об организации обмена по внешним шинам, о количестве и расположении выводов микросхем и др.

Основная часть – до 80 мин.

  1.  Микропроцессор фирмы Intel 8086.
    1.  Общие сведения.

Процессор 8086 стал первым 16-разрядным микропроцессором, разработанным фирмой Intel. Он был выпущен в 1978 году и содержал 29 тыс. транзисторов (для сравнения: в первых Pentium’ах число транзисторов превышало 3 млн.). Почти одновременно был выпущен микропроцессор 8088. С точки зрения программиста, эти микропроцессоры абсолютно идентичны, однако микропроцессор 8086 имел 16-разрядную шину данных, а 8088 – 8-разрядную. Благодаря этому обстоятельству микропроцессор 8088 мог легко использоваться совместно с большим количеством разнообразных периферийных микросхем, разработанных к тому времени и ориентированных на работу с 8-разрядными микропроцессорами, в том числе с микропроцессором 8080 фирмы Intel (советский аналог – К580ВМ80). Однако его производительность оказывалась ощутимо меньше, чем у микропроцессора 8086, поскольку в процессе работы ему требовалось практически в два раза больше обращений к памяти.

16-разрядные микропроцессоры фирмы Intel позволяли адресовать до 1 Мбайта памяти, для чего с помощью механизма сегментации формировался 20-разрядный адрес памяти. Адресное пространство ввода-вывода достигало 64 Кбайт (адрес порта занимал 16 разрядов). Для сравнения: 8-разрядный микропроцессор 8080 был способен адресовать 64 Кбайта памяти и 256 портов ввода-вывода.

Процессоры 8086 и 8088 могли работать с максимальной тактовой частотой 8 МГц, обеспечивая быстродействие до 4 млн. операций в секунду. Фирма IBM, взявшись за разработку своего персонального компьютера, для ускорения и удешевления работы воспользовалась микропроцессором 8088, работающим с тактовой частотой всего 4,77 МГц, т.е. почти в два раза меньше предельно допустимой. Поэтому первые персональные компьютеры семейства IBM PC использовали далеко не все возможности, уже тогда предоставляемые микропроцессором.

Специально для работы совместно с микропроцессорами 8086/8088 предназначался математический сопроцессор 8087. Описание принципов его работы не входит в задачу данной книги.

Несколько западных фирм выпустили свои варианты процессоров 8086 и 8088. Некоторые из этих клонов имели расширенную систему команд, однако все они были совместимы “снизу вверх” с изделиями фирмы Intel. В СССР был выпущен микропроцессорный комплект К1810, в который входили микропроцессоры К1810ВМ86 и К1810ВМ88, полностью совпадающие со своими американскими прототипами, а также другие микросхемы, обеспечивающие работу процессоров в составе вычислительной системы и также являющиеся копиями аналогичных изделий фирмы Intel.

Поскольку, с точки зрения программиста, микропроцессоры 8086 и 8088 идентичны, в дальнейшем для простоты будет говориться только о микропроцессоре 8086, хотя всё сказанное, если не указывается противное, в равной мере относится и к микропроцессору 8088. Аналоги, выпускавшиеся другими фирмами, упоминаться не будут, поскольку всё, что было реализовано в изделиях фирмы Intel, имелось и в их клонах.

  1.  Структура микропроцессора

Микропроцессор Intel 8086 — существенно отличается от i8080. В нем применена новая значительно более мощная и гибкая система команд, есть возможность адресации 1 Мбайта памяти, обращения к 65536 устройствам ввода и такому же количеству устройств вывода информации.

В i8086 имеется возможность изменения внутренней аппаратной конфигурации с помощью специального управляющего сигнала. В более простом режиме 8086 ориентирован на использование в простых вычислительных и управляющих устройствах. При этом микропроцессор сам вырабатывает сигналы управления шиной и обеспечивает прямой доступ к ней посредством контроллера Intel 8257. В режиме полной конфигурации обеспечивается работа с контроллером шины 8288, который декодирует три сигнала состояния процессора и в зависимости от них выдает семь сигналов управления шиной. Такой режим используется в мультипроцессорных системах и в сложных вычислительных устройствах, в частности, в компьютере IBM PC/XT.

Интересно организована память: хранение 16-разрядных слов осуществляется в виде отдельных байтов, причем байты, передающиеся по восьми младшим линиям шины данных (D7-D0), собраны в банк 0, а передаваемые по восьми старшим линиям — в банк 1. Объем каждого банка составляет 512 Кбайт. Таким образом, нечетные байты хранятся в банке 1, а четные. — в банке 0. Выбор банка осуществляется с помощью младшего адреса и сигнала управления старшими разрядами шины данных.

Еще одна важная особенность — возможность обработки 256 типов прерываний (от 0 до 255), в том числе есть прерывания, определяемые пользователем, и пошаговые прерывания.

Микропроцессор Intel 8086 приспособлен для работы с несколькими процессорами в одной системе, причем возможно использование как независимых процессоров, так и сопроцессоров. Отличие заключается в том, что независимый процессор выполняет свою собственную последовательность команд, а сопроцессор следит за потоком команд центрального процессора и выделяет из него "свои" команды, расширяя набор команд основного процессора и улучшая таким образом характеристики системы. Для поддержки этих режимов используются команды ESC, LOCK и XCHG, а также специальные управляющие сигналы, позволяющие разрешать конфликты доступа к общим ресурсам.

Внешние шины адреса и данных в 8086 объединены, и поэтому наличие на шине в данный момент времени информации или адреса определяется порядковым номером такта внутри цикла. Процессор ориентирован на параллельное выполнение команды и выборки следующей команды. В целом выполнение команды происходит примерно так же, как и в 8080. Команда выбирается из памяти и принимается микропроцессором в свободный регистр очереди команд, причем в то же самое время выполняется предыдущая команда. Конвейеризация команд позволяет значительно повысить быстродействие системы. При выполнении команд проверяются состояния входов запросов прерываний и захвата шины, и при необходимости выполняются соответствующие действия.

Микропроцессор i8086 состоит из трех основных частей: устройства сопряжения шины, устройства обработки и устройства управления и синхронизации.

Устройство сопряжения шины состоит из шести 8-разрядных регистров очереди команд, четырех 16-разрядных регистров адреса команды, 16-разрядного регистра команды и 16-разрядного сумматора адреса (см. рис. 2). Оно выполняет следующие функции: выбирает команды из памяти и записывает их в регистр очереди команд, вычисляет и формирует физический адрес, читает операнды из памяти или из регистров и записывает результат выполнения команд в память или в регистры.


Устройство обработки преобразует данные. Команда из очереди команд по запросу устройства обработки поступает на внутреннюю шину команд, а с нее на микропрограммное устройство управления, декодирующее ее и генерирующее соответствующие последовательности микрокоманд, необходимые для выполнения текущей операции. В отличие от первых микропроцессоров, устройство обработки в 8086 не связано с внешней шиной, а обменивается с ней информации через регистр обмена устройства сопряжения шины.

Устройство обработки содержит 16-разрядное арифметико-логическое устройство, восемь 16-разрядных регистров общего назначения и 16-разрядный регистр флагов. Регистры могут использоваться как 16-разрядные или как пары 8-разрядных (при этом их количество удваивается).

Основные устройства и сигналы микропроцессора:

BFAD - буффер адреса и данных (УУ - микропрограммное устройство управления);

RG=>6- 8-ми разрядные регистры очереди комманд (принцип конвеерной об- работки);

CS - сегмент команд;

DS - сегмент данных;

SS - сегмент стека;

ES - дополнительный сегмент;

IP - 16-ти разрядный счетчик команд (все регистры 16-ти разрядные);

POH - регистры общего назначения (АL - младший байт; АН - старший байт;

АХ - можно работать с 16-тью разрядами; ЕАХ - 32 разряда).

MOV AL - 8 разрядов

MOV EAХ - 32 разряда

СU - схема управления;

RG' - сегментные регистры (16-ти разрядные);

RG - регистры очереди команд (8-ми разрядные);

УОИ - устройство обработки информации;

УСК - устройство связи с каналом;

АХ - аккумулятор (16-ти разрядный, может быть разбит на 2 8-ми разряд- ных АН и АL);

ВХ - база;

СХ - счетчик;

D - данные;

SP - указатель стека (16-ти разрядный регистр);

ВР - указатель базы (16-ти разрядный);

IS - индекс источника (16-ти разрядный);

DI - индекс приемника (16-ти разрядный);

MCU - микропрограммное устройство;

ALU - арифметическо-логическое устройство с регистром признаков;

AD(15-0) - совмещенная шина адреса и данных 16 -ти проводниковая;

А19-А16 - шина адреса;

56, 53 - сигналы состояния;

INT - маскируемый запрос на прерывание;

NMI - немаскируемый запрос на прерывание;

C - тактовые импульсы с генератора;

SR - сигнал "Установка;

RDY - готовность;

TEST - тестирование;

MN (MX) - минимальное (максимальное) включение;

BHE - разрешение передачи по старшей половине шины данных (D15-D8), если 1, то передается 1 байт;

SA7 - сигнал состояния;

ALE - стробирование адреса;

INTA - разрешение прерывания;

RD - чтение;

WD - запись;

M/IO - выбор между памятью и внешним устройством;

DT/R - выдача-прием данных;

DEN - разрешение передачи данных;

HLD - запрос прямого доступа к памяти;

HLDA - предоставление шин или разрешение.

Максимальное включение:

Проводники, обозначение которых заключено в скобки, используются при максимальном включении.

QS1-QS0 - сигналы состояния очереди команд;

SA0-SA2 - сигналы состояния цикла команд;

LOCK - канал занят;

RQ(GT1) - запрос, разрешение

RQ(GT0) - доступа к магистрали.

  1.  Регистры процессора

С точки зрения программиста микропроцессор 8086 включает следующие регистры:

– регистры общего назначения;

– сегментные регистры;

– регистр флагов;

– регистр указателя инструкции.

Вычислительная мощь процессора 8086 (и 8088) строилась на наборе из четырнадцати 16-битных регистров, объединенных в несколько групп (они изображены на рис. 4). Основа набора - регистры общего назначения: AX (аккумулятор), BX (база), CX (счетчик) и DX (данные). Размерность каждого из них - 16 бит, но для совместимости с программным обеспечением процессоров 8080 и 8085 к регистрам общего назначения программа могла обращаться и как к 8-битным.


Регистры микропроцессора Intel 8086 (8088).

Для этого каждый регистр был разделен на две части: старший байт (Height) и младший (Low). Если программист собирался обратиться к регистру как к 16-битному, то после имени регистра (A, B, C или D) ставил символ X (AX, BX, CX, DX). Но если ему требовалось использовать регистры общего назначения как 8-битные, то он к имени регистра прибавлял литеру H или L в зависимости от того, к какому байту регистра (старшему или младшему) нужно было обратиться. Это позволяло легко адаптировать старое 8-битное ПО, поскольку литеры A, B, C и D (но без второй буквы) в качестве имен регистров применялись еще в процессоре 8085.

Регистры общего назначения

Процессор 8086 имеет восемь 16-разрядных регистров общего назначения, обозначаемых AX, BX, CX, DX, SI, DI, BP и SP.

Старший и младший байты регистров AX, BX, CX и DX могут использоваться отдельно. Они носят обозначения AH, BH, CH и DH для старших байтов и AL, BL, CL и DL для младших байтов.

Несмотря на то, что эти регистры именуются регистрами общего назначения, каждый из них имеет специальные функции, которые не могут быть переданы какому-либо другому регистру. Общим является то, что все регистры общего назначения могут использоваться в командах пересылки, сложения, вычитания и логических операциях. О специальном назначении каждого регистра будет упоминаться в описании тех функций микропроцессора, где этот регистр используется. Ниже приведён краткий список специфических особенностей использования этих регистров.

Регистр AX является одним из операндов команд умножения и деления; хранит операнд, подвергающийся десятичной или символьной коррекции в операциях двоично-десятичной арифметики; используется в командах ввода-вывода в качестве регистра данных.

Регистр BX используется при адресации операндов.

Регистр CX содержит счётчик повторения цикла или количество разрядов, на которое производится сдвиг операнда в инструкциях сдвига.

Регистр DX расширяет разрядность регистра AX в операциях умножения, деления и двойного сдвига; он содержит адрес порта ввода-вывода в инструкциях ввода-вывода.

Регистр SI содержит смещение строки-источника в строковых операциях и может использоваться при адресации операндов.

Регистр DI содержит смещение строки-приёмника в строковых операциях и может использоваться при адресации операндов.

Регистр BP используется при адресации данных, расположенных в сегменте стека; может использоваться при адресации данных, расположенных в других сегментах.

Регистр SP является указателем стека.

Сегментные регистры

Процессор 8086 содержит четыре 16-разрядных сегментных регистра: CS, DS, ES и SS, называемые соответственно сегментными регистрами кода, данных, дополнительных данных и стека.

Процессор использует содержимое сегментных регистров (так называемые селекторы сегментов) для формирования 20-разрядных физических адресов памяти, о чём говорилось выше, в подразделе  “”. При обращениях к кодам команд всегда используется сегментный регистр CS, а при обращении к стеку (с использованием указателя стека или при адресации посредством регистра BP) – сегментный регистр SS, причём если адресация данных производится с помощью регистра BP, вместо сегментного регистра SS можно указать любой другой сегментный регистр. При обращении к данным в большинстве случаев по умолчанию используется регистр сегментный регистр DS, однако вместо него в этих ситуациях можно использовать любой другой сегментный регистр. Сегментный регистр ES используется при доступе к строкам-приёмникам в строковых операциях, в этом качестве он не может быть заменён каким-либо другим сегментным регистром.

Сегментные регистры не могут являться операндами арифметико-логических инструкций. В регистры DS, ES и SS значение может быть загружено из какого-либо регистра общего назначения с помощью инструкции MOV либо извлечено из вершины стека инструкцией POP. Регистр CS не может быть загружен с помощью инструкции MOV или POP, новое значение в него загружается только при выполнении операций длинных переходов (инструкции JMP, CALL и RET), при возврате из прерывания (инструкция IRET) и при возникновении прерывания. Короткие переходы не изменяют регистр CS. Содержимое всех четырёх сегментных регистров может быть переслано в любой регистр общего назначения инструкцией MOV или занесено в стек инструкцией PUSH.

Регистр флагов

В состав микропроцессора входит 16-разрядный регистр флагов, обозначаемый Flags. Он состоит из отдельных разрядов, имеющих самостоятельное значение. Формат регистра Flags и назначение его битов приведено ниже.

┌───┬───┬───┬───┬────┬────┬────┬────╥────┬────┬───┬────┬───┬────┬───┬────┐

│ 1 │ 1 │ 1 │ 1 │ OFDFIFTFSFZF │ 0 │ AF │ 0 │ PF │ 1 │ CF

└───┴───┴───┴───┴────┴────┴────┴────╨────┴────┴───┴────┴───┴────┴───┴────┘

15                                                                   0

Разряды 15-12, 5, 3 и 1 не используются. При записи они должны содержать значения, показанные на приведённом выше рисунке. В последующих микропроцессорах (80286, 80386 и т.д.) часть этих разрядов была задействована для выполнения новых функций.

OF (разряд 11) – флаг переполнения. Он устанавливается в арифметических операциях, свидетельствуя о возникновении переполнения при обработке чисел со знаком.

DF (разряд 10) – флаг направления. Нулевое значение этого флага соответствует обработке строковых операндов в порядке возрастания их адресов, единичное – в порядке убывания.

IF (разряд 9) – флаг разрешения прерывания. Нулевое значение этого флага запрещает обработку маскируемых прерываний, единичное – разрешает.

TF (разряд 8) – флаг трассировки. Когда он установлен, после выполнения каждой инструкции микропроцессора происходит прерывание, используемое обычно в отладочных целях. Когда этот флаг сброшен, прерывание по окончании инструкции не возникает.

SF (разряд 7) – флаг знака. Изменяется большинством арифметико-логических команд. Нулевое значение показывает, что в операции над числами со знаком было получено неотрицательное число, единичное значение – что результатом является отрицательное число. Таким образом, этот флаг повторяет значение старшего (знакового) разряда результата.

ZF (разряд 6) – флаг нуля. Изменяется большинством арифметико-логических команд. Этот флаг сбрасывается в нуль, если результат операции отличен от нуля, и устанавливается, если результат равен нулю.

AF (разряд 4) – флаг вспомогательного переноса. Устанавливается в командах сложения и вычитания при возникновении переноса из третьего или заёма в третий разряд соответственно. Этот флаг используется командами десятичной коррекции DAA и DAS.

PF (разряд 2) – флаг чётности. Устанавливается, если младший байт результата операции содержит чётное число единичных разрядов, сбрасывается в противном случае.

CF (разряд 0) – флаг переноса. Устанавливается при возникновении переноса или заёма из/в старший разряд результата при выполнении команд сложения и вычитания, а также содержит значение выдвигаемого разряда в операциях сдвига.

При описании каждой инструкции будет указано, какие разряды регистра Flags могут быть изменены при её выполнении и в каких случаях это происходит.

Содержимое регистра флагов целиком доступно только для инструкций PUSHF и POPF, которые соответственно сохраняют его значение в стеке или извлекают из стека. Младший байт регистра Flags может быть загружен в регистр AH инструкцией LAHF, содержимое регистра AH может быть переслано в младший байт регистра Flags посредством инструкции SAHF. Кроме того, при возникновении прерывания состояние регистра Flags сохраняется в стеке. Инструкция IRET, обеспечивающая возврат из прерывания, подобно инструкции POPF восстанавливает содержимое регистра флагов из стека.

Некоторые разряды регистра флагов могут быть проверены или изменены с помощью предназначенных для этого инструкций микропроцессора.

Для арифметико-логических команд содержимое регистра Flags напрямую недоступно.

Указатель инструкции

В состав микропроцессора 8086 входит 16-разрядный указатель инструкции IP. Он содержит смещение следующей команды в текущем сегменте кода (сегментный адрес хранится в регистре сегмента кода CS). При выборке очередной команды содержимое IP увеличивается на количество байтов, входящих в код команды.

Регистр IP не может напрямую использоваться в арифметико-логических командах. Его содержимое сохраняется в стеке при обращении к подпрограмме с помощью инструкции CALL, а также при возникновении прерывания. Восстановление содержимого регистра IP из стека возможно только с помощью инструкций возврата из прерывания IRET и возврата из подпрограммы RET. Кроме того, в регистр IP загружается новое значение при выполнении любых инструкций переходов.

Заключение – до 5 мин.

Лекция разработана «___»________200__г.

_______________________(___________)

                                                              (подпись, фамилия и инициалы автора)




1. Академия 2002 576 с
2. Общая часть Одним из наиболее важных барьеров который рано или поздно придется преодолевать любому мал
3. Реферат Данная работа содержит 25 с
4. з курсу Прикладна механіка і основи конструювання
5. реферату- Економічні ідеї соціалістіврікардистів і чартизмуРозділ- Історія економічних вчень Економічні
6. 1 Характеристика детали и условия её работы 1
7. Форма координации объектов через последовательность и длительность- время пространство движение м
8. Реферат- Организация учета производственных затрат и методы их распределения
9. да или нет Полученные результаты сопоставляют с ключом в котором есть три шкалы- экстраверсия ~ интровер
10. Факторинг - нова фінансова послуга ринкової інфраструктури України
11. а и с подвижным магнитом рис
12.  Болезни КРС Какова последовательность диагностических исследований с целью подтверждения или исклю
13. критическое отношение к реальности и желание создать новые вдохновляющие идеалы
14. Лабораторная работа ’ 7 Тема.html
15. Завдання на проектування Проектування проводиться на підставі завдання на проектуванняяке складається
16. тематичних наук Харків 2000 Дисертацією є рукопис
17. Мясные деликатесы.html
18. Тема Познание мира в сказках русских и зарубежных писателей
19. Лекция 1 описан интерфейс MS Excel 2003 При загрузке Excel создается новый файл называемый книгой и имеющий ра
20. внеклассная работа по русскому языку.html