Реферат: Процессоры нового поколения и перспективы их развития

<span Courier New"">

<span Courier New"">                            2Содержание

<span Courier New"">

<span Courier New"">     Вступление                                              2

<span Courier New"">     Два кристалла в одном корпусе                            3

<span Courier New"">     Pentium как точка отсчета                                4

<span Courier New"">     Основная проблема на пути повышенияпроизводительности   5

<span Courier New"">     Решение принятое в P6                                    6

<span Courier New"">     Архитектура P6                                           7

<span Courier New"">         1. Устройствовыборки/декодирования                  7

<span Courier New"">         2. Устройстводиспетчирования/выполнения             8

<span Courier New"">         3. Устройство отката                                 9

<span Courier New"">         4. Интерфейс шины                                   10

<span Courier New"">         5. Вывод                                            11

<span Courier New"">     P6 как платформа для построения мощныхсерверов         12

<span Courier New"">     Системы на основе P6                                    13

<span Courier New"">     Следующее поколение процессоров                         14

<span Courier New"">     Заключение                                             17

<span Courier New"">     Приложения                                             18

<span Courier New"">     Литература                                             22

<span Courier New"">.

<span Courier New"">                              — 2 -

<span Courier New"">

<span Courier New""> ш1.1

<span Courier New"">                            2Вступление

<span Courier New"">

<span Courier New"">     Все IBM-совместимые  персональные компьютеры укомплектованы

<span Courier New"">Intel-совместимымипроцессорами.  История развитиямикропроцессо-

<span Courier New"">ров семействаIntel вкратце такова.  Первыйуниверсальный микро-

<span Courier New"">процессор фирмыIntel появился в 1970 г.  Он называлсяIntel 4004,

<span Courier New"">был  четырехразрядным и имел возможностьввода/вывода и обработки

<span Courier New"">четырехбитныхслов. Быстродействие его составляло 8000 операций в

<span Courier New"">секунду.  Микропроцессор Intel 4004 был рассчитан наприменение в

<span Courier New"">программируемыхкалькуляторах с памятью размером в 4 Кбайт.

<span Courier New"">     Через три года фирма Intel выпустилапроцессор 8080, который

<span Courier New"">мог выполнять уже16-битные арифметические операции, имел 1б-раз-

<span Courier New"">рядную адреснуюшину и, следовательно, мог адресовать до 64 Кбайт

<span Courier New"">памяти(2 516 0=65536).  1978 годознаменовался выпуском  процессора

<span Courier New"">8086 с размеромслова в 16 бит (два байта),  20-разряднойшиной и

<span Courier New"">мог оперироватьуже с 1  Мбайт  памяти (2 520 0=1048576,  или  1024

<span Courier New"">Кбайт),  разделенной на блоки (сегменты) по 64 Кбайткаждый. Про-

<span Courier New"">цессором 8086комплектовались компьютеры,  совместимыес IBM PC и

<span Courier New"">IBM  PC/XT. Следующим крупным шагом в разработке новых микропро-

<span Courier New"">цессоров сталпоявившийся в 1982 году процессор 8028б. Он обладал

<span Courier New"">24-разряднойадресной шиной, мог распоряжаться 16 мегабайтами ад-

<span Courier New"">ресногопространства и ставился на компьютеры, совместимые с IBM

<span Courier New"">PC/AT.  В октябре  1985 года был выпущен80386DX с 32- разрядной

<span Courier New"">шиной адреса(максимальное адресное пространство — 4 Гбайт), а в

<span Courier New"">июне 1988 года — 80386SX,  более дешевый по сравнению с80386DX и

<span Courier New"">обладавший24-разрядной адресной шиной.  Затем вапреле 1989 года

<span Courier New"">появляетсямикропроцессор 80486DX,  а в мае 1993 — первый вариант

<span Courier New"">процессораPentium (оба с 32-разрядной шиной адреса).

<span Courier New"">     В мае 1995 года в Москве на международнойвыставке Комтек-95

<span Courier New"">фирма Intelпредставила новый процессор — P6.

<span Courier New"">     Одной из важнейших целей,  поставленных при  разработке P6,

<span Courier New"">было  удвоение производительности по сравнению спроцессором Pen-

<span Courier New"">tium. При этомпроизводство первых версий P6 будет осуществляться

<span Courier New"">по уже отлаженной«Intel» и используемой при производстве послед-

<span Courier New"">них версийPentium полупроводниковой технологии (О,6 мкм, З, З В).

<span Courier New"">Использование  того же самого процесса производства даетгарантию

<span Courier New"">того,  что массовое производство P6 будет налаженобез  серьезных

<span Courier New"">проблем.  Вместе с тем это означает,  что удвоение производитель-

<span Courier New"">ности достигаетсятолько за счет всестороннего улучшения микроар-

<span Courier New"">хитектурыпроцессора.  При разработкемикроархитектуры P6 исполь-

<span Courier New"">зоваласьтщательно продуманная и настроенная комбинация различных

<span Courier New"">архитектурных методов.  Часть из них была ранее опробована в про-

<span Courier New"">цессорах«больших» компьютеров,  частьпредложена  академическими

<span Courier New"">институтами,оставшиеся разработаны инженерами фирмы «Intel». Эта

<span Courier New"">уникальнаякомбинация архитектурных особенностей, которую в «In-

<span Courier New»">tel"определяют словами «динамическое выполнение», позволила пер-

<span Courier New"">вым кристаллам P6превзойти первоначально планировавшийся уровень

<span Courier New"">производительности.

<span Courier New"">     При сравнении с альтернативными«Intel» процессорами семейс-

<span Courier New"">тва х86выясняется,  что микроархитектура Р6имеет много общего с

<span Courier New"">микроархитектуройпроцессоров Nx586 фирмы NexGen и K5 фирмы AMD,

<span Courier New"">и,  хотя  ив меньшей степени,  с M1 фирмы«Cyrix».  Эта общность

<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA">

<span Courier New"">

<span Courier New"">                              — 3 -

<span Courier New"">

<span Courier New"">объясняетсятем,  что инженеры четырех компаний решалиодну и  ту

<span Courier New"">же  задачу: внедрение  элементов  RISC-технологии при сохранении

<span Courier New"">совместимости сCISC-архитектурой Intel х86.

<span Courier New"">

<span Courier New"">                   2Два кристалла в одномкорпусе

<span Courier New"">                                          

<span Courier New"">     Главное преимущество и уникальнаяособенность Р6 — размещен-

<span Courier New"">ная  в одном корпусе с процессором вторичная статическая кэш-па-

<span Courier New"">мять размером 256кб,  соединенная с процессором специальновыде-

<span Courier New"">ленной шиной.Такая конструкция должна существенно упростить про-

<span Courier New"">ектирование системна базе Р6.  Р6 — первый  предназначенный  для

<span Courier New"">массовогопроизводства микропроцессор,  содержащийдва чипа в од-

<span Courier New"">ном корпусе.

<span Courier New"">     Кристалл ЦПУ в Р6 содержит 5,5 миллионовтранзисторов; крис-

<span Courier New"">талл кэш-памятивторого уровня — 15,5 миллионов. Для  сравнения,

<span Courier New"">последняя  модель Pentium включала около 3,3 миллиона транзисто-

<span Courier New"">ров,  а кэш-память второго уровня реализовывалась спомощью внеш-

<span Courier New"">него наборакристаллов памяти.

<span Courier New"">     Столь большое число транзисторов в кэшеобъясняется его ста-

<span Courier New"">тической природой.Статическая память в P6 использует шесть тран-

<span Courier New"">зисторов длязапоминания одного бита, в то время как динамической

<span Courier New"">памяти было быдостаточно одного транзистора на бит. Статическая

<span Courier New"">память быстрее,но дороже.

<span Courier New"">     Хотя число транзисторов на кристалле свторичным кэшем втрое

<span Courier New"">больше,  чем на кристалле  процессора, физические  размеры  кэша

<span Courier New"">меньше:  202 квадратных миллиметра против 306 у процессора.  Оба

<span Courier New"">кристалла вместезаключены в керамический корпус с 387 контактами

<span Courier New"">(«dualcavity pin-drid array»). Оба кристалла производятся с при-

<span Courier New"">менением одной итой же  технологии  (0,6 мкм,  4-  слойная ме-

<span Courier New"">талл-БиКМОП,  2,9 В).  Предполагаемое  максимальное потребление

<span Courier New"">энергии: 20 Втпри частоте 133 МГц.

<span Courier New"">     Первая причина  объединения процессора  и вторичного кэша в

<span Courier New"">одном корпусе — облегчение проектирования и производства высокоп-

<span Courier New"">роизводительных  систем на базе Р6.  Производительностьвычисли-

<span Courier New"">тельнойсистемы,  построенной на быстромпроцессоре, очень сильно

<span Courier New"">зависит  от точной  настройки микросхемокружения процессора,  в

<span Courier New"">частностивторичного  кэша.  Далеко не  все  фирмы-производители

<span Courier New"">компьютеров могутпозволить себе соответствующие исследования. В

<span Courier New"">Р6 вторичный кэшуже настроен на процессор оптимальным  образом,

<span Courier New"">что облегчаетпроектирование материнской платы.

<span Courier New"">     Вторая причина объединения -  повышение производительности.

<span Courier New"">Кзш второгоуровня связан с процессором специально выделенной ши-

<span Courier New"">ной шириной 64бита и работает на той же тактовой частоте, что и

<span Courier New"">процессор.

<span Courier New"">     Первые процессоры Рentium с тактовойчастотой 60  и  66  МГц

<span Courier New"">обращались квторичному кэшу по 64-разрядной шине с той же такто-

<span Courier New"">вой частотой.Однако с ростом тактовой частоты Pentium для проек-

<span Courier New"">тировщиков  стало слишком сложно и дорого поддерживатьтакую час-

<span Courier New"">тоту наматеринской плате.  Поэтому  стали применяться  делители

<span Courier New"">частоты.  Например, у  100  МГц Pentium внешняя шина работает на

<span Courier New"">частоте 66 МГц (у90 МГц Pentium — соответственно 60 МГц). Penti-

<span Courier New"">um использует этушину как для обращений к вторичному кэшу, так и

<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA">

<span Courier New"">

<span Courier New"">                              — 4 -

<span Courier New"">

<span Courier New"">для обращения косновной памяти и другим устройствам, например к

<span Courier New"">набору чипов PCI.

<span Courier New"">     Использование специально выделенной шиныдля доступа к  вто-

<span Courier New"">ричному  кэшу улучшает производительность вычислительнойсистемы.

<span Courier New"">Во-первых,  при этом достигается полная  синхронизация скоростей

<span Courier New"">процессора ишины;  во-вторых,  исключается конкуренция с другими

<span Courier New"">операциямиввода-вывода и связанные с этим задержки.  Шина  кэша

<span Courier New"">второго уровняполностью отделена от внешней шины, через которую

<span Courier New"">происходит доступк  памяти и  внешним  устройствам. 64-битовая

<span Courier New"">внешняя шинаможет работать со скоростью,  равнойполовине, одной

<span Courier New"">третьей или однойчетвертой от скорости процессора, при этом шина

<span Courier New"">вторичного кэшаработает независимо на полной скорости.

<span Courier New"">     Объединение процессора и вторичного кэша водном  корпусе  и

<span Courier New"">их  связь через  выделенную шину являетсяшагом по направлению к

<span Courier New"">методамповышения  производительности,  используемым в  наиболее

<span Courier New"">мощныхRISC-процессорах. Так, в процессоре Alpha 21164 фирмы «Di-

<span Courier New»">gital" кэшвторого уровня размером 96 кб размещен в ядре процес-

<span Courier New"">сора,  как и первичный кэш. Это обеспечивает оченьвысокую произ-

<span Courier New"">водительностькэша за счет увеличения числа транзисторов на крис-

<span Courier New"">талле до 9,3 миллиона.  Производительность Alpha 21164 составляет

