Общий обзор системы UltraSPARC III Cu
В левой верхней части рис. 4.33 изображен 4-входовый ассоциативный кэш команд емкостью 32 Кбайт с 32-байтными строками.
Поскольку большинство команд UltraSPARC занимают 4 байта, в этом кэше можно одновременно разместить около 8000 команд. По этому признаку UltraSPARC III Cu несколько уступает кэшу трасс NetBurst.Блок вызова команд подготавливает для выполнения до четырех команд за цикл. В случае неудачного обращения в кэш-память первого уровня количество вызываемых команд уменьшается. При обнаружении условного перехода происходит обращение к таблице переходов емкостью 16 000 записей; на основе ее содержания принимается решение о вызове следующей команды или команды, расположенной по целевому адресу. Повышать надежность прогнозирования ветвлений помогают дополнительные биты, связываемые с каждым словом в кэше команд. Подготовленные команды поступают в 16-командный буфер, который сглаживает направленный в конвейеры поток команд.
Рис. 4.33. Структурная схема процессора UltraSPARC III Cu |
Как показано на рис. 4.33, из буфера команд команды попадают в блок исполнения целочисленных операций, блок исполнения операций с плавающей точкой и блок загрузки/сохранения. Блок исполнения целочисленных операций состоит из двух АЛУ и короткого конвейера для обработки команд перехода. Кроме того, здесь есть регистры ISA и временные регистры.
Блок исполнения операций с плавающей точкой состоит из 32 регистров и трех независимых АЛУ, предназначенных для выполнения операций сложе- ния/вычитания, умножения и деления, соответственно. Этот же блок выполняет графические операции.
Блок загрузки/сохранения, как явствует из его названия, ответственен за обработку разнообразных команд загрузки и сохранения. Содержащиеся в нем тракты данных обеспечивают соединение с тремя кэшами. Кэш данных представляет собой традиционную предназначенную для обработки данных 4-входовую ассоциативную кэш-память первого уровня емкостью 64 Кбайт с длиной строки 32 байт. Кэш предвыборки емкостью 2 Кбайт нужен по той причине, что на уровне архитектуры команд UltraSPARC предусмотрены команды упреждающей выборки, которые позволяют компилятору вызывать слова еще до того, как в них возникнет необходимость. Если компилятор полагает, что через некоторое время ему потребуется то или иное слово, он запускает команду предвыборки. В результате соответствующая строка с упреждением загружается в кэш предвыборки, и через несколько команд обращение к этой строке происходит существенно быстрее, чем если бы она не была загружена. В некоторых ситуациях проводится и аппаратная предвыборка, позволяющая повысить скорость работы устаревших программ, не поддерживающих программную предвыборку. Кэш записи представляет собой небольшой по объему (2 Кбайт) блок кэш-памяти, предназначенный для объединения результатов записи, а следовательно, оптимизации потребления ресурсов широкой (256-разрядной) шины, ведущей к кэшу второго уровня.
Единственное назначение кэша записи состоит в повышении производительности.В микросхеме UltraSPARC III Cu также предусмотрена логика управления доступом к памяти. Она состоит из трех компонентов: системного интерфейса, контроллера кэша второго уровня и контроллера памяти. Системный интерфейс обеспечивает взаимодействие с памятью по 128-разрядной шине. Через этот интерфейс проходят все запросы вовне, за исключением запросов к кэшу второго уровня. Теоретически при использовании 43-разрядных адресов физической памяти объем основной памяти может доходить до 8 Тбайт, однако размер печатной платы, на которой устанавливается процессор, ограничивает этот показатель значением 16 Гбайт. Проектное решение интерфейса позволяет подключать к одному модулю памяти сразу несколько процессоров UltraSPARC, за счет чего формируется мультипроцессор. О мультипроцессорах речь пойдет в главе 8.
Контроллер кэша второго уровня сопряжен с объединенным кэшем второго уровня, который расположен вне микросхемы процессора. При внешнем размещении кэша второго уровня его объем может составлять 1, 4 или даже 8 Мбайт. Длина строки зависит от объема кэша (от 64 байт в кэше объемом 1 Мбайт до 512 байт в кэше объемом 8 Мбайт). Напомним, что кэш второго уровня Pentium 4 расположен на микросхеме, и из-за нехватки на ней свободного места его объем ограничен значением 1 Мбайт. Таким образом, в UltraSPARC обеспечивается значительно более высокий коэффициент кэш-попаданий, чем в Pentium (что объясняется большим объемом кэша), однако скорость доступа здесь ниже (потому что кэш расположен вне микросхемы).
Контроллер памяти преобразует 64-разрядные виртуальные адреса в 43-разряд- ные физические адреса. UltraSPARC поддерживает виртуальную память (см. главу 6) с размерами страницы 8, 64 и 512 Кбайт, а также 4 Мбайт. Для ускорения процесса преобразования предусмотрены специальные таблицы, называемые буферами быстрого преобразования (Translation Lookaside Buffers, TLB). Они сравнивают текущий виртуальный адрес с адресами, по которым производились обращения в недавнем прошлом. Три такие таблицы обеспечивают гибкое управление размерами страниц данных, а еще две обрабатывают команды преобразования.
Еще по теме Общий обзор системы UltraSPARC III Cu:
- Общий обзор
- § 4. Содержание корпоративных прав: Общий обзор (п. 2229-2234)
- § 11. Содержание товарищеских прав: Общий обзор. Правоотношения по поводу общего имущества (п. 2272-2279)
- 1. Общий анализ энергетической системы пациента.
- 9.19. Лечебно-профилактический массаж по системе До-Ин (общий для всех каналов)
- III. 3. СИСТЕМА ПСИХОЛОГИИ КАК НАУКИ
- III. 1. 4. Система понятий.
- III. 1. 6. Лингвистические описания систем.
- 2. Общий и специальные сроки исковой давности
- 7.1. Общий взгляд на проблему
- 7.1. Общий взгляд на проблему
- ПСИХОАНАЛИЗ: ПРИНЦИП ОБЩИЙ
- 2. Общий вывод из единичных фактов
- 2. Общий порядок заключения договоров
- ОБЩИЙ СИНТЕЗ: ЗАПАДНАЯ ПОЛОВИНА
- ОБЩИЙ СИHТЕЗ: ВОСТОЧHАЯ ПОЛОВИHА
- Роберт находит общий язык с детьми