Архитектура микропроцессоров семейства Intel

Автор работы: Пользователь скрыл имя, 22 Ноября 2013 в 09:10, реферат

Краткое описание

Все IBM-совместимые персональные компьютеры укомплектованы Intel-совместимыми процессорами. История развития микропроцессоров семейства Intel вкратце такова. Первый универсальный микропроцессор фирмы Intel появился в 1970 г. Он назывался Intel 4004, был четырехразрядным и имел возможность ввода/вывода и обработки четырехбитных слов. Быстродействие его составляло 8000 операций в секунду. Микропроцессор Intel 4004 был рассчитан на применение в программируемых калькуляторах с памятью размером в 4 Кбайт.

Содержание

Вступление
Два кристалла в одном корпусе
Pentium как точка отсчета
Основная проблема на пути повышения производительности
Решение принятое в P6
Архитектура P6
1. Устройство выборки/декодирования
2. Устройство диспетчирования/выполнения
3. Устройство отката
4. Интерфейс шины
5. Вывод
P6 как платформа для построения мощных серверов
Системы на основе P6
Следующее поколение процессоров
Заключение
Приложения
Литература

Вложенные файлы: 1 файл

Архитектура микропроцессоров семейства Intel.docx

— 43.52 Кб (Скачать файл)

Содержание

 

 Вступление 

 Два кристалла в  одном корпусе 

 Pentium как точка отсчета

 Основная проблема  на пути повышения производительности 

 Решение принятое в P6

 Архитектура P6

1. Устройство выборки/декодирования 

2. Устройство диспетчирования/выполнения

3. Устройство отката 

4. Интерфейс шины 

5. Вывод 

