Intel Pentium
Процессор Pentium
🕛 16.06.2008, 14:01
# 22марта 1993 года# 3,1 миллиона транзисторов
# 60 - 120 MHz (50-66 MHz шина)
# 64-pазpядная магистpаль
# Супеpскаляpная аpхитектуpа
# Внутpенний кэш pазделен на кэш команд (8KB) и кэш данных (8KB)
# Улучшенный по сpавнению с 486 сопpоцессоp
В Pentium сделана 64-pазpядная магистpаль, значительно ускоpяющая обмен с внешним кэшем и памятью. Супеpскаляpная аpхитектуpа: одно исполнительное устpойство заменено на два - U и V, каждое - со своим собственным конвейеpом; оба паpаллельно ведут выбоpку, pасшифpовку и выполнение команд. Устpойство U является основным и может выполнять все команды, устpойство V - вспомогательным и выполняет только наиболее часто встpечающиеся типы команд. Внутpенний кэш pазделен на кэш команд и кэш данных. Есть система пpедсказания пеpеходов путем опеpежающего пpосмотpа, что позволяет в случае веpного пpедсказания выполнить пеpеход за один такт.
Выполнен по0.8 микронной BiCMOS технологии. Технология BiCMOS объединяет преимущества двух технологий: биполярной (скорость) и CMOS (малое энергопотребление). С помощью более, чем в два раза большего количества транзисторов Pentium Processorа по сравнению с Intel486, Программисты поместили на подложке компоненты, ранее располагавшимися снаружи Processorа. Наличие компонентов внутри уменьшает время доступа, что существенно увеличивает производительность. 0.8 микронная технология фирмы INTEL использует трехслойный метал и имеет уровень, более высокий по сравнению с оригинальной 1.0 микронной технологией двухслойного металла, используемой в Processorе Intel486.
Суперскалярная архитектура Pentium Processorа представляет собой двухконвеерную индустриальную архитектуру, позволяющую Processorу достигать новых уровней производительности посредством выполнения более, чем одной команды за один период тактовой частоты. Термин "суперскалярная" обозначает микроProcessorную архитектуру, которая содержит более одного вычислительного блока. Эти вычислительные блоки, или конвееры, являются узлами, где происходят все основные процессы обработки данных и команд.
Появление суперскалярной архитектуры Pentium Processorа представляет собой естественное развитие предыдущего семейства Processorов с 32-битовой архитектурой фирмы INTEL. Например, Processor Intel486 способен выполнять несколько своих команд за один период тактовой частоты, однако предыдущие семейства Processorов фирмы INTEL требовали множество циклов тактовой частоты для выполнения одной команды.
Возможность выполнять множество команд за один период тактовой частоты существует благодаря тому, что Pentium Processor имеет два конвеера, которые могут выполнять две инструкции одновременно. Так же, как и Intel486 с одним конвеером, двойной конвеер Pentium Processorа выполняет простую команду за пять этапов: предварительная подготовка, первое декодирование ( декодирование команды ), второе декодирование (генерация адреса ), выполнение и обратная выгрузка. Это позволяет нескольким командам находиться в различных стадиях выполнения, увеличивя тем самым вычислительную производительность. Каждый конвеер имеет свое арифметическо-логическое устройство (ALU), совокупность устройств генерации адреса и интерфейс кэширования данных. Так же как и Processor Intel486, Pentium Processor использует аппаратное выполнение команд, заменяющее множество микрокоманд, используемых в предыдуших семействах микроProcessorов. Эти инструкции включают загрузки, запоминания и простые операции АЛУ, которые могут выполняться аппаратными средствами Processorа, без использования микрокода. Это повышает производительность без затрагивания совместимости. В случае выполнения более сложных команд, для дополнительного ускорения производительности выполнения расширенного микрокода Pentium Processorа для выполнения команд используются оба конвеера суперскалярной архитектуры.
В результате этих архитектурных нововведений, по сравнению с предыдущими микроProcessorами, значительно большее количество команд может быть выполнено за одно и то же время.
Другое важнейшее революционное усовершенствование, реализованное в Pentium Processorе, это введение раздельного кэширования. Кэширование увеличивает производительность посредством активизации места временного хранения для часто используемого программного кода и данных, получаемых из быстрой памяти, заменяя по возможности обращение ко внешней системной памяти для некоторых команд. Processor Intel486, например, содержит один 8-KB блок встроенной кэш-памяти, используемой одновременно для кэширования программного кода и данных.
Проектировщики фирмы INTEL обошли это ограничение использованием дополнительного контура. Это улучшает производительность посредством исключения конфликтов на шине и делает двойное кэширование доступным чаще, чем это было возможно ранее. Например, во время фазы предварительной подготовки, используется код команды, полученный из кэша команд. В случае наличия одного блока кэш-памяти, возможен конфликт между процессом предварительной подготовки команды и доступом к данным. Выполнение раздельного кэширования для команд и данных исключает такие конфликты, давая возможность обеим командам выполняться одновременно. Кэш-память программного кода и данных Pentium Processorа содержит по 8 KB информации каждая, и каждая организована как набор двухканального ассоциативного кэша - предназначенная для записи только предварительно просмотренного специфицированного 32-байтного сегмента, причем быстрее, чем внешний кэш. Все эти особенности расширения производительности потребовали использования 64-битовой внутренней шины данных, которая обеспечивает возможность двойного кэширования и суперскалярной конвеерной обработки одновременно с загрузкой следующих данных. Кэш данных имеет два интерфейса, по одному для каждого из конвееров, что позволяет ему обеспечивать данными две одельные инструкции в течение одного машинного цикла. После того, как данные достаются из кэша, они записываются в главную память в режиме обратной записи. Такая техника кэширования дает лучшую производительность, чем простое кэширование с непосредственной записью, при котором Processor записывает данные одновременно в кэш и основную память. Тем не менне, Pentium Processor способен динамически конфигурироваться для поддержки кэширования с непосредственной записью.
Таким образом, кэширование данных использует два различных решения: кэш с обратной записью и алгоритм, названный MESI ( модификация, исключение, распределение, освобождение) протокол. Кэш с обратной записью позволяет записывать в кэш без обращения к основной памяти в отличие от используемого до этого непосредственного простого кэширования. Эти решения увеличивают производитльность посредством использования преобразованной шины и предупредительного исключения самого узкого места в системе. В свою очередь MESI-протокол позволяет данным в кэш-памяти и внешней памяти совпадать - решение в усовершенствованных мультиProcessorных системах, где различные Processorы могут использовать для работы одни и те же данные.
Рекомендуемый объем общей кэш-памяти для настольных систем, основанных на Pentium Processorе, равен 128-256 K, а для серверов - 256 K и выше.
Pentium Processor снаружи представляет собой 32-битовое устройство. Внешняя шина данных к памяти является 64-битовой, удваивая количество данных, передаваемых в течение одного шинного цикла. Pentium Processor поддерживает несколько типов шинных циклов, включая пакетный режим, в течение которого происходит порция данных из 256 бит в кэш данных и в течение одного шинного цикла.
Шина данных является главной магистралью, которая передает информацию между Processorом и подсистемой памяти. Благодаря этой 64-битовой шине данных, Pentium Processor существенно повышает скорость передачи по сравнению с Processorом Intel486DX - 528 MB/сек для 66 МГц, по сравнению со 160 MB/сек для 50 МГц Processorа Intel486 DX. Эта расширеная шина данных способствует высокоскоростным вычислениям благодаря поддержке одновременной подпитки командами и данными Processorного блока суперскалярных вычислений, благодаря чему достигается еще большая общая производительность Pentium Processorа по сравнению с Processorом Intel486 DX.
В общем, имея более широкую шину данных, Pentium Processor обеспечивает конвееризацию шинных циклов, что способствует увеличению пропускной способности шины. Конвееризация шинных циклов позволяет второму циклу стартовать ранше завершения выполнения первого цикла. Это дает подсистеме памяти больше времени для декодирования адреса, что позволяет использовать более медленные и менее дорогостоящие компоненты памяти, уменьшая в результате общую стоимость системы. Ускорение процессов чтения и записи, параллелилизм адреса и данных, а также декодирование в течение одного цикла.