2016-12-28 11 views
0

Каковы два фактора, которые следует учитывать при проектировании архитектуры набора инструкций?Факторы в проектировании Набор инструкций Архитектура

Я знаю, что такое ISA. Но каковы факторы, которые следует учитывать? Я уже рассматривал Википедию, но это мало помогает.

Я нашел это как вопросы дизайна для ISA.

  • Обратная совместимость
  • Нужны перебивает?

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

+0

Извините за плохой английский! Я из Непала. –

+3

«два основных фактора? Есть много важных факторов. Не очевидно, что два из них заслуживают того, чтобы их называли более важными, чем любые другие факторы. См., Например, [эту статью и следующее обсуждение блога Agner Fog о разработке новой ISA для высокопроизводительных вычислений] (http://www.agner.org/optimize/blog/read.php?i=421#421) , пытаясь объединить преимущества эффективного декодирования RISC с более высокой плотностью кода CISC с переменной длиной. Там определенно какие-то опрятные идеи. –

+1

Если вы учитесь на экзамене, вам, вероятно, просто спросите своего профессора, что он/она считает «двумя основными факторами», потому что я сомневаюсь, что архитекторы ЦП в реальном мире согласятся, на каких двух, если я не забуду ничего очевидно. Как слово инструкции переменной длины или нет, и количество регистров? Некоторые ISA (например, AVR) работают вокруг счета регистра, имея некоторые инструкции, которые могут работать только в ограниченном диапазоне регистров. AVR имеет 32 регистра, поэтому для каждого регистра требуется 5 бит, но большинство инструкций имеют длину всего 16 бит. –

ответ

2

вы можете прочитать полную версию статьи из here Важность проектирования Инструкции Установить

В этой главе мы будем исследовать один из самых интересных и важных аспектов CPU дизайн: дизайн набора команд процессора. Архитектура набора инструкций (или ISA) является одной из наиболее важных проблем с дизайном, с которой разработчик ЦП должен получить право с самого начала. Такие функции, как кэширование, конвейерная обработка, суперскалярная реализация и т. Д., Могут быть адаптированы к дизайну процессора еще долго после того, как оригинальный дизайн устарел. Однако очень сложно изменить инструкции, которые процессор выполняет после того, как процессор находится в производстве, и люди пишут программное обеспечение, которое использует эти инструкции. Поэтому необходимо тщательно выбирать инструкции для CPU.

Возможно, у вас возникнет соблазн принять подход «кухонная раковина» к набору инструкций 1 и включить в него столько инструкций, сколько вы можете придумать в своем наборе инструкций. Этот подход не подходит по нескольким причинам, которые мы обсудим в следующих параграфах. Конструкция набора инструкций является воплощением компромиссного управления. Хороший дизайн процессора - это процесс выбора того, что нужно выбрасывать, а не того, что нужно оставить. Легко сказать «давайте включим все». Трудная часть решает, что уйти, как только вы поймете, что не можете поместить все на чип.

Nasty reality # 1: Silicon real estate. Первой проблемой с «помещением всего на чип» является то, что для каждой функции требуется некоторое количество транзисторов на кристалле кремния процессора. Разработчики процессоров работают с «бюджетом кремния» и получают конечное число транзисторов для работы. Это означает, что транзисторов недостаточно, чтобы поддерживать «включение всех функций» в CPU. Первоначальный процессор 8086, например, имел транзисторный бюджет менее 30 000 транзисторов. Процессор Pentium III имел бюджет более восьми миллионов транзисторов. Эти два бюджета отражают различия в полупроводниковой технологии в 1978 году по сравнению с 1998 годом.

Nasty reality # 2: Стоимость. Хотя сегодня можно использовать миллионы транзисторов на процессоре, чем больше транзисторов вы используете более дорогой процессор. Процессоры Pentium IV, например, стоят сотни долларов (около 2002 года). ЦП с 30 000 транзисторов (также около 2002 года) обойдется всего в несколько долларов. Для недорогих систем может быть более важно сбрить некоторые функции и использовать меньшее количество транзисторов, тем самым снижая стоимость процессора.

Nasty reality # 3: Расширяемость. Одна из проблем с подходом «кухонная раковина» заключается в том, что очень трудно предвидеть все функции, которые люди захотят. Например, усовершенствования команд Intel для MMX и SIMD были добавлены, чтобы сделать мультимедийное программирование более практичным на процессоре Pentium.Еще в 1978 году очень немногие люди могли предвидеть необходимость в этих инструкциях.

Nasty reality # 4: Legacy Support. Это почти противоположность расширяемости. Часто это так, что команда, которую считает разработчик ЦП, оказывается менее полезной, чем предполагалось. Например, инструкция LOOP на процессоре 80x86 очень мало используется в современных высокопроизводительных программах. Еще один хороший пример - инструкция 80x86 ENTER. При разработке процессора с использованием подхода «кухонная раковина» часто бывает известно, что программы практически никогда не используют некоторые из доступных инструкций. К сожалению, вы не можете легко удалить инструкции в более поздних версиях процессора, потому что это нарушит некоторые существующие программы, которые используют эти инструкции. Как правило, после добавления инструкции вы должны поддерживать ее навсегда в наборе инструкций. Если только очень немногие программы используют инструкцию (и вы готовы разрешить им перерыв), или вы можете автоматически имитировать инструкцию в программном обеспечении, удаление инструкций очень сложно.

Nasty reality # 4: Сложность. Популярность нового процессора легко измеряется тем, сколько программного обеспечения люди пишут для этого процессора. Большинство процессоров умирают быстро, потому что никто не пишет программное обеспечение, специфичное для этого процессора. Поэтому разработчик ЦП должен учитывать программистов сборки и авторов компиляторов, которые будут использовать чип после введения. Хотя подход «кухонной раковины» может показаться привлекательным для таких программистов, правда заключается в том, что никто не хочет изучать чрезмерно сложную систему. Если ваш процессор делает все под солнцем, это может понравиться тем, кто уже знаком с процессором. Однако, пожалей бедную душу, которая не знает чип и должна узнать все сразу.

Эти проблемы с подходом «кухонная раковина» имеют общее решение: спроектируйте простой набор инструкций для начала и оставите место для последующего расширения. Это одна из главных причин того, что 80x86 оказался настолько популярным и долговечным. Intel начала с относительно простого процессора и выяснила, как продлить набор инструкций на протяжении многих лет для размещения новых функций.