Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АВМиС(лекции).docx
Скачиваний:
13
Добавлен:
25.09.2019
Размер:
2.28 Mб
Скачать

Базовая микроархитектура микропроцессора

СчАК (счетчик адреса команды) – содержит адрес следующей команды исполняемой программы.

УА (Управляющий автомат) – дешифрирует текущую команду поступившую через шиноформирователь 3 (BD3) с шины данных и разворачивает ее исполнение в последовательность шагов (микрокоманд).

РгК – регистр команд.

Каждая микрокоманда оперирует максимум 2-я операндами, помещаемых в регист А (РгА) и регистр B (РгВ). АЛУ производит действие формируя результат в регистр результата (РгР) и флаги.

Программная модель процессора х86

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

Программная модель включает

1) 8 32-ух (IA-32) разрядных регистров общего назначения и 16 64-ех регистров общего назначения для процессоров 64-разрядными расширениями (х86-64).

2) CS, SS, ds, es, fs, gs 16-разр. 6 Сегментных регистров.

3) Регистр состояния R FLAGS

4) Регистр указателя команд RIP (32 либо 64 разрядный)

Помимо перечисленных пользовательских регистров доступных прикладным программам процессоры имеют ряд системных регистров, это системные адресные регистры, управляющие регистры, регистры отладки и тестирования. Их набор зависит от конкретной модели процессора, а доступ к ним привилегирован.

Операнды могут поступать в процессор вместе с командой, из регистра процессора, из памяти.

НЗ ->РГ, П

РГ <-> РГ

П <->РГ

П <-> П (так нельзя)

П – память, РГ – регистр, НЗ – непосредственное значение.

Операнд может быть адресован следующими способами:

  1. непосредственная адресация. mov ax, 5h

  2. Прямая абсолютная адресация. Значение операнда содержится в памяти эффективный адрес ячейки памяти содержится в самой команде. mov ax, perem (perem <- адрес ячейки)

  3. Прямая относительная адресация. Эффективный адрес формируется как сумма указателя команд и относительного адреса перехода.

  4. Регистровая адресация. Значение операнда содержится в регистре. mov ax, bx. (либо add ax, bx)

  5. Косвенная адресация. Операнд находится в памяти. Используется чаще всего для доступ к элементу массива. Эффективный адрес формируется как сумма 3-ех составляющих (BASE, INDEX, DISPLACEMENT). В качестве BASE выступает содержимое регистра общего назначения (AX, BX, CX), смещение это число DISPLACEMENT.

Mov eax, [ecx] – косвенная базовая (регистровая)

Mov [di], al – косвенная индексная

Mov ax, [si+3h] – косвенная регистровая со смещением

Mov ax, array[bx] – косвенная регистровая со смещением

Mov [si][dx], ax – косвенная базовая индексная

Mov ax, array[si][dx] – косвенная базовая индексная со смещением

Различают 3 типа адреса (3 типа адресных пространства): логический, линейный, физический.

Логический – задается парой сегмент:[смещение]. Сегмент – это содержимое одного из сегментных регистров, смещение – это вычисленный эффективный адрес.

Линейный – получается из логического путем сложения сдвинутого на 4 разряда влево значения сегментного значения и смещения. В защищенном режиме большинство современных ОС выделяют программе 1 сегмент с 32-ух разрядным смещением в котором программа располагается так как будто это обычная машина с 32-ух разрядным линейным адресным пространством. В 64-ех разрядных приложениях сегментации нет вообще приложения оперируют только линейными виртуальными адресами.

Физический адрес сформированный из линейного блоком страничной трансляции адресов. В простейшем случае, при отключенном блоке страничной трансляции, те в реальном режиме работы процессора, физический адрес полностью совпадает с линейным.