Модели процессоров и их характеристики.
Процессор Intel 4004
Процессор Intel 8080
Процессор Intel 8085
Процессор Intel 8086
Общие сведения о процессоре Intel 8086
Общие сведения о процессоре Intel 8086
Общие сведения о процессоре Intel 8086
4. Структура процессора Intel 8086
Блок-схема микропроцессора Intel 8086
Процессор Intel 8086
Конвейер процессора Intel 8086
Регистры процессора Intel 8086
Регистры процессора Intel 8086 (2)
Регистры процессора Intel 8086
Регистры процессора Intel 8086
Регистры процессора Intel 8086
Регистры процессора Intel 8086
Адресация памяти и ввода/вывода
Формирование физического адреса
Ближний и дальний адрес
Порядок L, H
Сегментация
Сегментация
Сегментация
Сегментация
Сегментация
Адресация устройств ввода-вывода
Система команд
Прерывания
Особенности обмена по шине
Функционирование модуля интерфейса шины
Функционирование модуля интерфейса шины
Математический сопроцессор 8087
Процессор 8088
Процессор 8088
Процессоры 80186/80188
Процессоры 80186/80188 (2)
Общие сведения о процессоре 80286
Регистры процессора 80286
Организация памяти процессора 80286
Прерывания процессора 80286
Система команд процессора 80286
Интерфейс процессора 80286
Функционирование процессора 80286
1.75M
Category: electronicselectronics

Модели процессоров и их характеристики. (Лекция 4)

1. Модели процессоров и их характеристики.

С

2.

1. Конвейер процессора Intel 8086.
2. Микропроцессор Intel 386 с
архитектурой IA-32.
3. Процессор Intel 486- CPU с плавающей запятой (FPU).
2

3.

История процессоров фирмы Intel
началась в 1971 году, когда был
выпущен первый микропроцессор –
Intel 4004.
Разрядность данных 4 бита.
Способность адресовать 640 байт
памяти.
Тактовая частота 108 кГц.
Производительность 0,06 MIPS.
2300 транзисторов.
Технология с разрешением 10 мкм.

4. Процессор Intel 4004

4

5. Процессор Intel 8080

В 1974 году появился 8-разрядный процессор Intel
8080, ставший весьма популярным устройством.
Процессор Intel 8080 был изготовлен по 10-
микронной
технологии,
содержал
6000
транзисторов, имел частоту ядра целых 2 МГц,
16-битную адресную шину (у 8008 шина адреса
была14-разрядной) и 8-битную шину данных.
Он был совместим с 8008 по набору команд. Чип
8080 требовал питания в +5 В, –5 В и +12 В.
5

6.

На
базе микропроцессора
Intel 8080 компания MITS
(Micro Instrumentation and
Telemetry Systems) создала в
1974 году первый в мире
общедоступный персональный компьютер Altair 8800.
На
базе процессора Intel
8080 было построено множество различных терминалов и
контроллеров.
В нашей
эхом Intel 8080
стали процессоры 580ИК80 и
КР580ВМ80, на базе которых
в
начале
и
середине
80-х годов строилось много
«самодельных» ПК.
6

7. Процессор Intel 8085

Следующим этапом стал процессор Intel 8085 (5 Мгц, 0,37
MIPS, 6500 транзисторов, 3-мкм технология).
Он сохранил популярную регистровую архитектуру 8080 и
программную совместимость, но в него добавился порт
последовательного интерфейса, упразднили специальные
ИС поддержки (тактового генератора и системного
контроллера) и несколько изменили внешний интерфейс.
Главным подарком разработчикам аппаратуры стало одно
питающее напряжение +5 В. Вариацию на тему 8080 и 8085
представляет процессор Z80 фирмы Zilog.
Сохранив программную совместимость с 8080, в него ввели
дополнительные регистры, что позволило существенно
повысить
производительность.
Результат
оказался
впечатляющим
–популярные
компьютеры
Sinclair,
построенные на Z80, демонстрировали на играх графику, не
уступающему PC на16-разрядном процессоре Intel 80286.
7

8. Процессор Intel 8086

Первый 16-разрядный процессор Intel 8086 фирма Intel выпустила в
1978 году.
Частота 5 МГц;
Производительность 0,33 MIPS, но инструкции уже с 16-битными
операндами (позже появились процессоры 8 и 10 МГц).
Технология 3 мкм, 29 тыс. транзисторов.
Адресуемая память 1 Мб.
Регистровая архитектура и система команд существенно отличалась
от 8080, но естественно прослеживаются общие идеи. Через год
появился 8088 – тот же процессор, но с 8-битной шиной данных. С
него началась история IBM PC, наложившая свой отпечаток на
дальнейшее развитие этой линии процессоров Intel.
Массовое распространение и открытость архитектуры PC привили к
лавинообразному
появлению
программного
обеспечения,
разрабатываемого крупными, средними и мелкими фирмами и
энтузиастами-одиночками.
8

9.

Технический
прогресс
требовал

сейчас
требует)
развития
процессоров, но груз
программного
обеспечения PC , которое
должно работать и на
более новых процессорах, в свою очередь
требовал
обратной
программной
совместимости.
Таким
образом,
все
нововведения в архитектуре
последующих
процессоров
должны
были
пристраиваться к существующему ядру.
9

10. Общие сведения о процессоре Intel 8086

Процессоры 8086, выпущенные фирмой Intel в 1978 году,
относятся к первому поколению 16-битных процессоров.
Годом позже появилась его модификация 8088.
Оба эти процессора выполняют 8/86-битные логические и
арифметические операции, включая умножение и деление,
операции с строками и операции ввода-вывода.
Процессоры имеют 20-разрядную шину адреса, которая
позволяет адресовать до 1 Мб памяти.
Шина данных у 8086 16-разрядная, у 8088 разрядность
внешней шины данных сокращена до 8 бит. Это
сокращение, сделанное с целью удешевления системы в
целом,
оборачивается
некоторым
снижением
производительности: 8086 за счет большей разрядности
шины работает примерно на 20-60% быстрее, чем 8088 с
10
той же тактовой частотой.

