Разное

Cisc risc: Архитектура процессоров (cisc, risc, misc) — Викиверситет

Содержание

Гениальность микропроцессоров RISC-V / Блог компании VDSina.ru хостинг серверов / Хабр


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

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

Недавно я подробнее изучил информацию об архитектуре набора команд (instruction-set architecture, ISA) RISC-V и вот некоторые из аспектов, которые по-настоящему впечатлили меня в ISA RISC-V:

  1. Это небольшой и простой в изучении набор команд RISC. Очень предпочтителен для тех, кому интересно получать знания о микропроцессорах.
  2. Благодаря своей простоте, открытости и связи с университетскими профессорами он с большой вероятностью будет доминировать как архитектура, выбираемая для обучения процессорам в вузах.
  3. Его продуманная структура позволяет разработчикам CPU создавать высокопроизводительные микропроцессоры на основе ISA RISC-V.
  4. Благодаря отсутсвию лицензионных отчислений и нацеленности на простую аппаратную реализацию увлечённый любитель может, в принципе, создать за приемлемое время собственную конструкцию процессора RISC-V.


Когда я начал понимать RISC-V лучше, то осознал, что RISC-V оказался радикальным возвратом к тому, что многие считали давно прошедшей эпохой вычислений. С точки зрения конструкции, RISC-V подобен перемещению на машине времени к классическому Reduced Instruction Set Computer (RISC, «компьютеру с набором коротких команд») начала 80-х и 90-х.

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

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

Бывшая инженер ARM Эрин Шеперд несколько лет назад написала интересную критику RISC-V:

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

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

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

По словам Эрин, следствием этого стало то, что реальной программе для выполнения задач потребуется гораздо больше команд, то есть она займёт больше места в памяти.

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

Сжатие команд и Macro-Operation Fusion


Однако в архитектуре процессоров присутствуют две инновации, из-за которых эта стратегия добавления более сложных команд во многих смыслах оказывается избыточной:
  • Сжатые команды — команды сжимаются в памяти и распаковываются на первой стадии процессора.
  • Macro-operation Fusion — две или несколько простых команд считываются процессором и сливаются в одну более сложную команду.

На самом деле, в ARM уже используются обе эти стратегии, а в процессорах x86 применяется вторая, поэтому RISC-V не проделывает здесь каких-то новых трюков.

Однако тут есть тонкость: RISC-V получает из этих двух стратегий гораздо больше выгод по двум важным причинам:

  1. Сжатые команды были добавлены изначально. В других архитектурах, например, в ARM, об этом подумали позже, и прикрутили их довольно поспешным образом.
  2. Здесь оправдывает себя одержимость RISC малым количеством уникальных команд. Для добавления сжатых команд просто остаётся больше места.

Второй пункт требует некоторых пояснений. В архитектурах RISC команды обычно имеют ширину 32 бита. Эти биты нужно использовать для кодирования различной информации. Допустим, у нас есть такая команда (после точки с запятой идут комментарии):
ADD x1, x4, x8    ; x1 ← x4 + x8

Она складывает содержимое регистров
x4
и x8, сохраняя результат в x1. Требуемое для кодирования этой команды количество битов зависит от количества имеющихся регистров. У RISC-V и ARM есть 32 регистра. Число 32 можно выразить 5 битами:
2⁵ = 32

Так как в команде нужно указать три разных регистра, то для кодирования операндов (входящих данных для операции сложения) требуется в сумме 15 бит (3 × 5).

Следовательно, чем больше возможностей мы хотим поддерживать в наборе команд, тем больше битов мы займём из доступных нам 32 бит. Разумеется, мы можем перейти к 64-битным командам, но при этом потратится слишком много памяти, а значит, пострадает производительность.

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

Это означает, что вместо засовывания внутрь 32 бит одной команды мы можем уместить две команды по 16 бит шириной каждая. Естественно, не все команды RISC-V можно выразить в 16-битном формате. Поэтому подмножество 32-битных команд выбирается на основании их полезности и частоты использования. Если несжатые команды могут получать 3 операнда (входящих данных), то сжатые команды — только 2 операнда. То есть сжатая команда

ADD будет выглядеть так:

C.ADD x4, x8     ; x4 ← x4 + x8

В ассемблерном коде RISC-V используется префикс C., сообщающий, что команду нужно преобразовать ассемблером в сжатую команду.

По сути, сжатые команды уменьшают количество операндов. Три регистра-операнда заняли бы 15 бит, оставив на указание операции всего 1 бит! Таким образом, при использовании двух операндов для указания опкода (выполняемой операции) у нас остаётся 6 бит.

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

ADD считывать входящие данные и из памяти, и из регистров.

Однако истинную выгоду мы получаем, объединив сжатие команд с Macro-operation fusion. Когда процессор получает 32-битное слово, содержащее две сжатые 16-битные команды, он может слить их в одну более сложную команду.

Звучит, как чушь — мы что, вернулись к тому, с чего начинали?

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

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

Давайте рассмотрим один из примеров, приведённых Эрин Шеперд. В своей критической статье о ISA RISC-V она показывает простую функцию на C. Чтобы было понятнее, я взял на себя смелость переписать её:

int get_index(int *array, int i) { 
    return array[i];
}

На x86 это скомпилируется в следующий ассемблерный код:
mov eax, [rdi+rsi*4]
ret

При вызове функции в языке программирования аргументы обычно передаются функции в регистре согласно установленному порядку, который зависит от используемого набора команд. На x86 первый аргумент помещается в регистр rdi, второй — в rsi. По стандарту возвращаемые значения должны помещаться в регистр eax.

Первая команда умножает содержимое rsi на 4. Он содержит переменную i. Почему умножает? Потому что array состоит из элементов integer, разделённых друг от друга 4 байтами. Следовательно, третий элемент массива находится в смещении 3 × 4 = 12 байт.

Далее мы прибавляем это к rdi, который содержит базовый адрес array. Это даёт нам окончательный адрес i-того элемента array. Мы считываем содержимое ячейки памяти по этому адресу и сохраняем его в eax: задача выполнена.

На ARM всё происходит похожим образом:

LDR r0, [r0, r1, lsl #2]
BX  lr                    ;return

Здесь мы не умножаем на 4, а сдвигаем регистр r1 на 2 бита влево, что эквивалентно умножению на 4. Вероятно, это более верное описание и того, что происходит на x86. Сомневаюсь, что можно умножать на что-либо, не являющееся кратным 2, поскольку умножение — это довольно сложная операция, а сдвиг малозатратен и прост.

Из моего описания x86 об остальном можно только догадываться. Теперь давайте перейдём к RISC-V, где начинается настоящее веселье! (точкой с запятой начинаются комментарии)

SLLI a1, a1, 2     ; a1 ← a1 << 2
ADD  a0, a0, a1    ; a0 ← a0 + a1
LW   a0, a0, 0     ; a0 ← [a0 + 0]
RET

На RISC-V регистры a0 и a1 являются просто псевдонимами x10 и x11. Именно в них помещаются первый и второй аргументы вызова функции. RET — это псевдокоманда (сокращение):
JALR x0, 0(ra)     ; sp ← 0 + ra
                   ; x0 ← sp + 4  ignoring result

JALR выполняет переход к адресу, хранящемуся в ra, который относится к адресу возврата. ra — это псевдоним x1.

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

Это действительно выглядит плохо. Именно поэтому Эрин Шеперд чрезвычайно критически отнеслась к проектировочным решениям, сделанным разработчиками RISC-V. Она пишет:

Упрощения RISC-V делают более простым декодер (т.е. фронтенд процессора), однако за это приходится расплачиваться бо́льшим количеством команд. Однако масштабирование ширины конвейера — это сложная задача, в то время как декодирование немного (или сильно) необычных команд хорошо изучено (основные сложности возникают, когда определение длины команды нетривиально — из-за своих бесконечных префиксов особо запущенным случаем является x86).

Однако благодаря сжатию команд и macro-op fusion можно изменить ситуацию к лучшему.
C.SLLI a1, 2      ; a1 ← a1 << 2
C.ADD  a0, a1     ; a0 ← a0 + a1
C.LW   a0, a0, 0  ; a0 ← [a0 + 0]
C.JR   ra

Теперь команды занимают ровно столько же места в памяти, что и пример для ARM.

Так, а теперь давайте выполним Macro-op fusion!

Одно из условий RISC-V для разрешения слияния операций в одну — это совпадение целевого регистра. Это условие выполняется для команд ADD и LW (load word, «загрузить слово»). Поэтому процессор превратит их в одну команду.

Если бы это условие выполнялось и для SLLI, то мы могли бы слить в одну все три команды. То есть процессор бы увидел нечто, напоминающее более сложную команду ARM:

LDR r0, [r0, r1, lsl #2]

Но почему мы не могли прописать эту сложную макро-операцию непосредственно в коде?

Потому что в ISA нет поддержки такой макро-операции! Вспомним, что у нас есть ограниченное количество битов. Тогда сделаем команды длиннее! Нет, это займёт слишком много памяти и быстрее переполнит драгоценный кэш процессора.

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

Когда декодер получает обычную команду, он обычно превращает её в одну или несколько микро-операций. Такие микро-операции и есть команды, с которыми на самом деле работает процессор. Они могут быть очень широкими и содержат множество дополнительной полезной информации. Приставка «микро» звучит иронично, ведь они оказываются шире. Однако на самом деле «микро» означает, что они имеют ограниченное количество задач.

Macro-operation fusing немного переворачивает работу декодера вниз головой: вместо превращения одной команды в несколько микро-операций, мы берём много операций и превращаем их в одну микро-операцию.

То есть происходящее в современном процессоре может выглядеть довольно странно:

  1. Сначала он объединяет две команды в одну с помощью сжатия.
  2. Затем он разделяет их на две с помощью распаковки.
  3. Далее комбинирует их обратно в одну операцию при помощи macro-op fusion.

definition of risc and synonyms of risc (Russian)

Материал из Википедии — свободной энциклопедии

RISC (англ. Reduced Instruction Set Computer; неправильно — Reduced Instruction Set Computing) — компьютер с сокращённым набором команд.

Это концепция проектирования процессоров (ЦПУ), которая во главу ставит следующий принцип: более компактные и простые инструкции выполняются быстрее. Простая архитектура позволяет удешевить процессор, поднять тактовую частоту, а также распараллелить исполнение команд между несколькими блоками исполнения (т. н. суперскалярные архитектуры процессоров). Многие ранние RISC-процессоры даже не имели команд умножения и деления. Идея создания RISC процессоров пришла после того, как в 1970-х годах ученые из IBM обнаружили, что многие из функциональных особенностей традиционных ЦПУ игнорировались программистами. Отчасти это был побочный эффект сложности компиляторов. В то время компиляторы могли использовать лишь часть из набора команд процессора. Следующее открытие заключалось в том, что, поскольку некоторые сложные операции использовались редко, они как правило были медленнее, чем те же действия, выполняемые набором простых команд. Это происходило из-за того, что создатели процессоров тратили гораздо меньше времени на улучшение сложных команд, чем на улучшение простых.

Первые RISC-процессоры были разработаны в начале 1980-х годов в Стэнфордском и Калифорнийском университетах США. Они выполняли небольшой (50−100) набор команд, тогда как обычные CISC (Complex Instruction Set Computer) выполняли 100—200.

Характерные особенности RISC-процессоров

  • Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды.
  • Специализированные команды для операций с памятью — чтения или записи. Операции вида «прочитать-изменить-записать» отсутствуют. Любые операции «изменить» выполняются только над содержимым регистров (т. н. load-and-store архитектура).
  • Большое количество регистров общего назначения (32 и более).
  • Отсутствие поддержки операций вида «изменить» над укороченными типами данных — байт, 16-битное слово. Так, например, система команд DEC Alpha содержала только операции над 64-битными словами, и требовала разработки и последующего вызова процедур для выполнения операций над байтами, 16- и 32-битными словами.
  • Отсутствие микропрограмм внутри самого процессора. То, что в CISC процессоре исполняется микропрограммами, в RISC процессоре исполняется как обыкновенный (хотя и помещенный в специальное хранилище) машинный код, не отличающийся принципиально от кода ядра ОС и приложений. Так, например, обработка отказов страниц в DEC Alpha и интерпретация таблиц страниц содержалась в так называемом PALCode (Privileged Architecture Library), помещенном в ПЗУ. Заменой PALCode можно было превратить процессор Alpha из 64-битного в 32-битный, а также изменить порядок байт в слове и формат входов таблиц страниц виртуальной памяти.

Архитектуры, обычно обсуждаемые в связи с RISC

  • Суперскалярные архитектуры (первоначально Sun SPARC, начиная с Pentium использованы в семействе x86). Распараллеливание исполнения команд между несколькими устройствами исполнения, причем решение о параллельном исполнении двух или более команд принимается аппаратурой процессора на этапе исполнения. Эффективное использование такой архитектуры требует специальной оптимизации машинного кода в компиляторе для генерации пар независимых (результат одной не является входом другой) команд.
  • Архитектуры VLIW (Very Long Instruction Word — Очень Длинное Слово Команды). Отличаются от суперскалярной архитектуры тем, что решение о распараллеливании принимается не аппаратурой на этапе исполнения, а компилятором на этапе генерации кода. Команды очень длинны, и содержат явные инструкции по распараллеливанию нескольких субкоманд на несколько устройств исполнения. Элементы архитектуры содержались в серии PA-RISC. VLIW-процессором в его классическом виде является Itanium, долгое время бывший самым мощным процессором в мире. Разработка эффективного компилятора для VLIW является сложнейшей задачей, решить которую не получалось долгое время. Преимущество VLIW перед суперскалярной архитектурой — компилятор является более сложной и «умной», чем устройства управления процессора, системой, способной хранить больше контекстной информации и принимать более верные решения об оптимизации.

Иные архитектурные решения, типичные для RISC

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

Начало развития RISC-архитектуры

Первая система, которая может быть названа RISC-системой, — суперкомпьютер CDC 6600, который был создан в 1964 году, за десять лет до появления соответствующего термина. CDC 6600 имел RISC-архитектуру всего с двумя режимами адресации (регистр+регистр и регистр+immediate_constant) и 74 кодами команд (тогда как Intel 8086 имел 400 кодов команд). В CDC 6600 было 11 конвейерных устройств арифметической и логической обработки, а также 5 load units и 2 store units. Память была многоблочной, поэтому все устройства загрузки-хранения могли работать одновременно. Базовая тактовая частота/частота выдачи команд была в 10 раз выше, чем время доступа к памяти. Джим Торнтон и Сеймор Крэй, разработчики CDC 6600, создали в нем мощный процессор, позволявший быстро обрабатывать большие объемы цифровых данных. Главный процессор поддерживался 10-ю простыми периферийными процессорами, выполнявшими операции ввода/вывода и другие функции ОС. [1] Позднее появилась шутка, что термин RISC на самом деле расшифровывается как «Really Invented by Seymour Cray» («На самом деле придуман Сеймуром Крэйем»).Еще одна ранняя RISC-машина — миникомпьютер Data General Nova, разработанный в 1968.

Первая попытка создать RISC-процессор на чипе была предпринята в IBM в 1975. Эта работа привела к созданию семейства процессоров IBM 801, которые широко использовались в различных устройствах IBM. 801-ый в конце концов был выпущен в форме чипа под именем ROMP в 1981 году. ROMP расшифровывается как Research OPD(Office Product Division) Micro Processor, то есть Исследовательский Микро Процессор, разработанный в Департаменте офисных разработок. Как следует из названия, процессор был разработан для «мини»-задач, и когда в 1986 IBM выпустила на его базе компьютер IBM RT-PC, он работал не слишком хорошо. Однако, за выпуском 801-ого процессора последовало несколько исследовательских проектов, в результате одного из которых появилась система POWER.

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

Проект RISC в Университете Беркли был начат в 1980 году под руководством Дэвида Паттерсона и Карло Секвина. Исследования базировались на использовании конвейерной обработки и агрессивного использования техники регистрового окна. В обычном процессоре имеется небольшое количество регистров и программа может использовать любой регистр в любое время. В процессоре, использующем технологии регистрового окна, очень большое количество регистров (например, 128), но программы могут использовать ограниченное количество (например, только 8 в каждый момент времени).

Программа, ограниченная лишь 8-ю регистрами для каждой процедуры, может выполнять очень быстрые вызовы процедур: «окно» просто сдвигается к 8-ми регистровому блоку нужной процедуры, а при возврате из процедуры «окно» сдвигается обратно, к регистрам вызвавшей процедуры. (В обычном процессоре большинство процедур при вызове вынуждены сохранять значения некоторых регистров в стеке для того, чтобы пользоваться этими регистрами при исполнении процедуры. При возврате из процедуры значения регистров восстанавливаются из стека).

Проект RISC произвел на свет процессор RISC-I в 1982 году. В нем было всего 44420 транзисторов (для сравнения: в наиболее современных CISC-процессорах того времени было около 100000 транзисторов). RISC-I имел всего 32 инструкции, но превосходил по скорости работы любой одночиповый процессор того времени. Через год, в 1983, был выпущен RISC-II, который состоял из 40760-ти транзисторов, использовал 39 инструкций и работал в 3 раза быстрее RISС-I.

Практически в то же время, в 1981 году, Джон Хеннесси начал аналогичный проект, названный «MIPS Архитектура» в Стэнфордском университете. MIPS практически полностью сфокусировался на конвейерной обработке, попытавшись «выжать всё» из этой технологии. Конвейерная обработка использовалась и в других продуктах, некоторые идеи, реализованные в MIPS, позволили разработанному чипу работать значительно быстрее аналогов. Наиболее важным было требование выполнения любой из инструкций процессора за один такт. Это требование позволило конвейеру работать на гораздо больших скоростях передачи данных и привело к значительному ускорению работы процессора. С другой стороны, исполнение этого требования имело негативный побочный эффект в виде удаления из набора инструкций таких полезных операций, как умножение или деление.

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

Последние годы

Как оказалось в начале 1990-х годов, RISC-архитектуры позволяют получить большую производительность, чем CISC, за счет использования суперскалярного и VLIW-подхода, а также за счёт возможности серьезного повышения тактовой частоты DEC Alpha и упрощения кристалла с высвобождением площади под кеш-память, достигающую огромных размеров. Также, RISC-архитектуры позволили сильно снизить энергопотребление процессора за счет уменьшения числа транзисторов.

Первое время RISC-архитектуры с трудом принимались рынком из-за отсутствия программного обеспечения для них. Эта проблема была быстро решена переносом UNIX-подобных операционных систем (SunOS) на RISC-архитектуры.

В настоящее время многие архитектуры процессоров являются RISC-подобными, к примеру, ARM, DEC Alpha, SPARC, AVR, MIPS, POWER и PowerPC. Наиболее широко используемые в настольных компьютерах процессоры архитектуры x86 ранее являлись CISC-процессорами, однако новые процессоры, начиная с Intel486DX, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции x86-процессоров в более простой набор внутренних инструкций RISC.

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

См. также

Примечания

  1. Grishman, Ralph. Assembly Language Programming for the Control Data 6000 Series. Algorithmics Press. 1974. pg 12

Ссылки

11 мифов о RISC-V

Несмотря на богатую экосистему и растущее число реализованных «в железе» процессоров, архитектура RISC-V по-прежнему окружена различными мифами, из-за которых ее преимущества по-прежнему остаются не до конца реализованными. 

Многие компании со всего мира все чаще обращают свое внимание на открытые аппаратные платформы и программные решения с открытым исходным кодом, рассматривая их как альтернативу закрытым. RISC-V – это бесплатная, открытая и расширяемая система команд (instruction set architectures, ISA), которая устанавливает новые стандарты гибкости, масштабируемости, расширяемости и модульности микропроцессорных систем (рис. 1). Несмотря на богатую экосистему RISC-V и растущее число реальных реализаций, среди разработчиков по-прежнему бытуют некоторые заблуждения относительно этой архитектуры, из-за чего она все еще остается недооцененной.

Рис. 1. RISC-V – открытая, бесплатная системам команд (ISA), которая благодаря совместной работе множества разработчиков позволяет открыть новую эру в области микропроцессорных систем

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

Миф 1. RISC-V – это еще одна процессорная архитектура

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

Миф 2. RISC-V предназначен исключительно для научных целей, а не для промышленных приложений

Многие компании успешно внедряют RISC-V в своих коммерческих микропроцессорах. Andes Technology, Codasip, Bluespec, Cortus и другие поставщики встраиваемых IP-ядер предлагают реализации RISC-V. SiFive предлагает как лицензируемые программные IP-ядра, так и готовые, выполненные «в кремнии» микропроцессоры на базе RISC-V, в том числе и 32 -битную SoC-микросхему с RISC-V. Microsemi (Рис. 2), Rumble Development и VectorBlox предлагают программные IP-ядра RISC-V, которые можно встраивать в FPGA. Например, на пятой конференции RISC-V 30 ноября 2016 года была показана полнофункциональная камера замедленной съемки, использующая ядро RISC-V, реализованное в ПЛИС IGLOO2.

Рис. 2. Микросхема FPGA IGLOO2 оснащена IP-ядром RISC-V

Миф 3. На рынке нет ПЛИС или интегрированных сред разработки, которые можно использовать для оценки RISC-V

Компания Microsemi занимает лидирующее положение в этой области. Microsemi предлагает не только FPGA, поддерживающие ядра RISC-V (RTG4, IGLOO2 и PolarFire), но и интегрированную среду разработки (IDE) SoftConsole. Виртуальные платформы (программные симуляторы) также полезны для оценки RISC-V . Компания Imperas предлагает 32-битные и 64-битные модели ISA RISC-V и IDE (M*SDK) для разработки, отладки и тестирования программного обеспечения на RISC-V. Эти модели можно найти на веб-сайте Open Virtual Platforms. Кроме того, для оценки RISC-V разработчики могут использовать HiFive1 – Arduino-совместимую плату с RISC-V-процессором от SiFive.

Миф 4. Для использования RISC-V необходимо приобретать платную лицензию

Любой, кто хочет использовать RISC-V, может сделать это свободно – плата за использование RISC-V ISA не взимается. Например, многие программные ядра RISC-V можно бесплатно загрузить с сайта Microsemi, GitHub и др. Для конечных коммерческих продуктов использование товарного знака RISC-V или логотипа RISC-V разрешено только в соответствии с лицензией, предоставляемой в рамках Соглашения о членстве (RISC-V Foundation Membership Agreement.). Ключевым моментом является то, что данная ISA имеет разрешительную лицензию.

Миф 5. Компании, которые создают IP-ядра RISC-V, должны раскрывать их реализацию клиентам

Не существует каких-либо требований, согласно которым разработчик обязан раскрывать реализацию созданных им IP-ядер RISC-V ISA. Разработчик может поставлять IP-ядра RISC-V в закрытом виде в коммерческих продуктах, а может раскрывать их по-своему усмотрению. RISC-V Foundation поддерживает оба типа реализаций.

Кроме того, некоторые программные инструменты, поддерживающие RISC-V, включают в себя определенную реализацию IP-ядра. Как правило, эти инструменты, например, программы от Antmicro и Imperas, используют лицензию, аналогичную лицензии Berkeley Software Distribution (BSD) от Калифорнийского университета в Беркли; публичное раскрытие IP не требуется.

Миф 6. Процессоры RISC-V не такие быстрые и эффективные как x86 или ARM

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

Миф 7. Не существует программных средств для работы с RISC-V

Поддержка RISC-V была добавлена в GNU/GCC и GNU/GDB в мае 2017 года. Пользователям также предлагаются LLVM-инструменты (Low Level Virtual Machine) для создания компиляторов для RISC-V. Оба программных инструмента могут быть найдены на сайте RISC-V.

Antmicro предлагает для работы с RISC-V собственный симулятор инструкций (Instruction Set Simulator, ISS). Еще один симулятор инструкций есть в интегрированной среде разработки от QEMU. Imperas предлагает полностью виртуальную платформу для разработки программного обеспечения M * SDK. У Microsemi также есть среда IDE SoftConsole на базе Eclipse, которая используется для разработки программного обеспечения RISC-V.

SiFive предлагает бесплатную интегрированную среду разработки Freedom Studio на основе Eclipse.

Миф 8. Несколько ядер RISC-V не могут работать совместно в одном процессоре. Они также не могут работать вместе с другими процессорами

В этом смысле RISC-V ничем не отличаются от других процессорных ядер. Например, SiFive анонсировала многоядерные микросхемы с 32- и 64-разрядными ядрами RISC-V. В FPGA PolarFire для обеспечения расширенных функций безопасности микроконтроллер RISC-V используется совместно с криптографическим процессором Athena TeraFire. RISC-V отвечает за настройку типа безопасного обмена данными, а сам обмен осуществляет ядро TeraFire.

Миф 9. Доверять ядру RISC-V опасно

Если RTL-уровень (register transfer level) IP-ядра не закрыт и основан на хорошо известной открытой спецификации, его можно проверить и проанализировать, что важно для обеспечения безопасности проекта. При использовании программного IP-ядра RISC-V в FPGA можно самостоятельно проверить RTL, чтобы убедиться в его безопасности, в то время как в случае с процессорами с закрытыми архитектурами этого сделать нельзя, независимо от того идет ли речь о программных IP-ядрах или о готовых микросхемах. Таким образом, можно утверждать, что процессоры RISC-V с открытой реализацией оказываются намного более безопасным, чем ядра ARM или Intel, или любое другое закрытое программное ядро, где RTL недоступен.

Миф 10. RISC-V не поддерживаются ОС Linux

Наоборот, RISC-V поддерживаются несколькими разновидностями Linux, включая Yocto. В настоящий момент RISC-V Linux использует версию ядра Linux 4.6 и набор патчей RISC-V, которые будут включены в версию ядра 4.14. Это означает, что RISC-V скоро станет основной платформой в Linux. В отличие от ISA, создаваемых частными фирмами, открытый характер RISC-V ISA существенно облегчает координацию усилий различных компаний по поддержке Linux и других ОС, улучшая работу программного обеспечения и снижая затраты.

Миф 11. Невозможно перенести проект RISC-V с FPGA на ASIC

У некоторых производителей есть эмуляторы, которые позволяют предварительно запустить и проверить проект ASIC на FPGA. Codasip и SiFive предлагают прототипы IP-ядер для FPGA, которые можно перенести на ASIC. Microsemi предоставляет RTL для своих программных ядер RISC-V. Имея RTL очень просто сделать порт для ASIC, при этом не требуется оплачивать лицензионные отчисления.

Надеюсь после разоблачения этих мифов, разработчики наконец-то смогут реализовать все преимущества RISC-V. Дополнительную информацию по RISC-V можно получить на сайтах RISC-V Foundation или Microsemi RISC-V.

Источник: https://www.electronicdesign.com/

RISC против CISC

RISC против CISC

RISC против CISC, поставщики Unix против Intel. Когда-то это было серьезное соперничество, по накалу страстей не уступавшее сегодняшней битве между Netscape Communications и Microsoft. Сегодня «процессор сам по себе утратил былую актуальность», считает Джон Олтсик, аналитик компании Forrester Research. Для менеджеров информационных систем выбор теперь чаще основан на программном обеспечении и операционной системе. Однако микропроцессорная архитектура по-прежнему играет весомую роль в таких областях, как масштабируемость для приложений с высоким уровнем требований, и здесь преимущество по-прежнему остается за RISC.

Сегодня проблемы серверных кристаллов куда более расплывчаты. Computerworld попросил нескольких промышленных аналитиков помочь прояснить эти проблемы и тем самым облегчить процесс принятия решений о покупке той или иной аппаратуры. «Года два назад вы покупали продукцию Intel из-за ее цены, а RISC-процессоры из-за их производительности. Сегодня Intel ликвидировала эту брешь в производительности», — говорит Джим Гарден из компании Technology Business Research. По его словам, покупатели теперь должны сосредоточивать усилия на прикладном программном обеспечении и операционной системе. Им следует уделять внимание микропроцессорной скорости как таковой.

Два подхода

Вычислительная архитектура с сокращенным набором машинных команд (RISC) реализует метод компьютерной обработки, использующий правило 80/20, по которому в 80% работы центрального процессора используется только часть общего набора команд микропроцессора. Создатели RISC-процессоров взяли этот уменьшенный, упрощенный набор команд и объединили его с такими технологиями, как конвейерная обработка, которые позволяют микропроцессору выполнять множество команд за один процессорный цикл. В результате получился процессор, который имеет лучшую производительность для большинства приложений и теоретически стоит меньше, поскольку сам он небольшой и его производство обходится дешевле.

В список основных поставщиков RISC-систем входят компании Hewlett-Packard (PA-RISC), Sun Microsystems Computers (SPARC), Digital Equipment (Alpha), Silicon Graphics — модуль MIPS (R210000) и союз IBM и Motorola (PowerPC).

С другой стороны, семейства Pentium и Pentium Pro компании Intel продолжают реализацию более традиционной вычислительной архитектуры с полным набором машинных команд (CISC). CISC-процессоры содержат в сотни раз больше команд, чем RISC-процессоры, и используют от 8 до 12 способов адресации памяти по сравнению с 2-3 способами в RISC. Однако технические различия между RISC и CISC в последние годы становятся все менее четкими, особенно в том, что касается общей производительности систем. И CISC-, и RISC-системы, например, показывают в тестах обработки транзакций близкие результаты — от 5000 до 8000 транзакций в минуту, в зависимости от особенностей конфигурации. Для некоторых типов задач CISC-системы могут превзойти RISC. Два года назад это было бы неслыханно.

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

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

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

Однако преимущества RISC в основном обусловлены использованием операционной системы Unix, а не какими-либо характерными особенностями RISC-процессора.

Проблема SMP-систем в том, как операционная система распределяет работу между множеством процессоров. И здесь Intel приходится ждать, пока поставщики ОС не справятся с этой задачей. В настоящее время тандем RISC/Unix в этой области пользуется преимуществом.

По словам Гардена, серверы CISC/Intel, оснащенные операционной системой Windows NT производства Microsoft, могут без проблем поддерживать четыре процессора и даже доводить их число до шести для SMP-систем младшего класса. Как сообщает Джонатан Энис, аналитик компании Illuminata, для систем высокого уровня с массовым параллелизмом, где операционная система в любом случае настраивается на аппаратную архитектуру, компании NCR, Data General, Unisys, Sequent Computer Systems и другие предлагают большие серверы с параллельной обработкой на базе Intel, на которых работают различные реализации Unix. Серверы с параллельной обработкой на базе Intel имеют десятки и даже сотни процессоров.

«Масштабируемость больше не является преградой для CISC/Intel», — говорит Джонатан Энис. Выбор масштабируемости зависит от того, какое масштабирование вы хотите выполнить. CISC подойдет, если вы намерены перейти к сложным системам с массовым параллелизмом, в которых десятки, если не сотни процессоров. Но в менее сложных SMP-системах, с числом процессоров от четырех до шести, предпочтительнее иметь RISC.

Производительность приложений

Сегодня разница в производительности между RISC и CISC наиболее очевидна в вычислениях с плавающей точкой, где на микропроцессор падает большая математическая нагрузка. Высокая производительность RISC в вычислениях с плавающей точкой используется в финансово-торговых системах и сложных инженерных приложениях. Однако для большинства приложений бизнес-серверов высокой производительности вычислений с плавающей точкой не требуется. Им нужна производительность усложненных вычислений. «Процессор Intel Pentium по уровню производительности усложненных вычислений вполне конкурентоспособен», — говорит Рич Партридж, научный аналитик компании B.H. Brown Associates. Целые вычисления работают с целыми числами, для представления которых требуется меньшее число бит. Следовательно, они требуют меньше процессорных действий. Большинство бизнес-приложений, которые обеспечивают число заказанных изделий или вычисляют количество товаров на складе, используют главным образом усложненные вычисления.

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

Стоимость

В индустрии микропроцессоров фактор стоимости преобладает над технологией. Например, альянс Apple Computer/IBM/Motorola с помощью процессора RISC PowerPC намеревалось достичь такой же экономии, как и Intel. Идею не удалось реализовать, поэтому PowerPC остается дорогим процессором по сравнению с процессором Intel.

Серьезной проблемой становится жизнеспособность продукта в будущем, а не соотношение цена/производительность. «PowerPC отстал на отрезке цена/производительность. Время для них ушло», — отмечает Энис. «Я не уверен, что есть основания продолжать это дело. Если Apple примет процессор Intel, это будет конец для PowerPC», — считает Гарден. Тем, кто покупает серверы с PowerPC, нужно убедиться, что их поставщик и процессор будут жизнеспособными в течение срока существования продукта.

Тем временем Intel продолжает прикладывать усилия к тому, чтобы повысить производительность процессоров и при этом обеспечить товарный уровень цен. Организации, которым нужно наилучшее соотношение цена/производительность для бизнес-серверов младшего и среднего класса, выберут CISC/Intel. В этом секторе рынка RISC устроит только тех, кому нужна производительность вычислений с плавающей точкой или максимальный уровень масштабируемости SMP (а здесь RISC сильнее), либо тех, кто просто предпочитает RISC-реализации Unix.

Конструкция подсистем

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

С Pentium Pro Intel предлагает поставщикам не только процессоры, но целые четырехпроцессорные SMP-подсистемы. Из этих подсистем, как из строительных блоков, поставщики начинают создавать бизнес-серверы младшего класса с SMP на базе процессоров Pentium Pro по вполне приемлемым ценам. RISC- и CISC-системы обеспечивают сопоставимое качество интеграции. Различие только в цене. По словам Эниса, поставщиков систем на базе Intel намного больше, а их цены гораздо ниже. В системах старшего класса архитектура и интеграция подсистем становятся значительным фактором дифференциации между поставщиками.

Доступность программного обеспечения

«Прежде всего выбирайте прикладное ПО. Это поможет вам принять решение относительно операционной системы. Затем выбирайте платформу, на которой она будет работать», — советует Энис.

Последовав этому совету, вы, скорее всего, остановитесь на RISC, если пользуетесь ОС Unix, — как считает Олтсик, — поскольку именно здесь сосредоточены усилия основных поставщиков Unix. Такие ведущие поставщики Unix-систем, как Sun (Solaris), HP (HP-UX) и IBM (AIX), — используют RISC-процессоры. Если вы приобретаете Windows NT, у вас есть возможность выбрать процессор Intel или Alpha компании Digital. «Однако 90% NT-серверов используют Intel», — говорит Олтсик. Те покупатели NT, которые предпочли RISC-процессор Alpha, обычно работают с приложениями с большой вычислительной нагрузкой. «Шумное явление Windows NT в 1994 году несколько затруднило процесс выбора процессоров», — вспоминает Энис. Основные поставщики приложений, такие как SAP AG, переносят свои продукты на Windows NT, которая поднимает CISC/Intel на уровень общецелевого бизнес-сервера среднего класса.

Адресное пространство памяти

С появлением приложений классов хранилищ данных и добычи данных выбор между RISC и CISC, возможно, будет определяться 64-разрядной обработкой, для которой в настоящее время требуется RISC. CISC-процессоры 32-разрядные, но Intel сообщает о разработке 64-разрядного процессора, хотя пока это дело будущего. Выбор между RISC и CISC зависит от того, какой объем памяти вам необходим. В 64-разрядном процессоре адресное пространство памяти составляет 15 эксабайт (эксабайт больше мегабайта в 100 в четвертой степени раз).

Объем адресного пространства памяти в 32-разрядных процессорах составляет 4 Гбайт. Intel «выжимает» из своего процессора 64-гигабитное адресное пространство, используя нестандартные расширения микропроцессорной архитектуры, но операционные системы, работающие на Intel, еще не могут даже близко подойти к таким размерам адресации. По словам Эниса, даже самые большие 64-разрядные RISC-системы в общем случае обеспечивают только от 10 до 12 Гбайт памяти.

Если вы работаете с сложными приложениями баз данных или добычи данных, наличие 64-разрядного адресного пространства и 64-разрядных данных может обеспечить значительные преимущества в производительности. «64-разрядные процессоры позволяют вам использовать больше памяти, делая доступ к данным в 100 раз быстрее», — объясняет Олтсик.

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

Основные выводы

Используйте RISC/Unix для высокоскоростных серверов с интенсивной вычислительной нагрузкой, для 64-разрядного адресного пространства памяти и для SMP-масштабируемости.

С другой стороны, системы старшего класса с массовым параллелизмом переходят к CISC/Intel. Для среднего уровня выбирается RISC или CISC с ОС Unix или Windows NT. Системы младшего класса безраздельно принадлежат Intel.

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

Intel агитирует независимых поставщиков поддержать MMX

Как сообщили представители компании Intel, первые три месяца производства мультимедиа-процессоров MMX завершатся выпуском ориентированного на MMX программного обеспечения. Это ПО должно быть создано независимыми производителями.

«Уже создано 15-20 приложений, — отметил Стив Кони, менеджер по программе процессоров Pentium группы настольных систем компании Intel. — Это игровые, справочные, деловые приложения и средства обучения».

Деловые приложения будут включать в себя коммуникационное программное обеспечение, ориентированное на MMX, такое как ProShare VideoPhone самой Intel и Juggler компании Purespeech.

Juggler позволит ПК читать и реферировать сообщения электронной почты, а также воспроизводить голосовые сообщения по телефону. Выпуск этого ПО запланирован на первый квартал 1997 года. Juggler будет работать на ПК под Windows 95, с оперативной памятью емкостью 16 Мбайт, процессором Pentium с функциями MMX и модемом с поддержкой голосовой почты. Стоимость продукта составит 149 долл.

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

Предполагается, что первые версии таких приложений от независимых поставщиков программного обеспечения появятся в неанглоязычных странах Европы и Азии, в том числе Японии и Китае.

Приложения, соответствующие спецификациям набора операторов MMX, обеспечат увеличение производительности систем, работающих на процессорах Pentium MMX, более чем на 60% по сравнению с версиями, не ориентированными на MMX, работающими на системах Pentium с той же тактовой частотой.

В январе Intel представит свои первые процессоры Pentium MMX, имеющие тактовую частоту до 200 МГц, как для настольных систем, так и для мобильных компьютеров.

Некоторые производители, в том числе Acer America, Digital Equipment, IBM и NEC Technologies, продемонстрировали прототипы систем MMX, которые планируется реализовать, как только Intel представит свои процессоры.

В феврале, вслед за январским выпуском Pentium MMX, Intel намерена представить следующее поколение мультимедиа-процессоров Pentium Pro, получивших название Klamath.

Первый Klamath с тактовой частотой 233 МГц будет поставляться на процессорной плате с кэш-памятью 2 уровня емкостью 512 Кбайт.

Первые системы Pentium Pro/MMX будут предназначены для корпоративного рынка, но вскоре появятся и в высокоуровневых домашних офисах.


Вернуться Сайт управляется системой uCoz

Разница между архитектурами RISC и CISC и их приложениями

Архитектура центрального процессора (ЦП) управляет способностью функционировать от «Архитектуры набора команд» до того места, где она была разработана. Архитектура ЦП — это вычисление с сокращенным набором команд (RISC) и вычисление со сложным набором инструкций (CISC). Такой процессор, как CISC, может выполнять многоэтапные операции или режимы адресации в рамках одного набора команд. Это конструкция процессора, в которой одна инструкция выполняет несколько низкоуровневых действий.Например, хранение в памяти, загрузка из памяти и арифметическая операция. Вычисления с сокращенным набором команд — это стратегия проектирования центрального процессора, основанная на представлении о том, что базовый набор инструкций дает большую производительность в сочетании с архитектурой микропроцессора, которая способна выполнять инструкции, используя несколько циклов микропроцессора на инструкцию. В этой статье обсуждается разница между архитектурой RISC и CISC. Аппаратная часть Intel называется компьютером со сложным набором команд (CISC), а оборудование Apple — компьютером с сокращенным набором команд (RISC).

Различия между архитектурой RISC и CISC

Прежде чем обсуждать различия между архитектурой RISC и CISC, расскажите нам о концепциях RISC и CISC


Процессоры RISC и CISC
Что такое RISC?

Компьютер с сокращенным набором команд — это компьютер, который использует только простые команды, которые можно разделить на несколько инструкций, которые обеспечивают выполнение операций низкого уровня в пределах одного цикла CLK, поскольку его название предполагает «Сокращенный набор команд».

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

Этот вид процессора в основном используется для выполнения нескольких сложных команд путем объединения их в более простые.Для проектирования RISC-процессора требуется несколько транзисторов, что сокращает время выполнения команд. Лучшие примеры процессоров RISC включают PowerPC, SUN SPARC, RISC-V, процессоры Microchip PIC и т. Д.

Архитектура RISC

Термин RISC означает «компьютер с сокращенным набором команд». Это план проектирования ЦП, основанный на простых заказах и быстро действующий.

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

Характеристики

Характеристики RISC включают следующее.

  • Конвейерная архитектура
  • Количество инструкций ограничено, а также уменьшается
  • Инструкции, такие как загрузка и сохранение, имеют право входа в память
  • Режимы адресации меньше
  • Инструкция единообразна, и ее формат можно упростить
Преимущества

К преимуществам процессора RISC относятся следующие.

  • Производительность этого процессора хороша из-за номера easy & limited. набора инструкций.
  • Этот процессор использует в конструкции несколько транзисторов, что удешевляет изготовление.
  • RISC-процессор позволяет инструкции использовать свободное пространство на микропроцессоре из-за своей простоты.
  • За счет этого очень просто по сравнению с другим процессором; он может завершить свою задачу за один такт.
Недостатки

К недостаткам CISC-процессора можно отнести следующее.

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

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

Компьютер со сложным набором команд — это компьютер, на котором отдельные инструкции могут выполнять множество низкоуровневых операций, таких как загрузка из памяти, арифметическая операция и хранение в памяти, или выполняются с помощью многоступенчатых процессов или режимов адресации в отдельных инструкциях, как его название предполагает «Комплексный набор команд».

Итак, этот процессор сокращает количество инструкций в каждой программе и игнорирует количество циклов для каждой инструкции. Он подчеркивает необходимость открытой сборки сложных инструкций внутри оборудования, поскольку оборудование всегда сравнивается с программным. Однако микросхемы CISC относительно медленнее по сравнению с микросхемами RISC, но используют небольшие инструкции по сравнению с RISC. Лучшие примеры процессоров CISC включают AMD, VAX, System / 360 и Intel x86.

Архитектура CISC

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

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

Характеристики

К основным характеристикам RISC-процессора можно отнести следующие.

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

Преимущества

Преимущества CISC включают следующее.

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

Недостатки

К недостаткам CISC относятся следующие.

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

Разница между архитектурой RISC и CISC

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

RISC

CISC

1.RISC означает компьютер с сокращенным набором команд. 1. CISC означает компьютер со сложным набором команд.
2. Процессоры RISC имеют простые инструкции, занимающие примерно один такт. Средний тактовый цикл на инструкцию (CPI) составляет 1,5 2. Процессор CSIC имеет сложные инструкции, для выполнения которых требуется несколько тактов. Средний такт на инструкцию (CPI) находится в диапазоне от 2 до 15.
3. Производительность оптимизирована с уделением большего внимания программному обеспечению 3.Производительность оптимизирована, больше внимания уделяется оборудованию.
4. Он не имеет блока памяти и использует отдельное оборудование для реализации инструкций. 4. Он имеет блок памяти для реализации сложных инструкций.
5. Имеет проводной модуль программирования. 5. Имеет блок микропрограммирования.
6. Набор команд сокращен, то есть он содержит только несколько команд в наборе команд. Многие из этих инструкций очень примитивны. 6. Набор команд содержит множество различных инструкций, которые можно использовать для сложных операций.
7. Набор команд содержит множество различных инструкций, которые можно использовать для сложных операций. 7. CISC имеет много различных режимов адресации и, таким образом, может использоваться для более эффективного представления операторов языка программирования более высокого уровня.
8. Комплексные режимы адресации синтезируются с помощью программного обеспечения. 8. CISC уже поддерживает сложные режимы адресации
9. Имеется несколько наборов регистров 9. Имеется только один набор регистров
10. Процессоры RISC имеют высокую конвейерность 10. Обычно они не конвейерные или менее конвейерные
11. Сложность RISC заключается в компиляторе, который выполняет программу 11. Сложность заключается в микропрограмме
12.Время выполнения очень мало 12. Время выполнения очень велико
13. Расширение кода может быть проблемой 13. Расширение кода не проблема
14. Расшифровка инструкций проста. 14. Декодирование инструкций сложное
15. Не требует внешней памяти для вычислений 15. Требуется внешняя память для вычислений
16. Наиболее распространенными микропроцессорами RISC являются Alpha, ARC, ARM , AVR, MIPS, PA-RISC, PIC, Power Architecture и SPARC. 16. Примерами процессоров CISC являются ЦП System / 360, VAX, PDP-11, Motorola 68000, AMD и Intel x86.
17. Архитектура RISC используется в высокопроизводительных приложениях, таких как обработка видео, телекоммуникации и обработка изображений. 17. Архитектура CISC используется в низкоуровневых приложениях, таких как системы безопасности, домашняя автоматизация и т. Д.

Ключевые различия между RISC и CISC

Ключевые различия между RISC и CISC заключаются в следующем.

  • Размер набора команд невелик по сравнению с RISC.
  • В RISC управление ЦП может осуществляться аппаратно без использования управляющей памяти, тогда как CISC закодирован на микрокоде и использует ПЗУ, однако текущий процессор CISC также использует аппаратное управление.
  • RISC-процессор работает с 32-битными для каждой инструкции и часто на основе регистра, в то время как CISC использует неравномерный формат, который варьируется от 16 до 64 бит для каждой инструкции.
  • RISC-архитектура включает в себя дизайн кэша инструкций и разделение данных, тогда как архитектура CISC включает унифицированный кеш, предназначенный для данных и инструкций, хотя самые последние разработки также используют разделенные кеши.
  • В процессоре RISC механизм используемой памяти — это регистр для регистрации, включая такие инструкции, как STORE и независимая ЗАГРУЗКА. В CISC механизм использования памяти — это память в память для выполнения различных операций, включая такие инструкции, как LOAD & STORE.
  • Регистры общего назначения, используемые в процессоре RISC, составляют от 32 до 192, тогда как RISC использует от 8 до 24 GPR.
  • В процессоре RISC используется один тактовый сигнал, и режимы адресации ограничены, тогда как в CISC он использует многочастотный тактовый сигнал, а режимы адресации находятся в диапазоне от 12 до 24.
  • Разница между набором команд RISC и CISC состоит в том, что RISC ISA выделяет программное обеспечение по сравнению с аппаратным обеспечением. Набор команд процессора RISC использует более эффективное программное обеспечение, такое как код или компиляторы, с меньшим количеством инструкций. CISC ISA используют ряд транзисторов в аппаратном обеспечении для выполнения нескольких инструкций, а также дополнительных сложных инструкций.

Преимущества RISC над CISC включают следующее.

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

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

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

Что такое архитектура RISC и CISC и их работа

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

Набор команд процессора

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


Что такое RISC и CISC?

RISC и CISC могут быть расширены следующим образом:

RISC представляет компьютер с сокращенным набором команд, а
CISC представляет компьютер со сложным набором команд.

Архитектура RISC (компьютер с сокращенным набором команд)

Архитектура RISC

Архитектура микроконтроллера, в которой используется небольшой и высоко оптимизированный набор инструкций, называется компьютером с сокращенным набором инструкций или просто RISC.Это также называется архитектурой ЗАГРУЗКИ / СОХРАНЕНИЯ.

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


Типичные особенности архитектуры RISC

  • Метод конвейерной обработки RISC, выполняет несколько частей или этапов инструкций одновременно, так что каждая инструкция на CPU оптимизируется.Следовательно, процессоры RISC имеют тактовую частоту на инструкцию одного цикла, и это называется выполнением за один цикл.
  • Он оптимизирует использование регистров с большим количеством регистров в RISC, и можно предотвратить большее количество взаимодействий в памяти.
  • Простые режимы адресации, даже сложная адресация может быть выполнена с помощью арифметических логических операций И ​​/ ИЛИ.
  • Это упрощает конструкцию компилятора за счет использования идентичных регистров общего назначения, что позволяет использовать любой регистр в любом контексте.
  • Для эффективного использования регистров и оптимизации конвейерной обработки требуется сокращенный набор команд.
  • Количество бит, используемых для кода операции, уменьшено.
  • Как правило, в RISC 32 или более регистров.

Преимущества архитектуры процессора RISC

  • Из-за небольшого набора инструкций RISC компиляторы языков высокого уровня могут создавать более эффективный код.
  • RISC позволяет свободно использовать место на микропроцессорах из-за своей простоты.
  • Вместо использования стека многие процессоры RISC используют регистры для передачи аргументов и хранения локальных переменных.
  • Функции RISC используют только несколько параметров, а процессоры RISC не могут использовать инструкции вызова и, следовательно, используют инструкции фиксированной длины, которые легко конвейерно.
  • Скорость операции можно максимизировать, а время выполнения можно минимизировать.
  • Требуется очень меньшее количество форматов инструкций (менее четырех), небольшое количество инструкций (около 150) и несколько режимов адресации (менее четырех).

Недостатки архитектуры процессора RISC

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

Архитектура CISC (компьютер со сложным набором команд)

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

Архитектура CISC

Особенности архитектуры CISC

  • Для упрощения компьютерной архитектуры CISC поддерживает микропрограммирование.
  • CISC имеют большее количество предопределенных инструкций, что упрощает разработку и реализацию языков высокого уровня.
  • CISC состоит из меньшего числа регистров и большего количества режимов адресации, обычно от 5 до 20.
  • CISC-процессор использует различное время цикла для выполнения инструкций — многочастотные циклы.
  • Из-за сложного набора инструкций CISC технология конвейерной обработки очень сложна.
  • CISC состоит из большего количества инструкций, обычно от 100 до 250.
  • Специальные инструкции используются очень редко.
  • Операнды в памяти управляются инструкциями.

Преимущества архитектуры CISC

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

Недостатки CISC

  • Время, затрачиваемое разными инструкциями, будет различным — из-за этого производительность машины снижается.
  • Сложность набора команд и аппаратное обеспечение микросхемы возрастают, поскольку каждая новая версия процессора состоит из подмножества более ранних поколений.
  • Только 20% существующих инструкций используются в типичном программном событии, хотя существует множество специализированных инструкций, которые даже не используются часто.
  • Условные коды устанавливаются инструкциями CISC как побочный эффект каждой инструкции, для которой требуется время для этой настройки, и, поскольку последующая инструкция изменяет биты кода условия, поэтому компилятор должен проверить биты кода условия перед этим. бывает.

Сравнение RISC и CISC

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

На следующем рисунке показано больше различий между RISC и CISC

RISC и CISC

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

Авторы фотографий:

Архитектура RISC и CISC: ее характеристики и преимущества

CISC и RISC

Архитектура центрального процессора

позволяет работать от «Архитектуры набора команд» до места, где она была разработана. Архитектурные конструкции ЦП — это RISC (вычисления с сокращенным набором команд) и CISC (вычисления со сложным набором команд). CISC может выполнять режимы адресации или многоэтапные операции в одном наборе команд.Это конструкция ЦП, в которой одна инструкция выполняет множество низкоуровневых операций. Например, хранение в памяти, арифметические операции и загрузка из памяти. RISC — это стратегия проектирования ЦП, основанная на понимании того, что упрощенный набор команд дает более высокую производительность в сочетании с архитектурой микропроцессора, которая имеет возможность выполнять инструкции, используя несколько циклов микропроцессора на команду.

В этой статье обсуждается архитектура RISC и CISC с соответствующими схемами.

  • Оборудование Intel называется компьютером со сложным набором команд (CISC).
  • Оборудование Apple — это компьютер с сокращенным набором команд (RISC).

Что такое архитектура RISC и CISC

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

Архитектура CISC

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

Архитектура CISC

  • MUL загружает два значения из памяти в отдельные регистры в CISC.
  • CISC использует минимум возможных инструкций, реализуя оборудование и выполняя операции.
  • Архитектура набора команд — это среда, позволяющая осуществлять связь между программистом и оборудованием.Часть выполнения данных, копирование данных, удаление или редактирование — это команды пользователя, используемые в микропроцессоре, и с этим микропроцессором управляется архитектура набора команд.
  • Основные ключевые слова, используемые в вышеупомянутой архитектуре набора инструкций, следующие:

Набор инструкций: Группа инструкций, предназначенных для выполнения программы, и они управляют компьютером, манипулируя данными. Инструкции представлены в форме — Opcode (рабочий код) и Operand. Где opcode — это инструкция, применяемая для загрузки и сохранения данных и т. Д.Операнд — это регистр памяти, в котором применяется инструкция.

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

Производительность ЦП определяется фундаментальным законом


Таким образом, производительность ЦП зависит от количества команд, CPI (циклов на команду) и времени тактового цикла. И на все три влияет архитектура набора команд.

Счетчик команд ЦП

Это подчеркивает важность архитектуры набора команд. Существуют две распространенные архитектуры наборов команд

Примеры ПРОЦЕССОРОВ CISC

IBM 370/168 — Он был представлен в 1970 году.Дизайн CISC представляет собой 32-битный процессор и четыре 64-битных регистра с плавающей запятой.
VAX 11/780 — CISC-дизайн представляет собой 32-разрядный процессор и поддерживает множество режимов адресации и машинных инструкций от Digital Equipment Corporation.
Intel 80486 — Он был запущен в 1989 году и представляет собой процессор CISC, который имеет инструкции различной длины от 1 до 11 и будет иметь 235 инструкций.

ХАРАКТЕРИСТИКИ CISC-АРХИТЕКТУРЫ
  • Логика декодирования инструкций будет сложной.
  • Для поддержки нескольких режимов адресации требуется одна инструкция.
  • Меньше места на микросхеме достаточно для регистров общего назначения для инструкций, которые выполняются непосредственно в памяти.
  • Различные конструкции CISC устанавливают два специальных регистра для указателя стека, обработки прерываний и т. Д.
  • MUL упоминается как «сложная инструкция» и требует от программиста для хранения функций.

Архитектура RISC

RISC (Компьютер с сокращенным набором команд) используется в портативных устройствах из-за его энергоэффективности.Например, Apple iPod и Nintendo DS. RISC — это тип микропроцессорной архитектуры, в которой используется высокооптимизированный набор инструкций. RISC делает обратное, сокращая количество циклов на инструкцию за счет количества инструкций на программу. Конвейерная обработка — одна из уникальных особенностей RISC. Это выполняется путем перекрытия выполнения нескольких инструкций конвейерным способом. Он имеет высокое преимущество в производительности по сравнению с CISC.

Архитектура RISC

Процессоры RISC принимают простые инструкции и выполняются в пределах такта.

ХАРАКТЕРИСТИКИ АРХИТЕКТУРЫ RISC
  • Простые инструкции используются в архитектуре RISC.
  • RISC помогает и поддерживает несколько простых типов данных и синтезирует сложные типы данных.
  • RISC использует простые режимы адресации и инструкции фиксированной длины для конвейерной обработки.
  • RISC позволяет использовать любой регистр в любом контексте.
  • Время выполнения одного цикла
  • Объем работы, которую может выполнить компьютер, уменьшается за счет разделения инструкций «ЗАГРУЗИТЬ» и «СОХРАНИТЬ».
  • RISC содержит большое количество регистров, чтобы предотвратить различное количество взаимодействий с памятью.
  • В RISC конвейерная обработка проста, поскольку выполнение всех инструкций будет выполняться за единый интервал времени, то есть в один щелчок.
  • В RISC требуется больше ОЗУ для хранения инструкций уровня сборки.
  • Для сокращенных инструкций требуется меньшее количество транзисторов в RISC.
  • RISC использует модель памяти Гарварда, что означает, что это Гарвардская архитектура.
  • Для выполнения операции преобразования используется компилятор, средство преобразования оператора языка высокого уровня в код его формы.
Сравнение RISC и CISC

Сравнение CISC и RISC

Инструкция MUL разделена на три команды
«ЗАГРУЗИТЬ» — перемещает данные из банка памяти в регистр.
«PROD» — находит произведение двух операндов, расположенных внутри регистры
«STORE» — перемещает данные из регистра в банки памяти.
Основное различие между RISC и CISC заключается в количестве инструкций и их сложности.

RISC против CISC

SEMANTIC GAP

Архитектура RISC и CISC была разработана как попытка восполнить семантический пробел.

Semantic Gap

С целью повышения эффективности разработки программного обеспечения появилось несколько мощных языков программирования, а именно Ada, C, C ++, Java и т. Д. Они обеспечивают высокий уровень абстракции, лаконичности и мощности. В результате этой эволюции семантический разрыв увеличивается. Для обеспечения эффективной компиляции программ на языке высокого уровня используются два варианта дизайна CISC и RISC.

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

CISC и RISC Design

Умножение двух чисел в памяти

Если основная память разделена на области, пронумерованные от строки 1: столбец 1 до строки 5: столбец 4. Данные загружаются в один из четырех регистров (A , B, C или D). Чтобы найти умножение двух чисел — одно хранится в ячейке 1: 3, а другое — в ячейке 4: 2 и сохраняет результат в 1: 3.

Умножение двух чисел

Преимущества и недостатки RISC и CISC

Преимущества архитектуры RISC

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

Недостатки архитектуры RISC

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

Преимущества архитектуры CISC

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

Недостатки архитектуры CISC

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

Добавить комментарий

Ваш адрес email не будет опубликован.