Процессоры в которых набор выполняемых команд сокращен до минимума относятся к типу
Понятие архитектуры процессора не имеет единого толкования, поскольку под ним понимаются две различные сущности. С программной позиции она представляет собой совместимость процессора с конкретным набором команд, его способность выполнять определённый набор кодов. То есть это способность программы, которая была собрана для архитектуры семейства x86, функционировать на всех x86-совместимых системах. На ARM системе такая программа работать не будет.
С аппаратной позиции архитектура процессора, называемая иногда микроархитектурой, является набором свойств, характерным для всего семейства процессоров и отражающим базовые особенности его внутренней организации. К примеру, микроархитектура процессоров Intel Pentium имела обозначение Р5, а процессоры Pentium 4 относились к NetBurst. После закрытия Intel микроархитектуры Р5 для производителей AMD разработала архитектуру К7 и К8 для процессоров Athlon, Athlon XP и Athlon 64 соответственно.
Философия дизайна RISC
Эта статья или следующий раздел не обеспечены должным образом подтверждающими документами ( например, индивидуальными доказательствами ). Информация без достаточных доказательств может быть вскоре удалена. Пожалуйста, помогите Википедии, исследуя информацию и добавляя убедительные доказательства.
Например: слово «баланс» не появляется в конвейере (процессоре) . - arilou ( обсуждение ) 09:39, 26 ноя 2012 (CET)
Наборы команд от процессоров 1980-х годов становились все больше. Добавлялись новые заказы, старые заказы, в которых не было необходимости, сохранялись. Появились очень сложные команды и типы адресации, которые было трудно использовать компиляторам и даже программистам на ассемблере. Используя принцип KISS , RISC-процессор 1980-х / 90-х годов должен был получать простой набор инструкций, который можно было быстро декодировать и легко выполнить. Набор команд RISC обходится без сложных инструкций - особенно тех, которые сочетают доступ к памяти (медленный) с арифметическими операциями (быстрый). Это позволяет хорошо координировать этапы конвейера процессора, этапы становятся короче, конвейер можно синхронизировать быстрее и его лучше использовать, поскольку возникает меньше « остановок ». Кроме того, более простые инструкции можно кодировать более последовательно, чем с архитектурами CISC, что дополнительно снижает трудозатраты на декодирование и, следовательно, задержку конвейера. Набор команд процессоров CISC в основном реализован в виде микрокода . Однако с процессорами RISC отдельные команды жестко запрограммированы. Это позволяет реализовать набор команд с относительно небольшим количеством транзисторов ; некоторые команды обрабатываются параллельно и очень быстро.
Учет новых знаний при сборке компилятора:
- Путем передачи задач аппаратного обеспечения ( ЦП ) программному обеспечению ( построение компилятора ) процессоры RISC также были оптимизированы для компиляторов , которые, помимо прочего, во многих, одинаково используемых регистрах отражено.
Предпосылкой к разработке архитектур RISC было:
- Обширный переход от программирования на ассемблере к программированию на языке высокого уровня в 1980-х годах. Даже операционные системы все чаще писались на высших языках.
- Достаточно оперативной памяти, чтобы в первую очередь иметь возможность выполнять сложные оптимизации в компиляторах.
Достаточно оперативной памяти для более длинного кода (который RISC принес с собой в то время). - Они хотели получить большую вычислительную мощность от 0,2 до 2 миллионов транзисторов процессора, которые были возможны в то время.
Для процессоров RISC характерны следующие свойства:
- Все команды следуют одной или нескольким блок-схемам (выборка, декодирование, . )
- Свойства, во многом являющиеся результатом этого:
- Команды имеют постоянную длину (в основном 32 бита).
- Небольшое изменение времени выполнения, часто постоянное. В ранних проектах фактическое время выполнения часто составляло 1 бар. Более поздние разработки, как правило, используют 1 цикл на этап конвейера, но все же достигают пропускной способности 1 инструкция за цикл благодаря суперскалярности .
Команды, которые не могли быть реализованы таким образом (целочисленное деление), в основном были исключены и заменены несколькими более простыми командами, которые выполняли эту работу вместе. - Разделение операций чтения из памяти и арифметики (« архитектура загрузки / сохранения »).
Следующие вещи можно найти только в процессорах RISC, но в первую очередь они являются результатом оптимизации производительности или экономии площади чипа:
- Отложенные переходы: также выполняются от 1 до 3 следующих команд после команд перехода.
- Многие процессоры не выполняют заклинивания процессора трубопровода с шагом, эта конструкция была архитектура MIPS , даже имя ( M icroprocessor без я nterlocked р а ipeline сек день).
Команды с фиксированной длиной и несколькими форматами
Все команды имеют одинаковую длину и существует всего несколько форматов команд . Это означает, что положение кода операции , регистровых операндов и литералов одинаково почти для всех команд , что значительно упрощает и ускоряет декодирование. Типичными являются 32-битные командные слова и пять различных форматов команд. Заметными исключениями являются оригинальный IBM 801 , ARM Thumb , microMIPS и Infineon TriCore . Эти RISC-архитектуры используют переменную длину команд 16 и 32 бита, чтобы сократить программный код.
Типичные свойства RISC-процессоров
Хотя формального определения термина RISC нет, большинство процессоров RISC имеют следующие характеристики:
По сравнению с CISC
Список SPEC ( Standard Performance Evaluation Corporation ) с самыми быстрыми процессорами сейчас очень неоднороден. Вы можете найти «процессоры RISC», такие как «процессоры CISC», а также процессоры, производные от графических процессоров. Для суперкомпьютеров важна масштабируемость архитектуры для параллельной работы от десятков тысяч до сотен тысяч ядер. Большинство процессоров в TOP500 теперь являются x64-совместимыми «процессорами CISC» (76 процентов: Intel Xeon и AMD Opteron). Как «процессор RISC» IBM Blue Gene (PPC) занимает первое место с 18 процентами.
Однако в нынешних мэйнфреймах чистые / расширенные чипы RISC теперь почти полностью вытеснены микропроцессорами линейки Intel x86, которые объединяют ядро RISC со слоем эмуляции CISC. Их истоки в успешном использовании на массовом рынке делают малоприбыльные RISC-чипы для мэйнфреймов. Производство DEC Alpha прекращено, как и HP PA-RISC, SPARC Sun больше не производятся, чипы PowerPC производятся только самой IBM, Renesa SuperH больше не широко используется, XScale, MIPS и StrongARM редки или исчезли в мэйнфреймах. (Статус 2011)
Процессоры RISC являются аналогом процессоров CISC. Современные процессоры RISC выходят за рамки узкого определения и также содержат более сложные инструкции. Набор инструкций процессора PowerPC, который производится IBM и Freescale (ранее Motorola ) (и использовался, например, в компьютерах Apple до перехода на процессоры Intel ), был дополнен расширением инструкций под названием " AltiVec ", которое модернизировал специальные мультимедийные возможности в процессорах PowerPC (сравните MMX для процессоров x86 ). Однако AltiVec также следует свойствам RISC.
В конце 1980 - х годов, британский производитель принес Acorn на домашний компьютер Архимеда со специально разработанным процессором RISC на рынке, его производительность поставил время процессоров , используемых в домашних компьютерах в тени. Это кукурузы R ISC M achine было начало текущей ARM процессоров , построенных на встраиваемых системах очень распространены (например, мобильные телефоны).
Расцвета
Когда после первоначальных сомнений преимущества RISC стали очевидны, практически все производители компьютеров начали разрабатывать свои собственные архитектуры RISC:
- из 1983 Acorn Risc Machine ( Софи Уилсон )
- с 1983 MIPS ( Крейг Хансен )
- от 1984 AMD Am29000 ( Брайан Кейс и Оле Моллер )
- с 1984 HP Precision Architecture RISC ( Билл Уорли и Майкл Махон )
- с 1984 Motorola 88k ( Митч Алсуп )
- с 1984 года Intel i960 ( Glen Myers )
- из 1985 IBM Power ( Джон Кок , Грег Грохоски и Рич Олер )
- с 1985 года Sun Scalable Processor ARChitecture (Роберт Гарнер)
- с 1989 DEC Alpha ( Dick Sites и Rich Witek )
- с 1991 года Apple - IBM - MotorolaPowerPC ( Рич Олер , Кейт Дифендорф , Рон Хохспрунг и Джон Селл )
В результате термин RISC имел положительный оттенок и широко использовался в рекламе (например, Intel для модели 486 ). По Стивенному А. Przybylski следующего иронического определения РНЦ передаются вниз, «компьютер , который был анонсирован после 1985 года».
Начало
Истоки RISC уходят корнями в 1960-е годы. В конце 1970-х - начале 1980-х годов наконец сошлись несколько факторов, которые привели к новой философии дизайна и волне новых конструкций процессоров:
- Введение иерархии памяти, состоящей из быстрых кешей и дешевой основной памяти, сделало преимущества памяти микропрограмм устаревшими в плане скорости .
- В компиляторах стали более сложными и генерируются более быстрый кодом, например , путем удаления распределения регистров путем раскраски графа , удаление общих частичных выражений, используя быстрее эквивалентные инструкции, статический оценивающими выражения во время компиляции и удаления мертвых программного кода. Многие из этих оптимизаций не могут полностью реализовать свой потенциал на микропрограммных процессорах, потому что они не могут быть применены непосредственно к внутреннему микрокоду .
- Достижения в области интеграции полупроводников позволили интегрировать более быстрые и сложные процессоры, состоящие из все большего числа транзисторов, на одном кристалле . Вместе с новыми инструментами САПР СБИС интеграция привела к значительно более высокой производительности, так что новые разработки стали возможны при относительно небольшом количестве сотрудников. Более короткие циклы разработки позволили быстро эволюционировать философии дизайна.
- DARPA , исследовательское агентство Департамента обороны США, поддерживается в настоящее время целевых проектов по разработке интегральных схем , в том числе проекта RISC в Беркли, в MIPS проект в Стэнфорд и многих других последующих проектах.
Важными пионерами RISC были CDC 6600 ( Сеймур Крей и Джим Торнтон , 1964) и проект IBM ACS ( Джек Бертрам и Джон Кок , 1963). Некоторые ранние проекты и архитекторы RISC:
- из 1974 IBM 801 ( Джон Кок )
- с 1980 г. Компьютер с сокращенным набором команд Беркли ( Дэвид А. Паттерсон и Карло Х. Секен )
- от 1981 Стэнфордский микропроцессор без блокируемых ступеней конвейера ( Джон Л. Хеннесси )
MISC
MISC-архитектура (Minimal Instruction Set Computer) является процессором с минимальным набором команд. Она отличается ещё большей простотой и используется для ещё большего снижения энергопотребления и итоговой стоимости процессора. MISC-архитектура применяется в IoT-сегменте и компьютерах малой стоимости вроде роутеров. Первой вариацией такого процессора стал MuP21.
В основе MISC-процессоров лежит укладка ряда команд в единое большое слово, что позволяет параллельно обрабатывать несколько потоков данных. MISC применяет стековую модель устройства и базовые слова языка Forth. Процессоры этой архитектуры отличаются малым числом наиболее востребованных команд и использованием длинных командных слов, что позволяет получить выполнение ряда непротиворечивых команд за единый цикл работы процессора. Порядок исполнения команд определяется так, чтобы максимально загрузить маршруты, пропускающие потоки данных.
Все вышеназванные архитектуры могут применять «спекулятивное исполнение команд», то есть исполнение команды заранее, когда ещё неизвестна её необходимость. Это позволяет увеличить производительность.
Загрузить архитектуру магазина
В архитектуре хранилища загрузки к основной памяти обращаются только команды загрузки и сохранения . Все остальные инструкции работают исключительно с регистровыми операндами и литералами . Эти команды загрузки и сохранения не имеют каких-либо сложных режимов адресации ; вместо этого адреса вычисляются в свободно используемых регистрах . Однако только несколько RISC-процессоров имеют классическую архитектуру загрузочного хранилища; большинство из них допускают использование операнда памяти.
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 это не проблема, ведь пользователь может найти в сети версию программы, подходящую для другой архитектуры. Однако создать версию проприетарной программы для другой архитектуры получится только у владельца исходного кода.
история
Суперскалярность
«Фактическое выполнение команды» обычно занимает всего 1 такт на команду.
Одна команда запускается за цикл, а (предыдущая) команда завершается в каждом цикле. Декодирование происходит без микрокода через проводную сеть. Классический процессор RISC выполняет команды за четыре цикла: выборка, декодирование, загрузка, выполнение. На каждом из этих уровней всегда есть одна команда.
Оглавление
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-команд. Вероятно, в дальнейшем разнообразие гибридных архитектур только возрастёт.
Микроконтроллер – это самостоятельная компьютерная система, которая содержит процессор, вспомогательную схему и устройства ввода/вывода данных, размещения в общем корпусе.
Для программирования микроконтроллеров необходимо:
1. Локальная сеть;
2. Персональный компьютер;
3. Логический анализатор;
6. Схемный эмулятор.
Однокристальный микроконтроллер отличается от многокристальных МК тем что может работать без внешней памяти. Он содержит регистры , АЛУ, ОЗУ и ПЗУ а также таймер и аналого-цифровой преобразователь. Однокристальный МК особенно полезен для специализированных систем , которые предназначены для конкретных приложений.
Архитектуры, применяемые в микроконтроллерах.
Для создания набора команд для ПК необходимо учитывать не только конструкцию машинного языка, но и требования предъявляемые языками программирования высокого уровня.
Существуют два подхода к решению задачи повышения производительности ПК.
- Принстонская архитектура, CISC , архитектура Фон Неймана
CISC(Complex Instruction Set Computers- компьютеры со сложной системой команд).
CISC- процессоры выполняют большой набор команд с развитыми возможностями адресации, давая разработчику возможность выбрать наиболее подходящую команду для выполнения необходимой операции.
Способ повышения производительности заложенный в данную архитектуру заключается в использовании сложных команд на уровне машинных кодов с тем чтобы упростить трансляцию с языков высокого уровня.
Принцип работы: В первом цикле выбирается команда (чтение) . о втором цикле считываются данные и размещаются в аккумулятор.
В CISC – процессорах условный переход обычно реализуется в соответствии с определенным значением бита в регистре состояния
В архитектуре блок интерфейса с памятью выполняет арбитраж запросов к памяти или внутренних регистрах. Однако во многих процессорах с Принстонской архитектурой проблема блока интерфейса является наиболее узким местом между процессором и памятью решается путем выборки следующей команды во время выполнения предыдущей. Такая операция называется предварительной выборкой и она реализуется в большинстве процессоров с такой архитектурой.
Основные характеристики Принстонской архитектуры CISC
Большое число команд до 250
Наличие команд , которые предназначены для выполнения специализированных заданий и которые применяются очень редко.
Использование от 5 до 20 различных режимов адресации
Применение команд с переменной длиной команды
Наличие специализированных команд , которые предназначены для выполнения некоторых процедур высокоуровневых языков и позволяют сократить машинный код
Применение команд управления операндов в памяти
Выполнение команд микрокода.
В Принстонской CISC архитектуре блок интерфейса с памятью выполняет арбитраж запросов памяти, обеспечивая выборку команд , чтение запись данных, размещаемых в памяти или внутренних регистрах.
Основным преимуществом Принстонской архитектуры, CISC , является то, что удается упростить устройство процессора так как реализуется обращение к общей памяти (предпочтительно при ненадежной элементной базе лампы транзисторы). Содержимое ОЗУ используется как для хранения данных так и для хранения программ. Это позволяет предоставлять большую гибкость для разработчика программного обеспечения (операционных систем реального времени) Программа имеет возможность обращаться к содержимому стека.
Слабым местом данной архитектуры является блок интерфейса между процессором и памятью , поскольку требуется одновременно выбирать из памяти команду и данные.
Этот недостаток решается путем выборки следующей команды во время выполнения предыдущей (операция предварительная выборка)
Другие недостатки Принстонской архитектуры, CISC ,
Не возможности добиться реализации параллельных операций.
Требуется остановка процессора на время выборки команды
Различные команды выполняются за различное число тактов.
RISC (Reduced Instruct Set Computers- компьютеры с сокращенной системой команд).
Гарвардская архитектура RISC архитектура с сокращенным набором команд начала применятся с конца 70 годов. Гарвардский университет представил разработку компьютера, в котором для хранения программ, данных и стека использовались отдельные банки памяти.
Принцип работы в первом цикле завершается выполнение предыдущей команды чтения и осуществляется выполнение следующей команды
В RISC-процессорах набор выполняемых команд сокращен до минимума. При этом разработчик должен комбинировать команды, чтобы реализовать более сложные операции. Возможность равноправного использования всех регистров процессора называется «ортогональностью» или»симметричностью» процессора. Это обеспечивает дополнительную гибкость при выполнении некоторых операций.. В RISC – процессорах условный переход может происходить с определенным значением бита, который находится в любом месте памяти. Это значительно упрощает операции с флагами и выполнение программ, использующих эти флаги.
Применение параллелизма позволяет выполнять команды за одинаковое количество тактов что позволяет легко определять время выполнения циклов и критических участков программы..( для приложений со строгим обеспечением временного выполнения.) Любая команда микроконтроллера PIC выполняется за 4 такта или один цикл что упрощает реализацию позволяет отказаться от симуляторов и аппаратных эмуляторов.
Простой формат и небольшое количество команд
Небольшое количество адресных режимов
большое количество регистров, что позволяет обрабатывать операции внутри пространства регистров микропроцессора
перекрывающиеся окна регистров
Беспрепятственное обращение к памяти (ограничения только на загрузку и запись команд
выполнение одной команды за один такт с использованием конвейеризации
аппаратное а не микрокомандное управление.
Конвейерная обработка это способ увеличения скорости обработки команд путем разделения задания на некоторое число сегментов выполняемых параллельно. Применяется для арифметических операций.
недостаточно гибкая для операционных систем реального времени ОСРВ
Успех при использование RISC-процессоров обеспечивается благодаря тому, что их более простые команды требуют для выполнения значительно меньшее число машинных циклов. Таким образом достигается существенное повышение производительности, что позволяет RISC-процессорам эффективно решать чрезвычайно сложные задачи
Идея RISC архитектуры попытаться уменьшить время исполнения команд добиться исполнения одной операции за один такт путем упрощения набора команд.Архитектура набора команд служит границей между аппаратурой и программным обеспечением и представляет ту часть системы, которая видна программисту.
Двумя основными архитектурами набора команд, используемыми компьютерной промышленностью на современном этапе развития вычислительной техники являются архитектуры CISC и RISC. Известны также архитектуры MISC и VLIW
Лидером в разработке микропроцессоров с полным набором команд (CISC - Complete Instruction Set Computer) считается компания Intel со своей серией x86 и Pentium. Эта архитектура является практическим стандартом для рынка микрокомпьютеров.
Архитектура процессоров компании Intel основана на системе команд CISC (Complex Instruction Set Computer) – полной системе команд переменной длины. Команды процессора могут иметь длину от 8 до 108 бит, и процессор должен последовательно декодировать инструкцию после определения её границ. Первые процессоры для персональных компьютеров были скалярными устройствами ( то есть могли в каждый момент времени выполнять только одну команду), конвейерная обработка ( то есть одновременное выполнение нескольких команд на разных стадиях конвейера применялась лишь в больших ЭВМ).
Для CISC-процессоров характерно:
Ø сравнительно небольшое число регистров общего назначения;
Ø большое количество машинных команд, некоторые, из которых нагружены семантически аналогично операторам высокоуровневых языков программирования и выполняются за много тактов;
Ø большое количество методов адресации;
Ø большое количество форматов команд различной разрядности;
Ø преобладание двухадресного формата команд;
Ø наличие команд обработки типа регистр-память.
Позже появились процессоры, основанные на архитектуре RISC (Reduced Instruction Set Computer) – сокращённом наборе команд компьютера фиксированной длины, которая была оптимизирована для суперскалярных (с возможностью выполнения нескольких команд одновременно) конвейерных вычислений.
Зачатки этой архитектуры уходят своими корнями к компьютерам CDC6600, разработчики которых (Торнтон, Крэй и др.) осознали важность упрощения набора команд для построения быстрых вычислительных машин. Эту традицию упрощения архитектуры С. Крэй с успехом применил при создании широко известной серии суперкомпьютеров компании Cray Research.
Однако окончательно понятие RISC в современном его понимании сформировалось на базе трех исследовательских проектов компьютеров: процессора 801 компании IBM, процессора RISC университета Беркли и процессора MIPS Стенфордского университета.
Для RISC-процессоров характерно:
Ø архитектура, отделяющая команды обработки от команд работы с памятью;
Ø эффективная конвейерная обработка;
Ø система команд разрабатывалась таким образом, чтобы выполнение любой команды занимало небольшое количество машинных тактов (предпочтительно один машинный такт);
Ø логика выполнения команд, с целью повышения производительности, ориентировалась на аппаратную, а не на микропрограммную реализацию (чтобы упростить логику декодирования команд использовались команды фиксированной длины и фиксированного формата);
Ø наличие достаточно большого регистрового файла (в типовых RISC-процессорах реализуются 32 или большее число регистров по сравнению с 8 - 16 регистрами в CISC-архитектурах), что позволяет большему объему данных храниться в регистрах на процессорном кристалле большее время и упрощает работу компилятора по распределению регистров под переменные;
Ø для обработки, как правило, используются трехадресные команды, что помимо упрощения дешифрации дает возможность сохранять большее число переменных в регистрах без их последующей перезагрузки.
Ко времени завершения университетских проектов (1983-1984 гг.) обозначился также прорыв в технологии изготовления сверхбольших интегральных схем. Простота архитектуры и ее эффективность, подтвержденная этими проектами, вызвали большой интерес в компьютерной индустрии и с 1986 года началась, активная промышленная реализация архитектуры RISC. К настоящему времени эта архитектура прочно занимает лидирующие позиции на мировом компьютерном рынке рабочих станций и серверов.
Развитие архитектуры RISC в значительной степени определялось прогрессом в области создания оптимизирующих программаторов (компиляторов). Именно современная техника программирования позволяет эффективно использовать преимущества большего регистрового файла, конвейерной организации и большей скорости выполнения команд. Современные компиляторы используют также преимущества другой оптимизационной техники для повышения производительности, обычно применяемой в процессорах RISC: реализацию задержанных переходов и суперскалярной обработки, позволяющей в один и тот же момент времени выдавать на выполнение несколько команд. Архитектуры процессоров CISC и RISC развивались практически независимо, однако в отдельных модификациях процессоров AMD удалось совместить обе архитектуры. То есть микроядро процессора работает на основе инструкций RISC, а специальный блок интерпретирует команды CISC для обеспечения совместимости с программами для процессоров х86.
Minimum instruction set computer — вычисления с минимальным набором команд. Дальнейшее развитие идей команды Чака Мура, который полагает, что принцип простоты, изначальный для RISC-процессоров, слишком быстро отошёл на задний план. В пылу борьбы за максимальное быстродействие, RISC догнал и перегнал многие CISC процессоры по сложности. Архитектура MISC строится на стековой вычислительной модели с ограниченным числом команд (примерно 20-30 команд).
Very long instruction word — сверхдлинное командное слово. Архитектура процессоров с явно выраженным параллелизмом вычислений, заложенным в систему команд процессора. Являются основой для архитектуры EPIC. Ключевым отличием от суперскалярных CISC-процессоров является то, что для них загрузкой исполнительных устройств занимается часть процессора (планировщик), на что отводится достаточно малое время, в то время как загрузкой вычислительных устройств для VLIW-процессора занимается компилятор, на что отводится существенно больше времени (качество загрузки и, соответственно, производительность теоретически должны быть выше). Примером VLIW-процессора является Intel Itanium.
Центральный процессор в персональных компьютерах представляет собой микропроцессор, то есть, построен на одной микросхеме. В его состав входят:
•Центральное устройство управления - комплекс средств автоматического управления процессами передачи и обработки информации;
•Арифметико-логическое устройство - устройство, осуществляющее обработку информации и выработку признаков управляющих сигналов.
•Внутренняя память процессора:
-Постоянная память устройства управления.
Рис. 1 Обобщенная структурная схема ПК
Модули оперативной и постоянной памяти, связаны с микропроцессором напрямую. Остальные устройства (монитор, клавиатура, накопители на магнитных носителях и т.д.) связаны с микропроцессором через контроллеры ввода-вывода, которые, в свою очередь, связаны с микропроцессором через системную шину.
Микропроцессор является ядром ЭВМ. Он осуществляет обработку данных и функции управления системой. К функциям управления системой относятся:
•инициирование операций ввода-вывода;
•управление доступом к основной памяти;
•обработка системных событий – прерываний;
•организация многозадачных режимов работы.
Организация центрального процессора определяется архитектурой и принципами работы ЭВМ ( состав и форматы команд, организация памяти). Логическая структура включает ряд функциональных средств:
•средства обработки информации;
•средства управления системой и программами;
•управление интерфейсом и каналами.
Структурно эти средства разбиваются на центральное устройство управления, АЛУ, внутреннюю память и управляющие устройства, связанные с конкретными устройствами вычислительной машины.
Центральное устройство управления принимает и расшифровывает команды, формирует адреса команд и операндов, формирует последовательности управляющих сигналов и обеспечивает координацию работы всех функциональных узлов, посредством выработки синхронизирующих сигналов.
Внутренняя память входит в состав первого уровня и связана с АЛУ и другими блоками центрального процессора непосредственно и имеет скорость работы соизмеримую со скоростью работы блоков процессора.
•Управляющая память входит в состав центрального устройства управления и относится к классу постоянной памяти. Этот вид памяти используется для хранения микропрограмм. Ее отличает очень высокое быстродействие и небольшая емкость, определяющаяся количеством команд в системе команд центрального процессора.
•Регистровая память выполнена на триггерных элементах и входит в состав центрального процессора. Емкость ее невысока, скорость высокая, но меньше, чем у управляющей памяти. Основной характеристикой данного типа памяти является разрядность.
Основными характеристиками, определяющими производительность процессорного ядра МК , являются:
- набор регистров для хранения промежуточных данных;
- система команд процессора;
- способы адресации операндов в пространстве памяти;
- организация процессов выборки и исполнения команды .
- процессоры с CISC -архитектурой, реализующие так называемую полную систему команд (Complicated Instruction Set Computer);
- процессоры с RISC-архитектурой, реализующие сокращенную систему команд ( Reduced Instruction Set Computer).
В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды . При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы Atmel, МК PIC16 и PIC17 фирмы Microchip и другие.
На первый взгляд, МК с RISC-процессором должны иметь более высокую производительность по сравнению с CISC МК при одной и той же тактовой частоте внутренней магистрали. Однако на практике вопрос о производительности более сложен и неоднозначен.
Во-первых, оценка производительности МК по времени выполнения команд различных систем (RISC и CISC ) не совсем корректна. Обычно производительность МП и МК принято оценивать числом операций пересылки "регистр-регистр", которые могут быть выполнены в течение одной секунды. В МК с CISC -процессором время выполнения операции "регистр-регистр" составляет от 1 до 3 циклов, что, казалось бы, уступает производительности МК с RISC-процессором. Однако стремление к сокращению формата команд при сохранении ортогональности системы команд RISC-процессора приводит к вынужденному ограничению числа доступных в одной команде регистров. Так, например, системой команд МК PIC16 предусмотрена возможность пересылки результата операции только в один из двух регистров — регистр-источник операнда f или рабочий регистр W. Таким образом, операция пересылки содержимого одного из доступных регистров в другой (не источник операнда и не рабочий) потребует использования двух команд . Такая необходимость часто возникает при пересылке содержимого одного из регистров общего назначения (РОН) в один из портов МК . В то же время, в системе команд большинства CISC -процессоров присутствуют команды пересылки содержимого РОН в один из портов ввода/вывода. То есть более сложная система команд иногда позволяет реализовать более эффективный способ выполнения операции.
Во-вторых, оценка производительности МК по скорости пересылки "регистр-регистр" не учитывает особенностей конкретного реализуемого алгоритма управления. Так, при разработке быстродействующих устройств автоматизированного управления основное внимание следует уделять времени выполнения операций умножения и деления при реализации уравнений различных передаточных функций . А при реализации пульта дистанционного управления бытовой техникой следует оценивать время выполнения логических функций, которые используются при опросе клавиатуры и генерации последовательной кодовой посылки управления. Поэтому в критических ситуациях, требующих высокого быстродействия, следует оценивать производительность на множестве тех операций, которые преимущественно используются в алгоритме управления и имеют ограничения по времени выполнения.
В-третьих, необходимо еще учитывать, что указанные в справочных данных на МК частоты синхронизации обычно соответствуют частоте подключаемого кварцевого резонатора, в то время как длительность цикла центрального процессора определяется частотой обмена по ВКМ. Соотношение этих частот индивидуально для каждого МК и должно быть принято в расчет при сравнении производительности различных моделей контроллеров.
Основной особенностью фон-неймановской архитектуры является использование общей памяти для хранения программ и данных, как показано на рис. 4.2.
Основное преимущество архитектуры Фон-Неймана – упрощение устройства МПС, так как реализуется обращение только к одной общей памяти. Кроме того, использование единой области памяти позволяло оперативно перераспределять ресурсы между областями программ и данных, что существенно повышало гибкость МПС с точки зрения разработчика программного обеспечения. Размещение стека в общей памяти облегчало доступ к его содержимому. Неслучайно поэтому фон-неймановская архитектура стала основной архитектурой универсальных компьютеров, включая персональные компьютеры.
Основной особенностью гарвардской архитектуры является использование раздельных адресных пространств для хранения команд и данных, как показано на рис. 4.3.
Гарвардская архитектура почти не использовалась до конца 70-х годов, пока производители МК не поняли, что она дает определенные преимущества разработчикам автономных систем управления.
Дело в том, что, судя по опыту использования МПС для управления различными объектами, для реализации большинства алгоритмов управления такие преимущества фон-неймановской архитектуры как гибкость и универсальность не имеют большого значения. Анализ реальных программ управления показал, что необходимый объем памяти данных МК , используемый для хранения промежуточных результатов, как правило, на порядок меньше требуемого объема памяти программ . В этих условиях использование единого адресного пространства приводило к увеличению формата команд за счет увеличения числа разрядов для адресации операндов. Применение отдельной небольшой по объему памяти данных способствовало сокращению длины команд и ускорению поиска информации в памяти данных .
Кроме того, гарвардская архитектура обеспечивает потенциально более высокую скорость выполнения программы по сравнению с фон-неймановской за счет возможности реализации параллельных операций. Выборка следующей команды может происходить одновременно с выполнением предыдущей, и нет необходимости останавливать процессор на время выборки команды . Этот метод реализации операций позволяет обеспечивать выполнение различных команд за одинаковое число тактов, что дает возможность более просто определить время выполнения циклов и критичных участков программы.
4.2.2. Система команд процессора МК
Так же, как и в любой микропроцессорной системе , набор команд процессора МК включает в себя четыре основные группы команд :
- команды пересылки данных;
- арифметические команды ;
- логические команды ;
- команды переходов .
Для реализации возможности независимого управления разрядами портов (регистров) в большинстве современных МК предусмотрена также группа команд битового управления (булевый или битовый процессор). Наличие команд битового процессора позволяет существенно сократить объем кода управляющих программ и время их выполнения.
В ряде МК выделяют также группу команд управления ресурсами контроллера, используемую для настройки режимов работы портов ввода/вывода, управления таймером и т.п. В большинстве современных МК внутренние ресурсы контроллера отображаются на память данных , поэтому для целей управления ресурсами используются команды пересылки данных.
Система команд МК по сравнению с системой команд универсального МП имеет, как правило, менее развитые группы арифметических и логических команд , зато более мощные группы команд пересылки данных и управления. Эта особенность связана со сферой применения МК , требующей, прежде всего, контроля окружающей обстановки и формирования управляющих воздействий.
4.2.3. Схема синхронизации МК
Схема синхронизации МК обеспечивает формирование сигналов синхронизации, необходимых для выполнения командных циклов центрального процессора, а также обмена информацией по внутренней магистрали. В зависимости от исполнения центрального процессора командный цикл может включать в себя от одного до нескольких (4 — 6) тактов синхронизации. Схема синхронизации формирует также метки времени, необходимые для работы таймеров МК . В состав схемы синхронизации входят делители частоты, которые формируют необходимые последовательности синхросигналов.
RISC - это перенаправление на эту статью. Дальнейшие значения перечислены в разделе RISC (значения) .
Reduced Instruction Set Computer ( RISC , английский для компьютера уменьшенного набора инструкций ) является философией дизайна для компьютерных процессоров . Этот термин был придуман в 1980 году Дэвидом А. Паттерсоном и Карло Х. Секин . Целью разработки было отказаться от сложного набора инструкций , удобного для программирования на ассемблере , в пользу инструкций , которые легко декодировать и быстро выполнять («фактическое выполнение инструкции» обычно составляет всего 1 цикл). Это также сделало возможными более высокие тактовые частоты .
Философия дизайна, противоположная RISC, называется компьютером с комплексным набором команд (CISC). Сегодня различие между RISC и CISC в значительной степени потеряло свое значение. Между тем прежние семейства процессоров RISC также включали более сложные инструкции; процессоры CISC с середины 1990-х годов получили компоненты дизайна, подобные RISC, и также являются суперскалярными . Декодирование команд занимает лишь небольшую часть площади чипа независимо от RISC или CISC. Основное место в чипах сейчас занимают процессоры, которые появились в процессорах только с начала 1990-х годов.
Большое количество свободно используемых регистров и трехадресный код
Чтобы компилятор мог эффективно генерировать код и оптимизировать программы, процессоры RISC имеют большое количество свободно используемых регистров (обычно 16 или 32) и инструкций в трехадресном коде . Команды в трехадресном коде имеют один регистр назначения и два регистра источника. Процессор Berkeley RISC и его потомки (включая Sun SPARC , AMD Am29000 и Intel i960 ) также имеют окна регистров, которые позволяют использовать особенно большое количество регистров и ускоряют вызов подпрограмм .
Читайте также: