Главным недостатком 386DX являлась его высокая стоимость. В Intel хотели увеличить количество продаж нового поколения процессСоздание архитектуры RISC

Как уже неоднократно упоминалось, все х86-процессоры, решения компании Motorola и подавляющее большинство выпущенных в 1980-е годы кристаллов имели архитектуру CISC (Complex Instruction Set Computing). Совокупность всех особенностей привела к тому, что чипы стали не только сложными и дорогими в производстве, но и достигли своего потолка производительности. Для дальнейшего увеличения быстродействия требовалось наращивать количество транзисторов, однако освоенные технологические нормы не позволяли создавать более сложные решения. С этим столкнулась Intel при выпуске семейства i486. Для поднятия производительности они внесли изменения в архитектуру процессоров, добавив кэш-память, множители и конвейеры. Словом, 486-е «камни» получили некоторые «фишки» архитектуры RISC. Тем не менее к созданию RISC-платформы американская компания никакого отношения не имеет. Своим созданием архитектура обязана американскому инженеру Дэвиду Паттерсону, который руководил проектом Berkeley RISC с 1980 по 1984 годы.


Дэвид Паттерсон — отец RISC

Первоначальной идеей, которая затем воплотилась в столь масштабный проект Berkeley RISC, стало исследование работы Motorola 68000. В ходе наблюдений выяснилось, что программы попросту не использовали подавляющее большинство инструкций, заложенных в процессор. Например, система Unix при компиляции использовала лишь 30% команд. Поэтому в рамках проекта Berkeley RISC планировалось создать такой процессор, который бы содержал лишь самые необходимые инструкции.

После нескольких лет исследований и разработки было выпущено несколько образцов процессоров, название которых и дало имя всей архитектуры. Сама аббревиатура RISC расшифровывается как Restricted (Reduced) Instruction Set Computer, что переводится как «компьютер с сокращенным набором команд». «Сокращенный набор команд» вовсе не означает, что количество инструкций меньше, чем число команд CISC-кристаллов. Разница состоит в том, что любая инструкция платформы RISC является простой и выполняется за один такт (по крайней мере, должна выполняться), тогда как на выполнение RISC-инструкции могло уходить несколько десятков тактов. При этом длина команды является фиксированной. Например, 32 бита. Также у RISC имеется гораздо больше регистров общего назначения. Плюс для этой архитектуры характерна конвейеризация. Именно ее использование (вкупе с упрощенными командами) позволяет эффективно наращивать тактовую частоту процессоров RISC.


Команда проекта Berkeley RISC

Дебютными решениями стали RISC I и RISC II — детища Паттерсона и проекта Berkeley RISC. Первый содержал более чем 44 000 транзисторов и работал на частоте 4 МГц. Такой процессор при выполнении небольших программ был в среднем в два раза быстрее VAX 11/780 и примерно в четыре раза производительнее, чем «камень» Zilog Z8000. RISC II отличался от предшественника большим количеством инструкций: 39 против 32. Он был более быстрым. Его преимущество над процессором VAX достигало 200%, а Motorola 68000 в некоторых программах был медленнее примерно в четыре раза.

Нужно отметить, что Berkeley RISC был частью большого проекта под названием VLSI. Сюда также входил проект Стэнфордского университета MIPS, который стартовал в 1981 году.

Процессоры MIPS

Главой проекта MIPS был ученый Стэнфордского университета Джон Хэннесси. Как и в случае с Berkeley RISC, задачей стартапа было исследование и создание такого процессора, который использовал бы конвейер и сокращенный набор команд. Архитектура MIPS-решений также предусматривала наличие вспомогательных блоков в составе кристалла: например, модулей для работы с памятью, целочисленного АЛУ (арифметико-логическое устройство) и декодеров команд. Отличием плана MIPS от Berkeley RISC было использование удлиненного конвейера. Архитектура RISC, в принципе, предполагает использование конвейера, но Хэннесси пошел дальше и предложил максимально удлинить конвейер в процессоре, то бишь еще больше «раздробить» выполнение одной операции. Такой подход открывал еще большие просторы по наращиванию тактовой частоты. При этом удлинение конвейера обеспечивало более эффективное распараллеливание выполнения команд. В то время распараллеливание являлось отличительной чертой RISC-архитектуры, поскольку ни в одном CISC-процессоре эта функция не была реализована вплоть до появления в них конвейеров. Например, в MIPS, так же как и в RISC, выполнение одной команды могло быть еще не завершено, когда начиналась выполняться другая. В процессорах CISC для старта выполнения одной инструкции было необходимо, чтобы была окончена обработка другой.


Джон Хэннесси — создатель архитектуры MIPS, а ныне президент Стэнфордского университета

В первоначальной спецификации процессоров MIPS не была предусмотрена поддержка таких элементарных операций, как умножение и деление. Сделано это было специально. Таким образом, разработчики хотели избавиться от необходимости использования так называемых блокировок конвейера. Сама блокировка представляла собой приостановку конвейера в тех случаях, когда операцию на определенной стадии конвейера невозможно выполнить за один такт. Тем не менее первые реализации архитектуры MIPS работали с блокировками и даже поддерживали операции умножения и деления. Прошло некоторое время, прежде чем в процессорах была реализована первоначальная задумка.

В 1984 году Хэннесси покинул Стэнфордский университет и основал компанию MIPS Computer Systems, которая и занялась выпуском процессоров с одноименной архитектурой. Спустя год увидел свет первый продукт компании — 32-битный «камень» R2000. Он стал первой коммерчески доступной RISC-моделью в истории. В 1988 году появился процессор следующего поколения под названием R3000. В сравнении с R2000 он получил поддержку многопроцессорности и кэш-памяти инструкций и данных. «Трехтысячный» оказался коммерчески успешным. Процессор использовался в серверных системах и рабочих станциях таких компаний, как Silicon Graphics, DEC, Seiko Epson и многих других. Плюс R3000 стал сердцем игровой консоли Sony PlayStation.


Процессор MIPS R3000

На разработку следующего поколения MIPS-процессоров ушло три года. Процессор R4000 был представлен в 1991 году. Он получил 64-битную архитектуру, встроенный сопроцессор и работал на более высокой тактовой частоте, нежели предшественники. Так, минимальная частота R4000 составляла 100 МГц. Объем кэш-памяти инструкций и данных составлял 8 Кбайт каждый. Спустя два года была представлена доработанная версия процессора с индексом R4400. Новый кристалл обладал увеличенным вдвое кэшем и поддерживал кэш-память второго уровня большего объема. Помимо этого, были исправлены многочисленные ошибки при работе в 64-разрядном режиме.

Удивительно, что, несмотря на коммерческий успех своих процессоров, MIPS испытывала финансовые трудности и в конечном счете была куплена компанией SGI и переименована в MIPS Technologies. Следом начались выдаваться лицензии на производство клонов сторонним компаниям. Так, компания QED (Quantum Effects Devices) создала недорогие MIPS-процессоры, которые использовались в маршрутизаторах Cisco. А NEC занималась производством «камня» VR4300, который «прописался» в игровой консоли Nintendo 64.


Процессор NEC VR4300 использовался в приставке Nintendo 64

В 1994 году появился процессор R8000. Он стал первым MIPS-решением с суперскалярной архитектурой, которая подразумевает параллельное выполнение команд при условии, что исполнение одной команды не зависит от результата другой. Например, R8000 умел обрабатывать до четырех инструкций за такт.

