Популярные процессоры CISC
Реализация процессоров на основе БИС и СБИС различных типов. Типы микропроцессоров. Архитектура микропроцессора. Регистры микропроцессора. Структура памяти. Сегментация. Вычисление адреса. Структура команд (на примерах микропроцессоров, использующих различные типы организации взаимодействия в вычислительной системе). Система команд микропроцессора, процедура выполнения команд. Рабочий цикл микропроцессора. Работа микропроцессора при выполнении прерывания. Взаимодействие аппаратного и программного обеспечения в работе ЭВМ. Однокристальные микроЭВМ.
Тема 3.1 Основные типы микропроцессоров (2 часа)
Типы микропроцессоров
Все микропроцессоры можно разделить на группы:
1. Микропроцессоры типа CISC с полным набором системы команд;
2. Микропроцессоры типа RISC с усеченным набором системы команд;
3. Микропроцессоры типа VLIW со сверхбольшим командным словом;
4. Микропроцессоры типа MISC с минимальным набором системы команд и весьма высоким быстродействием и др.
К основным относят группы CISC и RISC.
1. СISC-процессоры: Complex Instruction Set Computing — вычисления со сложным набором команд. Процессорная архитектура, основанная на усложнённом наборе команд.
2. RISC-процессоры: Reduced Instruction Set Computing (technology) — вычисления с сокращённым набором команд. Архитектура процессоров, построенная на основе сокращённого набора команд. Характеризуется наличием команд фиксированной длины, большого количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации.
Микропроцессоры типа CISC
Микропроцессор CISC использует набор машинных инструкций, полностью соответствующий набору команд языка ассемблера. Вычисления разного типа в нем могут выполняться различными командами, даже если они приводят к одному результату (например, умножение на два и сдвиг на один разряд влево). Такая архитектура обеспечивает разнообразные и мощные способы выполнения вычислительных операций на уровне машинных команд, но для выполнения каждой команды обычно требуется большое число тактов процессора.
Для CISC-процессоров характерно:
• сравнительно небольшое число регистров общего назначения;
• большое количество машинных команд, некоторые из которых нагружены семантически аналогично операторам высокоуровневых языков программирования и выполняются за много тактов;
• большое количество методов адресации;
• большое количество форматов команд различной разрядности;
• преобладание двухадресного формата команд;
· наличие команд обработки типа регистр-память.
Организация первых моделей процессоров — i8086/8088 — была направлена, в частности, на сокращение объёма программ, критичного для систем того времени, отличавшихся малой оперативной памятью. Расширение спектра операций, реализуемых системой команд, позволило уменьшить размер программ, а также трудоёмкость их написания и отладки. Однако увеличение числа команд повысило трудоёмкость разработки их топологических и микропрограммных реализаций. Последнее проявилось в удлинении сроков разработки CISC-процессоров, а также в проявлении различных ошибок в их работе. Кроме того, нерегулярность потока команд ограничила развитие топологии временным параллелизмом обработки инструкций на конвейере “выборка команды- дешифрация команды- выборка данных- вычисление- запись результата”.
Эти недостатки обусловили необходимость разработки альтернативной архитектуры, нацеленной, прежде всего, на снижение нерегулярности потока команд уменьшением их общего количества. Это было реализовано в RISC-процессорах, название которых означает “чипы с сокращённой системой команд” (Reduced Instruction Set Computer).
Популярные процессоры CISC
К наиболее популярным CISC-процессорам относят:
1. Микропроцессоры фирмы Intel: В 1985 г фирма Intel выпускает микропроцессор 80386. Кристалл на котором он был выполнен стал родоначальником нового поколения микропроцессоров.
2. Микропроцессоры фирмы АМD.: фирма AMD производит 486DX-40, 486DX2-50, 486DX2-66. Готовятся к выпуску процессоры 486DX2-80 и 486DX4-120. Они обеспечивают полную совместимость со всеми ориентированными на платформу Intel программными продуктами и такую же производительность, как и аналогичные изделия фирмы Intel (при одинаковой тактовой частоте). Кроме того, они предлагаются по более низким ценам, а процессор на 40 MHz отсутствующий в производственной программе Intel, конкурирует с 486DX-33, превосходя его по произ- водительности на20 процентов при меньшей стоимости.
3. Микропроцессоры фирмы Cyrix: фирма Cyrix разработала процессоры М6 и М7 (аналоги 486SX и 486DX 2) на тактовые частоты 33 м 40 MHz, а также с удвоением частоты DX2-50 и DX2-66. Они имеют более быстродействующую внутреннюю кэш-память 8 КВ с обратной записью и более быстрый встроенный сопроцессор. По некоторым операциям производительность выше, чем у процессоров фирмы Intel, по некоторымнесколько ниже. Соответственно, существенно различаются и результаты на разных тестирующих программах. Цены на 486 процессоры Cyrix значительно ниже, чем на Intel и AMD.
4. Микропроцессоры фирмы Моtorola серии МС680ХХ: это семейство содержит ряд 16 -разрядных микропроцессоров, 32 -разрядные микропроцессоры : 68020, 68030, 68040. Модели микропроцессоров серии 680ХХ не совместимы по обьектным кодам с 8 -разрядными микропроцессорами серии МС68ХХ
Источник
Процессоры с полным набором команд cisc
Основу центрального процессора ПЭВМ составляет микропроцессор(МП) — обрабатывающее устройство, служащее для арифметических и логических преобразований данных, для организации обращения к ОП и ВНУ и для управления ходом вычислительного процесса. В настоящее время существует большое число разновидностей микропроцессоров, различающихся назначением, функциональными возможностями, структурой, исполнением. Наиболее существенными классификационными различиями между ними чаще всего выступают:
назначение (микропроцессоры для серверов и мощных приложений; МП для персональных компьютеров и т.д.);
количество разрядов в обрабатываемой информационной единице (8-битные, 16-битные, 32-битные, 64-битные и др.);
технология изготовления (0.5мкм-технология; 0.35мкм; 0.25мкм; 0.18мкм; 0.13мкм; 0.07мкм, и т.п.).
Обобщенная структурная схема 32-разрядного микропроцессора x86 (серии Pentium) приведена на рис.15.3.
Условно микропроцессор можно разделить на три части: исполнительный блок (Execution Unit — EU), устройство сопряжения с системной магистралью (Bus Interface Unit — BIU) и блок управления микропроцессором (Control Unit — CU).
В исполнительном блоке находятся: арифметический блок (кэш данных — DATE CACHE, микросхемы арифметико-логического устройства — АЛУ, регистр флагов), регистры общего назначения (РОН) EAX, EBX, ECX, EDX; общие регистры ESI, EDI, ESP, EBP.
В регистре флагов каждый разряд имеет строго определенное назначение. Обычно разряды регистра флагов устанавливаются аппаратно при выполнении очередной операции в зависимости от получаемого в АЛУ результата. При этом фиксируются такие свойства получаемого результата, как нулевой результат, отрицательное число, переполнение разрядной сетки АЛУ и т.д.
Регистры общего назначения EAX, EBX, ECX, EDX имеют длину по 32 бита. Каждый из них делится на два 16-битных регистра, младший из которых имеет свое имя (что обеспечивает совместимость с 16-разрядными версиями микропроцессоров). Так, в регистре EAX содержится 16-битный регистр AX, в регистре EBX содержится регистр BX, в ECX — регистр CX, в EDX — регистр DX. Каждый из 16-битных регистров, в свою очередь, состоит из двух 8-битных регистров, имеющих свои имена. Например, АХ (аккумулятор) делится на AH и AL, регистр базы (Base Register) — BX, делится на BH и BL. Счетчик (Count Register) CX включает регистры CH и CL. Регистр данных (Data Register) DX содержит регистры DH и DL. Каждый из коротких регистров может использоваться самостоятельно или в составе регистровой пары. Условные названия (аккумулятор, регистр базы, счетчик, регистр данных) не ограничивают применения этих регистров — эти названия говорят о наиболее частом их использовании или об особенности применения того или иного регистра в той или иной команде. Буква «Н» в имени 8-битного регистра означает верхний (или старший) регистр, буква «L» — младший (т.е. младший байт 16-битного регистра или младший однобайтный регистр двухбайтного регистра).
Рис. 15.3. Обобщенная структурная схема 32-разрядного микропроцессора
Эти регистры используются для операций с данными, такими как сравнение, математические операции или запись данных в память. Регистр СХ чаще всего применяется как счетчик циклов.
Общие регистры — ESP, EBP, ESI, EDI также 32-битные, младшая половина которых доступна как регистры S P, B P, SI, DI.
Регистр ESP указывает на адрес вершины стека (адрес, куда будет заноситься следующая переменная командой PUSH).
Регистр ЕВР содержит адрес базы, который может использоваться при работе со стеком.
Регистр ESI — адрес источника, обычно содержит адрес начала блока информации для операций типа «переместить блок», а регистр EDI — адрес приемника (назначения) в этой операции.
Блок управления микропроцессором содержит сегментные регистры, системные регистры и блок выработки управляющих сигналов микропроцессора.
Сегментные регистры CS, DS, ES, FS, GS, SS имеют длину по 16 бит и используются для формирования физических адресов команд и данных в основной памяти.
CS — сегмент кода исполняемой в данный момент программы.
DS — сегмент данных исполняемой программы, т.е. константы, строковые ссылки и т.д.
SS — сегмент стека исполняемой программы.
ES, FS, GS — дополнительные сегменты, которые в некоторых программах могут не использоваться.
Системные регистры GDTR и LDTR являются регистрами глобальной и локальной дескрипторных таблиц. GDTR имеет длину 48 бит, LDTR — 16 бит (точнее, 16 бит — это только «видимая» часть этого регистра).
Регистр IDTR (таблицы дескрипторов прерываний — DTR) имеет длину 48 бит, 32 из которых являются базовым адресом таблицы дескрипторов прерываний (IDT), а 16 — смещением этого адреса (пределом).
Регистр TR является регистром состояния задачи. «Видимая» его часть имеет длину 16 бит и содержит селектор дескриптора. «Скрытая» часть регистра содержит загружаемые автоматически базовый адрес точки входа, предел и атрибуты задачи.
Структурная схема блока выработки управляющих сигналов микропроцессора приведена на рис.15.4.
Основу его составляют счетчик команд, АЛУ, конвейер команд и группа управляющих, отладочных и тестовых регистров.
Регистр EIP является указателем адреса команды (Instruction Pointer), которая будет выбираться в конвейер команд в качестве очередной команды (в отечественной литературе такое устройство называется счетчик команд).
Рис. 15.4. Структурная схема блока выработки управляющих сигналов
Конвейер команд МП хранит несколько команд, что позволяет при выполнении линейных программ совместить подготовку очередной команды с выполнением текущей. Команды в конвейер команд поступают с внутренней магистрали микропроцессора и накапливаются в кэше команд. Блок предвыборки и прогнозирования переходов осуществляет трансляцию команд x86 в RISС-команды, прогнозирует последовательность исполнения команд и направляет полученные последовательности команд в соответствующие ветви конвейера команд (U,V,…). Каждый конвейер команд имеет свой буфер (память магазинного типа FIFO), из которого команды поступают в соответствующий регистр команд для исполнения.
АЛУ команд используется для вычисления физических адресов необходимых для работы микропроцессора команд и данных.
Управляющие регистры — CR0, CR1, CR2, CR3, — имеют длину по 32 бита. Эти регистры устанавливают режим работы процессора (нормальный, защищенный и т.д.), контролируют постраничное распределение памяти, и т.д. Они доступны только для привилегированных программ. Младшая часть регистра CR0 используется как слово состояния машины.
Отладочные регистры — DR0-DR7 — содержат адреса восьми точек прерывания и устанавливают, что должно произойти при достижении программой соответствующей точки прерывания. Эти регистры используются при отладке программы с помощью таких отладочных средств, как debug.exe (для реального режима) или ntsd.exe (для защищенного режима). Тестовые (контрольные) регистры TRj используются для контроля постраничной системы распределения памяти, реализуемой операционной системой.
Микропроцессоры типа CISC
Микропроцессор CISC использует набор машинных инструкций, полностью соответствующий набору команд языка ассемблера. Вычисления разного типа в нем могут выполняться различными командами, даже если они приводят к одному результату (например, умножение на два и сдвиг на один разряд влево). Такая архитектура обеспечивает разнообразные и мощные способы выполнения вычислительных операций на уровне машинных команд, но для выполнения каждой команды обычно требуется большое число тактов процессора.
Для CISC-процессоров характерно:
• сравнительно небольшое число регистров общего назначения;
• большое количество машинных команд, некоторые из которых нагружены семантически аналогично операторам высокоуровневых языков программирования и выполняются за много тактов;
• большое количество методов адресации;
• большое количество форматов команд различной разрядности;
• преобладание двухадресного формата команд;
· наличие команд обработки типа регистр-память.
Организация первых моделей процессоров — i8086/8088 — была направлена, в частности, на сокращение объёма программ, критичного для систем того времени, отличавшихся малой оперативной памятью. Расширение спектра операций, реализуемых системой команд, позволило уменьшить размер программ, а также трудоёмкость их написания и отладки. Однако увеличение числа команд повысило трудоёмкость разработки их топологических и микропрограммных реализаций. Последнее проявилось в удлинении сроков разработки CISC-процессоров, а также в проявлении различных ошибок в их работе. Кроме того, нерегулярность потока команд ограничила развитие топологии временным параллелизмом обработки инструкций на конвейере “выборка команды- дешифрация команды- выборка данных- вычисление- запись результата”.
Эти недостатки обусловили необходимость разработки альтернативной архитектуры, нацеленной, прежде всего, на снижение нерегулярности потока команд уменьшением их общего количества. Это было реализовано в RISC-процессорах, название которых означает “чипы с сокращённой системой команд” (Reduced Instruction Set Computer).
RISC — Reduced Instruction Set Computer – архитектура компьютера с сокращенным набором команд. RISC-архитектура предполагает реализацию в ЭВМ сокращенного набора простейших, но часто употребляемых команд, что позволяет упростить аппаратурные средства процессора и благодаря этому получить возможность повысить его быстродействие.
Современные процессоры типа RISC характеризуются следующими особенностями:
упрощенный набор команд, имеющих одинаковую длину.
Отсутствуют макрокоманды, усложняющие структуру процессора и уменьшающую скорость его работы.
Взаимодействие с оперативной памятью ограничивается операциями пересылки данных.
Уменьшено число способов адресации
Используется конвейер команд.
Применяется высокоскоростная память.
Новый подход к архитектуре команд процессора значительно сократил площадь, требуемой для него на кристалле интегральной микросхемы. Это позволило резко увеличить число регистров (более 100 по лекциям, а вообще в типовых RISC-процессорах реализуются 32 или большее число регистров по сравнению с 8 — 16 регистрами в CISC-архитектурах). В результате процессор стал на 20-30% реже обращаться к оперативной памяти. Упростилась топология процессора, сократились сроки ее разработки, она стала дешевле.
Особенностью RISC архитектуры является механизм перекрывающихся окон, предназначенный для уменьшения числа обращений к оперативной памяти и межрегистровых передач, что способствует увеличению производительности ЭВМ.
Наиболее широко используемые в настольных компьютерах процессоры архитектуры x86 ранее являлись CISC-процессорами, однако новые процессоры, начиная с Intel 486DX, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции x86-процессоров в более простой набор внутренних инструкций RISC.
Суперскалярные процессоры – дальнейшее развитие конвейеризации. Их отличительной особенностью является возможность выполнения нескольких команд за один процессорный цикл.
Архитектура их вычислительного ядра используюет несколько декодеров команд, которые могут нагружать работой множество исполнительных блоков. Если в процессе работы команды, обрабатываемые конвейером, не противоречат друг другу, и одна не зависит от результата другой, то такое устройство может осуществить параллельное выполнение команд. В суперскалярных системах формирование расписания управления команд возлагается на микропроцессор, что требует много ресурсов.
При описании архитектуры суперскалярного процессора часто используется модель окна исполнения. При исполнении программы микропроцессор как бы продвигает по статической структуре программы окно исполнения. Команды в окне исполнения могут исполняться параллельно, если между ними нет зависимости. Для устранения зависимостей, вызванных командами перехода, используется метод предсказания.
VLIW – появилась в России. Она не попадает под принципы фон Неймана (нарушает принцип программного управления, т.е. последовательного выполнения команд).
Архитектура ЭВМ с длинным командным словом (VLIW – Very Long Instruction Word) позволяет сократить объем оборудования, требуемого для реализации параллельной выдачи несколько команд, базируется на множестве независимых командных устройств. Вместо того чтобы выдавать на эти устройства последовательные команды, операции упаковываются в одну очень длинную команду. Ответственность за вывод параллельно выдаваемых для выполнения команд полностью ложится на компилятор.
В процессорах VLIW задача решается распределения работы между вычислительными модулями во время компиляции. Аппаратные средства, необходимые для реализации параллельной обработки, отсутствуют.
Для машин с VLIW-архитектурой был разработан новый метод планирования выдачи команд – трассировочное планирование. Во время планирования генерируется длинное командное слово. Процесс упаковки команд последовательной программы в длинные командные слова продолжается до тех пор, пока не будет оптимизирована вся программа.
Примеры процессоров на этой архитектуре – Intel Itanium (архитектура IA-64, Merced), микропроцессоры серии «Эльбрус» («Эльбрус 2000», «Эльбрус S»).
Источник
Виды популярных архитектур процессоров
Прежде чем рассмотреть основные виды архитектур процессоров, необходимо понять, что это такое. Под архитектурой процессора обычно понимают две совершенно разные сущности.
С программной точки зрения архитектура процессора — это совместимость с определённым набором команд (Intel x86), их структуры (система адресации, набор регистров) и способа исполнения (счётчик команд).
Говоря простым языком, это способность программы, собранной для архитектуры x86, работать практически на любой x86-совместимой системе. При этом такая программа не будет работать, например, на ARM системе.
С аппаратной точки зрения архитектура процессора — это некий набор свойств и качеств, присущий целому семейству процессоров (Skylake – процессоры Intel Core 5 и 6 поколений).
Если тема кажется сложной, можно начать со статьи о том, чем CPU отличается от GPU.
Виды архитектур
В этой статье мы рассмотрим самые распространенные и актуальные архитектуры с программной точки зрения, кроме узкоспециализированных (графических, математических, тензорных).
CISC (англ. Complex Instruction Set Computer — «компьютер с полным набором команд») — тип процессорной архитектуры, в первую очередь, с нефиксированной длиной команд, а также с кодированием арифметических действий в одной команде и небольшим числом регистров, многие из которых выполняют строго определенную функцию.
Самый яркий пример CISC архитектуры — это x86 (он же IA-32) и x86_64 (он же AMD64).
В CISC процессорах одна команда может быть заменена ей аналогичной, либо группой команд, выполняющих ту же функцию. Отсюда вытекают плюсы и минусы архитектуры: высокая производительность благодаря тому, что несколько команд могут быть заменены одной аналогичной, но большая цена по сравнению с RISC процессорами из-за более сложной архитектуры, в которой многие команды сложнее раскодировать.
RISC (англ. Reduced Instruction Set Computer — «компьютер с сокращённым набором команд») — архитектура процессора, в котором быстродействие увеличивается за счёт упрощения инструкций: их декодирование становится более простым, а время выполнения — меньшим. Первые 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 это по большей части не является проблемой, так как пользователь может найти в интернете версию программы под другую архитектуру. Сделать же версию проприетарной программы под другую архитектуру может только владелец исходного кода программы.
MISC (англ. Minimal Instruction Set Computer — «компьютер с минимальным набором команд»).
Ещё более простая архитектура, используемая в первую очередь для ещё большего уменьшения итоговой цены и энергопотребления процессора. Используется в IoT-сегменте и недорогих компьютерах, например, роутерах.
Для увеличения производительности во всех вышеперечисленных архитектурах может использоваться “спекулятивное исполнение команд”. Это выполнение команды до того, как станет известно, понадобится эта команда или нет.
VLIW (англ. Very Long Instruction Word — «очень длинная машинная команда») — архитектура процессоров с несколькими вычислительными устройствами. Характеризуется тем, что одна инструкция процессора содержит несколько операций, которые должны выполняться параллельно.
По сути является архитектурой CISC со своим аналогом спекулятивного исполнения команд, только сама спекуляция выполняется во время компиляции, а не во время работы программы, из-за чего уязвимости Meltdown и Spectre невозможны для этих процессоров. Компиляторы для процессоров этой архитектуры сильно привязаны к конкретным процессорам. Например, в следующем поколении максимальная длина «очень длинной команды» может из условных 256 бит стать 512 бит, и тут приходится выбирать между увеличением производительности путём компиляции под новый процессор и обратной совместимостью со старым процессором. Опять же, Open Sourсe позволяет простой перекомпиляцией получить программу под конкретный процессор.
Примеры архитектуры: Intel Itanium, Эльбрус-3.
Виртуальные архитектуры
Но раз нельзя запустить программу одной архитектуры на другой, то откуда берутся магические JAR-файлы, которые можно запустить на любой машине? Это пример виртуальной JVM-архитектуры, которая, по сути, эмулируется на целевой реальной машине. Поэтому достаточно JVM-машины для целевой архитектуры для запуска на ней любой Java-программы. Другим примером виртуальной архитектуры является .NET CIL.
Из минусов виртуальных архитектур можно выделить меньшую производительность по сравнению с реальными архитектурами. Этот минус нивелируется с помощью JIT- и AOT-компиляции. Однако большим плюсом будет кроссплатформенность.
Дальнейшим развитием этих архитектур стали гибридные архитектуры. Например современные x86_64 процессоры хотя и CISC-совместимы, но являются процессорами с RISC-ядром. В таких гибридных CISC-процессорах CISC-инструкции преобразовываются в набор внутренних RISC-команд. Какое дальнейшее развитие получат архитектуры процессора, покажет только время.
Источник
Архитектура процессоров (CISC, RISC, MISC)
Микропроцессор — это устройство, представляющее собой одну или несколько больших интегральных схем (БИС), выполняющих функции процессора ЭВМ. Классическое вычислительное устройство состоит из арифметического устройства (АУ), устройства управления (УУ), запоминающего устройства (ЗУ) и устройства ввода-вывода (УВВ).
Существуют процессоры различной архитектуры.
CISC (англ. Complex Instruction Set Computing) — концепция проектирования процессоров, которая характеризуется следующим набором свойств:
· большим числом различных по формату и длине команд;
· введением большого числа различных режимов адресации;
· обладает сложной кодировкой инструкции.
Процессору с архитектурой CISC приходится иметь дело с более сложными инструкциями неодинаковой длины. Выполнение одиночной CISC-инструкции может происходить быстрее, однако обрабатывать несколько таких инструкций параллельно сложнее.
Облегчение отладки программ на ассемблере влечет за собой загромождение узлами микропроцессорного блока. Для повышения быстродействия следует увеличить тактовую частоту и степень интеграции, что вызывает необходимость совершенствования технологии и, как следствие, более дорогого производства.
- Компактность наборов инструкций уменьшает размер программ и уменьшает количество обращений к памяти.
- Наборы инструкций включают поддержку конструкций высокоуровневого программирования.
- Нерегулярность потока команд.
- Высокая стоимость аппаратной части.
- Сложности с распараллеливанием вычислений.
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, выраженный в том, что при компиляции с языка высокого уровня микрокод генерируется из библиотеки стандартных функций, занимающей много места в ОЗУ. Поскольку микропрограмма уже дешифрована и открыта для программиста, то времени выборки из ОЗУ на дешифрацию не требуется.
Источник
Основные архитектуры процессоров
Понятие архитектуры процессора не имеет единого толкования, поскольку под ним понимаются две различные сущности. С программной позиции она представляет собой совместимость процессора с конкретным набором команд, его способность выполнять определённый набор кодов. То есть это способность программы, которая была собрана для архитектуры семейства x86, функционировать на всех x86-совместимых системах. На ARM системе такая программа работать не будет.
С аппаратной позиции архитектура процессора, называемая иногда микроархитектурой, является набором свойств, характерным для всего семейства процессоров и отражающим базовые особенности его внутренней организации. К примеру, микроархитектура процессоров Intel Pentium имела обозначение Р5, а процессоры Pentium 4 относились к NetBurst. После закрытия Intel микроархитектуры Р5 для производителей AMD разработала архитектуру К7 и К8 для процессоров Athlon, Athlon XP и Athlon 64 соответственно.
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-процессоры выполняют порядка сотни команд с закреплённым форматом длиной 4 байта, используя небольшое количество простых способов адресации (индексную, регистровую и другие). Чтобы сократить число обращений к внешней оперативной памяти, в RISC применяются сотни регистров общего назначения (РОН), в то время как в CISC их всего 8-16. В RISC-процессорах обращение к памяти используется только при загрузке данных в РОН либо пересылке результатов в память.
Благодаря сокращению аппаратных средств, используемых для декодирования и реализации сложных команд, достигается значительное упрощение и снижение стоимости интегральных схем. В то же время возрастает производительность и снижается энергопотребление, что особенно актуально для мобильного сегмента. Эти же достоинства служат причиной использования во многих современных 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-архитектура (Minimal Instruction Set Computer) является процессором с минимальным набором команд. Она отличается ещё большей простотой и используется для ещё большего снижения энергопотребления и итоговой стоимости процессора. MISC-архитектура применяется в IoT-сегменте и компьютерах малой стоимости вроде роутеров. Первой вариацией такого процессора стал MuP21.
В основе MISC-процессоров лежит укладка ряда команд в единое большое слово, что позволяет параллельно обрабатывать несколько потоков данных. MISC применяет стековую модель устройства и базовые слова языка Forth. Процессоры этой архитектуры отличаются малым числом наиболее востребованных команд и использованием длинных командных слов, что позволяет получить выполнение ряда непротиворечивых команд за единый цикл работы процессора. Порядок исполнения команд определяется так, чтобы максимально загрузить маршруты, пропускающие потоки данных.
Все вышеназванные архитектуры могут применять «спекулятивное исполнение команд», то есть исполнение команды заранее, когда ещё неизвестна её необходимость. Это позволяет увеличить производительность.
VLIW-архитектура (Very Long Instruction Word) относится к микропроцессорам, применяющим очень длинные команды за счёт наличия нескольких вычислительных устройств. В отдельных полях команды присутствуют коды, которые обеспечивают реализацию различных операций. Одна команда в VLIW может исполнить одновременно несколько операций в разных узлах микропроцессора. Формированием таких длинных команд занимается соответствующий компилятор во время трансляции программ, которые написаны на высокоуровневом языке.
VLIW-архитектура, являясь достаточно перспективной для разработки нового поколения высокопроизводительных процессоров, реализована в некоторых современных микропроцессорах:
Источник