Опубликован: 03.03.2010 | Уровень: специалист | Доступ: свободно | ВУЗ: Национальный исследовательский ядерный университет «МИФИ»
Лекция 12:

Микропроцессоры с RISC-аpхитектуpой

< Лекция 11 || Лекция 12: 12 || Лекция 13 >
Аннотация: Цель лекции: изучить основные принципы построения RISC-микропроцессоров.
Ключевые слова: reduce, instruction set, сокращенный набор команд, производительность, процессор, группа, CISC, тактовая частота, RISC, формат команды, декодирование, длина, IA-32, байт, кэш, память, ПО, сетевые приложения, SPARC, SUN, alpha, digital, equipping, MIPS, computational system, powerpc, IBM, микропроцессор, performance optimization, with, enhanced, мощность, компания ibm, транзистор, энергопотребление, IA-64, процессорное ядро, аппаратные средства, on-chip, MODULE, MCM, шина, контроллер, модуль, execution unit, EU, плавающая запятая, фиксированная запятая, команды переходов, очередь, STQ, core, interface, увеличение производительности, ядро, сохранение данных, ST, MESI, сериализация, иерархия памяти, fabricate, FC-AL, вывод, порт, буфер, TLB, страница памяти, segment, система команд, представление, команда, бит, коды операций, значение, аргумент, место, регистр, IOP, OPS, исключение, объединение, внутренние команды, выборка, таблица, адрес, информация, исполнение, точность, стек, запись, путь, загрузка, архитектура

Микропроцессоры с RISC-аpхитектуpой

Идеология RISC-архитектуры построения процессоров (Reduced INsTRuction Set ComputINg - вычисления с сокращенным набором команд) складывалась в конце 1970-х - начале 1980-х годов, когда потребовались новые идеи для повышения производительности процессоров. Выводы различных групп исследователей были обобщены в виде так называемого правила "80/20": 80 % времени выполнения программ занимает выполнение 20 % команд, входящих в состав системы команд. То есть в определении производительности процессора основную роль играет лишь пятая часть всех команд, остальные же команды встречаются достаточно редко, и время их выполнения существенного влияния на производительность процессора не оказывает. Исходя из этого было принято решение построить процессор, в котором выделенная небольшая группа команд выполнялась бы максимально быстро за счет ее аппаратной реализации, а остальные команды либо вообще удалялись из системы команд, либо реализовывались на микропрограммном уровне.

Сложившаяся в результате этого идеология RISC-архитектуры опиралась на следующие принципы:

  • набор команд сокращен до 70-100 команд (вместо нескольких сотен у CISC-микропроцессоров);
  • большинство команд выполняется за 1 такт, и лишь немногие - за несколько или даже несколько десятков тактов;
  • все команды обработки данных оперируют только содержимым регистров процессора, а для обращения к более медленной оперативной памяти предусмотрены исключительно инструкции вида "загрузить в регистр" и "записать в память";
  • команды имеют простой, четко заданный формат;
  • из набора команд исключены редко используемые инструкции, а также команд, не вписывающихся в принятый формат;
  • состав системы команд должен быть удобным для применения оптимизирующих компиляторов с языков высокого уровня.

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

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

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

Естественно, что этот подход потребовал использования в микропроцессоре регистровой памяти большого объема (до 128 регистров). А для обеспечения согласованной работы быстрых внутренних конвейеров и относительно медленной оперативной памяти в RISC-микропроцессорах предусматривается кэш-память большой емкости.

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

Простой формат команды и ориентация на регистровую обработку позволили безболезненно внедрить в RISC-процессорах конвейерный принцип обработки информации.

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

  • дороговизна RISC-процессоров и систем на их основе: изначально эти процессоры были ориентированы на мощные рабочие станции и серверы, поэтому разработчики использовали в них решения, слишком дорогие для персональных компьютеров; даже специальные, "дешевые" варианты RISC-компьютеров стоили гораздо дороже сравнимых с ними ПК на базе процессоров Intel по причине малых объемов производства;
  • отсутствие широких наработок в области программного обеспечения: традиционной операционной системой для персональных компьютеров была DOS, к ней впоследствии присоединились 16разрядные версии WINdows, под которые написано огромное количество популярных и хорошо знакомых пользователям программ. Различные RISC-платформы обычно использовали несовместимые между собой разновидности Unix, для которыхсуществовало значительно меньше программ, главным образом научно-технических (для рабочих станций) либо сетевых приложений (для серверов);
  • RISC-процессоры по своему основополагающему положению обладают несовместимыми с х86 наборами команд, поэтому единственным способом исполнения кода х86 была эмуляция, которая снижала производительность от десятков до сотен процентов, что сводило на нет скоростные преимущества RISC-процессоров;
  • отсутствие интереса к проникновению на этот рынок у самих производителей RISC-систем: многие "серьезные" фирмы вроде DEC или Sun полагали, что нет нужды удешевлять свои RISC-станции, потому что пользователи все равно выберут их системы из-за очевидных технических преимуществ.

Развитие архитектуры RISC-микропроцессоров шло по нескольким направлениям. За счет повышения технологических возможностей производства микропроцессоров смягчились требования к составу и форматам используемых команд. В настоящее время их системы команд расширились с первоначальных 70-100 до 100-120. Увеличилось также и количество используемых форматов команд. Однако основной принцип RISC-архитектуры остается неизменным: обработка данных выполняется только над содержимым внутренних регистров МП без обращения к оперативной памяти.

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

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

Наиболее известными RISC-микропроцессорами в настоящее время являются МП семейства SPARC фирмы Sun Microsystems, Alpha 21х64 фирмы Digital EquIPment и Rx000 фирмы MIPS Computer Systems. За последние годы активно внедряются в различную аппаратуру RISC-микропроцессоры семейства PowerPC. Среди фирм, выпускающих RISC-микропроцессоры, находятся также Intel, Hewlett Packard.

Совместный проект компаний Apple, Motorola и IBM - микропроцессор PowerPC (Performance Optimization With Enhanced RISC) - был ориентирован на создание недорогого, но мощного RISC-процессора и платформы для него. До появления архитектуры Intel NetBurst процессоры PowerPC почти всегда превосходили чипы Intel в скорости вычислений с плавающей точкой на десятки процентов, при этом потребляя намного меньшую мощность. По различным причинам на заключительной стадии этого проекта среди разработчиков осталась лишь компания IBM.

Рассмотрим организацию работы RISC-микропроцессора на примере МП Power4 фирмы IBM, который является логическим развитием архитектуры PowerPC. Микропроцессоры Power4 содержат свыше 180 млн транзисторов на кристалле и выпускаются с частотами до 1,7 ГГц при достаточно низком для высокопроизводительных процессоров уровне энергопотребления (70 Вт). С точки зрения производительности они остаются основными и практически единственными конкурентами 64-разрядных микропроцессоров архитектуры IA-64. Структура микропроцессора Power4 представлена на рис. 12.1.

Структура микропроцессора Power4

Рис. 12.1. Структура микропроцессора Power4

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

Во-первых, Power4 стал первым микропроцессором, в котором была реализована идея размещения нескольких процессорных ядер на одной микросхеме. В состав МП Power4 входят два однотипных процессорных ядра.

Во-вторых, на кристалле Power4 содержатся интегрированные аппаратные средства, определяющие важные архитектурные черты микропро цессорных систем на его основе. В числе этих средств порты каналов, напрямую связывающих Power4 с другими процессорами внутри так называемого микросхемного модуля (Multi-Chip Module - MCM), канал ввода-вывода (шина GX), интегрированный контроллер шины оперативной памяти и кэша третьего уровня, разделяемого всеми процессорами MCM.

Каждый двухъядерный процессор Power4 упакован в керамический мультипроцессорный модуль вместе с тремя другими МП. Такой микросхемный модуль MCM, содержащий четыре МП Power4, в итоге объединяет восемь процессоров.

Структура ядра МП Power4 представлена на рис. 12.2.

Структура ядра микропроцессора Power4

Рис. 12.2. Структура ядра микропроцессора Power4
< Лекция 11 || Лекция 12: 12 || Лекция 13 >
Владислав Салангин
Владислав Салангин

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

Михаил Королёв
Михаил Королёв

Сергей Латин
Сергей Латин
Киргизстан