Разное

Risc cisc: Cisc и Risc процессоры: архитектура, иерархия, разновидности

Содержание

Архитектура процессоров RISC и CISC, их достоинства и недостатки



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

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

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

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

Микропроцессор — интегральная схема (ИС), которая реализует функции центрального процессора (ЦП или просто процессора) компьютерной системы. Его разработка стала возможной благодаря развитию полупроводниковой технологии, позволившей создать большое число транзисторов на одном кремниевом кристалле (чипе) [3]. Именно эта конструкция позволяет подсоединить процессор к системной плате компьютера.

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

В свою очередь, каждый процессор имеет определенную архитектуру. Архитектуру процессоров можно истолковать как «комбинацию вычислительной архитектуры и её реализацию в процессоре (в кремнии), то если рассматривать в аспекте программирования и аппаратно-технических (и технологических) решений» [1, с. 100]. Стоит обратить внимание на то, что отличие архитектур и их несовместимость обнаруживается именно на уровне машинного кодирования или низкоуровневого программирования (ассемблирования).

С программной точки зрения, архитектура процессоров определяется как «набор регистров, команд, их структуру и способ выполнения, в результате чего, с одной стороны, программы, собранные для процессоров одной архитектуры, могут выполняться практически на всех процессорах одинаковой (или подобной) архитектуры, а с другой — не смогут работать на процессорах иной архитектуры» [1, с. 100].

С аппаратной точки зрения, «архитектура процессора — это набор составных частей, компонентов и технологий, присущих линейке процессоров. Аппаратная часть постоянно совершенствуется, как по микроархитектуре, так и по технологическому процессу» [1, с. 100]. Выпускаются новые поколения процессоров, основной елью которых является увеличение производительности и функциональности.

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

Так, на текущий момент, актуальные и распространённые архитектуры — это CISC, RISC, VLIW и другие, но в данной статье рассмотрим подробнее такие архитектуры процессоров как CISC и RISC, так как большинство вычислительной техники построено на них.

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

CISC (англ. Complex Instruction Set Computer — «компьютер с полным набором команд») это первый появившийся в истории тип процессорной архитектуры, с такими отличительными особенностями как:

— имеет нефиксированную длину команд;

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

Основоположником CISC-архитектуры считается фирма IBM с архитектурой IBM/360.

Ярким примером CISC архитектуры является x86 (он же IA-32) и x86_64 (он же AMD64).

x86 (Intel 80×86) — аппаратная платформа: архитектура микропроцессора и соответствующий набор инструкций, как разработанных и выпускаемых компанией Intel, так и совместимых с ними процессоров других производителей (AMD, VIA, Transmeta, WinChip и т. д.) [2].

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

— большое количество команд разного формата и длины;

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

— имеет сложную кодировку инструкций.

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

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

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

Тем не менее архитектура CISC имеет такие преимущества , как:

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

Также не могу не перечислить недостатки архитектуры CISC:

1) Неравномерность потока команд.

2) Высокая стоимость оборудования.

3) Трудности распараллеливания вычислений.

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

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

Термин RISC был придуман Дэвидом Паттерсоном из проекта Berkeley RISC.

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

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

Достоинства данной архитектуры:

1) высокая тактовая частота;

2) высокая скорость выполнения команд;

3) уменьшение площади кристалла;

4) снижение энергопотребления;

5) снижение цены.

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

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

