2016-04-14 6 views
0

Я пытаюсь узнать о методах, используемых в параллелизме уровня инструкций и различиях между ними. Мой вопрос здесь, учитывая набор команд, изначально выполненный для работы на процессоре без параллелизма уровня инструкций, который можно использовать одним из этих методов для обеспечения параллелизма уровня инструкций на новом процессоре и почему и как. Новый процессор будет выполнять один и тот же набор команд и запускать те же самые программные двоичные файлы, что и исходный, но производительность будет лучше. Варианты:Методы параллелизма уровня инструкций (ILP)

1) внеочередное исполнение (Tomasulo алгоритм)

2) Pipelining

3) Superscalar

4) VLIW

ответ

0

Я бы сказал, ООО будет быть первым, что сильно увеличит ILP. Архитектуры ООО - это аппаратные методы, которые полностью независимы от работы компиляторов (что означает, что архитектура ООО будет выполнять одни и те же вычисления процессора без ООО и производить те же результаты за меньшее время без изменения структуры инструкций)

Pipe-lining - это хорошо известная и старая техника для увеличения ILP, но у нее есть свои ограничения, добавление ступеней увеличивает аппаратную сложность и в конечном итоге даст уменьшающуюся отдачу.

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

+0

Спасибо за ответ. То, что вы сказали о ООО, конвейерной обработке и VLIW, в значительной степени подтверждает мой ответ. Единственное отличие от моего ответа на ваш - суперскаляр. Похоже, что основная идея суперскалярной архитектуры заключается не в том, чтобы полагаться на какие-либо специальные компиляторы и позволять аппаратным средствам самостоятельно определять, какие команды могут выполняться параллельно. Вот почему я подумал, что суперскаляр может быстрее и эффективнее запускать одни и те же программные двоичные файлы, поскольку он зависит только от оборудования, а не от компилятора. –

+0

Если вы имеете в виду под суперскалярным процессором - это любой процессор, который обеспечивает IPC> 1 (инструкции за цикл), то да. В зависимости от аппаратного обеспечения способ выполнения может быть независимым от работы компилятора. –