ВУЗ:
Составители:
На четвертой стадии (ЕХ) Pentium осуществляет операции в АЛУ и обращения к
КЭШ данным. Команды, требующие и того и другого, задерживаются на этой стадии более
чем на один такт. На этой стадии все команды в U-конвейере и все команды, за исключением
условных переходов, в V-конвейере проверяются на правильность предсказания переходов.
На последней стадии (WB) команды могут изменить состояние процессора и
завершают выполнения. На этой стадии на правильность предсказания переходов
проверяются условные переходы в V-конвейере. Каждый конвейер имеет свой буфер записи
WB для повышения производительности при последовательных записях в память. Буферы
имеют разрядность 64 бит, и могут оба заполняться за один такт, например, при
одновременных кэш-промахах записи на обоих конвейерах. На внешнюю шину операции
записи из этих буферов направляются в том порядке, в каком они генерируются
процессорным ядром. Pentium процессор поддерживает строгий порядок записи .
Высокопроизводительный математический сопроцессор представляет собой 8
стадийный конвейер и может выполнять одну команду, с плавающей точкой за один такт.
Команды сопроцессора проходят по общему конвейеру до ступени ЕХ, после чего
выполняются в блоке FPU (рис.6.11). Как правило, команды с плавающей точкой не могут
выполняться параллельно с целочисленными командами. Однако, существует несколько
исключений, позволяющих сдваивать команды. Многие команды с плавающей точкой могут
быть выполнены только над операндом, находящегося в вершине стека
Для обмена данными с вершиной стека предназначена команда FXCH. Это часто
встречающаяся при вычислениях с плавающей точкой команда может выступать в качестве
второй команды, если ей предшествует одна из длинных команд: FLD single/double, FLD
ST[i], FADD, FSUB, FMUL, FDIV, FCOM, FUCOM, FTST, FABS, FCHS. Сдвоенная таким
образом команда FXCH не требует времени на выполнение (0 тактов).
Другим исключением является то, что с этими длинными командами могут быть
выполнены и простые команды в целочисленном конвейере. Другим новшеством при
построении математического сопроцессора является использование новых алгоритмов
обработки операций с плавающей точкой, что позволило увеличить скорость выполнения
обычных операций (ADD, MUL, LOAD). Конвейерное исполнение и более совершенные
алгоритмы позволили почти в 10 раз увеличить скорость обработки по сравнению с 486-ым
процессором.
Встроенная подсистема кэширования включает два двухканальных наборно-
ассоциативных кэша размером по 8 Кбайт: кэш данных и кэш программ. Длина строки кэша
составляет 32 байт, ширина внешней шины данных – 8 байт. Оба кэша придерживаются
одного из двух алгоритмов обновления данных: алгоритма связной или обратной записи.
Задать алгоритм для конкретного блока памяти можно как программным, так и аппаратным
способами. Замещение строк в кэш–памяти основывается на алгоритме LRU. Если в кэш–
памяти есть недействительные строки, то новая строка будет помещена вместо одной из них.
Если недействительных строк нет (кэш–память переполнена), то новая строка замещает
строку, на которую дольше всего не было никаких ссылок. Память каждого кэша разбивается
на восемь банков с чередованием по границам в 4 байта. Кэш данных доступен обоим
конвейерам, и если им требуются данные из разных банков, запросы от обоих конвейеров
могут обслуживаться одновременно.
Размерность внешней шины данных в Pentium увеличена вдвое и равна 64 байтам.
Введено конвейерное выполнение циклов передачи данных, при этом два цикла шины могут
одновременно находиться на выполнении. Максимальная скорость передачи данных по шине
данных при тактовой частоте 66 МГц составляет:
8 байтов × 66 МГц = 528 Кбайт/сек,
что больше чем в три раза превосходит максимальную скорость передачи 50 МГц 486
процессора (160 Кбайт/сек).
На четвертой стадии (ЕХ) Pentium осуществляет операции в АЛУ и обращения к КЭШ данным. Команды, требующие и того и другого, задерживаются на этой стадии более чем на один такт. На этой стадии все команды в U-конвейере и все команды, за исключением условных переходов, в V-конвейере проверяются на правильность предсказания переходов. На последней стадии (WB) команды могут изменить состояние процессора и завершают выполнения. На этой стадии на правильность предсказания переходов проверяются условные переходы в V-конвейере. Каждый конвейер имеет свой буфер записи WB для повышения производительности при последовательных записях в память. Буферы имеют разрядность 64 бит, и могут оба заполняться за один такт, например, при одновременных кэш-промахах записи на обоих конвейерах. На внешнюю шину операции записи из этих буферов направляются в том порядке, в каком они генерируются процессорным ядром. Pentium процессор поддерживает строгий порядок записи . Высокопроизводительный математический сопроцессор представляет собой 8 стадийный конвейер и может выполнять одну команду, с плавающей точкой за один такт. Команды сопроцессора проходят по общему конвейеру до ступени ЕХ, после чего выполняются в блоке FPU (рис.6.11). Как правило, команды с плавающей точкой не могут выполняться параллельно с целочисленными командами. Однако, существует несколько исключений, позволяющих сдваивать команды. Многие команды с плавающей точкой могут быть выполнены только над операндом, находящегося в вершине стека Для обмена данными с вершиной стека предназначена команда FXCH. Это часто встречающаяся при вычислениях с плавающей точкой команда может выступать в качестве второй команды, если ей предшествует одна из длинных команд: FLD single/double, FLD ST[i], FADD, FSUB, FMUL, FDIV, FCOM, FUCOM, FTST, FABS, FCHS. Сдвоенная таким образом команда FXCH не требует времени на выполнение (0 тактов). Другим исключением является то, что с этими длинными командами могут быть выполнены и простые команды в целочисленном конвейере. Другим новшеством при построении математического сопроцессора является использование новых алгоритмов обработки операций с плавающей точкой, что позволило увеличить скорость выполнения обычных операций (ADD, MUL, LOAD). Конвейерное исполнение и более совершенные алгоритмы позволили почти в 10 раз увеличить скорость обработки по сравнению с 486-ым процессором. Встроенная подсистема кэширования включает два двухканальных наборно- ассоциативных кэша размером по 8 Кбайт: кэш данных и кэш программ. Длина строки кэша составляет 32 байт, ширина внешней шины данных – 8 байт. Оба кэша придерживаются одного из двух алгоритмов обновления данных: алгоритма связной или обратной записи. Задать алгоритм для конкретного блока памяти можно как программным, так и аппаратным способами. Замещение строк в кэш–памяти основывается на алгоритме LRU. Если в кэш– памяти есть недействительные строки, то новая строка будет помещена вместо одной из них. Если недействительных строк нет (кэш–память переполнена), то новая строка замещает строку, на которую дольше всего не было никаких ссылок. Память каждого кэша разбивается на восемь банков с чередованием по границам в 4 байта. Кэш данных доступен обоим конвейерам, и если им требуются данные из разных банков, запросы от обоих конвейеров могут обслуживаться одновременно. Размерность внешней шины данных в Pentium увеличена вдвое и равна 64 байтам. Введено конвейерное выполнение циклов передачи данных, при этом два цикла шины могут одновременно находиться на выполнении. Максимальная скорость передачи данных по шине данных при тактовой частоте 66 МГц составляет: 8 байтов × 66 МГц = 528 Кбайт/сек, что больше чем в три раза превосходит максимальную скорость передачи 50 МГц 486 процессора (160 Кбайт/сек).
Страницы
- « первая
- ‹ предыдущая
- …
- 139
- 140
- 141
- 142
- 143
- …
- следующая ›
- последняя »