Литература:

  1. Афонин, И. Современные процессорные архитектуры / И. Афонин, Д. Кабачник. — Текст: непосредственный // В записную книжку инженера. — 2020. — № СТА1. — С. 100–104.
  2. x86 — это… Что такое x86?. — Текст: электронный // АКАДЕМИК: [сайт]. —URL: https://dic.academic.ru/dic.nsf/ruwiki/9669#:~:text=X86 %20(Intel %2080×86) %20 %20аппаратная,(i286) %2C %2080386 %20(i386) %2C %2080486 %20(i486) (дата обращения: 19.06.2022).
  3. Грушин, А. И. МИКРОПРОЦЕ́ССОР / А. И. Грушин. — Текст: электронный // Большая российская энциклопедия: [сайт]. — URL: https://bigenc.ru/technology_and_technique/text/3348546 (дата обращения: 19.06.2022).
  4. Процессор. Архитектура процессора. CISC и RISC процессоры. — Текст: электронный // Referat911: [сайт]. — URL: https://www.referat911.ru/Informatika/processor-arhitektura-processora-cisc-i/543270–3281893-place1.html (дата обращения: 19.06.2022).
  5. Евкова, А. Процессор персонального компьютера. Назначение, функции, классификация процессора / А. Евкова. — Текст: электронный // evkova.org: [сайт]. — URL: https://www.evkova.org/kursovye-raboty/protsessor-personalnogo-kompyutera—naznachenie-funktsii—klassifikatsiya-protsessora#footnote-23 (дата обращения: 19.06.2022).
  6. Самелюк, А. RISC-архитектура процессора / А. Самелюк. — Текст: электронный // FB: [сайт]. — URL: https://fb.ru/article/350271/risc-arhitektura-protsessora (дата обращения: 19.06.2022).

Основные термины (генерируются автоматически): CISC, RISC, архитектура, процессор, IBM, архитектура процессоров, вычислительная техника, аппаратная часть, высокий уровень, программная архитектура.

Архитектуры CISC и RISC (часть 6)

4 June 2022, 8:47 pm


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

  

Евгений Рудометов 
 

Часть 5 
  

Гибридные процессоры

Действительно, широко используемые в серверах, настольных и мобильных компьютерах процессоры архитектуры x86 являются представителями CISC-процессоров. Однако, начиная с Intel Pentium Pro (1995 г.), они являются CISC-процессорами с RISC-ядром. В этих процессорах перед исполнением CISC-инструкции наборов команд x86 (и x86-64) преобразуются в более простой набор внутренних инструкций RISC. Этот процесс облегчает и ускоряет параллельное исполнение команд за счет снижения простоев внутренних функциональных узлов процессора.

Процессор Intel Pentium Pro
(Википедия)

  

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

Процессор Apple M1
(Википедия)

 

Процессор M1 имеет четыре высокопроизводительных ядра Firestorm и четыре ядра низкого энергопотребления Icestorm. В результате реализации многоядерности, дополненной рядом специальных технологий, компьютер Mac mini 2020 года, оснащенный M1, демонстрирует 7 Вт в режиме ожидания и 39 Вт при максимальной нагрузке. Это существенно меньше по сравнению с 20 Вт в режиме ожидания и 122 Вт при максимальной нагрузке компьютера Mac mini 2018 года с 6-ядерным Intel Core i7. В дополнение к этому M1 показал конкурентоспособную производительность и эффективность в популярных тестах Geekbench 5, Cinebench R23. Все это позволило моделям M1 занять достойное место в компьютерах Apple, несколько потеснив в этом секторе рынка CISC-процессоры Intel, хотя следует признать, что у каждого варианта есть свои достоинства и некоторые ограничения.

 

Неформальное заключение

Конечно, портированные узлы и технологии улучшают функциональные и потребительские возможности процессоров CISC и RISC, повышают их производительность, но не делают их универсальными. Такие процессоры остаются либо в группе CISC, либо в группе RISC. Данное обстоятельство накладывает соответствующие ограничения на использование программного обеспечения. Здесь уместно еще раз напомнить, что процессоры CISC и RISC имеют разные наборы команд. Это не позволяет без соответствующего перекодирования осуществлять беспроблемный перенос системных и прикладных программ между компьютерными устройствами CISC и RISC. Однако в ряде случаев существуют соответствующие программы, осуществляющие перекодирование “налету” в реальном масщтабе времени, правда, за счет фактического снижения реальной производительности.

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

>>    Часть 1 
     

 Сокращенные версии статьи: 

  • Чем отличаются архитектуры процессоров и можно ли их сравнивать? 
  • Чем отличаются архитектуры процессоров и можно ли их сравнивать? / IT-Expert. 2022, №5, с.20-25 

