Risc архитектура: Risc (reduced instruction set computing) — Национальная библиотека им. Н. Э. Баумана
RISC-V: стандарт, изменивший мир микропроцессоров | Открытые системы. СУБД
За полвека индустрия микропроцессоров прошла огромный путь. Современные кристаллы почти не похожи на центральные процессоры недавнего прошлого, но главное— ключевыми характеристиками новых систем стали стоимость, открытость и целесообразность разработки.
29.04.2020
Владимир Фролов, Владимир Галактионов, Вадим Санжаров
Микропроцессоры, используемые сегодня, далеко ушли от систем, применяемых еще 30 лет назад: увеличились частота, объем памяти, количество ядер и пр. Но главное в другом: процессоры становятся все сложнее, что затрудняет их дальнейшее развитие, поэтому сегодня ключевыми факторами, влияющими на решение о создании новых систем, стали стоимость и целесообразность разработки. Как запланировать развитие линейки процессоров на долгосрочную перспективу? Какую роль сегодня играет система команд процессора? В этой связи весьма перспективна архитектура RISC-V — новый открытый стандарт системы команд и архитектуры процессоров.
Компьютерные архитектуры стремительно прогрессируют, однако работа с современными системами принципиально не ускорилась — чаще всего их используют для решения примерно тех же задач, что и 30 лет назад. В этой области человечество топчется на месте, и одна из причин этого — низкая фактическая эффективность использования оборудования: в среднестатистическом коде на С++ применяется не более 10% возможностей современных микропроцессоров. Расстояние между программистом и аппаратурой сегодня намного больше, чем раньше, — до сих пор нет эффективного интерфейса между разработчиком и оборуд
RISC — архитектура процессора. История и принципы работы.
RISC (Reduced Instruction Set Computer) – архитектура процессора с сокращённым набором инструкций. Начало исследований данной области положено компанией IBM (в исследовательском центре IBM, имени Томаса Джона Уотсона) в 1975 году.
Была создана для устранения недостатков CISC архитектуры, но не получила популярности в то время из-за унификации стандарта Intel x86 и всех программ выпущенных в то время под CISC процессоры (точнее нежелания их переписывать заново). «Сокращённый набор команд» вовсе не означает, что процессор имеет малое количество инструкций. Это значит лишь то, что инструкции разделены на действия, результаты которых могут быть вычислены за определённый период времени (обычно один такт).
Начиная с Intel 486DX все x86 процессоры имеют внутреннее ядро RISC, остался только преобразователь и дополнительные конвейеры, который на входе преобразует CISC инструкции в RISC, а на выходе обратно в CISC. Это необходимо из-за особенностей архитектуры х86, но иногда тормозит работу процессора и увеличивается количество транзисторов, площадь и тепловыделение в сравнении с полноценными RISC процессорами.
Появление полноценной RISC архитектуры на процессорах, позволило упростить конструкцию вычислительных ядер; уменьшить стоимость, площадь и при этом увеличить количество регистров общего назначения; унифицировать команды для вычислительных ядер и сравнять время выполнения всех команд, что также позволило воплотить в жизнь конвейерную обработку инструкций (реализация сложных инструкций из множества результатов более простых).
Вычислительным ядрам больше не нужно было обращаться к более медленной оперативной памяти для занесения и считывания результатов. Эти цели теперь выполняют регистры общего назначения, а к оперативной памяти обращение идёт только в процессе чтения начальных данных и вывода результатов вычислений. Поддерживается маршрут «регистр-регистр».
*в сравнении с CISC – архитектурой
RISC архитектура сейчас.
Основной проблемой по реализации RISC архитектуры являлась недостаточная поддержка со стороны софта и программного обеспечения. Но с появлением поддержки UNIXLinux подобных систем, эта проблема практически решилась.
Самыми известными и успешными представителями архитектуры RISC являются ARM от разработанная ARM Holdings. Процессоры с данной архитектурой, применяемые в абсолютном большинстве мобильных устройств и даже серверных системах, благодаря очень низкому энергопотреблению и тепловыделению.
Из наиболее известных RISC архитектур можно также выделить разработки компании IBM (PowerPC, Power), компанией Sun Microsystems (SPARC— архитектура) и компанией Atmel (AVR – архитектура).
На данный момент, RISC – архитектура является одной самых распространённых в мире, имея более 40% мирового рынка. Данный результат в основном благодаря ARM архитектуре и то, что в современных мобильных устройствах используются именно процессоры ARM (в абсолютном большинстве).
CISC и RISC архитектуры | Рефераты KM.RU
CISC и RISC архитектуры
1.1 Основные отличия CISC и RISC архитектур
Двумя основными архитектурами набора команд, используемыми компьютерной промышленностью на современном этапе развития вычислительной техники (в соответствии с [2]) являются архитектуры CISC и RISC. Основоположником CISC-архитектуры можно считать компанию IBM с ее базовой архитектурой /360, ядро которой используется с 1964 года и дошло до наших дней, например, в таких современных мейнфреймах как IBM ES/9000.Лидером в разработке микропроцессоров c полным набором команд (CISC – Complete Instruction Set Computer) считается компания Intel со своей серией x86 и Pentium. Эта архитектура является практическим стандартом для рынка микрокомпьютеров. Для CISC-процессоров характерно: сравнительно небольшое число регистров общего назначения; большое количество машинных команд, некоторые из которых нагружены семантически аналогично операторам высокоуровневых языков программирования и выполняются за много тактов; большое количество методов адресации; большое количество форматов команд различной разрядности; преобладание двухадресного формата команд; наличие команд обработки типа регистр-память.
Основой архитектуры современных рабочих станций и серверов является архитектура компьютера с сокращенным набором команд (RISC – Reduced Instruction Set Computer). Зачатки этой архитектуры уходят своими корнями к компьютерам CDC6600, разработчики которых (Торнтон, Крэй и др.) осознали важность упрощения набора команд для построения быстрых вычислительных машин. Эту традицию упрощения архитектуры С. Крэй с успехом применил при создании широко известной серии суперкомпьютеров компании Cray Research. Однако окончательно понятие RISC в современном его понимании сформировалось на базе трех исследовательских проектов компьютеров: процессора 801 компании IBM, процессора RISC университета Беркли и процессора MIPS Стенфордского университета.
Среди других особенностей RISC-архитектур следует отметить наличие достаточно большого регистрового файла (в типовых RISC-процессорах реализуются 32 или большее число регистров по сравнению с 8 – 16 регистрами в CISC-архитектурах), что позволяет большему объему данных храниться в регистрах на процессорном кристалле большее время и упрощает работу компилятора по распределению регистров под переменные.
Для обработки, как правило, используются трехадресные команды, что помимо упрощения дешифрации дает возможность сохранять большее число переменных в регистрах без их последующей перезагрузки.
Развитие архитектуры RISC в значительной степени определялось прогрессом в области создания оптимизирующих компиляторов. Именно современная техника компиляции позволяет эффективно использовать преимущества большего регистрового файла, конвейерной организации и большей скорости выполнения команд. Современные компиляторы используют также преимущества другой оптимизационной техники для повышения производительности, обычно применяемой в процессорах RISC: реализацию задержанных переходов и суперскалярной обработки, позволяющей в один и тот же момент времени выдавать на выполнение несколько команд.
Следует отметить, что в последних разработках компании Intel (имеются в виду Pentium и Pentium Pro), а также ее последователей-конкурентов (AMD R5, Cyrix M1, NexGen Nx586 и др.) широко используются идеи, реализованные в RISC-микропроцессорах, так что многие различия между CISC и RISC стираются. Однако сложность архитектуры и системы команд x86 остается и является главным фактором, ограничивающим производительность процессоров на ее основе.
Преимущества и недостатки архитектуры PA-RISC компании Hewlett Packard
Основой разработки современных изделий Hewlett-Packard является архитектура PA-RISC. Она была разработана компанией в 1986 году и с тех пор прошла несколько стадий своего развития благодаря успехам интегральной технологии от многокристального до однокристального исполнения. В сентябре 1992 года компания Hewlett-Packard объявила о создании своего суперскалярного процессора PA-7100, который с тех пор стал основой построения семейства рабочих станций HP 9000 Series 700 и семейства бизнес-серверов HP 9000 Series 800. В настоящее время имеются 33-, 50- и 99 МГц реализации кристалла PA-7100. Кроме того выпущены модифицированные, улучшенные по многим параметрам кристаллы PA-7100LC с тактовой частотой 64, 80 и 100 МГц, и PA-7150 с тактовой частотой 125 МГц, а также PA-7200 с тактовой частотой 90 и 100 МГц. Компания активно разрабатывает процессор следующего поколения HP 8000, которые будет работать с тактовой частотой 200 МГц и обеспечивать уровень 360 единиц SPECint92 и 550 единиц SPECfp92. Появление этого кристалла ожидается в 1996 году. Кроме того, Hewlett-Packard в сотрудничестве с Intel планируют создать новый процессор с очень длинным командным словом (VLIW-архитектура), который будет совместим как с семейством Intel x86, так и семейством PA-RISC. Выпуск этого процессора планируется на 1998 год.
1.3 Характеристика процессоров на основе архитектуры PA-RISC
1.3.1 Характеристика и особенности процессора PA 7100
Особенностью архитектуры PA-RISC является внекристальная реализация кэша, что позволяет реализовать различные объемы кэш-памяти и оптимизировать конструкцию в зависимости от условий применения (рисунок 1.3.1). Хранение команд и данных осуществляется в раздельных кэшах, причем процессор соединяется с ними с помощью высокоскоростных 64-битовых шин. Кэш-память реализуется на высокоскоростных кристаллах статической памяти (SRAM), синхронизация которых осуществляется непосредственно на тактовой частоте процессора. При тактовой частоте 100 МГц каждый кэш имеет полосу пропускания 800 Мбайт/с при выполнении операций считывания и 400 Мбайт/с при выполнении операций записи. Микропроцессор аппаратно поддерживает различный объем кэш-памяти: кэш команд может иметь объем от 4 Кбайт до 1 Мбайт, кэш данных — от 4 Кбайт до 2 Мбайт.
Чтобы снизить коэффициент промахов применяется механизм хеширования адреса. В обоих кэшах для повышения надежности применяются дополнительные контрольные разряды, причем ошибки кэша команд корректируются аппаратными средствами.
рис.1.3.1 Блок-схема процессора PA 7100
Процессор подсоединяется к памяти и подсистеме ввода/вывода посредством синхронной шины. Процессор может работать с тремя разными отношениями внутренней и внешней тактовой частоты в зависимости от частоты внешней шины: 1:1, 3:2 и 2:1. Это позволяет использовать в системах разные по скорости микросхемы памяти.
Конструктивно на кристалле PA-7100 размещены: целочисленный процессор, процессор для обработки чисел с плавающей точкой, устройство управления кэшем, унифицированный буфер TLB, устройство управления, а также ряд интерфейсных схем. Целочисленный процессор включает АЛУ, устройство сдвига, сумматор команд перехода, схемы проверки кодов условий, схемы обхода, универсальный регистровый файл, регистры управления и регистры адресного конвейера. Устройство управления кэш-памятью содержит регистры, обеспечивающие перезагрузку кэш-памяти при возникновении промахов и контроль когерентного состояния памяти. Это устройство содержит также адресные регистры сегментов, буфер преобразования адреса TLB и аппаратуру хеширования, управляющую перезагрузкой TLB. В состав процессора плавающей точки входят устройство умножения, арифметико-логическое устройство, устройство деления и извлечения квадратного корня, регистровый файл и схемы «закоротки» результата. Интерфейсные устройства включают все необходимые схемы для связи с кэш-памятью команд и данных, а также с шиной данных. Обобщенный буфер TLB содержит 120 строк ассоциативной памяти фиксированного размера и 16 строк переменного размера.
Устройство плавающей точки реализует арифметику с одинарной и двойной точностью в стандарте IEEE 754. Его устройство умножения используется также для выполнения операций целочисленного умножения. Устройства деления и вычисления квадратного корня работают с удвоенной частотой процессора. Арифметико-логическое устройство выполняет операции сложения, вычитания и преобразования форматов данных. Регистровый файл состоит из 28 64-битовых регистров, каждый из которых может использоваться как два 32-битовых регистра для выполнения операций с плавающей точкой одинарной точности. Регистровый файл имеет пять портов чтения и три порта записи, которые обеспечивают одновременное выполнение операций умножения, сложения и загрузки/записи.
Конвейер проектировался с целью максимального увеличения времени, необходимого для выполнения чтения внешних кристаллов SRAM кэш-памяти данных. Это позволяет максимизировать частоту процессора при заданной скорости SRAM. Все команды загрузки (LOAD) выполняются за один такт и требуют только одного такта полосы пропускания кэш-памяти данных. Поскольку кэши команд и данных размещены на разных шинах, в конвейере отсутствуют какие-либо потери, связанные с конфликтами по обращениям в кэш данных и кэш команд.
Процессор может в каждом такте выдавать на выполнение одну целочисленную команду и одну команду плавающей точки. Полоса пропускания кэша команд достаточна для поддержания непрерывной выдачи двух команд в каждом такте. Отсутствуют какие-либо ограничения по выравниванию или порядку следования пары команд, которые выполняются вместе. Кроме того, отсутствуют потери тактов, связанных с переключением с выполнения двух команд на выполнение одной команды.
Специальное внимание было уделено тому, чтобы выдача двух команд в одном такте не приводила к ограничению тактовой частоты. Чтобы добиться этого, в кэше команд был реализован специально предназначенный для этого заранее декодируемый бит, чтобы отделить команды целочисленного устройства от команд устройства плавающей точки. Этот бит предварительного декодирования команд минимизирует время, необходимое для правильного разделения команд.
Потери, связанные с зависимостями по данным и управлению, в этом конвейере минимальны. Команды загрузки выполняются за один такт, за исключением случая, когда последующая команда пользуется регистром-приемником команды LOAD. Как правило компилятор позволяет обойти подобные потери одного такта. Для уменьшения потерь, связанных с командами условного перехода, в процессоре используется алгоритм прогнозирования направления передачи управления. Для оптимизации производительности циклов передачи управления вперед по программе прогнозируются как невыполняемые переходы, а передачи управления назад по программе — как выполняемые переходы. Правильно спрогнозированные условные переходы выполняются за один такт.
Количество тактов, необходимое для записи слова или двойного слова командой STORE уменьшено с трех до двух тактов. В более ранних реализациях архитектуры PA-RISC был необходим один дополнительный такт для чтения тега кэша, чтобы гарантировать попадание, а также для того, чтобы объединить старые данные строки кэш-памяти данных с записываемыми данными. PA 7100 использует отдельную шину адресного тега, чтобы совместить по времени чтение тега с записью данных предыдущей команды STORE. Кроме того, наличие отдельных сигналов разрешения записи для каждого слова строки кэш-памяти устраняет необходимость объединения старых данных с новыми, поступающими при выполнении команд записи слова или двойного слова. Этот алгоритм требует, чтобы запись в микросхемы SRAM происходила только после того, когда будет определено, что данная запись сопровождается попаданием в кэш и не вызывает прерывания. Это требует дополнительной ступени конвейера между чтением тега и записью данных. Такая конвейеризация не приводит к дополнительным потерям тактов, поскольку в процессоре реализованы специальные цепи обхода, позволяющие направить отложенные данные команды записи последующим командам загрузки или командам STORE, записывающим только часть слова. Для данного процессора потери конвейера для команд записи слова или двойного слова сведены к нулю, если непосредственно последующая команда не является командой загрузки или записи. В противном случае потери равны одному такту. Потери на запись части слова могут составлять от нуля до двух тактов. Моделирование показывает, что подавляющее большинство команд записи в действительности работают с однословным или двухсловным форматом.
Все операции с плавающей точкой, за исключением команд деления и вычисления квадратного корня, полностью конвейеризованы и имеют двухтактную задержку выполнения как в режиме с одинарной, так и с двойной точностью. Процессор может выдавать на выполнение независимые команды с плавающей точкой в каждом такте при отсутствии каких-либо потерь. Последовательные операции с зависимостями по регистрам приводят к потере одного такта. Команды деления и вычисления квадратного корня выполняются за 8 тактов при одиночной и за 15 тактов при двойной точности. Выполнение команд не останавливается из-за команд деления/вычисления квадратного корня до тех пор, пока не потребуется регистр результата или не будет выдаваться следующая команда деления/вычисления квадратного корня.
Процессор может выполнять параллельно одну целочисленную команду и одну команду с плавающей точкой. При этом «целочисленными командами» считаются и команды загрузки и записи регистров плавающей точки, а «команды плавающей точки» включают команды FMPYADD и FMPYSUB. Эти последние команды объединяют операцию умножения с операциями сложения или вычитания соответственно, которые выполняются параллельно. Пиковая производительность составляет 200 MFLOPS для последовательности команд FMPYADD, в которых смежные команды независимы по регистрам.
Потери для операций плавающей точки, использующих предварительную загрузку операнда командой LOAD, составляют один такт, если команды загрузки и плавающей арифметики являются смежными, и два такта, если они выдаются для выполнения одновременно. Для команды записи, использующей результат операции с плавающей точкой, потери отсутствуют, даже если они выполняются параллельно.
Потери, возникающие при промахах в кэше данных, минимизируются посредством применения четырех разных методов: «попадание при промахе» для команд LOAD и STORE, потоковый режим работы с кэшем данных, специальная кодировка команд записи, позволяющая избежать копирования строки, в которой произошел промах, и семафорные операции в кэш-памяти. Первое свойство позволяет во время обработки промаха в кэше данных выполнять любые типы других команд. Для промахов, возникающих при выполнении команды LOAD, обработка последующих команд может продолжаться до тех пор, пока регистр результата команды LOAD не потребуется в качестве регистра операнда для другой команды. Компилятор может использовать это свойство для предварительной выборки в кэш необходимых данных задолго до того момента, когда они действительно потребуются. Для промахов, возникающих при выполнении команды STORE, обработка последующих команд загрузки или операций записи в части одного слова продолжается до тех пор, пока не возникает обращений к строке, в которой произошел промах. Компилятор может использовать это свойство для выполнения команд на фоне записи результатов предыдущих вычислений. Во время задержки, связанной с обработкой промаха, другие команды LOAD и STORE, для которых происходит попадание в кэш данных, могут выполняться как и другие команды целочисленной арифметики и плавающей точки. В течение всего времени обработки промаха команды STORE, другие команды записи в ту же строку кэш-памяти могут происходить без дополнительных потерь времени. Для каждого слова в строке кэш-памяти процессор имеет специальный индикационный бит, предотвращающий копирование из памяти тех слов строки, которые были записаны командами STORE. Эта возможность применяется к целочисленным и плавающим операциям LOAD и STORE.
Выполнение команд останавливается, когда регистр-приемник команды LOAD, выполняющейся с промахом, требуется в качестве операнда другой команды. Свойство «потоковости» позволяет продолжить выполнение как только нужное слово или двойное слово возвращается из памяти. Таким образом, выполнение команд может продолжаться как во время задержки, связанной с обработкой промаха, так и во время заполнения соответствующей строки при промахе.
При выполнении блочного копирования данных в ряде случаев компилятор заранее знает, что запись должна осуществляться в полную строку кэш-памяти. Для оптимизации обработки таких ситуаций архитектура PA-RISC 1.1 определяет специальную кодировку команд записи («блочное копирование»), которая показывает, что аппаратуре не нужно осуществлять выборку из памяти строки, при обращении к которой может произойти промах кэш-памяти. В этом случае время обращения к кэшу данных складывается из времени, которое требуется для копирования в память старой строки кэш-памяти по тому же адресу в кэше (если он «грязный») и времени, необходимого для записи нового тега кэша. В процессоре PA 7100 такая возможность реализована как для привилегированных, так и для непривилегированных команд.
Последнее улучшение управления кэшем данных связано с реализацией семафорных операций «загрузки с обнулением» непосредственно в кэш-памяти. Если семафорная операция выполняется в кэше, то потери времени при ее выполнении не превышают потерь обычных операций записи. Это не только сокращает конвейерные потери, но и снижает трафик шины памяти. В архитектуре PA-RISC 1.1 предусмотрен также другой тип специального кодирования команд, который устраняет требование синхронизации семафорных операций с устройствами ввода/вывода.
Управление кэш-памятью команд позволяет при промахе продолжить выполнение команд сразу же после поступления отсутствующей в кэше команды из памяти. 64-битовая магистраль данных, используемая для заполнения блоков кэша команд, соответствует максимальной полосе пропускания внешней шины памяти 400 Мбайт/с при тактовой частоте 100 МГц.
В процессоре предусмотрен также ряд мер по минимизации потерь, связанных с преобразованиями виртуальных адресов в физические.
Конструкция процессора обеспечивает реализацию двух способов построения многопроцессорных систем. При первом способе каждый процессор подсоединяется к интерфейсному кристаллу, который наблюдает за всеми транзакциями на шине основной памяти. В такой системе все функции по поддержанию когерентного состояния кэш-памяти возложены на интерфейсный кристалл, который посылает процессору соответствующие транзакции. Кэш данных построен на принципах отложенного обратного копирования и для каждого блока кэш-памяти поддерживаются биты состояния «частный» (private), «грязный» (dirty) и «достоверный» (valid), значения которых меняются в соответствии с транзакциями, которые выдает или принимает процессор.
Второй способ организации многопроцессорной системы позволяет объединить два процессора и контроллер памяти и ввода-вывода на одной и той же локальной шине памяти. В такой конфигурации не требуется дополнительных интерфейсных кристаллов и она совместима с существующей системой памяти. Когерентность кэш-памяти обеспечивается наблюдением за локальной шиной памяти. Пересылки строк между кэшами выполняются без участия контроллера памяти и ввода-вывода. Такая конфигурация обеспечивает возможность построения очень дешевых высокопроизводительных многопроцессорных систем.
Процессор поддерживает ряд операций, необходимых для улучшения графической производительности рабочих станций серии 700: блочные пересылки, Z-буферизацию, интерполяцию цветов и команды пересылки данных с плавающей точкой для обмена с пространством ввода/вывода.
Процессор построен на базе технологического процесса КМОП с проектными нормами 0.8 микрон, что обеспечивает тактовую частоту 100 МГц.
1.3.2 Характеристика и особенности процессора PA 7200
Процессор PA 7200 имеет ряд архитектурных усовершенствований по сравнению с PA 7100, главными из которых являются добавление второго целочисленного конвейера, построение внутрикристального вспомогательного кэша данных и реализация нового 64-битового интерфейса с шиной памяти.
Процессор PA 7200, как и его предшественник, обеспечивает суперскалярный режим работы с одновременной выдачей до двух команд в одном такте. Все команды процессора можно разделить на три группы: целочисленные операции, операции загрузки/записи и операции с плавающей точкой. PA 7200 осуществляет одновременную выдачу двух команд, принадлежащим разным группам, или двух целочисленных команд (благодаря наличию второго целочисленного конвейера с АЛУ и дополнительных портов чтения и записи в регистровом файле). Команды перехода выполняются в целочисленном конвейере, причем эти переходы могут составлять пару для одновременной выдачи на выполнение только с предшествующей командой.
Повышение тактовой частоты процессора требует упрощения декодирования команд на этапе выдачи. С этой целью предварительная дешифрация потока команд осуществляется еще на этапе загрузки кэш-памяти. Для каждого двойного слова кэш-память команд включает 6 дополнительных бит, которые содержат информацию о наличии зависимостей по данным и конфликтов ресурсов, что существенно упрощает выдачу команд в суперскалярном режиме.
В процессоре PA 7200 реализован эффективный алгоритм предварительной выборки команд, хорошо работающий и на линейных участках программ.
Как и в PA 7100 в процессоре реализован интерфейс с внешней кэш-памятью данных, работающей на тактовой частоте процессора с однотактным временем ожидания. Внешняя кэш-память данных построена по принципу прямого отображения. Кроме того, для повышения эффективности на кристалле процессора реализован небольшой вспомогательный кэш емкостью в 64 строки. Формирование, преобразование адреса и обращение к основной и вспомогательной кэш-памяти данных выполняется на двух ступенях конвейера. Максимальная задержка при обнаружении попадания равна одному такту.
Вспомогательный внутренний кэш содержит 64 32-байтовые строки. При обращении к кэш-памяти осуществляется проверка 65 тегов: 64-х тегов вспомогательного кэша и одного тега внешнего кэша данных. При обнаружении совпадения данные направляются в требуемое функциональное устройство.
При отсутствии необходимой строки в кэш-памяти производится ее загрузка из основной памяти. При этом строка поступает во вспомогательный кэш, что в ряде случаев позволяет сократить количество перезагрузок внешней кэш-памяти, организованной по принципу прямого отображения. Архитектурой нового процессора для команд загрузки/записи предусмотрено кодирование специального признака локального размещения данных («spatial locality only»). При выполнении команд загрузки, помеченных этим признаком, происходит обычное заполнение строки вспомогательного кэша. Однако последующая запись строки осуществляется непосредственно в основную память минуя внешний кэш данных, что значительно повышает эффективность работы с большими массивами данных, для которых размера строки кэш-памяти с прямым отображением оказывается недостаточно.
Расширенный набор команд процессора позволяет реализовать средства автоиндексации для повышения эффективности работы с массивами, а также осуществлять предварительную выборку команд, которые помещаются во вспомогательный внутренний кэш. Этот вспомогательный кэш обеспечивает динамическое расширение степени ассоциативности основной кэш-памяти, построенной на принципе прямого отображения, и является более простым альтернативным решением по сравнению с множественно-ассоциативной организацией.
Процессор PA 7200 включает интерфейс новой 64-битовой мультиплексной системной шины Runway, реализующей расщепление транзакций и поддержку протокола когерентности памяти. Этот интерфейс включает буфера транзакций, схемы арбитража и схемы управления соотношениями внешних и внутренних тактовых частот.
1.3.3 Характеристика суперскалярного процессора PA 8000
Процессор PA-8000 был анонсирован в марте 1995 года на конференции COMPCON 95. Было объявлено, что показатели его производительности будут достигать 8.6 единиц SPECint95 и 15 единиц SPECfp95 для операций целочисленной и вещественной арифметики соответственно. В настоящее время этот очень высокий уровень производительности подтвержден испытаниями рабочих станций и серверов, построенных на базе этого процессора.
Процессор PA-8000 вобрал в себя все известные методы ускорения выполнения команд. В его основе лежит концепция «интеллектуального выполнения», которая базируется на принципе внеочередного выполнения команд. Это свойство позволяет PA-8000 достигать пиковой суперскалярной производительности благодаря широкому использованию механизмов автоматического разрешения конфликтов по данным и управлению аппаратными средствами. Эти средства хорошо дополняют другие архитектурные компоненты, заложенные в структуру кристалла: большое число исполнительных функциональных устройств, средства прогнозирования направления переходов и выполнения команд по предположению, оптимизированная организация кэш-памяти и высокопроизводительный шинный интерфейс.
Высокая производительность PA-8000 во многом определяется наличием большого набора функциональных устройств, который включает в себя 10 исполнительных устройств: два арифметико-логических устройства (АЛУ) для выполнения целочисленных операций, два устройства для выполнения операций сдвига/слияния данных, два устройства для выполнения умножения/сложения чисел с плавающей точкой, два устройства деления/вычисления квадратного корня и два устройства выполнения операций загрузки/записи.
Средства внеочередного выполнения команд процессора PA-8000 обеспечивают аппаратное планирование загрузки конвейеров и лучшее использование функциональных устройств. В каждом такте на выполнение могут выдаваться до четырех команд, которые поступают в 56-строчный буфер переупорядочивания. Этот буфер позволяет поддерживать постоянную занятость функциональных устройств и обеспечивает эффективную минимизацию конфликтов по ресурсам. конфликтов по ресурсам. Кристалл может анализировать все 56 командных строк одновременно и выдавать в каждом такте по 4 готовых для выполнения команды в функциональные устройства. Это позволяет процессору автоматически выявлять параллелизм уровня выполнения команд.
Суперскалярный процессор PA-8000 обеспечивает полный набор средств выполнения 64-битовых операций, включая адресную арифметику, а также арифметику с фиксированной и плавающей точкой. При этом кристалл полностью сохраняет совместимость с 32-битовыми приложениями. Это первый процессор, в котором реализована 64-битовая архитектура PA-RISC. Он сохраняет полную совместимость с предыдущими и будущими реализациями PA-RISC.
Кристалл изготовлен по 0.5-микронной КМОП технологии с напряжением питания 3.3 Вольт и можно рассчитывать на дальнейшее уменьшение размеров элементов в будущем.
2. ОСОБЕННОСТИ СЕРВЕРОВ КОМПАНИИ HEWLETT-PACKARD НА БАЗЕ ПРОЦЕССОРОВ С АРХИТЕКТУРОЙ PA- RISC
Компания Hewlett-Packard была учреждена в Калифорнии в 1938 году с целью создания электронного тестирующего и измерительного оборудования. В настоящее время компания разрабатывает, производит, осуществляет маркетинг и сервис систем для коммерческих приложений, автоматизации производственных процессов, процессов разработки, тестирования и измерений, а также аналитические и медицинские инструменты и системы, периферийное оборудование, калькуляторы и компоненты для использования в широком ряде отраслей промышленности. Она продает более 4500 изделий, используемых в промышленности, бизнесе, науке, образовании, медицине и инженерии.
Основой разработки современных компьютеров Hewlett-Packard является архитектура PA-RISC. Она была разработана компанией в 1986 году, и с тех пор, благодаря успехам интегральной технологии, прошла несколько стадий своего развития от многокристального до однокристального исполнения. Архитектура PA-RISC разрабатывалась с учетом возможности построения многопроцессорных систем, которые реализованы в старших моделях серверов.
2.1 Серверы HP9000 класса D
В секторе рынка серверов рабочих групп компания HP представлена довольно широкой серией систем HP9000 класса D. Это серия систем с относительно низкой стоимостью, которая конкурирует с серверами, построенными на базе ПК. Эти системы базируются на архитектуре процессоров PA-RISC (75 и 100 МГц PA-7100LC, 100 и 120 МГц PA-7200, а также 160 МГц PA-8000) и работают под управлением операционной системы HP-UNIX.
Модели D200, D210 и D310 представляют собой (согласно[3]) однопроцессорные системы. Модели D250, D260, D270 и D350 могут оснащаться как одним, так и двумя процессорами. В своих моделях D3XX HP подчеркивает свойства обеспечения высокой готовности: возможность «горячей» замены внутренних дисковых накопителей, возможность организации дискового массива RAID и наличие источника бесперебойного питания. Эти модели обладают также расширенными возможностями по наращиванию оперативной памяти и подсистемы ввода/вывода.
В моделях D2XX имеется 5 гнезд расширения ввода/вывода и 2 отсека для установки дисковых накопителей с интерфейсом SCSI-2. В моделях D3XX количество гнезд расширения ввода/вывода расширено до 8, в 5 отсеках могут устанавливаться дисковые накопители с интерфейсом Fast/Wide SCSI-2, которые допускают замену без выключения питания системы.
Старшие модели серии обеспечивают возможность расширения оперативной ECC-памяти до 1.5 Гбайт, при этом коэффициент расслоения может увеличиваться до 12. Максимальный объем дискового пространства при использовании внешних дисковых массивов может достигать 5.0 Тбайт.
2.2 Серверы HP9000 класса K
Серверы HP9000 класса K представляют собой системы среднего класса, поддерживающие симметричную мультипроцессорную обработку (до 4 процессоров). Также как и системы класса D они базируются на архитектуре PA-RISC (120 МГц PA-7200 с кэш-памятью команд/данных первого уровня 256/256 Кбайт или 1/1 Мбайт, а также 160 и 180 МГц PA-8000 с кэш-памятью команд/данных первого уровня 1/1 Мбайт, работающей на тактовой частоте процессора).
Конструкция серверов класса К обеспечивает высокую пропускную способность систем. Основными компонентами поддержания высокой производительности являются системная шина с пиковой пропускной способностью 960 Мбайт/с, большая оперативная память с контролем и исправлением одиночных ошибок (ECC) емкостью до 4 Гбайт c 32-кратным расслоением, многоканальная подсистема ввода/вывода с пропускной способностью до 288 Мбайт/с, стандартная высокоскоростная шина Fast/Wide Differential SCSI-2, а также дополнительные возможности по подключению высокоскоростных сетей и каналов типа FDDI, ATM и Fibre Channel.
В конструкции сервера предусмотрены 4 отсека для установки дисковых накопителей, а с помощью специальных стоек (кабинетов) расширения емкость дисковой памяти системы может быть доведена до 8.3 Тбайт.
2.3 Симметричные многопроцессорные серверы HP9000 класса Т
Самым мощным и расширяемым рядом корпоративных серверов компании HP на базе ОС UNIX является семейство HP9000 класса T. Это следующее поколение серверов, которое было разработано компанией вслед за HP9000 model 870. В начале на рынке появились системы HP9000 T500, допускающие установку до 12 процессоров PA7100, затем HP объявила 14-процессорные системы T520, построенные на базе процессора 120 МГц PA7150. В настоящее время объявлены 12-процессорные системы Т600 на базе процессора PA-8000, поставки которых должны начаться в 1997 году. Существующие системы (Т500 и Т520) допускают замену старых процессоров на процессоры PA-8000.
Характерной особенностью архитектуры серверов класса Т является большая емкость кэш-памяти команд (1 Мбайт) и данных (1 Мбайт) у каждого процессора системы. Серверы класса T используют 64-битовую шину с расщеплением транзакций, которая поддерживает до 14 процессоров, работающих на частоте 120 МГц. Эффективность этой шины, как и шины Runway, составляет 80%, что обеспечивает в установившемся режиме пропускную способность 768 Мбайт/с при пиковой производительности 960 Мбайт/с.
Серверы класса T могут поддерживать до 8 каналов HP-PB (HP Precision Bus), работающих со скоростью 32 Мбайт/с, однако в стойке основной системы поддерживается только один канал HP-PB. Для обеспечения полной конфигурации подсистемы ввода/вывода необходима установка 7 стоек расширения, занимающих достаточно большую площадь. Общая пиковая полоса пропускания подсистемы в/в в полностью сконфигурированной 8-стоечной системе составляет 256 Мбайт/с, что меньше полосы пропускания подсистемы в/в серверов класса К. Однако максимальная емкость дисковой памяти при использовании RAID-массивов достигает 20 Тбайт.
Указанная двухярусная шинная структура сервера обеспечивает оптимальный баланс между требованиями процессоров и подсистемы ввода/вывода, гарантируя высокую пропускную способность системы даже при тяжелой рабочей нагрузке. Доступ процессоров к основной памяти осуществляется посредством мощной системной шины процессор-память, поддерживающей когерентное состояние кэш-памятей всей системы. В будущих системах планируется 4-кратное увеличение пропускной способности подсистемы ввода/вывода.
2.4 Семейство корпоративных параллельных серверов HP9000
Одним из последних продуктов, выпущенных компанией HP, является семейство параллельных систем, представленных в настоящее время двумя моделями ESP21 и ESP30. Основная концепция, лежащая в основе этих систем достаточно проста. Она заключается в создании комбинированной структуры, в которой объединяются возможности и сильные стороны проверенной временем высокопроизводительной симметричной мультипроцессорной обработки с практически неограниченным потенциалом по росту производительности и масштабируемости, который может быть достигнут посредством параллельной архитектуры. Результатом такого объединения является высокопроизводительная архитектура, обеспечивающая чрезвычайно высокую степень распараллеливания вычислений.
В отличие от некоторых других параллельных архитектур, которые используют слабо связанные однопроцессорные узлы, параллельная архитектура серверов ESP21 и ESP30 использует высокопроизводительную SMP-технологию в качестве масштабируемых строительных блоков. Преимущество такого подхода заключается в том, что прикладные системы могут пользоваться вычислительной мощностью и возможностями множества тесно связанных процессоров в инфраструктуре SMP и достаточно эффективно обеспечивать максимально возможную производительность приложений. По мере необходимости дополнительные SMP-модули могут быть добавлены в систему для увеличения степени параллелизма для масштабирования общей производительности системы, ее емкости, пропускной способности в/в, или таких системных ресурсов как основная и дисковая память.
Изделия этой серии предназначены главным образом для обеспечения масштабируемости, превышающей обычные возможности SMP-архитектуры, для крупномасштабных систем принятия решений, систем оперативной обработки транзакций, построения хранилищ данных во Всемирной Паутине Internet. Для большинства приложений модели ESP обеспечивают практически линейный рост уровня производительности. Это достигается посредством использования высокопроизводительной шинной архитектуры SMP узлов ESP в сочетании с возможностями установки дополнительных SMP-узлов с помощью разработанного компанией HP коммутатора оптоволоконных каналов (Fiber Channel Enterprise Switch). Управление всеми ресурсами системы осуществляется с единой консоли управления.
При необходимости обеспечения высокой готовности системы ESP поддерживают специальный слой программных средств MC/ServiceGuard. Эти средства позволяют создать эффективное сочетание свойств высокой производительности, масштабируемости и высокой готовности, и помимо стандартных возможностей RAS (надежности, готовности и удобства обслуживания) обеспечивают замену узлов без останова работы системы.
По сути серия EPS предоставляет средства для объединения моделей класса К (EPS21) и Т(EPS30) в единую систему. 16-канальный коммутатор Fiber Channel позволяет объединить до 64 процессоров в модели EPS21 (до 256 процессоров в будущем) и до 224 процессоров в модели EPS30 (до 768 процессоров в будущем). Общая пиковая пропускная способность систем может достигать уровня 15 Гбайт/с.
Введение
На данном этапе научно-технического развития выбор аппаратной платформы и конфигурации системы представляет собой чрезвычайно сложную задачу[1]. Это связано, в частности, с характером прикладных систем, который в значительной степени может определять рабочую нагрузку вычислительного комплекса в целом. Однако часто оказывается просто трудно с достаточной точностью предсказать саму нагрузку, особенно в случае, если система должна обслуживать несколько групп разнородных по своим потребностям пользователей. Следует отметить, что выбор той или иной аппаратной платформы и конфигурации определяется и рядом общих требований, которые предъявляются к характеристикам современных вычислительных систем. К ним относятся: отношение стоимость/производительность, надежность и отказоустойчивость, масштабируемость, совместимость и мобильность программного обеспечения. Основная задача при проектировании всего ряда моделей системы PA-RISC заключалась в создании такой архитектуры, которая была бы одинаковой с точки зрения пользователя для всех моделей системы независимо от цены и производительности каждой из них. Огромные преимущества такого подхода, позволяющего сохранять существующий задел программного обеспечения при переходе на новые модели были быстро оценены как производителями компьютеров, так и пользователями и начиная с этого времени практически все фирмы-поставщики компьютерного оборудования взяли на вооружение эти принципы, поставляя серии совместимых компьютеров.
Постановка задачи
В ходе выполнения данного курсового проекта необходимо рассмотреть существующие виды архитектур процессоров, охарактеризовать их преимущества и недостатки. Следует детально рассмотреть какую-либо архитектуру (в данном случае это архитектура PA-RISC компании Hewlett Packard), а также рассмотреть области применения процессоров с выбранной архитектурой (характеристика серверов компании Hewlett Packard на основе PA-RISC процессоров). Также необходимо разработать программу-драйвер передачи информации между рабочими станциями в локальной сети.
Заключение
В данном курсовом проекте рассмотрены основные архитектектуры процессоров. Детально рассмотрена архитектура PA-RISC компании Hewlett Packard, проанализированы преимущества и недостатки этой архитектуры. Также рассмотрены области применения процессоров с архитектурой PA-RISC (характеристика серверов компании Hewlett Packard на основе PA-RISC процессоров). В приложении приведена программа обеспечивающая передачу информации между рабочими станциями в локальной сети.
Дата добавления: 17.05.2001
Вопрос 20. Особенности risc архитектуры.
RISC
— Reduced Instruction
Set Computer –
архитектура компьютера с сокращенным
набором команд.В ходе анализа частоты
выполнения тех или иных команд выяснено,
что 40% команд используются крайне редко.
RISC-архитектура предполагает
реализацию в ЭВМ сокращенного набора
простейших, но часто употребляемых
команд, что позволяет упростить
аппаратурные средства процессора и
благодаря этому получить возможность
повысить его быстродействие.
Современные
процессоры типа RISC
характеризуются следующими особенностями:
упрощенный набор команд, имеющих
одинаковую длину. Например, выполнение
типичной команды можно разделить на
этапы:
выборка команды
декодирование команды
выполнение операции
обращение к памяти
запоминание результата
Все
команды в RISC имеют одну
структуру, количество команд – обычно
не более 50-100.
Большинство команд выполняется за 4-5
тактов процессора.Отсутствуют макрокоманды, усложняющие
структуру процессора и уменьшающие
скорость его работы.Взаимодействие с оперативной памятью
ограничивается операциями пересылки
данных.Уменьшено число способов адресации
(не используется косвенная, обычно 2-3
простых способов)Используется конвейер команд.
Применяется высокоскоростная память.
В
ЭВМ с RISC машинным циклом называют время,
в течение которого производится выборка
двух операндов из регистров, выполнение
операции в АЛУ и запоминание результата
в регистре. Большинство команд в RISC
являются быстрыми командами типа
«регистр — регистр» и выполняются без
обращений к ОП. Обращения к ОП сохраняются
лишь в командах загрузки регистров из
памяти и запоминания в ОП. Чтобы это
было возможным, процессор должен
содержать достаточно большое число
общих регистров.
Новый
подход к архитектуре команд процессора
значительно сократил площадь, требуемой
для него на кристалле интегральной
микросхемы. Это позволило резко увеличить
число регистров (более 100 по лекциям, а
вообще в типовых RISC-процессорах
реализуются 32 или большее число регистров
по сравнению с 8 — 16 регистрами в
CISC-архитектурах). В результате процессор
стал на 20-30% реже обращаться к оперативной
памяти. Упростилась топология процессора,
сократились сроки ее разработки, она
стала дешевле.
Особенностью
RISC архитектуры является
механизм перекрывающихся окон,
предназначенный для уменьшения числа
обращений к оперативной памяти и
межрегистровых передач, что способствует
увеличению производительности ЭВМ.
Процедурам динамически выделяются
небольшие группы регистров фиксированной
длины (регистровые окна). Окна
последовательно выполняемых процедур
перекрываются, благодаря чему возможна
передача параметров из одной процедуры
в другую. При этом не возникает
необходимость передачи содержимого
регистра в память.
Окно состоит
из трех подгрупп регистров:
первая подгруппа содержит параметры,
переданные данной процедуре от процедуры,
вызвавшей её, и результаты для вызывающей
процедуры при возврате в неё.вторая подгруппа содержит локальные
переменные процедуры.третья является буфером для двухстороннего
обмена.
В
1989 фирме Intel удалось на
основе RISC-архитектуры создать
однокристальный микропроцессор
80860, который практически представляет
собой кремниевый эквивалент суперЭВМ
Cray-1.
В
настоящее время многие архитектуры
процессоров являются RISC-подобными, к
примеру, ARM, DEC Alpha, SPARC, AVR, MIPS, POWER и PowerPC.
Наиболее широко используемые в настольных
компьютерах процессоры архитектуры
x86 ранее являлись CISC-процессорами, однако
новые процессоры, начиная с Intel 486DX,
являются CISC-процессорами с RISC-ядром.
Они непосредственно перед исполнением
преобразуют CISC-инструкции x86-процессоров
в более простой набор внутренних
инструкций RISC.
Архитектура
RISC и CISC: характеристики и преимущества
CISC и RISC
Архитектура центрального процессора
обеспечивает возможность работы от «Архитектуры набора команд» до места, где она была разработана. Архитектура ЦП — это RISC (вычисления с сокращенным набором команд) и CISC (вычисления со сложным набором команд). CISC может выполнять режимы адресации или многоэтапные операции в одном наборе команд. Это конструкция ЦП, в которой одна инструкция выполняет множество низкоуровневых операций.Например, хранение в памяти, арифметические операции и загрузка из памяти. RISC — это стратегия проектирования ЦП, основанная на понимании того, что упрощенный набор команд дает более высокую производительность в сочетании с архитектурой микропроцессора, которая имеет возможность выполнять инструкции, используя несколько циклов микропроцессора на команду.
В этой статье обсуждается архитектура RISC и CISC с соответствующими схемами.
- Оборудование Intel называется компьютером со сложным набором команд (CISC).
- Оборудование Apple — это компьютер с сокращенным набором команд (RISC).
Что такое архитектура RISC и CISC
Разработчики оборудования изобретают множество технологий и инструментов для реализации желаемой архитектуры, чтобы удовлетворить эти потребности. Аппаратная архитектура может быть реализована в зависимости от конкретного оборудования или программного обеспечения, но в зависимости от приложения они используются в необходимом количестве. Что касается аппаратного обеспечения процессора, существует два типа концепций реализации аппаратной архитектуры процессора. Первый — RISC, второй — CISC.
Архитектура CISC
Подход CISC пытается минимизировать количество инструкций на программу, жертвуя количеством циклов на инструкцию. Компьютеры на базе архитектуры CISC предназначены для снижения стоимости памяти. Потому что для больших программ требуется больше памяти, что увеличивает стоимость памяти, а большая память становится дороже. Чтобы решить эти проблемы, количество инструкций в программе может быть уменьшено путем встраивания числа операций в одну инструкцию, тем самым делая инструкции более сложными.
Архитектура CISC
- MUL загружает два значения из памяти в отдельные регистры CISC.
- CISC использует минимум возможных инструкций, реализуя оборудование и выполняя операции.
- Архитектура набора команд — это среда, позволяющая осуществлять связь между программистом и оборудованием. Часть выполнения данных, копирование данных, удаление или редактирование — это команды пользователя, используемые в микропроцессоре, и с этим микропроцессором работает архитектура набора команд.
- Основные ключевые слова, используемые в вышеупомянутой архитектуре набора инструкций, следующие:
Набор инструкций: Группа инструкций, данных для выполнения программы, и они управляют компьютером, манипулируя данными. Инструкции представлены в форме — Opcode (рабочий код) и Operand. Где код операции — это инструкция, применяемая для загрузки и сохранения данных и т. Д. Операнд — это регистр памяти, в котором применяется инструкция.
Режимы адресации: Режимы адресации — это способ доступа к данным.В зависимости от типа применяемой инструкции режимы адресации бывают различных типов, например, прямой режим, в котором осуществляется доступ к прямым данным, или косвенный режим, когда осуществляется доступ к местоположению данных. Процессоры с идентичным ISA могут сильно отличаться по своей организации. Процессоры с идентичным ISA и почти идентичной организацией все еще не совсем идентичны.
Производительность ЦП определяется фундаментальным законом
Таким образом, производительность ЦП зависит от количества команд, CPI (циклов на команду) и времени цикла тактовой частоты.И на все три влияет архитектура набора команд.
Счетчик команд ЦП
Это подчеркивает важность архитектуры набора команд. Существуют две распространенные архитектуры набора команд.
Примеры ПРОЦЕССОРОВ CISC
IBM 370/168 — Он был представлен в 1970 году. Дизайн CISC представляет собой 32-битный процессор и четыре 64-битных регистра с плавающей запятой.
VAX 11/780 — CISC-дизайн представляет собой 32-разрядный процессор, который поддерживает множество режимов адресации и машинных инструкций от Digital Equipment Corporation.
Intel 80486 — Он был запущен в 1989 году и представляет собой процессор CISC, который имеет инструкции различной длины от 1 до 11 и имеет 235 инструкций.
ХАРАКТЕРИСТИКИ CISC-АРХИТЕКТУРЫ
- Логика декодирования инструкций будет сложной.
- Для поддержки нескольких режимов адресации требуется одна инструкция.
- Меньше места на микросхеме достаточно для регистров общего назначения для инструкций, которые выполняются непосредственно в памяти.
- Различные конструкции CISC устанавливают два специальных регистра для указателя стека, обработки прерываний и т. Д.
- MUL упоминается как «сложная инструкция» и требует от программиста для хранения функций.
Архитектура RISC
RISC (компьютер с сокращенным набором команд) используется в портативных устройствах из-за его энергоэффективности. Например, Apple iPod и Nintendo DS. RISC — это тип микропроцессорной архитектуры, в которой используется высокооптимизированный набор инструкций.RISC делает противоположное, сокращая количество циклов на инструкцию за счет количества инструкций на программу. Конвейерная обработка — одна из уникальных особенностей RISC. Это выполняется путем перекрытия выполнения нескольких инструкций конвейерным способом. Он имеет высокое преимущество в производительности по сравнению с CISC.
Архитектура RISC
Процессоры RISC принимают простые инструкции и выполняются в пределах такта.
ХАРАКТЕРИСТИКИ АРХИТЕКТУРЫ RISC
- Простые инструкции используются в архитектуре RISC.
- RISC помогает и поддерживает несколько простых типов данных и синтезирует сложные типы данных.
- RISC использует простые режимы адресации и инструкции фиксированной длины для конвейерной обработки.
- RISC позволяет использовать любой регистр в любом контексте.
- Время выполнения одного цикла
- Объем работы, которую может выполнить компьютер, уменьшается за счет разделения инструкций «ЗАГРУЗИТЬ» и «СОХРАНИТЬ».
- RISC содержит большое количество регистров для предотвращения различного количества взаимодействий с памятью.
- В RISC конвейерная обработка проста, поскольку выполнение всех инструкций будет выполняться за единый интервал времени, то есть в один щелчок.
- В RISC требуется больше ОЗУ для хранения инструкций уровня сборки.
- Для сокращенных инструкций требуется меньшее количество транзисторов в RISC.
- RISC использует модель памяти Гарварда, что означает, что это Гарвардская архитектура.
- Для выполнения операции преобразования используется компилятор, средство преобразования оператора языка высокого уровня в код его формы.
Сравнение RISC и CISC
Сравнение CISC и RISC
Инструкция MUL разделена на три команды
«ЗАГРУЗИТЬ» — перемещает данные из банка памяти в регистр.
«PROD» — находит произведение двух операндов, расположенных внутри регистры
«STORE» — перемещает данные из регистра в банки памяти.
Основное различие между RISC и CISC заключается в количестве инструкций и их сложности.
RISC против CISC
SEMANTIC GAP
Архитектура RISC и CISC была разработана как попытка восполнить семантический пробел.
Semantic Gap
С целью повышения эффективности разработки программного обеспечения появилось несколько мощных языков программирования, а именно Ada, C, C ++, Java и т. Д. Они обеспечивают высокий уровень абстракции, краткости и мощности. В результате этой эволюции семантический разрыв увеличивается. Для обеспечения эффективной компиляции программ на языке высокого уровня используются два варианта дизайна CISC и RISC.
CISC-проекты включают очень сложные архитектуры, в том числе большое количество инструкций и режимов адресации, тогда как RISC-проекты включают упрощенный набор команд и адаптируют его к реальным требованиям пользовательских программ.
CISC и RISC Design
Умножение двух чисел в памяти
Если основная память разделена на области, пронумерованные от строки 1: столбец 1 до строки 5: столбец 4. Данные загружаются в один из четырех регистров (A , B, C или D). Чтобы найти умножение двух чисел — одно хранится в ячейке 1: 3, а другое — в ячейке 4: 2 и сохраняет результат в 1: 3.
Умножение двух чисел
Преимущества и недостатки RISC и CISC
Преимущества архитектуры RISC
- Архитектура RISC (вычисление с сокращенным набором команд) имеет набор инструкций, поэтому компиляторы языков высокого уровня могут создавать более эффективный код
- Он позволяет свободно использовать место на микропроцессоре из-за своей простоты.
- Многие процессоры RISC используют регистры для передачи аргументов и хранения локальных переменных.
- Функции RISC используют только несколько параметров, а процессоры RISC не могут использовать инструкции вызова и, следовательно, используют инструкции фиксированной длины, которые легко конвейерно.
- Скорость операции можно максимизировать, а время выполнения — минимизировать.
Требуется меньшее количество форматов инструкций, несколько инструкций и несколько режимов адресации.
Недостатки архитектуры RISC
- В основном производительность процессоров RISC зависит от программиста или компилятора, так как знание компилятора играет жизненно важную роль при изменении кода CISC на код RISC
- При перекомпоновке код CISC в код RISC, называемый расширением кода, увеличит размер. И качество этого расширения кода снова будет зависеть от компилятора, а также от набора команд машины.
- Кэш первого уровня процессоров RISC также является недостатком RISC, в котором эти процессоры имеют большие кеши памяти на самом кристалле. Для подачи инструкций им требуются очень быстрые системы памяти.
Преимущества архитектуры CISC
- Микропрограммирование — это простой в реализации язык ассемблера и менее затратный, чем жесткое подключение блока управления.
- Простота микрокодирования новых инструкций позволила разработчикам сделать машины CISC совместимыми снизу вверх:
- Чем больше выполнялась каждая инструкция, тем меньше инструкций можно было использовать для реализации данной задачи.
Недостатки архитектуры CISC
- Производительность машины снижается из-за того, что время, затрачиваемое разными командами, будет отличаться
- Только 20% существующих инструкций используется в типичном программном событии, хотя на самом деле существуют различные специализированные инструкции, которые даже не часто используются.
- Условные коды устанавливаются инструкциями CISC в качестве побочного эффекта каждой инструкции, для которой требуется время для этой настройки, и, поскольку последующая инструкция изменяет биты кода условия, поэтому компилятор должен проверить биты кода условия перед этим. бывает.
Таким образом, в этой статье обсуждаются архитектуры RISC и CISC; особенности архитектуры процессора RISC и CISC; преимущества и недостатки RISC и CISC, а также сравнение архитектур RISC и CISC. Для получения дополнительной информации об архитектурах RISC и CISC или проектах в области электротехники и электроники посетите ссылку www.edgefxkits.com. Вот вам вопрос, какие новейшие процессоры RISC и CISC?
Фото:
.
Разница между архитектурами RISC и CISC
Перейти к основному содержанию
РАЗРАБОТЧИК ПРОШИВКИ
Встроенные системы
- ДОМ
- МИКРОКОНТРОЛЛЕРЫ
- 8051
- АВР
- ПИК
- ARDUINO
- ARM7 классический
- ARM Cortex-M4
- КОДЫ C / C ++
- LINUX
- ПРОЕКТОВ
- ПРОЕКТЫ АКАДЕМИЧЕСКОГО УРОВНЯ
- ПРОМЫШЛЕННЫЕ ПРОЕКТЫ
- ПРОЕКТОВ LINUX
- СТАТЬИ
- СВЯЗАТЬСЯ С НАМИ
.
Что такое архитектура RISC и CISC и их работа
Набор инструкций или архитектура набора инструкций — это структура компьютера, которая выдает команды компьютеру, чтобы направлять компьютер для обработки манипуляций с данными. Набор команд состоит из инструкций, режимов адресации, собственных типов данных, регистров, прерывания, обработки исключений и архитектуры памяти. Набор инструкций можно эмулировать программно с помощью интерпретатора или встроить в аппаратную часть процессора.Архитектуру набора команд можно рассматривать как границу между программным обеспечением и оборудованием. Классификация микроконтроллеров и микропроцессоров может быть сделана на основе архитектуры набора команд RISC и CISC.
Набор команд процессора
Набор команд определяет функциональные возможности процессора, включая операции, поддерживаемые процессором, механизмы хранения процессора и способ компиляции программ для процессора.
Что такое RISC и CISC?
RISC и CISC могут быть расширены следующим образом:
RISC представляет компьютер с сокращенным набором команд, а
CISC представляет компьютер со сложным набором команд.
Архитектура RISC (Компьютер с сокращенным набором команд)
Архитектура RISC
Архитектура микроконтроллера, которая использует небольшой и высоко оптимизированный набор инструкций, называется компьютером с сокращенным набором команд или просто RISC. Это также называется архитектурой ЗАГРУЗКИ / СОХРАНЕНИЯ.
В конце 1970-х — начале 1980-х годов проекты RISC в основном разрабатывались в Стэнфорде, Калифорнийском университете в Беркли и IBM. Джон Кок из исследовательской группы IBM разработал RISC, сократив количество инструкций, необходимых для обработки вычислений быстрее, чем CISC.Архитектура RISC быстрее, а микросхемы, необходимые для производства архитектуры RISC, также дешевле по сравнению с архитектурой CISC.
Типичные особенности архитектуры RISC
- Метод конвейерной обработки RISC, выполняет несколько частей или этапов инструкций одновременно, так что каждая инструкция на CPU оптимизируется. Следовательно, процессоры RISC имеют тактовую частоту на инструкцию одного цикла, и это называется выполнением за один цикл.
- Он оптимизирует использование регистра с большим количеством регистров в RISC, и можно предотвратить большее количество взаимодействий в памяти.
- Простые режимы адресации, даже сложная адресация может быть выполнена с помощью арифметических логических операций И / ИЛИ.
- Это упрощает конструкцию компилятора за счет использования идентичных регистров общего назначения, что позволяет использовать любой регистр в любом контексте.
- Для эффективного использования регистров и оптимизации конвейерной обработки требуется сокращенный набор команд.
- Количество бит, используемых для кода операции, уменьшено.
- Как правило, в RISC 32 или более регистров.
Преимущества архитектуры процессора RISC
- Из-за небольшого набора инструкций RISC компиляторы языков высокого уровня могут создавать более эффективный код.
- RISC позволяет свободно использовать место на микропроцессорах из-за своей простоты.
- Вместо использования стека многие процессоры RISC используют регистры для передачи аргументов и хранения локальных переменных.
- Функции RISC используют только несколько параметров, а процессоры RISC не могут использовать инструкции вызова и, следовательно, используют инструкции фиксированной длины, которые легко конвейерно.
- Скорость операции можно максимизировать, а время выполнения можно минимизировать.
- Требуется очень меньшее количество форматов инструкций (менее четырех), небольшое количество инструкций (около 150) и несколько режимов адресации (менее четырех).
Недостатки архитектуры процессора RISC
- С увеличением длины команд сложность выполнения процессоров RISC возрастает из-за цикла символов на команду.
- Производительность процессоров RISC в основном зависит от компилятора или программиста, поскольку знание компилятора играет важную роль при преобразовании кода CISC в код RISC; следовательно, качество сгенерированного кода зависит от компилятора.
- При изменении расписания кода CISC на код RISC, называемом расширением кода, размер увеличивается. И качество этого расширения кода снова будет зависеть от компилятора, а также от набора команд машины.
- Кэш первого уровня процессоров RISC также является недостатком RISC, в котором эти процессоры имеют большие кеши памяти на самом кристалле.Для подачи инструкций им требуются очень быстрые системы памяти.
Архитектура CISC (компьютер со сложным набором команд)
Основное предназначение архитектуры процессора CISC — выполнить задачу с использованием меньшего количества сборочных линий. С этой целью процессор построен для выполнения ряда операций. Сложная инструкция также называется MULT, которая управляет банками памяти компьютера напрямую, не заставляя компилятор выполнять функции сохранения и загрузки.
Архитектура CISC
Особенности архитектуры CISC
- Для упрощения компьютерной архитектуры CISC поддерживает микропрограммирование.
- CISC содержат большее количество предопределенных инструкций, что упрощает разработку и реализацию языков высокого уровня.
- CISC состоит из меньшего числа регистров и большего количества режимов адресации, обычно от 5 до 20.
- CISC-процессор использует различное время цикла для выполнения инструкций — многочастотные циклы.
- Из-за сложного набора инструкций CISC технология конвейерной обработки очень сложна.
- CISC состоит из большего количества инструкций, обычно от 100 до 250.
- Специальные инструкции используются очень редко.
- Операнды в памяти управляются инструкциями.
Преимущества архитектуры CISC
- Каждая команда машинного языка группируется в инструкцию микрокода и выполняется соответственно, а затем сохраняется во встроенной памяти главного процессора, что называется реализацией микрокода.
- Поскольку память микрокода быстрее, чем основная память, набор инструкций микрокода может быть реализован без значительного снижения скорости по сравнению с аппаратной реализацией.
- С новым набором команд можно работать, изменяя структуру микропрограммы.
- CISC, количество инструкций, необходимых для реализации программы, может быть уменьшено за счет создания богатых наборов инструкций, а также может быть выполнено более эффективное использование медленной основной памяти.
- Благодаря расширенному набору инструкций, который состоит из всех предыдущих инструкций, это упрощает микрокодирование.
Недостатки CISC
- Время, затрачиваемое разными командами, будет разным — из-за этого производительность машины снижается.
- Сложность набора команд и аппаратное обеспечение микросхемы возрастают, поскольку каждая новая версия процессора состоит из подмножества более ранних поколений.
- Только 20% существующих инструкций используются в типичном программном событии, несмотря на то, что существует множество специализированных инструкций, которые даже не используются часто.
- Условные коды устанавливаются инструкциями CISC в качестве побочного эффекта каждой инструкции, для которой требуется время для этой настройки, и, поскольку последующая инструкция изменяет биты кода условия, поэтому компилятор должен проверить биты кода условия перед этим. бывает.
RISC по сравнению с CISC
- Программист может предотвратить потери циклов, удалив ненужный код в RISC, но при использовании кода CISC приводит к потере циклов из-за неэффективности CISC.
- В RISC каждая инструкция предназначена для выполнения небольшой задачи, так что для выполнения сложной задачи несколько небольших инструкций используются вместе, тогда как для выполнения одной и той же задачи с использованием CISC требуется всего несколько инструкций, поскольку она способна выполнять сложная задача, поскольку инструкции похожи на высокоязычный код.
- CISC обычно используется для компьютеров, в то время как RISC используется для смартфонов, планшетов и других электронных устройств.
На следующем рисунке показано больше различий между RISC и CISC
RISC и CISC
Таким образом, в этой статье обсуждаются архитектуры RISC и CISC; особенности архитектуры процессоров RISC и CISC; преимущества и недостатки RISC и CISC, а также различия между архитектурами RISC и CISC с кратким описанием. Для получения дополнительной информации об архитектурах RISC и CISC, отправляйте свои запросы, оставляя комментарии ниже.
Фото:
.
Самый простой способ изучить преимущества и недостатки Умножение двух чисел в памяти Подход CISC МУЛЬТ 2: 3, 5: 2 MULT — это так называемая «сложная инструкция». Он работает Одним из основных преимуществ этой системы является то, что компилятор Подход RISC Процессоры
Поначалу это может показаться гораздо менее эффективным способом
Однако стратегия RISC также приносит некоторые очень важные Разделение инструкций «ЗАГРУЗИТЬ» и «СОХРАНИТЬ» фактически уменьшает Уравнение производительности Подход CISC пытается минимизировать количество инструкций. RISC Roadblocks Хотя линейка Apple Power Macintosh включала чипы на основе RISC, а Windows NT была Еще одной серьезной неудачей стало присутствие Intel. Хотя их Общее преимущество RISC |
.