Организация вычислительных систем и сетей. Халабия Р.Ф. - 43 стр.

UptoLike

Составители: 

43
3. Конфликты по управлению, которые возникают при конвейеризации
команд переходов и других команд, которые изменяют значение
счетчика команд.
Конфликты в конвейере приводят к необходимости приостановки
выполнения команд (pipeline stall). Обычно в простейших конвейерах, если
приостанавливается какая-либо команда, то все следующие за ней команды
также приостанавливаются. Команды, предшествующие приостановленной,
могут продолжать выполняться,
но во время приостановки не выбирается ни
одна новая команда.
4.3. Микроархитектура процессоров P5
Процессор Pentium своей конвейерной и суперскалярной архитектурой
достиг впечатляющего уровня производительности.
Pentium содержит два 5-стадийных конвейера, которые могут работать
параллельно и выполнять две целочисленные команды за машинный такт.
При этом параллельно может выполняться только пара команд, следующих в
программе
друг за другом и удовлетворяющих определенным правилам,
например, отсутствие регистровых зависимостей типа "запись после чтения".
В Pentium для увеличения пропускной способности осуществлен переход
к одному 12-стадийному конвейеру. Увеличение числа стадий приводит к
уменьшению выполняемой на каждой стадии работы и, как следствие, к
уменьшению времени нахождения команды на каждой стадии на 33 процента
по сравнению с другими процессорами. Это означает, что использование при
производстве Pentium той же технологии, что и при производстве 100 МГц
Pentium, приведет к получению Pentium с тактовой частотой 133 МГц.
Возможности суперскалярной архитектуры Pentium, с ее способностью к
выполнению двух команд за такт, было бы трудно превзойти без совершенно
нового подхода. Примененный в Pentium новый подход
устраняет жесткую
зависимость между традиционными фазами "выборки" и "выполнения", когда
последовательность прохождения команд через эти две фазы соответствует
последовательности команд в программе.
На рис. 4.8 изображена схема процессора процессора Р5, состоящего из 2
конвейеров, U-конвейера и V-конвейера. U-конвейер может выполнять все
команды целого типа и команды с плавающей точкой. V-конвейер может
выполнять
простые целые команды и команды FXCH с плавающей точкой.
Кэш разделен на Кэш-данных и Кэш-команд. Кэш-данных имеет два
порта, которые состоят из двух конвейеров. Кеш-данных имеет буфер
преобразования таблицы страниц (ТLB) который переводит линейный адрес в
физический адрес используемый кешом-данных.
Кеш-команд, буфер переходов и буфер
выборки отвечают за получение
команд в исполняющем модуле процессора Команды выбираются из кеша-
команд или с внешней шины. Адрес перехода запоминается в буфере
переходов. TLB кеша команд транслирует линейный адрес в физический
      3. Конфликты по управлению, которые возникают при конвейеризации
         команд переходов и других команд, которые изменяют значение
         счетчика команд.
      Конфликты в конвейере приводят к необходимости приостановки
выполнения команд (pipeline stall). Обычно в простейших конвейерах, если
приостанавливается какая-либо команда, то все следующие за ней команды
также приостанавливаются. Команды, предшествующие приостановленной,
могут продолжать выполняться, но во время приостановки не выбирается ни
одна новая команда.

      4.3. Микроархитектура процессоров P5
      Процессор Pentium своей конвейерной и суперскалярной архитектурой
достиг впечатляющего уровня производительности.
      Pentium содержит два 5-стадийных конвейера, которые могут работать
параллельно и выполнять две целочисленные команды за машинный такт.
При этом параллельно может выполняться только пара команд, следующих в
программе друг за другом и удовлетворяющих определенным правилам,
например, отсутствие регистровых зависимостей типа "запись после чтения".
      В Pentium для увеличения пропускной способности осуществлен переход
к одному 12-стадийному конвейеру. Увеличение числа стадий приводит к
уменьшению выполняемой на каждой стадии работы и, как следствие, к
уменьшению времени нахождения команды на каждой стадии на 33 процента
по сравнению с другими процессорами. Это означает, что использование при
производстве Pentium той же технологии, что и при производстве 100 МГц
Pentium, приведет к получению Pentium с тактовой частотой 133 МГц.
      Возможности суперскалярной архитектуры Pentium, с ее способностью к
выполнению двух команд за такт, было бы трудно превзойти без совершенно
нового подхода. Примененный в Pentium новый подход устраняет жесткую
зависимость между традиционными фазами "выборки" и "выполнения", когда
последовательность прохождения команд через эти две фазы соответствует
последовательности команд в программе.
      На рис. 4.8 изображена схема процессора процессора Р5, состоящего из 2
конвейеров, U-конвейера и V-конвейера. U-конвейер может выполнять все
команды целого типа и команды с плавающей точкой. V-конвейер может
выполнять простые целые команды и команды FXCH с плавающей точкой.
      Кэш разделен на Кэш-данных и Кэш-команд. Кэш-данных имеет два
порта, которые состоят из двух конвейеров. Кеш-данных имеет буфер
преобразования таблицы страниц (ТLB) который переводит линейный адрес в
физический адрес используемый кешом-данных.
      Кеш-команд, буфер переходов и буфер выборки отвечают за получение
команд в исполняющем модуле процессора Команды выбираются из кеша-
команд или с внешней шины. Адрес перехода запоминается в буфере
переходов. TLB кеша команд транслирует линейный адрес в физический



                                    43