11. Общие сведения о процессоре Intel 8086

Функциональные различия этих процессоров, обусловлены
разной разрядностью шины, появляются только в способе
подключения 8- и 16-разрядных внешних устройств.
От родоначальника – процессора 8086 – пошло общее
обозначения семейства: х86.
Процессоры поддерживают аппаратные и программные
прерывания и допускают разделяемое использование
шины
совместно
с
другими
процессорами
или
контроллерами (например к, прямого доступа к памяти –
DMA).
Также
предусмотрено
использование
математического
сопроцессора
8087,
существенно
повышающего производительность вычислений.
11

12. Общие сведения о процессоре Intel 8086

Процессор имеет 14 регистров разрядностью 16 бит,
операнды могут иметь 8 или 16 бит и представлять
знаковые и беззнаковые и двоично-десятичные числа.
Система
команд
операндов.
имеет
24
режима
адресации
Среднее время выполнения команды занимает 12 тактов
синхронизации, один цикл обмена на внешней шине
занимает 2 такта (без тактов ожидания).
Тактовая
частота процессора 8088, применяемого в
первых РС, была 4,77 МГц, в последствии появились
процессоры с частотой 8 и 10 МГц (применялись в Turbo
XT).
12

13. 4. Структура процессора Intel 8086

Блок-схема микропроцессора Intel 8086 представлена на следующем
слайде.
Процессор Intel 8086 имеет 16-битную шину данных (линии D0…D15)
и 20-битную адресную шину (линии A0…A19).
Для сокращения количества выводов микросхемы процессора шины
адреса и данных мультиплексированы.
Общая шина для адресов и данных была задействована еще в
процессоре 8085. Хотя чип 8085 использовал 16 бит для пересылки
адресов и 8 бит для пересылки данных, 40 выводов стандартного
корпуса ему также не хватало. Поэтому по восьми линиям внешней
шины чипа 8085 перебрасывались данные и часть адресных сигналов.
Другие восемь линий шины полностью отдавались под вторую группу
адресных сигналов. Поскольку процессор 8086 был значительно
сложнее, чем 8085, то разработчики «реквизировали» все адресные
линии для передачи данных или управляющих сигналов.
13

14. Блок-схема микропроцессора Intel 8086

14

15. Процессор Intel 8086

Сигнал BHE в комбинации с сигналом на линии адрес/данные AD0
управляет процессом передачи данных: либо два байта передаются
сразу по линиям D0-D15, либо, если нужно переслать один байт,
используется группа линий D0…D7 или D8…D15. Таким образом,
сигнал BHE «делает» шину данных либо 16-битной, либо 8-битной.
Именно таким образом достигается совместимость процессора Intel
8086 с 8-битным программным обеспечением.
Система на базе процессора 8086 могла иметь так называемые
минимальную (MN) и максимальную (MX) конфигурации. Настройка
процессора на ту или иную конфигурацию осуществлялась подачей
управляющего сигнала MN/MX.
В минимальной конфигурации отсутствовал контроллер шины (чип Intel
8288), процессор управлял внешней шиной с помощью сигналов DT/R
(Data Transmit/Receive) и DEN (Data Enable). Но общая схема работы
ядра процессора оставалась неизменной при любой конфигурации.
15

16. Конвейер процессора Intel 8086

В
процессорах применена конвейерная архитектура,
позволяющая выполнить выборку кодов инструкций из
памяти их декодирование во время выполнения внутренних
операций.
Конвейер повышает производительность процессора за
счет сокращения времени простоя его операционных узлов.
В момент выполнения внутренних операций, одновременно
с этим производится выборка кодов инструкций из памяти,
их декодирование и постановка в очередь.
Конвейер процессора 8086 имеет 6-байтную внутреннюю
очередь инструкций. Блок предварительной выборки при
наличии 2 свободных байт в очереди старается ее
заполнить в то время, когда внешняя шина процессора не
занята операциями обмена.
16

17.

Очередь у процессора 8088 сокращена до 4
байт,
а
предварительная
выборка
осуществляется уже при наличии одного
свободного байта. Это отличия оптимизируют
конвейер с учетом разрядности шины данных.
Очередь обнуляется при выполнении любой
команды передачи управления, даже при
переходе на следующий адрес. Этим свойством
часто пользуются при программировании
управления
устройствами
ввода-вывода,
требующими задержки между соседними
операциями обмена.
Среднее время выполнения команды занимает
12 тактов синхронизации, один цикл обмена на
внешней шине длится 4 такта (без тактов
ожидания).
17

18. Регистры процессора Intel 8086

Процессор имеет 14-регистров разрядностью 16 бит, объединенных в
несколько групп.
Основа набора – регистры общего назначения:
AX (аккумулятор),
BX (база),
CX (счетчик) и
DX (данные).
Размерность каждого из них – 16 бит, но для совместимости с
программным обеспечением процессоров 8080 и 8085 к регистрам
общего назначения программа могла обращаться и как к 8-битным. Для
этого каждый регистр был разделен на две части: старший байт (High) и
младший (Low).
Если
к регистру необходимо обратиться к регистру как к
16-разрядному, то после имени регистра (A, B, C или D) ставится
символ X (AX, BX, CX, DX).
18

19. Регистры процессора Intel 8086 (2)

19

20. Регистры процессора Intel 8086

