В каком процессоре алу работает на удвоенной частоте процессора

Обновлено: 07.07.2024

Корпорация Intel представила новую микроархитектуру NetBurst(tm), которая представляет собой комплекс функциональных возможностей, реализованных в новом процессоре Intel(r) Pentium(r) 4. Выпуск этого процессора намечен на ноябрь этого года. Альберт Ю (Albert Yu), старший вице-президент и генеральный менеджер подразделения Intel Architecture Group, заявил, что процессор Pentium 4 предназначен для компьютерных энтузиастов и наиболее требовательных пользователей в сфере бизнеса. Новый процессор Pentium 4 основан на самых передовых технологиях, призванных максимально повысить производительность современных и будущих компьютеров и способных в полной мере открыть перед покупателями все возможности Интернета.

Задачи, стоявшие перед разработчиками
процессора Intel Pentium 4

Разрабатывая процессор Pentium 4, корпорация Intel поставила перед собой цель достичь наивысшей производительности при работе с существующими и будущим приложениями самых разнообразных типов. При этом особое внимание уделялось таким сферам применения, как Интернет, обработка изображений, потоковое видео, распознавание речи, 3D-графика, мультимедиа и многозадачные вычислительные среды. Другой первостепенной задачей Intel было создание базовой микроархитектуры нового поколения, способной обеспечить рост производительности и тактовой частоты в долгосрочной перспективе. В прошлом Intel успешно справлялась с подобными задачами, разработав микроархитектуры P5 и P6 и выпустив ряд основанных на них процессоров. Ниже перечисляются новые возможности и усовершенствования, воплощенные в процессоре Pentium 4.

Особенности новой микроархитектуры NetBurst

12Кб микрокоманд). Благодаря этому в цикле исполнения команд устраняются задержки, связанные с декодированием. Данная технология, которую можно без преувеличения назвать революционной, в значительной мере повышает быстродействие кэш-памяти команд и повышает эффективность использования кэша. Кроме того, процессор Pentium 4 содержит кэш-память второго уровня типа Advanced Transfer Cache объемом 256 КБ, обеспечивающую передачу данных со скоростью 48 Гбит/с, которая увеличивается пропорционально тактовой частоте ядра.

Усовершенствования,
реализованные в микроархитектуре NetBurst

Одним из важнейших устройств компьютера является центральный процессор (CPU — англ, central processing unit, что переводится как «центральное вычислительное устройство»). Именно от типа процессора и его характеристик в первую очередь зависит производительность компьютерной системы в целом.

Центральный процессор — это устройство компьютера, предназначенное для выполнения арифметических и логических операций над данными, а также координации работы всех устройств компьютера.

Современные центральные процессоры для персональных компьютеров выполняются в виде отдельных микросхем и называются микропроцессорами. В дальнейшем будем считать понятия «микропроцессор» и «процессор» равнозначными.

Схема состава микропроцессора показана на рисунке 1.


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

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


Ядро процессора помещается в корпус (пластмассовый или керамический) и соединяется проводками с металлическими ножками (выводами), с помощью которых процессор присоединяется к системной плате компьютера. Количество выводов и их расположение определяют тип процессорного интерфейса (разъема). Каждая системная плата ориентирована на один определенный тип разъема

Арифметико-логическое устройство (АЛУ) выполняет все математические и логические операции.

Управляющее устройство (УУ) обеспечивает выполнение процессором последовательности команд программы.

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

Кэш-память (кэш) — сверхбыстрая память, хранящая содержимое наиболее часто используемых ячеек оперативной памяти, а также части программы, к которым процессор обратится с наибольшей долей вероятности. Процессор в первую очередь пытается найти нужные данные именно в кэш-памяти, а если их там не оказывается, обращается к более медленной оперативной памяти. Кэш-память делится на два или три уровня, которые обозначаются LI, L2 и L3 (чаще всего уровней два).

Сопроцессор — элемент процессора, выполняющий действия над числами с плавающей запятой.

Характеристики микропроцессора Тактовая частота. Для каждой выполняемой процессором команды требуется строго определенное количество единиц времени (тактов). Тактовые импульсы формируются генератором тактовой частоты, установленным на системной плате. Чем чаще они генерируются, тем больше команд процессор выполняет за единицу времени, т. е. тем выше его быстродействие. Тактовая частота обычно выражается в мегагерцах. 1 МГц равен 1 миллиону тактов в секунду. Первые модели процессоров Intel ( i 8008 x ) работали с тактовыми частотами, меньшими 5 МГц. Сегодня тактовая частота последних процессоров превышает 3 ГГц (1 ГГц = 1000 МГц). Внутренняя архитектура процессора, как и тактовая частота, также влияет на работу процессора, поэтому два CPU с одинаковой тактовой частотой не обязательно будут тратить одинаковое время на выполнение одной команды. Если, например, микропроцессору Intel 80286 требовалось 20 тактов, чтобы выполнить команду умножения двух чисел, то Intel 80486 или старше мог выполнить это же действие за один такт. Некоторые процессоры способны выполнять более одной команды за 1 такт. Их называют суперскалярными. Различают внутреннюю и внешнюю тактовую частоту. Внешняя тактовая частота — это частота, с которой процессор обменивается данными с оперативной памятью компьютера. Как уже было сказано выше, она формируется генератором тактовых импульсов (кварцевым резонатором).

