Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Общие характеристики микропроцессоров и эволюция развития




Под архитектурой процессора понимается его программная модель, то есть программно-видимые свойства. В пособии рассматривается детально архитектура IA-32 (Intel Architecture 32 bit) - архитектура 32-разрядных процессоров семейства i80x86. Под микроархитектурой понимается внутренняя реализация этой программной модели. Для одной и той же архитектуры IA-32 разными фирмами и в разных поколениях применяются существенно различные микроархитектурные реализации, при этом, естественно, стремятся к максимальному повышению производительности (скорости исполнения программ).

Современный микропроцессор представляет собой один-два "кристалла", объединяющие CPU с различными функциональными узлами. С усложнением структуры микропроцессора возрастают требования к повышению тактовой частоты для достижения необходимого быстродействия. В зависимости от путей достижения возможного компромисса (создание производительного микропроцессора с разветвленной структурой и ограниченной тактовой частотой) различают ряд архитектур современных микропроцессоров:

- RISC (Reduced Instruction Set Computer) - процессоры с сокращенной системой команд. Эти процессоры обычно имеют набор однородных регистров универсального назначения, причем их число может быть большим. Система команд отличается относительной простотой, коды инструкций имеют четкую структуру, как правило, с фиксированной длиной. В результате аппаратная реализация такой архитектуры позволяет с небольшими затратами декодировать и выполнять эти инструкции за минимальное (в пределе 1) число тактов синхронизации. Определенные преимущества дает и унификация регистров.

- CISC (Complete Instruction Set Computer) - процессоры с полным набором инструкции. Состав и назначение их регистров существенно неоднородны, широкий набор команд усложняет декодирование инструкций, на что расходуются аппаратные ресурсы. Возрастает число тактов, необходимое для выполнения инструкций.

- MISC (Multipurpose Instruction Set Computer): представляет собой объединенные RISC CPU с микропрограммно-управляемым ПЗУ, объединение возможно как в одном корпусе, так и в различных. Основная часть (host), в качестве которой является RISC CPU, выполняет обычные команды за один такт, а расширенные команды преобразуются в адрес микропрограммы, которые уже дешифрованы. Реализация MISC CPU на двух кристаллах позволяет расширить место для микропроцессорных регистров.

Процессоры 180x86 имеют самую сложную в мире систему команд (CISC архитектура). В процессорах этого семейства, начиная с 486, применяется комбинированная MISC архитектура.

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

Для достижения максимальной производительности процессора -обеспечения полной загрузки конвейеров с минимальным числом лишних штрафных циклов (penalty cycles) - программа должна составляться с учетом архитектурных особенностей процессора. Скалярным называют процессор с единственным конвейером, к этому типу относятся все процессоры Intel до 486 включительно. Суперскалярный (superscalar) процессор имеет более одного (Pentium - два) конвейера, способных обрабатывать инструкции параллельно.

Переименование регистров (register renaming) позволяет обойти архитектурное ограничение на возможность параллельного исполнения инструкций (доступно всего восемь общих регистров). Процессоры с переименованием регистров фактически имеют более восьми общих регистров, и при записи промежуточных результатов устанавливается соответствие логических имен и физических регистров. Таким образом, одновременно может исполняться несколько инструкций, ссылающихся на одно и то же логическое имя регистра, если, конечно, между ними нет фактических зависимостей по данным.

Продвижение данных (data forwarding) подразумевает начало исполнения инструкции до готовности всех операндов. При этом выполняются все возможные действия, и декодированная инструкция с одним операндом помещается в исполнительное устройство, где дожидается готовности второго операнда, выходящего с другого конвейера.

Предсказание переходов (branch prediction) позволяет продолжать выборку и декодирование потока инструкций после выборки инструкции ветвления (условного перехода), не дожидаясь проверки самого условия. В процессорах прежних поколений инструкция перехода приостанавливала конвейер (выборку инструкций) до исполнения собственно перехода, на чем, естественно, терялась производительность. Предсказание переходов направляет поток выборки и декодирования по одной из ветвей. Статический метод предсказания работает по схеме, заложенной в процессор, считая, что переходы по одним условиям, вероятнее всего, произойдут а по другим - нет. Динамическое предсказание опирается на предысторию вычислительного процесса - для каждого конкретного случая перехода накапливается статистика поведения, и переход предсказывается, основываясь именно на ней.

Исполнение по предположению, называемое также спекулятивным (speculative execution), идет дальше - предсказанные после перехода инструкции не только декодируются, но и по возможности исполняются до проверки условия перехода. Если предсказание сбывается, то труд оказывается ненапрасным, если не сбывается, то происходит перегрузка конвейера.

Исполнение с изменением последовательности инструкций (out-of-order execution), свойственное RISC-архитектуре, теперь реализуется и для процессоров i80x86. При этом изменяется порядок внутренних манипуляций данными, а внешние (шинные) операции ввода-вывода и записи в память выполняются в порядке, предписанном программным кодом.

В настоящее время семейство i80x86 насчитывает 7 поколений процессоров.

Первое поколение (процессоры 8086 и 8088 и математический сопроцессор 8087) задало архитектурную основу - набор неравноправных 16-разрядных регистров, сегментную систему адресации памяти в пределах 1 Мбайт с большим разнообразием режимов, систему команд, систему прерываний и некоторые другие черты. В процессорах применялась «малая» конвейеризация - пока одни узлы выполняли текущую инструкцию, блок предварительной выборки выбирал из памяти следующую. На выполнение каждой инструкции уходило в среднем по 12 тактов процессорного ядра.

Второе поколение (80286 с сопроцессором 80287) привнесло в семейство защищенный режим, позволяющий задействовать виртуальную память размером до 1 Гбайт для каждой задачи, пользуясь адресуемой физической памятью в пределах 16 Мбайт. Защищенный режим 80286 не нашел массового применения - эти процессоры в основном использовались как «очень» быстрые 8086. Их производительность повысилась не только за счет роста тактовой частоты, но и за счет значительного усовершенствования конвейера. Здесь на выполнение инструкции уходило в среднем по 4,5 такта. Во втором поколении появились новые инструкции: системные (для обслуживания механизмов защищенного режима) и несколько прикладных (в том числе для блочного ввода-вывода - основы программного обмена с портами). Наличие защищенного режима не отменяет возможности работы в реальном режиме 8086, и эта возможность сохраняется во всех последующих поколениях (дань совместимости с программным обеспечением, включая и MS-DOS).

Третье поколение (386/387 с суффиксами DX и SX, рпределяющими разрядность внешней шины) ознаменовалось переходом к 32-разрядной архитектуре IA-32. Кроме расширения диапазона непосредственно представляемых данных увеличился и объем адресуемой памяти (до 4 Гбайт реальной, 64 Тбайт виртуальной). В систему команд ввели возможность переключения разрядности адресации и данных. Защищенный режим был несколько усовершенствован, но оставлена и обратная совместимость с 286. На таком процессоре стала применятся ОС MS Windows. В плане организации исполнения инструкций существенных изменений, повлекших за собой сокращение числа тактов на инструкцию, не произошло - те же средние 4,5 такта, но частота уже достигла 40 МГц.

Четвертое поколение (486, DX и SX) в архитектурную модель больших изменений не внесло, но зато был принят ряд мер для повышения производительности. В этих процессорах значительно усложнен исполнительный конвейер - основные операции выполняет RISC-ядро, «задания» для которого готовят из входных CISC-инструкций х86. Этот конвейер стал способным выполнять очередные инструкции в среднем за каждые два такта. Производительность конвейера процессора оторвалась от возможностей доставки инструкций и данных из оперативной памяти, и прямо в процессор ввели быстродействующий первичный кэш объемом 8-16 Кбайт. В этом же поколении отказались от внешнего сопроцессора: теперь он размещается либо на одном кристалле с центральным (называется FPU), либо его нет вообще. По сравнению с предыдущим поколением и сопроцессор стал работать значительно эффективнее, а тактовая частота в этом поколении достигла 133 МГц (у AMD, а у Intel - только 100).

Пятое поколение - процессор Pentium у Intel и К5 у AMD - привнесло суперскалярную архитектуру. Суперскалярность означает наличие более одного конвейера. У процессоров пятого поколения после блоков предварительной выборки и первой стадии декодирования инструкций имеются два конвейера, U-конвейер и V-конвейер. Каждый из этих конвейеров имеет ступени окончательного декодирования, исполнения инструкций и буфер записи результатов. Конвейеризирован и блок FPU. Процессор с такой архитектурой может одновременно выполнять до двух инструкций, но в среднем получается 1 такт на инструкцию. В процессорах применяется блок предсказания ветвлений. Для быстрого снабжения конвейеров инструкциями и данными из памяти шина данных процессоров имеет разрядность 64 бит, из-за чего поначалу их даже ошибочно называли 64-разрядными процессорами. На закате этого поколения появилось расширение ММХ, новизна которого заключается в принципе SIMD: одна инструкция выполняет действия сразу над несколькими операндами.

Шестое поколение процессоров Intel (микроархитектура Р6) началось с Pentium Pro и продолжается в процессорах Pentium II, Pentium Ш, Celeron и Хеоп. Его отличительной особенностью является исполнение с изменением последовательности инструкций (динамическое исполнение), при котором инструкции разбиваются на простейшие микрооперации, которые далее выполняются суперскалярным процессорным ядром в порядке, удобном процессору. Ядро процессора содержит несколько конвейеров, к которым подключаются исполнительные устройства целочисленных вычислений, обращений к памяти, предсказания переходов и вычислений с плавающей точкой. Несколько различных исполнительных устройств могут объединяться на одном конвейере. Результаты «беспорядочно» выполняемых микроопераций собираются в переупорядочивающем буфере и в корректном порядке записываются в память (и порты ввода-вывода). Чтобы можно было одновременно выполнять разные инструкции с одними и теми же программно-адресуемыми регистрами, внутри процессора выполняется аппаратное переименование регистров. В процессорах 6-го поколения реализовано исполнение по предположению. В итоге всех этих ухищрений среднее число тактов на инструкцию у Pentium Pro сократилось до 0,5 такта.

При повышении быстродействия процессорного ядра и относительно низких частотах системной шины и оперативной памяти, возникает проблема доставки инструкций и данных из ОЗУ к процессорному ядру, используя систему кэш памяти первого и второго уровней. Для решения указанной проблемы используется двойная независимая шина (DIB), при которой одна из шин процессора, "фасадная" (FSB - Front Side Bus) имеет частоту системной шины (66 - 133 МГц) и связывает его с ОЗУ, а другая шина имеет частоту ядра (или ее половина) и связывает процессор с вторичным кэшем.

Седьмое поколение (no AMD) началось с процессора Athlon. Причисление его к новому поколению мотивировано развитием суперскалярности и суперконвейерности, которая теперь охватила и блок FPU. Седьмое поколение процессоров Intel началось годом позже с процессора Pentium 4, микроархитектура которого рассматривается в п. 3.6.4.

Фирма Intel сейчас занимается 64-разрядной архитектурой. Скоро должен выйти 64-разрядный процессор Itanium, разрабатываемый под кодовым названием Merced. Его архитектура - IA-64 - должна будет обеспечивать совместимость с существующим ПО для используемой ныне архитектуры IA-32.

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 1003; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.021 сек.