В январе 1996 года MIPS представила процессор следующего поколения под названием R10000. «Десятитысячный» использовал такую же суперскалярную архитектуру, как и R8000, и, по сути, являлся доработанной версией предшественника. Также процессор имел кэш-память инструкций и данных объемом 32 Кбайт каждая и работал на частоте 175 МГц или 195 МГц. В 1997 году даже появилась версия чипа с частотой 250 МГц. Но даже при параметре 195 МГц R10000 был одним из быстрейших процессоров того времени.


Процессор R10000, произведенный компанией Toshiba

К сожалению, после запуска R10000 компания SGI забросила MIPS-архитектуру. Все последующие кристаллы основывались на ядре «десятитысячного» и не имели в сравнении с ним каких-то принципиальных отличий. Например, процессор R12000, представленный в 1998 году, получил дополнительную стадию в конвейер и улучшенную работу с очередями инструкций. Его тактовая частота составляла 270 МГц, 300 МГц или 360 МГц. После R12000 вышли еще два поколения процессоров MIPS: R14000 и R16000. Они получили поддержку более быстрых системных шин, увеличенные частоты и кэш-память большего объема. Например, R16000 мог работать на частоте 700 МГц и поддерживал 64 Кбайт кэш-памяти инструкций и данных.

После этого MIPS занялась продажей лицензий на 32-битную и 64-битную архитектуры MIPS32 и MIPS64.

Процессоры SPARC

Компания Sun Microsystems также решилась на разработку архитектуры — SPARC (Scalable Processor ARChitecture). Так, инженеры черпали вдохновение из проекта Berkeley RISC. А сам Дэвид Паттерсон даже привлекался к проекту в качестве консультанта. Тем не менее в результате SPARC больше напоминала MIPS-архитектуру. Например, в наборе команд платформы также отсутствовали инструкции умножения и деления. Особенностью архитектуры SPARC стало использование регистрового окна, с помощью которого был немного изменен процесс вызова функций в программах. Обычно при вызове программ процессор запоминал свое состояние (то есть запоминал состояние некоторых регистров общего и специального назначения), переходил к выполнению функции, а затем возвращался в свое исходное состояние до вызова функции. А в процессорах SPARC при вызове функции необходимые данные записывались в конец регистрового окна, а само регистровое окно перемещалось по файлу так, чтобы данные оказывались в начале окна. Такой подход в теории обеспечивал более высокую скорость работы.


Процессор SPARC V7, изготовленный компанией Fujitsu

Первая версия архитектуры получила название SPARC V7. Одноименный процессор на ее базе производился вплоть до 1992 года. Затем появилась следующая генерация архитектуры — SPARC V8. Она не претерпела каких-либо кардинальных изменений. Ключевыми отличиями стало добавление операций умножения и деления, а также улучшенное выполнение арифметики чисел с плавающей запятой. Как и SPARC V7, SPARC V8 оставалась 32-битной архитектурой, на базе которой был создан процессор microSPARC. Он принадлежал к Low-End-сегменту и использовался в небольших рабочих станциях и встраиваемых системах. Силами компаний Texas Instruments и Fujitsu также были выпущены улучшенные клоны. Более производительным решением стал процессор SuperSPARC.

Созданием следующего поколения архитектуры с именем SPARC V9 работала уже целая организация SPARC Architecture Committee, в состав которой, кроме самой Sun, входили такие компании, как Texas Instruments, Fujitsu, Philips и многие другие. Платформа была расширена до 64 бит и являлась суперскалярной с 9-стадийным конвейером. SPARC V9 предусматривала использование кэш-памяти первого уровня, разделенного на инструкции и данные объемом 16 Кбайт каждая, а также второго уровня емкостью 512-4096 Кбайт. Реализацией архитектуры стал процессор UltraSPARC с частотой 143-200 МГц.


Процессор UltraSPARC II

UltraSPARC не был единственным процессором с архитектурой SPARC V9. В 1997 году был представлен UltraSPARC II.

Процессоры ARM

История ныне популярных ARM-процессоров, а точнее самой архитектуры ARM, начинается с компании Acorn Computers и ее компьютера BBC Micro. В нем использовался «камень» MOS Technology 6502, однако его производительности было недостаточно, чтобы создать десктоп следующего поколения. По различным причинам другие доступные процессоры также не подходили под требования Acorn, поэтому в компании задумались о создании собственного чипа. После изучения различных архитектур, инженеры Acorn взяли за основу процессоры RISC и все тот же кристалл MOS Technology 6502.


Компьютер BBC Micro

У процессора MOS, например, была позаимствована архитектура доступа к памяти и набор инструкций. Каждая инструкция была дополнена специальным четырехбитным кодом условия. В зависимости от значения кода (true или false) инструкция могла выполняться или не выполняться. Это позволило сократить количество переходов при выполнение операций, которые негативно влияли на производительность конвейерной архитектуры. Также разработчики заложили в первоначальную ревизию архитектуры команды, которые выполняли несколько элементарных операций. Словом, немного отступили от правил RISC. Однако в конечном счете это лишь улучшило производительность процессора.

Разработка архитектуры была завершена в 1985 году созданием процессора ARM. Первые же коммерческие варианты появились в 1986 году и носили название ARM2. По сравнению с CISC-процессорами, ARM2 был очень простым — он содержал всего 30 000 транзисторов. При этом он потреблял очень мало энергии и в то же время был достаточно производительным. Несколько позже появились и ARM-процессоры, в которые были добавлены 4 Кбайт кэш-памяти, что еще больше повысило производительность кристаллов.


Процессор ARM2

К концу 1980-х годов Acorn занималась разработкой архитектуры ARM уже не в одиночку – к ней присоединилась Apple. В связи с этим подразделение, занимавшееся непосредственно ARM-процессорами, было преобразовано в отдельную компанию – Advanced RISC Machines. Первым продуктом новой компании стало процессорное ядро ARM6 и процессор ARM610, который использовался в одном из первых в мире КПК Apple Newton.

Однако ARM-процессоры уже не могли соперничать с CISC-решениями в плане производительности, а в RISC-сегменте господствовали процессоры с архитектурой MIPS. Тогда в ARM пошли иным путем. Компания начала позиционировать ARM6 как встраиваемое ядро, которое любой сторонний производитель мог использовать в своих процессорах за небольшие деньги. Такая политика принесла свои плоды, и ядро ARM стало очень популярным, а сама компания — коммерчески успешной.

Вместе с компанией DEC была разработана архитектура для более производительных ARM-решений под названием StrongARM, которое представляло собой классическую скалярную архитектуру с 5-стадийным конвейером. Архитектура имела блоки управления памятью и поддерживала кэш-память инструкций и данных объемом 16 Кбайт каждая.

Первый процессор на базе StrongARM — SA-110 — был представлен в феврале 1996 года. Он работал на тактовых частотах 100 МГц, 160 МГц или 200 МГц. «Камень» использовался в Apple MessagePad 2000, а также системах Acorn Computer Risc PC и Eidos Optima. На протяжении 1996 года SA-110 оставался самым производительным мобильным процессором.


Apple MessagePad 2000 использовал процессор SA-110

В 1997 году права на архитектуру StrongARM были проданы компании Intel, которая занялась разработкой следующего поколения платформы. В 2000 году оно было представлено, но архитектура (а точнее реализация архитектуры) носила другое название — Xscale. Платформа получила множество изменений. Например, длина конвейера была увеличена до 8 стадий. Объем кэш-памяти как для инструкций, так и для данных увеличился до 32 Кбайт. XScale использовался в таких устройствах, как RIM Blackberry, Dell Axim, мобильном телефоне Motorola A780 и других девайсах.

Процессоры PowerPC

