Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мпс шпоры.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
3.62 Mб
Скачать

27. Особенности архитектуры микропроцессоров 6-го поколения семейства х86 фирмы Intel (Pentium Рrо, Pentium II)

Pentium Pro полностью поддерживает систему команд х86. Архитектурные особенности процессора делают эффективным его применение для 32-разрядных приложений, тогда как для 16-разрядных программ скорость выполнения может оказаться существенно меньшей, чем для Pentium с той же тактовой частотой.

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

Достижение высокой производительности обеспечивается за счет использования следующих архитектурных и технологи­ческих новшеств:

- динамического выполнения команд; двойной независимой шины; интегрированного вторичного кэша; расширения системы команд.

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

Команда готова к выполнению, как только готовы ее вход­ные операнды. Однако есть ряд ограничений, связанных с дос­тупностью физических ресурсов, таких как исполнительные уст­ройства, коммутаторы и порты регистровых файлов. Для органи­зации исполнения используются различные методы:

  1. одной очереди; многих очередей; метод резервирующей станции.

    1. Если имеется одна очередь, то переименования регистров не требуется, так как доступность значений операндов может отмечаться битом резервирования, сопоставленным каждому ре­гистру (при выполнении программ используется механизм дина­мического отображения определяемых текстом программы ло­гических ресурсов (ячеек памяти, регистров) на физические ре­сурсы микропроцессора. С одним логическим ресурсом может быть связано несколько значений в различных физических ресур­сах, каждое из которых соответствует значению логической величины в один из моментов времени последовательного вы­полнения программы. Когда команда создает новое значение для логического ресурса, физический ресурс, в который помещается это значение, получает имя. Последующие команды, исполь­зующие это значение, снабжаются именем физического ресур­са. Данная процедура называется переименованием регистров). Регистр резервируется, когда модифицирующая его команда на­значается на исполнение. И регистр освобождается, когда закан­чивается исполнение команды. Если для команды ресурсы не бы­ли зарезервированы, то она приостанавливает свое исполнение.

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

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

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

Двойная независимая шина. Динамическое выполнение резко повышает частоту запросов процессорного ядра к шине за данными и инструкциями, поскольку ядро одновременно обра­батывает несколько инструкций. Для обхода «узкого места» - внешней шины - процессорное ядро использует архитектуру двойной независимой шины DIB (Dual Independent Bus). Одна из этих шин используется только для связи с кристаллом вторично­го кэша, расположенным в том же корпусе микросхемы. Про­водники этой локальной шины имеют длину порядка единиц сантиметров, что позволяет ее использовать на частоте ядра про­цессора. Значительный объем вторичного кэша позволяет удов­летворить большинство запросов к памяти сугубо локально, при этом коэффициент загрузки шины достигает 90 %. Вторая шина выходит на внешние выводы микросхемы и является системной шиной процессора. Эта шина работает на внешней частоте неза­висимо от внутренней шины. По статистике загрузка процессо­ром внешней шины для обычных применений составляет при­мерно 10% от ее пропускной способности, а для серверных применений может достигать 60 % при четырехпроцессорной конфигурации. Таким образом, ограниченная пропускная спо­собность внешней шины перестает служить фактором, обесцени­вающим производительность процессора. Кроме этого, шина по­зволяет без дополнительных схем объединять до четырех про­цессоров.

Интегрированный вторичный кэш имеет объем 256 Кб. Всего микропроцессор содержит раздельные кэш-памяти перво­го уровня для данных и команд, каждая объемом 8 Кб, и объеди­ненный кэш второго уровня. Кэш-память первого уровня двух­портовая, поддерживает одну операцию загрузки и одну опера­цию записи за такт. Интерфейс кэш-памяти второго уровня рабо­тает с тактовой частотой центрального процессора и может пе­редавать 64 бита за такт.

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

Рассмотрим назначение и работу основных функциональ­ных блоков процессора. 512-элементный буфер адресов перехо­дов ВТВ позволяет сократить число тактов при выборке строк из кэш-памяти устройством подгрузки команд (IFU - Instruction Fetch Unit). Процесс выборки конвейеризирован. Новая строка выбирается каждый такт центрального процессора. Три парал­лельных декодера (ID) каждый такт преобразуют несколько ко­манд архитектуры х86 в наборы микроопераций.

Таблица псевдонимов регистров (RAT - Register Alias Table) используется для переименования регистров. Результат переименования посылается в резервирующую станцию (RS - Reservation Station) и в буфер переупорядочивания (ROB - Reor­der Buffer).

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

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

При планировании обращений к памяти используются ре­зервирующая станция, устройство генерации адреса (AGU - Ad­dress Generation Unit) и буфер упорядочивания обращений к па­мяти (MOM - Memory Ordering Buffer).

Микрооперация становится кандидатом на выгрузку сразу, как только она выполнена, определен адрес перехода и получен­ные результаты направлены к нуждающейся в них микроопера­ции. Для восстановления первоначального порядка микроопера­ций используются временные метки микроопераций в буфере переупорядочивания и файле регистров выгрузки (RRF - Retire­ment Register File).

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

Процессоры Pentium II сочетают архитектуру Pentium Pro с технологией ММХ. По сравнению с Pentium Pro удвоен размер первичного кэша (16 + 16 Кб), размер вторичного кэша варьиру­ется в диапазоне от 0 до 2 Мб. В процессоре используется новая технология корпусов - картридж с печатным краевым разъемом, на который выведена системная шина, на картридже размером 14x6,2x1,6 см установлена микросхема ядра процессора, не­сколько микросхем, реализующих вторичный кэш, и вспомога­тельные дискретные элементы (резисторы, конденсаторы). Сня­тие вторичного кэша с микросхемы процессора позволяет ис­пользовать для кэш-памяти и памяти тегов микросхемы сторон­них производителей, специализирующихся на выпуске сверхбы­стродействующей памяти. Объем вторичного кэша определяется емкостью и числом установленных микросхем памяти. В то же время сохраняется независимость шины вторичной кэш-памяти, которая тесно связана с ядром процессора собственной локаль­ной шиной.

Первые процессоры Pentium II (весна 1997 г., технология 0,35 мкм) имели тактовые частоты ядра 233, 266 и 300 МГц при частоте системной шины 66,6 МГц. Следующее поколение Pen­tium II (1998 г., технология 0,25 мкм) имело более высокие так­товые частоты (333, 350, 400, 450 МГц). Причем для процессо­ров с частотой 350 и 400 МГц частота системной шины была увеличена до 100 МГц. Это стало возможным потому, что с уменьшением размеров элементов уменьшается рассеиваемая мощность.

По производительности Pentium II превосходил Pentium ММХ, однако уступал Pentium Pro.

Основным недостатком первых Pentium II было то, что они не содержали средств интеграции в мультипроцессорную систему.