P6 как платформа для  построения мощных серверов 

 Системы на основе P6

 Следующее поколение  процессоров 

 Заключение 

 Приложения 

 Литература 

 

 Вступление 

 Все IBM-совместимые  персональные компьютеры укомплектованы  Intel-совместимыми процессорами. История развития микропроцессоров семейства Intel вкратце такова. Первый универсальный микропроцессор фирмы Intel появился в 1970 г. Он назывался Intel 4004, был четырехразрядным и имел возможность ввода/вывода и обработки четырехбитных слов. Быстродействие его составляло 8000 операций в секунду. Микропроцессор Intel 4004 был рассчитан на применение в программируемых калькуляторах с памятью размером в 4 Кбайт.

 Через три года фирма Intel выпустила процессор 8080, который мог выполнять уже 16-битные арифметические операции, имел 1б-разрядную адресную шину и, следовательно, мог адресовать до 64 Кбайт памяти (2 516 0=65536) . 1978 год ознаменовался выпуском процессора 8086 с размером слова в 16 бит (два байта) , 20-разрядной шиной и мог оперировать уже с 1 Мбайт памяти (2 520 0=1048576, или 1024 Кбайт) , разделенной на блоки (сегменты) по 64 Кбайт каждый. Процессором 8086 комплектовались компьютеры, совместимые с IBM PC и IBM PC/XT. Следующим крупным шагом в разработке новых микропроцессоров стал появившийся в 1982 году процессор 8028б. Он обладал 24-разрядной адресной шиной, мог распоряжаться 16 мегабайтами адресного пространства и ставился на компьютеры, совместимые с IBM PC/AT. В октябре 1985 года был выпущен 80386DX с 32- разрядной шиной адреса (максимальное адресное пространство - 4 Гбайт) , а в июне 1988 года - 80386SX, более дешевый по сравнению с 80386DX и обладавший 24-разрядной адресной шиной. Затем в апреле 1989 года появляется микропроцессор 80486DX, а в мае 1993 - первый вариант процессора Pentium (оба с 32-разрядной шиной адреса) .

 В мае 1995 года в  Москве на международной выставке  Комтек-95 фирма Intel представила новый процессор - P6.

 Одной из важнейших  целей, поставленных при разработке P6, было удвоение производительности  по сравнению с процессором  Pentium. При этом производство первых версий P6 будет осуществляться по уже отлаженной "Intel" и используемой при производстве последних версий Pentium полупроводниковой технологии (О, 6 мкм, З, З В) .

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

 При сравнении с  альтернативными "Intel" процессорами семейства х86 выясняется, что микроархитектура Р6 имеет много общего с микроархитектурой процессоров Nx586 фирмы NexGen и K5 фирмы AMD, и, хотя и в меньшей степени, с M1 фирмы "Cyrix". Эта общность объясняется тем, что инженеры четырех компаний решали одну и ту же задачу: внедрение элементов RISC-технологии при сохранении совместимости с CISC-архитектурой Intel х86.

 Два кристалла в  одном корпусе 

 Главное преимущество  и уникальная особенность Р6 - размещенная в одном корпусе с процессором вторичная статическая кэш-память размером 256 кб, соединенная с процессором специально выделенной шиной. Такая конструкция должна существенно упростить проектирование систем на базе Р6. Р6 - первый предназначенный для массового производства микропроцессор, содержащий два чипа в одном корпусе.

 Кристалл ЦПУ в Р6 содержит 5,5 миллионов транзисторов; кристалл кэш-памяти второго уровня - 15,5 миллионов. Для сравнения, последняя модель Pentium включала около 3,3 миллиона транзисторов, а кэш-память второго уровня реализовывалась с помощью внешнего набора кристаллов памяти.

 Столь большое число  транзисторов в кэше объясняется  его статической природой. Статическая  память в P6 использует шесть  транзисторов для запоминания  одного бита, в то время как  динамической памяти было бы  достаточно одного транзистора  на бит. Статическая память  быстрее, но дороже.

 Хотя число транзисторов  на кристалле с вторичным кэшем  втрое больше, чем на кристалле  процессора, физические размеры  кэша меньше: 202 квадратных миллиметра  против 306 у процессора. Оба кристалла  вместе заключены в керамический  корпус с 387 контактами ("dual cavity pin-drid array") . Оба кристалла производятся с применением одной и той же технологии (0,6 мкм, 4-слойная металл - БиКМОП, 2,9 В) . Предполагаемое максимальное потребление энергии: 20 Вт при частоте 133 МГц.

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

 Вторая причина объединения  - повышение производительности.

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

 Первые процессоры  Рentium с тактовой частотой 60 и 66 МГц обращались к вторичному кэшу по 64-разрядной шине с той же тактовой частотой. Однако с ростом тактовой частоты Pentium для проектировщиков стало слишком сложно и дорого поддерживать такую частоту на материнской плате. Поэтому стали применяться делители частоты. Например, у 100 МГц Pentium внешняя шина работает на частоте 66 МГц (у 90 МГц Pentium - соответственно 60 МГц) . Pentium использует эту шину как для обращений к вторичному кэшу, так и для обращения к основной памяти и другим устройствам, например к набору чипов PCI.

 Использование специально  выделенной шины для доступа  к вторичному кэшу улучшает производительность вычислительной системы.

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

 Объединение процессора  и вторичного кэша в одном  корпусе и их связь через  выделенную шину является шагом  по направлению к методам повышения  производительности, используемым  в наиболее мощных RISC-процессорах. Так, в процессоре Alpha 21164 фирмы "Digital" кэш второго уровня размером 96 кб размещен в ядре процессора, как и первичный кэш. Это обеспечивает очень высокую производительность кэша за счет увеличения числа транзисторов на кристалле до 9,3 миллиона. Производительность Alpha 21164 составляет 330 SPECint92 при тактовой частоте 300 МГц. Производительность Р6 ниже (по оценкам "Intel" - 200 SPECint92 при тактовой частоте 133 МГц) , однако Р6 обеспечивает лучшее соотношение стоимость/производительность для своего потенциального рынка.

 При оценке соотношения  стоимость/производительность следует  учитывать, что, хотя Р6 может оказаться дороже своих конкурентов, большая часть других процессоров должна быть окружена дополнительным набором чипов памяти и контроллером кэша. Кроме того, для достижения сравнимой производительности работы с кэшом, другие процессоры должны будут использовать кэш большего, чем 256 кб размера.