Если требуется использовать регистры общего назначения как 8-
битные, то к имени регистра прибавляется литера H или L в
зависимости от того, к какому байту регистра (старшему или младшему)
нужно обратиться. Это позволяет легко адаптировать старое 8-битное
ПО, поскольку литеры A, B, C и D (но без второй буквы) в качестве
имен регистров применялись еще в процессоре 8085.
Регистры данных или регистры общего назначения AX, BX, CX, DX
состоят из двух восьмибайтных половинок с именами AH, BH, CH, DH
(старшие байты – High) и AL, BL, CL, DL (младшие байты - Low). Таким
образом, используя регистры данных можно оперировать как 8-, так 16разрядными данными.
16-разрядные регистры-указатели сегментов могут модифицироваться
только командами их непосредственной загрузки. Использование
сегментных регистров определяется типом обращения к памяти.
20

21. Регистры процессора Intel 8086

В ряде команд принято использовать те или иные регистры.
Например:
АХ – умножение, деление, ввод и вывод слова;
AL – умножение. деление, ввод и вывод байта,
десятичная арифметика;
AH – умножение и деление байта;
CX – счетчик циклов и указатель длины строковых
операций;
DX – умножение и деление слова, ввод и вывод с
косвенной адресацией;
SP – операции со стеком;
SI, DI – строковые операции.
21

22. Регистры процессора Intel 8086

Регистр флагов FLAGS хранит признаки результатов выполнения
арифметических и логических операций, а также управляющие биты:
CF (Carry Flag) – флаг переноса (заёма) старшего бита в
арифметических операциях;
PF (Parity Flag) – флаг паритета, устанавливается при чётном
количестве единиц результата;
AF (Auxiliary Flag) – флаг дополнительного переноса (заёма) в
операциях с двоичной арифметикой;
ZF (Zero Flag) – флаг нулевого результата;
SF (Sign Flag) – флаг знака. В установленном состоянии
свидетельствует об отрицательном значении результата;
TF (Trap Flag) – флаг трассировки (пошагового режима). При его
установке после выполнения каждой команды вызывается
внутреннее прерывание INT 1.
22

23. Регистры процессора Intel 8086

IF (Interrupt Flag) – флаг управления прерываниями.
При единичном значении разрешается выполнение
маскируемых аппаратных прерываний.
DF (Direction Flag) – флаг управления направлениями в
строковых операциях. При единичном значении
индексные регистры, участвующие в строковых
операциях, автоматически декрементируются на
указанное количество байт операнда, при нулевом –
инкрементируются.
OF (Overflow Flag) – флаг переполнения.
Устанавливается, если результат арифметической
операции не умещается в операнде назначения.
23

24. Адресация памяти и ввода/вывода

Процессор
предусматривает разделение пространств памяти и
ввода/вывода.
Пространство памяти (Memory Space) предназначено для хранения
кодов инструкций и данных, для доступа к которым имеется богатый
выбор способов адресации (24 режима).
Память для процессоров 8086/8088 представляется в виде линейной
последовательности байт. Для обращения к памяти процессор
(совместно со внешней схемой) формирует шинные сигналы
MEMWR# (Memory Write) и MEMRD# (Memory Read) для операций
записи и чтения соответственно.
разрядов шины адреса
пространства размером 1 Мб.
20
обеспечивают
охват
адресного
Логически память разбивается на сегменты размером 64 Кб.
24

25. Формирование физического адреса

Физический адрес памяти, поступающий на 20-разрядную шину
адреса, состоит из двух 16-разрядных частей: адреса сегмента
(Seg) и исполнительного адреса EA (executive address),
суммируемых со смещением на 4 бита.
25

26. Ближний и дальний адрес

Таким образом, при любом значении 16-битного исполнительного
адреса, физический адрес не перекроет границу 64 Кб сегмента, на
начало которого указывает текущий сегментный указатель.
С одной стороны, это свойство обеспечивает некоторую защиту
сегментов друг от друга, а с другой – сегментация памяти является
существенным неудобством при написании больших программных
модулей.
С сегментацией связаны понятия ближнего и дальнего адреса.
При ближнем (Near) или внутрисегментном обращении указывается
только смещение, а адрес сегмента определяется текущим
содержимым соответствующего регистра сегмента.
При дальнем (Far) или межсегментном обращении указывается полный
адрес, содержащий 16-битное значение сегмента (загружаемое в
соответствующий сегментный регистр) и 16-битное смещение.
26

27. Порядок L, H

Все пространство памяти разбивается на параграфы – области из 16
смежных байт, начиная с нулевого адреса. Очевидно, что любой
сегмент может начинаться только с границы параграфа
(т.к. четыре младших бита адреса сегмента нулевые).
Процессор может обращаться к одному байту памяти, так и слову, или
двойному слову.
При размещении слова в памяти с адресом, соответствующим адресу
слова, содержит его младшую часть (Low), следующий байт содержит
старшую часть (High). Слово может размещаться в памяти как по
чётному (Even), так и по не нечётному (Odd) адресу. Двойное слово
обычно используется для хранения полного адреса, и в нем
располагается сначала слово смещения (в порядке L, H), а затем
сегмента (в том же порядке).
Сегментация памяти в порядке L, H являются характерной чертой
процессоров Intel.
27

28. Сегментация

Сегментация памяти, которую использовали разработчики Intel,
казавшаяся на тот момент изящной, позднее подвергалась страшным
проклятиям. Основной смысл введения сегментации заключается в
том, что необходимо было добиться частичной совместимости нового
чипа с ПО для 8-битных процессоров (8080, 8085 и Z80). Именно
поэтому разработчики не стали отказываться от 16-битной схемы
адресации памяти (в предыдущих чипах для хранения адресов памяти
применялись 16-битные регистры). Однако 16-битный адрес позволяет
использовать максимум 64 кбайт памяти. Такой объём уже не мог
удовлетворить серьёзного пользователя ПК.
Количество сегментов в оперативной памяти ограничивается
размерностью регистров (16 бит) и не может превышать 65 535; каждый
сегмент отстоит от другого на 16 байт.
28