<span Courier New"">330 SPECint92 притактовой частоте 300 МГц. Производительность Р6

<span Courier New"">ниже (по оценкам«Intel» — 200 SPECint92 при тактовой частоте 133

<span Courier New"">МГц),  однако Р6 обеспечивает лучшее соотношениестоимость/произ-

<span Courier New"">водительность длясвоего потенциального рынка.

<span Courier New"">     При оценке соотношениястоимость/производительность  следует

<span Courier New"">учитывать, что,хотя Р6 может оказаться дороже своих конкурентов,

<span Courier New"">большая частьдругих процессоров должна  быть  окружена дополни-

<span Courier New"">тельным наборомчипов памяти и контроллером кэша. Кроме того, для

<span Courier New"">достижениясравнимой производительности работы с  кэшом,  другие

<span Courier New"">процессоры  должны будут  использовать кэшбольшего,  чем 256 кб

<span Courier New"">размера.

<span Courier New"">     «Intel», как  правило, предлагает  многочисленные  вариации

<span Courier New"">своихпроцессоров. Это делается с целью удовлетворить разнообраз-

<span Courier New"">ным  требованиям проектировщиков систем и оставить меньше прост-

<span Courier New"">ранства длямоделей конкурентов.  Поэтому можнопредположить, что

<span Courier New"">вскоре  после начала выпуска Р6 появятся какмодификации с увели-

<span Courier New"">ченным объемомвторичной кэш-памяти,  так и болеедешевые модифи-

<span Courier New"">кации с внешнимрасположением вторичного кэша, но при сохраненной

<span Courier New"">выделенной шинемежду вторичным кэшом и процессором.

<span Courier New"">

<span Courier New"">                     2Pentium как точкаотсчета

<span Courier New"">

<span Courier New"">     Процессор Pentium со своей конвейерной исуперскалярной  ар-

<span Courier New"">хитектурой достигвпечатляющего уровня производительности.

<span Courier New"">     Pentium содержит два 5-стадийных  конвейера, которые  могут

<span Courier New"">работатьпараллельно и выполнять две целочисленные команды за ма-

<span Courier New"">шинный такт.  При этом параллельно может выполнятьсятолько  пара

<span Courier New"">команд,  следующих в  программе друг за другом иудовлетворяющих

<span Courier New"">определеннымправилам,  например,  отсутствие регистровых зависи-

<span Courier New"">мостей типа«запись после чтения».

<span Courier New"">     В P6 для увеличения пропускной способностиосуществлен пере-

<span Courier New"">ход  к одному  12-стадийномуконвейеру.  Увеличение числа стадий

<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA">

<span Courier New"">

<span Courier New"">                              — 5 -

<span Courier New"">

<span Courier New"">приводит куменьшению выполняемой на каждой стадии работы и,  как

<span Courier New"">следствие, куменьшению времени нахождения команды на каждой ста-

<span Courier New"">дии на 33процента по сравнению с Pentium.  Этоозначает, что ис-

<span Courier New"">пользование припроизводстве P6 той же технологии, что и при про-

<span Courier New"">изводстве 100 МГцPentium,  приведет к получению  P6 с  тактовой

<span Courier New"">частотой 133 МГц.

<span Courier New"">     Возможности суперскалярной архитектурыPentium, с ее способ-

<span Courier New"">ностью квыполнению двух команд за такт, было бы трудно превзойти

<span Courier New"">без совершеннонового подхода. Примененный в P6 новый подход уст-

<span Courier New"">раняет жесткуюзависимость между традиционными фазами «выборки» и

<span Courier New"">«выполнения»,  когда последовательность прохождениякоманд  через

<span Courier New"">эти две фазысоответствует последовательности команд в программе.

<span Courier New"">Новый подходсвязан с использованием так называемого пула команд

<span Courier New"">и  с новыми эффективными методами предвидения будущего поведения

<span Courier New"">программы.  При этом традиционная фаза«выполнение» заменяется на

<span Courier New"">две:«диспетчирование/выполнение» и «откат». В результатекоманды

<span Courier New"">могут начинатьвыполняться в произвольном порядке, но  завершают

<span Courier New"">свое  выполнение всегда  в соответствии с ихисходным порядком в

<span Courier New"">программе.  Ядро P6 реализовано как три  независимых устройства,

<span Courier New"">взаимодействующихчерез пул команд (рис. 1).

<span Courier New"">

<span Courier New"">                2Основная проблема на путиповышения

<span Courier New"">                        2производительности

<span Courier New"">

<span Courier New"">     Решение об организации P6 как трехнезависимых и взаимодейс-

<span Courier New"">твующих через пулкоманд устройств было принято после тщательного

<span Courier New"">анализафакторов,  ограничивающихпроизводительность  современных

<span Courier New"">микропроцессоров.  Фундаментальный факт, справедливый дляPentium

<span Courier New"">и многих другихпроцессоров,  состоит в том,  что при выполнении

<span Courier New"">реальных  программ мощность  процессора неиспользуется в полной

<span Courier New"">мере. Рассмотримв качестве примера следующий фрагмент программы,

<span Courier New"">записанный нанекотором условном языке:

<span Courier New"">

<span Courier New""> r1 < — mem[r0]            /* Команда 1   */

<span Courier New""> r2 < — r1 + r2            /* Команда 2   */

<span Courier New""> r5 < — r5 + 1             /* Команда 3   */

<span Courier New""> r6 < — r6 — r3            /* Команда 4   */

<span Courier New"">

<span Courier New"">     Предположим, что при выполнении первойкоманды  фрагмента  -

<span Courier New"">загрузки изпамяти в регистр r1 — оказалось, что содержимое соот-

<span Courier New"">ветствующейячейки памяти отсутствует в  кэше.  При традиционном

<span Courier New"">подходе  процессор перейдет  к выполнению команды 2только после

<span Courier New"">того, как данныеиз ячейки mem[r0] основной памяти будут прочита-

<span Courier New"">ны черезинтерфейс шины. Все время ожидания процессор будет прос-

<span Courier New"">таивать.

<span Courier New"">     В то время как скорость процессоров за последние 10 лет вы-

<span Courier New"">росла по меньшеймере в 10 раз,  время доступа косновной  памяти

<span Courier New"">уменьшилосьтолько на 60 процентов.  Этоувеличивающееся отстава-

<span Courier New"">ние скоростиработы с памятью по отношению к скорости процессора

<span Courier New"">и было тойфундаментальной проблемой, которую пришлось решать при

<span Courier New"">проектированииP6.

<span Courier New"">     Один из возможных подходов к решению этойпроблемы — перенос

<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA">

<span Courier New"">

<span Courier New"">                              — 6 -

<span Courier New"">

<span Courier New"">ее центра тяжестина разработку высокопроизводительных компонен-

<span Courier New"">тов, окружающихпроцессор. Однако массовый выпуск систем, включа-

<span Courier New"">ющих ивысокопроизводительный процессор,  ивысокоскоростные спе-

<span Courier New"">циализированныемикросхемы окружения,  был бы слишкомдорогостоя-

<span Courier New"">щим.

<span Courier New"">     Можно было попытаться решить проблему с использованием гру-

<span Courier New"">бой силы,  а именно увеличить размер кэша второго  уровня, чтобы

<span Courier New"">уменьшить  процент случаев отсутствия необходимых данных в кэше.

<span Courier New"">Это решениеэффективное,  но тоже чрезвычайнодорогостоящее, осо-

<span Courier New"">бенно  учитывая сегодняшние  скоростные требованияк компонентам

<span Courier New"">кэша второгоуровня. P6 проектировался с точки зрения эффективной

<span Courier New"">реализациицелостной вычислительной системы, и требовалось, чтобы

<span Courier New"">высокаяпроизводительность системы в целом достигалась с  исполь-

<span Courier New"">зованием дешевойподсистемы памяти.

<span Courier New"">

<span Courier New"">                      2Решение, принятое вP6

<span Courier New"">

<span Courier New"">     Решение сформулированной в предыдущемразделе проблемы памя-

<span Courier New"">ти,  принятое в P6, заключается в обращении к пулукоманд, извле-

