Классический поток команд процессора — КиберПедия 

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Классический поток команд процессора

2022-08-21 28
Классический поток команд процессора 0.00 из 5.00 0 оценок
Заказать работу

 

Когда команды извлекаются из кэша (или оперативной памяти), их необходимо декодировать и отправить на исполнение. Эти операции (получение команд, декодирование и отправка на исполнение) выполняются на препроцессоре. Из препроцессора они направляются на постпроцессор, где и выполняются. После этого результат попадает обратно в кэш (оперативную память).

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

1. Извлечение из кэша (оперативной памяти).

2. Декодирование (разборка команды).

3. Исполнение команды (применение действий).

4. Запись в кэш (оперативную память).

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

Поток команд процессора

 

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

Технология гиперконвейерой обработки предполагает удвоение длины конвейера по сравнению с предыдущей микроархитектурой Р6. например, один из основных элементов конвейера – блок предсказания ветвлений и восстановления работы – разбит на 20 тактов.

В Pentium IV на ступени исполнения используется меньшее количество функциональных блоков процессора. Но каждый из них обладает более длинным и более коротким конвейером. Процессор Pentium IV может одновременно выполнять на разных ступенях по 126 инструкций. Кроме того, в Pentium IV кэш первого уровня разделен и его кэш команд находится фактически на препроцессоре. Он называется кэшем с отслеживанием (trace cache) и оказывает влияние и на конвейер, и на основной поток команд. Эта кэш - память содержит декодированные команды х86 (микрокоманды), что устраняет задержку на расшифровку кодов команд. Исполнительные устройства процессора получают непрерывный поток команд, а общее время восстановления работы при неправильном предсказании ветвления существенно сокращается.

В процессорах с микроархитектурой х86, таких как Pentium III или Athlon, команды поступают в декодер из кэша команд, где они разбиваются на меньшие части (микрокоманды). Эти микрокоманды применяются при внеочередном исполнении команд, исполнительное устройство выполняет их планирование, исполнение и сброс. Такое разбиение имеет место, когда процессор выполняет инструкцию.

 

КЭШ L1

Декодирование

инструкций

Планирование

Исполнение

Сброс

(обобщенная схема работы процессора х86)

 

Кэш команд Pentium IV принимает транслированные и декодированные микрокоманды, готовые к передаче на внеочередное исполнение, и формирует из них мини – программы («отслеживания» - traces).


Декодирование

инструкций

Тrace Сache

Планирование

Исполнение

Сброс

(схема работы процессора Pentium IV)

 

По мере выполнения препроцессором накопленных отслеживаний кэш с отслеживаниями посылает до трех микрокоманд за такт на внеочередное устройство исполнения. В этом случае команды не нужно транслировать или декодировать. И только в случае промаха кэше первого уровня (L1) препроцессор начнет выбирать и декодировать инструкции из кэша второго уровня (L2) – к основному конвейеру добавляется дополнительные 8 ступеней.

Кэш с отслеживаниями работает в двух режимах:

- исполнительном (execute mode);

- построения отслеживающих сегментов (trace segment build mode).

В режиме исполнения кэш L1 передает команды исполнительным устройствам. Когда наступает промах этого кэша, он переходит в режим отслеживающих сегментов. В этом режиме препроцессор выбирает команды из кэша L2, транслирует их в микрокоманды, создает отслеживающий сегмент, который затем перемещается в кэш с отслеживающими и далее выполняется. Кэш – память уровня L2 с улучшенной передачей данных объемом 256 Кб ускоряет обмен информацией между кэш – памятью уровня 2 и ядром процессора.

Улучшенная система динамического исполнения – сложное устройство предположительного исполнения, хранящие команды для исполнительных устройств. Эта система позволяет исполнительным устройствам выбирать команды из большого набора предстоящих операций.

Как было отмечено выше, процессор начинает декодирование лишь в случае промаха кэша L1. Поэтому он разработан таким образом, чтобы декодировать только одну х86 – команду за такт. Так как длинный х86 – команды декодируются в 2 или 3 микрокоманды, то чтобы не засорять кэш с отслеживаниями, поступают следующим образом. Как только при создании отслеживающего сегмента кэш с отслеживаниями встречает длинную х86 – инструкцию, он вставляет в отслеживающий сегмент метку, которая указывает ячейки оперативной памяти с последовательностью микрокоманд данной инструкции. В режиме исполнения, когда кэш с отслеживаниями будет передавать поток инструкций на ступень исполнения, при попадании на такую метку он приостановит работу и на время передаст управление потоком команд микрокоду оперативной памяти.

 

Кодовые названия

 


Поделиться с друзьями:

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.