Организация микропроцессорных систем. Учебное пособие. Могнонов П.Б. - 142 стр.

UptoLike

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

Таким образом, в основе построения процессора Pentium лежит суперскалярная
архитектура. Эта архитектура базируется на технологии параллельного выполнения команд
программы на двух конвейерах, определяемые специальными правилами сдваивания,
предсказании будущих переходов, на развитой системе кэширования и конвейерного
исполнения операций с плавающей точкой. Эти архитектурные методы позволили резко
повысить производительность процессоров Pentium.
6.4. Процессоры P6
Возможности суперскалярной архитектуры процессора Pentium, с ее способностью к
выполнению двух команд за один такт, можно было превзойти только за счет всестороннего
улучшения микроархитектуры процессора. Принципиальные решения, позволившие
улучшить микроархитектуру процессорного ядра, были введены в следующие поколения
процессоров Pentium Pro, Pentium II и Pentium III. Микроархитектура этих процессоров
логически близка друг к другу и, в этом смысле, их называют Р6. При разработке
микроархитектуры Р6 использовалась тщательно продуманная и настроенная комбинация
различных архитектурных методов. Этот новый подход устраняет жесткую зависимость
между традиционными фазами выполнения команды: фазами выборки и выполнения. Он
связан с использованием специального накопителя, называемого пулом команд, и с
эффективными методами предсказания будущего поведения программы. При этом
традиционная фаза выполнения команды распадается на диспетчирование/выполнение и
завершение (откат). В результате команды могут выполняться в произвольном порядке, но
завершают свое выполнение всегда в соответствии с их исходным порядком в программе.
Ядро процессора Р6 представляется как три независимых устройства, взаимодействующих
через пул команд (рис. 6.12.).
С другой стороны, ядро процессора Р6 реализовано в виде 12 ступенчатого конвейера.
Увеличение числа стадий приводит к уменьшению выполняемой на каждой стадии работы и,
как следствие, к уменьшению времени нахождения команды на каждой стадии на 33 % по
сравнению с Pentium. Это означает, что использование при производстве Р6 той же
технологии, что и при производстве 100 МГц Pentium, приведет к получению Р6 с тактовой
частотой 133 МГц.
Основной проблемой процессоров Pentium и многих других является не полная
загрузка их конвейеров. Особенно снижается их производительность при наличии между
соседними командами помехи типа RAW. Рассмотрим в качестве примера следующий
фрагмент программы, записанной на некотором условном языке:
r1
Å mem (r0) * команда 1*
r2
Å r1 + r2 * команда 2*
r3
Å r3 + 1 * команда 3*
Устройство
выборки/декоди
рования
Устройство
диспетчирования/
выполнения
Устройство
завершения
(
откат
)
Пул команд
Рис. 6.12. Яд
р
о п
р
оцессо
р
а Р6
      Таким образом, в основе построения процессора Pentium лежит суперскалярная
архитектура. Эта архитектура базируется на технологии параллельного выполнения команд
программы на двух конвейерах, определяемые специальными правилами сдваивания,
предсказании будущих переходов, на развитой системе кэширования и конвейерного
исполнения операций с плавающей точкой. Эти архитектурные методы позволили резко
повысить производительность процессоров Pentium.

                                  6.4. Процессоры P6

       Возможности суперскалярной архитектуры процессора Pentium, с ее способностью к
выполнению двух команд за один такт, можно было превзойти только за счет всестороннего
улучшения микроархитектуры процессора. Принципиальные решения, позволившие
улучшить микроархитектуру процессорного ядра, были введены в следующие поколения
процессоров Pentium Pro, Pentium II и Pentium III. Микроархитектура этих процессоров
логически близка друг к другу и, в этом смысле, их называют Р6. При разработке
микроархитектуры Р6 использовалась тщательно продуманная и настроенная комбинация
различных архитектурных методов. Этот новый подход устраняет жесткую зависимость
между традиционными фазами выполнения команды: фазами выборки и выполнения. Он
связан с использованием специального накопителя, называемого пулом команд, и с
эффективными методами предсказания будущего поведения программы. При этом
традиционная фаза выполнения команды распадается на диспетчирование/выполнение и
завершение (откат). В результате команды могут выполняться в произвольном порядке, но
завершают свое выполнение всегда в соответствии с их исходным порядком в программе.
Ядро процессора Р6 представляется как три независимых устройства, взаимодействующих
через пул команд (рис. 6.12.).
                  Устройство          Устройство             Устройство
                выборки/декоди     диспетчирования/          завершения
                   рования           выполнения                (откат)




                                      Пул команд


                             Рис. 6.12. Ядро процессора Р6

       С другой стороны, ядро процессора Р6 реализовано в виде 12 ступенчатого конвейера.
Увеличение числа стадий приводит к уменьшению выполняемой на каждой стадии работы и,
как следствие, к уменьшению времени нахождения команды на каждой стадии на 33 % по
сравнению с Pentium. Это означает, что использование при производстве Р6 той же
технологии, что и при производстве 100 МГц Pentium, приведет к получению Р6 с тактовой
частотой 133 МГц.
       Основной проблемой процессоров Pentium и многих других является не полная
загрузка их конвейеров. Особенно снижается их производительность при наличии между
соседними командами помехи типа RAW. Рассмотрим в качестве примера следующий
фрагмент программы, записанной на некотором условном языке:

             r1 Å mem (r0)       * команда 1*
             r2 Å r1 + r2        * команда 2*
             r3 Å r3 + 1         * команда 3*