<span Courier New"">чении из негокоманд,  следующих за командой, требующейобращения

<span Courier New"">к памяти, ивыполнения до момента завершения команды-тормоза мак-

<span Courier New"">симума полезнойработы. В приведенном в предыдущем разделе приме-

<span Courier New"">ре процессор неможет выполнить команду 2 до завершения  команды

<span Courier New"">1,  так как команда 2 зависит от результатов команды 1.  В то же

<span Courier New"">время процессорможет выполнить команды 3 и 4,  не  зависящие от

<span Courier New"">результатавыполнения команды 1. Мы будем называть такое выполне-

<span Courier New"">ние командопережающим выполнением.  Результатыопережающего  вы-

<span Courier New"">полнения  команд 3  и 4 не могут быть сразузаписаны в регистры,

<span Courier New"">поскольку мыдолжны  изменять  состояние вычислительной  системы

<span Courier New"">только всоответствии с правильным порядком выполнения программы.

<span Courier New"">Эти результатыхранятся в пуле команд и извлекаются оттуда позд-

<span Courier New"">нее. Такимобразом,  процессор выполняет команды всоответствии с

<span Courier New"">их готовностью квыполнению, вне зависимости от их первоначально-

<span Courier New"">го порядка впрограмме,  то есть с точки зренияреального порядка

<span Courier New"">выполнения командP6 является машиной,  управляемойпотоком  дан-

<span Courier New"">ных.  В то  же время изменение состояниявычислительной системы,

<span Courier New"">например запись врегистры, производится в строгом соответствии с

<span Courier New"">истинным порядкомкоманд в программе.

<span Courier New"">     Чтение из памяти данных,  необходимых для команды  1, может

<span Courier New"">заниматьдостаточно много тактов. Тем временем P6 продолжает опе-

<span Courier New"">режающеевыполнение команд,  следующих за командой1,  и успевает

<span Courier New"">обработать,  как правило, 20-30 команд.  Среди этих 20-30команд

<span Courier New"">будет в среднемпять команд перехода,  которыеустройство  выбор-

<span Courier New"">ки/декодированиядолжно правильно предсказать для того, чтобы ра-

<span Courier New"">бота устройствадиспетчирования/выполнения не оказалась бесполез-

<span Courier New"">ной.  Небольшое количество  регистров  в архитектуре процессоров

<span Courier New"">«Intel»приводит к интенсивному использованию каждого из  них  и,

<span Courier New"">как следствие, квозникновению множества мнимых зависимостей меж-

<span Courier New"">ду командами,использующими один и тот же регистр. Поэтому, чтобы

<span Courier New"">исключить задержкув выполнении команд из-за мнимых зависимостей,

<span Courier New"">устройстводиспетчирования/выполнения работает с дублями регист-

<span Courier New"">ров,  находящимися в пуле команд (одному региструможет соответс-

<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA">

<span Courier New"">

<span Courier New"">                              — 7 -

<span Courier New"">

<span Courier New"">твовать несколькодублей). Реальный набор регистров контролирует-

<span Courier New"">ся устройствомотката,  и результаты выполнения командотражаются

<span Courier New"">на состояниивычислительной системы только после того, как выпол-

<span Courier New"">ненная командаудаляется из пула команд в соответствии с истинным

<span Courier New"">порядком команд впрограмме.

<span Courier New"">     Таким образом, принятая в P6 технологиядинамического выпол-

<span Courier New"">нения может бытьописана как оптимальное выполнение программы  ,

<span Courier New"">основанное напредсказании будущих переходов, анализе графа пото-

<span Courier New"">ков данных сцелью выбора наилучшего порядка исполнения команд  и

<span Courier New"">на опережающемвыполнении команд в выбранном оптимальном порядке.

<span Courier New"">

<span Courier New"">                          2Архитектура P6

<span Courier New"">

<span Courier New"">     На рисунке 2 приведена более подробнаяблок-схема P6,  вклю-

<span Courier New"">чающая кэши иинтерфейс с основной памятью.

