Процессоры — история и их устройство

ПРОЦЕССОРНАЯ ТЕХНОЛОГИЯ «ТЕРАГЕРЦ»
В конце 2002 года Intel Corporation объявила, что ее инженеры разработали инновационную структуру транзисторов и новые материалы, позволяющие снизить потребление энергии и выделение тепла. Новые структуры получили название Intel TeraHertz transistor (терагерц-транзисторы), в связи с их способностью переключаться со скоростью выше триллиона раз в секунду.

Терагерц-транзистор отличается от обычного тремя важными моментами:

источник и сток образуются из более толстых слоев в кремниевой пластине, что уменьшает электрическое сопротивление, потребление электроэнергии и тепловыделение;
ниже источника и стока помещается сверхтонкий слой изолятора. Это обеспечивает более высокие интенсивности тока в открытом состоянии транзистора и увеличивает скорость переключения. Кроме того, изолятор понижает утечки тока при закрытом транзисторе (в 20 тыс. раз по сравнению с SOI). Это уменьшает вероятность случайного переключения под влиянием блуждающих тепловых электронов и повышает надежность схемы;
химическое соединение, расположенное между затвором, источником, стоком, заменяется на новый материал high-k gate dielectric (оксид алюминия или титана), для нанесения которого используется технология наращивания слоя по одной молекуле.
Эти архитектурные новшества преследуют основную цель — более эффективное использование электричества.

ПЕЧАТНЫЕ ПЛАТЫ ДЛЯ ПРОЦЕССОРОВ
Плата, или printed circuit board, — изоляционная пластина, на которой устанавливаются и соединяются друг с другом электронные элементы, перечисленные выше, и приборы меньшей степени интеграции — отдельные транзисторы, резисторы, конденсаторы и другое

Печатная плата изготавливается из пластмассы, гетинакса, текстолита либо другого изолятора (керамика). На плате с одной либо с обеих сторон размещаются интегральные схемы, резисторы, диоды и другие полупроводниковые приборы. Для их соединения на поверхности платы наносятся тонкие электропроводящие полоски. Печатная плата может быть двух- либо многослойной. Подробнее далее.

Существует несколько технологий монтажа элементов (в том числе и интегральных схем) на печатных платах. Наиболее старая из них — монтаж в сквозные отверстия. Здесь элементы создаваемой схемы устанавливаются с одной стороны платы. Вслед за этим появился способ укладки интегральных схем прямо на поверхности этой платы. Вначале интегральные схемы припаивались к печатным платам. Теперь все чаще они приклеиваются без использования припоя. Малая высота интегральных схем, монтируемых на поверхность, позволяет устанавливать их на обеих сторонах платы.

Еще большие возможности миниатюризации предоставляет монтаж кристаллов на небольшие платы. Здесь компактно расположенные кристаллы прикрепляются с помощью приварки их проволочных выводов. При этом исключается один из самых дорогих компонентов многокристальных модулей — керамическая подложка. Монтируемые на печатную плату кристаллы могут иметь толщину всего 2 миллиметр, что используется, например, при создании компьютерных карточек.

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

Усложнение печатной платы ведет к повышению выделяемого на ней тепла. Поэтому появились так называемые холодные печатные платы. С целью охлаждения каждая пара печатных плат поверхностями интегральных схем прижимается к «своей» плоской металлической коробке того же размера, а внутри коробки прокачивается специальная охлаждающая жидкость. Для лучшего охлаждения интегральные схемы покрываются теплопроводящим эластичным компаундом и прижимаются к поверхности коробки.

Для решения задач трассировки соединений на печатных платах применяются средства автоматизированного проектирования (САПР) — программы трассировщики.

СИСТЕМНАЯ, МАТЕРИНСКАЯ ПЛАТА
Системную плату также называют главной (Mainboard) или материнской (Motherboard) платой (иногда — объединительной платой). Это — основная монтажная схема внутри персонального компьютера, на которой находятся процессор, память, слоты расширения и которая непосредственно или косвенно присоединяется к каждой части персонального компьютера. Проекты персональных компьютеров сегодня используют много различных шин, чтобы связать их компоненты. Широкие, высокоскоростные шины трудны и дороги для производства: сигналы идут с такой частотой, что даже расстояние в несколько сантиметров создает проблемы задержки сигнала, в то время как металлические дорожки на монтажной схеме действуют как миниатюрные радиоантенны, передавая электромагнитный шум, который искажает сигналы в других местах системы. По этим причинам разработчики персональных компьютеров стараются разместить самые быстрые шины в ограниченной области системной платы и использовать более медленные шины для других частей.

