Pentium также использует два 8-килобайтных ассоциативных буфера, более известных как первичный или первого уровня кэш) - один для инструкций и другой для данных. Объем кэша удвоен по сравнению с предшественником, 486. Этот кэш добавляет к производительности, поскольку действует как временное хранилище информации для данных, доставляемых из медленной основной памяти.
Буфер Ветвлений (BTB) обеспечивает динамическое предсказание ветвлений. Он улучшает выполнение инструкций запоминанием способа ветвления и применением той же ветви при следующем выполнении инструкции. Когда BTB делает правильное предсказание, производительность увеличивается. 80-точечный Модуль Плавающей Точки обеспечивает арифметическое средство для обращения с "вещественными" числами.
Обзор процессоров
Pentium Pro
Интеловский Pentium Pro, выпущенный в конце 1995 года с ядром CPU, состоящим из 5.5 миллионов транзисторов, плюс 15.5 миллионов транзисторов во вторичном кэше, изначально предназначался для рынка серверов и high-end рабочих станций. Этот суперскалярный процессор включает особенности процессоров высшей категории и оптимизирован под 32-битные операции.
Pentium Pro отличается от Pentium'а наличием встроенного вторичного кэша размером от 256kb до 1mb, работающего на внутренней частоте. Помещение вторичного кэша на чипе, а не на системной плате, позволяет передавать данные по 64-битному каналу, а не по 32-битной системной шине у Pentium. Такая физическая близость также добавляет к росту производительности. Эта комбинация настолько мощна, что 256kb встроенного кэша эквивалентны 2mb на системной плате.
Даже большим фактором в производительности Pentium Pro является комбинация технологий, известных как "динамическое выполнение". Оно включает предсказание ветвлений, анализ потока данных и спекулятивное выполнение. Их комбинирование позволяет позволяет процессору использовать пропадающие иначе циклы тиков, производя предсказания программного потока выполнения инструкций вперед.
Pentium Pro был также первым процессором в семействе x86 с применением сверх поточности (superpipelining), этот поток включает 14 стадий, делящихся на три секции. Очередная подготовительная секция, обрабатывающая декодирование и вывод инструкции, состоит из восьми стадий. Внеочередное ядро, выполняющее инструкцию, имеет три стадии и очередное завершение состоит из трех финальных стадий.
Другим, более важным отличием Pentium Pro является его обращение с инструкциями. Он получает CISC (Complex Instruction Set Computer) x86 инструкции, и преобразовывает их во внутренний RISC (Reduced Instruction Set Computer) микрокод. Преобразование спроектировано так, чтобы избежать некоторые ограничения, унаследованные от набора инструкций x86, таких как нерегулярное декодирование инструкций и арифметические операции регистр-в-память. Микрокод затем пересылается во внеочередной исполнитель инструкций, который определяет, готова ли инструкция к выполнению, и, если нет, передвигает код по кругу, чтобы предотвратить застопорение потока.
У миграции в сторону RISC есть свои минусы. Во-первых, преобразование инструкций занимает время, пусть оно даже меряется в нано- или микросекундах. В результате Pentium Pro неизбежно тратит производительную мощь на обработку инструкций. Второй минус в том, что внеочередной дизайн может частично влиять на 16-битный код, приводя к застопориванием. Это может быть причиной частичного обновления регистра, происходящего до полного чтения регистра, и налагать строгие производственные издержки до семи циклов тика.
Pentium Pro был первым микропроцессором, не использующим почтенный Socket 7, требуя большего 242-контактного интерфейса Socket 8 и ново годизайна системных плат.
MultiMedia eXtensions
Процессор Intel’s P55C MMX с мультимедиа расширением выпускается с начала 1997 года. Он представил наиболее значительное изменение базисной архитектуры процессоров PC за последние десять лет и обеспечивал три главных улучшения:
Больший первичный кэш значит, что процессор имеет под рукой больше данных, уменьшая нужду в получении данных из кэша второго уровня, что положительно отражается на всех программах. Новые инструкции, применяемые в совокупности с SIMD и восемью расширенными (64-битными) регистрами, значительно используют параллелизм, когда восемь байт данных можно обработать за один цикл, а не по одному за цикл. Получается специальное преимущество для мультимедиа- и графических приложений, таких как аудио и видео де/кодирование, масштабирование образов и интерполяция. Вместо перемещения восьми пикселей графических данных процессором по одному за раз, эти восемь пикселей могут быть передвинуты как один 64-битный пакет, и обработаны за один цикл.
По утверждениям Intel, эти усовершенствования дают 10-20% увеличение скорости для не-MMX приложений, и более 60% ускорения для MMX приложений.
Tillamook
Заметное отсутствие MMX версии для ноутбуков Intel исправил в конце 1997 года объявлением мобильных версий процессора с кодовым названием Tillamook, по имени небольшого города в Opегоне. Новые процессоры с частотой 200 и 233MHz и технологией MMX на некоторое время выдвинули ноутбуки на уровень настольных систем. 226MHz версия была выпущена позже в 1998 году.
Tillamook - это первый процессор, построенный на развитом Intel Mobile Module для ноутбуков (MMO). Модуль держит процессор, 512kb вторичного кэша, регулятор напряжения для питания процессора от высшего внешнего напряжения, часы, и новый "северный мост" 430TX PCI. Соединяется с системной платой рядом из 280 разъемов, подобно SEC картриджу Pentium II.
Наибольшим отличием в самом чипе было применение 0.25-микронной технологии по сравнению с применявшейся раннее Intel в мобильных чипах 0.28. Меньший микрон фактор оказал влияние на частоту и напряжение: транзисторы в процессоре (с электрическими нулями и единицами) ближе примыкались, и скорость автоматически увеличивалась. Так как транзисторы сближались, напряжение уменьшалось, чтобы избежать разрушений от сильных электрических полей. Предыдущие версии мобильных интеловских процессоров питались от 2.45v на ядре, а у Tillamook оно было опушено до 1.8v. Регулятор напряжения требовался для защиты чипа от шин PCI и памяти, которые работали на 3.3v. От уменьшения напряжения на процессоре значительно экономилась энергия.
Pentium II
Выпущенный с середины 1997 года, Pentium II ввел ряд больших изменений в мир процессоров PC.
Во-первых, чип и системный кэш второго уровня соединялись по выделенной шине, способной работать на частоте шины процессор-система.
Во вторых, процессор, вторичный кэш и тепло отвод были смонтированы на небольшой плате, вставлявшейся в разъем на системной плате, что больше напоминало карту расширения, чем традиционную схему процессор/гнездо. Intel окрестил это Single Edge Contact cartridge (SEC) - односторонне контактный картридж. В этом картридже находятся шесть отдельных компонент - процессор, четыре индустриально стандартных burst-static-cache RAM и один tag RAM. Дизайн SEC картриджа наделял важными преимуществами. PGA-компоновка Pentium Pro требовала 387 контактов, в то время как SEC-картридж - только 242. Уменьшение на треть числа контактов произошло благодаря наличию в картридже дискретных элементов, таких как замыкающие резисторы и конденсаторы. Эти элементы обеспечивают расщепление сигналов, что значит намного меньшее число требуемых разъемов питания. Разъем SEC-картриджа использует так называемый Slot 1 и воспринимается как принимающий эстафету у уходящего Socket 7.
Третье изменение - в большем синтезе, так как Pentium II объединяет Dual Independent Bus (DIB) от Pentium Pro c технологией MMX от Pentium MMX, формируя новый вид - гибрид Pentium Pro/MMX. Таким образом, внешне очень отличный от предыдущих интеловских процессоров, Pentium II внутренне являет собой смесь новых технологий и улучшений старых чипов.
И наконец, в отличие от Pentium Pro, работающего на 3.3v, Pentium II питается от 2.8v, позволяя Intel пускать его на больших частотах без чрезмерного увеличения требование к мощности. В то время, как 200MHz Pentium Pro с 512kb кэша потребляет 37.9 ватт, 266MHz Pentium II с 512kb кэша сжигает 37.0 ватт.
Подобно Pentium Pro, Pentium II применяет интеловскую Технологию Динамического Исполнения. Когда программная инструкция считывается в процессор и декодируется, она попадает в исполняемый пул. Технология Динамического Исполнения принимает три основных подхода к оптимизации способа обращения процессора с кодом. Множественные Предсказания Ветвлений проверяют программный поток вдоль нескольких ветвей и предсказывают, где в памяти находится следующая инструкция.
Когда процессор читает, он также проверяет следующие инструкции в потоке, ускоряя в результате рабочее течение. Анализ Потока Данных оптимизирует последовательность, в которой инструкции будут выполняться, проверяя декодированные инструкции и определяя, готовы ли они для обработки или зависят от других инструкций. Спекулятивное Выполнение увеличивает скорость таких инструкций просмотром вперед от текущей инструкции и обработкой дальнейших инструкций, которые вероятно могут понадобится. Эти результаты хранятся как спекулятивные до тех пор, пока процессор не определит, какие ему нужны, а какие - нет. С этой точки инструкция возвращается в нормальную очередь и добавляется к потоку.
У Технологии Динамического Исполнения есть два основных преимущества: Инструкции обрабатываются быстрее и эффективнее, чем обычно, и, в отличие от CPU с применением RISC архитектуры, программы не надо перекомпилировать для извлечения выгод процессора. Процессор все делает на лету.
Значительной новой особенностью является удаление вторичного кэша из собственно процессора на отдельную кремниевую пластину в картридже. Процессор читает и пишет данные в кэше используя специализированную высокоскоростную шину. Называемая задней (backside) шиной, она отделена от системной шины процессор-память (сейчас называемой передней (frontside) шиной). Процессор может использовать обе шины одновременно, но архитектура двойной независимой шины имеет другие преимущества.