Pentium (также известный как i586 ) — микропроцессор x86, представленный компанией Intel 22 марта 1993 года. Это первый процессор под торговой маркой Pentium . [3] [4] Он считается пятым поколением в линейке процессоров, совместимых с 8086, [ 5] его реализация и микроархитектура получили внутреннее название P5 .
Как и Intel i486 , Pentium имеет набор инструкций, совместимый с 32-битным i386 . Он использует очень похожую микроархитектуру на i486, но был достаточно расширен для реализации конструкции двойного целочисленного конвейера , а также более продвинутого блока с плавающей точкой . Первое — это то, что, как утверждали некоторые ученые и конкуренты RISC, невозможно реализовать для набора инструкций CISC . [ кто? ]
P5 Pentium — первый суперскалярный процессор x86 , то есть он часто мог выполнять две инструкции одновременно. Некоторые методы, используемые для реализации этого, были основаны на более раннем суперскалярном Intel i960 CA (1989), в то время как другие детали были изобретены исключительно для конструкции P5. Большие части также были скопированы с i386 или i486, особенно стратегии, используемые для обработки сложных кодировок x86 конвейерным способом. [6] Так же, как и i486, Pentium использовал как оптимизированную систему микрокода, так и RISC-подобные методы, в зависимости от конкретной инструкции или части инструкции.
Другие основные особенности включают в себя переработанный и значительно более быстрый блок обработки чисел с плавающей запятой, широкую 64-битную шину данных (как внешнюю, так и внутреннюю), отдельные кэши кода и данных , а также множество других методов и функций для повышения производительности.
P5 также имеет лучшую поддержку многопроцессорности по сравнению с i486 и является первым процессором x86 с аппаратной поддержкой для нее, аналогичной мэйнфреймам IBM. Intel работала с IBM, чтобы определить эту возможность, а также разработала ее в микроархитектуре P5. Эта возможность отсутствовала в предыдущих поколениях x86 и процессорах x86 от конкурентов.
Чтобы использовать двойные конвейеры в полной мере, некоторые компиляторы были оптимизированы для лучшего использования параллелизма на уровне инструкций, хотя не все приложения существенно выигрывали от перекомпиляции. Более быстрый FPU всегда значительно повышал производительность с плавающей точкой по сравнению с i486 или i387. Intel потратила ресурсы на работу с поставщиками средств разработки, независимыми поставщиками ПО и компаниями операционных систем (ОС) для оптимизации своих продуктов.
В октябре 1996 года был представлен аналогичный Pentium MMX [7] , дополняющий ту же базовую микроархитектуру набором инструкций MMX , увеличенным кэшем и некоторыми другими усовершенствованиями.
Конкурентами были суперскалярные PowerPC 601 (1993), SuperSPARC (1992), DEC Alpha 21064 (1992), AMD 29050 (1990), Motorola MC88110 (1991) и Motorola 68060 (1994), большинство из которых также использовали суперскалярную конфигурацию двойного конвейера команд с последовательным порядком выполнения, а также несуперскалярные Motorola 68040 (1990) и MIPS R4000 (1991).
В начале 2000 года компания Intel прекратила выпуск процессоров Pentium P5 (продававшихся как более дешёвый продукт с момента выпуска Pentium II в 1997 году) в пользу процессора Celeron , который также заменил бренд 80486. [1]
Микроархитектура P5 была разработана той же командой из Санта-Клары, которая разработала 386 и 486. [8] Проектные работы начались в 1989 году; [9] : 88 команда решила использовать суперскалярную архитектуру RISC, которая была бы конвергенцией технологий RISC и CISC, [10] с кэшем на кристалле, плавающей точкой и предсказанием ветвлений. Предварительный проект был впервые успешно смоделирован в 1990 году, за которым последовала компоновка проекта . К этому времени в команде было несколько десятков инженеров. Проект был завершен или перенесен на кремний в апреле 1992 года, после чего началось бета-тестирование. [11] К середине 1992 года в команде P5 было 200 инженеров. [9] : 89 Сначала Intel планировала продемонстрировать P5 в июне 1992 года на торговой выставке PC Expo, а официально анонсировать процессор в сентябре 1992 года, [12] но проблемы с конструкцией вынудили отменить демонстрацию, а официальное представление чипа было отложено до весны 1993 года. [13] [14]
Джон Х. Кроуфорд , главный архитектор оригинального 386, был соруководителем проектирования P5, [15] вместе с Дональдом Альпертом, который руководил архитектурной группой. Дрор Авнон руководил проектированием FPU. [16] Винод К. Дхам был генеральным менеджером группы P5. [9] : 90
Проект многоядерной архитектуры Larrabee от Intel использует процессорное ядро, полученное из ядра P5 (P54C), дополненное многопоточностью , 64-битными инструкциями и 16-байтовым векторным процессором . [17] Маломощная микроархитектура Bonnell от Intel , используемая в ранних ядрах процессоров Atom, также использует двухконвейерный конвейер с последовательным расположением команд, аналогичный P5. [18]
Intel использовала название Pentium вместо 586, потому что в 1991 году она проиграла спор о торговой марке «386», когда судья постановил, что это число является общим . Компания наняла Lexicon Branding, чтобы придумать новое, нечисловое название. [19]
Микроархитектура P5 имеет несколько важных преимуществ по сравнению с предыдущей архитектурой i486.
Pentium был разработан для выполнения более 100 миллионов инструкций в секунду (MIPS), [20] а модель 75 МГц смогла достичь 126,5 MIPS в некоторых тестах. [21] Архитектура Pentium обычно предлагала производительность чуть менее чем в два раза выше, чем у процессора 486 за такт в обычных тестах. Самые быстрые части 80486 (с немного улучшенной микроархитектурой и работой на частоте 100 МГц) были почти такими же мощными, как и Pentium первого поколения, а AMD Am5x86 , который, несмотря на свое название, на самом деле является ЦП класса 486, был примерно равен Pentium 75 по чистой производительности ALU.
Ранние версии 60–66 МГц P5 Pentium имели проблему в блоке с плавающей точкой, которая приводила к неверным (но предсказуемым) результатам некоторых операций деления. Этот недостаток, обнаруженный в 1994 году профессором Томасом Найсли в Линчбургском колледже, штат Вирджиния, стал широко известен как ошибка Pentium FDIV и вызвал смущение у Intel, которая создала программу обмена для замены неисправных процессоров.
В 1997 году была обнаружена еще одна ошибка, которая могла позволить вредоносной программе вызвать сбой системы без каких-либо специальных привилегий, « F00F bug ». Все процессоры серии P5 были затронуты, и никаких фиксированных степпингов никогда не было выпущено, однако современные операционные системы были исправлены с помощью обходных путей для предотвращения сбоев.
Pentium был основным микропроцессором Intel для персональных компьютеров в середине 1990-х годов. Первоначальный дизайн был переработан в новых процессах, и были добавлены новые функции для поддержания его конкурентоспособности и для решения конкретных задач, таких как портативные компьютеры. В результате появилось несколько вариантов микроархитектуры P5.
Первое ядро микропроцессора Pentium имело кодовое название «P5». Его код продукта был 80501 (80500 для самых ранних степпингов Q0399). Существовало две версии, рассчитанные на работу на частотах 60 МГц и 66 МГц соответственно, с использованием Socket 4. Эта первая реализация Pentium была выпущена с использованием 273-контактного форм-фактора PGA и работала от источника питания 5 В. (происходившего от обычных требований совместимости транзисторно-транзисторной логики (TTL)). Он содержал 3,1 миллиона транзисторов и имел размеры 16,7 мм на 17,6 мм при площади 293,92 мм 2 . [22] Он был изготовлен по 800-нм биполярному комплементарному металл-оксид-полупроводник ( BiCMOS ) процессу. [23] 5-вольтовая конструкция привела к относительно высокому потреблению энергии для его рабочей частоты по сравнению с непосредственно следующими моделями.
За P5 в 1994 году последовал P54C (80502), версии которого работали на частоте 75, 90 или 100 МГц с питанием 3,3 В. Отмечая переход на Socket 5 , это был первый процессор Pentium, работавший на напряжении 3,3 В, что снижало потребление энергии, но требовало регулирования напряжения на материнских платах. Как и в случае с процессорами 486 с более высокой тактовой частотой, с этого момента использовался внутренний множитель тактовой частоты, чтобы внутренняя схема работала на более высокой частоте, чем внешние шины адреса и данных, поскольку увеличивать внешнюю частоту сложнее и громоздче из-за физических ограничений. Он также допускал двустороннюю многопроцессорную обработку и имел интегрированный локальный APIC и новые функции управления питанием. Он содержал 3,3 миллиона транзисторов и имел площадь 163 мм2 . [24] Он был изготовлен по технологии BiCMOS, которая из-за различий в определениях описывается как 500 нм и 600 нм . [24]
За P54C в начале 1995 года последовал P54CQS, работавший на частоте 120 МГц. Он был изготовлен по 350-нм процессу BiCMOS и был первым коммерческим микропроцессором, изготовленным по 350-нм процессу. [24] Его количество транзисторов идентично P54C, и, несмотря на более новый процесс, он также имел идентичную площадь кристалла. Чип был подключен к корпусу с помощью проволочного соединения , что допускает соединения только по краям чипа. Меньший чип потребовал бы перепроектирования корпуса, так как существует ограничение на длину проводов, а края чипа были бы дальше от контактных площадок на корпусе. Решение состояло в том, чтобы сохранить тот же размер чипа, сохранить существующее контактное кольцо и только уменьшить размер логической схемы Pentium, чтобы позволить ему достичь более высоких тактовых частот. [24]
За P54CQS вскоре последовал P54CS, работавший на частотах 133, 150, 166 и 200 МГц, и представлявший Socket 7. Он содержал 3,3 миллиона транзисторов, имел площадь 90 мм2 и был изготовлен по 350-нм технологии BiCMOS с четырьмя уровнями межсоединений.
В 1995 году были выпущены P24T Pentium OverDrive для систем 486 , которые были основаны на версиях 3,3 В 600 нм с тактовой частотой 63 или 83 МГц. Поскольку они использовали Socket 2 / 3 , пришлось внести некоторые изменения, чтобы компенсировать 32-битную шину данных и более медленный встроенный кэш L2 материнских плат 486. Поэтому они были оснащены кэшем L1 объемом 32 КБ (вдвое больше, чем у процессоров Pentium до P55C).
P55C (или 80503) был разработан Центром исследований и разработок Intel в Хайфе, Израиль . Он продавался как Pentium с технологией MMX (обычно его называли просто Pentium MMX ); хотя он был основан на ядре P5, он имел новый набор из 57 инструкций "MMX", предназначенных для повышения производительности в мультимедийных задачах, таких как кодирование и декодирование цифровых медиаданных. Линейка Pentium MMX была представлена 22 октября 1996 года и выпущена в январе 1997 года. [25]
Новые инструкции работали с новыми типами данных: 64-битные упакованные векторы из восьми 8-битных целых чисел, четырех 16-битных целых чисел, двух 32-битных целых чисел или одного 64-битного целого числа. Так, например, инструкция PADDUSB (Packed ADD Unsigned Saturated Byte) складывает два вектора, каждый из которых содержит восемь 8-битных беззнаковых целых чисел вместе, поэлементно; каждое сложение, которое переполняется , насыщает , давая 255, максимальное беззнаковое значение, которое может быть представлено в байте. Эти довольно специализированные инструкции обычно требуют специального кодирования программистом для их использования. [ необходима цитата ]
Другие изменения в ядре включают 6-ступенчатый конвейер (по сравнению с 5 на P5) со стеком возвратов (впервые реализованным на Cyrix 6x86) и улучшенным параллелизмом, улучшенный декодер инструкций, 16 КБ кэша данных L1 + 16 КБ кэша инструкций L1 с 4-сторонней ассоциативностью (по сравнению с 8 КБ данных/инструкций L1 с 2-сторонней на P5), 4 буфера записи, которые теперь могут использоваться любым конвейером (по сравнению с одним, соответствующим каждому конвейеру на P5) и улучшенный предсказатель ветвлений, взятый из Pentium Pro, [26] [27] с буфером на 512 записей (по сравнению с 256 на P5). [28]
Он содержал 4,5 миллиона транзисторов и имел площадь 140 мм2 . Он был изготовлен по 280-нм КМОП-технологии с теми же металлическими шагами, что и предыдущий 350-нм BiCMOS-технологии, поэтому Intel описала его как «350 нм» из-за схожей плотности транзисторов. [29] Процесс имеет четыре уровня межсоединений. [29]
Хотя P55C оставался совместимым с Socket 7 , требования к напряжению для питания чипа отличались от стандартных спецификаций Socket 7. Большинство материнских плат, выпущенных для Socket 7 до принятия стандарта P55C, не соответствовали двойной шине напряжения, необходимой для правильной работы этого ЦП (напряжение ядра 2,8 В, напряжение ввода-вывода 3,3 В). Intel решила эту проблему с помощью комплектов обновления OverDrive, в которых был предусмотрен интерпозер с собственной регулировкой напряжения.
Процессоры Pentium MMX для ноутбуков использовали мобильный модуль , который удерживал ЦП. Этот модуль представлял собой печатную плату (PCB) с ЦП, непосредственно прикрепленным к ней в меньшем форм-факторе. Модуль прикреплялся к материнской плате ноутбука, и обычно устанавливался теплоотвод , который контактировал с модулем. Однако в 250-нм Tillamook Mobile Pentium MMX (названном в честь города в Орегоне ) модуль также удерживал чипсет 430TX вместе с кэш- памятью статической оперативной памяти (SRAM) объемом 512 КБ.
После появления Pentium конкуренты, такие как NexGen , [30] AMD, Cyrix и Texas Instruments, анонсировали процессоры, совместимые с Pentium, в 1994 году. [31] Журнал CIO определил Nx586 от NexGen как первый совместимый с Pentium ЦП, [32] в то время как PC Magazine описал Cyrix 6x86 как первый. За ними последовал AMD K5 , выпуск которого был отложен из-за сложностей проектирования. Позже AMD купила NexGen, чтобы помочь спроектировать AMD K6 , а Cyrix был куплен National Semiconductor . [33] Более поздние процессоры от AMD и Intel сохранили совместимость с оригинальным Pentium.
Эти официальные руководства содержат обзор процессора Pentium и его функций: