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

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

устройства выполнения целых команд. Бу- фер переходов с 512 входами использует расширение алгоритма Йе (Yeh), которое обеспечивает более чем 90-процентную точность предсказания переходов. Предположим, что ничего исключительного не происходит и что - 8 - буфер переходов в своих предсказаниях оказался прав (в P6 предус- мотрены эффективные действия в случае неправильного предсказания перехода). Кэш команд выбирает строку кэша,

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

и их подачи на декодеры команд. Начало и конец команд помечаются. Три параллельных декодера принимают поток отмеченных байтов и обрабатывают их, отыскивая и декодируя содержащиеся в потоке команды. Декодер преобразует команды архитектуры Intel в микроко- манды-триады (два операнда, один результат). Большинство команд архитектуры Intel преобразуются в одну микрокоманду, некоторые требуют четырех микрокоманд, а сложные команды

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

микрокоманд вместе с дополнительной информа- цией о ее состоянии (статусе) посылается в пул команд. Пул команд реализован в виде массива контекстно-адресуемой памяти, называе- мого также буфером переупорядочивания. В этой точке заканчивается "упорядоченная" часть конвейера.  2Устройство диспетчирования/выполнения Устройство диспетчирования выбирает микрокоманды из пула ко- манд в зависимости от их статуса. Под

статусом мы будем понимать информацию о доступности операндов микрокоманды и наличии необхо- димых для ее выполнения вычислительных ресурсов. Если статус мик- рокоманды показывает, что ее операнды уже вычислены и доступны, а необходимое для ее выполнения вычислительное устройство (ресурс) также доступно, то устройство диспетчирования выбирает микроко- манду из пула команд и направляет ее на устройство для выполне- ния.