СОПРОЦЕССОРЫ
Для расширения вычислительных возможностей центрального процессора — выполнения арифметических операций, вычисления основных математических функции (тригонометрических, показательных, логарифмических) и так далее — в состав ЭВМ добавляется математический сопроцессор. Применение сопроцессора повышает производительность вычислений в сотни раз. В разных поколениях процессоров он назывался по-разному — FPU (Floating Point Unit — блок чисел/операций с плавающей точкой — БПЗ) или NPX (Numeric Processor extension — числовое расширение процессора).

РАЗРЯДНОСТЬ ПРОЦЕССОРОВ
В «романтические» 2980-е годы соответствие между типом ЭВМ и ее разрядностью имело простейший вид:

микроЭВМ — 8 разрядов;
мини-ЭВМ — 26 разрядов;
большие ЭВМ — 32 разряда;
сверхбольшие (супер) ЭВМ — 64 разряда.
В процессе развития микропроцессоров Intel рубежи в 26 и 32 разряда (IA-32) были преодолены довольно быстро, а примерно в 2004 году произошел переход и на 64-разрядные архитектуры в процессорах Intel и AMD.

Преимущества 64-битовой архитектуры микропроцессоров главным образом относятся к памяти. Если взять два идентичных микропроцессора, то если один из них будет 32-битовым, а другой — 64-битовым, то последний сможет адресовать намного больший объем памяти, чем 32-битовый (264 против 232). Известны следующие архитектуры на 64 разряда (64-bit architecture).

IA-64. Спецификация IA-64 означает «Архитектура Intel, 64 бита», но связь с IA-32 — только по названию. Архитектура IA-64 несовместима непосредственно с набором команд IA-32. Здесь появляется полностью отличный набор команд, а также используются принципы VLIW. IA-64 — архитектура, используемая линией процессоров Itanium.

Усовершенствования:

в 26 раз увеличено количество РОН и ПЗ (теперь по 228);
механизм переименования /ротации регистров, чтобы сохранять значения в регистрах при вызове функций.
AMD64. Набор команд AMD64, первоначально названный х86-64, в значительной степени построен на основе IA-32 и таким образом обеспечивает наследственность семейства х86. При расширении набора команд AMD воспользовался возможностью, чтобы очистить часть его от ряда «устаревших» команд — наследия «26-разрядных времен».

Усовершенствования:

в 2 раза увеличено количество РОН и SSE (теперь по 26);
РОН теперь действительно регистры общего назначения и ничем больше не ограничены.
Архитектура использована в центральном процессоре Athlon 64, Athlon 64 Х2, Athlon 64 FX, Opteron, Turion 64, Turion 64 X2, Sempron («Palermo», «Manila»).

EM64T (Extended Memory 64-bit Technology, или Intel 64) — набор команд (ранее известный как Yamhill), объявленный Intel в феврале 2004 года, в подражание AMD64. ЕМ64Т в целом совместим с кодами, написанными для AMD64, хотя и имеет ряд недостатков сравнительно с AMD64.

Intel начал использовать набор ЕМ64Т, начиная с центрального процессора Xeon (ядро Nocona) в конце 2004 года, а затем вышел с ним на рынок настольных персональных компьютеров в начале 2005 года (Pentium IV, версия Е0).

EMT/Intel 64 используется в центральных процессорах архитектуры Intel NetBurst — Хеоп («Nocona»), Celeron D («Prescott» и далее), Pentium 4 («Prescott» и далее), Pentium D, Pentium Extreme Edition и архитектуры Intel Core — Xeon («Woodcrest»), Intel Core 2.

Поскольку AMD64 и EMT64 почти не различаются, для ссылки на них используются нейтральные названия — х86-64, х86_64 (Linux и Apple`s Mac OS X), х64 (Microsoft и Sun Microsystems).

ПРОЦЕССОРЫ MMX (MULTIMEDIA EXTENSION)
MMX (MultiMedia extension) — архитектура системы команд (57 команд для ФЗ), непосредственно предназначенных для задач мультимедиа, связи и графических приложений, которые часто используют сложные алгоритмы, исполняющие одинаковые операции на большом количестве типов данных (байты, слова и двойные слова). Анализ участков таких программ с большим объемом вычислений показал, что такие приложения имеют следующие общие свойства, определившие выбор системы команд и структуры данных:

небольшая разрядность целочисленных данных (например, 8-разрядные пиксели для графики или 26-разрядное представление речевых сигналов);
небольшая длина циклов, но большое число их повторений;
большой объем вычислений и значительный удельный вес операций умножения и накопления;
существенный параллелизм операций в программах.
Это и определило новую структуру данных и расширение системы команд. При этом было достигнуто общее повышение производительности на 20-20%, а в программах обработки мультимедиа — до 60%.

В процессоре Pentium ММХ (1996 год) появляются 8 новых 64-разрядных «регистров» с именами MM0-MM7 (или же ММn), в действительности эти новые «регистры» были только псевдонимами для регистров стека ПЗ х87. В связи с тем, что каждый из регистров стека содержит 80 бит, старшие 26 бит регистров стека оказываются неиспользованными в ММХ. Поэтому в режиме ММХ они заполняются всеми единицами, что позволяет отличать данные формата плавающей запятой от ММХ данных.

Каждый из регистров MMn предназначен для целых чисел на 64 бита. Однако главным понятием набора команд ММХ является концепция упакованных типов данных (несколько коротких чисел, размещенных в одном регистре или машинном слове).

ММХ команды используются в центральном процессоре, начиная с Pentium ММХ (AMD К6).

АРХИТЕКТУРА ПРОЦЕССОРА 3DNOW
Архитектура 3DNow! впервые реализована в процессорах AMD К6-2 (май 1998 года). Технология 3DNow! включает 22 дополнительную команду, новые типы данных и использует регистры ммп (MM0-MM7) для поддержки высокопроизводительной обработки ЗD графики и звука.

В то время как архитектура ММХ предполагает целочисленную арифметику, векторные команды 3DNow! параллельно обрабатывают две пары 32-разрядных вещественных операндов одинарной точности.

Процессор может выполнять две 3DNow! команды за такт и, следовательно, 4 операции над числами с ПЗ одновременно. Технология 3DNow! предполагает наличие в центрального процессора для выполнения векторных ММХ и 3DNow! операций нескольких устройств (пара умножителей, сумматоров и так далее). Все команды 3DNow! имеют длительность исполнения 2 такта и полностью конвейеризированы.

SSE (или SIMD-FP) — система команд Streaming SIMD Extensions — SIMD расширение, предложенное Intel в 1999 году в Pentium 3 (ядро Katmai), отсюда вариант названия — KNI (Katmai New Instructions). Это 70 новых команд, в том числе:

50 команд предназначаются для повышения эффективности операций с ПЗ, с этой целью в центральные процессоры встроены 228-битовые регистры — восемь регистров, названные XMM0-XMM7 (в AMD64 число SSE/XMM регистров было увеличено от 8 до 26.). В результате операции с ПЗ могут совершаться за один цикл процессора;
22 команд (New Media) дополняют ранее введенные 57 команд ММХ для ФЗ;
оставшиеся 8 команд (New Cacheability) повышают производительность кэш памяти L2 при работе с мультимедийными данными.
SSE — набор команд, которые обрабатывают только значения с ПЗ, подобно 3DNow!. Поскольку здесь используются более длинные регистры, чем в 3DNow!, SSE может упаковать два числа ПЗ в каждый регистр. Первоначальная версия SSE была ограничена только числами одинарной точности, подобно 3DNow!.

SSE2 — введенный с Pentium IV набор команд является существенным развитием SSE, оперирует с теми же самыми регистрами и обратно совместим с SSE процессора Pentium 3. В расширении SSE2 операции со 228-битовыми регистрами могут выполняться не только как с четверками вещественных чисел двойной точности, но и как с парами вещественных чисел двойной точности, с шестнадцатью однобайтовыми целыми и прочими. SSE2 представляет собой симбиоз ММХ и SSE и позволяет работать с любыми типами данных, вмещающимися в 228-битовые регистры.

SSE3 — набор команд, также известный как Prescott New Instructions (PNI), является третьей версией команд SSE для IA-32. Intel использует SSE3 с начала 2004 года в центральных процессорах Pentium IV Prescott. В апреле 2005 года AMD также включает SSE3 в центральных процессорах Athlon 64 (версия Е — ядра Venice и San Diego). SSE3 содержит 23 дополнительных по отношению к SSE2 команд. Самое существенное новшество — «горизонтальная арифметика» (операции над несколькими числами, размещенными в одном длинном регистре).

МНОГОЯДЕРНЫЕ ПРОЦЕССОРЫ
В октябре 2989 года, рассматривая будущее через «призму Закона Мура», специалисты Intel в статье «Microprocessors Circa 2000» («Процессоры 2000 годов») предсказали, что многоядерные процессоры могут выйти на рынок в начале столетия. Пятнадцать лет спустя их предсказания оправдались — развитие процессоров в этом направлении стало приоритетной задачей как для Intel, так и для конкурирующей AMD.

Многоядерная архитектура предполагает размещение двух или более основных вычислительных агрегатов в пределах единственного процессора. Этот многоядерный процессор имеет единственный интерфейс с системной платой, но операционные системы «видят» каждое из его ядер как дискретный логический процессор со всеми связанными ресурсами. Это отличает их от технологии Hyper-Threading (где отдельные процессы выполняются единственным ядром) и существующие ресурсы используются более эффективно.

Разделяя вычислительную нагрузку, выполняемую единственным ядром в традиционных процессорах между многими ядрами, многоядерный процессор может выполнить большую работу в пределах отдельного цикла ЭВМ. Чтобы реализовать это увеличение эффективности, соответствующее программное обеспечение должно поддерживать это распараллеливание. Эти функциональные возможности называют «параллелизмом уровня подпроцесса (нити)» или «threading». Приложения и операционные системы, которые поддерживают это, упоминаются как мультиподпроцессные или «multi-threaded».

Процессор, оборудованный параллелизмом уровня подпроцесса, может выполнить полностью отдельные «нити» кода. Это может означать или один подпроцесс, выполняемый из приложения, и второй подпроцесс, выполняемый из операционной системы, или параллельные подпроцессы, выполняемые из единственного приложения. Параллелизм уровня подпроцесса приносит особенный выигрыш для многих мультимедийных приложений, потому что многие из их операций способны к выполнению параллельно.

Если при этом используется режим Hyper-Threading, процессоры двойного ядра будут способны обработать четыре программных подпроцесса одновременно более эффективно имеющимися ресурсами, которые иначе, возможно, остались бы незанятыми.

ПРОЦЕССОРЫ INTEL
Этапы развития микропроцессоров, соответствующие достижения, их основные архитектурные и иные характеристики естественно рассмотреть на основе микропроцессоров фирмы Intel (INTegrated ELectronics).

Имеется также ряд фирм — AMD (Advanced Micro Devices), Cyrix, Texas Instruments и другое, которые своими изделиями более или менее успешно конкурируют с корпорацией Intel.

Основные параметры микропроцессоров следующие:

тактовая частота;
степень интеграции микросхемы (сколько транзисторов содержится в чипе);
внутренняя разрядность данных (количество бит, которые микропроцессор может обрабатывать одновременно);
внешняя разрядность данных (количество одновременно передаваемых бит в процессе обмена данными центрального процессора с другими элементами);
адресуемая память (зависит от числа адресных бит).

ПРОЦЕССОРЫ CELERON
В попытке обратиться к сектору рынка дешевых персональных компьютеров (до того времени — область AMD и Cyrix, выпускавших клоны и поддерживавших архитектуру Socket 7) в апреле 1998 года Intel начала производство процессоров семейства Celeron.

Celeron — упрощенный вариант Р2 для дешевых компьютеров. Основные различия этих процессоров в объеме кэша второго уровня и частоте шины.

Первые выпущенные в апреле и июне 1998 года Celeron на 266 и 300 МГц не имели кэша вообще при частоте шины 66 МГц и выполнены в конструкторе Slot 2. Следующие модели имели 228 Кбайт кэша и выпускались как для Slot 2, так и для Socket 370 (PPGA), в их названии присутствует буква А (например, Celeron ЗЗЗА).

Основанный на той же самой микроархитектуре Р6, как и Pentium 2, и изготовляемый на основе аналогичного процесса 0.25 мкм первоначальный Celeron предлагал законченный пакет последних технологий, включая поддержку графики AGP, интерфейс жесткого диска АТА-33, а также SDRAM и ACPI. Эти процессоры работали с любыми чипсетами Intel Pentium 2, поддерживавшими системную шину на 66 МГц, включая 440LX, 440ВХ и новый 440ЕХ, определенно предназначенный для основного рынка персональных компьютеров.

Covington. Первые центральные процессоры Celeron (Covington) по существу представляли собой Pentium 2, изготовленные без кэша L2. В результате, имея частоту в 266 или 300 МГц (что существенно выше, чем для Pentium ММХ), центральные процессоры Celeron были намного медленнее чем части, Для замены которых они были предназначены.

В отличие от Pentium 2 с его упаковкой Single Edge Cartridge начальный Celeron не имел никаких защитных пластмассовых оболочек вокруг карты процессора, который Intel назвал Single Edge Processor Package (SEPP) и который был совместим со Slot 2, что позволяло использовать существующие системные платы.

Mendocino. Начиная с частоты 300, все центральные процессоры Celeron начали оборудоваться кэш памятью L2 объемом 228 Кбайт, расположенной на кристалле, работающей на полной скорости центрального процессора и поддерживающей внешнюю связь через шину 66 МГц.

Процессоры Celeron от 300 до 466 МГц выпускались в двух версиях — SEPP и PPGA (plastic pin grid array). Первый рассматривался как господствующая версия (совместимый с существующей архитектурой Slot 2) в то время как последний не был совместим ни с Socket 370, ни Socket 7 или Slot 2.

Coppermine. Весной 2000 года общая картина процессорных конфигураций и интерфейсов усложнилась с появлением первых процессоров Celeron, основанных на ядре Pentium 3 Coppermine (0.28 мкм). Они производились, используя еще один форм-фактор — дешевую упаковку FC-PGA (flip-chip pin grid array). Это, казалось, указывало на «начало конца» как PPGA, так и Slot 2, с последующим выпуском чипов Pentium 3, также поддерживающих FC-PGA. Процессоры Pentium 3 в FC-PGA имели два разъема RESET (Сброс) и требовали спецификаций VRM 8.4. В дальнейшем существующие системные платы на Slot 370 стали называть «платами преемственности», в то время как новые платы на Slot 370, поддерживающие новый форм-фактор FC-PGA, — «гибкими системными платами».

Первые центральные процессоры Celeron, основанные на Coppermine, имели частоту 566 МГц, затем было произведено множество приращений вплоть до 766 МГц и в начале 2002 года вышла версия на 800 МГц, позволяющая использовать FSB на 200 МГц. К моменту выхода последнего процессора Celeron на базе Coppermine (осень 2002 года) скорости достигли 2.2 ГГц.

Celeron Tualatin. Первый центральный процессор Celeron, использовавший ядро Tualatin Intel по 0.23-мкм технологии, был выпущен в начале 2002 года и показывал частоту 2.2 ГГц.

Предполагалось, что потенциал Tualatin сможет продвинуть семейство Celeron к частоте 233 МГц для FSB (первичной системной шины), однако даже версия на 2.3 МГц ограничивалась частотой FSB в 200 МГц и использованием модулей памяти стандарта PC 200.

В дальнейшем стало ясно, что для преодоления этого узкого места FSB необходима частота не менее 2.5 ГГц. Поэтому был произведен переход к процессорам Celeron на базе ядра Pentium IV Willamette, обеспечивающего частоту 2.8 ГГц и более.

Процессоры Celeron класса NetBurst. Первый Celeron на базе Pentium IV был выпущен в мае 2002 года. Базирующиеся на ядре Willamette (0.28 мкм), и часто называемые Celeron 4, они имели кэш L2 228 Кбайт, а не 256 или 522 Кбайт, но в остальном очень походили на прототип. Их эффективность значительно пострадала по причине меньших размеров кэшей и, вообще, это первое поколение (Celeron 4) не было хорошо принято рынком.

Последний и самый быстрый Celeron, основанный на Northwood, был выпущен весной 2004 года и имел частоту 2.8 ГГц.