29. Сегментация

Каждая выполняющаяся программа
для процессора 8086 (8088) состоит
из нескольких сегментов:
сегмента кода;
сегмента данных;
дополнительного сегмента
данных;
сегмента стека.
29

30. Сегментация

Сегмент кода (Code Segment) – массив команд, предназначенных
для выполнения.
Сегмент
данных
(Data
подлежащую обработке.
Segment)
содержит
информацию,
Если одного сегмента данных недостаточно, программист может
задействовать дополнительный сегмент данных (Extra Segment).
Практически каждая программа включает в себя сегмент стека (Stack
Segment) для временного хранения
параметрами между подпрограммами.
данных
и
для
обмена
Для хранения номеров этих сегментов в процессоре 8086 есть
кодовые регистры: CS, DS, ES и SS.
Каждый из сегментных регистров (их имена являются аббревиатурами
названий соответствующих сегментов) должен хранить ссылку только
на сегмент своего типа.
Например, в регистре SS может содержаться только номер стекового
сегмента.
30

31. Сегментация

Реальный адрес требуемой ячейки памяти определяется
по схеме
СЕГМЕНТ:СМЕЩЕНИЕ
на основании значений в двух регистрах: регистре сегмента
и регистрах-указателях: справа к значению адреса
сегмента (СЕГМЕНТ) приписывается четыре нуля, и к
полученному числу прибавляется значение смещения
(СМЕЩЕНИЕ).
Смещение внутри сегмента выбирается из регистров-
указателей SP, BP, SI, DI или регистра IP (указателя
команд – Instruction Pointer).
31

32. Сегментация

Например, в регистре SS хранится номер сегмента 0000
0011 0000 1111, а в регистре SP – номер ячейки внутри
этого сегмента, скажем, 0000 0000 0000 0101.
Тогда реальный адрес ячейки в общем массиве памяти
вычисляется так:
сначала справа к значению SS приписывается четыре
нуля (все биты сдвигаются влево на четыре позиции), в
результате имеем 0000 0011 0000 11111 0000;
затем к полученному числу прибавляется значение из
SP; получается 20-битный адрес 0000 0011 0000 1111
0101, или 030F5 в шестнадцатеричном виде.
Этот адрес процессор использует для доступа к нужной
ячейке памяти.
32

33. Адресация устройств ввода-вывода

Пространство ввода/вывода (Input/Output Space) предназначено для
обращения к регистрам внешних (по отношению к процессору)
электронных схем.
Его размер ограничен 64 Кб, а способов адресации всего два.
Для обращения к устройствам ввода/вывода процессор имеет
отдельные инструкции IN и OUT, результатом выполнения которых
является формирование шинных сигналов IORD# (Input/Output Read) и
IOWR# (Input/Output Write) для чтения или записи одного или двух
байт.
Данные при чтении могут помещаться только в регистры AL или AX и
выводятся из тех же регистров.
Адрес устройства задаётся либо в команде, либо берётся из регистра
DX.
33

34. Система команд

Набор команд 8086/88 включает следующие основные группы:
инструкции пересылки данных;
арифметические и логические инструкции;
инструкции работы со строками;
инструкции передачи управления;
инструкции управления процессором.
Каждая команда имеет один или два байта инструкции, за которыми
может следовать 1, 2 или 4 байты операнда.
Перед кодом инструкции возможно применение префиксов CS;, DS;,
ES;, SS;, указывающих на использование заданных сегментных
регистров вместо обычного, префикса REP, указывающего на
необходимость повтора инструкции указанное в регистре СХ число раз,
и префикса LOCK, блокирующего системную шину на время
выполнения инструкции.
С позиции сегодняшнего дня можно считать, что система команд
16-разрядного процессора 8086/88 является подмножеством команд
32-разрядных процессоров 80х86.
34

35. Прерывания

Архитектура
процессоров Intel 8086 предусматривает
возможность прерываний – изменения последовательности
выполнения команд, предопределенной исполняемым
программным кодом.
В случае возникновения прерывания процессор вызывает
соответствующую процедуру (подпрограмму), по окончанию
исполнения которой обычно возвращается к прерванному
коду.
Процессор
может выполнять прерывания 256 типов
(номеров), каждом из которых соответствует свой вектор
прерывания – двойное слово, содержащее дальний адрес
(CS:IP) вызываемой процедуры.
По происхождению, прерывания делятся на внутренние
(прерывания процессора) и аппаратные (вызываемые
электрическими сигналами на соответствующих входах
35
процессора).

36.

Внутренние прерывания или исключения – вырабатываются
процессором при особых условиях, могущих возникнуть при
исполнении текущей инструкции:
прерывание типа 0 вырабатывается в случае переполнения при
операции деления на 0;
прерывание типа 1 вырабатывается после выполнения каждой
команды при установленном флаге трассировки TF;
Прерывание типа 4 вырабатывается по команде INTO (Interrupt
Overflow), если установлен флаг переполнения OF.
Аппаратные или внешние прерывания могут возникать асинхронно по
отношению к выполняемой программе. Они подразделяются на
маскируемые и немаскируемые.
Маскируемые – могут быть запрещены к исполнению на определённое
время при помощи флага IF.
Немаскируемые прерывания – выполняются при любых условиях,
независимо от флага IF.
36

37.

Программные прерывания вызываются командой INT xx и
исполняются независимо от состояния флага IF.
Программные прерывания позволяют легко и быстро
вызывать часто используемые процедуры из любого
сегмента без применения медленных дальних вызовов.
Кроме всего перечисленного, существуют ещё и
программные прерывания (более корректное название –
«программный вызов обработчика прерываний»).
37