<span Courier New"">    Далее мы будем понимать под «упорядоченным» устройство,  ко-

<span Courier New"">торое работает всоответствии с исходным порядком команд в прог-

<span Courier New"">рамме,  а  под«беспорядочным» — устройство, которое не обращает

<span Courier New"">внимания наисходный порядок команд в программе.

<span Courier New"">     Устройство выборки/декодирования   является «упорядоченным»

<span Courier New"">устройством,  которое воспринимает на входе поток команд изпрог-

<span Courier New"">раммы  пользователя и декодирует их,  превращая впоследователь-

<span Courier New"">ностьмикрокоманд,  соответствующих  потоку данных  в  программе

<span Courier New"">пользователя.

<span Courier New"">     Устройство диспетчирования/выполненияявляется  «беспорядоч-

<span Courier New»">ным"  устройством, которое воспринимает поток данных и планирует

<span Courier New"">выполнениемикрокоманд с учетом зависимостей по данным и доступ-

<span Courier New"">ности ресурсов, атакже временно сохраняет результаты опережающе-

<span Courier New"">го выполнения впуле команд.

<span Courier New"">     Устройство отката — «упорядоченное» устройство, которое зна-

<span Courier New"">ет,  как и когда завершить выполнениекоманды,  то есть перевести

<span Courier New"">временныерезультаты опережающего выполнения в постоянное состоя-

<span Courier New"">ниевычислительной системы.

<span Courier New"">     Интерфейс шины  является «частично упорядоченным» устройс-

<span Courier New"">твом, отвечающимза связь трех вышеупомянутых устройств с внешним

<span Courier New"">миром.  Интерфейс шины  взаимодействует  непосредственно с кэшем

<span Courier New"">2-го уровня иподдерживает до 4 параллельных обращений  к  кэшу.

<span Courier New"">Интерфейс  шины также  управляет  обменом данными с основной па-

<span Courier New"">мятью, которыйпроисходит с использованием протокола MESI [1].

<span Courier New"">

<span Courier New"">                 2Устройствовыборки/декодирования

<span Courier New"">

<span Courier New"">     Структура этого  устройства приведена на рисунке 3.

<span Courier New"">     Команды из кэша команд могут быть быстровыбраны для  после-

<span Courier New"">дующей обработки.Указатель на следующую команду — это индекс кэ-

<span Courier New"">ша  команд, содержимое  которого определяетсябуфером переходов,

<span Courier New"">состоянием процессораи сообщениями о  неправильном  предсказании

<span Courier New"">перехода,поступающими из устройства выполнения целых команд. Бу-

<span Courier New"">фер переходов с512 входами использует  расширение  алгоритма Йе

<span Courier New"">(Yeh),  которое обеспечивает  более  чем 90-процентную точность

<span Courier New"">предсказанияпереходов.

<span Courier New"">     Предположим, что  ничего исключительного не происходит и что

<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA">

<span Courier New"">

<span Courier New"">                              — 8 -

<span Courier New"">

<span Courier New"">буфер переходов всвоих предсказаниях оказался прав (в P6 предус-

<span Courier New"">мотрены  эффективные действия в случае неправильногопредсказания

<span Courier New"">перехода).

<span Courier New"">     Кэш команд выбирает строку кэша, соответствующую индексу в

<span Courier New"">указателе наследующую команду,  и следующую за нейстроку, после

<span Courier New"">чего передает 16выровненных байтов декодеру. Две строки считыва-

<span Courier New"">ются из-затого,  что команды в архитектуре  Intel выровнены  по

<span Courier New"">границе байта, ипоэтому может происходить передача управления на

<span Courier New"">середину иликонец строки кэша. Выполнение этой ступени конвейера

<span Courier New"">занимает тритакта, включая время, необходимое для вращения пред-

<span Courier New"">выбранных байтови их подачи на декодеры команд.  Началои  конец

<span Courier New"">командпомечаются.

<span Courier New"">     Три параллельных декодера принимают потокотмеченных  байтов

<span Courier New"">и  обрабатывают их,  отыскивая и декодируясодержащиеся в потоке

