Рефераты. Архитектура серверов корпоративных баз данных

· Встроенная поддержка мультимедиа. Первым процессором с поддержкой мультимедиа был PA-7100LC. Он мог декодировать  видео MPEG-1 со скоростью 30 кадров в секунду с полным стереозвуком. Благодаря встроенной поддержке типов данных мультимедиа в базовой архитектуре, Hewlett-Packard в состоянии обеспечить очень высокую скорость отображения без дополнительных затрат.

Рис. 8. Блок-схема взаимодействия процессора и внешних кэшов

Процессор подсоединяется к памяти и подсистеме ввода/вывода посредством синхронной шины. Процессор может работать с тремя разными отношениями внутренней и внешней тактовой частоты в зависимости от частоты внешней шины: 1:1, 3:2 и 2:1. Это позволяет использовать в системах разные по скорости микросхемы памяти.

Процессор PA-8xxx вобрал в себя все известные методы ускорения выполнения команд. В его основе лежит концепция "интеллектуального выполнения", которая базируется на принципе внеочередного выполнения команд. Это свойство позволяет PA-8000 достигать пиковой суперскалярной производительности благодаря широкому использованию механизмов автоматического разрешения конфликтов по данным и управлению аппаратными средствами. Эти средства хорошо дополняют другие архитектурные компоненты, заложенные в структуру кристалла: большое число исполнительных функциональных устройств, средства прогнозирования направления переходов и выполнения команд по предположению, оптимизированная организация кэш-памяти и высокопроизводительный шинный интерфейс.

PA-8500 (Рис. 9.) является 4-х канальным суперскалярным процессором, выполняющим 4 операции за такт. PA-8500 имеет следующие архитектурные особенности:

· Наибольший размер кэша первого уровня на процессор (1 МБ - данные, 0.5 МБ - инструкции).

· По два 64-разрядных модуля с плавающей точкой для функций загрузки/выгрузки, умножения/сложения, деления/извлечения квадратного корня, целочисленных, сдвиговых/логических функций каждый - всего 10 функциональных модулей.

· Буфер предсказания ветвления для 56 инструкций (instruction reorder buffer - IRB)

· Спекулятивное выполнение

· Статическое и динамическое предсказание ветвлений

Перечисленные особенности рассматриваются ниже более подробно.

PA-8500 реализован в 0.25 микронной технологии. Новая технология позволяет разместить на чипе большой кэш первого уровня, что дает возможность повысить частоту без необходимости наличия связанных кэшей второго уровня.

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

Рис.9. Архитектура процессора PA-8500

Процессор PA-8500 предоставляет доступ к большему объему данных за два такта из своего 0.5MB кэша инструкций и 1MB кэша данных, чем многие системы могут предоставить за 10 и более тактов из кэша второго уровня. Механизм установки очередности инструкций поддерживает постоянную загрузку функциональных модулей процессора, предотвращая их простой, как это обычно происходит в традиционных конвеерных процессорах.

Одной из задач при разработке PA-8500 было создание чипового кэша, который бы мог уместиться в выделенную зону чипа и, тем не менее, поддерживал бы высокий уровень установки очередности инструкций. Такое решение требует, чтобы кэш данных поддерживал выполнение двух одновременных операций памяти при поддержке двухтактного доступа. Задача была решена использованием двухбанковой системы, разработанной для внекристального кэша данных. Система реализована в виде простого однопортового RAM, что помогло сохранить пространство на чипе. Поскольку каждый запрос имеет отношение только к половине кэша, физическая длина доступа была уменьшена, что позволило достичь меньшего времени доступа.

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

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

При наличии большого чипового кэша первого уровня в сочетании с мощным механизмом предсказания ветвления, PA-8500 не нуждается в дорогом, присоединенном напрямую к процессору кэше второго уровня. Что, в свою очередь, устраняет необходимость в интегрированном контроллере кэша второго уровня. В дополнение к этому, нет необходимости в большом количестве выводов процессора, обслуживающих соединения с внешними RAM.

Процессор PA-8500 обладает раздельной архитектурой, в которой логика интерпретирования инструкций не связана с конвеерной логикой функциональных модулей. Подобная архитектура позволяет процессору частично интерпретировать инструкции задолго до действительного исполнения инструкций функциональным модулем (модулями). Интерпретированные инструкции хранятся в очереди внутри чипа. Одновременно PA-8500 может таким образом обрабатывать до 56 инструкций.

Процессор обрабатывает до 4 инструкций за такт. Для поддержания суперскалярной производительности на максимально возможном уровне процессор PA-8500 содержит в себе десять функциональных модулей: два независимых модуля для операций с плавающей точкой, два независимых функциональных модуля деления и извлечения квадратного корня, два независимых 64-разрядных целочисленных арифметических логических модуля (ALU), два модуля сдвиговых/логических функций (хотя эти модули разделены с целочисленными ALU, за такт ими выполняются лишь две из возможных четырех инструкций), и два независимых модуля загрузки/выгрузки.

Что касается важных функциональных модулей для операций с плавающей точкой, каждый из них способен выполнить одну инструкцию умножения/сложения за такт. Таким образом, пиковая производительность операций с плавающей точкой в четыре раза превышает тактовую частоту. Важно отметить, что инструкция умножения/сложения является комбинированной, - то есть для выполнения одной инструкции необходимо выполнение двух операций. Это не просто повышает производительность, выполнение комбинации умножения/сложения требует одной инструкции в IRB, что еще более повышает эффективность процессора. Инструкция умножения/сложения имеет трех тактовую задержку, но при наличии конвеерности, результат выдается каждый такт.

 Для того, чтобы использовать весь набор функциональных модулей, процессор оснащен 56-командным буфером предсказания ветвлений (IRB - instruction reorder buffer) двух портовым кэшем данных и способностью выбирать четыре инструкции за такт из большого кэша инструкций. Процессор может хранить до 56 инструкций в буфере и выполнять их в тот момент, когда необходимые данные и функциональный модуль (модули) станут доступными. Взаимосвязь данных и инструкций, хранящихся в буферах известна, инструкции поступают в функциональные модули точно в момент, когда данные и функциональные модули будут доступны.

 Могучим оружием PA-8500 является его способность производить спекулятивное выполнение, которое заставляет процессор "отгадывать" путь выполнения и выполнять инструкции по этому пути. Если догадка неверна, спекулятивно выполненные инструкции сбрасываются. Спекулятивное выполнение поддержано интеллектуальным механизмом предсказания ветвлений, базирующемся на 2,048-командном кэше истории ветвления. Предсказание ветвлений определяет порядок выполнения инструкций (то есть, какая инструкция, по его мнению, будет выполнена) и эти инструкции спекулятивно выполняются. Если ответвление предсказано неправильно, эти инструкции просто сбрасываются, в случае если они еще не удалены.

 Таблица истории ветвлений (BHT - branch history table) в PA-8500 является стандартной матрицей двухбитных ячеек, но информация, хранимая в них, не является информацией о направлении ответвления (выбранного или невыбранного). Модернизированный BHT позволяет PA-8500 сочетать возможности статического и динамического методов предсказания ветвлений в одной аппаратной структуре, что не требует наличия двух или трех аппаратных матриц, как в некоторых других методах предсказания ветвлений.

Конструкция процессора обеспечивает реализацию двух способов построения многопроцессорных систем. При первом способе каждый процессор подсоединяется к интерфейсному кристаллу, который наблюдает за всеми транзакциями на шине основной памяти. В такой системе все функции по поддержанию когерентного состояния кэш-памяти возложены на интерфейсный кристалл, который посылает процессору соответствующие транзакции. Кэш данных построен на принципах отложенного обратного копирования и для каждого блока кэш-памяти поддерживаются биты состояния "частный" (private), "грязный" (dirty) и "достоверный" (valid), значения которых меняются в соответствии с транзакциями, которые выдает или принимает процессор.

Второй способ организации многопроцессорной системы позволяет объединить два процессора и контроллер памяти и ввода-вывода на одной и той же локальной шине памяти. В такой конфигурации не требуется дополнительных интерфейсных кристаллов и она совместима с существующей системой памяти. Когерентность кэш-памяти обеспечивается наблюдением за локальной шиной памяти. Пересылки строк между кэшами выполняются без участия контроллера памяти и ввода-вывода. Такая конфигурация обеспечивает возможность построения очень дешевых высокопроизводительных многопроцессорных систем.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.