Тракт данных Функционирование памяти Микрокоманды Быстродействие и стоимость двоичный сумматор блок декодирования Кэш-память


LCD (Liquid Crystal Display, жидкокристаллические мониторы) сделаны из вещества, которое находится в жидком состоянии, но при этом обладает некоторыми свойствами, присущими кристаллическим телам. Фактически, это жидкости, обладающие анизотропией свойств (в частности, оптических), связанных с упорядоченностью в ориентации молекул

Блок распределения и подмены помещает готовые к выполнению операции в одну из двух очередей. Четыре планировщика ответственны за извлечение микрокоманд из очередей. Каждый планировщик регламентирует обращения к тем или иным ресурсам:

Планировщик 1 — АЛ У 1 и блок смещения операций с плавающей точкой.

Планировщик 2 — АЛУ 2 и блок исполнения операций с плавающей точкой.

Планировщик 3 - команды загрузки.

Планировщик 4 — команды сохранения.

Поскольку планировщики и АЛУ работают на скорости, вдвое превышающей номинальную тактовую частоту, первые два планировщика могут передавать по две микрооперации за цикл. Учитывая то, что два целочисленных АЛУ тоже работают на удвоенной скорости, процессор Pentium 4 с тактовой частотой 3 ГГц способен выполнять 12 млрд целочисленных операций в секунду. В силу столь высокой скорости блок контроля исполнения с изменением последовательности испытывает некоторые трудности с загрузкой АЛУ. Команды загрузки и сохранения проходят через один блок исполнения, работающий на удвоенной частоте, который в течение одного цикла может вызывать по одной команде обоих типов. Таким образом, в лучшем случае (при отсутствии операций с плавающей точкой) за цикл может быть вызвано 6 целочисленных микроопераций.

Два целочисленных АЛУ не одинаковы. АЛУ 1 выполняет любые арифметические и логические операции и переходы. АЛУ 2 способно выполнять только команды сложения, вычитания, сдвига и циклического сдвига. Не идентичны и два блока исполнения операций с плавающей точкой. Первый из них выполняет только сдвиги и SSE-команды. Второй поддерживает арифметические операции с плавающей точкой, а также ММХ- и SSE-команды.

АЛУ и блоки исполнения операций с плавающей точкой получают данные от двух регистровых файлов емкостью по 128 записей. Один из этих файлов отводится для целых чисел, другой — для чисел с плавающей точкой. В них содержатся все операнды, необходимые для исполнения команд; кроме того, они играют роль хранилища результатов. В силу подмены регистров восемь из них содержат регистры, доступные на уровне архитектуры команд (ЕАХ, ЕВХ, ЕСХ, EDX и т. д.), однако расположение «реальных» значений в каждом конкретном случае зависит от изменений в отображении, происходящих в ходе выполнения.

Кэш данных первого уровня является одним из компонентов высокоскоростной (2х) схемы. При емкости 8 Кбайт в нем хранятся целые числа, числа с плавающей точкой и другие типы данных. В отличие от кэша трасс, эти данные ни- коим образом не декодируются. Функция кэша данных сводится к хранению копий байтов, находящихся в памяти. Что касается его характеристик, то кэш данных первого уровня представляет собой 4-входовую ассоциативную кэш-память с емкостью строки 64 байт. Он поддерживает сквозную запись; иными словами, при изменении строки кэша она незамедлительно копируется обратно в кэш второго уровня. В течение цикла кэш данных первого уровня обрабатывает по одной операции чтения и записи. Если затребованное слово не удается обнаружить в кэше первого уровня, отправляется запрос в кэш второго уровня; последний в такой ситуации может ответить либо сразу, либо после выборки соответствующей строки из памяти. В любой момент в состоянии исполнения могут находиться до четырех запросов, направленных из кэша первого уровня в кэш второго уровня. Так как микрооперации выполняются вне исходной последовательности, сохранение в кэше первого уровня возможно только после пересортировки результатов всех команд, предшествующих команде сохранения. Такую пересортировку результатов с их трассировкой (отслеживанием того, где они находятся) выполняет блок пересортировки. В случае прерывания прекращается обработка всех команд, еще не прошедших пересортировку результатов; таким образом, обеспечивается соблюдение требования, согласно которому при прерывании должны быть завершены все команды до определенной точки в программе.

Если команда сохранения прошла пересортировку результатов, но предшествующие команды еще обрабатываются, из-за невозможности обновления кэша первого уровня результаты их выполнения передаются в буфер незавершенных команд. В этом буфере можно единовременно разместить до 24 команд сохранения. Если одна из последующих команд загрузки попытается считать сохраненные данные, она из буфера незавершенных команд будет перенаправлена непосредственно к команде, которая в этот момент еще не помещена в кэш данных первого уровня. Этот процесс называется перенаправлением для загрузки (store- to-load forwarding).

Итак, достаточно очевидно, что Pentium 4 обладает сложной микроархитектурой, проектное решение которой определено необходимостью поддержки унаследованного набора команд Pentium на современном RISC-ядре с высоким уровнем конвейеризации. Эта цель достигается путем деления команд Pentium на микрооперации, их кэширования и передачи (по три микрооперации за раз) конвейеру, где они выполняются с помощью нескольких АЛУ, которые в оптимальных условиях обрабатывают до шести микроопераций за цикл. Микрооперации выполняются с отклонением от исходной последовательности, но возвращаются и сохраняются в кэш-памяти первого и второго уровней в заданном порядке. Более подробные сведения о микроархитектуре NetBurst представлены в работе

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