Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Понятие конвейера в микропроцессоре. Стадии конвейера Pentium. Параллелизм в вычислительном процессе




Конвеерная организация работы процессора:

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

В действительности при выборке с упреждением команда обрабатывается за два шага: сначала происходит вызов команды, а затем - ее выполнение. Еще больше продвинула эту стратегию идея конвейера. При использовании конвейера команда обрабатывается уже не за два, а за большее количество шагов, каждый из которых реализуется определенным аппаратным компонентом, причем все эти компоненты могут работать параллельно.

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

  1. IF (Instruction Fetch) - считывание команды в процессор;
  2. ID (Instruction Decoding) - декодирование команды;
  3. OR (Operand Reading) - считывание операндов;
  4. EX (Executing) - выполнение команды;
  5. WB (Write Back) - запись результата.

Выполнение команд в таком конвейере представлено в таблице.

Так как в каждом такте могут выполняться различные стадии обработки команд, то длительность такта выбирается исходя из максимального времени выполнения всех стадий. Кроме того, следует учитывать, что для передачи команды с одной стадии на другую требуется определенное дополнительное время (Δt), связанное с записью промежуточных результатов обработки в буферные регистры.

Таблица 11.1.
Команда Такт
                 
i IF ID OR EX WB        
i+1   IF ID OR EX WB      
i+2     IF ID OR EX WB    
i+3       IF ID OR EX WB  
i+4         IF ID OR EX WB

 

Процессор Pentium имеет 20-30 стадий для конвейера.

 

Методы и средства реализации параллелизма зависят от того, на каком уровне он должен обеспечиваться. Обычно различают следующие уровни параллелизма:

  • Микроуровень. Выполнение команды разделяется на фазы, а фазы нескольких соседних команд могут быть перекрыты за счет конвейеризации. Уровень достижим на ВС с одним процессором.
  • Уровень команд. Выражается в параллельном выполнении нескольких команд и достигается посредством размещения в процессоре сразу нескольких конвейеров. Реализуется в суперскалярных процессорах.
  • Уровень потоков. Задачи разбиваются на части, которые могут выполняться параллельно (потоки). Данный уровень достигается на параллельных ВС.
  • Уровень заданий. Несколько независимых заданий одновременно выполняются на разных процессорах, практически не взаимодействуя друг с другом. Этот уровень реализуется на многопроцессорных и многомашинных ВС

1. Параллелизм на уровне крупных структурных единиц.

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

2. Параллелизм на уровне мелких структурных единиц.

На самом низком уровне элементы параллелизма могут содержаться в отдельных машинных командах (например, в архитектуре IA-64). Программисты обычно не знают о существовании такого параллелизма — он управляется компилятором или аппаратным обеспечением.

 

 




Поделиться с друзьями:


Дата добавления: 2015-03-29; Просмотров: 1058; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.049 сек.