Если быть уж совсем точным, то первой компанией, начавшей разработку RISC-архитектуры, стала IBM. Еще в 1974 году стартовала разработка процессора IBM 801, которая и заложила первые основы для этой платформы. А проект Berkeley RISC окончательно сформировал архитектуру.

В начале 80-х годов некоторые процессоры IBM для встраиваемых систем использовали архитектуру 801. Процессор на его базе также «прописался» в компьютере IBM 9370.

В 1985 году IBM начала разработку RISC-архитектуры следующего поколения. Проект получил название America Project. Разработка процессора и набора инструкций для него закончилась в 1990 году. Сам кристалл получил название POWER1 и использовался в серверах и рабочих станциях IBM. Он обладал достаточно высоким уровнем производительности, но имел многочиповую компоновку и состоял из 11 различных микросхем. В 1992 году IBM представила бюджетный вариант процессора POWER1, который умещался в одном чипе.


Процессор POWER1. Даже, скорее, чипсет

В 1993 году была представлена второе поколение архитектуры POWER2. В него было добавлено по одному дополнительному блоку арифметико-логических операций и вычислений с плавающей запятой. Также был расширен набор команд: например, была добавлена операция вычисления квадратного корня из числа на аппаратном уровне. Тактовая частота процессора варьировалась от 55 МГц до 71 МГц, а кэш-память данных и инструкций — 256 Кбайт и 32 Кбайт соответственно. Как и предшественник, новый процессор имел многочиповую компоновку. Но в мае 1994 года была выпущена и одночиповая версия.

Однако еще до выхода POWER2 IBM вместе с Apple и Motorola образовали альянс AIM и договорились о создании улучшенной архитектуры на основе POWER. В выигрыше остались все три компании, получив один из самых быстрых RISC-процессоров на рынке. Разработанная совместно архитектура получила название PowerPC. Помимо базового набора функций платформы POWER, в нее были добавлены поддержка работы в двух режимах (big-endian и little-endian), новые инструкции для вычислений с плавающей запятой и обратная совместимость с 32-битным режимом работы для 64-разрядной версии архитектуры.


Процессор PowerPC первого поколения

В отличие от других RISC-архитектур, которые занимали узкие ниши рынка, PowerPC позиционировалась как платформа-конкурент x86. Ее основным назначением являлись персональные компьютеры. Так, процессор на базе PowerPC довольно долгое время использовался в компьютерах Apple Macintosh — вплоть до 2006 года.

Архитектура конкурировала наравне с x86 до 2001 года, но после этого угнаться за процессорами Intel и AMD не смогла. Несмотря на это, процессоры на базе PowerPC использовались в игровых консолях Sony PlayStation 3 и Microsoft Xbox 360.


Консоли Sony PlayStation 3 и Microsoft Xbox 360 работают под управлением процессора PowerPC

В 90-е годы IBM успела выпустить третью генерацию процессоров под названием POWER3, которая, по сути, стала реализацией 64-разрядной архитектуры PowerPC. Чип создавался с прицелом на использование в серверах и рабочих станциях, но в итоге его главным применением стали системы IBM RS/6000.

Процессоры DEC Alpha

Архитектура DEC VAX безнадежно устаревала и в начале 90-х в компании задумались о разработке собственной RISC-платформы. Ей стала Alpha, выпущенная в 1994 году. Первым процессором стал Alpha 21064 с кодовым названием EV4. Это 64-разрядный суперскалярный кристалл с конвейерной архитектурой. То есть имел классический RISC-дизайн. Процессор DEC выгодно отличала отлаженная работа всех его блоков. Так, при равной с другими «камнями» частоте EV4 показывал более высокую производительность. Внешняя шина процессора была 128-разрядной. Он имел 16 Кбайт кэш-памяти данных и инструкций и изготавливался с помощью технологии CMOS-4. Тактовая частота EV4 составляла 150 МГц или 200 МГц. Несколько позже появилась модификация под названием 21064A, которая могла работать на скоростях вплоть до 300 МГц, что обеспечило кристаллу звание самого быстрого процессора того времени. Основным применением EV4 стали серверы и рабочие станции.


Процессор Alpha 21064

Alpha 21064A оставался топовой моделью DEC до выхода следующего поколения процессоров — 21164 (EV5). Он обладал двумя целочисленными блоками и двумя модулями вычислений с плавающей запятой. В EV5 было уже три уровня кэш-памяти: два располагались непосредственно в процессоре, а третий был внешним. Кэш-память первого уровня была разделена на две части: кэш данных и кэш инструкций объемом 8 Кбайт каждый. Объем кэш-памяти второго уровня составлял 96 Кбайт. Тактовая частота процессора варьировалась от 266 МГц до 333 МГц. Alpha 21164 перенял пальму первенства у Alpha 21064A и был быстрейшим процессором до выхода Pentium Pro. Тем не менее, ответ DEC не заставил себя долго ждать — компания выпустила более производительный процессор Alpha 21164A, работающий на более высоких тактовых частотах (до 666 МГц). Процессор использовался в рабочих станциях и серверных компьютерах таких компаний, как Digital, Network Appliance и Cray Research.


Процессор Alpha 21264

В 1996 году было представлено следующее поколение процессоров DEC — Alpha 21264 (EV6). Чип получил несколько важных изменений по сравнению с предшествующими моделями. Например, он поддерживал внеочередное исполнение инструкций, что повлекло за собой полную реорганизацию ядра. Целочисленные блоки и блоки загрузки/сохранения были объединены в единый модуль Ebox, а блоки вычислений с плавающей запятой выделены в модуль Fbox. Помимо самих блоков, эти юниты содержали еще и файлы регистров. Структура кэш-памяти опять стала двухуровневой — она пришла на смену трехуровневой организации кэша в Alpha 21164. Кэш первого уровня сохранил разделение на память для инструкций и для данных. Объем каждой части составлял 64 Кбайт. Что касается кэш-памяти второго уровня, то ее объем мог составлять от 1 Мбайт до 16 Мбайт. Плюс процессор получил поддержку предсказания ветвлений. С течением времени выпускались все новые и новые версии процессоров Alpha 21264, в которых, прежде всего, наращивалась тактовая частота. Последней модификацией стал Alpha 21264E, который работал на частоте 1250 МГц.

Увы, но линейка процессоров Alpha 21264 стала последней в истории «независимой» DEC. В начале 1998 года DEC признали банкротом, и она была поглощена компанией Compaq.

Intel i486

При разработке процессоров следующего (читай — четвертого) поколения инженеры Intel столкнулись с серьезными проблемами. Предыдущее поколение интегральных схем достигло потолка производительности, а размещать еще большее количество транзисторов на той же площади не позволяли используемые в то время технологии. Разработчикам ничего не оставалось, кроме как переработать существующую архитектуру, а точнее, дополнить ее. Так, процессоры i486 впервые обзавелись такими компонентами, как кэш-память, конвейер, встроенный сопроцессор и коэффициент умножения (множитель). Благодаря им новое поколение CPU стало быстрее своих предшественников. Но обо всем по порядку.

«Что такое кэш-память?» — наши читатели прекрасно знают ответ на этот вопрос. Она располагается «между» процессором и оперативной памятью и хранит копии самых часто используемых данных из основной памяти. Время доступа к ней намного меньше, чем к основной памяти. Поэтому, когда необходимые данные содержатся в кэш-памяти, среднее время доступа к памяти значительно уменьшается. Процессор i486 получил кэш-память объемом 8 Кбайт. Первые 486-е процессоры работали с кэшем по принципу сквозной записи (Write Through), то есть данные всегда записывались в основную память, даже если они уже присутствовали в кэше. Затем «камни» научились работать с кэшем с помощью функции обратной записи (Write Back). При использовании этого принципа (при наличии их копии в кэше) записывались только в кэш-память, запись в оперативную память не производилась. Процессоры i486 также работали с так называемым внешним кэшем, который располагался на материнской плате. Его объем на то время составлял от 256 Кбайт до 512 Кбайт.