<span Courier New"">команды. Декодерпреобразует команды архитектуры Intel в микроко-

<span Courier New"">манды-триады (дваоперанда,  один результат).  Большинство команд

<span Courier New"">архитектуры Intelпреобразуются в  одну  микрокоманду, некоторые

<span Courier New"">требуют четырехмикрокоманд,  а сложные команды требуютобращения

<span Courier New"">к микрокоду,  представляющему из себя набор заранее  составленных

<span Courier New"">последовательностеймикрокоманд.  Некоторые команды, такназывае-

<span Courier New"">мыебайт-префиксы,  модифицируют следующую заними  команду,  что

<span Courier New"">также усложняетработу декодера. Микрокоманды ставятся в очередь,

<span Courier New"">посылаются втаблицу псевдонимов регистров,  гдессылки на  логи-

<span Courier New"">ческие регистрыпреобразуются в ссылки на физические регистры P6,

<span Courier New"">после чего каждаяиз микрокоманд вместе с дополнительной информа-

<span Courier New"">цией о еесостоянии (статусе) посылается в пул команд. Пул команд

<span Courier New"">реализован в видемассива контекстно-адресуемой памяти, называе-

<span Courier New"">мого такжебуфером переупорядочивания.

<span Courier New"">     В этой точке заканчивается«упорядоченная» часть конвейера.

<span Courier New"">

<span Courier New"">               2Устройстводиспетчирования/выполнения

<span Courier New"">

<span Courier New"">     Устройство диспетчирования выбирает микрокомандыиз пула ко-

<span Courier New"">манд взависимости от их статуса.  Под статусоммы будем понимать

<span Courier New"">информацию одоступности операндов микрокоманды и наличии необхо-

<span Courier New"">димых для еевыполнения вычислительных ресурсов. Если статус мик-

<span Courier New"">рокомандыпоказывает, что ее операнды уже вычислены и доступны, а

<span Courier New"">необходимое  для ее выполнения вычислительное устройство(ресурс)

<span Courier New"">такжедоступно,  то устройство диспетчированиявыбирает  микроко-

<span Courier New"">манду  из пула команд и направляет ее на устройство для выполне-

<span Courier New"">ния. Результатывыполнения микрокоманды возвращаются в пул.

<span Courier New"">     Взаимодействие с  вычислительными ресурсами происходит через

<span Courier New"">пятипортовуюраспределительную станцию. Структура устройства дис-

<span Courier New"">петчирования/выполненияпоказана на рисунке 4.

<span Courier New"">     P6 может запускать на выполнение до 5микрокоманд  за  такт,

<span Courier New"">по  одной на каждый порт.  Средняя длительноподдерживаемая про-

<span Courier New"">пускнаяспособность — 3 микрокоманды за такт. Процесс планирова-

<span Courier New"">ния  выполнения микрокоманд  являетсяпринципиально «беспорядоч-

<span Courier New»">ным":  момент направления микрокоманд на  вычислительные  ресурсы

<span Courier New"">определяетсятолько потоками данных и доступностью ресурсов, без

<span Courier New"">какой бы то нибыло связи  с  первоначальным  порядком команд  в

<span Courier New"">программе.

<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA">

<span Courier New"">

<span Courier New"">                              — 9 -

<span Courier New"">

<span Courier New"">     Алгоритм, отвечающий за планированиевыполнения микрокоманд,

<span Courier New"">является крайневажным для производительности процессора в целом.

<span Courier New"">Если в каждомтакте для каждого ресурса готова к выполнению толь-

<span Courier New"">ко  одна микрокоманда,  то проблемы выбора не возникает.  Но если

<span Courier New"">готовых к выполнениюна данном ресурсе микрокоманд несколько, то

<span Courier New"">какую из нихвыбрать?  Можно доверить выборслучаю.  Можно приме-

<span Courier New"">нить алгоритм«первый пришел — первый обслужен». Идеальным был бы

<span Courier New"">выбормикрокоманды, выполнение которой привело бы к максимальному

<span Courier New"">сокращению граф

еще рефераты
Еще работы по компьютерам и переферийным устройствам