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