"Intel", как правило, предлагает многочисленные вариации своих процессоров. Это делается с целью удовлетворить разнообразным требованиям проектировщиков систем и оставить меньше пространства для моделей конкурентов. Поэтому можно предположить, что вскоре после начала выпуска Р6 появятся как модификации с увеличенным объемом вторичной кэш-памяти, так и более дешевые модификации с внешним расположением вторичного кэша, но при сохраненной выделенной шине между вторичным кэшом и процессором.

 Pentium как точка отсчетаПроцессор Pentium со своей конвейерной и суперскалярной архитектурой достиг впечатляющего уровня производительности.

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

 В P6 для увеличения  пропускной способности осуществлен  переход к одному 12-стадийному  конвейеру. Увеличение числа стадий  приводит к уменьшению выполняемой  на каждой стадии работы и,  как следствие, к уменьшению  времени нахождения команды на  каждой стадии на 33 процента по сравнению с Pentium. Это означает, что использование при производстве P6 той же технологии, что и при производстве 100 МГц Pentium, приведет к получению P6 с тактовой частотой 133 МГц.

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

 Новый подход связан  с использованием так называемого пула команд и с новыми эффективными методами предвидения будущего поведения программы. При этом традиционная фаза "выполнение" заменяется на две: "диспетчирование/выполнение" и "откат". В результате команды могут начинать выполняться в произвольном порядке, но завершают свое выполнение всегда в соответствии с их исходным порядком в программе. Ядро P6 реализовано как три независимых устройства, взаимодействующих через пул команд (рис. 1) .

 Основная проблема  на пути повышения производительностиРешение об организации P6 как трех независимых и взаимодействующих через пул команд устройств было принято после тщательного анализа факторов, ограничивающих производительность современных микропроцессоров. Фундаментальный факт, справедливый для Pentium и многих других процессоров, состоит в том, что при выполнении реальных программ мощность процессора не используется в полной мере. Рассмотрим в качестве примера следующий фрагмент программы, записанный на некотором условном языке: r1 <- mem[r0] /* Команда 1 */ r2 <- r1 + r2 /* Команда 2 */ r5 <- r5 + 1/* Команда 3 */ r6 <- r6 - r3 /* Команда 4 */

 Предположим, что при  выполнении первой команды фрагмента  загрузки из памяти в регистр  r1 - оказалось, что содержимое  соответствующей ячейки памяти  отсутствует в кэше. При традиционном  подходе процессор перейдет к  выполнению команды 2 только после  того, как данные из ячейки  mem[r0] основной памяти будут прочитаны через интерфейс шины. Все время ожидания процессор будет простаивать.

 В то время как  скорость процессоров за последние  10 лет выросла по меньшей мере в 10 раз, время доступа к основной памяти уменьшилось только на 60 процентов. Это увеличивающееся отставание скорости работы с памятью по отношению к скорости процессора и было той фундаментальной проблемой, которую пришлось решать при проектировании P6.

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

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

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

 Решение, принятое  в P6Решение сформулированной  в предыдущем разделе проблемы  памяти, принятое в P6, заключается  в обращении к пулу команд, извлечении из него команд, следующих  за командой, требующей обращения  к памяти, и выполнения до момента  завершения команды-тормоза максимума  полезной работы. В приведенном  в предыдущем разделе примере  процессор не может выполнить  команду 2 до завершения команды  1, так как команда 2 зависит  от результатов команды 1. В  то же время процессор может  выполнить команды 3 и 4, не зависящие  от результата выполнения команды  1. Мы будем называть такое выполнение  команд опережающим выполнением.  Результаты опережающего выполнения  команд 3 и 4 не могут быть сразу  записаны в регистры, поскольку  мы должны изменять состояние  вычислительной системы только  в соответствии с правильным  порядком выполнения программы. 

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

Информация о работе Архитектура микропроцессоров семейства Intel