Ссылки по теме

Filed under All, Все статьи, Процессоры Tagged 15, 500, Apple, Core i7, CT, i7, Intel, IT, Mac, Mini, NY, PR, Pre, Wikipedia, x86, XP, компьютер, процессор

Comments are closed  |  Permalink

Архитектура

RISC и CISC: что лучше?

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

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

Что такое микропроцессор?

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

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

Подход CISC


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

RISC-подход

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

В чем разница между RISC и CISC?

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

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

На первый взгляд основные различия между архитектурой RISC и CISC следующие:

RISC

ЦИСК

Акцент на программное обеспечение

Акцент на аппаратных средствах

Небольшое количество инструкций фиксированной длины

Большое количество инструкций

Простые стандартизированные инструкции

Сложные инструкции переменной длины

Инструкции за один такт

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

Интенсивное использование оперативной памяти

Более эффективное использование оперативной памяти

Низкое число циклов в секунду при больших размерах кода

Малый размер кода с большим числом циклов в секунду

Что такое RISC-V?


Теперь у нас есть понимание различий между архитектурой RISC и CISC, давайте усложним ситуацию, представив RISC-V. Электронная промышленность, кажется, сходит с ума по RISC-V (произносится как «риск-пять»), но почему?

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

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

Преимущества RICS-V по сравнению с традиционной архитектурой RICS и CISC включают:

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

2. Инновации — Компании могут реализовать минимальный набор инструкций и использовать пользовательские расширения и определенные расширения для создания процессоров для передовых инструментов.

3. Снижение затрат и ускорение вывода на рынок . Повторное использование интеллектуальной собственности с открытым исходным кодом помогает снизить стоимость разработки и позволяет компаниям быстрее выводить свои разработки на рынок.

RISC, CISC или RISC V: что лучше?

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

—Выберите категорию — NewsInsights

Читать далее

Что означает Закон о чипах и науке для кандидатов в полупроводники?

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

Читать далее

Как Talent Solutions может помочь вам преодолеть нехватку полупроводников

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

Читать далее

6 советов по профилю LinkedIn для соискателей в сфере электроники  

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

Читать далее

встречных предложений — почему кандидаты их принимают?

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

Читать далее

Что такое технология 5G и как она изменит мир?

Мы рассмотрим, что такое 5G, объясним, как он работает, и изучим реальные преимущества технологии беспроводной сотовой связи пятого поколения.

Читать далее

Как назначить собеседование для должностей в области электроники

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

Читать далее

Каким будет будущее машиностроения после Covid?

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

Читать далее

Архитектура RISC и CISC: что лучше?

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

Читать далее

Каково значение нитрида галлия для электронной промышленности?
Нитрид галлия

, или GaN, называют кремнием будущего. Но что это за материал и почему он вызывает такой ажиотаж в области электроники?

Читать далее

Используйте визу h2-B для привлечения специалистов в области электроники в США

Вы изо всех сил пытаетесь найти профессионалов в области электроники, чтобы заполнить пробелы в навыках в вашем бизнесе в США? Вот как виза h2-B может помочь вам найти талантливых кандидатов, которые вам нужны.

Читать далее

Используйте синюю карту ЕС для найма профессионалов в области электроники со всего мира

Пытаетесь нанять квалифицированных специалистов по электронике для вашей фирмы в ЕС? Вот как могут помочь Голубая карта ЕС и набор специалистов PER.

Читать далее

Как хорошо провести видеоинтервью

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

RISC и CISC — неправильная линза для сравнения современных процессоров x86 и ARM

Этот сайт может получать партнерские комиссионные от ссылок на этой странице. Условия эксплуатации.

Обновление (29 декабря 2021 г.) : Это конец года, поэтому мы показываем несколько старых фаворитов, выпущенных ранее в 2021 году. Упоминаемый ниже «M2» относится к SoC Apple, которые в конечном итоге поставлялись как М1 Про и М1 Макс.

Исходная история ниже:

В связи с предстоящей конференцией Apple WWDC мы ожидаем услышать больше об обновленных ноутбуках MacBook Pro на базе ARM. Слухи указывают на то, что Apple запускает ряд модернизированных систем, на этот раз основанных на своем процессоре «M2», увеличенной версии ядра M1, дебютировавшего в прошлом году. Сообщается, что M2 может иметь восемь высокопроизводительных ядер и два высокоэффективных ядра по сравнению с конфигурацией 4+4 в существующей конфигурации M1.

С запуском M1 на базе ARM появилось множество сравнений x86 и ARM, а также онлайн-дискуссий, в которых сравнивались и противопоставлялись новые архитектуры. В этих темах вы часто будете видеть, как авторы упоминают две дополнительные аббревиатуры: CISC и RISC. Связь между «ARM против x86» и «CISC против RISC» настолько сильна, что каждая история на первой странице результатов Google определяет первую со ссылкой на вторую.

Эта ассоциация ошибочно предполагает, что «x86 по сравнению с ARM» можно четко разделить на «CISC по сравнению с RISC», где x86 — это CISC, а ARM — RISC. Тридцать лет назад это было правдой. Сегодня это неправда. Битва за то, как сравнивать процессоры x86 с процессорами других компаний, не нова. Это кажется новым только сегодня, потому что у x86 не было серьезного архитектурного соперника почти два десятилетия. ARM может позиционировать себя как производитель процессоров RISC, но сегодня эти термины скрывают столько же, сколько проясняют современное состояние процессоров x86 и ARM.

Изображение Дэвида Бауэра, CC BY-SA 2.0

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

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

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

К концу 1970-х процессоры CISC имели ряд недостатков. Их часто приходилось реализовывать на нескольких чипах, потому что методы VLSI (Very Large Scale Integration) того времени не могли упаковать все необходимые компоненты в один пакет. Реализация сложных архитектур набора команд с поддержкой большого количества редко используемых инструкций требует места на кристалле и снижает максимально достижимую тактовую частоту. Тем временем стоимость памяти неуклонно снижалась, что делало акцент на размере кода менее важным.

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

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

Эти принципы дизайна быстро доказали свою ценность. R2000, представленный MIPS в 1985 году, при определенных обстоятельствах мог поддерживать IPC, близкий к 1. Ранние семейства процессоров RISC, такие как SPARC и семейство HP PA-RISC, также устанавливали рекорды производительности. В конце 1980-х и начале 1990-х люди часто слышали, что архитектуры на основе CISC, такие как x86, ушли в прошлое и, возможно, достаточно хороши для домашних вычислений, но если вы хотели работать с настоящим процессором , вы покупали RISC-чип. Центры обработки данных, рабочие станции и высокопроизводительные вычисления — вот где процессоры RISC оказались наиболее успешными, как показано ниже:

Этот образ Intel полезен, но требует контекста. Похоже, что «архитектура Intel» относится только к процессорам x86, а не к чипам вроде 8080, который был популярен на раннем компьютерном рынке. Точно так же у Intel было несколько суперкомпьютеров в категории «RISC» в 2000 году — именно машины с архитектурой x86 завоевали долю рынка.

Подумайте, что это изображение говорит о состоянии рынка процессоров в 1990 году. К 1990 году x86 ограничил не-x86 процессоры лишь 20 процентами рынка персональных компьютеров, но у него практически не было доли x86 в центрах обработки данных и ни одной в HPC. Когда Apple захотела сделать ставку на дизайн ЦП следующего поколения, в 1919 году она сделала ставку на PowerPC.91, потому что они считали, что высокопроизводительные процессоры, построенные на принципах RISC, — это будущее вычислений.

Соглашение о взаимной истории CISC и RISC заканчивается в начале 1990-х годов. Тот факт, что архитектура Intel x86 продолжала доминировать в вычислительной отрасли для ПК, центров обработки данных и высокопроизводительных вычислений (HPC), бесспорна. Спорный вопрос заключается в том, добились ли Intel и AMD этого, приняв определенные принципы проектирования RISC, или же их заявления о том, что они сделали это, были ложью.

Различные взгляды

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

Во-первых, это Пол ДеМоун из RealWorldTech в статье «RISC vs. современных реализаций процессоров x86, использующих управляющие слова фиксированной длины для управления неупорядоченными путями выполнения данных… Точка зрения «RISC и CISC сходятся» — фундаментально ошибочная концепция, восходящая к запуску i486 в 1992 и коренится в широко распространенном игнорировании различий между архитектурой набора команд и деталями реализации физического процессора.

Напротив, вот Джон «Ганнибал» Стоукс в статье «RISC vs. CISC: эпоха пост-RISC»: обе философии проектирования имеют дело с гораздо большим, чем просто простота или сложность набора инструкций… В свете того, что мы теперь знаем об историческом развитии RISC и CISC, а также о проблемах, которые каждый подход пытался решить, теперь должно быть очевидно что оба термина в равной степени бессмысленны… Какие бы споры о «RISC и CISC» не велись, они уже давно закончились, и теперь должно последовать более тонкое и гораздо более интересное обсуждение, которое затрагивает каждую платформу — аппаратное и программное обеспечение, ISA и реализацию. – по существу.

Ни одна из этих статей не является новой. Статья Стоукса была написана в 1999 году, статья ДеМоуна — в 2000 году. Я процитировал их обоих, чтобы продемонстрировать, что вопрос о том, имеет ли отношение различие между RISC и CISC к современным вычислениям, существует буквально более 20 лет. Джон Стоукс — мой бывший коллега и более чем эксперт, чтобы не попасть в ловушку «невежества», на которую ссылается ДеМоун.

Внедрение против ISA

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

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

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

Эта точка зрения, ориентированная на ISA, утверждает, что Intel, AMD и x86 одержали победу над MIPS, SPARC и POWER/PowerPC по трем причинам: превосходное технологическое производство Intel, постепенное снижение так называемого «налога CISC» с течением времени, которое Превосходное производство Intel позволило, и эта бинарная совместимость сделала x86 более ценной по мере того, как его установочная база росла, независимо от того, была ли она лучшей ISA.

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

Вот пример. Сегодня как x86, так и высокопроизводительные процессоры ARM используют неупорядоченное выполнение для повышения производительности процессора. Использование кремния для переупорядочивания инструкций на лету для повышения эффективности выполнения полностью противоречит первоначальной философии дизайна RISC. Паттерсон и Дитцель выступали за менее сложный процессор, способный работать на более высоких тактовых частотах. Другие общие черты современных процессоров ARM, такие как блоки выполнения SIMD и прогнозирование ветвлений, также не существовали в 1981 году. Первоначальная цель RISC состояла в том, чтобы все инструкции выполнялись в одном цикле, и большинство инструкций ARM соответствуют этому правилу, но ARMv8 и ARMv9ISA содержат инструкции, выполнение которых занимает более одного такта. Как и современные процессоры x86.

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

Но разве это неправильно?

Совпали ли разработки RISC и CISC?

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

Обычное объяснение звучит так: в начале 1990-х годов Intel и другие производители процессоров x86 поняли, что для повышения производительности процессора в будущем потребуется нечто большее, чем увеличение кэш-памяти или более высокая тактовая частота. Несколько компаний решили инвестировать в микроархитектуры процессоров x86, которые могли бы на лету переупорядочивать свои собственные потоки инструкций для повышения производительности. В рамках этого процесса собственные инструкции x86 передавались в декодер x86 и транслировались в «RISC-подобные» микрооперации перед выполнением.

Это общепринятое мнение уже более двух десятилетий, но недавно оно снова подверглось сомнению. В статье, опубликованной на Medium еще в 2020 году, Эрик Энгхейм написал: «В чипах x86 нет внутренних компонентов RISC. Это просто маркетинговый ход». Он указывает как на историю ДеМоуна, так и на цитату Боба Колвелла, главного архитектора микроархитектуры P6.

Микроархитектура P6 была первой микроархитектурой Intel, в которой реализовано неупорядоченное выполнение и собственный механизм декодирования x86-to-micro-op. P6 поставлялся как Pentium Pro и превратился в Pentium II, Pentium 3 и выше. Это дедушка современных процессоров x86. Если кто и должен знать ответ на этот вопрос, так это Колвелл, и вот что он сказал:0003

Процессоры Intel x86 НЕ имеют RISC-движка «под капотом». Они реализуют архитектуру набора команд x86 через схему декодирования/исполнения, основанную на отображении инструкций x86 в машинные операции или последовательности машинных операций для сложных инструкций, и эти операции затем находят свой путь через микроархитектуру, подчиняясь различным правилам о зависимостях данных и в конечном итоге временная последовательность.

«Микрооперации», выполняющие этот трюк, имеют ширину более 100 бит, несут всевозможную странную информацию, не могут быть напрямую сгенерированы компилятором, не обязательно являются одним циклом. Но, прежде всего, это уловка микроархитектуры — RISC/CISC касается архитектуры набора команд… Идея микроопераций не была «вдохновлена ​​RISC», «подобна RISC» или вообще не была связана с RISC. Это была наша команда разработчиков, которая нашла способ сломать сложность очень сложного набора инструкций, убрав возможности и ограничения микроархитектуры, присутствующие в конкурирующем микропроцессоре.

Дело закрыто! Верно?

Не совсем так. (Перейдите к 16:46 этого видео, чтобы примерно представить, что я чувствую, когда даже выглядит как , что противоречит Бобу Колвеллу) утверждалось, что это серверная часть в стиле RISC. NexGen, позднее приобретенная AMD. ЦП NexGen 5×86 дебютировал в марте 1994 г., а Pentium Pro — только в ноябре 1995 г. Вот как NexGen описала свой ЦП: «Процессор Nx586 — это первая реализация инновационного и запатентованного процессора NexGen.0225 RISC86 микроархитектура». (выделение добавлено). Позже компания сообщает некоторые дополнительные подробности: «Инновационный подход RISC86 динамически переводит инструкции x86 в инструкции RISC86. Как показано на рисунке ниже, Nx586 использует принципы производительности RISC. Благодаря среде RISC86 каждое исполнительное устройство стало меньше и компактнее».

Еще можно возразить, что это маркетинговый ход и не более того, так что давайте перейдем к 1996 году и AMD K5. K5 обычно описывается как внешний интерфейс x86, соединенный с серверной частью исполнения, AMD позаимствовала его у своего 32-битного RISC-микроконтроллера Am29. 000. Прежде чем мы посмотрим на его блок-схему, я хочу сравнить его с оригинальным Intel Pentium. Pentium, возможно, является вершиной эволюции CISC x86, учитывая, что он реализует как конвейерную обработку, так и супермасштабирование в процессоре x86, но не преобразует инструкции x86 в микрооперации и не имеет механизма выполнения вне очереди.


Теперь сравните Pentium с AMD K5.

Если вы когда-нибудь рассматривали блок-схемы микропроцессоров, то K5 должен показаться вам знакомым, в отличие от Pentium. AMD купила NexGen после запуска Nx586. K5 был собственной разработкой AMD, а K6 изначально был продуктом NexGen. С этого момента процессоры начинают больше похож на чипы, с которыми мы знакомы сегодня. И, по словам инженеров, разработавших эти чипы, сходство было более чем поверхностным.

Дэвид Кристи из AMD опубликовал в IEEE Micro статью о K5 еще в 1996 году, в которой рассказывается о гибридизации RISC и CISC:

Мы разработали микро-ISA на основе набора инструкций 29000. Несколько дополнительных управляющих полей увеличили размер микроинструкции до 59 бит. Некоторые из них упрощают и ускоряют суперскалярную логику управления. Другие предоставляют специфичные для x86 функции, которые слишком критичны для производительности, чтобы синтезировать их с помощью последовательностей микроинструкций. Но эти микроинструкции по-прежнему придерживаются основных принципов RISC: простые операции «регистр-регистр» с фиксированным кодированием спецификаторов регистров и других полей и не более одной ссылки на память на операцию. По этой причине мы называем их операциями RISC или сокращенно ROP (произносится как R-ops). Их простая природа общего назначения дает нам большую гибкость при реализации более сложных операций x86, помогая сохранить относительно простую логику выполнения.

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

Кристи не путает разницу между ISA и деталями физической реализации процессора. Он утверждает, что физическая реализация сама по себе «подобна RISC» во многих важных аспектах.

K5 повторно использовал части исполняющего бэкенда AMD, разработанного для семейства RISC-процессоров Am29000, и реализует внутренний набор инструкций, более похожий на RISC, чем собственный x86 ISA. Методы в стиле RISC NexGen и AMD в этот период ссылаются на такие концепции, как кэширование данных, конвейерная обработка и суперскалярные архитектуры. Два из них — кэширование и конвейерная обработка — названы в статье Паттерсона. Ни одна из этих идей не строго RISC, но все они сначала дебютировали в процессорах RISC, и они были преимуществами, связанными с процессорами RISC, когда K5 был новым. Маркетинг этих возможностей как «RISC-подобных» имел смысл по той же причине, по которой OEM-производители той эпохи имели смысл описывать свои ПК как «IBM-совместимые».

Степень, в которой эти функции относятся к RISC, и ответ на вопрос, декодируют ли процессоры x86 инструкции в стиле RISC, зависит от критериев, выбранных вами для формулировки вопроса. Аргумент больше, чем Pentium Pro, даже если P6 является микроархитектурой, наиболее связанной с развитием технологий, таких как механизм выполнения вне очереди. У разных инженеров в разных компаниях были свои точки зрения.

Насколько перегружены процессоры x86 в современную эпоху?

Прошлое никогда не умирает. Это даже не прошлое. — Уильям Фолкер

Пришло время перенести это обсуждение в современную эпоху и рассмотреть последствия этого сравнения «RISC и CISC» для процессоров ARM и x86, которые фактически поставляются сегодня. Вопрос, который мы действительно задаем, сравнивая процессоры AMD и Intel с Apple M1 и будущим M2, заключается в том, существуют ли исторические узкие места x86, которые не позволят x86 эффективно конкурировать с Apple и будущими чипами ARM от таких компаний, как Qualcomm?

По данным AMD и Intel: Нет. По данным ARM: Да. Поскольку у всех рассматриваемых компаний есть очевидные конфликты интересов, вместо этого я спросил Agner Fog.

Агнер Фог — датский антрополог-эволюционист и ученый-компьютерщик, известный обширными ресурсами, которые он поддерживает по архитектуре x86. Его руководства по микроархитектуре практически обязательны к прочтению, если вы хотите понять низкоуровневое поведение различных процессоров Intel и AMD:

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

Сложный x86 ISA делает декодирование узким местом. Инструкция x86 может иметь любую длину от 1 до 15 байт, и вычислить длину довольно сложно. И вам нужно знать длину одной инструкции, прежде чем вы сможете начать декодировать следующую. Это, безусловно, проблема, если вы хотите декодировать 4 или 6 инструкций за такт! И Intel, и AMD теперь продолжают добавлять большие кэши для микроопераций, чтобы преодолеть это узкое место. У ARM есть инструкции фиксированного размера, поэтому этого узкого места не существует, и нет необходимости в кэше микроопераций.

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

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

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

И вот, наконец, мы подходим к сути вопроса: насколько сильно современные процессоры AMD и Intel платят за совместимость с x86?

