Помощь в написании студенческих работ
Антистрессовый сервис

Подсистема памяти. 
Электроника

РефератПомощь в написанииУзнать стоимостьмоей работы

12. Эти три стадии выполняют планировщики. Тип микрооперации однозначно определяет, какому планировщику она достанется. Пять планировщиков выбирают МО из очередей независимо друг от друга, причем отбор осуществляется по принципу FIFO. В планировщиках формируются очереди МО, которые поступают в соответствующие порты, называемые портами запуска. Именно на этих стадиях реализуется стратегия… Читать ещё >

Подсистема памяти. Электроника (реферат, курсовая, диплом, контрольная)

Подсистема памяти осуществляет взаимодействие с оперативной памятью. К ней относятся следующие узлы.

Кэш данных первого уровня. Это память объемом 8 Кбайт (в ранних процессорах, таких как Willamette) или 16 Кбайт (в более поздних) с малым временем доступа. В ранних процессорах оно составляло 2 такта, в более поздних с большим объемом кэш (ядро Prescott) время ожидания составляло 5 тактов основной частоты.

Кэш-память второго уровня. Это память большего, чем у кэш первого уровня, объема, но с большим временем доступа. Ее объем у процессоров на ядрах Willamette составляет 128 Кбайт (затем он был увеличен до 256 Кбайт), на ядрах Prescott — был доведен до 2048 Кбайт. Время доступа составляет 7 тактов для процессоров на ядрах Willamette и 18 тактов — на ядрах Prescott. Кэшпамять второго уровня соединяется с кэшем данных первого уровня шиной шириной 256 бит.

Некоторые процессоры архитектуры NetBurst содержали также кэш-память третьего уровня объемом 2, 4 или 8 Мбайт.

Основная задача блоков кэш-памяти — обеспечить работой исполнительные узлы процессора. Поскольку передача данных из кэш осуществляется большими блоками, то для обеспечения высокой производительности используются широкие шины, что наряду с частотой работы, соответствующей номинальной тактовой частоте процессора, дает высокую скорость передачи. Так, при номинальной тактовой частоте 3 ГГц пропускная способность шины, связывающей кэш данных первого уровня с регистрами, составляет 48 Гбайт/с, а шины, связывающей кэши первого и второго уровня еще выше, — 96 Гбайт/с.

Блок шинного интерфейса. Этот узел управляет системной шиной. Новая шина, называемая Quad-Pumped Bus, что можно перевести, как шина с учетверенной скоростью передачи, способна передавать четыре 64-разрядных блока данных за такт. При этом изменения коснулись не только данных — она способна передавать два адреса за такт. Это существенно позволило поднять скорость передачи данных между процессором и оперативной памятью.

Описание конвейера

Как уже отмечалось, одной из инноваций архитектуры NetBurst стало хранение в кэш последовательностей МО целых кусков декодированных команд в виде трасс. Это позволило исключить из конвейера по выполнению команд программы этапы выборки команд и их дешифрации. Конвейер насчитывает 20 стадий в ранних процессорах (Willamette), в последних реализациях этой архитектуры (Prescott) число стадий было увеличено до 31. Рассмотрим 20-стадийный конвейер процессоров архитектуры NetBurst.

  • 1−2. На первых двух стадиях происходит поиск в кэш последовательностей МО микрооперации, на которую указывает последняя выполненная. Напомним, что МО уже скомплектованы в трассы.
  • 3−4. В течение следующих двух стадий осуществляется выборка и добавление в очередь МО до шести микроопераций. Если попадается сложная команда, то в очередь заносятся коды микропрограммы исполнения этой команды из ROM микрокодов. При этом кэш последовательностей МО работает на частоте вдвое меньше номинальной.
  • 5. Пятая стадия служит для передачи МО по конвейеру, при этом никаких преобразований с ними не происходит.
  • 6−8. Эти три стадии обеспечивают подготовку МО к исполнению. Диспетчер ресурсов выбирает из очереди МО по три микрооперации. Для них резервируются все необходимые ресурсы процессора: место в очередях — очереди МО с памятью и очереди вычислительных МО, элементы регистрового файла и буфера переупорядочивания инструкций. Подготовленные операции передаются в соответствующие очереди. Логические регистры, указанные в командах х86, переименовываются в физические, общее число которых больше, чем у процессоров Р6−128.
  • 9. Девятая стадия служит для формирования очередей МО — с памятью и вычислительных. При этом порядок следования МО соответствует их положению в исходной программе. После чего они отправляются соответствующим планировщикам.
  • 10−12. Эти три стадии выполняют планировщики. Тип микрооперации однозначно определяет, какому планировщику она достанется. Пять планировщиков выбирают МО из очередей независимо друг от друга, причем отбор осуществляется по принципу FIFO. В планировщиках формируются очереди МО, которые поступают в соответствующие порты, называемые портами запуска. Именно на этих стадиях реализуется стратегия внеочередного исполнения команд. МО выстраиваются в очереди только исходя из принципа готовности операндов к вычислениям.
  • 13−14. На этих двух стадиях МО для исполнения снабжаются соответствующими операндами. Далее они через порты запуска пойдут на соответствующие исполнительные устройства. Порядок их исполнения уже не соответствует расположению в исходной программе, а определяется лишь готовностью.
  • 15−16. Эти две стадии обеспечивают чтение операндов из регистровых файлов. Регистровые файлы работают на удвоенной частоте, т. е. на частоте работы быстрых блоков ALU.
  • 17. Это стадия исполнения. Именно на ней происходит преобразование данных. МО вместе с операндами отправляется в соответствующий вычислительный блок, в котором и происходит обработка. Очень важную роль для ускорения процесса исполнения МО играет логика, имеющаяся в регистровых файлах. Благодаря ей результат только что исполненной МО может немедленно участвовать в следующей МО уже как операнд, т. е. устраняются задержки, которые могли бы быть вызваны отправкой результата в указанный регистр, а затем — чтением его оттуда.
  • 18. На этой стадии вычисляются и устанавливаются признаки результата — флажки, которые необходимы для исполнения следующих МО программы. В частности, они являются входными данными для следующей стадии, на которой будет происходить проверка правильности предсказанных переходов.
  • 19. Эта стадия зарезервирована для работы модуля предсказания переходов. Здесь происходит сравнение предсказанного для только что выполненной команды адреса перехода с тем, который предсказывался ранее. Если предсказание оказалось ошибочным, алгоритм предсказания будет скорректирован. Таким образом модуль предсказания переходов набирает статистику точности, которая используется для корректировки модели предсказания.
  • 20. Результат проверки, полученный на предыдущей стадии, направляется в дешифратор. После прохождения МО всех стадий конвейера она должна быть удалена, а результаты сформированы и записаны в память в соответствии с исходной программой. Только после удаления МО все ресурсы, зарезервированные за ней, освобождаются. Этот процесс называется отставкой МО. Эта операция осуществляется блоком завершения, аналогичным соответствующему устройству в архитектуре Р6 (на рис. 5.3 ои не показан). Отставка осуществляется группами по три МО — так же, как они были сгруппированы на стадиях 6−8.
Показать весь текст
Заполнить форму текущей работой