Организация суперскалярных процессов
Учебное пособие по курсу «Организация ЭВМ»
Покупка
Новинка
Автор:
Попов Алексей Юрьевич
Год издания: 2011
Кол-во страниц: 61
Дополнительно
Рассмотрена архитектура современных суперскалярных процессоров. Приведены сведения, поясняющие состав и назначение входящих в процессоры подсистем. На примере микроархитектуры Intel P6 дано подробное
функциональное описание каждой подсистемы. Приведены функциональные описания современных суперскалярных процессоров фирм Intel, AMD, IBM, Sun, MIPS. Для студентов 4-го курса, обучающихся по специальности «Вычислительные машины, комплексы, системы и сети».
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 02.03.02: Фундаментальная информатика и информационные технологии
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Московский государственный технический университет имени Н. Э. Баумана А. Ю. Попов Организация суперскалярных процессоров Рекомендовано Научно-методическим советом МГТУ им. Н. Э. Баумана в качестве учебного пособия по курсу «Организация ЭВМ» Москва Издательство МГТУ им. Н. Э. Баумана 2011
УДК 681.3.06 ББК 22.18 П58 Рецензенты: О. М. Брехов, Д. А. Ибрагимов Попов А. Ю. П58 Организация суперскалярных процессоров : учеб. пособие по курсу «Организация ЭВМ» / А. Ю. Попов. — М. : Изд-во МГТУ им. Н. Э. Баумана, 2011. — 57, [3] с. : ил. Рассмотрена архитектура современных суперскалярных процессоров. Приведены сведения, поясняющие состав и назначение входящих в процессоры подсистем. На примере микроархитектуры Intel P6 дано подробное функциональное описание каждой подсистемы. Приведены функциональные описания современных суперскалярных процессоров фирм Intel, AMD, IBM, Sun, MIPS. Для студентов 4-го курса, обучающихся по специальности «Вычислительные машины, комплексы, системы и сети». УДК 681.3.06 ББК 22.18 c ⃝МГТУ им. Н. Э. Баумана, 2011
Современные суперскалярные микропроцессоры обладают многими достоинствами, обеспечивающими высокий уровень производительности в составе ЭВМ и вычислительных систем. Так, согласно информации сайта www.top500.org, 99 % микропроцессоров, используемых в высокопроизводительных вычислительных системах, являются суперскалярными. Знание их внутренней структуры и особенностей функционирования позволяет разрабатывать системное и прикладное программное обеспечение, эффективно использующие аппаратные ресурсы. Данное пособие знакомит студентов с основами архитектуры и принципами работы современных суперскалярных микропроцессоров ведущих мировых производителей: Intel, AMD, IBM, Sun, MIPS. Более подробную документацию для рассмотренных устройств можно найти на сайтах указанных производителей. 1. Принципы построения суперскалярных процессоров 1.1. Архитектура современных процессоров С момента появления в 1971 г. первого микропроцессора архитектура ЭВМ претерпела существенные изменения. Сокращение технологических норм позволило разместить на одном кристалле большое число исполнительных устройств: целочисленных арифметико-логических устройств, устройств выполнения операций над числами с плавающей запятой, устройств векторных вычислений и др. Для их эффективного использования потребовалась реализация принципов конвейеризации вычислительного процесса и суперскалярной обработки. Конвейерная обработка представляет собой процесс, при котором сложные действия разделяются на более короткие стадии. Их параллельное выполнение позволяет более полно использовать обрабатывающие ресурсы конвейера. Применительно к ЭВМ конвейерная обработка нашла широкое распространение при выполнении процессорным устройством 3
входного потока команд. Так, цикл команды можно разделить на шесть последовательных стадий: выборку команды, декодирование, вычисление адресов операндов, выборку операндов, исполнение команды и запись результатов. Процесс обработки начинается с выборки очередной команды. После получения команды из подсистемы памяти процессор приступает к ее декодированию, т. е. к преобразованию кода операции в код одного или нескольких последовательных управляющих действий, называемых микрокомандами. Если для исполнения команды необходимо также получить операнды из памяти, то одна из микрокоманд управляет извлечением адресов операндов из команды и преобразованием их в адреса физической памяти. При использовании виртуальной памяти вычисление адреса операнда может занять у микропроцессора длительное время. Сразу же после получения всех предусмотренных в команде операндов, микропроцессор начинает исполнять команду в соответствии с управляющими сигналами, задаваемыми микрокомандой исполнения. Полученный таким образом результат может быть сохранен в памяти или во внутреннем регистре с помощью микрокоманды записи результатов. Общее время цикла выполнения одной команды принято называть латентностью. Идеализированная последовательность исполнения команд на конвейере, состоящем из шести стадий, показана на рис. 1, а. Для более полного использования аппаратных ресурсов процессора и соответственно увеличения их производительности используются конвейеры с б´ ольшим количеством стадий. Такие процессоры называются суперконвейерными. Из рис. 1, б следует, что при разделении каждой стадии на два последовательных этапа может быть достигнута б´ ольшая производительность микропроцессора. Суперскалярная обработка основывается на способности процессора выполнять более одной простой (скалярной) операции за один такт, что достигается благодаря включению в его состав нескольких параллельно работающих исполнительных устройств. На рис. 1, в видно, что дублирование всех блоков конвейерного процессора позволяет завершить обработку четырех команд на два такта быстрее. Реализация этого принципа совместно с внедрением суперскалярной суперконвейерной обработки (рис. 1, г) дает 4
Рис. 1. Пример исполнения команд, состоящих из стадий выборки команды (ВК), декодирования (ДК), вычисления адресов операндов (ВА), выборки операндов (ВО), исполнения команды (ИК), записи результатов (ЗР) с использованием конвейерной структуры (а), суперконвейерной структуры (б), суперскалярной структуры (в), суперскалярной суперконвейерной структуры (г) наилучший результат. В современных микропроцессорах суперскалярность может обеспечиваться двумя способами: исключительно аппаратным способом благодаря выявлению в поступающем потоке команд параллельных ветвей; программно-аппаратным способом благодаря применению специальных оптимизирующих компиляторов для загрузки параллельно работающих устройств. Внедрение суперскалярности и суперконвейерности явилось существенным достижением разработчиков ЭВМ. Первой успешно реализованной ЭВМ, построенной по указанным принципам, является ЭВМ «Эльбрус-1», созданная в 1978 г. в ИТМиВТ им. С. А. Лебедева. Архитектурные решения, заложенные в эту ЭВМ, используются в современных микропроцессорах. Широкое распространение суперскалярные процессоры получили в 1990-е годы, когда фирма IBM выпустила коммерчески успешный процессор RS/6000 5
(1990 г.), а фирма Intel выпустила микропроцессор Pentium (1993 г.) и более совершенные процессоры семейства P6 (Pentium Pro, Pentium II, Pentium III в 1995–1999 гг.). Однако помимо явных преимуществ применение конвейера и дублирование его блоков в микропроцессорах порождают ряд проблем, наиболее значимая из которых обусловлена наличием команд перехода, нарушающих естественный порядок вычислений. Доля таких команд в программах существенна (примерно 10 %), что приводит к сбою ритмичной работы конвейера. Наибольшую задержку в работе конвейера вызывают команды условных переходов, так как только после полного их выполнения становится возможным определить адрес следующей исполняемой команды. В современных микропроцессорах для сокращения потерь времени при обработке таких команд широкое применение нашли предсказание перехода и исполнение альтернативных ветвей программы. Заметное увеличение тактовой частоты микропроцессоров и совершенствование архитектуры привели к необходимости ускорения обмена информацией между процессором и оперативной памятью. Достижение этой цели усложняется в связи с тем, что быстродействие оперативной памяти растет гораздо медленнее, чем производительность самих процессоров (разрыв в производительности удваивается ежегодно [1]). Растущая потребность в размерах оперативной памяти приводит к ее разделению на блоки меньшего размера и делает затруднительным интенсивную обработку информации на границе блоков. Для решения указанных проблем используется целый комплекс архитектурных решений. • Спекулятивная выборка данных и предсказание направления ветвления. Оба этих способа заключаются в заблаговременном определении и получении из оперативной памяти тех команд и данных, которые предстоит обработать процессору. Спекулятивная выборка, инициированная самим процессором на основе анализа поступающего потока команд, называется аппаратной предвыборкой. • Использование команд управления уровнями памяти: команды принудительной загрузки данных в кэш-память и буферы чте6