Внутренняя тактовая частота — это частота, с которой происходит работа внутри процессора. Именно это значение указывается в прайс-листах фирм, продающих процессоры.

Микроархитектура NetBurst, реализованная в процессоре Pentium IV, является развитием идей микроархитектуры Р6, поэтому рассматривается довольно конспективно. Судя по названию (net — сеть, burst — прорыв), микроархитектура NetBurst призвана обеспечить некий «сетевой прорыв». Очевидно, что этим разработчики хотели подчеркнуть те новые особенности процессора Pentium IV, которые позволяют организовать более быструю и эффективную работу приложений в современных сетевых и мультимедийных информационных средах. Отметим наиболее важные свойства новой микроархитектуры.

· Применена гарвардская структура с разделением потоков команд и данных.

· Быстрая исполнительная часть процессора. АЛУ процессора работает на удвоенной частоте процессора. За каждый такт процессора выполняются две основные целочисленные команды. Обеспечена более высокая пропускная способность потока команд через исполнительную часть процессора и уменьшены различные задержки.

· Используется гиперконвейерная технология (Hyper-PIPelINed Technology) выполнения команд, при которой число ступеней конвейера достигает 31 (в Pentium III - 11 ступеней). Таким образом, одновременно в процессе выполнения на разных стадиях реализации может находиться свыше 30 команд. Цель увеличения длины конвейера — упрощение задач, реализуемых каждой из его ступеней, и, как следствие, упрощение соответствующей аппаратной логики.

· Используется динамическое выполнение команд (dynamic execution), построенное на трех базовых концепциях: предсказание переходов (branch prediction), динамический анализ потока данных (dynamic data flow analysis) и спекулятивное выполнение (OUT-oforder execution). Аналогичный механизм, названный Dynamic Execution, используется в МП Pentium III, однако в INTel Pentium 4 он улучшен.

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

· Новая подсистема кэширования. Отсутствует кэш команд первого уровня. Вместо него введен кэш трасс. Трассами называются последовательности микроопераций, в которые были декодированы ранее выбранные команды. Кэш трасс способен хранить до 12 Кбайт микроопераций и доставлять исполнительному ядру до 3 микроопераций за такт. Кэш второго уровня работает на полной частоте ядра процессора.

· Кеш-память 2-го уровня емкостью 256 Кбайт размещается непосредственно на кристалле процессора, что позволяет сократить время выборки по сравнению с Pentuim III, где эта кэш-память располагается на отдельном кристалле в общем корпусе с процессором.

Микроархитектура NetBurst поддерживает еще одну новую технологию — НуperThreading. Данная технология позволяет на базе одного физического процессора Pentium IV моделировать несколько логических, каждый из которых имеет собственное архитектурное пространство IA-32. Под архитектурным пространством IA-32 понимается совокупность регистров данных, сегментных регистров, системных регистров и регистров MSR. Каждый логический процессор имеет также собственный контроллер прерываний API С.

Байт "Mod R/M" определяет режим адресации, а также иногда дополнительный код операции. Необходимость байта "Mod R/M" зависит от типа инструкции.

Байт SIB (Scale-Index-Base) определяет способ адресации при обращении к памяти в 32-битном режиме. Необходимость байта SIB зависит от режима адресации, задаваемого полем "Mod R/M".

Кроме того, инструкция может содержать непосредственный операнд и/или смещение операнда в сегменте данных.

На размер инструкции накладывается ограничение в 15 байт. Для совместимости с 16-битными процессорами архитектура IA-32 использует одинаковые коды для инструкций, оперирующих как с 16-битными, так и 32-битными операндами.

Режим пакетирования, его преимущества.

Базовую структуру микропроцессоров (МП) IA-32 можно рассмотреть на примере Intel-386 (рис. 3.1). В структуре Intel-386 можно выделить шесть основных блоков, работающих параллельно: блок интерфейса с магистралью, блок предварительной выборки команд, блок декодирования команд, исполнительный блок, блок управления сегментами и блок страничной трансляции.

Рис. 3.1. Структура микропроцессора Intel-386

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

Одновременно он генерирует или обрабатывает сигналы для исполнения текущего цикла магистрали. К ним относятся сигналы адреса, данных и управления для обращения к внешней памяти и устройствам ввода-вывода. При помощи схемы арбитра запросов блок управляет интерфейсом с внешними задатчиками магистрали и сопроцессорами. В МП Intel-486 (рис. 3.2) этот блок был дополнен схемой управления паритетом (выравниванием) и схемой управления пакетами. На основе последней был реализован специальный режим работы магистрали - режим пакетирования . В этом режиме при передаче 4 слов на магистрали выставляется только адрес первого, что позволяет существенно сократить время обмена данными с оперативной памятью или внешним кэшем.

Порядок передачи 4 слов (64 бита) на системной магистрали

Передача 1 слова

Передача 1 слова

Передача 2 слова

Передача 2 слова

Передача 3 слова

Передача 3 слова

Передача 4 слова

Передача 4 слова

Конвейер ЦП 80486. Какой блок и почему был добавлен в конвейер ЦП 80486?

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

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

В составе МП 80286 есть 4 конвейерных устройства:

BU (Bus Unit) – шинный блок (считывание из памяти и портов ввода/вывода);

IU (Instruction Unit) – командный блок (дешифрация команд);

EU (Executive Unit) – исполнительный блок (выполнение команд);

AU (Address Unit) – адресный блок (вычисляет все адреса, формирует физический адрес).

Конвейеризация команд в МП 80286

Считывание 0 команды

Считывание 1 команды

Считывание 2 команды

Считыва-ние 3 команды

Дешифрация -1 команды

Дешифрация 0 команды

Дешифрация 1 команды

Дешиф-рация 2 команды

Исполнение - 2 команды

Исполнение - 1 команды

Исполнение 0 команды

Исполне-ние 1 команды

Адрес 1 команды

Адрес 2 команды

Адрес 3 команды

Адрес 4 команды

В ЦП 80486 – пятиступенчатый конвейер для обработки данных:

предвыборка команд (PF –Perfect);

декодирование команды (D1 – Instruction Decode);

формирование адреса (D2 – Address Generate);

выполнение команды в АЛУ и доступ к кэш-памяти (EX – Execute);

обратная запись (WB – Write Back).

Можно выделить два наиболее важных проявления конвейерной организации процессора:

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

прохождение операции через функциональное устройство.

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

Длина конвейера функционального устройства, в свою очередь, определяет время ожидания результатов операции другой операцией, использующей эти результаты в качестве операндов.

Такое старт-стопное время выполнения операции в функциональном устройстве называют латентностью.

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

Базовая архитектура процессоров семейства Pentium.

Новая микроархитектура процессоров Pentium (рис. 5.1) и более поздних базируется на идее суперскалярной обработки. Под суперскалярностью подразумевается наличие более одного конвейера для обработки команд (в отличие от скалярной - одноконвейерной архитектуры). В МП Pentium команды распределяются по двум независимым исполнительным конвейерам (U и V).

Конвейер U может выполнять любые команды семейства IA-32, включая целочисленные команды и команды с плавающей точкой.

Конвейер V предназначен для выполнения простых целочисленных команд и некоторых команд с плавающей точкой.

Команды могут направляться в каждое из этих устройств одновременно, причем при выдаче устройством управления в одном такте пары команд более сложная команда поступает в конвейер U, а менее сложная - в конвейер V (табл. 5.2).

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

Таблица 5.2. Конвейеризация команд в МП Pentium

Основные отличия ЦП Pentium

Увеличен размер страничной памяти. Механизм страничной организации памяти позволяет работать одновременно со страницей 4 Мбайт.

Конвейеризация машинного цикла.

Контроль четности адреса и данных.

Раздельные блоки кэш-памяти для данных и кода.

Блок прогнозирования ветвлений.

Средства управления питанием (снижение мощности потребления).

Суперскалярная архитектура. Спаренные команды.

Суперскалярная архитектура – это способ построения процессора с двумя или более конвейерами, позволяющий выполнять параллельно 2 или более выбранные команды.

U – конвейер основной (команды целочисленные и с плавающей точкой).

V – конвейер (команды, которые выполняются за один такт).

Спаривание – это процесс параллельного выполнения 2-х команд, независящих по данным или ресурсам.

Термин «динамическое исполнение программы».

Термин динамическое исполнение программы определил 3 способа обработки данных :

Глубокое предсказание ветвлений (с вероятностью > 90% можно предсказать 10 - 15 ближайших переходов).

Анализ потока данных (на 20-30 шагов вперед посмотреть программу и определить зависимость команд по данным или ресурсам).

Опережающее (внеочередное) исполнение команд.

В чем состоит внутренняя RISC-архитектура ЦП Pentium Pro?

Внутренняя организация МП Pentium Pro соответствует архитектуре RISC , поэтому блок выборки команд, считав поток инструкций IA-32 из L1 кэша инструкций, декодирует их в серию микроопераций.

Блок исполнительных устройств способен выбирать инструкции из пула в любом порядке.

Блок удаления подтверждает выполнение инструкций (до трех микроопераций за такт) в порядке их следования в программе, принимая во внимание прерывания, исключения, точки останова и промахи предсказания переходов.

В работе какого процессора наблюдается отклонение от принципов фон Неймана? В чем это проявляется?

Двойная независимая шина: определение, преимущества использования.

Двойная независимая шина (300-разрядная) - 2 независимых канала передачи данных:

для связи ЦП с кэш II уровня;

для связи ЦП с оперативной памятью.

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

В Pentium II реализована двойная независимая шина , содержащая отдельную шину для обращения к кэш-памяти 2-го уровня (выполняется с тактовой частотой процессора) и системную шину для обращения к памяти и внешним устройствам (выполняется с тактовой частотой системной платы).

Особенности архитектуры Net-Burst.

Для достижения высшей производительности в Pentium 4 использовали 2 подхода :

совершенствование микроархитектуры процессора,

увеличение тактовой частоты.

Микроархитектура процессора Pentium 4 получила название NetBurst.

Основной задачей архитектуры NetBurst было обеспечение возможности дальнейшего роста тактовой частоты.

Изменение последовательности выполнения команд .

Буфер предсказания переходов – 4Кб (вероятность удачного предсказания 93-94%).

Окно команд (можно выбирать 126 команд для внеочередного выполнения).

Трассирующий КЭШ – команд I уровня находится после дешифратора и содержит микрокоманды готовые к исполнению (объем кэша - 12000 микрокоманд).

АЛУ работает на удвоенной частоте ЦП .

Применена Quad-pumped 400 МГц системная шина, обеспечивающая пропускную способность 3,2 Гбайта/с.

Кэш L2 – 256 Кбайт работает на частоте процессора.

В чем состоит отличие кэш-команд ЦП Pentium IV от всех предыдущих?

Иерархия памяти в ПК. Какая память в ПК является самой быстрой? Имеет самую большую емкость?

Сверхоперативные ЗУ (регистры)

Быстродействующее буферное ЗУ (кэш)

Оперативное (основное) ЗУ

Внешние ЗУ (массовая память)

Регистры процессора составляют его контекст и хранят данные, используемые исполняющимися в конкретный момент командами процессора. Обращение к регистрам процессора происходит, как правило, по их мнемоническим обозначениям в командах процессора.

Кэш используется для согласования скорости работы ЦП и основной памяти. В вычислительных системах используют многоуровневый кэш: кэш I уровня (L1), кэш II уровня (L2) и т.д. В настольных системах обычно используется двухуровневый кэш, в серверных - трехуровневый. Кэш хранит команды или данные, которые с большой вероятностью в ближайшее время поступят процессору на обработку. Работа кэш-памяти прозрачна для программного обеспечения, поэтому кэш-память обычно программно недоступна.

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

Каждой ячейке оперативной памяти присвоен уникальный адрес. Организационные методы распределения памяти предоставляют программистам возможность эффективного использования всей компьютерной системы. К таким методам относят сплошную ("плоскую") модель памяти и сегментированную модель памяти. При использовании сплошной модели (flat model) памяти программа оперирует единым непрерывным адресным пространством линейным адресным пространством, в котором ячейки памяти нумеруются последовательно и непрерывно от 0 до 2n-1, где n - разрядность ЦП по адресу. При использовании сегментированной модели (segmented model) для программы память представляется группой независимых адресных блоков, называемых сегментами. Для адресации байта памяти программа должна использовать логический адрес, состоящий из селектора сегмента и смещения. Селектор сегмента выбирает определенный сегмент, а смещение указывает на конкретную ячейку в адресном пространстве выбранного сегмента.

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

Кроме реализации системы виртуальной памяти внешние ЗУ используются для долговременного хранения программ и данных в виде файлов.

Принцип временной и пространственной локальности программы.

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

Если ЦП обратился к какому-либо объекту оперативной памяти , с высокой долей вероятности ЦП вскоре снова обратится к этому объекту. Примером этой ситуации может быть код или данные в циклах. Эта концепция описывается принципом временной локальности , в соответствии с которым часто используемые объекты оперативной памяти должны быть "ближе" к ЦП (в кэше ).

Способы согласования содержимого кэш-памяти и основной памяти.

Для согласования содержимого кэш-памяти и ОП используют 3 метода записи :

Сквозная – одновременно с кэш-памятью обновляется ОП.

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

Обратная запись – используется бит изменения в поле тега, и строка переписывается в ОП только в том случае, если бит изменения равен 1.

Читайте также: