Сегодня 01 июня 2026
18+
MWC 2018 2018 Computex IFA 2018
реклама
Процессоры и память

Pentium 4 и G4e: сравнение архитектур

⇣ Содержание

Обзор архитектуры G4e и его конвейера.

На большой диаграмме можно рассмотреть основы архитектуры G4e и особенности реализации ступеней конвейера на препроцессоре и функциональных устройствах.


Перед тем как попасть на конвейер G4e, инструкции должны попасть в кэш инструкций на 32 тысячи записей. 64 кб кэш L1 состоит из кэша инструкций и кэша данных равного размера. Далее инструкция передается из кэша L1 дальше, на следующие ступени препроцессора, а затем на стадию выполнения. Здесь она выполняется одним из восьми функциональных устройств процессора (не считая устройства предсказания ветвлений, о котором мы поговорим позднее).

Как уже было отмечено ранее, G4e вместо классических четырёх ступеней, разбивает конвейер на семь небольших ступеней.



G4
G4e
Препроцессор 1 Выборка 1 Выборка1
2 Выборка2

Декодирование/Отправка
Декодирование/Отправка
4 Выдача
Постпроцессор
Выполнение
Выполнение
4 Завершение/Запись
Завершение

Запись

Давайте взглянем на основные ступени конвейера G4e. Не смотря на то, что их больше четырёх, их предназначение вполне понятно. Понимание этого конвейера, больше похожего на конвейер RISC, даст нам основу для предстоящего разговора о более длинном конвейере P4.

Ступени 1 и 2 - выборка инструкций (Instruction fetch). Эти две ступени предназначены в основном для извлечения инструкций из кэша L1. G4e способен выбрать из кэша L1 четыре инструкции за один такт и передать их на следующую ступень. Будем надеяться, что в кэше L1 есть требуемые инструкции. В случае если в кэше L1 инструкции не найдены, процессор начинает искать их в более медленном кэше L2, что добавляет до девяти тактов задержки ко времени работы конвейера.

Ступень 3 - декодирование/диспетчеризация (decode/dispatch). Как только инструкция выбрана, она поступает на один из двенадцати входов очереди инструкций, где она будет декодирована. Именно на стадии декодирования процессор определяет, что это за инструкция, и куда именно отсылать её на выполнение. Как только инструкция декодирована, она отправляется на нужную очередь выдачи.

Декодер G4e может отправлять на следующую ступень до трёх инструкций за один такт.

Ступень 4 - выдача (Issue) Существует три очереди выдачи для трёх типов инструкций, выполняемых G4e. Первая очередь - для инструкций с плавающей точкой (Floating-Point Issue Queue, FIQ). Вторая очередь - для операций с векторами (the Vector Issue Queue, VIQ). Она обрабатывает операции с векторами (Vector/Altivec). Третья очередь - для выполнения общих инструкций (General Instruction Queue, GIQ). Она отвечает за всё остальное. Как только инструкция выходит из очередей выдачи, она попадает на выполняющий процессор (execution engine).

Ступень выдачи также использует резервации (reservation stations - буферы, содержащие команды, которые уже декодированы, но еще не выполнены), которые прикреплены к различным исполнительным устройствам. Заметим, что на картинке они не изображены. Это были бы маленькие белые квадратики над каждой из групп функциональных устройств. Именно на этой ступени линейный поток команд разбивается на независимые порции, и инструкции распределяются на доступные исполнительные устройства. Здесь происходит "внеочередная проверка", в основном, в резервациях. Резервации выполняют всю "грязную работу" по распределению инструкций для исполнительных устройств, к которым они прикреплены. Очереди выдачи, несмотря на их FIFO-характер, могут посылать инструкции в резервации изменяя их порядок по отношению друг к другу.

Очередь для операций с векторами имеет четыре входа. Она может принимать до двух инструкций за один такт из устройства отправки. Очередь для выполнения общих инструкций имеет шесть входов. Она может принимать до трёх инструкций за такт. У очереди для операций с плавающей точкой - 2 входа, и она может принимать лишь одну инструкцию за такт.