Один из процессоров семейства i486

Наличие кэш-памяти 1-го уровня значительно усложнило сам чип. Процессор i486 содержал почти 1,2 млн транзисторов. Около половины из них приходилось именно на кэш-память. Сложность чипа стала причиной его высокого энергопотребления и тепловыделения. Так, в системах, использовавших i486, впервые стало применяться активное охлаждение. Вдобавок к этому сложность процессора стала причиной увеличения брака при производстве. Следовательно, из-за этого повысилась и себестоимость устройства.

Также в процессорах i486 появились вычислительные конвейеры, суть работы которых заключается в разделении обработки компьютерной инструкции на последовательность независимых стадий с сохранением результатов в конце каждой стадии. Что-то подобное было реализовано еще в Zilog Z8000. Конвейер i486 состоял из пяти ступеней: выборка, декодирование, декодирование адресов операндов, выполнение команды, запись результата выполнения инструкции. Появление конвейеров не только увеличило быстродействие, но и в какой-то степени упростило процессорную архитектуру. Также стоит отметить, что появление конвейеров благоприятно сказалось на разгонном потенциале CPU.

Что касается сопроцессора (FPU, Floating-Point Unit, модуль операций с плавающей запятой), то он представлял собой модуль, помогающий выполнять математические операции над вещественными числами. В i486 он был встроен в сам чип. Однако не все кристаллы четвертого поколения имели интегрированный FPU.

Коэффициенты умножения появились отнюдь не в первых процессорах i486. Модели 486SX и 486DX обходились без него и работали на частоте системной шины. Поддержка множителя появилась лишь в кристалле 486DX2. При частоте системной шины 33 МГц тактовая частота самого процессора составляла 66 МГц. То есть множитель равнялся двум. В 486DX4 коэффициент умножения был увеличен до трех. Вместе с введением множителей появился оверклокинг.


Процессор i486DX

Как и в случае с третьим поколением, изначально Intel вывела на рынок только две модели: 486SX и 486DX. Как мы уже говорили, единственным различием между этими процессорами стало отсутствие встроенного FPU. В остальном кристаллы были полностью идентичны. Кстати, из-за большого процента брака при производстве некоторые модели 486SX представляли собой 486DX с неисправным сопроцессором. Таким образом Intel пыталась сократить издержки производства. Чипы производились по 1-мкм техпроцессу, а чуть позже и по 0,8-мкм технормам. Тактовая частота обеих моделей варьировалась от 25 до 50 МГц. Максимальное энергопотребление достигало отметки в 5 Вт.


Процессор Intel i486SX

Несмотря на то, что Intel все активнее защищала свои разработки патентами, на рынке появилось немало клонов i486. Производством копий занимались AMD, Cyrix, IBM, Texas Instruments и другие.

Основу линейки клонов AMD Am486 составляли модели Am486SX и Am486DX. Процессоры производились по более тонкому 0,7-мкм техпроцессу, а затем в соответствии с 0,5-мкм и 0,35-мкм технологическими нормами. Технически Am486SX и Am486DX были полными аналогами кристаллов Intel. Процессоры, не использовавшие множители, имели частоты от 25 до 40 МГц, а «камни» с коэффициентом умножения работали на тактовой частоте от 66 до 100 МГц.

В 1995 году AMD представила самый быстрый i486-совместимый процессор под названием Am5x86. Кристалл производился по 350-нм техпроцессу и имел 1,6 млн транзисторов. Объем кэш-памяти 1-го уровня был увеличен до 16 Кбайт, а коэффициент умножения был равен 4. Процессор работал с шиной с частотой 33 МГц, то есть тактовая частота самого кристалла составляла 133 МГц. По производительности Am5x86 был сопоставим с процессором Pentium с частотой 75 МГц. Am5x86 был топовым решением AMD до выхода новых процессоров поколения K5.


Процессор-клон от компании AMD

Клоны i486, производимые другими компаниями, ничем особенным не отличались. Они архитектурно повторяли оригинал и, естественно, имели такую же производительность.

Motorola 68020, 68030, 68040

В 1984 году, за несколько месяцев до появления i386, Motorola выпустила свой первый полностью 32-битный чип 68020. Процессор производился по 2-мкм техпроцессу и насчитывал 190 000 транзисторов. Его тактовая частота составляла от 12 до 33 МГц. В сравнении с предшественником 68010 новый процессор получил множество улучшений. Прежде всего, нужно отметить, что «двадцатый» работал с полноценными 32-битными внешними шинами данных и адресов, а также поддерживал новые инструкции и режимы адресации. При этом время выполнения некоторых инструкций было сокращено. Также 68020 стал первым процессором в линейке Motorola 68k со встроенной кэш-памятью первого уровня. Правда, ее объем составлял всего 256 байт. Увы, 68020 не имел встроенного FPU, хотя интерфейс кристалла обеспечивал поддержку до 8 сопроцессоров. Что касается производительности, то при частоте 33 МГц результат составил 5,36 млн инструкций в секунду.

Главной областью применения процессора вновь стали компьютеры Apple: Macintosh II и Macintosh LC. Помимо этого, Motorola 68020 также «прописался» в системах Sun 3, Hewlett-Packard 8711, Sinclair QL и Alpha Microsystems AM-2000.


Компьютер Macintosh LC

Одновременно Motorola представила «урезанный» вариант процессора под названием 68EC020. Так, кристалл обладал 24-битной адресной шиной и поэтому умел адресовать лишь до 16 Мбайт памяти. Kodak и Apple применяли его в своих принтерах, а Commodore — в компьютерах Amiga 1200 и игровых консолях CD32.

В 1987 году в продаже появился следующий процессор компании Motorola — 68030. Он был полностью 32-разрядным. Шина данных в 68030 стала динамической, она могла функционировать в 8-, 16- и 32-битных режимах. Также появился синхронный режим работы шины данных и адресной шины, что увеличило скорость передачи данных. Производительность процессора возросла и за счет дополнительных 256 байт кэш-памяти первого уровня, сокращения времени доступа к кэшу инструкций и добавления блока управления памятью. Как и в случае с моделью 68020, «тридцатый» не имел встроенного сопроцессора. Что касается технических характеристик, то они во многом совпадали с таковыми у предшественника. Тактовая частота процессора варьировалась от 16 МГц до 50 МГц. Во втором случае производительность «камня» составляла порядка 18 миллионов инструкций в секунду.


Процессор Motorola 68030

Источник изображения

68030 применялся всё в тех же компьютерах Apple Macintosh II и Commodore Amiga, а также в системах Next Cube, Sun 3/80, Atari TT и Atari Falcon. Была выпущена и урезанная версия процессора под названием 68EC030.

Процессор Motorola 68040, который стал доступен в 1990 году, привнес намного больше архитектурных изменений, нежели его предшественники. Так, впервые появился встроенный сопроцессор. В «сороковом» сохранилась поддержка блока управления памятью, который появился в предыдущем поколении «камней». Объем кэша-памяти инструкций и кэш-памяти данных был увеличен до 4 Кбайт каждый. Принцип работы процессора основывался на вычислительных конвейерах, которые состояли из шести стадий.

