Ассемблер для процессоров Intel Pentium
Шрифт:
Для аппаратуры компьютера процессор Intel Pentium представляет собой 32-разрядное устройство. Внешняя шина данных к памяти является 64-разрядной, что обеспечивает передачу удвоенного объема данных за один цикл шины. Процессор поддерживает несколько типов циклов, включая цикл пакетного режима, в течение которого в кэш данных передается 256-разрядный пакет данных.
Шина данных является главной магистралью, которая передает информацию между процессором и подсистемой памяти. Благодаря 64-разрядной шине данных процессор Intel Pentium существенно повысил скорость передачи – до 528 Мбайт/с для 66 МГц по сравнению со 160 Мбайт/с для 50 МГц процессора i486.
Первые модели процессора Intel Pentium работали на частоте 60 и 66 МГц и обменивались данными с внешней кэш-памятью второго уровня по 64-разрядной шине данных, работающей на тактовой частоте процессорного ядра. Однако здесь есть некоторые сложности. При возрастании скорости процессора Intel Pentium все сложнее становится и дороже обходится его согласование с электронным интерфейсом на материнской плате.
По этой причине быстрые процессоры Intel Pentium используют делитель частоты для синхронизации внешней шины путем задания меньшей частоты. Например, у процессора Intel Pentium с частотой 100 МГц внешняя шина работает на частоте 66 МГц, а у процессора с частотой 90 МГц – на частоте 60 МГц. Процессор задействует одну и ту же шину для доступа к основной памяти и к периферийным подсистемам, таким, как шина PCI.
Дальнейшим усовершенствованием процессоров Intel Pentium стала модель Р6, выпущенная в 1995 г. Это поколение процессоров базировалось на суперскалярной архитектуре, что позволило без перехода на другую технологию изготовления кристалла значительно повысить производительность. Первым процессором семейства Р6 стал Intel Pentium Pro. Далее были разработаны более совершенные процессоры этой линейки, известные как Intel Pentium II, Intel Pentium II Xeon, Intel Celeron, Intel Pentium III и Intel Pentium III Xeon.
Появление процессора Pentium Pro ознаменовало собой значительный шаг вперед по сравнению с Intel Pentium. Несмотря на то что в процессоре Intel Pentium впервые была реализована суперскалярная форма архитектуры х86, она имела определенные ограничения. В этой архитектуре имеется всего два целочисленных конвейера, которые могут обрабатывать две команды параллельно, но только если они следуют друг за другом – здесь отсутствует алгоритм, позволяющий предсказывать ветвления в программе.
В процессоре Pentium Pro реализована новая модель суперскалярной архитектуры, позволяющая одновременно выполнять пять команд. Внедрение такой архитектуры позволило достичь высокой пропускной способности, но одновременно потребовало значительного улучшения схемы кэширования. По сравнению с обычным процессором Intel Pentium, в Pentium Pro пришлось расширить файл регистров, повысить глубину очереди упреждающей выборки и условного выполнения команд, усовершенствовать алгоритм прогнозирования адресов перехода и реализовать обработку данных не в порядке их поступления, а по мере их готовности.
Суперскалярная архитектура процессора Pentium Pro позволяет выполнять максимум три машинные команды в течение одного цикла. Кроме того, в процессоре используется концепция динамического выполнения команд (изменение порядка выполнения команд, улучшенный алгоритм прогнозирования ветвлений и опережающего выполнения команд). Суперскалярная архитектура реализована с помощью трех блоков декодирования
В программно-аппаратную архитектуру процессора входит и специальный модуль отложенных операций (retirement unit), позволяющий выполнять последовательность микроопераций в нужном порядке даже при наличии ветвлений.
По сравнению с процессором Intel Pentium, в Pentium Pro был увеличен размер кэша второго уровня (2nd-level cache) до 256 Кбайт. Процессор Pentium Pro имеет 36-разрядную адресную шину, позволяющую расширить пространство физических адресов до 64 Гбайт.
В процессоры Pentium Pro встроена вторичная кэш-память, соединенная с центральным процессором отдельной шиной. Эта кэш-память, представляющая собой статическое (static) оперативное запоминающее устройство (Random Access Memory, RAM) емкостью 256 или 512 Кбайт, значительно повышает производительность вычислительных систем на основе Pentium Pro.
В процессоры Intel Pentium II семейства Р6 была включена поддержка технологии ММХ. Что касается процессоров Pentium II Xeon, то в них были сконцентрированы все преимущества предыдущих поколений процессоров Intel. Это поколение процессоров было разработано с 4– и 8-кратной масштабируемостью, а также с кэшем второго уровня, имеющим размер 2 Мбайт. Этот процессор предназначается в основном для высокопроизводительных серверов и рабочих станций.
Еще один представитель линейки – процессор Intel Celeron – базируется на архитектуре IA-32 и предназначен для применения в настольных компьютерах. К особенностям этого процессора следует отнести наличие встроенного кэша второго уровня размером 128 Кбайт, а также низкую стоимость.
Значительный шаг вперед был сделан при разработке процессора Intel Pentium III, в котором была реализована технология SSE (Streaming SIMD Extensions – потоковые SIMD-расширения). Эта технология является дальнейшим развитием технологии ММХ. В ней используются 128-разрядные регистры для выполнения параллельных операций с упакованными числами с плавающей точкой. Кроме того, в процессорах Pentium III Xeon для повышения производительности имеется улучшенный кэш передачи данных (advanced transfer cache).
Процессор Intel Pentium 4 является последним в линейке процессоров фирмы Intel, базирующихся на архитектуре IA-32, причем здесь была использована микроархитектура NetBurst. В основе этой микроархитектуры лежит оригинальная разработка Intel, позволяющая процессору функционировать на более высокой тактовой частоте, что значительно повышает производительность Pentium 4 по сравнению с предыдущими поколениями процессоров. Микроархитектура NetBurst имеет следующие особенности:
– улучшенное схемотехническое и конструктивное исполнение, обеспечивающее высокую производительность операций (rapid execution engine);
– поддержка технологии Hyper Pipelined;
– поддержка технологии Advanced Dynamic Execution;
– принципиально новая система кэширования команд-данных;
– поддержка технологии SSE2 (Streaming SIMD Extensions 2), которая обеспечивает расширение возможностей технологий ММХ и SSE фирмы Intel за счет включения в систему команд 128-разрядной целочисленной арифметики и 128-разрядной арифметики чисел с плавающей точкой двойной точности;
– гибкая система управления кэшированием данных и памятью.