Cisc и risc процессоры кратко

Обновлено: 02.07.2024

Понятие архитектуры процессора не имеет единого толкования, поскольку под ним понимаются две различные сущности. С программной позиции она представляет собой совместимость процессора с конкретным набором команд, его способность выполнять определённый набор кодов. То есть это способность программы, которая была собрана для архитектуры семейства x86, функционировать на всех x86-совместимых системах. На ARM системе такая программа работать не будет.

С аппаратной позиции архитектура процессора, называемая иногда микроархитектурой, является набором свойств, характерным для всего семейства процессоров и отражающим базовые особенности его внутренней организации. К примеру, микроархитектура процессоров Intel Pentium имела обозначение Р5, а процессоры Pentium 4 относились к NetBurst. После закрытия Intel микроархитектуры Р5 для производителей AMD разработала архитектуру К7 и К8 для процессоров Athlon, Athlon XP и Athlon 64 соответственно.

CISC

CISC-архитектура (Complex Instruction Set Computer) относится к процессорам с полным набором команд. Она имеет нефиксированную длину команд, отличается кодированием арифметических действий в единой команде и малым количеством регистров, большинство из которых выполняет только выделенную функцию.

CISC реализована во множестве типов микропроцессоров, таких как Pentium, которые выполняют большое количество разноформатных команд (порядка 200-300), применяя более десяти различных способов адресации. Командная система может включать несколько сотен команд различного уровня сложности или формата (от 1 до 15 байт).


Всё это делает возможным реализовывать эффективные алгоритмы для различных задач. В качестве примеров CISC-архитектуры, используемой преимущественно для десктопных версий, можно привести следующие процессоры:

  • x86 (IA-32, сокращенное от "Intel Architecture, 32-bit") - ;
  • x86_64 (AMD64);
  • Motorola MC680x0;
  • мейнфреймы zSeries.

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

RISC-архитектура (Reduced Instruction Set Computer) относится к процессорам с сокращённым набором команд. В ней быстродействие увеличивается посредством упрощения инструкций: за счёт того, что их декодирование становится проще, уменьшается время исполнения. Изначально RISC-процессоры не обладали инструкциями деления и умножения и не могли работать с числами, имеющими плавающую запятую. Их появление связано с тем, что в CISC достаточно много способов адресации и команд использовались крайне редко.

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

RISC процессор ARM Cortex-A15

Благодаря сокращению аппаратных средств, используемых для декодирования и реализации сложных команд, достигается значительное упрощение и снижение стоимости интегральных схем. В то же время возрастает производительность и снижается энергопотребление, что особенно актуально для мобильного сегмента. Эти же достоинства служат причиной использования во многих современных CISC-процессорах, например в последних моделях К7 и Pentium, RISC-ядра. Сложные CISC-команды заранее преобразуются в набор простых RISC-операций, которые оперативно выполняются RISC-ядром.

Характерными примерами RISC-архитектур являются:

  • PowerPC;
  • DEC Alpha;
  • ARC;
  • AMD Am29000;
  • серия архитектур ARM;
  • Atmel AVR;
  • Intel i860 и i960;
  • BlackFin;
  • MIPS;
  • PA-RISC;
  • Motorola 88000;
  • SuperH;
  • RISC-V;
  • SPARC.

RISC быстрее CISC, и даже при условии выполнения системой RISC четырёх или пяти команд вместо единственной, выполняемой CISC, RISC выигрывает в скорости, поскольку его команды выполняются в разы оперативнее. Однако CISC продолжает использоваться. Это связано с совместимостью: x86_64 продолжает лидировать в десктоп-сегменте, а поскольку старые программы могут функционировать только на x86, то и новые десктоп-системы должны быть x86(_64), чтобы дать возможность старым программам работать на новых устройствах.

Для Open Source это не проблема, ведь пользователь может найти в сети версию программы, подходящую для другой архитектуры. Однако создать версию проприетарной программы для другой архитектуры получится только у владельца исходного кода.

MISC

