Система команд процессоров, совместимых с архитектурой Intel. Программирование на MicrosoftMacroAssembler
Архитектура компьютера
Центральный процессор
Выполнение компьютером программ означает исполнение специальной микросхемой (процессором) команд (инструкций) и хранение результатов в специальных разделах процессора (регистрах).
Например, выполнение инструкций
mov eax. 2
add eax. 3
приводит к тому, что в регистре eax оказывается число 5. Первая команда посылает в этот регистр число 2, а вторая – прибавляет к содержимому регистра число 3.
Центральный процессор (ЦП) - устройство, непосредственно предназначенное для выполнения вычислительных операций. Процессор работает под управлением программы, выполняя вычисления или принимая логические решения, необходимые для обработки информации.
Большинство современных центральных процессоров строятся на базе 32-битной архитектуры Intel-совместимых процессоров IA-32 (Intel Architecture), которая является третьим поколением базовой архитектуры x86.
Все процессоры, которыми мы пользуемся, называются процессорами х86. Под процессорами х86 подразумевают следующие модели процессоров: 8086, 80186, 80286, 80386, 80486, 80586 (Pentium I), 80686 (Pentium II) и т. д.
Процессоры 8086-80286 - 16-разрядные, все остальные - 32- разрядные.
Процессоры Intel с поддержкой технологии ЕМ64Т и процессоры AMD с поддержкой технологии AMD64 являются 64-разрядными процессорами.
Функционально центральный процессор можно разделить на две части (рисунок):
- операционную, содержащую арифметико-логическое устройство (АЛУ) и микропроцессорную память (МПП) - регистры общего назначения;
|
|
- интерфейсную, содержащую адресные регистры, устройство управления, регистры памяти для хранения кодов команд, выполняемых в ближайшие такты; схемы управления шиной и портами. Обе части ЦП работают параллельно, причем интерфейсная часть опережает операционную, так что выборка очередной команды из памяти (ее запись в блок регистров команд и предварительный анализ) происходит во время выполнения операционной частью предыдущей команды. Такая организация ЦП позволяет существенно повысить его эффективное быстродействие.
Устройство управления (УУ) вырабатывает управляющие сигналы, поступающие по кодовым шинам инструкций в другие блоки вычислительной машины. УУ формирует управляющие сигналы для выполнения команд центрального процессора.
Арифметико-логическое устройство (АЛУ) предназначено для выполнения арифметических и логических операций преобразования информации.
Системная шина – набор проводников, по которым передаются сигналы, соединяющая процессор с другими компонентами на системной плате. Системная шина состоит из шины данных, шины адреса, шины управления.
|
|
Шина данных – служит для пересылки данных между процессором и оперативным запоминающим устройством (ОЗУ).
Шина адреса – используется для передачи сигналов, с помощью которых определяется местоположение ячейки памяти для выполняемых процессором операций чтения/записи и ввода-вывода.
Шина управления – служит для пересылки управляющих сигналов. Каждая линия этой шины имеет своё особое назначение, поэтому они могут быть как однонаправленными, так и двунаправленными.
Микропроцессорная память
Микропроцессорная память представляет собой набор регистров, которые условно можно разделить на 4 группы:
- регистры общего назначения;
- сегментные регистры;
- регистр счетчика команд;
- регистр признаков.
Регистры общего назначения
Регистр – устройство сверхбыстродействующей памяти в процессоре, служащее для временного хранения управляющей информации, операндов и результатов выполняемых операций. Совокупность регистров процессора называется набором регистров.
Набор регистров общего назначения 32-битной архитектуры центрального процессора включает в себя (рисунок):
- 4 универсальных регистра: EAX, EBX, ECX, EDX;
- 2 индексных регистра: ESI, EDI;
|
|
- 2 регистра для работы со стеком: ESP, EBP.
Каждый из 32-разрядных универсальных регистров представляет собой логическое объединение, позволяющее отдельно обращаться к своей младшей 16-разрядной части: AX, BX, CX, DX (рисунок ниже).
Каждый 16-разрядный регистр позволяет независимо обращаться к старшему (H) и младшему (L) байту. Соответствующие 8-разрядные регистры имеют имена AH, AL, BH, BL, CH, CL, DH, DL.
Регистр EAX (аккумулятор) – автоматически применяется при операциях умножения, деления и при работе с портами ввода-вывода. Его использование в арифметических, логических и некоторых других операциях позволяет увеличить скорость их выполнения. Использует для записи возвращаемого значения из процедуры.
Регистр EBX (регистр базы) – может содержать адреса элементов оперативной памяти. По умолчанию эти адреса будут представлять собой смещение в сегменте данных.
Регистр ECX (счетчик) – используется в операциях повторения, например в циклах, в строковых командах и т.д.
Регистр EDX (регистр данных) – является единственным элементом, который может хранить адреса портов ввода-вывода в командах типа IN (получить из порта) и OUT (вывести в порт). Без его помощи невозможно обратиться к портам с адресами в адресном пространстве больше 1 байта. Автоматически применяется также в операциях умножения и деления.
Дата добавления: 2018-06-27; просмотров: 567; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!