Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SPPO_chast1.doc
Скачиваний:
5
Добавлен:
16.04.2015
Размер:
322.05 Кб
Скачать

§2. Регистры.

Основная часть регистров - 32 бита. Все регистры делятся на: регистры общего назначения и регистры с плавающей точкой.

  1. Регистры данных – 4 штуки, 32 разряда.

Е – значит END.

А – регистр аккумулятора

B – регистр базы

C – регистр счетчика

D – регистр данных

В 16-битовой архитектуре младший байт L и старший H. Обращение:

AL, AH, BL, BH, CL, CH, DL, DH.

2. Регистры индексов – 2 штуки.

SI – Sourse index

DI – Destination index.

3. Регистры указателей, 3 шт.

Используются, как элементы адресации.

  1. Регистр флагов – один.

Содержит в каждом бите некоторую информацию. Например:

-carry flag – флаг переноса (складываем два числа, одино не помещается в разрядную сетку и тогда попадает в carry flag).

-zeroflag(ZR) = 1, если результат = 0 (= 0, если результат = 1).

-signflag = 1, если число меньше нуля (= 0, если результат больше нуля). Это флаг знака результата.

PSW – это указатель команд и флаги с точки зрения архитектуры.

  1. Регистры сегментов – 16 битов.

-CS – command segment (командный сегмент).

-SS – stack segment (сегмент стека)

-DS – data segment (сегмент данных)

-ES – дополнительный регистр данных.

-GS, FS – два дополнительных сегмента.

§3. Организация 16-битовой архитектуры.

С помощью одного регистра можно записать 216 адресов, т. е. 64 Kb. Это мало. У них 20-тиразрядная шина адреса, следовательно, можно записать 220 адресов, т. е. 1 Mb. Одного регистра на это не хватает, а двух – вполне.

Адрес команды:

CS:TP

CS – сегмент команды

TP – указатель команд.

16 = 24 – для одной цифры четыре разряда в шестнадцатеричной системе. Двоичные легко перевести в шестнадцатеричные. Если старший сегмент имеет старшую цифру, не равную нулю, а остальные – нули, то адрес нормализован.

SSSP – стек,

DSBP – данные – адресация.

Исполнительный адрес - из двух регистров.

В 16-битовой архитектуре адрес можно трактовать, как 5-тибитовое шестнадцатеричное число. Одним регистром шифруется 64 Кб. С помощью младшей цифры можно изменить адрес на один параграф – 16 Кб.

Под PSW в 16-битовой архитектуре понимают эту информацию – регистр и регистр флагов.

Кроме адреса команд еще используются регистры.

SS и SP – тоже для вычисления адреса, но стекового.

SSstack segment (сегмент стека), SPstack pointer (указатель на стек).

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

(EIP, Flags) = PSW.

§4. Адресное пространство процессора.

Модели памяти в 16-битовой архитектуре.

Единица работы – процесс (совокупность кода данных и управляющей информации), следовательно, адресное пространство любого процесса условно состоит из трех частей

1) код.

2) область статических данных (та область, которая выделяется процессу в момент его создания).

3) динамическая область (динамических данных). Выделяется по ходу.

В динамической области две части – стек и куча (heap), если не хватило места. Они хоть и используются процессом, но управляет ими ОС.

В связи с тем, что адресное пространство процессора устроено так – адресация следующая.

CS:IP – к коду

PS:BP – статические данные

SS:SP – стек.

По два регистра.

Различают три разные модели памяти.

Если всего мало, то всего один регистр. Это модель TINY, когда формально 2 регистра, а реально – один (указательный). Это единственная модель с одним регистром.

SMALL – это когда все регистры имеют разные значения, но постоянные в течение выполнения одной программы. Но код – не больше 64 Кб.

Во всех остальных моделях – содержание регистра меняется по ходу программы (кроме SS).

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