В зависимости от набора и порядка выполнения команд процессоры подразделяются на четыре класса, отражающих также хронологию развития ЭВМ.
CISC (complex instruction set computer) — классическая архитектура процессоров, которая начала свое развитие в 1940-х гг. с появлением первых компьютеров и в которой ЦП использует микропрограммы для выполнения большого набора разноформатных команд с использованием многочисленных способов адресации, для чего требуется наличие сложных электронных цепей для декодирования и исполнения. В течение длительного периода производители компьютеров разрабатывали и воплощали в изделиях все более сложные и полные системы команд.
Типичным примером CISC являются процессоры Intel x86 (в частности, семейство Pentium). Они выполняют более 200 команд разной степени сложности, которые имеют размер от 1 до 15 байт, и обеспечивают более 10 различных способов адресации. Такое многообразие выполняемых команд и способов адресации позволяет программисту реализовать наиболее эффективные алгоритмы решения различных задач. Однако при этом существенно усложняется структура процессора, особенно его устройства управления, что приводит к увеличению размеров и стоимости кристалла, снижению производительности.
В то же время анализ работы процессоров показал, что в течение примерно 80 % времени выполняется лишь 20 % общего набора команд. Поэтому была поставлена задача оптимизации выполнения небольшого по числу, но часто используемых команд. В середине 70-х это привело многих производителей компьютеров к пересмотру своих позиций и к разработке ЦП сограниченным набором команд.
RISC (Redused Instuction Set Computer) — архитектура отличается использованием ограниченного набора команд фиксированного формата.
Современные RISC-процессоры обычно реализуют около 100 команд, имеющих фиксированный формат длиной 4 байта. Также значительно сокращается число используемых способов адресации. Обычно в RISC-процессорах для сокращения количества обращений к памяти RISC-процессоры имеют увеличенный объем внутреннего регистровых запоминающих устройств – от 32 до нескольких сотен регистров (в CISC-процессорах число регистров общего назначения обычно составляет 8—16). В результате процессор на 20—30% реже обращается к оперативной памяти, что также повышает скорость обработки данных. Упростилась топология процессора, сократились сроки ее разработки, она стала дешевле.
Обращение к памяти в RISC-процессорах используется только в операциях загрузки данных в РЗУ или пересылки результатов из РЗУ в память. При этом используется небольшое число наиболее простых способов адресации. В результате существенно упрощается структура процессора, сокращаются его размеры и стоимость, значительно повышается производительность. Начиная с процессора Pentium корпорация Intel начала внедрять элементы RISC-технологий в свои изделия.
В то время, как в процессоре CISC для выполнения одной команды необходимо в большинстве случаев десять тактов и более, процессоры RISC близки к тому, чтобы выполнять по одной команде в каждом такте. Следует также иметь в виду, что благодаря своей простоте процессоры RISC не патентуются. Это также способствует их быстрой разработке и широкому производству.
Процессор MISC работает с минимальным набором длинных команд и характеризуется небольшим набором чаще всего встречающихся команд. Вместе с этим, принцип команд VLIWобеспечивает выполнение группы команд за один цикл работы процессора. Порядок выполнения команд распределяется таким образом, чтобы в максимальной степени загрузить маршруты, по которым проходят потоки данных. Таким образом, архитектура MISC объединила вместе суперскалярную (многопоточную) и VLIW концепции. Компоненты процессора просты и работают с высокими скоростями.
VLIW (Very Large Instruction Word) — архитектура, которая появилась относительно недавно (в 1990-х гг.). Ее особенностью является использование очень длинных команд (до 128 бит и более), отдельные поля которых содержат коды, обеспечивающие выполнение различных операций.
Специальный компилятор планирования перед выполнением прикладной программы проводит ее анализ и по множеству ветвей последовательности операций определяет группу команд, которые могут выполняться параллельно. Каждая такая группа образует одну сверхдлинную команду. Это позволяет решать две важные задачи. Во-первых, в течение одного такта выполнять группу коротких («обычных») команд, а во-вторых — упростить структуру процессора. Этим технология VLIW отличается от суперскалярности (здесь отбор групп одновременно выполняемых команд происходит непосредственно в ходе выполнения прикладной программы, а не заранее, из-за этого усложняется структура процессора и замедляется скорость его работы).