Ступень 5 - выполнение (Execute). Эта ступень достаточно проста. Здесь инструкция попадает из очереди выдачи на нужное функциональное устройство и там выполняется. Операции с плавающей точкой попадают на FPU, векторные операции попадают на одно из четырёх устройств Altivec, целочисленные операции попадают в арифметико-логическое устройство (ALU), и инструкции по загрузке или хранению (LOADs or STOREs) попадают на устройство загрузки или хранения (LOAD/STORE Units, LSU). Об этих устройствах мы поговорим более детально, когда будем обсуждать стадию выполнения.

Ступени 6 и 7 - завершение и обратная запись (Complete and Write-Back). На этих двух ступенях инструкции собираются в исходный порядок (в каком они попали в процессор), а их результат записывается в память. Важно, чтобы инструкции были собраны правильно, для "прозрачности" внеочередного выполнения инструкций извне. Для нормального функционирования приложению должно казаться, что все инструкции выполняются последовательно.

Пример всех путешествий инструкций по процессору G4e можно увидеть в этом анимированном GIFе. Предупреждаем, его размер - 355К.

Перед тем как перейти к детальному рассмотрению ступени выполнения G4e обратимся к одному аспекту препроцессора, к устройству обработки ветвлений. (branch processing unit)

Следующая страница → ← Предыдущая страница
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

window-new
Soft
Hard
Тренды 🔥
Слухи: Wizards of the Coast запустила в разработку ремейк легендарной Baldur's Gate 2 25 мин.
Mewgenics совсем скоро получит официальный перевод на русский язык — разработчики уже собрали «все возможные имена» для котиков 6 ч.
Самурайский экшен Onimusha: Way of the Sword выйдет до GTA VI — инсайдер раскрыл дату релиза первой за 20 лет новой игры серии 7 ч.
К взлёту готов: амбициозный авиасимулятор «Корея. Серия Ил-2» получил дату выхода в раннем доступе 8 ч.
«У людей должна быть свобода выбора»: GamesVoice не откажется от русской озвучки Cyberpunk 2077: Phantom Liberty, несмотря на претензии CD Projekt Red 9 ч.
Анонсирована «Смерш: Охотник на волков» — идейная наследница стелс-игр «Смерть шпионам» 20 ч.
Иранские хакеры превратили ChatGPT и Gemini в оружие для кибервойны 24 ч.
Авторы эвакуационного шутера Active Matter показали новый геймплей под аккомпанемент советского рок-хита «На заре» 24 ч.
GamesVoice анонсировала сбор средств на русскую озвучку Cyberpunk 2077: Phantom Liberty, но CDPR это не понравилось 31-05 16:26
Microsoft перевела GitHub Copilot с подписки на оплату за токены — пользователи недовольны 31-05 13:09
Huawei представила смартфоны Nova 16 Ultra и Nova 16 Pro — чип Kirin 9010S, камера на 200 Мп и батарея на 7000 мА·ч 26 мин.
HP представила «самые тонкие в мире» ноутбуки OmniBook Ultra 16 и X 14 на процессоре Nvidia RTX Spark 52 мин.
PNY выпустит видеокарту GeForce RTX 5090 с модульной СЖО Lynx+ 58 мин.
Huawei представила смартфоны Nova 16 и Nova 16z со спутниковой связью, ёмкими батареями и быстрой зарядкой 2 ч.
SoftBank намерена вложить €75 млрд в 5 ГВт ИИ ЦОД и совместное производство с Schneider Electric во Франции 2 ч.
США принимают меры, чтобы заблокировать поставки ИИ-чипов NVIDIA китайским компаниям 2 ч.
Intel объявила о выходе Xeon 6+ Clearwater Forest — первых 2-нм серверных процессоров 3 ч.
Asus представила ROG Astral RTX 5090 Edition 20 с изогнутым экраном и 3000-Вт блок питания ROG Thor Titanium III Edition 20 3 ч.
Китай запретил вывоз ИИ-талантов и технологий без разрешения властей 4 ч.
Asus выпустила пару TUF GeForce RTX 5080 BTF со скрытым питанием через GC-HPWR 4 ч.