С появлением встроенного сопроцессора и увеличением объема кэш-памяти чип значительно усложнился. При одинаковой частоте производительность модели 68040 превышала скорость CPU прошлых поколений более чем в четыре раза. При этом кристалл сильно грелся, причем разработчики так и не смогли решить эту проблему. Отсюда тактовая частота процессора никогда не превышала отметки 40 МГц, хотя у самой Motorola были планы по запуску 50-мегагерцовой версии.

По своим возможностям Motorola 68040 был сопоставим с Intel i486 и при одинаковой частоте даже превосходил его в скорости. Однако свои обороты в то время набирал оверклокинг, а 486-й выгодно отличался от «мотороловского» чипа как раз своим разгонным потенциалом.

Motorola не забыла и про младшие версии 68040, коих на этот раз оказалось две: 68EC040 и 68LC040. У обеих моделей отсутствовал встроенный сопроцессор, а версия 68EC040 в придачу лишилась блока управления памятью. Несмотря на это, процессоры демонстрировали достойную производительность. Так, 68LC040 не уступал в скорости 68020.


Компьютер Macintosh Quadra

Как и прежде, Apple широко использовала процессоры Motorola в своих компьютерах. Например, 68040 стал основой High-End-системы Macintosh Quadra. Macintosh Centris и Performa также использовали процессоры семейства 68040. Плюс на базе «сорокового» были построены компьютеры Amiga 4000/4000T, а также некоторые серверы Alpha Microsystems и HP.

NEC V60, V70, V80

Японские производители известны тем, что они уделяют очень много внимания внутреннему рынку. С процессорами NEC сложилась примерно такая же ситуация: первое 32-битное решение под названием V60, выпущенное в феврале 1986 года, было доступно лишь в Стране восходящего солнца. Если все предыдущие разработки компании базировались на x86-архитектуре, то теперь дизайн процессоров отчасти напоминал RISC-модель с большим количеством регистров общего назначения. Тем не менее, «камень» унаследовал многое от CISC-архитектуры. Также поддерживалась эмуляция платформы x86.

V60 не был полностью 32-битным — ширина внешней шины данных составляла 16 бит, а адресная шина была 24-разрядной. Сам процессор производился по 1,5-мкм техпроцессу и насчитывал 375 тысяч транзисторов. Он использовал вычислительные конвейеры с шестью стадиями, а также имел встроенный сопроцессор и блок управления памятью. При тактовой частоте 16 МГц производительность V60 составляла 3,5 миллиона инструкций в секунду. Компания Sega использовала этот «камень» в своих аркадных платформах System 32 и Model 1.


Процессоры NEC V60 (нижний ряд, слева) и V70 (нижний ряд, справа)

Спустя год NEC выпустила процессор V70. Новый чип умел работать с полноценными 32-битными шинами данных и адресов — это и было его основным отличием от V60. Поначалу процессор производился по 1,5-мкм техпроцессу, однако потом были освоены и 1,2-мкм технологические нормы. Максимальная тактовая частота V70 составляла 20 МГц. При такой скорости работы производительность чипа составляла 6,6 миллионов инструкций в секунду. Как и предшественник, V70 был не очень популярен, но компания Sega продолжала использовать его в своих платформах.

Весной 1989 года свет увидел процессор V80. Этот кристалл уже имел кэш-память инструкций и кэш-память данных объемом 1 Кбайт каждая, а также блок предсказания ветвлений. Производство кристалла было переведено на 0,8-мкм техпроцесс, а сам чип содержал 980 тысяч транзисторов. Показатель тактовой частоты также вырос: V80 работал на частоте 25/33 МГц. Производительность флагмана составляла 16,5 миллионов инструкций в секунду. В планы NEC входил выпуск V80 с частотой 45 МГц, но проект так и остался на бумаге.

V80 стал последним «камнем» NEC с архитектурой CISC. Далее линейка процессоров, V800, базировалась на RISC-архитектуре.

DEC VAX

В 1985 году DEC предложила свою линейку 32-битных процессоров, основанных на собственной архитектуре VAX. Первой ласточкой стал MicroVAX 78032, который также был первым устройством, изготовленным собственными силами компании. Процессор содержал 125 тысяч транзисторов и изготавливался по 3-мкм технологическим нормам NMOS. При частоте 5 МГц производительность чипа при работе с целыми числами была сопоставима со скоростью суперминикомпьютера VAX-11/780, выпущенного в 1977 году. Для ускорения операций с числами с плавающей запятой в дуэте с MicroVAX 78032 предлагалось использовать сопроцессор MicroVAX 78132. Кристалл 78032 применялся в компьютерах DEC, начиная с модели MicroVAX II.


Компьютер DEC MicroVAX II

А в 1987 году был представлен процессор CVAX — следующее поколение «камней» с архитектурой VAX. Хотя это решение правильнее называть не CPU, а чипсетом. CVAX состоял из самого процессора с индексом 78034, сопроцессора для ускорения вычислений с плавающей запятой CFPA и различных микросхем поддержки (например, контроллера памяти и контроллера шины Q-Bus).

Тактовая частота VAX 78034 составляла 11,11 МГц или 12,5 МГц. Производился процессор с помощью технологии CMOS первого поколения. Кристалл получил общую кэш-память инструкций и данных объемом 1 Кбайт. В то время как решения Intel и Motorola использовали в качестве кэша SRAM-память, кэш процессоров DEC использовал память типа DRAM. Также 78034 поддерживал 64 Кбайт внешней кэш-памяти. Первые системы, использующие CVAX, появились в 1987 году. Среди них были как высокопроизводительные решения (VAX 6000 Model 200), так и Low-End миникомпьютеры MicroVAX 3500.


Чипсет DEC CVAX

Последним чипсетом, который успела выпустить компания DEC в 80-е годы, стал DEC Rigel. Как и CVAX, он состоял из процессора (REX520), сопроцессора DC523, контроллера кэш-памяти DC592 и микросхем поддержки. Объем кэш-памяти памяти уровня был увеличен до 2 Кбайт, а величина внешнего кэша составляла 128 Кбайт. REX520 изготавливался с помощью технологии CMOS второго поколения и содержал 320 тысяч транзисторов, больше половины из которых приходились именно на кэш-память. Как и предшественники, процессор нашел применение только в системах DEC (VAX 6000 Model 300/400 и VAXstation 3100 Model 76).

 

 


Процессор AMD Am386DX

Что касается клона 386SX — модели Am386SX, — то она была не столько обычной копией, сколько переработанной версией «интеловского» кристалла. Так, чип производился по более тонкому 0,8-мкм техпроцессу и использовал статическое ядро, которое позволило добиться энергоэффективной работы процессора. В среднем Am386SX был на 35% экономичнее, нежели оригинальный 386SX. И даже экономичнее, чем разработанный специально для портативных устройств процессор 386SL. При этом тактовые частоты Am386SX были, как правило, выше, чем у 386SX (максимальная тактовая частота составляла 40 МГц).

Кстати, несмотря на то, что Am386SX является клоном «интеловского» чипа, он считается первой самостоятельной разработкой AMD. Да и после запуска линейки Am386 AMD по праву стали считать одним из конкурентов Intel.


Процессор AMD Am386SX