MISC-архитектура (Minimal Instruction Set Computer) является процессором с минимальным набором команд. Она отличается ещё большей простотой и используется для ещё большего снижения энергопотребления и итоговой стоимости процессора. MISC-архитектура применяется в IoT-сегменте и компьютерах малой стоимости вроде роутеров. Первой вариацией такого процессора стал MuP21.

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

VLIW

VLIW-архитектура (Very Long Instruction Word) относится к микропроцессорам, применяющим очень длинные команды за счёт наличия нескольких вычислительных устройств. В отдельных полях команды присутствуют коды, которые обеспечивают реализацию различных операций. Одна команда в VLIW может исполнить одновременно несколько операций в разных узлах микропроцессора. Формированием таких длинных команд занимается соответствующий компилятор во время трансляции программ, которые написаны на высокоуровневом языке.

VLIW-архитектура, являясь достаточно перспективной для разработки нового поколения высокопроизводительных процессоров, реализована в некоторых современных микропроцессорах:

VLIW процессор Эльбрус-8С

VLIW схожа с архитектурой CISC, имея собственный аналог спекулятивной реализации команд. Однако спекуляция выполняется не при работе программы, а при компиляции, что делает VLIW-процессоры устойчивыми к уязвимостям Spectre и Meltdown. Компиляторы в этой архитектуре привязаны к определённым процессорам. Так, в следующем поколении наибольшая длина одной команды может из 256 бит превратиться в 512 бит, и тогда придётся выбирать между обратной совместимостью со старым типом процессора и возрастанием производительности посредством компиляции под новый процессор. И в этом случае Open Sourсe даёт возможность получить программу под определённый процессор при помощи перекомпиляции.

Развитием указанных архитектур стали различные гибридные архитектуры. К примеру, современные x86_64 процессоры CISC-совместимы, однако имеют RISC-ядро. В этих CISC-процессорах CISC-инструкции переводятся в набор RISC-команд. Вероятно, в дальнейшем разнообразие гибридных архитектур только возрастёт.

Микропроцессор — это устройство, представляющее собой одну или несколько больших интегральных схем (БИС), выполняющих функции процессора ЭВМ. Классическое вычислительное устройство состоит из арифметического устройства (АУ), устройства управления (УУ), запоминающего устройства (ЗУ) и устройства ввода-вывода (УВВ).


Существуют процессоры различной архитектуры.

CISC (англ. Complex Instruction Set Computing) — концепция проектирования процессоров, которая характеризуется следующим набором свойств:

· большим числом различных по формату и длине команд;

· введением большого числа различных режимов адресации;

· обладает сложной кодировкой инструкции.

Процессору с архитектурой CISC приходится иметь дело с более сложными инструкциями неодинаковой длины. Выполнение одиночной CISC-инструкции может происходить быстрее, однако обрабатывать несколько таких инструкций параллельно сложнее.

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

  1. Компактность наборов инструкций уменьшает размер программ и уменьшает количество обращений к памяти.
  2. Наборы инструкций включают поддержку конструкций высокоуровневого программирования.
  1. Нерегулярность потока команд.
  2. Высокая стоимость аппаратной части.
  3. Сложности с распараллеливанием вычислений.

RISC (Reduced Instruction Set Computing). Процессор с сокращенным набором команд. Система команд имеет упрощенный вид. Все команды одинакового формата с простой кодировкой. Обращение к памяти происходит посредством команд загрузки и записи, остальные команды типа регистр-регистр. Команда, поступающая в CPU, уже разделена по полям и не требует дополнительной дешифрации.

Часть кристалла освобождается для включения дополнительных компонентов. Степень интеграции ниже, чем в предыдущем архитектурном варианте, поэтому при высоком быстродействии допускается более низкая тактовая частота. Команда меньше загромождает ОЗУ, CPU дешевле. Программной совместимостью указанные архитектуры не обладают. Отладка программ на RISC более сложна. Данная технология может быть реализована программно-совместимым с технологией CISC (например, суперскалярная технология).

Поскольку RISC-инструкции просты, для их выполнения нужно меньше логических элементов, что в конечном итоге снижает стоимость процессора. Но большая часть программного обеспечения сегодня написана и откомпилирована специально для CISC-процессоров фирмы Intel. Для использования архитектуры RISC нынешние программы должны быть перекомпилированы, а иногда и переписаны заново.

1.снижение нерегулярности потока команд

2.обогащение пространственным параллелизмом

1.каждое действие выполняется в 1 такт

MISC (Multipurpose lnstruction Set Computer). Элементная база состоит из двух частей, которые либо выполнены в отдельных корпусах, либо объединены. Основная часть – RISC CPU, расширяемый подключением второй части – ПЗУ микропрограммного управления. Система приобретает свойства CISC. Основные команды работают на RISC CPU, а команды расширения преобразуются в адрес микропрограммы. RISC CPU выполняет все команды за один такт, а вторая часть эквивалентна CPU со сложным набором команд. Наличие ПЗУ устраняет недостаток RISC, выраженный в том, что при компиляции с языка высокого уровня микрокод генерируется из библиотеки стандартных функций, занимающей много места в ОЗУ. Поскольку микропрограмма уже дешифрована и открыта для программиста, то времени выборки из ОЗУ на дешифрацию не требуется.

Очередная статья цикла должна была более подробно рассказывать о процессоре и памяти PIC, так как в предыдущей я уделил внимание STM8. Но в процессе подготовки статьи я столкнулся с необходимостью все таки сначала рассказать еще о двух понятиях - RISC и CISC, которым хотел уделить внимание позже, во время рассказа о системах команд процессоров.

Сегодня нам понадобятся знания, которые мы получили ранее из статей:

Что такое RISC и CISC

Эти аббревиатуры вы, скорее всего, уже встречали. RISС это Reduced Instruction Set Computer или, по русски, компьютер с усеченным набором команд. CISC это Complex Instruction Set Computer или, по русски компьютер с комплексным набором команд.

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

Что бы разобраться нам, как всегда, нужно немного (совсем чуть чуть!) заглянуть в историю и посмотреть на путь развития ЭВМ с момента их появления и до наших дней.

От простого к сложному

Жизнь на планете Земля зародилась в виде простейших клеток (если не смотреть совсем уж в глубь веков и не рассматривать появления сложных органических молекул). В процессе эволюции клетки объединялись во все более сложные структуры и организмы, что в конечном итоге и привело к появлению человека наделенного разумом.

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

Но довольно скоро выяснилось, что ЭВМ могут успешно решать не только вычислительные задачи и началась гонка технологий. Производители ЭВМ, с одной стороны, выясняли запросы пользователей и старались их удовлетворять при разработке новых машин. А с другой, обращались в академические круги с запросом"а что еще ЭВМ могут"?

Появилось множество различных архитектур ЭВМ. Некоторые так и остались в рамках институтов, некоторые пошли в серию. Далеко не все были удачными, но общая тенденция заключалась в усложнении конструкции и расширении возможностей. Появлялись новые команды и режимы адресации, ассоциативная память, высокоуровневые примитивы, и так далее.

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

Анализируй это

Бурное развитие и ощущение "мы все можем" не отменяло анализа результатов реального применения ЭВМ. И вот тут выяснились интересные подробности. Оказалось, что большинство программ используют лишь малую часть доступных команд. При этом используемый набор команд различался для разных областей применения ЭВМ.

Но в целом можно было выделить команды используемые всегда, команды используемые многими программами (часто используемые), и команды используемые только в некоторых случаях. Это и послужило основой для появления RISC.

От сложного к простому

Было предложено исключить из системы команд ЭВМ редко используемые команды и упростить оставшиеся. Это позволит упростить схемотехнику и снизить стоимость ЭВМ, но позволит и повысить быстродействие.

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

А вот теперь мы можем перейти к более подробному рассмотрению технических аспектов и их реализации на практике.

Наиболее известным современным представителем CISC подхода является архитектура процессоров 80x86 используемая в настольных ПК и ноутбуках. Это универсальные процессоры обладающие широчайшими возможностями в организации и управлении памятью, богатейшей системой команд, развитыми режимами адресации операндов.

И это действительно сложные процессоры, и дорогие. Причем такая универсальность действительно часто востребована, не зря же это одна из самых популярных архитектур.

