Misc процессоры где используется
Обновлено: 18.08.2024
Компьютер с минимальным набором команд ( MISC ) представляет собой архитектуру центрального процессора (ЦП), обычно в форме микропроцессора , с очень небольшим количеством основных операций и соответствующих кодов операций , вместе образующих набор команд . Такие наборы обычно основаны на стеке, а не на регистрах, чтобы уменьшить размер спецификаторов операндов .
Такая архитектура стековой машины по своей сути проще, поскольку все инструкции работают с самыми верхними записями стека.
Одним из результатов архитектуры стека является общий меньший набор инструкций, позволяющий использовать меньший и более быстрый блок декодирования инструкций с более быстрой работой отдельных инструкций в целом.
СОДЕРЖАНИЕ
Характеристики и философия дизайна
Отдельно от определения стека архитектуры MISC, архитектура MISC определяется количеством поддерживаемых инструкций.
Кроме того, конвейеры команд MISC, как правило, очень просты. Конвейеры команд , прогнозирование ветвлений , выполнение вне очереди , переименование регистров и спекулятивное выполнение в целом исключают классификацию ЦП как архитектуру MISC.
В то время как 1-битные процессоры в остальном устарели (и не были MISC или OISC), первый компьютер с углеродными нанотрубками представляет собой 1-битный компьютер с одним набором инструкций и имеет всего 178 транзисторов и, следовательно, вероятно, имеет самую низкую сложность (или самый низкий) CPU, произведенный на данный момент (по количеству транзисторов ).
История
Некоторые из первых цифровых компьютеров, оснащенных наборами команд, по современному определению были компьютерами с минимальным набором команд.
Среди этих различных компьютеров только ILLIAC и ORDVAC имели совместимые наборы команд.
- Manchester Baby ( Манчестерский университет, Англия) произвел свой первый успешный запуск сохраненной программы 21 июня 1948 года.
- Электронный автоматический калькулятор с памятью задержки (EDSAC, Кембриджский университет , Англия) был первым практическим электронным компьютером с хранимой программой (май 1949 г.)
- Manchester Mark 1 ( Манчестерский университет Виктории , Англия), созданный с детства (июнь 1949 г.)
- Автоматический компьютер Содружества научных и промышленных исследований ( CSIRAC , Совет по научным и промышленным исследованиям ), Австралия (ноябрь 1949 г.)
- Электронный дискретно-переменный автоматический компьютер ( EDVAC , лаборатория баллистических исследований , вычислительная лаборатория Абердинского испытательного полигона, 1951 г.)
- Автоматический компьютер с дискретными переменными боеприпасов ( ORDVAC , Университет Иллинойса в Урбане-Шампейн ) на Абердинском испытательном полигоне, штат Мэриленд (завершен в ноябре 1951 г.)
- Машина IAS в Принстонском университете (январь 1952 г.)
- МАНИАК I в Лос-Аламосской научной лаборатории (март 1952 г.)
- МЭСМ провела свой первый пробный пуск в Киеве 6 ноября 1950 г.
- Автоматический компьютер штата Иллинойс ( ILLIAC ) в Университете штата Иллинойс (сентябрь 1952 г.)
Ранние компьютеры с хранимой программой
- IBM SSEC имел возможность рассматривать инструкции как данные, и был публично продемонстрирован на 27 января 1948 г. Этой способность Утверждалась в патенте США выданного 28 апреля 1953 г. Тем не менее, это было частично электромеханическим, не полностью электронным. На практике инструкции считывались с бумажной ленты из-за ее ограниченной памяти.
- Манчестер Ребенок , в Университете Виктории в Манчестере , был первым полностью электронный компьютер , чтобы запустить сохраненную программу. 21 июня 1948 года он запустил программу факторинга в течение 52 минут после выполнения простой программы деления и программы, показывающей, что два числа являются относительно простыми .
- Электронный числовой интегратор и компьютер ( ENIAC ) был модифицирован для работы в качестве примитивного компьютера с хранимой программой только для чтения (с использованием таблиц функций для программного запоминающего устройства (ПЗУ)) и был продемонстрирован как таковой 16 сентября 1948 г. программа Адель Голдстайн для фон Неймана.
- Двоичный автоматический компьютер ( BINAC ) запускал несколько тестовых программ в феврале, марте и апреле 1949 года, но не был завершен до сентября 1949 года.
- Манчестер Mark 1 разработана в рамках проекта Baby. Промежуточная версия Mark 1 была доступна для запуска программ в апреле 1949 года, но не была завершена до октября 1949 года.
- Электронная Задержка хранения Автоматический калькулятор (EDSAC) провел свою первую программу на 6 мая 1949 года.
- Электронный дискретно-переменный автоматический компьютер ( EDVAC ) был поставлен в августе 1949 года, но у него были проблемы, которые не позволяли ввести его в регулярную эксплуатацию до 1951 года.
- Автоматический компьютер Содружества научных и промышленных исследований ( CSIRAC , ранее CSIR Mk I) запустил свою первую программу в ноябре 1949 года.
- Стандартный восточный автоматический компьютер ( SEAC ) был продемонстрирован в апреле 1950 года.
- Pilot ACE провел свою первую программу на 10 мая 1950 года и был продемонстрирован в декабре 1950 года .
- Стандарты Western Automatic Computer ( SWAC ) были завершены в июле 1950 года.
- Вихрь был завершен в декабре 1950 года и был в реальных условиях эксплуатации в апреле 1951 года.
- Первый ERA Atlas (позже коммерческий ERA 1101 / UNIVAC 1101) был установлен в декабре 1950 года.
Слабые стороны дизайна
Недостатком MISC является то, что инструкции имеют тенденцию иметь более последовательные зависимости, что снижает общий параллелизм на уровне инструкций .
Архитектура MISC имеет много общего с некоторыми особенностями некоторых языков программирования, такими как использование стека Форт и виртуальная машина Java . Оба они слабы в обеспечении полного параллелизма на уровне инструкций .
Известные процессоры
Каждый космический аппарат STEREO включает в себя два процессора P24 MISC и два процессора CPU24 MISC.
Прежде чем рассмотреть основные виды архитектур процессоров, необходимо понять, что это такое. Под архитектурой процессора обычно понимают две совершенно разные сущности.
С программной точки зрения архитектура процессора — это совместимость с определённым набором команд (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.
Виртуальные архитектуры
Из минусов виртуальных архитектур можно выделить меньшую производительность по сравнению с реальными архитектурами. Этот минус нивелируется с помощью JIT- и AOT-компиляции. Однако большим плюсом будет кроссплатформенность.
Дальнейшим развитием этих архитектур стали гибридные архитектуры. Например современные x86_64 процессоры хотя и CISC-совместимы, но являются процессорами с RISC-ядром. В таких гибридных CISC-процессорах CISC-инструкции преобразовываются в набор внутренних RISC-команд. Какое дальнейшее развитие получат архитектуры процессора, покажет только время.
Понятие архитектуры процессора не имеет единого толкования, поскольку под ним понимаются две различные сущности. С программной позиции она представляет собой совместимость процессора с конкретным набором команд, его способность выполнять определённый набор кодов. То есть это способность программы, которая была собрана для архитектуры семейства x86, функционировать на всех x86-совместимых системах. На ARM системе такая программа работать не будет.
С аппаратной позиции архитектура процессора, называемая иногда микроархитектурой, является набором свойств, характерным для всего семейства процессоров и отражающим базовые особенности его внутренней организации. К примеру, микроархитектура процессоров Intel Pentium имела обозначение Р5, а процессоры Pentium 4 относились к NetBurst. После закрытия Intel микроархитектуры Р5 для производителей AMD разработала архитектуру К7 и К8 для процессоров Athlon, Athlon XP и Athlon 64 соответственно.
CISC
CISC-архитектура (Complex Instruction Set Computer) относится к процессорам с полным набором команд. Она имеет нефиксированную длину команд, отличается кодированием арифметических действий в единой команде и малым количеством регистров, большинство из которых выполняет только выделенную функцию.
CISC реализована во множестве типов микропроцессоров, таких как Pentium, которые выполняют большое количество разноформатных команд (порядка 200-300), применяя более десяти различных способов адресации. Командная система может включать несколько сотен команд различного уровня сложности или формата (от 1 до 15 байт).
Всё это делает возможным реализовывать эффективные алгоритмы для различных задач. В качестве примеров CISC-архитектуры, используемой преимущественно для десктопных версий, можно привести следующие процессоры:
- x86 (IA-32, сокращенное от "Intel Architecture, 32-bit") - ;
- x86_64 (AMD64);
- Motorola MC680x0;
- мейнфреймы zSeries.
В CISC-процессорах каждую из команд возможно заменить на аналогичную ей либо на группу выполняющих такую же функцию команд. Это формирует как достоинства, так и недостатки архитектуры: она обладает высокой производительностью благодаря возможности замены команд, но большей стоимостью в сравнении с RISC, что связано с усложнённой архитектурой, в которой существует множество сложных для раскодирования команд.
RISC-архитектура (Reduced Instruction Set Computer) относится к процессорам с сокращённым набором команд. В ней быстродействие увеличивается посредством упрощения инструкций: за счёт того, что их декодирование становится проще, уменьшается время исполнения. Изначально RISC-процессоры не обладали инструкциями деления и умножения и не могли работать с числами, имеющими плавающую запятую. Их появление связано с тем, что в CISC достаточно много способов адресации и команд использовались крайне редко.
Система команд в RISC состоит из малого числа часто применяемых команд одного формата, которые можно выполнить за единичный такт центрального процессора. Более сложные и редко применяемые команды выполняются на программном уровне. При этом, благодаря значительному увеличению скорости реализации команд, средняя производительность RISC-процессоров выше, чем у CISC.
Благодаря сокращению аппаратных средств, используемых для декодирования и реализации сложных команд, достигается значительное упрощение и снижение стоимости интегральных схем. В то же время возрастает производительность и снижается энергопотребление, что особенно актуально для мобильного сегмента. Эти же достоинства служат причиной использования во многих современных CISC-процессорах, например в последних моделях К7 и Pentium, RISC-ядра. Сложные CISC-команды заранее преобразуются в набор простых RISC-операций, которые оперативно выполняются RISC-ядром.
Характерными примерами RISC-архитектур являются:
- PowerPC;
- DEC Alpha;
- ARC;
- AMD Am29000;
- серия архитектур ARM;
- Atmel AVR;
- Intel i860 и i960;
- BlackFin;
- MIPS;
- PA-RISC;
- Motorola 88000;
- SuperH;
- RISC-V;
- SPARC.
RISC быстрее CISC, и даже при условии выполнения системой RISC четырёх или пяти команд вместо единственной, выполняемой CISC, RISC выигрывает в скорости, поскольку его команды выполняются в разы оперативнее. Однако CISC продолжает использоваться. Это связано с совместимостью: x86_64 продолжает лидировать в десктоп-сегменте, а поскольку старые программы могут функционировать только на x86, то и новые десктоп-системы должны быть x86(_64), чтобы дать возможность старым программам работать на новых устройствах.
Для Open Source это не проблема, ведь пользователь может найти в сети версию программы, подходящую для другой архитектуры. Однако создать версию проприетарной программы для другой архитектуры получится только у владельца исходного кода.
MISC
MISC-архитектура (Minimal Instruction Set Computer) является процессором с минимальным набором команд. Она отличается ещё большей простотой и используется для ещё большего снижения энергопотребления и итоговой стоимости процессора. MISC-архитектура применяется в IoT-сегменте и компьютерах малой стоимости вроде роутеров. Первой вариацией такого процессора стал MuP21.
В основе MISC-процессоров лежит укладка ряда команд в единое большое слово, что позволяет параллельно обрабатывать несколько потоков данных. MISC применяет стековую модель устройства и базовые слова языка Forth. Процессоры этой архитектуры отличаются малым числом наиболее востребованных команд и использованием длинных командных слов, что позволяет получить выполнение ряда непротиворечивых команд за единый цикл работы процессора. Порядок исполнения команд определяется так, чтобы максимально загрузить маршруты, пропускающие потоки данных.
Все вышеназванные архитектуры могут применять «спекулятивное исполнение команд», то есть исполнение команды заранее, когда ещё неизвестна её необходимость. Это позволяет увеличить производительность.
VLIW
VLIW-архитектура (Very Long Instruction Word) относится к микропроцессорам, применяющим очень длинные команды за счёт наличия нескольких вычислительных устройств. В отдельных полях команды присутствуют коды, которые обеспечивают реализацию различных операций. Одна команда в VLIW может исполнить одновременно несколько операций в разных узлах микропроцессора. Формированием таких длинных команд занимается соответствующий компилятор во время трансляции программ, которые написаны на высокоуровневом языке.
VLIW-архитектура, являясь достаточно перспективной для разработки нового поколения высокопроизводительных процессоров, реализована в некоторых современных микропроцессорах:
- Intel Itanium;
- AMD/ATI Radeon (с R600 до Northern Islands);
- серия «Эльбрус».
VLIW схожа с архитектурой CISC, имея собственный аналог спекулятивной реализации команд. Однако спекуляция выполняется не при работе программы, а при компиляции, что делает VLIW-процессоры устойчивыми к уязвимостям Spectre и Meltdown. Компиляторы в этой архитектуре привязаны к определённым процессорам. Так, в следующем поколении наибольшая длина одной команды может из 256 бит превратиться в 512 бит, и тогда придётся выбирать между обратной совместимостью со старым типом процессора и возрастанием производительности посредством компиляции под новый процессор. И в этом случае Open Sourсe даёт возможность получить программу под определённый процессор при помощи перекомпиляции.
Развитием указанных архитектур стали различные гибридные архитектуры. К примеру, современные x86_64 процессоры CISC-совместимы, однако имеют RISC-ядро. В этих CISC-процессорах CISC-инструкции переводятся в набор RISC-команд. Вероятно, в дальнейшем разнообразие гибридных архитектур только возрастёт.
Микропроцессор — это устройство, представляющее собой одну или несколько больших интегральных схем (БИС), выполняющих функции процессора ЭВМ. Классическое вычислительное устройство состоит из арифметического устройства (АУ), устройства управления (УУ), запоминающего устройства (ЗУ) и устройства ввода-вывода (УВВ).
Существуют процессоры различной архитектуры.
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, выраженный в том, что при компиляции с языка высокого уровня микрокод генерируется из библиотеки стандартных функций, занимающей много места в ОЗУ. Поскольку микропрограмма уже дешифрована и открыта для программиста, то времени выборки из ОЗУ на дешифрацию не требуется.
Мы где-то в начале статьи написали, что архитектур ы RISC и CISC очень похожи и грань между ними слегка размыта. Да, у обеих архитектур диаметрально противоположный подход к использованию процессора, но конкуренция тоже делает свое дело. Поэтому CISC и RISC стали «перенимать» друг у друга лучшие решения. К примеру, конвейеризация раньше никогда не была доступной в CISC, но именно этот процесс был способен «уничтожить» эту архитектуру на корню, поэтому создателям CISC нужно было срочно предпринять и сэмулировать конвейеризацию в своих процессорах. Что они и сделали: они «разбили» сложные инструкции CISC на более простые и назвали этот процесс «микрооперации». Это не конвейеризация и ничего общего с RISC-инструкциями не имеет, но работает по такому же принципу, что также ускоряет работу CISC-процессоров.
Конвейер в RISC практически постоянно заполнен инструкциями, а микрооперации в CISC не могут организовать постоянное заполнение конвейера, поэтому возникало очень много «пустот». Из-за этого разработчики CISC пошли на дополнительный трюк, так называемый гипертрединг. Гипертрединг позволил CISC-процессору выполнять сразу несколько потоков инструкций. В этом случае если один поток не способен «наполнить» конвейер, то для этого берутся инструкции из других потоков.
Разработчики RISC заметили, что гипертрединг — это хорошо. А в их архитектуре редко, но иногда проскакивает «пустота» в конвейере, поэтому они внедрили гипертрединг и в своих процессорах.
Такое «копирование функционала» сделало свое дело: архитектура RISC и архитектура CISC стали очень похожи. Но при этом многие специалисты пророчат светлое будущее именно архитектуре RISC.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Читайте также: