Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ASM.docx
Скачиваний:
3
Добавлен:
31.07.2019
Размер:
616.28 Кб
Скачать

Архитектура процессоров семейства х86. Процессор 8086. Процессор 80386. Организация стека.

Архитектура ЭВМ

Однозначно определить понятие архитектуры ЭВМ довольно трудно, потому что

при желании в него можно включить все, что связано с компьютерами вообще и ка-

кой-то конкретной моделью компьютера в частности. Попытаемся все же его фор-

мализовать.

Архитектура ЭВМ — это абстрактное представление ЭВМ, которое отражает

ее структурную, схемотехническую и логическую организацию. Понятие архитек-

туры ЭВМ является комплексным, в него входят:

структурная схема ЭВМ;

средства и способы доступа к элементам структурной схемы ЭВМ;

организация и разрядность интерфейсов ЭВМ;

набор и доступность регистров;

организация и способы адресации памяти;

способы представления и форматы данных ЭВМ;

набор машинных команд ЭВМ;

форматы машинных команд;

правила обработки нештатных ситуаций (прерываний).

Таким образом, описание архитектуры включает в себя практически всю необ-

ходимую для программиста информацию о компьютере. Понятие архитектуры

ЭВМ — иерархическое. Допустимо вести речь как об архитектуре компьютера в це-

лом, так и об архитектуре отдельных его составляющих, например, архитектуре

процессора или архитектуре подсистемы ввода-вывода.

Все современные компьютеры обладают некоторыми общими и индивидуаль-

ными архитектурными свойствами. Индивидуальные свойства присущи только

конкретной модели компьютера и отличают ее от своих больших и малых собрать-

ев. Общие архитектурные свойства, наоборот, присущи некоторой, часто доволь-

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

свойства большинства современных компьютеров подпадают под понятие фон-ней-

мановской архитектуры. Так названа архитектура по имени ученого фон Нейма-

на. Когда фон Нейман начал заниматься компьютерами, программирование по-

следних осуществлялось способом коммутирования. В первых ЭВМ для генерации

нужных сигналов необходимо было с помощью переключателей выполнить руч-

ное программирование всех логических схем. В первых машинах использовали де-

сятичную логику, при которой каждый разряд представлялся десятичной цифрой

и моделировался 10 электронными лампами. В зависимости от нужной цифры одна

лампа включалась, остальные девять оставались выключенными. Фон Нейман

предложил схему ЭВМ с программой в памяти и двоичной логикой вместо деся-

тичной. Логически машину фон Неймана составляли пять блоков (рис. 2.1): опе-

ративная память, арифметико-логическое устройство (АЛУ) с аккумулятором,

блок управления, устройства ввода и вывода. Особо следует выделить роль акку-

мулятора. Физически он представляет собой регистр АЛУ. Для процессоров Intel,

в которых большинство команд — двукоперандные, его роль не столь очевидна. Но

существовали и существуют процессорные среды с однооперандными машинны-

ми командами. В них наличие аккумулятора играет ключевую роль, так как боль-

шинство команд используют его содержимое в качестве либо второго, либо един-

ственного операнда команды.

Схема машины фон Неймана

Ниже описаны свойства и принципы работы машины фон Неймана.

Линейное пространство памяти. Для оперативного хранения информации компь-

ютер имеет совокупность ячеек с последовательной нумерацией (адресами) О,

1, 2,... Данная совокупность ячеек называется оперативной памятью.

Принцип хранимой программы. Согласно этому принципу, код программы и ее

данные находятся в одном и том же адресном пространстве оперативной

памяти.

Принцип микропрограммирования. Суть этого принципа заключается в том, что

машинный язык еще не является той конечной субстанцией, которая физически

Архитектура 1А-32 29

приводит в действие процессы в машине. В состав процессора (см. главу 1) вхо-

дит устройство микропрограммного управления, поддерживающее набор дей-

ствий-сигналов, которые нужно сгенерировать для физического выполнения

каждой машинной команды.

в Последовательное выполнение программ. Процессор выбирает из памяти коман-

ды строго последовательно. Для изменения прямолинейного хода выполнения

программы или осуществления ветвления необходимо использовать специаль-

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

* Отсутствие разницы между данными и командами в памяти. С точки зрения

процессора, нет принципиальной разницы между данными и командами. Дан-

ные и машинные команды находятся в одном пространстве памяти в виде по-

следовательности нулей и единиц. Это свойство связано с предыдущим. Про-

цессор, поочередно обрабатывая некоторые ячейки памяти, всегда пытается