Свое применение в лэптопах и недорогих настольных системах получили клоны i386, произведенные компанией Cyrix. Линейка «камней» состояла из двух моделей: 486SLC и 486DLC. Несмотря на индекс в названии, процессоры были копиями 386SX и 386DX соответственно. Тем не менее нужно отметить, что решения Cyrix получили поддержку набора инструкций i486. Интересной архитектурной особенностью линейки стало наличие кэш-памяти первого уровня объемом 1-8 Кбайт. Что касается тактовой частоты процессоров, то ее максимальный показатель составлял 40 МГц, как и в случае с AMD Am386. При этом энергопотребление Cx486 находилось на очень низком уровне. Процессоры не смогли составить достойной конкуренции линейке AMD. С течением времени Intel снижала цены на свою продукцию, и i486 удалось окончательно вытеснить кристаллы Cyrix.


Процессор Cyrix 486DLC

Не осталась в стороне от производства клонов и компания IBM. В 1991 году она представила процессоры 386SLC и 386DLC, которые были клонами 386SX и 386DX, соответственно. Они использовались в настольных компьютерах IBM PS/2 и PS/ValuePoint, а также в лэптопе IBM ThinkPad.


Лэптоп IBM ThinkPad

Помимо вышеперечисленных моделей, Intel выпустила процессоры для встраиваемых систем: 80376 и 386EX. Первый кристалл увидел свет в январе 1989 года. От 386SX он отличался отсутствием поддержки реального режима работы («камень» работал только в защищенном режиме) и процесса замещения страниц в блоке управления памятью. Тактовая частота 376-го составляла 16/20 МГц.

Через 5 лет на смену 80376 пришел 386EX. Процессор поддерживал 26-битную адресацию памяти, имел статическое ядро, которое обеспечивало высокую энергоэффективность, и множество периферийных устройств: например, счетчики, таймеры и контроллер прерываний. В основном 386EX использовался в компьютерных системах различных орбитальных спутников, а также в проекте NASA под названием FlightLinux.

Архитектура Intel P5

Процессоры с архитектурой RISC в своем большинстве заняли свою специализированную нишу, однако в настольных системах все равно продолжали использоваться кристаллы с архитектурой x86. Их развитие продолжалось, пусть и с некоторыми изменениями.

Несмотря на то, что Intel вышла на рынок RISC-процессоров со своими решениями i860 и i960, основную ставку в компании все же делали на x86-кристаллы. Следующим поколением «камней» стали всем известные Pentium на базе архитектуры P5, выпущенные в 1993 году.

Была проделана большая работа. Во-первых, P5 стала суперскалярной. Архитектура работала с помощью двух конвейеров, каждый из которых мог выполнять две операции за такт. Во-вторых, шина данных стала 64-битной, что позволило передавать вдвое больший объем данных за цикл. В-третьих, кэш-память данных и инструкций была разделена на два отдельных блока объемом 8 Кбайт каждый. Помимо этого, в процессор был добавлен блок предсказания ветвлений, а модуль вычислений с плавающей запятой стал более производительным.

Первые процессоры линейки Pentium работали на частотах 60 МГц или 66 МГц. При этом для их работы требовалось напряжение 5 В, поэтому они сильно грелись. Также первые «пни» прославились неправильной работой блока вычислений с плавающей запятой, который в некоторых случаях при выполнении деления чисел выдавал неверный результат. Поэтому вскоре Intel запустила в продажу процессоры с исправленной архитектурой P54C.


Процессор Intel Pentium

P54C стала своего рода работой над ошибками. Производство новых процессоров было переведено на 0,6-мкм техпроцесс. Сами кристаллы теперь работали с напряжением 3,3 В, что позволило решить проблему с перегревом. Что касается изменений на уровне архитектуры, то в P54C был добавлен полуторный множитель — отныне процессоры работали на более высокой частоте, чем системная шина. Скорость работы процессоров составляла 75 МГц, 90 МГц или 100 МГц. Также P54C устанавливались в разъемы Socket 5 или Socket 7. В отличие от P5, которые поддерживали только Socket 4. Сама архитектура P54C еще раз получила обновление в 1995 году, когда была переведена на 350-нм техпроцесс. Это позволило вновь снизить энергопотребление кристаллов, а также увеличить их тактовую частоту до 200 МГц.


Процессор Pentium MMX

Источник изображения

В 1996 году P5 получила последнее обновление — P55C. Ключевым нововведением стала поддержка набора команд MMX (MultiMedia eXtension), которые значительно увеличили производительность архитектуры при работе с мультимедиа. А новые процессоры так и именовались — Pentium MMX. Однако это стало не единственным улучшением платформы. Объем кэш-памяти первого уровня был увеличен до 32 Кбайт, а производство Pentium MMX было переведено на 0,28-мкм техпроцесс. Это позволило нарастить частоту процессоров до 233 МГц. На этом развитие ядра P5 для настольных систем завершилось.

Архитектура AMD K5

Как мы уже говорили в предыдущих частях материала, с момента своего основания AMD занималась производством клонов процессоров Intel. В начале 90-х дубликаты AMD были настолько хороши, что компанию начали рассматривать как серьезного игрока на рынке.


Процессор AMD K5

В это время AMD уже занималась разработкой первой собственной архитектуры. И в 1996 году была представлена платформа K5, которая должна была составить конкуренцию Intel Pentium. Архитектура представляла собой RISC-ядро, но работала со сложными CISC-инструкциями. Это было возможно благодаря наличию в процессоре транслятора, который разбивал длинные инструкции на простые RISC-операции. Все K5 имели пять целочисленных блоков и один блок вычислений с плавающей запятой. Также архитектура предусматривала наличие блока предсказаний ветвлений, размер которого был в четыре раза больше, чем у Pentium. Объем кэш-памяти инструкций составлял 16 Кбайт, а данных — 8 Кбайт. Тактовая частота процессоров варьировалась от 75 МГц до 133 МГц. Несмотря на то, что по многим характеристикам архитектура превосходила Pentium, на практике процессоры K5 уступали решениям Intel и не получили широкого распространения.

Архитектура Intel P6

В 1995 году на смену архитектуре P5 пришла, вы ни за что не поверите, архитектура P6 — CISC-платформа с RISC-ядром. Для разбиения сложных операций на простые в процессорах имелся специальный декодер. P6 являлась суперскалярной и поддерживала изменения порядка выполнения операций. Ее конвейер имел целых 12 стадий. Также в архитектуре был предусмотрен блок предсказания ветвлений. Процессоры использовали двойную независимую шину, которая значительно увеличила пропускную способность памяти. P6 имела самый производительный на то время блок вычислений с плавающей запятой.

В том же 1995 году были представлены процессоры следующего поколения Pentium Pro. Кристаллы работали на частоте 150-200 МГц, имели 16 Кбайт кэш-памяти первого уровня и до 1 Мбайт кэша второго уровня. Нужно отметить, что Pentium Pro не поддерживал набор инструкций MMX. Во многом из-за этого чипы уступали в производительности процессорам Pentium в 16-битных приложениях. В настольном сегменте Pentium Pro откровенно провалились, и вскоре Intel «переквалифицировала» их в серверные. А для обычных пользователей в 1997 году были представлены Pentium II.

Второе поколение «пней» базировалось на том же ядре P6 (с кодовым именем Klamath), которое использовалось в процессорах Pentium Pro. По сравнению с Pentium у второго поколения кристаллов объем кэш-памяти первого уровня был увеличен до 32 Кбайт. Были добавлены и инструкции MMX. Учитывая низкую производительность Pentium Pro в 16-битных приложениях, были внесены изменения в архитектуру с прицелом как раз на повседневную работу. В итоге производительность в 16-разрядных программах увеличилась на треть. Максимальная частота процессоров Klamath составляла 300 МГц.


Процессор Intel Pentium Pro

В 1998 году в продаже появились процессоры с улучшенным ядром P6 (Deschutes). Они стали менее горячими. При этом частотный потенциал моделей увеличился. Так, Deschutes могли работать на частоте 450 МГц. Кстати, в линейке Pentium II впервые произошла дифференциация: серверные и Low-End-процессоры начали продаваться под отдельными брендами: Xeon и Celeron соответственно.

В 1999 году были представлены первые процессоры Pentium III. Они базировались на новой генерации ядра P6 под названием Katmai, которые являлись модифицированными версиями Deschutes. В ядро была добавлена поддержка инструкций SSE, а механизм работы с памятью был улучшен. Тактовая частота процессоров Katmai достигала 600 МГц.


Процессор Intel Pentium III

В конце 1999 года на смену Katmai пришло ядро Coppermine. Новые процессоры выпускались по 180-нм техпроцессу и имели интегрированную кэш-память второго уровня. в отличие от Katmai, у которого она была вынесена за пределы процессора. Частота процессоров достигала уже 1,13 ГГц.

Архитектура AMD K6

После неудачи архитектуры K5 AMD была полна решимости создать достойного конкурента процессорам Intel. В компании пошли нестандартным путем — в 1996 году фирма приобрела небольшого разработчика x86-процессоров NexGen и выпустила их проект Nx686 как K6.

Новая архитектура серьезно отличалась от K5. Процессоры K6 поддерживали изменение порядка выполнения инструкций, набор команд MMX и блок вычислений с плавающей запятой. Как и K5, новая платформа являлась суперскалярной архитектурой CISC с RISC-ядром. Первые процессоры K5 производились по 350-нм и 250-нм техпроцессу, обладали 64 Кбайт кэш-памяти первого уровня и работали на частотах, разбросанных в диапазоне 166-300 МГц.

В 1998 году AMD выпустила «камни» с улучшенной архитектурой K6-2. Новые кристаллы конкурировали с самыми производительными моделями Pentium II. Процессоры получили поддержку набора SIMD-инструкций 3DNow!, который повысил производительность в вычислениях с плавающей запятой, а также увеличенный до 64 Кбайт кэш первого уровня. Максимальная частота чипа составляла 550 МГц. K6-2 была коммерчески успешной архитектурой, которая обеспечила AMD столь необходимую для дальнейшего существования финансовую стабильность.


Процессор AMD K6-2

В 1999 году свет увидела третья генерация архитектура K6 — K6-III. Процессоры рассматривались как конкурент Pentium III. Решения AMD действительно обеспечивали такой же уровень производительности при меньшей стоимости. Сама же суть архитектуры K6-III была проста. Так, кристалл сохранил все «фишки» K6-2, но при этом получил встроенную кэш-память второго уровня объемом 256 Кбайт. Объем кэша первого уровня составлял 64 Кбайт. На K6-III развитие архитектуры K6 завершилось. В том же 1999 году ее сменила платформа K7.

оров, и поэтому вскоре свет увидел «урезанный» кристалл 386SX. Чип был выпущен в 1988 году и в итоге стал самым популярным в линейке i386. По своей архитектуре он был полным аналогом версии DX, за исключением шин данных и адресов. Так, вместо 32-битной внешней шины данных использовалась 16-битная. Разрядность внешней адресной шины составляла 24 бит. При этом сам процессор оставался полностью 32-разрядным. Урезание внешней шины данных привело к тому, что обмен информации с 386SX осуществлялся на вдвое меньшей скорости, чем в случае с 386DX. Это снизило производительность кристалла примерно на 25%.


Процессор i386SX

Первые 386SX имели частоту 16 МГц, которая затем повышалась до 20, 25 и 33 МГц соответственно. Версия SX предназначалась для настольных компьютеров начального уровня и портативных систем. На деле же процессор «прописался» в огромном количестве домашних и офисных систем.

Кроме модификаций SX и DX, был представлен один из первых энергоэффективных процессоров 386SL, предназначенный в первую очередь для лэптопов. «Камень» имел частоту 20 или 25 МГц и (в отличие от 386SX) содержал множество встроенных контроллеров: например, контроллер оперативной памяти, контроллер шины и контроллер внешней кэш-памяти, объем которой варьировался от 16 до 64 Кбайт. К тому же 386SL поддерживал различные «спящие» режимы, а также режимы системного управления (System Management Mode).

Итак, мы рассказали о том, что собой представляли RISC-процессоры, а также углубились в технические детали чипов, произведенных в 90-е годы прошлого века. Вы уже обратили внимание, что в это время появилось множество интересных разработок. К тому же это десятилетие положило начало долгому и интересному соперничеству AMD и Intel, которое продолжается по сей день. О том, как эволюционировали процессоры, произведенные в этом веке, вы узнаете в следующей, заключительной части цикла.

AMD K7

Дебют архитектуры AMD K7 и процессоров Athlon пришелся на август 1999 года. Американская компания ставила перед собой всё более и более серьезные задачи, поэтому ожидания пользователей от новой разработки были довольно высоки, особенно учитывая просачивающуюся в прессу информацию о технических характеристиках.

Еще задолго до того, как компания выпустила платформу K7, AMD и Motorola заключили партнерское соглашение, в рамках которого для производства новых процессоров могли использоваться фабрики Motorola. Результатом их сотрудничества стала технология производства кристаллов с применением медных соединений.

За разработку архитектуры K7 отвечал новичок AMD — Дирк Мейер. На то время будущий CEO AMD лишь недавно присоединился к компании. До этого он работал в компании DEC и непосредственно участвовал в разработке процессоров Alpha.


Дирк Мейер — будущий CEO AMD

Влияние DEC’овских процессоров на K7 чувствовалось сразу. Архитектура была разработана с прицелом на работу с высокой тактовой частотой. Для этого использовалась суперконвейерная суперскалярная модель. Платформу назвали суперконвейерной, поскольку число стадий конвейера увеличилось. Например, конвейер целочисленных операций состоял из 10 стадий, а модуль операций с плавающей запятой — из 17. Суперскалярность же заключалась в том, что Athlon умел обрабатывать до трех инструкций параллельно.

Ахиллесовой пятой архитектуры предыдущего поколения — K6 — была низкая производительность модуля вычислений с плавающей запятой (FPU). Так, процессоры AMD значительно уступали «Пентиумам». Не помогла тем «камням» и поддержка инструкций 3DNow!. Поэтому в K7 блок FPU был полностью переработан. Он стал трехконвейерным и содержал модули FMUL, FADD и FSTORE, которые могли работать как по отдельности, так и вместе. Блоки FMUL и FADD отвечали за выполнение инструкций MMX и 3DNow!. Первый модуль специализировался на операциях умножения, деления и вычисления квадратного корня из числа, а второй — на сложении и вычитании. Третий блок — FSTORE — обеспечивал доступ к оперативной памяти.

Раз уж мы упомянули инструкции 3DNow!, то стоит отметить, что в «Атлонах» этот набор команд был расширен. Новая версия 3DNow! получила 19 новых инструкций, предназначенных для обработки видеоданных и речи.

Еще одним нововведением в K7 стало использование шины данных EV6. Данный интерфейс являлся еще одной прямой отсылкой к процессорам компании DEC, поскольку он использовался в моделях Alpha. По сравнению с шиной GTL+, которая использовалась в архитектуре Intel P6, EV6 обладала несколькими преимуществами. Во-первых, использование технологии DDR (Double Data Rate) позволило передавать данные по обоим фронтам тактового сигнала. То есть при реальной частоте шины 100 МГц на выходе получалась вдвое большая эффективная частота — 200 МГц. Это позволило лучше использовать потенциал оперативной памяти. Во-вторых, благодаря поддержке протокола «точка-точка» EV6 идеально подходила для построения многопроцессорных систем.

Кэш-память «Атлонов» также претерпела определенные изменения. Прежде всего, нужно заметить, что процессорный кэш состоял из двух уровней. «Мозги» 1-го уровня подразделялась на блоки инструкций и данных. Объем каждого модуля составлял 64 Кбайт, что в сумме давало 128 Кбайт. Например, у Pentium III емкость кэша первого уровня составляла всего 32 Кбайт. Количество кэш-памяти 2-го уровня в архитектуре K7 равнялось 512 Кбайт, но он работал на вдвое или втрое меньшей частоте, нежели сам процессор. Это объяснялось тем, что SRAM-память была вынесена за пределы кристалла.


Процессор Athlon, Slot A

Первые процессоры Athlon базировались на ядре Pluto, которое производилось по 250-нм техпроцессу. «Камень» содержал порядка 22 миллиона транзисторов. «Атлоны» с ядром Pluto устанавливались в разъем Slot A. Несколько позже появились кристаллы, основанные на ядре Orion, которое производилось по 180-нм техпроцессу. И это было его единственным отличием от Pluto.

Интересные изменения процессоры получили после выхода 180-нм ядра Thunderbird. Во-первых, отныне продукты AMD были совместимы с разъемом Socket A. Во-вторых, они претерпели и существенные архитектурные изменения. Кэш-память 2-го уровня была перенесена непосредственно в процессорное ядро и работала на одинаковой с ним частоте. Несмотря на то, что ее объем уменьшился до 256 Кбайт, скорость ее работы возросла. Помимо этого, была увеличена тактовая частота системной шины. Теперь она функционировала с частотой 133 МГц, то есть ее эффективный показатель равнялся 266 МГц.

Кстати, AMD’шные процессоры первыми смогли преодолеть гигагерцевый рубеж. 6 марта 2000 года Athlon с ядром Thunderbird стал первым «камнем» в истории с рабочей частотой 1 ГГц. Но и это не стало пределом для архитектуры K7, так как чуть позже появились модели, которые функционировали на частоте 1400 МГц.


Гигагерцевый Athlon для разъема Slot A

 

Несмотря на коммерческий и технологический успех K7, архитектура была далеко не идеальна. Основной ее проблемой являлся медленный кэш 2-го уровня — даже после того, как он был перемещен в кристалл, его производительность оставляла желать лучшего. Также недостатком первых «Атлонов» считалось отсутствие поддержки «интеловского» набора инструкций SSE. Эти команды были своего рода аналогом инструкций 3DNow!, и подавляющее большинство приложений «затачивалось» именно под SSE. По этой причине процессоры Athlon зачастую уступали в производительности кристаллам Intel.

Эти недостатки были исправлены в новом ядре Palomino, на базе которого выпускались решения Athlon XP (eXtra Performance). Кроме поддержки SSE и более быстрого кэша 2-го уровня, кристаллы наконец-то обзавелись термодатчиком для отслеживания температуры. Ядро Palomino производилось по 180-нм техпроцессу, но в сравнении с предшественниками стало сложнее и содержало почти 38 миллионов транзисторов. Большинство моделей Athlon XP устанавливались в разъем Socket A, хотя существовали и переходные варианты для Slot A. Максимальная тактовая частота Palomino составляла 1733 МГц.


Процессор Athlon XP для Socket A

Отметим, что с выходом Athlon XP компания AMD ввела рейтинговую систему обозначения процессоров. Так, индекс любой модели отныне не отображал реальную тактовую частоту ядра. Например, Athlon XP 2000+ функционировал со скоростью 1667 МГц и был сопоставим по производительности с процессором Pentium 4 с частотой 2000 МГц.

Ядро Palomino было представлено в октябре 2001 года, и уже спустя 9 месяцев на смену ему пришли процессоры Thoroughbred (Tbred-A). Это решение представляло собой то же ядро Palomino, но выпущенное по 130-нм технологическим нормам. AMD неожиданно испытала проблемы с наращиванием тактовой частоты в новых процессорах, поэтому через два месяца появилась новая ревизия Thoroughbred — Tbred-B. По архитектурному дизайну Tbred-A немного отличалась от Tbred-B, но это позволило достичь обновленному ядру частоты 2200 МГц. В Thoroughbred также была увеличена до 166 МГц частота системной шины.

Последним пришествием архитектуры K7 стало ядро Barton, выпущенное в 2003 году. Процессоры отличались от Thoroughbred лишь увеличенным до 512 Кбайт кэшем 2-го уровня. Barton лишь незначительно превосходил в производительности Tbred-B, и компания AMD поспешила вывести на рынок свою новую архитектуру под названием K8.

Intel NetBurst

Вспоминая архитектуру Intel P6, нельзя сказать, что она окончательно исчерпала свой потенциал к концу своего жизненного цикла. Вполне возможно, что, внеся определенные изменения, можно было получить более производительные процессоры на ее базе. Но инженеры Intel думали иначе и создали абсолютно новую архитектуру под названием NetBurst, которая в 2000 году заменила P6.

Так же как и AMD K7, NetBurst разрабатывалась с расчетом на высокие тактовые частоты. Поэтому в основе архитектуры лежал принцип гиперконвейеризации, которая, грубо говоря, являлась аналогом технологии суперконвейера в K7. Поэтому процессоры NetBurst аналогично имели конвейер с большим количеством стадий. В первых ревизиях NetBurst — ядрах Willamette и Northwood — он имел глубину в 20 стадий. В более поздних версиях — Prescott и Cedar Mill — мог похвастать уже 31 стадией. Сюда не входили этапы декодирования инструкций, поскольку сам декодер был вынесен за пределы конвейера. И если раньше сложные операции декодировались на лету, то в NetBurst разбиение инструкций происходило на стадии копирования кода в кэш-память 1-го уровня.


Логотип процессоров Pentium 4

К слову, о кэш-памяти. Она в NetBurst была другого типа. Так, на смену традиционной памяти пришел кэш последовательностей микроопераций (кэш трасс, Trace Cache), хранящий декодированные трассы инструкций, что позволяло декодеру не обрабатывать заново недавно выполненные операции. Такой подход позволил увеличить пропускную способность загрузки инструкций, а также снизить тепловыделение процессора. Объем кэша в NetBurst составлял 12 тысяч микроопераций. А сама память работала на уполовиненной (относительно тактовой) частоте.

Помимо всего прочего, была изменена конструкция арифметико-логических устройств. АЛУ было разделено на 3 блока. Одним из них являлось «медленное АЛУ», работающее с всеми целочисленными операциями. Два остальных — «2X АЛУ», выполняющие лишь элементарные операции (например, сложение). Блок предсказания ветвлений также был доработан. В сравнении с таким же модулем архитектуры P6, количество ошибок при вычислениях сократилось на 33%.

Первое ядро с архитектурой NetBurst, носившее название Willamette, работало на частоте до 2 ГГц с частотой системной шины 400 МГц. Жизненный цикл его был недолгим. В январе 2002 года ему на смену пришли процессоры Northwood. В отличие от 180-нм ядра Willamette, эти кристаллы изготавливались по 130-нм техпроцессу. Также они получили увеличенный до 512 Кбайт объем кэш-памяти 2-го уровня и поддержку технологии мультипоточности Hyper-Threading. Тактовая частота Northwood варьировалась от 1,6 ГГц до 3,4 ГГц.


Процессоры Northwood поддерживали технологию Hyper-Threading