Программирование. Базовая архитектура IBM PC Х86

Содержание

Слайд 2

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

Архитектура – это функциональная организация ВМ без физической реализации.
Представление данных и

Архитектура ВМ Архитектура – это функциональная организация ВМ без физической реализации. Представление
их связь с назначением, организация хранения и способы кодирования.
Адресация – способ определения адреса операнда по информации в адресной части команды.
Структура команд: части команд и взаимодействие частей.
Система команд – перечень команд.
Организация вычислительного процесса.
Организация ввода-вывода.
Система прерываний.

Слайд 3

Базовая архитектура IBM PC Х86

Представление данных. С точки зрения размерности

Процессоры Intel имеют

Базовая архитектура IBM PC Х86 Представление данных. С точки зрения размерности Процессоры
важную особенность — младший байт всегда хранится по меньшему адресу.

Слайд 4

Базовая архитектура IBM PC Х86

Представление данных. С точки зрения логической интерпретации

Целый тип

Базовая архитектура IBM PC Х86 Представление данных. С точки зрения логической интерпретации
со знаком (в дополнительном коде)
8-разрядное целое— от-128 до+127;
16-разрядное целое — от -32 768 до +32 767;
32-разрядное целое — от -2^31 до +2^31 - 1.
Целый тип без знака
байт — от 0 до 255;
слово — от 0 до 65 535;
двойное слово— от 0 до 2^32 - 1.
Указатель на память
ближний тип — 32-разрядный логический адрес
дальний тип — 48-разрядный логический адрес

Слайд 5

Базовая архитектура IBM PC Х86

Представление данных. С точки зрения логической интерпретации

Цепочка представляет

Базовая архитектура IBM PC Х86 Представление данных. С точки зрения логической интерпретации
собой некоторый непрерывный набор байтов, слов или двойных слов максимальной длиной до 4 Гбайт.
Битовое поле. Каждый бит является независимым и может рассматриваться как отдельная переменная. Битовое поле может начинаться с любого бита любого байта и содержать до 32 битов.
Неупакованный двоично-десятичный тип — байтовое представление десятичной цифры от 0 до 9. По одной цифре в каждом бай
Упакованный двоично-десятичный тип. Хранит две десятичных цифр от 0 до 9 в одном байте. Каждая цифра хранится в своем полубайте.

Слайд 6

Базовая архитектура IBM PC Х86

Представление данных. С точки зрения логической интерпретации

Типы данных

Базовая архитектура IBM PC Х86 Представление данных. С точки зрения логической интерпретации
с плавающей точкой. Сопроцессор имеет несколько собственных типов данных, несовместимых с типами данных целочисленного устройства.
Типы данных MMX-расширения Pentium MMX/II/III/IV. Данный тип данных появился в процессоре Pentium MMX.
Типы данных MMX-расширения Pentium III/IV. Этот тип данных появился в процессоре Pentium III.

Слайд 7

Базовая архитектура IBM PC Х86

Организация вычислительного процесса

Вычислительный процесс организован в полном соответствии

Базовая архитектура IBM PC Х86 Организация вычислительного процесса Вычислительный процесс организован в
с принципами фон Неймана.
Для ускорения введено понятие конвейера команд, из которого извлекается следующая команда.

Слайд 8

Базовая архитектура IBM PC Х86

Регистры процессора: регистр флагов

EFLAGS
RFLAGS
FLAGS
В регистре хранятся данные о

Базовая архитектура IBM PC Х86 Регистры процессора: регистр флагов EFLAGS RFLAGS FLAGS
состоянии процессора и результатах выполнения некоторых команд.

Слайд 9

Базовая архитектура IBM PC Х86

Регистры процессора: регистр флагов

FLAGS
C – carry flag (флаг

Базовая архитектура IBM PC Х86 Регистры процессора: регистр флагов FLAGS C –
переноса) – выполнение операции привело к возникновению переноса
P – parity flag (флаг четности) – количество единиц в младшем байте результата чётно
A – auxiliary carry flag (флаг дополнительного переноса) – используется при операциях с двоично-десятичными числами
Z – zero flag (флаг нуля) – результатом операции был ноль

Слайд 10

Базовая архитектура IBM PC Х86

Регистры процессора: регистр флагов

FLAGS
S – sign flag (флаг

Базовая архитектура IBM PC Х86 Регистры процессора: регистр флагов FLAGS S –
знака) – старший разряд результата имеет значение «1»
T – trap flag (флаг трассировки) – используется программами-отладчиками
I – interrupt flag (флаг прерывания) – процессор реагирует на прерывания
D – direction flag (флаг направления) – используется командами обработки строк
O – overflow flag (флаг переполнения) – устанавливается при переполнении (результат операции не помещается в регистре

Слайд 11

Базовая архитектура IBM PC Х86

Регистры процессора: РОНы

Базовая архитектура IBM PC Х86 Регистры процессора: РОНы

Слайд 12

Базовая архитектура IBM PC Х86

Регистры процессора: РОНы

Регистр AX (accumulator, аккумулятор)
Это регистр-накопитель. Наиболее

Базовая архитектура IBM PC Х86 Регистры процессора: РОНы Регистр AX (accumulator, аккумулятор)
эффективно его использование в арифметических и логических операциях, а также в операциях пересылки, т.к. именно эти операции оптимизированы для использования регистра AX и, как правило, обладают более высоким быстродействием.

Слайд 13

Базовая архитектура IBM PC Х86

Регистры процессора: РОНы

Регистр BX (base, базовый регистр)
В некоторых

Базовая архитектура IBM PC Х86 Регистры процессора: РОНы Регистр BX (base, базовый
операциях этот регистр используется для реализации расширенной адресации.

Слайд 14

Базовая архитектура IBM PC Х86

Регистры процессора: РОНы

Регистр CX (counter, счётчик)
Обычно этот регистр

Базовая архитектура IBM PC Х86 Регистры процессора: РОНы Регистр CX (counter, счётчик)
используется как счётчик, указывающий количество выполнений команды или группы команд (циклические вычисления, сдвиги).

Слайд 15

Базовая архитектура IBM PC Х86

Регистры процессора: РОНы

Регистр DX (data, регистр данных)
Этот регистр

Базовая архитектура IBM PC Х86 Регистры процессора: РОНы Регистр DX (data, регистр
используется в операциях умножения и деления, а также является единственным регистром, в котором может быть указан адрес порта в командах ввода-вывода.

Слайд 16

Базовая архитектура IBM PC Х86

Регистры процессора: РОНы

Регистры SI, DI
Индексные регистры источника (SI,

Базовая архитектура IBM PC Х86 Регистры процессора: РОНы Регистры SI, DI Индексные
source index) и приёмника (DI, destination index), содержащие смещения относительно некоторого базового адреса. Обычно используются для выполнения операций над массивами данных.

Слайд 17

Базовая архитектура IBM PC Х86

Регистры процессора: РОНы

Регистр BP
Базовый регистр, в котором содержится

Базовая архитектура IBM PC Х86 Регистры процессора: РОНы Регистр BP Базовый регистр,
смещение относительно начала сегмента, в качестве которого по умолчанию предполагается сегмент стека. Обычно используется при организации вычислений в стековых структурах.

Слайд 18

Базовая архитектура IBM PC Х86

Регистры процессора: РОНы

Регистр SP (stack pointer, указатель стека)
В

Базовая архитектура IBM PC Х86 Регистры процессора: РОНы Регистр SP (stack pointer,
SP содержится смещение относительно начала сегмента стека. При операциях со стеком система сама следит за изменениями содержимого SP в соответствии с выполняемыми операциями. В SP содержится адрес младшего байта данных, который был послан в стек последним.

Слайд 19

Базовая архитектура IBM PC Х86

Регистры процессора: РОНы

Регистр IP (instruction pointer, счётчик команд)
Регистр

Базовая архитектура IBM PC Х86 Регистры процессора: РОНы Регистр IP (instruction pointer,
содержит адрес команды, следующей за выполняемой в текущий момент, в сегменте памяти, который задаётся регистром CS.

Слайд 20

Базовая архитектура IBM PC Х86

Регистры процессора: сегментные регистры

CS (code segment) – указывает

Базовая архитектура IBM PC Х86 Регистры процессора: сегментные регистры CS (code segment)
на сегмент, в котором содержатся команды программы (начальный адрес сегмента кода). Адрес команды – CS:IP.
DS (data segment) – адресует начало сегмента данных.
ES (extra segment) – указывает на дополнительный сегмент данных; используется обычно при строковых операциях при формировании адреса приёмника данных.
SS (stack segment) – адресует сегмент стека.

Слайд 21

Базовая архитектура IBM PC Х86

Адресация

Разрядность шины адреса: 20 разрядов
Максимальный адрес: 220
220 байтов

Базовая архитектура IBM PC Х86 Адресация Разрядность шины адреса: 20 разрядов Максимальный
= 1 Мбайт
Адрес задаётся с помощью двух 16-разрядных значений – сегмента и смещения – и вычисляется по формуле
<целевой адрес> = <сегмент>*16 + смещение

Слайд 22

Базовая архитектура IBM PC Х86

Сегменты

При работе с данными в пределах сегмента изменяется

Базовая архитектура IBM PC Х86 Сегменты При работе с данными в пределах
только смещение, адрес начала сегмента не меняется.
Сегменты в памяти могут перекрываться.

Слайд 23

Базовая архитектура IBM PC Х86

Сегменты: адресация

Базовая архитектура IBM PC Х86 Сегменты: адресация

Слайд 24

Базовая архитектура IBM PC Х86

Структура команд

Базовая архитектура IBM PC Х86 Структура команд

Слайд 25

Базовая архитектура IBM PC Х86

Структура команд

Префиксы — необязательные однобайтные элементы машинной команды.

Базовая архитектура IBM PC Х86 Структура команд Префиксы — необязательные однобайтные элементы
Назначение префиксов — изменить действия, выполняемые командой. Машинная команда может иметь до четырех префиксов одновременно. Порядок их следования при этом может быть любым.
Код операции — обязательный элемент, описывающий операцию, выполняемую командой. Код операции может занимать от одного до трех байт. Для некоторых машинных команд часть битов кода операции может находиться в байте mod r/m.

Слайд 26

Базовая архитектура IBM PC Х86

Структура команд

Байт режима адресации mod r/m, иногда называемый

Базовая архитектура IBM PC Х86 Структура команд Байт режима адресации mod r/m,
постбайтом, несет информацию об операндах и режиме адресации. Если операнд находится в памяти, то байт mod r/m определяет компоненты (смещение, базовый и индексный регистры), используемые для вычисления его эффективного адреса.
Байт масштаба, индекса и базы (Scale-Index-Base — sib) используется для расширения возможностей адресации операндов. На наличие байта sib в машинной команде указывает сочетание одного из значений 01 или 10 поля mod и значения поля r/m = 100.

Слайд 27

Базовая архитектура IBM PC Х86

Структура команд

Поле смещения в команде — это 8-,

Базовая архитектура IBM PC Х86 Структура команд Поле смещения в команде —
16- или 32-разрядное целое число со знаком, представляющее собой полностью или частично значение эффективного адреса операнда.
Поле непосредственного операнда — необязательное поле, представляющее собой 8-, 16- или 32-разрядный непосредственный операнд.

Слайд 28

Базовая архитектура IBM PC Х86

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

Команды пересылки:
а) между регистрами и памятью;
б) между

Базовая архитектура IBM PC Х86 Система команд Команды пересылки: а) между регистрами
регистрами и устройствами ввода-вывода.
Команды управления.
Арифметические и логические команды.
Команды манипулирования битами.
Команды для обработки строк.
Команды для поддержки механизма прерываний.
Команды изменения состояния процессора.

Слайд 29

Базовая архитектура IBM PC Х86

Система прерываний

Предусмотрены прерывания аппаратные и программные.
Всего в системе

Базовая архитектура IBM PC Х86 Система прерываний Предусмотрены прерывания аппаратные и программные.
может быть до 255 прерываний.
Для реализации механизма прерываний выделен 1 КБайт оперативной памяти.