трактовать содержимое ячеек как коды машинных команд, а если это не так, то

происходит аварийное завершение программы. Поэтому важно всегда четко

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

ii Безразличие к назначению данных. Машине все равно, какую логическую на-

грузку несут обрабатываемые ею данные.

Данный учебник посвящен вопросам программирования процессоров фирмы

Intel и Intel-совместимых процессоров других фирм. Поэтому в качестве примера

индивидуальных архитектурных принципов компьютера, в силу иерархичности

этого понятия, рассмотрим индивидуальные архитектурные принципы и свойства

процессоров Intel. Их полное рассмотрение не является нашей целью, уделим вни-

мание лишь тем их них, которые наиболее характерны и понадобятся нам для даль-

нейшего изложения. Более подробно вопросы организации архитектуры компью-

тера описаны в [7].

Согласно материалам фирмы Intel, индивидуальные архитектурные свойства

и принципы работы всех ее процессоров, начиная с i8086 и заканчивая Pentium IV,

выстроены в рамках единой архитектуры, которая позже получила название IA-32

(32-bit Intel Architecture). Эта архитектура не является «закостенелым» образова-

нием. В процессе эволюции процессоров Intel она постоянно изменяется и разви-

вается. Каждый из процессоров вносил в IA-32 одно или несколько архитектур-

ных новшеств. Несмотря на то, что датой рождения архитектуры IA-32 нужно

считать дату появления на свет процессора i80386, предыдущие модели процессо-

ров также внесли существенный вклад в представление ее принципов и свойств.

Если вернуться к материалу главы 1, то можно проследить за вкладом, который

внес каждый из процессоров Intel в ходе своей эволюции в формирование элемен-

тов архитектуры IA-32. Так, благодаря процессорам 18086/88 в IA-32 существует

сегментация памяти, i80286 ввел защищенный режим и т. д.

Очередной революционный процессор Intel — 18086 — появился в 1978 г. Его

основные характеристики —наличие 16-разрядных регистров, 16-разрядной шины

данных. Поддержка сегментной организации памяти наряду с 20-разрядной ши-

ной адреса позволяла организовать адресацию памяти в пределах 1 Мбайт при до-

ступности адресного пространства размером 256 Кбайт. С целью занятия более

широкой ниши на рынке Intel вскоре представила более дешевый вариант этого

процессора —18088. При внутренней 16-разрядной архитектуре 18086 он имел 8-раз-

рядную шину данных, вследствие чего был менее производителен. Важно отме-

тить, что дешевизна достигалась в основном не за счет дешевизны самого процес-

сора, а за счет удешевления конечного продукта — компьютера на его основе. Другой

причиной появления и широкого распространения 18088 было наличие большого

количества 8-разрядных внешних устройств. 8-разрядная шина данных 18088 по-

зволяла упростить процесс сопряжения с этими устройствами. Отметим, что од-

ним из внешних устройств, поддерживаемых процессорами 18086/88, был матема-

тический сопроцессор 18087, который мог устанавливаться в специальный разъем

материнской платы. Это позволяло более эффективно выполнять операции с пла-

вающей точкой в соответствии со стандартом IEEE-754. Важно также подчерк-

нуть, что, начиная с 18086/88, все процессоры Intel совместимы «снизу вверх».

Следствием этого является гарантированная возможность запуска на современ-

ном процессоре Pentium практически любой программы, написанной для 18086/88

(естественно, при соответствующей поддержке системного программного обеспе-

чения).

Мощным стимулом к развитию многозадачных систем стали возможности, пре-

доставляемые новым процессором i80386, выпущенным Intel в 1985 г. Это был

первый 32-разрядный процессор, который положил начало семейству процессо-

ров IA-32 (32-bit Intel Architecture). Главные отличительные особенности: 32-раз-

рядные шины адреса и данных (адресация оперативной памяти — до 4 Гбайт);

увеличенная до 32 битов разрядность внутренних регистров процессора; введение

третьего режима работы процессора (режима виртуального процессора 8086); под-

держка страничной адресации памяти, благодаря которой стало возможном за счет

дисковой памяти виртуализировать доступ к оперативной памяти и теоретически

расширить ее рамки вплоть до 4 Гбайт. Аналогично ситуации с 18086 и 18088, одно-

временно был выпущен более дешевый вариант процессора i80386 (180386-DX)

с 16-разрядной шиной данных — 180386-SX. При необходимости на материнскую

плату можно было установить и математический сопроцессор 180387. Процессор

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]