38. Особенности обмена по шине

Цикл обмена данными между процессором 8086 и памятью
состоит из пяти тактов: четырех рабочих (T1, T2, T3, T4) и одного
такта ожидания (Twait).
На такте T1 передаётся адрес, а циклы T2, T3, Twait, T4
используются для обмена данными и передачи дополнительных
управляющих сигналов S4…S0.
Сигналы S3…S4 посылаются одновременно с отправкой данных и
несут информацию о типе сегмента, с которым происходит обмен
данными.
Сигналы S2…S0 используются контроллером шины на системной
плате (микросхема Intel 8288) для оповещения модулей памяти и
портов ввода/вывода о начале операций по обмену данными:
001 – чтение из порта,
010 – запись в порт,
101 – чтение памяти,
110 – запись в память.
Узел процессора 8086, отвечавший за управление шиной
адреса/данных, получил название «модуль интерфейса шины».
38

39. Функционирование модуля интерфейса шины

Тактовый генератор на системной плате (микросхема Intel 8284A)
выдает первый импульс (сигнал T1), и блок управления (БУ)
процессора посылает в модуль интерфейса шины некий адрес
Модуль интерфейса шины, который также получил импульс T1 и
«знает», что на данном такте внешняя шина используется для
передачи адреса, задействует линии с A0 по A19 для пересылки в
память адреса.
С помощью сигнала ALE (Address Latch Enable) включается запрет на
любое другое использование адресной шины на этом такте.
Затем
микросхема
8284A
вырабатывает
следующий
синхронизирующий импульс (процессор его воспринимает как сигнал о
начале такта T2).
Модуль интерфейса шины путем посылки сигнала по линии BHE и AD0
настраивает шину (16-битная или 8-битная, а если 8-битная, то какая
группа линий используется, старшие 8 бит или младшие 8 бит – D0:D7
или D8:D15). Одновременно модуль посылает сигнал RD или WR,
исходя из того, какое действие с памятью хочет произвести процессор
39
(прочитать или записать).

40. Функционирование модуля интерфейса шины

Микросхема 8284A снова вырабатывает импульс (такт T3).
Если перед этим был послан сигнал WR (запись), то в
оперативную память сразу же отправляются данные из
какого-либо регистра общего назначения (в соответствии с
настройками шины данных сигналом BHE: 8 бит или 16
бит).
Передача данных в память занимает целых три цикла,
включая и цикл ожидания: T3, Twait и T4. Если же на
втором такте был передан сигнал RD (чтение), то модуль
интерфейса шины резервирует шину под прием данных и
начинает приём данных в конце следующего цикла
(Twait).
Если из памяти пришел код команды, то он отправляется в
очередь команд, если данные, то они «уходят» в один
из
40
регистров общего назначения.

41. Математический сопроцессор 8087

Сопроцессор 8087, официально (фирмой Intel)
называемый NPX (Numeric Processor eXtension),
предназначен для расширения вычислительных
возможностей центрального процессора (CPU)
8086/8088, 80186/80188.
Применение сопроцессора 8087 к системе команд
8086 добавляет 68 мнемоник, включающих
арифметические, тригонометрические,
экспоненциальные и логарифмические.
41

42. Процессор 8088

Для
процессора Intel 8086 нужно было специально
разрабатывать новую системную плату с 16-битной шиной
данных. А это неминуемо должно было привести к
увеличению общей стоимости системы в целом и
автоматическому ее выпадению из рыночного сегмента
«16-битный персональный компьютер за 1500 долларов».
Поэтому инженеры IBM для своего проекта 5150 (IBM PC)
взяли за основу другую разработку Intel – чип 8088,
появившийся в 1979 году.
Традиционным
определением процессора Intel 8088
является следующая фраза: «Это процессор 8086 с 8битной шиной данных». На такой характеристике настаивал
в первую очередь маркетинговый отдел Intel. Но
правильнее было бы назвать чип 8088 «процессором 8085
42
с набором команд x86 и регистрами Intel 8086».

43. Процессор 8088

Некоторые компании (в частности, Godbout Electronics),
выпуская клон 8088, позиционировали его именно как
решение из одной группы с чипом 8085 (их оригинальная
документация так и называется – «CPU 8085/88 Technical
Manual»).
Клон 8088 от компании Godbout Electronics имел даже
синхронизацию, аналогичную 8085, и базовый
четырёхтактный цикл (у оригинального 8088 от Intel
базовый цикл равен пяти тактам). Для программистов,
конечно, это особого значения не имело, поскольку и
8086, и 8088 располагали одним и тем же набором
команд. Однако если быть совершенно
беспристрастными, то оригинальный IBM PC нельзя
назвать полноценной 16-битной машиной.
43

44. Процессоры 80186/80188

Процессоры i80186/80188 и их модификации 80С186/80С188 не
представляют нового представления архитектуры: как и 8085/8088, они
являются процессорами с 16-разрядной внутренней архитектурой и
программно совместимыми с 8086.
Разрядность шины адреса – 20 бит, шины данных у 80186 – 16 бит, у
80188 – 8 бит.
Эти процессоры имеют встроенные периферийные контроллеры
прерывания, прямого доступа к памяти, трёхканальный таймер и
генератор синхронизации.
За счёт архитектурных улучшений сокращенно число тактов, требуемых
для выполнения некоторых команд.
Процессоры 80С186/80С188 имеют средства управления
энергопотреблением, есть их модификации со встроенными
последовательными портами и контроллерами регенерации
динамической памяти.
44

45. Процессоры 80186/80188 (2)

Встроенная периферия этих процессоров
имеет
программный
интерфейс,
не
совместимый с IBM РС-спецификациями.
Эти
процессоры
используются
во
встраиваемых
контроллерах
и
компьютерах, не требующих 100% IBMсовместимости (возможно обеспечение
совместимости на уровне MS-DOS).
45

46. Общие сведения о процессоре 80286

Процессор 80286, выпущенный в 1982 году,
представляет второе поколение 16-разрядных
процессоров.
Процессор 80286 имеет специальные
средства для работы в многопользовательских и многозадачных системах.
Наиболее существенным отличием от 8086/88 является
механизм управления адресацией памяти, который
обеспечивает четырёхуровневую систему защиты и
поддержку виртуальной памяти.
Специальные средства предназначены для поддержки
механизма переключения задач (Task switching).
Процессор имеет расширенную систему команд, которая
кроме команд управления защитой включает все команды
8086 и несколько новых команд общего назначения.

47.

Процессор может работать в двух режимах:
8086 Real Address Mode — режим реальной
адресации (или просто реальный режим — Real Mode),
полностью совместимый с 8086. В этом режиме
возможна адресация до 1 Мбайт физической памяти
(на самом деле, за счет «удачной» ошибки, почти на 64
Кб больше).
Protected Virtual Address Mode — защищённый режим
виртуальной адресации (или просто защищённый
режим — Protected Mode). В этом режиме процессор
позволяет адресовать до 16 Мб физической памяти,
через
которые
при
использовании
механизма
страничной адресации могут отображаться до 1 Гб
виртуальной памяти каждой задачи. Система команд в
этом режиме также включает набор команд 8086,
расширенный для обеспечения аппаратной реализации
функций супервизора многозадачной ОС и виртуальной

48.

Переключение в защищённый режим осуществляется
одной командой (с предварительно подготовленными
таблицами дескрипторов) достаточно быстро. Обратное
переключение в реальный режим возможно только через
аппаратный сброс процессора, что требует значительных
затрат времени.
По составу и назначению в реальном режиме регистры
80286 в основном совпадают с регистрами 8086/88.
Изменения касаются назначения разрядов регистра
флагов и использования сегментных регистров в
защищённом режиме.
Как
и процессор 8086, процессор 80286 имеет 16разрядную шину данных и очередь команд 6 байт.
За счёт совершенствования архитектуры сокращено время
выполнения операций: процессор 80286 с тактовой
частотой12,5 МГц работает более чем в 6 раз быстрее,
чем 8086 с тактовой частотой 5 МГц.

49.

Совместно с процессором 80286 предусмотрена
возможность
использования
высокопроизводительного
математического
сопроцессора
80287, программно совместимого с 8087.
Под управлением операционной системы MS
DOS процессор 80286 обычно используют в
реальном режиме работы.
Защищенный режим используют ОС типа XENIX,
UNIX, OS/2, NetWare286 и оболочка MS Windows.
Хотя преимущества процессора 80286 в PC
реализовались лишь частично (он в основном
использовался как быстрый процессор 8086),
именно с этим процессором связан настоящий
«бум» на рынке PC.

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

Назначение внутренних регистров процессора 80286 такое
же, как у процессора 8086/8088. Но в слове состояния
процессора (PSW) добавлены три используемых разряда,
и, кроме того, появился ещё один внутренний регистр —
регистр управления со словом состояния машины (MSW —
Machine State Word), в котором используется только четыре
бита.
Дополнительные биты слова состояния процессора PSW
имеют следующее назначение:
IOPL (Input/Output Privilege Level) — два бита,
определяющие уровень привилегий ввода/вывода;
NT (Nested Task flag) — флаг вложенной задачи.

51.

Регистр
MSW управляет режимом процессора. Для
изменения его содержимого и сохранения его в памяти
предназначены специальные команды. Назначение его
битов следующее:
PE (Protection Enable) – разрешение защиты. Установка
этого флага переводит процессор в защищенный режим.
Но очистка флага не переводит в реальный режим
(требуется аппаратный сброс процессора).
MP (Monitor Processor extension) – мониторинг внешнего
математического сопроцессора.
EM
(Processor Extension Emulated) – эмуляция
математического сопроцессора.
TS (Task Switch) – переключение задач. Как и два
предыдущих
разряда,
этот
разряд
управляет
сопроцессором.

52. Организация памяти процессора 80286

Как и у процессоров 8086/8088, для обращения к памяти
процессор 80286 (совместно с внешней схемой) формирует
шинные сигналы MEMWR# (Memory Write) и MEMRD#
(Memory Read) для операций записи и чтения
соответственно.
Шина адреса разрядностью 24 бита позволяет адресовать
16 Мб физической памяти, но в реальном режиме
доступен только 1 Мб, начинающийся с младших адресов.
С программной точки зрения память также организуется в
виде сегментов, но управление сегментацией имеет
существенные различия для реального и защищённого
режимов.
В реальном режиме по адресации памяти декларируется
полная совместимость с процессором 8086, который своей
16-битной адресной шиной охватывает пространство 52
физической памяти в1 Мб.

53.

При вычислении физического адреса
возможно возникновение переполнения,
которое с 20-битной шиной адреса
просто игнорируется.
Если, например, Seg=FFFFh и EA=FFFFh,
физический адрес, вычисленный по
формуле РА=16 * Seg + EA=10FFEF,
процессором 8086 трактуется как 0FFEF —
адрес, принадлежащий первому мегабайту.
Однако на выходе А20 процессора 80286 в этом случае
установится единичное значение, что соответствует
адресу ячейки из второго мегабайта физической памяти.
Для обеспечения полной программной совместимости с
8086 в схему PC был введён специальный вентиль Gate
A20, принудительно обнуляющий бит A20 системной 53
шины адреса.

54.

В защищённом режиме работают все режимы адресации, допустимые
для 8086 и реального режима 80286. Отличия касаются определения
сегментов:
сегментные регистры CS, DS, SS и ES хранят не сами базовые
адреса сегментов, а селекторы, по которым из таблицы,
хранящейся в ОЗУ, извлекаются дескрипторы сегментов;
дескриптор описывает базовый адрес, размер сегмента (1-64 Кб) и
его атрибуты;
базовый адрес сегмента имеет разрядность 24 бита, что и
обеспечивает адресацию 16 Мб физической памяти.
Селекторы, загружаемые в 16-разрядные сегментные регистры, имеют
три поля RPL (биты 0, 1), TI (бит 2) и INDEX (биты 3-15):
RPL (Requested Privilege Level) – запрошенный уровень привилегий;
TI (Table Indicator) – индикатор использования GDT – глобальной
(Т1==0) или LDT – локальной (Т1=1) таблицы дескрипторов;
INDEX — номер дескриптора в таблице.
54

55. Прерывания процессора 80286

Как и процессор 8086, 80286 может обрабатывать до 256 типов
прерываний.
Прерывания подразделяются три вида:
аппаратные (маскируемые или немаскируемые), вызываемые
сигналами на входах процессора;
программные, вызываемые командой INT;
исключения инструкций.
При этом аппаратные и программные прерывания работают точно
так же, как в 8086/8088.
Исключения инструкций (Instruction Exceptions) или просто
исключения случаются при возникновении особых условий при
выполнении операций (в 8086 аналогом исключений являлись
внутренние прерывания процессора).
Обработка исключений проводится аналогично обработке
прерываний.
55

56.

Каждому номеру прерывания соответствует свой
элемент в таблице дескрипторов прерываний
IDT (Interrupt Descriptor Table).
В реальном режиме эта таблица организована так
же, как у 8086/8088, то есть содержит двойные
слова, определяющие адрес начала процедур
обработки прерываний.
В защищенном режиме таблица содержит 8-
байтные дескрипторы прерываний. Ее размер
может быть от 32 до 256 дескрипторов, и
располагаться она может в любом месте памяти.
56

57. Система команд процессора 80286

Система команд процессора 80286 включает, помимо
полного
набора
команд
процессора
8086,
ряд
дополнительных команд, например:
сохранение константы в стеке, сохранение в стеке и
восстановление из стека всех регистров одной
командой;
целочисленное умножение на константу;
сдвиги (включая циклические) на заданное в константе
количество шагов;
вход и выход из процедур;
команды управления защитой.
Попытка выполнения недействительной команды (или
попытка выполнения в реальном режиме команды,
предназначенной только для защищенного режима)
вызывает специальное исключение.
57

58. Интерфейс процессора 80286

Процессоры 80286 выпускались в 68-выводных корпусах
PLCC и PGA. Их интерфейс отличается от 8086
применением раздельных шин адреса и данных,
конвейерной адресации, а также составом и назначением
управляющих сигналов.
Конвейерная адресация (Pipelined Addressing),
применяемая в процессоре, предусматривает возможность
начала (фазы идентификации и адресации) нового цикла,
не дожидаясь завершения физического обмена данными
предыдущего цикла. Это позволяет сократить число тактов
ожидания, необходимых для согласования с относительно
медленной памятью и портами, за счет более раннего
начала выполнения дешифрации адреса устройством
памяти или ввода-вывода. Конвейерный режим позволяет
контроллерам памяти эффективно использовать быстрый
страничный режим динамической памяти и чередование58
банков.

59. Функционирование процессора 80286

Основными компонентами системы на базе процессора
80286 являются:
собственно микропроцессор 80286;
синхрогенератор 82284;
шинный контроллер 82288.
Система использует три шины:
адреса,
данных,
управляющих сигналов.
Синхрогенератор генерирует тактовый сигнал CLK для
синхронизации внутреннего функционирования процессора
и других микросхем. Сигнал RESET производит сброс
процессора в начальное состояние. Это состояние
показано на рисунке упрощенно. Сигнал READY# также
формируется
с
помощью
синхрогенератора.
Он
предназначен для удлинения циклов при работе59 с
медленными периферийными устройствами.

60.

На
адресную
шину,
состоящую
из
24
линий,
микропроцессор выставляет адрес байта или слова,
который будет пересылаться по шине данных в процессор
или из него. Кроме того, шина адреса используется
микропроцессором для указания адресов периферийных
портов, с которыми производится обмен данными.
Шина данных состоит из 16 линий. по которым возможна
передача как отдельных байтов. так и двухбайтовых слов.
При пересылке байтов возможна передача и по старшим 8
линиям, и по младшим. Шина данных двунаправлена, так
как передача байтов и слов может производится как в
микропроцессор, так и из него.
Шина управления формируется сигналами, поступающими
непосредственно от микропроцессора, сигналами от
шинного контроллера, а также сигналами, идущими к
микропроцессору от других микросхем и периферийных адаптеров.

61.

Микропроцессор использует шинный контроллер
для формирования управляющих сигналов,
определяющих передачу данных по шине.
Контроллер шины выставляет три сигнала (SO#,
SI#, M/IO#), которые определяют тип цикла шины:
подтверждение прерывания,
чтение порта ввода/вывода,
останов,
чтение памяти,
запись в память.
На основании значений сигналов SO#, SI#, M/IO#
шинный контроллер формирует управляющие
сигналы, контролирующие динамику данного типа
шины.
61

62.

Чтение процессором слов из оперативной памяти
происходит в течение 4 тактов тактовой частоты CLK, или 2
состояний процессора (т.е. каждое состояние процессора
длится 2 такта синхросигнала CLK).
Во время первого состояния процессор выставляет на
адресную шину значение адреса, по которому будет
читаться слово. Кроме того, он формирует на шине
совместно с шинным контроллером соответствующие
значения управляющих сигналов.
Эти сигналы и адрес обрабатываются схемой управления
памятью, в результате чего, начиная с середины второго
состояния процессора (т.е. в начале четвертого такта CLK) на
шине данных появляется значение содержимого
соответствующего слова из оперативной памяти.
Далее процессор считывает значение этого слова с шины
данных.
На этом перенос (копирование) значения слова из памяти в
62
процессор заканчивается.

63.

В начале 1987 г. на базе МП 386DX фирма IBM выпустила
компьютер PS/2 модели 80 с тактовой частотой 20 МГц,
который стал настоящей сенсацией из-за высокой
производительности
вычислений.
Помимо
высокого
быстродействия достоинством МП 386 является возможность
работать в реальном, защищенном и виртуальном режимах.
Реальный режим, как и для 286-го процессора, это базовый
режим совместимости с 8086. Компьютер в этом режиме
( Turbo PC ) быстрее осуществляет вычисления с ОЗУ 640
Кб и программами для DOS. В архитектуру процессоров Intel,
начиная с 80386, для вычислений и адресации памяти
вводятся 32-разрядные регистры (архитектура IA-32) общего
назначения (GP), подходящие как для хранения адресов, так
и для операндов. Часть каждого 32-разрядного регистра для
обеспечения совместимости имеет значение одного 16разрядного
регистра
предыдущих
двух
поколений
процессоров.
63

64.

Был введен новый «виртуальный режим» 8086 для
повышения быстродействия выполнения программ
на новой 32-разрядной машине, созданный ранее
для процессоров 8086 и 8088. 32-разрядная
адресация позволяет адресовать к 4 Гб адресного
пространства, и также увеличить размер каждого
сегмента до 4 Гб. Первоначальные инструкции х86
были
расширены
новыми
инструкциями
с
32-разрядными операндами и формой адресации. В
процессоре Intel 386 также вводится метод для
управления виртуальной памятью и страничная
организация памяти, с фиксированным размером
страницы 4 Kб, и возможность определения
сегментов размером в 4 Гб.
64

65.

Процессор Intel 386 был первым архитектуры IA-32, в который
включили 6 параллельно работающих блоков:
шинный интерфейс (доступ к памяти и устройствам
ввода/вывода других блоков);
блок предварительной выборки кода (получает объектный код из шинного интерфейса и помещает его в 16-байтную
очередь);
блок декодирования инструкций (декодирует объектный код из блока предварительной выборки в микрокод);
блок выполнения (выполняет инструкции микрокода);
сегментный блок (переводит логические адреса в
линейные адреса и выполняет проверку защиты);
блок страничного преобразования (переводит линейные
адреса в физические, выполняет проверку страничной защиты
и содержит кэш с информацией о 32 наиболее часто
используемых страницах).
65

66.

Было разработано несколько типов
персональных компьютеров с модификациями МП 386 – SX, SL, DX,
работающих с таковыми частотами 16,
20, 25, 33 МГц и сопроцессором 80387,
который устанавливался отдельно от МП
на системной плате и выполнял
операции с плавающей запятой параллельно процессору ЭВМ.
66

67.

Следующим шагом в разработке компьютеров
явилось использование в их составе МП 486
следующих разновидностей:
-
486 SX без сопроцессора;
-
486 DX со встроенным сопроцессором;
486 DX2 с удвоением внутренней частоты
вычислений и сопроцессором;
486 DX4 с утроенным быстродействием и
сопроцессором.
Тактовая частота первого МП 486 составляла 25
МГц, которая в более поздних МП увеличилась до 33,
50, 66 МГц. Структура процессора 486 подробно
рассматривается ниже.
67

68.

• ЭВМ на базе процессора i486 появились в 1989 г., когда
Intel впервые продемонстрировала СБИС i486DX. Процессор
i486 в дальнейшем был усовершенствован с использованием
новой технологии и, как указывалось выше, имеет несколько
модификаций.
Наиболее
важные
его
возможности
следующие:
• -совместимость с системой команд i86, i286, i386;
• -32-битная шина адреса и 32-битная шина данных;
• -совместимость FPU с сопроцессорами i87, i287, i387 и
поддержка
32/64/80-битных форматов чисел;
• -наличие кэш первого уровня с быстродействием регистров
МП;
• -конвейеризация команд, т.е. их параллельная подготовка к
выполнению;
• -пакетные циклы обмена, снижающие общее время
вычислений и передачи данных между МП и DRAM68 с
использованием внутренних буферов записи;

69.

Схема процессора i486 представлена на рис. Он содержит
устройство
управления
(УУ),
арифметико-логическое
устройство (АЛУ), устройство с плавающей точкой (FPU),
устройства сегментации и страничного преобразования,
кэш-память (КЭШ), устройство предвыборки команд и
шинный интерфейс. В составе устройств на схеме показаны
все пользовательские и системные регистры процессора.
Рассмотрим более подробно назначение устройств
процессора.
Шинный интерфейс – это устройство связи i486 с шиной
процессора и через контроллер шины с другими блоками
ЭВМ. Он обеспечивает двунаправленную передачу данных и
адресов, формирование управляющих сигналов (УС) для
подключения внешних блоков к контроллеру шины.
Передача данных и их прием осуществляется через
буферные регистры интерфейса в режиме сквозной записи и
69
пакетного обмена.

70.

70

71.

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

72.

Также к процессору Intel 486 был добавлен
кэш L1 8 Кб для увеличения числа
инструкций, которые могут быть выполнены
за один такт. В процессоре Intel 486 впервые
в CPU было интегрировано устройство с
плавающей запятой (FPU) и добавлены
новые инструкции для поддержки кэша L2 и
мультипроцессорности. Позже в процессор
Intel 486 SL были введены функции
поддержки энергосбережения и системного
управления для ноутбуков PC, работающих от
батарей.
English     Русский Rules