Микропроцессоры – невидимые труженики

Микропроцессоры – невидимые труженики

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

Немного истории

И только в 1971 году компания Intel, объединив в одном кристалле несколько тысяч транзисторов, создала первый микропроцессор – легендарный Intel 4004. Название показывает, что этот прибор мог работать с 4-разрядными словами. Низкая частота работы и ограниченный набор инструкций (команд для выполнения программы) – так можно говорить только сегодня. А тридцать лет назад это был лучший процессор и единственный «микро». 4-разрядная структура процессора Intel 4004 означает, что для обработки 16-разрядного слова необходимо устанавливать четыре микропроцессора, на каждом из которых ведется работа с четырьмя разрядами. На рис. 2.1 показана структура 16-разрядного процессора, выполненного из четырех 4-разрядных микропроцессоров. На одном микропроцессоре можно проводить вычисления 4 раза, т. е. затрачивать на обработку одного слова 4 такта работы компьютера. На рис. 2.2 показана организация работы одного процессора при переработке 16-разрадного слова.

Рис. 2.1. Структура 16-разрядного процессора

Рис. 2.2. Организация работы одного процессора

Для того чтобы не увеличивать габариты компьютера и ускорить его работу, процессоры стали делать многоразрядными: Intel 8086, 80186 и 80286 работали с 16-разрядными числами, а начиная с Intel 80386 процессоры стали 32-разрядными. Теперь подошло время 64-разрядных процессоров.

Немного классификации

Сегодня можно выделить три основных класса компьютеров: мощные серверы и суперкомпьютеры; персональные компьютеры (PC), мобильные компьютеры. Некоторые компьютеры находятся на «границе» между классами. Так, мощные рабочие станции по своим характеристикам ближе к серверам, хотя предназначены для персонального использования, как PC. Соответственно, выпускается три группы микропроцессоров, каждая из которых ориентирована на свой класс компьютеров. В табл. 2.1 приведена классификация основных выпускаемых сегодня процессоров.

Таблица 2.1. Классификация основных типов выпускаемых процессоров

Современные процессоры имеют центральную часть (ядро), окруженную дополнительными узлами. На одном кристалле, кроме процессора, находятся также сопроцессор (обеспечивающий работу с числами с плавающей точкой), схемы работы с группами операндов, кэш-память (объемом до нескольких мегабайт) и другие узлы. Реально собственно процессор (его ядро) занимает на кристалле не более 10 % площади. Одно ядро может использоваться для процессоров, ориентированных на различные сегменты рынка. Сегодня процессоры характеризуются следующими параметрами:

• количество транзисторов в одном кристалле превосходит 40 миллионов;

• частота работы – 2 ГГц;

• разрядность обрабатываемого слова – 32 или 64;

• число инструкций – превысило 200.

И вот в своем поступательном движении процессор достиг определенного предела [28] . И, естественно, стал трансформироваться, причем сразу в трех направлениях.

Во-первых, на одном кристалле стали размещать сразу несколько процессоров. Такое построение является идеальным для создания многопроцессорных компьютеров [29] . Двухпроцессорные кристаллы выпускают IBM и Sun. Intel также сообщил о начале работ над микросхемой, включающей два процессора, каждый из которых имеет свою кэш-память и общий кэш второго уровня.

Во-вторых, процессор стал включать в себя дополнительные устройства, такие как звуковые схемы, устройства для работы с графикой, узлы ввода/вывода информации и другие элементы, позволяющие значительно сократить число электронных компонентов в компьютере. Такое решение очень актуально для мобильных устройств. В процессоре MediaGX (National Semiconductor), сделанном по идеологии PC-on-a-chip (компьютер на кристалле), к ядру добавлены контроллеры памяти и видеоускоритель. Здесь же находится кэш-память объемом 64 Кбайт.

Третье направление связано с дальнейшей интеграцией. К микропроцессору (CPU) были добавлены необходимые для компьютера устройства. В результате на одном кристалле реализован микрокомпьютер, который состоит из:

• микропроцессора, предназначенного для обработки информации;

• постоянной памяти (RAM), в которой записаны операционная система и рабочие программы;

• оперативной памяти (ROM), служащей для хранения промежуточных данных;

• энергонезависимой памяти (EEPROM), в которой размещаются данные, изменяющиеся относительно редко;

• системы контроля времени (TIME);

• системы ввода-вывода данных (I/O).

На рис. 2.3 показана структура микрокомпьютера и организация связи между его элементами.

Рис. 2.3. Структура микрокомпьютера

Именно эти устройства сегодня применяются в самых различных изделиях как бытовых [30] , так и производственных. Такие же микрокомпьютеры используются в интеллектуальных банковских карточках [31] и мобильных телефонах [32] . Микрокомпьютеры, как правило, решают ограниченный круг задач. Поэтому их программное обеспечение неизменно и находится в RAM. Все мы, пользователи бытовых приборов или промышленных установок, не знаем, какой конкретно микрокомпьютер здесь установлен. Да это и не важно, главное – чтобы он обеспечивал эффективное управление. Сегодня микрокомпьютеры выпускают многие фирмы. Наибольший объем производства у фирм Motorola, Intel, National Semiconductor, Hitachi, STMicroelectronics (SGS-Thomson), Texas Instruments, Philips.

Для мобильных устройств

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

В карманных компьютерах (КПК – карманные персональные компьютеры) и смартфонах, кроме мобильных вариантов процессоров для настольных систем, применяются и специфичные процессоры, в том числе: SH3, SH4 (компании Hitachi), ТХ Series (Toshiba), VR41 lx, VR412x, VR54xx (NEC).

Особо необходимо выделить архитектуры ARMv6 (компании ARM). Процессоры на основе этого ядра выпускают несколько компаний, в частности Intel. Новые высокопроизводительные процессоры малой мощности будут применяться Intel в микроархитектуре Intel XScale, рассчитанной на сетевой, автомобильный, беспроводный сегменты IT-рынка и рынок КПК. Ядро ARM – ключевое звено открытой архитектуры Intel Personal Internet Client Architecture (Intel PCA) для мобильных Internet-устройств. Уже несколько компаний, выпускающих мобильные устройства, поддержали технологию РСА, том числе Compaq и Symbian.

Пока монополия

В настоящее время выпускаются два больших класса персональных компьютеров: IBM PC и Macintosh. В них используются разные процессоры (вернее – процессоры с различной структурой ядра). Количество работающих компьютеров различно: IBM PC примерно в 12–15 раз больше, чем Macintosh [33] .

В компьютерах типа IBM PC используют процессоры (микропроцессоры), первоначально разработанные фирмой INTEL. Раньше каждый тип процессора имел свое обозначение, номер которого оканчивался цифрами 86: 18086 (полное обозначение INTEL8086), 18088, i80186, i286, i386, i486. В настоящее время выпускаются процессоры, имеющие обозначение PENTIUM. В табл. 2.2 приведены сравнительные характеристики основных процессоров, выпускаемых фирмой Intel.

Таблица 2.2. Основные характеристики процессоров, выпускаемых фирмой Intel

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

Увеличение быстродействия процессора привело к тому, что время обращения к основной памяти компьютера значительно превысило время выполнения команд. Это и обусловило появление буферной памяти – кэш-память (cache – от англ. «тайник»), которая размещается между процессором и основной памятью и работает на частоте процессора. Обмен данными между процессором и кэш-памятью ведется словами большей разрядности (до 256 разрядов в слове), чем при обмене с основной памятью (64 разряда). Поэтому использование кэш-памяти повышает производительность процессора. Кэш-память размещается непосредственно на кристалле процессора и занимает его основную часть. На рис. 2.4 показана структура связей между процессором, памятью и кэш-памятью.

Рис. 2.4. Структура связей между процессором, памятью и кэш-памятью

Указанные в табл. 2.2 данные не дают полной характеристики того или иного типа процессоров. Нельзя считать, что 500-мегагерцовый Pentium III только в 50 раз производительней, чем i286. Реальная производительность Pentium III в несколько сотен или даже тысяч раз выше. Это связано, кроме частоты, с более длинными обрабатываемыми за один такт словами (4 байта вместо 2), возможностью проведения нескольких операций за один такт (у 286 одна команда обрабатывалась несколько тактов). Так, наличие ММХ обеспечило проведение за один такт сложения четырех коротких слов.

Архитектура Pentium (архитектура IA32 – Intel Architecture, 32-разрядная) впервые появилась в марте 1993 года. Набор команд не менялся со времен i386 [34] . Потом появился Pentium ММХ, в котором был реализован набор из 57 команд ММХ: процессор теперь мог обрабатывать множественные данные в одной инструкции (Single Instruction Multiple Data – SIMD). В Pentium II (май 1997 года) добавлен блок SSE (Streaming SIMD Extensions), расширяющий набор команд ММХ. Pentium III получил интегрированную на кристалле кэш-память объемом 256 Кбайт. Pentium 4 выпускается с осени 2000 года. В архитектуру введен ряд усовершенствований, направленных на увеличение тактовой частоты и производительности, а также новый набор инструкций SSE2. 27 августа 2001 года объявлен вариант процессора, работающего на частоте 2 ГГц. Полутора годами раньше вышел Pentium III 1 ГГц. Удвоение частоты работы процессора за полтора года – яркое подтверждение закона Мура. Кроме процессора Pentium (на том же ядре), фирма Intel выпускает еще два процессора. Celeron, с меньшей кэш-памятью (128 Кбайт) и меньшим быстродействием, предназначенный для более дешевых компьютеров. Хеоп ориентирован на серверы и способен работать в многопроцессорных конфигурациях. Кэш имеет объем до 2 Мбайт, что во многом определяет не только высокую производительность процессора, но и высокую стоимость. Всего компания Intel выпускает в год более 100 млн. процессоров, т. е. больше, чем все остальные процессорные фирмы все вместе взятые.

Компания AMD продала во II квартале 7,7 млн. своих процессоров, что составило 22,2 % рынка процессоров с архитектурой IA32. Компания является главным конкурентом Intel на этом рынке. В том же квартале Intel произвела 76,2 % процессоров IA32 (26,4 млн.).

Процессор Athlon – первый проект AMD, в котором она отошла от прямого копирования архитектур Intel и предложила рынку свой вариант платформы для PC. Процессор имеет кэшпамять объемом 128 Кбайт. Здесь реализован не только модуль ММХ, но и дополнительный набор инструкций 3DNow! который обеспечивает более эффективную обработку графической информации. Системная шина – EV-6, та же, что и в процессорах Alpha (см. далее), что дает возможность создавать платы, поддерживающие оба процессора. Более простой процессор фирмы AMD (Duron) ориентирован на сектор простых компьютеров. Duron – конкурент процессора Celeron.

Кроме этих двух компаний, более простые и менее производительные процессоры архитектуры IA32 выпускают также компании Rise (процессоры шР6, шР6 II) и Centaur (серия процессоров – Wine hip). Ранее описанный процессор MediaGX компании National Semiconductor также имеет ядро с той же архитектурой. Объем выпуска этих процессоров не велик – менее 1 % рынка.

Компьютер Macintosh фирмы Apple (а также его «родственники»: настольные – iMac, PowerMac G4, PowerMac G4 Cube и ноутбуки – iBook, PowerBook G4) существенно отличается от IBM PC, хотя современному пользователю компьютера эти отличия и не очень заметны. Компьютеры Apple начали выпускаться на четыре года раньше конкурентов [35] . Однако компания Apple не позволила другим фирмам производить детали для своего компьютера: она сама создавала для него и программное обеспечение. Идеология IBM PC (открытая архитектура) изначально предполагала, что детали для этих компьютеров будут делать множество независимых компаний. И программное обеспечение тоже. Конкуренция привела к тому, что стоимость компьютеров IBM PC стала значительно ниже, чем Macintosh. Сегодня цены почти сравнялись. Компьютеры Macintosh (следующая серия компьютеров после Apple) всегда отличались великолепной графикой и звуком. И сегодня во многих редакциях газеты и журналы готовятся именно на этих компьютерах. На них же работают и многие музыканты. Современные звуковые и графические платы IBM PC тоже позволяют получать хорошее изображение и звук, но на Macintosh результат лучше.

В компьютерах Macintosh применяются два вида процессоров: G3, G4 компании Motorola и Power PC от IBM. Эти процессоры разрабатывались обеими фирмами совместно. Они имели более современную архитектуру ядра, чем процессоры 86-й серии. Motorola и IBM создавали совершенно новый процессор, используя последние достижения технологии и учитывая опыт использования других процессоров. В результате получился очень эффективный процессор, который при равной частоте с процессорами Intel обеспечивает большую производительность. Правда, пока частота работы процессоров G3, G4 и Power PC ниже.

Архитектура микропроцессоров

Разрабатывая свои первые микропроцессоры, компания Intel предложила для них архитектуру, которая позже была названа архитектурой с полным набором команд (CISC–Complete Instruction Set Computer). Эта архитектура сохранена во всех 32-разрядных процессорах, выпускаемых Intel и AMD.

Для CISC-архитектуры характерно:

• сравнительно небольшое число регистров общего назначения;

• большое количество кодов, некоторые из которых нагружены семантически аналогично операторам высокоуровневых языков программирования и выполняются за несколько тактов;

• большое количество методов адресации;

• большое количество форматов команд различной разрядности;

• преобладание двухадресного формата команд;

• наличие команд обработки типа «регистр-память».

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

К середине 80-х годов XX века технология производства интегральных микросхем значительно продвинулась по сравнению с предыдущим десятилетием, и старая архитектура уже не могла обеспечить максимальной производительности. Требовались новые структурные решения. Компания Intel стала жертвой успеха своих микропроцессоров – массовое использование процессоров х86 с устаревшей CISC-архитектурой привело к тому, что для них было создано огромное количество программ. И компания не могла начать производство процессоров с новой архитектурой, на которых нельзя использовать эти программы, и вынуждена была выпускать процессоры с устаревшей архитектурой. В это время другие компании, не обремененные успехом, предложили новую архитектуру микропроцессора с сокращенным набором команд (RISC – Reduced Instruction Set Computer). Впервые идеи такой архитектуры были реализованы в компьютере CDC6600, еще позднее она была применена при создании суперкомпьютеров компании Cray Research. Окончательно архитектура RISC сформировалась при разработке трех процессоров: 801 компании IBM, RISC университета Беркли и MIPS Стенфордского университета. Среди особенностей RISC-архитектур следует отметить:

• малый набор кодов;

• выполнение большинства инструкций за один такт;

• короткие связи внутри процессора, что позволяет сократить длительность такта и увеличить частоту работы процессора;

• конвейерную обработку нескольких команд (когда за один такт в компьютере обрабатывается сразу несколько последовательных команд);

• наличие большого количества регистров (32 или большее число регистров по сравнению с 8—16 регистрами в CISC-архитектурах), что позволяет большему объему данных храниться в регистрах процессора большее время и упрощает работу компилятора по распределению регистров под переменные;

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

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

Сегодня технология производства микропроцессоров продолжает развиваться дальше:

• уменьшаются технологические размеры транзисторов (сегодня технологическая норма – 0,013 мкм);

• появились новые технологии, такие как «кремний на изоляторе» (SOI) и использование медных проводников;

• внедряются новые методы изоляции проводников, например диэлектрик с низкой теплопроводностью, позволяющей добиться почти 30-процентного увеличения скорости вычислений и производительности;

• создан транзистор нового типа, получивший наименование «транзистор на обедненной подложке» («depleted substrate transistor»);

• внедряются новые полупроводниковые материалы, такие как «высокоизолирующий диэлектрик с К-затвором» («high k-gate dielectric»).

Эти и другие технологические решения позволяют снизить утечки тока в транзисторе и заметно уменьшить энергопотребление микропроцессора, что дает возможность разместить в нем значительно больше электронных элементов, работающих на более высоких частотах. В результате в современном микропроцессоре можно реализовать многие структурные решения, ранее казавшиеся недоступными. Одним из таких решений является новая архитектура, известная под названием Intel Architecture-64 (IA-64). Она не является 64-разрядным расширением 32-разрядной архитектуры х86 компании Intel (то есть это не CISC-архитектура), а также это и не переработка 64-разрядной архитектуры RISC.

IA-64 представляет собой новую архитектуру, использующую различные оригинальные решения, такие как:

• длинные слова команд (long instruction words – LIW);

• предикаты команд (instruction predication);

• устранение ветвлений (branch elimination);

• предварительная загрузка данных (speculative loading)

и другие решения, позволяющие «извлечь больше параллелизма» из кода программ. Эта архитектура получила наименование Explicitly Parallel Instruction Computing (EPIC) – явно параллельные инструкции компьютера.

Данный текст является ознакомительным фрагментом.