бесплатно рефераты

бесплатно рефераты

 
 
бесплатно рефераты бесплатно рефераты

Меню

Микропроцессоры семейства Intel бесплатно рефераты

Микропроцессоры семейства Intel

МОУ СОШ «Иштеряковская средняя общеобразовательная школа»

 

 

 

 

 

 

 

 

 

Реферат по информатике
Тема: Микропроцессоры семейства Intel

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2007

Содержание

 

Вступление

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

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 является машиной, управляемой потоком данных. В то же время изменение состояния вычислительной системы, например запись в регистры, производится в строгом соответствии с истинным порядком команд в программе.

Чтение из памяти данных, необходимых для команды 1, может занимать достаточно много тактов. Тем временем P6 продолжает опережающее выполнение команд, следующих за командой 1, и успевает обработать, как правило, 20-30 команд. Среди этих 20-30 команд будет в среднем пять команд перехода, которые устройство выборки/декодирования должно правильно предсказать для того, чтобы работа устройства диспетчирования/выполнения не оказалась бесполезной. Небольшое количество регистров в архитектуре процессоров "Intel" приводит к интенсивному использованию каждого из них и, как следствие, к возникновению множества мнимых зависимостей между командами, использующими один и тот же регистр. Поэтому, чтобы исключить задержку в выполнении команд из-за мнимых зависимостей, устройство диспетчирования/выполнения работает с дублями регистров, находящимися в пуле команд (одному регистру может соответствовать несколько дублей) . Реальный набор регистров контролируется устройством отката, и результаты выполнения команд отражаются на состоянии вычислительной системы только после того, как выполненная команда удаляется из пула команд в соответствии с истинным порядком команд в программе.

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

Далее мы будем понимать под "упорядоченным" устройство, которое работает в соответствии с исходным порядком команд в программе, а под "беспорядочным" - устройство, которое не обращает внимания на исходный порядок команд в программе.

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

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

Устройство отката "упорядоченное" устройство, которое знает, как и когда завершить выполнение команды, то есть перевести временные результаты опережающего выполнения в постоянное состояние вычислительной системы.

Страницы: 1, 2