Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 32

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 26 27 28 29 30 31 < 32 > 33 34 35 36 37 38 .. 528 >> Следующая

декодирует сложные команды (например, сложение, вычитание, сравнение,
логические операции с выборкой операнда из памяти), выполнение которых
требует до четырех микроопераций. Соответствующие микрокоманды
формируются на выходах этого декодера. Более сложные команды (умножение,
деление, операции с плавающей точкой и ряд других) требуют формирования
последовательности нескольких микрокоманд. Для их реализации используется
устройство микропрограммного управления с ПЗУ микропрограмм, которое
обеспечивает на выходе DC3 необходимую последовательность микрокоманд.
Таким образом, блок выборки - декодирования формирует шесть потоков
микрокоманд, обеспечивающих параллельное выполнение трех команд
программы.
Если в потоке команд оказывается команда условного перехода (ветвления
программы), то включается блок предсказания ветвления, который формирует
адрес следующей выбираемой команды до того, как будет определено условие
выполнения перехода. Используемый механизм предсказания адреса перехода
описан ниже.
После формирования потоков микрокоманд производится выделение регистров,
необходимых для выполнения декодированных команд. Эта процедура
реализуется блоком распределения регистров (RAT -Register Alias Table),
который выделяет для каждого указанного в команде логического регистра
(регистра целочисленных операндов ЕАХ, ЕСХ и др. или регистра операндов с
плавающей точкой STO - ST7) один из 40 физических регистров, входящих в
блок регистров замещения (RRF - Retirement Register File). Эта процедура
позволяет выполнять команды, использующие одни и те же логические
регистры, одновременно или с изменением их последовательности.
Реализация наиболее эффективного выполнения потока декодированных команд
обеспечивается блоком, который позволяет изменять последовательность
команд (ROB - Re-Order Buffer). Этот блок реализован в виде буфера, в
который поступают микрокоманды, реализующие выполнение ряда
декодированных команд. Одновременно в буфере могут содержаться до 40
микрокоманд, которые затем направляются в исполнительные устройства по
мере готовности операндов, поступающих из блока регистров RRF или
выбираемых из памяти. При этом команды выполняются не в порядке их
поступления, а по мере готовности соответствующих операндов и
исполнительных устройств. В результате команды, поступившие позже, могут
быть выполнены до ранее выбранных команд. Таким образом, естественный
порядок следования команд нарушается, чтобы обеспечить более полную
загрузку параллельно работающих исполнительных устройств и повысить
производительность процессора.
Микрокоманды поступают в исполнительные устройства через блок
распределения (RS -Reservation Station), который направляет их в
соответствующее устройство после его освобождения. Блок распределения
имеет пять выходных портов и обеспечивает в среднем выполнение трех
команд одновременно.
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
Суперскалярная архитектура реализуется путем организации исполнительного
ядра процессора в виде ряда параллельно работающих блоков. Исполнительные
блоки IU1, IU2 (IU - Integer Unit) производят обработку целочисленных
операндов, блок FPU (Floating-Point Unit) выполняет операции над числами
с плавающей точкой, блок ММХ реализует одновременную обработку нескольких
упакованных символов, блок SSE, введенный в процессорах Pentium III,
обеспечивает выполнение операций над потоком чисел с плавающей точкой.
Один из целочисленных блоков выполняет также проверку условий ветвления
для команд условных переходов и выдает сигналы перезагрузки конвейера
команд в случае неправильно предсказанного ветвления.
Адреса операндов, выбираемых из памяти, вычисляются блоком MIU (Memory
Interface Unite), который реализует интерфейс с кэш-памятью данных или
внешней памятью. В его состав входят устройства генерации адреса AGU
(Address Generated Unit), которые в соответствии с заданными в
декодированных командах способами адресации одновременно формируют адреса
двух операндов: один для операции чтения, второй - для операции записи.
При этом MIU может формировать адреса и производить предварительное
чтение операндов для команд, которые еще не поступили на выполнение.
Такая процедура предварительного чтения данных для последующей их
обработки в ис-полнительных блоках называется спекулятивной выборкой.
Если команда, для которой проведена спекулятивная выборка операнда, не
поступает на исполнение, то считанные данные теряются. Такой случай имеет
место, например, для выбранных и декодированных команд, которые
оказываются в нереализуемой ветви программы.
При выборке операнда из памяти производится обращение к кэш-памяти
данный, которая имеет отдельные порты для чтения и записи. Таким образом
обеспечивается одновременная выборка операндов для двух команд. При
отсутствии адресуемого операнда в кэшпамяти данных (кэш-промах) с помощью
буферного блока обращения к па-мяти MOB (Memory Order Buffer)
Предыдущая << 1 .. 26 27 28 29 30 31 < 32 > 33 34 35 36 37 38 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed