Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры_AVMiS_УРА_ТАВАРИЩИ! МЫ Добились этого!.doc
Скачиваний:
7
Добавлен:
25.09.2019
Размер:
3.51 Mб
Скачать
  1. Методы повышения производительности процессора.

Микроархитектура процессора (внутренняя реализация программной модели). Различные микроархитектурные реализации направлены на повышение быстродействия (производительности):

  • применение RISC-ядра для исполнения микрокоманд

  • конвейеризация выполнения инструкций

  • распараллеливание выполнения инструкций (суперскалярный процессор – этот тот которые имеет более одного конвейера)

  • предсказание переходов и на его основе спекулятивное исполнение

  1. Программная модель процессора х86 (базовая архитектура ia-32).

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

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

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] – косвенная базовая индексная со смещением

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

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

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

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

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