Память и архитектура процессора
Процессор, или более полно микропроцессор, а также часто называемый ЦПУ (CPU - central processing unit) является центральным компонентом компьютера. Это разум, который управляет, прямо или косвенно, всем происходящим внутри компьютера.
Когда фон Нейман впервые предложил хранить последовательность инструкций, так называемые программы, в той же памяти, что и данные, это была поистине новаторская идея. Опубликована она в "First Draft of a Report on the EDVAC" в 1945 году. Этот отчет описывал компьютер состоящим из четырех основных частей: центрального арифметического устройства, центрального управляющего устройства, памяти и средств ввода-вывода.
Сегодня, более полувека спустя, почти все процессоры имеют фон-неймановскую архитектуру.
Историческая ретроспектива
Как известно, все процессоры персональных компьютеров основаны на оригинальном дизайне Intel. Первым применяемым в PC процессором был интеловский чип 8088. В это время Intel располагал выпущенным ранее более мощным процессором 8086. 8088 был выбран по соображениям экономии: его 8-битная шина данных допускала более дешевые системные платы, чем 16-битная у 8086. Также во время проектирования первых PC большинство доступных интерфейсных микросхем использовали 8-битный дизайн. Те первые процессоры даже не приближаются к мощи, достаточной для запуска современных приложений.
В таблице ниже приведены основные группы интеловских процессоров от первой генерации 8088/86 до шестого поколения Pentium Pro и Pentium II:
Тип/ Поколение |
Дата |
Ширина шины данных/ адреса |
Внутренний кэш |
Скорость шины памяти (MHz) |
Внутренняя частота (MHz) |
8088/ First |
1979 |
8/20 bit |
None |
4.77-8 |
4.77-8 |
8086/ First |
1978 |
16/20 bit |
None |
4.77-8 |
4.77-8 |
80286/ Second |
1982 |
16/24 bit |
None |
6-20 |
6-20 |
80386DX/ Third |
1985 |
32/32 bit |
None |
16-33 |
16-33 |
80386SX/ Third |
1988 |
16/32 bit |
8K |
16-33 |
16-33 |
80486DX/ Fourth |
1989 |
32/32 bit |
8K |
25-50 |
25-50 |
80486SX/ Fourth |
1989 |
32/32 bit |
8K |
25-50 |
25-50 |
80486DX2/ Fourth |
1992 |
32/32 bit |
8K |
25-40 |
50-80 |
80486DX4/ Fourth |
1994 |
32/32 bit |
8K+8K |
25-40 |
75-120 |
Pentium/ Fifth |
1993 |
64/32 bit |
8K+8K |
60-66 |
60-200 |
MMX/ Fifth |
1997 |
64/32 bit |
16K+16K |
66 |
166-233 |
Pentium Pro/ Sixth |
1995 |
64/36 bit |
8K+8K |
66 |
150-200 |
Pentium II/ Sixth |
1997 |
64/36 bit |
16K+16K |
66 |
233-300 |
Третье поколение процессоров, основанных на Intel 80386SX и 80386DX, были первыми применяемыми в PC 32-битными процессорами. Основным отличием между ними было то, что 386SX был 32-разрядным только внутри, поскольку он общался с внешним миром по 16-разрядной шине. Это значит, что данные между процессором и остальным компьютером перемещались на вполовину меньшей скорости, чем у 486DX.
Четвертая генерация процессоров была также 32-разрядной. Однако все они предлагали ряд усовершенствований. Во-первых, был полностью пересмотрен весь дизайн 486 поколения, что само по себе удвоило скорость. Во-вторых, все они имели 8kb внутреннего кэша, прямо у процессорной логики. Такое кэширование передачи данных от основной памяти значило, что среднее ожидание процессора запросов к памяти на системной плате сократилось до 4%, поскольку, как правило, необходимая информация уже находилась в кэше.
Модель 486DX отличалась от 486SX только поставляемым внутри математическим сопроцессором. Этот отдельный процессор спроектирован для проведения операций над числами с плавающей точкой. Он мало применяется в каждодневных приложениях, но кардинально меняет производительность числовых таблиц, статистического анализа, систем проектирования и так далее.
Важной инновацией было удвоение частоты, введенное в 486DX2. Это значит что внутри процессор работает на удвоенной по отношению ко внешней электронике скоростью. Данные между процессором, внутренним кэшем и сопроцессором передаются на удвоенной скорости, приводя к сравнимой прибавке в производительности. 486DX4 развил эту технологию дальше, утраивая частоту до внутренних 75 или 100MHz, а также удвоив объем первичного кэша до 16kb.
Pentium, определив пятое поколение процессоров, значительно превзошел в производительности предшествующие 486 чипы благодаря нескольким архитектурным изменениям, включая удвоение ширины шины до 64 бит. P55C MMX сделал дальнейшие значительные усовершенствования, удвоив размер первичного кэша и расширив набор инструкций оптимизированными для мультимедиа приложений операциями.
Pentium Pro, появившись в 1995 году как наследник Pentium, был первым в шестом поколении процессоров и ввел несколько архитектурных особенностей, не встречавшихся ранее в мире PC. Pentium Pro стал первым массовым процессором, радикально изменившим способ выполнения инструкций переводом их в RISC-подобные микроинструкции и выполнением их в высокоразвитом внутреннем ядре. Он также замечателен значительно более производительным вторичным кэшем относительно всех прежних процессоров. Вместо использования базирующегося на системной плате кэша, работающего на скорости шины памяти, он использует интегрированный кэш второго уровня на своей собственной шине, работающей на полной частоте процессора, обычно в три раза быстрее кэша на Pentium-системах.
Следующий новый чип после Pentium Pro Intel представил спустя почти полтора года - появился Pentium II, давший очень большой эволюционный шаг от Pentium Pro. Это распалило спекуляции, что одна из основных целей Intel в производстве Pentium II был уход от трудностей в изготовлении дорогого интегрированного кэша второго уровня в Pentium Pro. Архитектурно Pentium II не очень отличается от Pentium Pro с подобным эмулирующим x86 ядром и большинством схожих особенностей.
Pentium II улучшил архитектуру Pentium Pro удвоением размера первичного кэша до 32kb, использованием специального кэша для увеличения эффективности 16-битной обработки, (Pentium Pro оптимизирован для 32-битных приложений, а с 16-битным кодом не обращается столь же хорошо) и увеличением размеров буферов записи. Однако о основной темой разговоров вокруг новых Pentium II была его компоновка. Интегрированный в Pentium Pro вторичный кэш, работающий на полной частоте процессора, был заменен в Pentium II на малую схему, содержащую процессор и 512kb вторичного кэша, работающего на половине частоты процессора. Собранные вместе, они заключены в специальный одностороний картридж (single-edge cartridge - SEC), предназначенный для вставления в 242-пиновый разъем (Socket 8) на нового стиля системных платах Pentium II.
Основная структура
Основные функциональные компоненты процессора
Ядро: Сердце современного процессора - исполняющий модуль. Pentium имеет два параллельных целочисленных потока, позволяющих читать, интерпретировать, выполнять и отправлять две инструкции одновременно.
Предсказатель ветвлений: Модуль предсказания ветвлений пытается угадать, какая последовательность будет выполняться каждый раз когда программа содержит условный переход, так чтобы устройства предварительной выборки и декодирования получали бы инструкции готовыми предварительно.
Блок плавающей точки. Третий выполняющий модуль внутри Pentium, выполняющий нецелочисленные вычисления
Первичный кэш: Pentium имеет два внутричиповых кэша по 8kb, по одному для данных и инструкций, которые намного быстрее большего внешнего вторичного кэша.
Шинный интерфейс: принимает смесь кода и данных в CPU, разделяет их до готовности к использованию, и вновь соединяет, отправляя наружу.
Все элементы процессора синхронизируются с использованием частоты часов, которые определяют скорость выполнения операций. Самые первые процессоры работали на частоте 100kHz, сегодня рядовая частота процессора - 200MHz, иначе говоря, часики тикают 200 миллионов раз в секунду, а каждый тик влечет за собой выполнение многих действий. Счетчик Команд (PC) - внутренний указатель, содержащий адрес следующей выполняемой команды. Когда приходит время для ее исполнения, Управляющий Модуль помещает инструкцию из памяти в регистр инструкций (IR). В то же самое время Счетчик команд увеличивается, так чтобы указывать на последующую инструкцию, а процессор выполняет инструкцию в IR. Некоторые инструкции управляют самим Управляющим Модулем, так если инструкция гласит 'перейти на адрес 2749', величина 2749 записывается в Счетчик Команд, чтобы процессор выполнял эту инструкцию следующей.
Многие инструкции задействуют Арифметико-логическое Устройство (ALU), работающее совместно с Регистрами Общего Назначения - место для временного хранения, которое может загружать и выгружать данные из памяти. Типичной инструкцией ALU может служить добавление содержимого ячейки памяти к регистру общего назначения. ALU также устанавливает биты Регистра Состояний (Status register - SR) при выполнении инструкций для хранения информации о ее результате. Например, SR имеет биты, указывающие на нулевой результат, переполнение, перенос и так далее. Модуль Управления использует информацию в SR для выполнения условных операций, таких как 'перейти по адресу 7410 если выполнение предыдущей инструкции вызвало переполнение'.
Это почти все что касается самого общего рассказа о процессорах - почти любая операция может быть выполнена последовательностью простых инструкций, подобных описанным.
Архитектурное развитие
В соответствии с законом Мура (сформулированным в 1965 году Гордоном Муром (Gordon Moore), одним из создателей Intel), CPU удваивает свою мощность и возможности каждые 18-24 месяцев. В последние годы Intel настойчиво следовал этому закону, оставаясь лидером на рынке и выпуская более мощные чипы процессоров для PC, чем любая другая компания. В 1978 году 8086 работал на частоте 4.77MHz и содержал менее миллиона транзисторов, на конец 1995 года их Pentium Pro вмещал уже 21 миллион транзисторов и работал на 200MHz.
Законы физику ограничивают разработчиков в непосредственном увеличении частоты, и хотя частоты растут каждый год, только это не может дать того прироста производительности, что мы используем сегодня. Вот почему инженеры постоянно ищут способ заставить процессор выполнять больше работы за каждый тик. Одно развитие состоит в расширении шины данных и регистров. Даже 4-битные процессоры способны складывать 32-битные числа, правда выполнив массу инструкций, - 32-битные процессоры решают эту задачу в одну инструкцию. Большинство сегодняшних процессоров имеют 32-разрядную архитектуру, на повестке уже 64-разрядные.
В давние времена процессор мог обращаться только с целыми числами. Единственной возможностью было написание программ, использующих простые инструкции для обработки дробных чисел, но это было медленно. Фактически все процессоры сегодня имеют инструкции для непосредственного обращения с дробными числами.
Говоря, что 'нечто происходит с каждым тиком', мы недооцениваем как долго на самом деле происходит выполнение инструкции. Традиционно, это занимало пять тиков - один для загрузки инструкции, другой для ее декодирования, один для получения данных, один для выполнения и один для записи результата. В этом случае очевидно 100MHz процессор мог выполнить только 20 миллионов инструкций в секунду.
Большинство процессоров сегодня применяют поточную обработку (pipelining), которая больше похожа на фабричный конвейер. Одна стадия потока выделена под каждый шаг, необходимый для выполнения инструкции, и каждая стадия передает инструкцию следующей, когда она выполнила свою часть. Это значит, что в любой момент времени одна инструкция загружается, другая декодируется, доставляются данные для третьей, четвертая исполняется, и записывается результат для пятой. При текущей технологии одна инструкция за тик может быть достигнута.
Более того, многие процессоры сейчас имеют суперскалярную архитектуру. Это значит, что схема каждой стадии потока дублируется, так что много инструкций могут передаваться параллельно. Pentium Pro, примером, может выполнять до пяти инструкций за цикл тика.
Процесс производства
Что отличает микропроцессор от его предшественников, сконструированных из ламп, отдельных транзисторов, малых интегральных схем, такими какими они были первое время от полного процессора на едином кремниевом чипе.
Кремний или силикон - это основной материал из которого производятся чипы. Это полупроводник, который, будучи присажен добавками по специальной маске, становится транзистором, основным строительным блоком цифровых схем. Процесс подразумевает вытравливание транзисторов, резисторов, пересекающихся дорожек и так далее на поверхности кремния.
Сперва выращивается кремневая болванка. Она должна иметь бездефектную кристаллическую структуру, этот аспект налагает ограничение на ее размер. В прежние дни болванка ограничивалась диаметром в 2 дюйма, а сейчас распространены 8 дюймов. На следующей стадии болванка разрезается на слои, называемые пластинами (wafers). Они полируются до безупречной зеркальной поверхности. На этой пластине и создается чип. Обычно из одной пластины делается много процессоров.
Электрическая схема состоит из разных материалов. Например, диоксид кремния - это изолятор, из полисиликона изготавливаются проводящие дорожки. Когда появляется открытая пластина, она бомбардируется ионами для создания транзисторов - это и называется присадкой.
Чтобы создать все требуемые детали, на всю поверхность пластины добавляется слои и лишние части вытравливаются вновь. Чтобы сделать это, новый слой покрывается фоторезистором, на который проектируется образ требуемых деталей. После экспозиции проявление удаляет те части фоторезистора, которые выставлены на свет, оставляя маску, через которую проходило вытравливание. Оставшийся фоторезистор удаляется растворителем.
Этот процесс повторяется, по слою за раз, до полного создания всей схемы. Излишне говорить, что детали размером в миллионную долю метра может испортить мельчайшая пылинка. Такая пылинка может быть повсюду, размером от микрона до ста - а это в 3-300 раз больше детали. Микропроцессоры производятся в сверхчистой среде, где операторы одеты в специальные защитные костюмы.
В прежние времена производство полупроводников приводило к удаче или неудаче с отношением успеха менее 50% работающих чипов. Сегодня выход результата намного выше, но никто не ожидает 100%. Как только новый слой добавляется на пластину, каждый чип тестируется и отмечается любое несоответствие. Индивидуальные чипы отделяются и с этой точки зовутся матрицами. Плохие бракуются, а хорошие упаковываются в PGA (Pin Grid Arrays) корпус - керамический прямоугольник с рядами штырьков на дне, именно такой корпус большинство людей принимают за процессор.
4004 использовал 10-микронный процесс: наименьшие детали составляли одну 10-миллионную метра. По сегодняшним стандартам это чудовищно. Если предположить, что Pentium Pro изготовлен по такой технологии он был бы размером 14x20 сантиметров, и был бы медленным - быстрые транзисторы малы. Большинство процессоров сегодня используют 0.25-микронные технологию, и 0.1-микронный процесс - среднесрочная перспектива для многих производителей.
Программная совместимость
На заре компьютерного века многие люди писали свои программы, а точный набор исполняемых инструкций процессора не был существенен. Сегодня, однако, люди ждут возможность использовать готовые программы, так что набор инструкций первостепенен. Хотя ничего нет магического с технической точки зрения в архитектуре Intel 80x86, она уже давно стала индустриальным стандартом.
Когда сторонние производители делают процессор с другими инструкциями, он не будет работать с принятым стандартным программным обеспечением, и в результате не продается. В дни 386-х и 486-х компании, например AMD, клонировали интеловские процессоры, но это всегда было с отставанием на поколение. Cyrix 6x86 и AMD K5 были конкурентами интеловского Pentium, но это были не чистые копии. K5 имел собственный набор инструкций и транслировал инструкции 80x86 во внутренние при загрузке, так что K5 не требовал при проектировании предварительного создания Pentium. Многое в действительности создавалось параллельно, сдерживала только схема трансляции. Когда K5 наконец появился, он перепрыгнул Pentium в отношении производительности при одинаковых частотах.
Другой путь, по которому процессоры с разной архитектурой относительно единообразны к внешнему миру, - это стандартная шина. В этом отношении введенная в 1994 году шина PCI - один из наиболее важных стандартов. PCI определяет набор сигналов, разрешающих процессору общаться с другими частями PC. Он включает шины адреса и данных, плюс набор управляющих сигналов. Процессор имеет свои собственные шины, так что чипсет используется для преобразования из этой "частной" шины в "публичную" PCI.
Pentium
Введение Pentium в 1993 году революционизировало рынок PC, вложив в корпус среднего PC больше мощи, чем имела NASA в кондиционируемых компьютерных помещениях начала 60-х. Архетектура Pentium представляет шаг вперед от 486.
Это был основанный на CISC чип с более 3.3 миллионами транзисторов, произведенный по 0.35-микронной технологии. Внутри процессор использовал 32-разрядную шину, но внешняя шина данных была 64-разрядна. Внешняя шина требовала других материнских плат, и для их поддержки Intel выпустил специальный чипсет для связи Pentium с 64-разрядным внешним кэшем и шиной PCI.
Большинство Pentium (75MHz и выше) работают на 3.3V с 5V вводом-выводом. У Pentium двойной потоковый суперскалярный дизайн, позволяющий ему выполнять больше инструкций за тик. Пять стадий (загрузка, декодирование, генерация адреса, выполнение и выгрузка) при исполнении целочисленных инструкций остаются, как в 486, но Pentium имеет два параллельных целочисленных потока, позволяющих ему читать, интерпретировать, выполнять, и записывать две операции одновременно. Так проводятся только целочисленные операции - с дробными числами обращается отдельный модуль плавающей точки.
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 за последние десять лет и обеспечивал три главных улучшения:
встроенный кэш первого уровня стандартного Pentium удваивался до 32kb
добавлено 57 новых инструкций, предназначенных специально для более эффективного манипулирования видео, аудио и графическими данными
был развит новый процесс, названный SIMD (Single Instruction Multiple Data - Одна Инструкция Много Данных) и позволяющий выполнять одинаковую инструкцию ко многим экземплярам данных одновременно.
Больший первичный кэш значит, что процессор имеет под рукой больше данных, уменьшая нужду в получении данных из кэша второго уровня, что положительно отражается на всех программах. Новые инструкции, применяемые в совокупности с 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) шиной). Процессор может использовать обе шины одновременно, но архитектура двойной независимой шины имеет другие преимущества.
Хотя шина между процессором и кэшем второго уровня работает медленнее, чем на обычном Pentium Pro (на половине скорости процессора), она чрезвычайно масштабируема. Чем быстрее процессор, тем быстрее кэш, независимо от 66MHz передней шины. Вдобавок, передняя шина может быть увеличена с 66 до 100MHz без влияния на шину кэша второго уровня. Также очевидно, что наличие памяти на одном кристалле с процессором негативно сказывается на проценте выхода годных 512kb Pentium Pro, сохраняя высокими цены.
Pentium II опирается на GTL+ (gunning-transceiver-logic) логику хост-шины, допускающую естественную поддержку двух процессоров. Во время выхода это обеспечивало стоимостно эффективное минималистское двухпроцессорное решение, допускаемое симметричной мультипроцессорностью (SMP). Двухпроцессорное ограничение налагалось не самим Pentium II, а поддержкой чипсета. Изначальное ограничение чипсета двухпроцессорной конфигурацией позволяло Intel и поставщикам рабочих станций предлагать двухпроцессорные системы как временное и экономичное решение, что по другому и не было возможно. Это ограничение было снято с середины 1998 года с выходом чипсета 450NX, поддерживающего от одного до четырех процессоров. Чипсет 440FX, содержащий чипы PMC и DBX, не допускал чередования (interleaving) памяти, но поддерживал EDO DRAM, позволяя улучшать производительность памяти уменьшением ожидания.
Когда Intel проектировал Pentium II, он также взялся за слабую 16-битную производительность его предшественника. Pentium Pro роскошно работает с полностью 32-битным обеспечением, таким как Windows NT, но опускается ниже стандартного Pentium'а, обрабатывая 16-битный код. Это влечет худшую чем Pentium производительность под Windows 95, большие части которой пока 16-битны. Intel решил эту проблему использованием пентиумного кэша с дескрипторами сегментов в Pentium II.
Как и Pentium Pro, Pentium II чрезвычайно быстр в арифметике плавающей точки. В сочетании с Accelerated Graphics Port (AGP) это делает Pentium II мощным решением для высокопроизводительной 3D графики.
Deschutes
333MHz воплощение Pentium II под кодовым названием Deschutes (по реке, текущей в Орегоне), было анонсировано в начале 1998 года с планируемыми в течение года 400MHz и выше. Имя Deschutes в действительности относится к двум разным линиям CPU.
Версия для Slot 1 - ничего более, чем слегка эволюционировавший Pentium II. Архитектура и физический дизайн идентичны, за исключением того, что Deschutes Slot 1 частью сделан с использованием 0.25-микронной технологии, введенной осенью 1997 года с ноутбучным процессором Tillamook, по сравнению с 233-300MHz версиями, выполненными по 0.35-микронному процессу. Применение 0.25-микрон означает, что транзисторы на матрице физически ближе между собой и CPU потребляет меньше энергии, а следовательно рассеивает меньше тепла на данной частоте, позволяя ядру тикать на больших частотах.
Все иное у Slot 1 Deschutes идентично обычному Pentium II. Смонтированный на основание и заключенный в SEC картридж, он поддерживает набор инструкций MMX и общается с 512kb вторичного кэша на половинной частоте ядра. Он имеет тот же конечный коннектор, и работает на тех же системных платах с теми же чипсетами. Как таковой он работает с 440FX или 440LX на внешней частоте 66MHz.
С весны 1998 года большой шаг в производительности пришел со следующим воплощением Deschutes, когда вышел новый чипсет 440BX, допускающий 100MHz передачу по системной шине, уменьшая закупоривание данных и поддерживая частоты от 350 до 400MHz.
Другой процессор, зовущийся Deschutes, относится к Slot 2, выпущен с середины 1998 года как Pentium II Xeon. Intel разбил Slot 1 и Slot 2 Deschutes на взаимодополняющие товарные линии, где Slot 1 предназначен для массового производства, а Slot 2 нацелен на high-end серверы и туда, где цена вторична по отношению к производительности.
Мобильный Pentium II
Естественное продвижение маломощного (в смысле энерго потребления/рассеивания) семейства Pentium II Deschutes на рынок портативных PC осуществилось с выпуском линейки мобильных Pentium II в апреле 1998 года. Новый процессор и его компаньон мобильный 440BX чипсет, изначально были доступны в 233 и 266MHz вариантах, скомпонованные в существующий мобильный модуль (MMO) или новый мини-картридж формат. Intel ожидает к концу 1998 года более половины из снаряженных его мобильными процессорами PC будут уже Pentium II, а срок мобильных Pentium II Tillamook окончится к середине 1999 года.
Celeron
В попытке лучшего удовлетворения сектора дешевых PC, до настоящего времени вотчины производителей клонов, AMD и Cyrix, продолжающих развивать унаследованную архитектуру Socket 7, Intel выпустил свой ряд процессоров Celeron в апреле 1998 года.
Основанный на той же P6 архитектуре, что и Pentium II, и используя тот же 0.25-микронный процесс, Celeron-системы предлагают полный комплект последних технологий, включая поддержку AGP графики, ATA-33 жестких дисков, SDRAM и ACPI. Celeron будет работать на любом интеловском Pentium II чипсете, поддерживающим 66MHz системной шины, включая 440LX, 440BX и новый 440EX, специально спроектированный для рынка 'базовых' PC. В отличие от Pentium II с его SEC картриджем, Celeron не имеет защитного пластикого покрытия вокруг карт процессора, что Intel называет Single Edge Processor Package (SEPP). Он полностью совместим со Slot1, что позволяет использовать существующие платы, но механизм крепления для карты CPU не адаптирован для форм фактора SEPP.
Первые 266 и 300MHz Celeron'ы без кэша второго уровня встретили мало энтузиазма на рынке, не неся или неся мало преимуществ над системами-клонами Socket 7. В августе 1998 года Intel пополнил ряд Celeron семейством процессором, названных Mendocino. Снабженный 128kb вторичного кэа на матрице, работающего на полной частоте процессора, и соединяясь через внешнюю 66MHz шину, новый Celeron стал намного более живым, чем его вялый предшественник. Отчасти путано, две доступные версии получили названия Celeron 333 и 300a. Первый является основной версией, совместимый с существующей интеловской архитектурой, в то время как второй патентует Pin 370 socket, отличный от Socket 7 и Socket 1, нацеленный на дешевые low-end машины.
Pentium II Xeon
В июне 1998 года Intel предложил свой процессор Pentium II Xeon. Технически Xeon представляет комбинацию технологий Pentium Pro и Pentium II и спроектирован, чтобы предложить выдающуюся производительность в критических приложениях рабочих станций и серверов. Используя новый интерфейс Slot 2, Xeon приблизительно вдвое больше размера Pentium II, в основном из-за увеличения кэша второго уровня.
Как и 350 и 400MHz Pentium II CPU, передняя шина работает на 100MHz для увеличения обмена. Наиболее значительным отличием от стандартного Pentium II является то, что кэш второго уровня работает на полной частоте ядра CPU, в отличие от дизайна Slot 1, ограничивающего вторичный кэш половиной частоты ядра, что позволяет Intel использовать дешевый готовый burst SRAM как вторичный кэш, а не производя свой собственный заказной SRAM. Намного более дорогой заказной полноскорстной кэш служит главной причиной разницы в ценах между Slot 1 и Slot 2 решениями.
Чип поставляется с тремя размерами вторичного кэша. Рабочие станции снабжаются 512kb версией. 1mb версия, выпущенная позднее, используется для серверов, до тех пор, пока 2mb версия ожидается (позднее в этом году). Система кэша второго уровня подобна типу, используемому в Pentium Pro, это одна из основных составляющих стоимости Xeon. Другая состоит в том, что корректирующий ошибки (ECC) SRAM стал стандартом во всех Xeon-ах.
Другим преодоленным Xeon'ом ограничением стал дуальный SMP (symmetric multiprocessor). Невозможность запуска мультипроцессорных Pentium II систем с более чем двумя процессорами было основной причиной выживания Pentium Pro в секторе high-end серверов, когда требуется четыре, шесть или восемь процессоров. Slot 2 обеспечивает четырехстороннюю мультипроцессорность.
Хотя Intel решил направить Xeon на оба рынка - рабочих станций и серверов, он разработал разные чипсеты системных плат для каждого из них. 440GX построен вокруг архитектуры ядра 440BC чипсета и предназначен для рабочих станций. 450NX, с другой стороны, спроектирован специально для рынка серверов.
Будущие разработки Intel
Intel сейчас имеет в разработке ряд процессоров
Katmai, названный в честь вулкана на Аляске, отмечен как новая версия Pentium II. Katmai будет основан на P6 архитектуре, начатой Pentium Pro. Подобно Deschutes, этот чип строится на интеловском 0.25-микронном процессе. Наиболее значительным отличием будет ревизия MMX расширения поднятием до MMX2. MMX2 содержит больше 32-битных инструкций - существующий MMX во многом 16-битен - и значительно улучшает производительность 3D графики. Другие изменения включают 100MHz внешнюю шину, увеличенный Level 1 кэш и новую логику ядра чипсета, спроектированную для преодоления 500MHz рубежа скорости Pentium II. Katmai наиболее вероятно увидит свет в начале 1999 года.
Dixon, следующий представитель семьи Mendocino, обещается во второй половине 1999 года. Вероятно, он будет включать больше кэша второго уровня (192 или 256kb) и Katmai New Instructions (KNI), наконец полностью вытиснившие MMX.
Willamette, названный по другой орегонской реке, - изменение поступи Intel. С развитым ядром Pentium Pro и возможностью 100MHz внешней шины, Willamette ожидается более чем на 50% быстрее существующих Pentium II. Willamette по слухам усилит производительность плавающей точки и поддержку 3D геометрии. Он найдет свой путь на рынок в конце 1999 года, но не станет массовым в настольных системах до 2000-го.
Merced, названый по калифорнийской реке, отметит конец процессоров, использующий x86 архитектуру. Результат совместного проекта исследований Hewlett-Packard и Intel, Merced станет первым процессором, использующим полный 64-битный IA-64 набор инструкций. Это должно привести к производительности, превосходящей старые RISC и CISC процессоры. Merced, однако, еще будет способен выполнять x86 инструкции, но не без ущерба в производительности. Merced, появление которого ожидается к середине 2000 года, позиционируется как новая эра в вычислительной мощи. Он, вероятно, будет обслуживать в основном рынок серверов и рабочих станций, в то время как Willamette, по существу обрезанная версия Mersed, будет работать в high-end персональных компьютерах.