Узкие места декодирования, прогнозирование ветвлений и сложности конвейера, на которые ссылается Агнер, являются частью «налога на CISC», который, по утверждению ARM, ложится на x86. В прошлом Intel и AMD сообщали нам, что мощность декодирования составляет однозначный процент от общего энергопотребления чипа. Но это не имеет большого значения, если ЦП сжигает энергию для кэша микроопераций или сложного предсказателя ветвлений, чтобы компенсировать недостаток пропускной способности декодирования. Энергопотребление кэш-памяти микроопераций и энергопотребление предсказания переходов определяются микроархитектурой ЦП и узлом производственного процесса. «RISC против CISC» неадекватно отражает сложность отношений между этими тремя переменными.

Пройдет несколько лет, прежде чем мы узнаем, представляют ли M1 от Apple и будущие процессоры от Qualcomm кардинальные изменения на рынке или очередной вызов, на который ответят AMD и Intel. Является ли поддержание совместимости с x86 бременем для современных процессоров — это одновременно новый и очень старый вопрос. Новое, потому что до запуска M1 не было возможности проводить какое-либо осмысленное сравнение. Старый, потому что эта тема часто обсуждалась, когда в персональных компьютерах все еще использовались процессоры, отличные от x86.

AMD продолжает улучшать Zen в 1,15–1,2 раза в год. Мы знаем, что Intel Alder Lake также будет использовать процессорные ядра x86 с низким энергопотреблением для снижения энергопотребления в режиме ожидания. Оба производителя x86 продолжают развивать свои подходы к производительности. Потребуется время, чтобы увидеть, как эти ядра и их преемники сопоставляются с будущими продуктами Apple, но x86 не выбывает из этой борьбы.

Почему RISC и CISC — неправильный способ сравнения процессоров x86 и ARM

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

Сводить всю историю развития процессоров к CISC и RISC — все равно, что утверждать, что эти две книги содержат сумму всех человеческих знаний. Только дети VLIW получат этот пост.

Проблема с использованием RISC и CISC в качестве объектива для сравнения современных процессоров x86 и ARM заключается в том, что для сравнения x86 и ARM используются три конкретных атрибута — узел процесса, микроархитектура и ISA —  сводится к одному, и затем объявляет ARM выше на основании только ISA. «Ориентированный на ISA» по сравнению с «ориентированным на реализацию» — лучший способ понять тему, при условии, что вы помните, что между ними есть диаграмма Венна с согласованными важными факторами. Конкретно:

Аргумент, ориентированный на ISA, признает, что производственная геометрия и микроархитектура важны и исторически ответственны за господство x86 на рынке ПК, серверов и высокопроизводительных вычислений. Эта точка зрения утверждает, что, когда преимущества производственного мастерства и базы установки контролируются или сводятся на нет, RISC — и, соответственно, процессоры ARM — обычно доказывают превосходство над процессорами x86.

Аргумент, ориентированный на реализацию, признает, что ISA может и имеет значение, но исторически микроархитектура и геометрия процессов имели большее значение. Intel все еще восстанавливается после некоторых из самых серьезных задержек в истории компании. AMD все еще работает над улучшением Ryzen, особенно в мобильных устройствах. Исторически сложилось так, что оба производителя x86 продемонстрировали способность эффективно конкурировать с производителями процессоров RISC.

Учитывая реальность циклов проектирования ЦП, пройдет несколько лет, прежде чем мы действительно получим ответ, какой аргумент лучше. Одно из различий между сегодняшним рынком полупроводников и рынком 20-летней давности заключается в том, что TSMC является гораздо более сильным конкурентом, чем большинство производителей RISC, с которыми Intel сталкивалась в конце 1990-х и начале 2000-х годов. Команда Intel, занимающаяся 7-нм техпроцессом, должна испытывать огромное давление, чтобы реализовать этот узел.

Ничто в этой истории не должно означать, что процессор ARM не может быть быстрее и эффективнее, чем процессор x86. M1 и процессоры, которые последуют за Apple и Qualcomm, представляют собой самую мощную конкурентную угрозу, с которой x86 сталкивался за последние 20 лет. Точка зрения, ориентированная на ISA, может оказаться верной.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *