Архитектура современных микропроцессоров
Прежде всего, рассмотрим систематизацию микропроцессоров.
Классификация микропроцессоров
Естественно, что необъятное множество микропроцессоров (МП) можно делить по разным признакам, рассмотрим основные.
По числу МП в микропроцессорном комплекте:
Однокристальные. Весь микропроцессор размещен на одном кристалле в одной микросхеме (chip).
Многокристальные (multi-chip). В этом случае различные блоки МП размещены на разных кристаллах. Тем самым можно повысить выход годных изделий, повышается тестируемость и ремонтопригодность МП. При этом возможны варианты:
Однокорпусной МП – все кристаллы размещены в одном корпусе;
Микропроцессорный комплект – кристаллы размещаются в разных корпусах, подбирая тот или иной набор корпусов можно модифицировать МП для конкретных целей.1
По назначению:
Универсальные – предназначенные для решения широкого круга задач, а потому имеющие более-менее равномерно развитые блоки.
Специализированные – предназначенные для решения узкого круга задач, поэтому имеющие сильно развитые одни блоки и упрощенные другие блоки.
Микроконтроллеры – это упрощенные МП, предназначенные для управления несложными устройствами (типа авто-сигнализации либо стиральной машины). В них имеются несложные интерфейсы2, отсутствуют средства поддержки многозадачности, хорошо развит блок логики, но слабо – блок математики.
Математические МП имеют широко развитый набор специальных математических инструкций3, причем эти инструкции выполняются существенно быстрее, чем обычно. Интерфейсы развиты слабо, либо вообще отсутствуют – весь обмен данными идет только через память, а иногда даже этими транзакциями управляет внешнее устройство4.
Сигнальные МП, называемые также микропроцессорами обработки цифровых сигналов (Digital Signal Processor– DSP). Предназначены для арифметической обработки в реальном времени, значений оцифрованных сигналов. Имеют развитый математический аппарат (в том числе специальные инструкции цифровой обработки сигналов), аппаратную реализацию умножения и не менее двух шин данных.
Медиапроцессоры – предназначены для решения задач обработки видео и звуковой информации. Имеют развитый набор специальных данных и наборы инструкций типа SIMD (Single Instruction – Multiple Data: одна инструкция много данных).
По виду обрабатываемых сигналов:
Цифровые – т.е. работающие с числовыми данными.
Аналоговые – предназначены для обработки аналоговых сигналов и имеющие в качестве входных и выходных данных аналоговые сигналы. По сути, все современные аналоговые МП являются цифровыми сигнальными МП, имеющими на входе встроенные аналого-цифровые преобразователи (АЦП), а на выходе – встроенные цифро-аналоговые преобразователи (ЦАП).
По характеру временной организации работы:
Синхронные МП, являющиеся синхронными устройствами, где работа всех блоков синхронизируется базовой частотой.
Асинхронные МП, в которых блоки работают асинхронно по отношению друг к другу. Конечно, на асинхронных схемах можно добиться большего быстродействия, но проблемы тестирования таких сложных схем как МП заставляют отказываться от асинхронного подхода. Все современные МП – синхронные, но отдельные блоки внутри себя могут работать на кратной частоте (двойной, половинной и т.п.), кроме того, некоторые интерфейсы с внешними устройствами асинхронны по своей сути.
По количеству магистралей:
Одномагистральные – имеющие только одну магистраль – к ним относится большинство микроконтроллеров и другие специализированные МП с единственным интерфейсом.
Многомагистральные – имеющие развитую систему интерфейсов, к таковым относятся все универсальные МП.
По количеству выполняемых программ:
Однопрограммные (однозадачные) – предназначены для выполнения только одной задачи. Таковыми являются все микроконтроллеры и часть специализированных МП. Их можно разделить еще на две группы:
Не загружаемые МП, единственная программа которых записана в постоянном запоминающем устройстве (ПЗУ) МП. Так делается, например в микроконтроллерах.
Загружаемые МП, у которых основная программа может загружаться из внешних устройств через интерфейсы5. Таким внешним устройством может быть и дисковод, и другой МП6, и специальное ПЗУ7.
Мультипрограммные МП могут загружать из внешних устройств программы и выполнять их. Все универсальные микропроцессоры обязательно мультипрограммные. Здесь тоже есть две разновидности МП:
Однозадачные МП – которые могут одновременно выполнять только одну задачу.
Многозадачные МП – которые могут выполнять несколько задач сразу. Отметим однако, что в любой момент времени такой МП выполняет только одну задачу, а все остальные находятся в состоянии ожидания, но для реализации эффективной многозадачности, нужны специальные ресурсы переключения задач и они есть в многозадачных МП.
По типу параллелизма операндов:
Скалярные МП, где операнды инструкций являются скалярами, т.е. один операнд – это одно число.8
Векторные МП, где операндом является вектор, т.е. набор чисел. Это, как правило, математические МП предназначенные для векторных или матричных операций.
МП с набором инструкций типа SIMD (Single Instruction Multiple Data: одна инструкция – много данных). Конечно, можно было бы считать их векторными МП, но в инструкциях типа SIMD операнды представляют собой наборы чисел жестко фиксированного размера, которые размещаются в специальных регистрах, а в векторных МП, размер векторных операндов может быть различным.
Примечание. В настоящее время, практически все фирмы-изготовители универсальных МП, имеют в своих изделиях SIMD технологии, это: MMX (Intel), AltiVec (PowerPC), MDMX (MIPS), Max-2 (HP), VIS (SPARC), MVI (Alpha) и др. Причем, часто такие технологии называют SWAR (SIMD Within A Register – SIMD внутри регистра). Их присутствие обусловлено реализацией таких приложений, как:
Упаковка/распаковка звука, видео и изображений
Протоколы передачи данных
Шифрование
Построение реалистических изображений в реальном времени
Распознавание речи и образов
Нейронные сети
По типу параллелизма работы МП:
Суперскалярные МП – рассматривают последовательный код программы, ищут инструкции, которые можно выполнить параллельно и выполняют их в параллельно работающих функциональных устройствах.
Мультискаляные МП – получают от компилятора программу уже разбитую на множество связанных друг с другом задач, которые МП исполняет на параллельных процессорных устройствах, соблюдая зависимости между задачами.
VLIW9 МП – являются неким промежуточным звеном между суперскаляными и мультискалярными МП (но ближе к первым). Командное слово типа VLIW формируется компилятором и содержит не одну, а несколько инструкций, которые могут (и должны) выполняться одновременно.
По объему набора инструкций:
CISC – Complete Instruction Set Computer – процессоры с полным набором инструкций10. С одной стороны широкие возможности программирования, но с другой стороны, система команд не простая, что усложняет обработку инструкций и препятствует увеличению частоты МП.
RISC - Reduced Instruction Set Computer – процессоры с сокращенным набором инструкций11. Простая система коротких инструкций позволяет быстро декодировать и выполнять их за минимальное время (в пределе за 1 такт).
