Лекция 6. Современное состояние и тенденции развития процессоров

Вопросы для самопроверки

1) Дайте определение процессору. В чём заключается особенности терминов «процессор» и «микропроцессор»?

2) Назовите выполняемые процессором функции и основные характеристики процессора.

3) Назовите основные признаки классификации и соответствующие группы процессоров.

4) Поясните типовую структуру процессора. Что входит в состав операционной и интерфейсной части микропроцессора? Назовите группы регистров микропроцессора, компоненты УУ и АЛУ. Что представляет собой регистр PSW?

5) Дайте определение следующим понятиям: сегмент, смещение, начало сегмента, длина сегмента. С какой целью введено сегментирование памяти?

6) Назовите предпосылки создания RISC-процессоров. В чём заключаются особенности RISC-процессоров? Какие функциональные блоки можно выделить в архитектуре RISC-процессоров?

7) Что такое производительность процессора, какие существуют методы оценки её оценки?

8) Назовите пути повышения производительности процессоров. Объясните суть многофазной и многоэлементной обработки данных.

9) Поясните принципы конвейерной обработки на примере машинной команды. Дайте определение и назовите особенности организации конвейерного, суперконвейерного и суперскалярного процессоров.

В соответствии с /1/, в настоящее время доминирующее положение среди процессоров, используемых для персональных компьютеров, серверов, индустриальных систем, занимают CISC-процессоры Pentium фирмы Intel и их клоны с системой команд х86 (более 80%). Архитектура и тенденции развития этих процессоров отражают достижения всей компьютерной индустрии. Остальную долю занимают процессоры (большинство из них являются RISC-процессорами) других семейств, например, SPARC компании SUN, Alpha компании DEC и др.

Особенности организации и функционирования современных процессоров рассмотрим на примере процессоров Pentium фирмы Intel.

6.1 Архитектурные особенности процессоров Pentium

В соответствии с /1/, микропроцессор Pentium (1993 год) является первым суперскалярным процессором для персональных компьютеров. Включает в себя следующие функциональные блоки:

1) блок ШИ;

2) два 5-ступенчатых конвейера (U и V) выполнения команд целочисленных вычислений;

3) раздельные кэши команд и данных уровня L1 объёмом 8 Кбайт каждый;

4) блок вычислений с плавающей FPU точкой, организованный в виде конвейера;

5) блок предсказания ветвлений;

6) блок управления памятью.

Большинство команд выполняется за один такт. В случае выполнения сложных команд используется расширенный микрокод из ПЗУ микропрограмм сложных команд.

Конвейеры Pentium реализуют традиционные 5 этапов выполнения команд (выборку, декодирование операции, чтение операндов, записи результатов). При вычислении операций с плавающей точкой добавляются ещё три шага: X1 – преобразование данных в формате расширенной сложности, X2 - выполнение FPU-команды, WF – округление результата и его запись в регистровый файл FPU. Конвейер U может выполнять как целочисленные команды, так и команды с плавающей точкой. При этом команды арифметики с плавающей точкой не могут запускаться в паре с целочисленными командами. Кроме того, конвейер U содержит многоразрядный сдвигатель, используемый при выполнении арифметических, логических, циклических сдвигов, операций умножения и деления. Конвейер V выполняет только целочисленные команды.

Использование независимых кэшей обеспечивает одновременный бесконфликтный доступ к ним. Кэш-память команд связана с буфером предварительной выборки 256-битовой шиной. Если выбираемая команда в кэш-памяти отсутствует, то выполняется чтение искомой команды из основной памяти и её загрузка в буфер предвыборки с одновременной записью в кэш команд.

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

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

Архитектурным нововведением Pentium является специальный режим системного управления (SMM – System Management Mode), который разработан для перевода системы в состояние пониженного энергопотребления. Этот режим не доступен приложениям и управляется программой из ПЗУ на кристалле процессора. В режиме SMM Pentium использует иное, изолированное от других режимов пространство памяти.

Блок ШИ обеспечивает связь процессора с другими устройствами через системную шину, включающую в себя 64-разрядную шину данных и 32-разрядную шину адреса и шину управления. Процессор Pentium поддерживает работу систем с физической памятью до 4 Гбайт.

Развитие процессоров Pentium связано, прежде всего, с совершенствованием технологии их производства, расширением системы команд, совершенствованием алгоритмов предсказания переходов, методов загрузки конвейеров, способов взаимодействия с кэш-памятью.

Отличительной особенностью процессоров Pentium 6-го (Pentium Pro, Pentium II, Pentium III) и 7-го (Pentium IV) поколений от ранних моделей Pentium является иной подход к реализации принципа многооперационной обработки данных. Он заключается в том, что вместо увеличения числа конвейеров исполнения команд, что требует значительных аппаратных затрат, используется один конвейер с большим количеством исполнительных блоков. Например, обработка команд в Pentium IV осуществляется 20-ступенчатым конвейером (гиперконвейером), который условно можно разделить на 3 относительно независимых конвейера:

1) Входной конвейер упорядоченной обработки, который обеспечивает выборку команд из памяти, декодирование их во внутренние RISC-команды и устранение ложных взаимосвязей по данным и ресурсам.

2) Конвейер неупорядоченной обработки, который реализует собственно исполнение команд. При неупорядоченной обработке более интенсивная загрузка конвейеров суперскалярного процессора. Чтобы гарантировать правильное исполнение программы, результаты команд, выполненных вне очереди, должны записываться по целевым адресам в том же порядке, в каком они следуют в исходной программе. Эту работу осуществляет специальный блок процессора – блок временного хранения результатов, выполненных вне очереди.

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

Эффективная работа гиперконвейера Pentium IV также обеспечивается за счёт спекулятивного исполнения команд, когда для непрерывной загрузки конвейера выполняются действия, не предусмотренные программным кодом.

В блоке предсказания ветвлений используется более совершенный, по сравнению с более ранними моделями процессоров Pentium, алгоритм предсказания ветвлений. Адреса команд переходов и метки ветвлений с подробной предысторией сохраняются в буфере (объёмом 4 Кбайта) блока предсказания ветвлений.

Ещё одним важным отличием процессора Pentium IV от ранних моделей является использование в его структуре вместо кэша команд кэша трасс. Трассы – это последовательности микрокоманд, в которые декодированы команды x86, принадлежащие одной или нескольким ветвям исходной программы. В кэше могут размещаться до 12 Кбайт микрокоманд. В кэш трасс не попадают команды, которые никогда не будут использоваться. Кэш трасс совместно с блоком выборки образуют устройство предварительной обработки.

Использование гиперконвейера, кэша трасс и более производительного исполнительного ядра позволило достигнуть в Pentium IV существенного повышения производительности.

6.2 Программная модель процессоров Pentium

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

Программная модель подразделяется на прикладную и системную. В состав прикладной программной модели (ППМ) процессора входят полный набор регистров, которые доступны прикладным программистам; особенности организации памяти и доступные способы адресации; типы данных и команд. Системная программная модель (СПМ) процессора объединяет его программно доступные системные ресурсы, с помощью которых обеспечивается доступ к встроенным механизмам защиты и многозадачности. СПМ процессора в основном используется системными программистами.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: