Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Приложения / AppCompHistory.doc
Скачиваний:
25
Добавлен:
20.06.2014
Размер:
947.2 Кб
Скачать

Intel 8085

В том же 1976 году был выпущен i8085. Он имел мультиплексированную шину данных/адреса, выводы для приема и передачи последовательных данных, усовершенствованную систему прерываний, две дополнительные команды для работы с прерываниями и последовательными данными, тактовую частоту 3 МГц и одно напряжение питания +5В.

В 1976 году в продаже было уже около пятидесяти типов микропроцессоров.

Intel 8086

В 1978 г. был создан процессор Intel 8086 — следующий классический процессор после Intel 8080. Все процессоры персональных компьютеров в настоящее время имеют т. н. архитектуру x86. Любая программа, написанная для i8086, может быть исполнена ими.

Характеристики i8086:

  • разрядность шины данных — 16;

  • разрядность шины адреса — 20;

  • количество команд — 135;

  • количество транзисторов — 29000;

  • тактовая частота — 2-5 МГц;

  • корпус — DIP 40.

i8086 обеспечивает возможность адресации памяти объемом до 1 Мбайта, 65536 устройств ввода и 65536 устройств вывода.

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

Для совместной работы с i8086 был выпущен i8087 — математический сопроцессор — устройство, специализированное для обработки чисел с плавающей точкой (FPU, Floating Point Unit).

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

Intel 8086 имеет расширенный набор регистров, устройство шинного интерфейса (примененное впервые в микропроцессорной технике), встроенную схему регенерации, новый порядок обработки прерываний и расширенную систему адресации. Устройство шинного интерфейса (BIU, Bus Interface Unit) выполняет функции взаимодействия с внешней средой, окружением процессора: генерацию адресов, выдачу и прием данных. В составе BIU имеется очередь размером шесть байт. В то время как исполнительное устройство процессора обрабатывает данные, BIU получает с шины следующую команду и ставит ее в очередь.

Изменения в архитектуре в процессоре i8086, в первую очередь увеличение разрядности и сегментация памяти, повлияли на систему команд. Число команд увеличилось до 135. Максимальная длина команды увеличилась с трех байтов до шести.

Общий формат команды i8086 таков:

6 бит

1

1

2 бита

3 бита

3 бита

1 или 2 байта

1 или 2 байта

COP

D

W

MOD

REG

R/M

DISP8/16

DATA8/16

Общая направленность изменений такова:

  • так как исчез регистр HL, указатель данных, то пропали и команды, использующие его в этом качестве. Его эквивалентом считается регистр BX, но в общем случае схема его использования гораздо сложнее;

  • по этой же причине, а также в соответствии с общей тенденцией минимизации прямых скачков в программе (осуждение GOTO) удалена команда PCHL;

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

Все изменения можно разделить на следующие виды: удаления, добавления, замены и расширения.

Удалены следующие команды:

  • условных вызовов подпрограммы и условных возвратов из подпрограммы;

  • прямой модификации содержимого указателя команд (PCHL);

  • сложения с удвоенной точностью;

  • все команды загрузки и размещения.

Добавлены команды:

  • умножения и деления (отдельные для знаковых и беззнаковых чисел);

  • преобразования байта в слово — CBW (ALAX), слова в двойное слово CWD (AXDX:AX);

  • пересылки строк;

  • ASCII-коррекции результатов сложения, вычитания, умножения и деления (четыре команды) (команда десятичной коррекции i8080 распалась на две: коррекции результатов сложения и вычитания);

  • сброса и установки флагов переноса (CLC, STC), направления (CLD, STD) (Прим. STC в i8080 есть);

  • сравнения строк (CMPS);

  • ввода и вывода с косвенно-регистровой адресацией;

  • загрузки AH флагами (LAHF) и размещения AH в регистре флагов (SAHF);

  • возврата из прерывания (IRET);

  • загрузки сегментных регистров (LDS, LES);

  • префикс захвата шины (LOCK);

  • префиксы повторения операций со строками (REP) безусловные (отсутствовали в 386 и 486) и условные (REPE/REPZ, REPNE/REPNZ);

  • префиксы замены сегмента;

  • загрузки строки (LODS);

  • размещения строки (STOS);

  • сканирования строки (SCAS);

  • пересылки строки (MOVS);

  • цикла пока ECX0 (LOOP);

  • изменения знака (NEG);

  • арифметических и логических сдвигов влево и вправо на один и произвольное число разрядов;

  • логического сравнения операндов (TEST);

  • ожидания (WAIT);

  • преобразования кодов (XLAT);

  • передачи команды сопроцессору (ESC).

Замены:

  • команды запрещения и разрешения прерываний DI и EI на команды сброса и установки флага прерываний (CLI, STI);

  • команды рестартов на команды программных прерываний (INT, INTO, INT3).

Расширения:

  • десятичная коррекция аккумулятора распалась на две команды: коррекции результата сложения (DAA) и вычитания (DAS);

  • вызовы подпрограммы стали четырех типов: внутрисегментные относительные и косвенные, межсегментные прямые и косвенные;

  • возвраты из подпрограммы четырех типов: внутрисегментные и межсегментные с увеличением и без увеличения SP;

  • условные переходы — по шестнадцати условиям, по условию равенства-неравенства нулю регистра CX (ECX);

  • безусловные переходы — внутрисегментные короткий, относительный длинный, относительный косвенный, межсегментные прямой и косвенный;

  • извлечение из стека и помещение в стек сегментных регистров, всех регистров (POPA, PUSHA), регистра флагов (POPF, PUSHF);

  • циклические сдвиги на произвольное число разрядов;

  • обмен между любыми регистрами;

  • в арифметических и логических операциях результат может быть размещен в любом регистре общего назначения, а не только в аккумуляторе.

В последующих процессорах x86 для полной программной совместимости из всех видов изменений в системе команд будут только добавления и расширения.

Intel 8086 также имел большой успех, поскольку опирался на Intel 8080 и в смысле архитектуры, и в смысле большой базы программного обеспечения, созданного для него к тому времени. Intel 8086 не полностью совместим с Intel 8080 программно, но каждый регистр Intel 8080 имеет соответствующий регистр в Intel 8086. Это дает возможность создания трансляторов программ 8080-8086 и перехода к новой модели программирования путем дополнения старой.

Основные классические решения по архитектуре процессоров в i8086:

  • отделение интерфейса от операционной части;

  • очередь команд (прообраз кэша команд);

  • сегментация памяти (модификация адресов);

  • порядок обработки прерываний;

  • средства синхронизации работы нескольких центральных процессоров, а также центрального процессора и сопроцессора.

Соседние файлы в папке Приложения