Но цикл статей о микроконтроллерах, поэтому я ограничусь лишь таким вот, кратким, упоминанием об универсальных процессорах и CISC архитектуре.

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

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

Убираем лишние команды

Как я уже говорил, не все команды одинаково востребованы. Давайте более подробно разберем это на примере команд пересылки данных. Чаще всего команды пересылки данных имеют аббревиатуру MOV.

В процессорах 80х86 однако имеются не только команды пересылки данных общего назначения, но и специфичные для работы со строками. Я говорю о командах MOVS, LODS, STOS. От обычной команды MOV они, по большому счету, отличаются лишь использованием специальных регистров и автоматическим увеличением указателей, для команд MOVS. А LODS и STOS задают одним из операндов регистр аккумулятор.

Значит, эти команды можно без особого ущерба просто исключить и пользоваться универсальной MOV. Кстати, эти команды работы со строками действительно используются гораздо реже обычной команды пересылки.

У процессоров 80х86 есть отдельные команды для установки некоторых флагов состояния процессора, например, команда, STC для установки флага переноса. Мы можем исключить эту команду и использовать вместо нее универсальные команды установки/сброса заданного бита в байте/слове. Или пойти еще дальше и оставить только побитовые команды OR, AND, XOR.

Подобным образом можно сократить количество доступных команд очень сильно. Так в BaseLine PIC есть всего 33 команды, в MidRange 35 команд, в PIC18 порядка 70 команд. В STM8 есть порядка 80 команд. Это гораздо меньше, чем у 80х86.

Вводим аккумуляторную архитектуру и делаем команды одноадресными

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

А вот использование аккумулятора стало весьма распространенным. При этом подразумевается, что один из операндов обязательно находится в аккумуляторе, а второй может находиться в памяти или прямо в коде команды. И результат операции чаще всего размещается в аккумуляторе. Таким образом, большинство команд становится одноадресными.

Влияние изменений и сокращений в наборе команд на память программ

До описания систем команд мы еще не добрались, этот разговор еще впереди. А вот влияние на память программ и работу с ней оценить уже можем.

В качестве примера, далеко забегая вперед, я приведу формат команд для MidRange PIC

Нас в данной иллюстрации интересует лишь поле OPCODE и общее количество бит занимаемое командами. А общая длина команды всего 14 бит (для BaseLine 12 бит). При этом поле операции занимает 3, 4 или 6 разрядов. То есть, менее байта.

И для считывания полной команды из памяти программ нам нужна 14-битная шина данных. Рассказ о памяти PIC еще впереди, но результаты оптимизации и использования RISC подхода у Microchip впечатляют. Менее двух байт на команду! У AVR Atmel команды занимают 2 байта, а у STM8 до 5 байт.

Внимательный читатель может заметить, "но позвольте, ведь мы теперь не всегда можем обойтись одной командой, мы иногда вынуждены использовать несколько команд для получения нужного результата, а значит, требуемый объем памяти будет больше и вся эта экономия ничего не даст!"

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

Я не оговорился сказав "в единицах хранения". Дело в том, что некоторые процессоры, адресуют память программ не побайтно, а пословно.

Исключение сложных методов адресации

Это следующих этап оптимизации, который влияет не только (и не столько) на длину команды, но и на время ее выполнения и на сложность аппаратуры процессора.

Давайте вспомним косвенную индексную адресацию в STM8 из предыдущей статьи

Что бы получить собственно данные нам нужно:

  1. Загрузить в процессор содержимое ячейки, адрес которой задан косвенной частью адресации операнда. В данном случае это ячейка с адресом strtbl+2
  2. Сложить полученное значение и содержимое индексного регистра (индексная часть адресации операнда)
  3. Загрузить в процессор собственно обрабатываемые командой данные из ячейки памяти с адресом полученным на шаге 2

Такая вот многоэтапная процедура. Да, она дает большую гибкость, но всегда ли такая гибкость нужна? На помощь опять приходит статистика реального использования доступа к данным в реальных программах.

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

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

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

Более гибкая и простая адресация в командах перехода

Программа должна иметь возможность передать управление в любую доступную точку памяти программ. Этот постулат сомнению не подвергается.

Но упрямая статистика на основании реальных программ свидетельствует, что большинство переходов выполняются в пределах ограниченного пространства памяти данных. Речь идет о командах условных переходов, которых в любой программе больше всего.

А значит, нет необходимости в командах условных переходов задавать полный адрес памяти программ. Вполне достаточно ограничиться короткими переходами относительно текущего значения счетчика команд. Как вы помните, в STM8 есть относительная адресация в командах перехода.

Но ведь существует еще и возможность перехода по адресу, который хранится в некоторой ячейке памяти. Я говорю о косвенной адресации в командах перехода. Но эту возможность можно исключить, так как она применяется гораздо реже прямой и относительной. Кроме того, всегда можно использовать команду пересылки (для косвенного перехода) или сложения (для косвенного относительного перехода) и поместить в регистр PC нужный адрес, что и будет собственно переходом.

Итоговый результат оптимизаций и сокращений

Я уже показал, как RISC архитектура влияет на размер памяти программ. В среднем, объем требуемой памяти программ не изменяется ощутимым образом. Но мы получаем меньшую требуемую разрядность шины данных памяти. Кроме того, мы можем обойтись одним циклом чтения вместо последовательных чтений очередного байта команды. А значит, и упрощение схемы процессора, и ее удешевление, и ускорение работы.

Заключение

Я очень кратко коснулся темы построение процессоров с усеченным набором команд. Причем постарался показать большинство связанных с этим моментов, а не только собственно уменьшение количества доступных команд.

И CISC и RISC архитектуры имеют право на жизнь. Нельзя сказать, какая из них однозначно лучше, а какая хуже. Все зависит от конкретной ситуации. Причем RISC архитектура применяется не только в микроконтроллерах, но и в других процессорах. Примером могут служить Sun SPARK.

А вот теперь мы готовы приступить к более подробному рассмотрению микроконтроллеров PIC, как это сделано в предыдущей статье для STM8.

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

С программной точки зрения архитектура процессора — это совместимость с определённым набором команд (Intel x86), их структуры (система адресации, набор регистров) и способа исполнения (счётчик команд).

Говоря простым языком, это способность программы, собранной для архитектуры x86, работать практически на любой x86-совместимой системе. При этом такая программа не будет работать, например, на ARM системе.

С аппаратной точки зрения архитектура процессора — это некий набор свойств и качеств, присущий целому семейству процессоров (Skylake – процессоры Intel Core 5 и 6 поколений).

Если тема кажется сложной, можно начать со статьи о том, чем CPU отличается от GPU.

Виды архитектур

В этой статье мы рассмотрим самые распространенные и актуальные архитектуры с программной точки зрения, кроме узкоспециализированных (графических, математических, тензорных).

Самый яркий пример CISC архитектуры — это x86 (он же IA-32) и x86_64 (он же AMD64).

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

По сравнению с CISC эта архитектура имеет константную длину команды, а также меньшее количество схожих инструкций, позволяя уменьшить итоговую цену процессора и энергопотребление, что критично для мобильного сегмента. У RISC также большее количество регистров.

Примеры RISC-архитектур: PowerPC, серия архитектур ARM (ARM7, ARM9, ARM11, Cortex).

В общем случае RISC быстрее CISC. Даже если системе RISC приходится выполнять 4 или 5 команд вместо одной, которую выполняет CISC, RISC все равно выигрывает в скорости, так как RISC-команды выполняются в 10 раз быстрее.

Отсюда возникает закономерный вопрос: почему многие всё ещё используют CISC, когда есть RISC? Всё дело в совместимости. x86_64 всё ещё лидер в desktop-сегменте только по историческим причинам. Так как старые программы работают только на x86, то и новые desktop-системы должны быть x86(_64), чтобы все старые программы и игры могли работать на новой машине.

Для Open Source это по большей части не является проблемой, так как пользователь может найти в интернете версию программы под другую архитектуру. Сделать же версию проприетарной программы под другую архитектуру может только владелец исходного кода программы.

Ещё более простая архитектура, используемая в первую очередь для ещё большего уменьшения итоговой цены и энергопотребления процессора. Используется в IoT-сегменте и недорогих компьютерах, например, роутерах.

Для увеличения производительности во всех вышеперечисленных архитектурах может использоваться “спекулятивное исполнение команд”. Это выполнение команды до того, как станет известно, понадобится эта команда или нет.

Примеры архитектуры: Intel Itanium, Эльбрус-3.

Виртуальные архитектуры

Из минусов виртуальных архитектур можно выделить меньшую производительность по сравнению с реальными архитектурами. Этот минус нивелируется с помощью JIT- и AOT-компиляции. Однако большим плюсом будет кроссплатформенность.

Дальнейшим развитием этих архитектур стали гибридные архитектуры. Например современные x86_64 процессоры хотя и CISC-совместимы, но являются процессорами с RISC-ядром. В таких гибридных CISC-процессорах CISC-инструкции преобразовываются в набор внутренних RISC-команд. Какое дальнейшее развитие получат архитектуры процессора, покажет только время.

Разница между RISC и CISC - Разница Между

Разница между RISC и CISC - Разница Между

Содержание:

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

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

Ключевые области покрыты

1. Что такое RISC
- Определение, Функциональность, Характеристики
2. Что такое CISC
- Определение, Функциональность, Характеристики
3. Разница между RISC и CISC
- Сравнение основных различий

Основные условия


Что такое RISC

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


Рисунок 1: RISC

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

RISC - это простой набор инструкций. Он использует простые режимы адресации. Для доступа к ячейкам памяти он использует загрузку и сохраняет инструкции. Он также состоит из большого количества регистров. Кроме того, каждая инструкция требует одного такта для выполнения инструкции.

Что такое CISC

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

В архитектуре CISC микропрограммный блок управления соединяется с инструкцией и путем передачи данных. Эта инструкция и путь к данным связаны с кешем. Затем необходимые инструкции и данные будут направлены в основную память из кеша.

Архитектура CISC имеет множество режимов адресации. Существует большое количество инструкций. Он также поддерживает форматы команд переменной длины. Поскольку инструкции являются сложными, для выполнения одной инструкции требуется многократное количество тактов. Более того, декодирование команд является более сложным.

Разница между RISC и CISC

Определение

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

Длинная форма

RISC расшифровывается как компьютер с сокращенным набором команд. CISC расшифровывается как комплексная компьютерная инструкция.

инструкции

Кроме того, архитектура RISC использует небольшой, высоко оптимизированный набор инструкций, в то время как архитектура CISC использует большой, специализированный и сложный набор инструкций.

ориентация

Кроме того, RISC больше ориентирован на машины, а CISC больше ориентирован на программистов.

Количество тактов

Кроме того, RISC прост и требует одного такта для выполнения инструкций. CISC является сложным и требует нескольких тактов для выполнения инструкции.

Количество регистров

Кроме того, RISC имеет больше регистров, в то время как CISC имеет меньше регистров.

Режимы адресации

В RISC инструкции имеют простые фиксированные форматы с несколькими режимами адресации. В CISC инструкции имеют переменные форматы с несколькими сложными режимами адресации.

Длина программы

Поскольку RISC имеет простые инструкции, длина программы велика. Но так как у CISC есть сложные инструкции, его длина программы коротка.

Требуется ОЗУ

Кроме того, CISC требует минимального объема оперативной памяти, чем RISC, так как в программе меньше команд.

использование

RISC используется в аппаратном блоке управления. Он используется в таких приложениях, как мобильные телефоны и планшеты. CISC используется в микропрограммном блоке управления. Он используется в таких приложениях, как настольный компьютер и ноутбуки.

Заключение

Разница между RISC и CISC заключается в том, что RISC содержит небольшой и высоко оптимизированный набор инструкций, в то время как CISC содержит большой специализированный и сложный набор инструкций. Другими словами, RISC имеет меньший и простой набор инструкций, в то время как CISC имеет большой и сложный набор инструкций.

Читайте также: