Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Программирование -> Assembler -> Оптимизация для pentium процессора


7. БЛОКИРОВКА ГЕНЕРАЦИИ АДРЕСА (AGI).
========================================
Требуется один такт, что бы рассчитать адрес, требующийся инструкции для
доступа к памяти. Обычно это делается отдельно, в конвеере, пока выполнятеся
предыдущая инструкция или пара инструкций. Но если адрес зависит от
результата инструкции, выполняющейся в предыдущем такте, то потребуется еще
один такт, дополнительно, для расчета адреса. Это было названо остановка AGI.

Пример:
ADD EBX,4 / MOV EAX,[EBX]    ; остановка AGI
В данном примере остановка AGI может быть легко удалена, путем добавления
других инструкций между ADD EBX,4 и MOV EAX,[EBX] или путем обмена их
местами:
MOV EAX,[EBX+4] / ADD EBX,4

Также может получиться остановка AGI при применении инструкций использующих
ESP для адресации, т.н. PUSH, POP, CALL и RET, если ESP была изменена в
предыдущем такте инструкцией типа MOV, ADD или SUB. Однако у Pentium есть
специальная схема, которая позволяет предсказать значение ESP после стековых
операций, таким образом вы не получите остановку AGI после использования PUSH,
POP и CALL. Однако вы можете получить остановку AGI после RET, если у него
есть операнд для добавления к ESP.

Примеры:
ADD ESP,4 / POP ESI            ; остановка AGI
POP EAX   / POP ESI            ; нет остановки, спаривание
MOV ESP,EBP / RET              ; остановка AGI
CALL L1 / L1: MOV EAX,[ESP+8]  ; нет остановки
RET / POP EAX                  ; нет остановки
RET 8 / POP EAX                ; остановка AGI

Инструкция LEA также приводит к остановке AGI, если она использует базовый или
индексный регистр, который был изменен в предыдущем такте.
INC ESI / LEA EAX,[EBX+4*ESI]  ; остановка AGI

Дальше



 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100