Микропроцессор
Микропроце́ссор (от микро... и процессор), интегральная схема (ИС), которая реализует функции центрального процессора (ЦП или просто процессора) компьютерной системы. Разработка микропроцессора стала возможной благодаря развитию полупроводниковых технологий, позволивших создать большое число транзисторов на одном кремниевом кристалле (чипе). Реализация ЦП на одной ИС имеет ряд преимуществ по сравнению с ЦП, который создан на нескольких ИС: бóльшая надёжность, меньшая стоимость, меньшая потребляемая мощность, бóльшая скорость выполнения операций.
Функциональная блок-схема и назначение микропроцессора
Микропроцессор, как и типичный ЦП, содержит: арифметико-логическое устройство (АЛУ), устройство управления (УУ), регистровый файл (РФ, набор регистров, предназначенных для временного хранения данных и результатов, реализован на самых быстрых запоминающих элементах; кэш-память использует более медленные элементы), кэш команд (кэш-память для хранения команд) и кэш данных. УУ управляет работой всего компьютера, который, кроме ЦП, включает основную память (ОП) и устройства ввода-вывода. УУ через кэш команд получает из ОП команды, дешифрирует их и передаёт на исполнение в АЛУ. Из РФ и кэша данных в АЛУ поступают операнды (данные, над которыми производятся операции). Результат выполненной в АЛУ команды записывается в РФ. В УУ находятся специальные регистры, например PC (англ. Program Counter – счётчик команд), содержащий адрес следующей команды, IR (англ. Instruction Register – регистр команды), хранящий выполняемую команду.
По назначению микропроцессоры разделяют на универсальные (предназначенные для решения широкого класса задач, например ЦП персонального компьютера) и специализированные (ориентированные на решение определённого класса задач). Среди специализированных микропроцессоров можно выделить микропроцессор цифровой обработки сигналов (англ. Digital Signal Processor – DSP), графический процессор (англ. Graphics Processing Unit – GPU), применяемый для обработки компьютерной графики, а также вычислительные сопроцессоры (например, Weitek Abacus для вычислений с плавающей запятой, Intel Xeon Phi для универсальных высокопараллельных вычислений).
Микропроцессоры применяются в компьютерах, в специализированной и бытовой радиоэлектронной аппаратуре, средствах автоматизации, телекоммуникации, на транспорте и др. Например, в современном самолёте действуют многие сотни микропроцессоров. Большим подклассом микропроцессоров являются микроконтроллеры – специализированные микропроцессоры, имеющие внутреннюю постоянную и оперативную память и устройства ввода-вывода. Около 98 % выпускаемых в мире микроконтроллеров используются во встроенных системах (англ. embedded systems), представляющих собой специализированные компьютерные системы, которые обычно встраивают в управляемое устройство, аппарат (автомобиль, банкомат, стиральную машину, мобильный телефон и др.).
Историческая справка
На первенство в создании микропроцессора претендуют три проекта, завершившиеся почти одновременно. В 1968–1970 гг. компания Garrett AiResearch разработала микропроцессор для истребителя F-14A, который состоял из нескольких кристаллов, предназначался для вычисления скорости, высоты и положения крыльев (данные рассекречены в 1998). В сентябре 1971 г. компания Texas Instruments анонсировала микропроцессор TMS1802NC для использования в калькуляторах (в 1973 фирма получила патент на микропроцессор на одном кристалле). Однако большинство специалистов в области вычислительной техники отдают первенство компании Intel, объявившей в ноябре 1971 г. о создании микропроцессора Intel 4004 (на одном кристалле), который также разрабатывался для калькуляторов, но позднее стал позиционироваться как универсальный; одновременно обрабатывал 4 двоичных разряда, содержал 2300 транзисторов, работал на частоте 740 кГц, занимал на кристалле площадь 24 мм2, выполнял 60 тыс. операций в секунду (был в сотни раз менее производительным, чем большие вычислительные машины того времени). В 1972 г. появился 8-разрядный микропроцессор Intel 8008, который содержал 3500 транзисторов. Его развитие – популярные микропроцессоры Intel 8080 и 8085. В СССР микропроцессоры выпускали НПО «Ангстрем», НПО «Светлана», НПО «Интеграл», НПО «Кристалл» и др. Микропроцессор RCA 1802 (1976) – первый микропроцессор, стойкий к радиации, использовался в космических зондах. В 1978 г. создан микропроцессор Intel 8086 (29 тыс. транзисторов) 16-разрядный микропроцессор, который положил начало семейству ЦП 80x86. Увеличение разрядности микропроцессора позволило увеличить адресное пространство доступной памяти и производительность компьютера. Версия 8088 этого микропроцессора использовалась в получившем широкое распространение персональном компьютере IBM PC. Первый 32-разрядный микропроцессор на одном кристалле был создан фирмой AT&T в 1980 г. В 1985 г. появился коммерчески успешный 32-разрядный микропроцессор Intel 386 (275 тыс. транзисторов). Первый коммерческий микропроцессор с 64-разрядной адресацией оперативной памяти выпущен в 1991 г. (MIPS Technologies R4000); выпускавшиеся ранее микропроцессор (например, Intel i860; 1989) обладали возможностью выполнения 64-разрядных операций над данными, но были лишены 64-разрядной адресации. Первым 64-разрядным x86-совместимым микропроцессором стал выпущенный в 2003 г. AMD Opteron, реализующий архитектуру AMD64.
Основные технические характеристики и архитектура микропроцессора
Важными техническими характеристиками микропроцессора являются тактовая частота (частота синхронизирующих импульсов микропроцессора) и потребляемая мощность [у современных микропроцессоров от 1 (встраиваемые) до 200 Вт и более (серверные)]. Производительность микропроцессора в значительной степени определяется тактовой частотой; чем выше частота, тем выше производительность. Наиболее адекватной мерой производительности микропроцессора является время выполнения программы (чем оно меньше, тем выше производительность), которое определяется формулой где – число команд в программе, – среднее время выполнения команды в тактах (например, для микропроцессора с тактовой частотой 1 ГГц время такта 1 нс), – тактовая частота работы процессора. Для измерения производительности используются различные пакеты тестовых программ, например SPECmark (от англ. Standard Performance Evaluation Corporation’s benchmark – сводный показатель производительности группы SPEC); чем быстрее он выполняется, тем выше производительность микропроцессора. В разных сегментах рынка используются различные тесты; например, для измерения производительности микропроцессора для встраиваемых применений часто используют тест CoreMark; для высокопроизводительных вычислений (англ. High Performance Computing – HPC) – LINPAK.
Выделяют два основных типа архитектуры микропроцессора: CISC (от англ. Complete Instruction Set Computer – компьютер с полным набором команд); RISC (от англ. Reduced Instruction Set Computer – с сокращённым набором команд). Кроме того, бывают микропроцессоры со сверхдлинным командным словом – архитектура VLIW (от англ. Very Long Instruction Word). Первый характеризуется использованием в системе команд компьютера большого числа сложных команд различных форматов (число команд в серверных процессорах уже превышает 1500 шт.), при этом повышение производительности получают за счёт уменьшения числа команд в программе и увеличения объёма работы, выполняемой сложными командами. При создании архитектуры второго типа исходили из того, что в процессе работы компьютера в основном (до 90 % времени работы) используется всего 10 % от общего числа команд системы команд компьютера. В этом случае повышение производительности достигается за счёт уменьшения и увеличения для этого в систему команд включают наиболее часто применяемые команды, выполнение которых стараются максимально ускорить. Число команд сократилось до нескольких сотен. Все команды имеют одинаковую длину и выполняются за один такт. С середины 1980-х гг. практически во всех микропроцессорах используются основные принципы RISC-архитектуры: тщательно отобранная система команд, простые режимы адресации, фиксированный формат команд, операции выполняются над данными, размещёнными в РФ (туда же отправляются результаты), отдельно кэш-память для команд и для данных, применение оптимизирующего компилятора.
Наиболее производительные универсальные микропроцессоры разрабатывают и производят компании Intel, AMD и IBM. В России пять основных разработчиков микропроцессоров: «МЦСТ», Baikal Electronics, НТЦ «Модуль», НПЦ «Элвис» и «Миландр».
Рост производительности микропроцессоров обусловлен как инновациями в архитектуре микропроцессоров, так и совершенствованием полупроводниковой технологии, уровень развития которой определяется т. н. характерным размером (расстоянием от истока до стока транзистора), который может обеспечить данная технология (чем расстояние меньше, тем лучше характеристики транзистора). Уменьшение линейного размера транзистора в раз приводит к уменьшению площади одного транзистора в раз, позволяет разместить на кристалле того же размера в раз больше транзисторов, увеличить их скорость в раз (т. е. повысить тактовую частоту в раз), уменьшить потребляемую одним транзистором мощность в раз. Сегодня промышленно используются технологии, позволяющие получить характерный размер 5 нм.
Одно из основных направлений повышения производительности – реализация принципа параллелизма в архитектуре микропроцессора (т. е. увеличение числа одновременно выполняемых команд). Одновременная подача на выполнение нескольких команд называется суперскалярной организацией микропроцессора; впервые такой подход применили в отечественном вычислительном комплексе «Эльбрус» («Эльбрус-1» разработан в 1970-х гг.). При такой организации требуется наличие нескольких АЛУ, которые могут работать одновременно. В микропроцессоре с архитектурой VLIW также одновременно запускается несколько АЛУ, но планированием работы занимается компилятор, в отличие от суперскалярной архитектуры, в которой это делает аппаратура. Иногда архитектуру VLIW называют также EPIC (от англ. Explicitly Parallel Instruction Computing – технология обработки команд с явным параллелизмом).
Система SoC (от англ. System-on-a-Chip – система на кристалле) содержит на одном кристалле один или несколько микроконтроллеров, процессор, память, интерфейсы, аналого-цифровые и цифроаналоговые преобразователи. К её преимуществам по сравнению с реализацией этих функций на отдельных кристаллах (на нескольких ИС) относятся меньший размер, бóльшая надёжность, бóльшая скорость, а также, благодаря использованию ранее разработанных модулей, сокращение времени разработки.
Многоядерные (англ. multicore) процессоры состоят из нескольких процессоров (называемых процессорными ядрами), размещённых на одном кристалле, что приводит к повышению производительности за счёт распараллеливания задач. При этом требуется операционная система, которая может эффективно использовать несколько процессоров. Первым двухъядерным процессором был Power4 компании IBM (2001). Другим методом параллельного исполнения, поддерживаемым многими современными микропроцессорами, является одновременное многопоточное исполнение (англ. Simultaneous Multithreading – SMT) – способность одновременно исполнять несколько тредов (англ. thread – нить) на одном процессорном ядре, что позволяет более эффективно использовать ресурсы компьютера, повышая производительность. Пример – технология Hyper-Threading, реализованная в микропроцессорах компании Intel. Многоядерные процессоры могут также реализовывать SMT внутри каждого из своих ядер.
Производительность (в случае питания от батарей) и продолжительность работы микропроцессора в значительной степени ограничиваются потребляемой им мощностью; она определяет скорость работы, используемую систему охлаждения, стоимость. Поэтому одной из важнейших задач при проектировании микропроцессора является сокращение энергопотребления. Современные микропроцессоры – очень сложные электронные изделия (системы), которые невозможно проектировать без программных средств автоматизации проектирования. По современным данным, около 70 % трудозатрат в разработке микропроцессора занимает его верификация, т. е. проверка соответствия спроектированного микропроцессора его спецификации.