Процессоры нового поколения и перспективы их развития — страница 5

  • Просмотров 3511
  • Скачиваний 318
  • Размер файла 44
    Кб

между традиционными фазами "выборки" и "выполнения", когда последовательность прохождения команд через эти две фазы соответствует последовательности команд в программе. Новый подход связан с использованием так называемого пула команд и с новыми эффективными методами предвидения будущего поведения программы. При этом традиционная фаза "выполнение" заменяется на две: "диспетчирование/выполнение" и

"откат". В результате команды могут начинать выполняться в произвольном порядке, но завершают свое выполнение всегда в соответствии с их исходным порядком в программе. Ядро P6 реализовано как три независимых устройства, взаимодействующих через пул команд (рис. 1).  2Основная проблема на пути повышения  2производительности Решение об организации P6 как трех независимых и взаимодейс- твующих через пул команд устройств

было принято после тщательного анализа факторов, ограничивающих производительность современных микропроцессоров. Фундаментальный факт, справедливый для Pentium и многих других процессоров, состоит в том, что при выполнении реальных программ мощность процессора не используется в полной мере. Рассмотрим в качестве примера следующий фрагмент программы, записанный на некотором условном языке: r1 <- mem[r0] /* Команда 1 */ r2 <- r1 + r2 /*

Команда 2 */ r5 <- r5 + 1 /* Команда 3 */ r6 <- r6 - r3 /* Команда 4 */ Предположим, что при выполнении первой команды фрагмента - загрузки из памяти в регистр r1 - оказалось, что содержимое соот- ветствующей ячейки памяти отсутствует в кэше. При традиционном подходе процессор перейдет к выполнению команды 2 только после того, как данные из ячейки mem[r0] основной памяти будут прочита- ны через интерфейс шины. Все время ожидания процессор будет прос-

таивать. В то время как скорость процессоров за последние 10 лет вы- росла по меньшей мере в 10 раз, время доступа к основной памяти уменьшилось только на 60 процентов. Это увеличивающееся отстава- ние скорости работы с памятью по отношению к скорости процессора и было той фундаментальной проблемой, которую пришлось решать при проектировании P6. Один из возможных подходов к решению этой проблемы - перенос - 6 - ее центра тяжести на

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