Архитектура Larrabee [36-38] оптимизирована для повышения общей производительности высокопроизводительных систем за счет следующих возможностей:
В сочетании с новым уровнем спекулятивных вычислений это значительно уменьшает количество условных переходов и, соответственно,
ошибочных предсказаний направления переходов. В свою очередь, применение
В своем составе процессор Larrabee содержит контроллеры памяти,
блок настраиваемой логики, блок фиксированных функций, системный
интерфейс и набор вычислительных ядер, каждое из которых является
Ядра соединены между собой двусторонней кольцевой шиной, в которую также включены и остальные функциональные блоки контроллера
( рис 6.1). Ядрам обеспечен быстрый доступ к памяти, к блоку фиксированных функций и
В Larrabee имеется кэш первого и второго уровней. Кэш первого
уровня входит в состав ядра. На один аппаратный поток приходится 8 Кб
кэша команд и 8 Кб
Кэш второго уровня (L2) распределен между ядрами — это ускоряет обмен данными между ядрами, облегчает репликацию и общее использование данных.
Кэш второго уровня расположен отдельно от ядер, разделами — по
одному на ядро. Каждое ядро имеет быстрый доступ к своему разделу кэша
второго уровня. Размер локального раздела кэша второго уровня — 256 Кб.
Все кэши второго уровня соединены внутренней кольцевой шиной, которая используется для обеспечения
Каждое ядро, как было упомянуто, является процессором архитекту-
ры
(рис 6.1) Структурная схема процессора LarrabeeПри разработке вычислительного ядра за основу был взят процессор P54C с архитектурой x86. Из него исключили функциональность исполнения программы с внеочередным выполнением команд, что позволило значительно сократить площадь, занимаемую на кристалле одним ядром. Это позволяет разместить на кристалле большее число ядер и повысить общую производительность системы.
Larrabee поддерживает возможности, характерные для современных процессоров на базе архитектуры x86, в частности, 64-разрядные расширения и команды для эффективной работы с кэшем. Поддерживаются также некоторые специальные команды, например, команда побитового сканирования содержимого регистра с определением первого бита со значением 1.
Ядро [38] имеет 32 512-битных векторных регистра, поддерживает полный набор векторных операций при работе с целыми данными и с данными в формате с плавающей точкой одинарной и двойной точности:
Система команд содержит трехоперандные команды. Команда за- грузки Load может выбирать аргумент напрямую из памяти. Беззатратное преобразование типов:
Ядро имеет систему предсказания ветвлений.
(рис 6.2) Структура процессорного ядра LarrabeeВычислительные ядра имеют полную поддержку вычислений стандарта IEEE (fast
Поддерживаются инструкции Inf,
Система команд векторного вычислительного блока [) включает команды с целыми типами данных, а также с вещественными типами данных с одинарной и двойной точностью. Одно векторное ФУ способно исполнять до двух команд за такт.
(рис 6.3) Векторный вычислительный блокКоманда векторной загрузки данных из памяти трактирует свой операнд как векторный регистр, каждый компонент которого задает 32-разрядный адрес в памяти, и загружает данные по этим адресам. В случае
С учетом системы команд ВФУ, одно ядро может использоваться для
одновременной обработки нескольких (до 16) логических шейдерных потоков одновременно, при этом управляющие структуры могут моделироваться при помощи регистра маски. Альтернативный вариант — рассматривать Larrabee как
Ядра Larrabee поддерживают аппаратную многопоточность, по аналогии с технологией Hyper Threading в современных ГПУ, и позволяет частично решить проблему дисбаланса производительности памяти и процессора. Если один из потоков простаивает, выполняя операцию с памятью или кэшем, исполняются команды другого потока, сокращая время
простоя центрального процессора. Одно ядро Larrabee поддерживает одновременно до 4 аппаратных потоков, каждый из которых имеет свой набор регистров. На каждый поток выделяется по 8 Кб кэша инструкций и
8 Кб
Скалярное вычислительное устройство Larrabee имеет два конвейера. Как и во многих других процессорах компании Intel, в которых используется такое решение, первый конвейер может выполнять любые команды, а второй — только часть команд. Задача выбора правильного порядка команд возлагается на компилятор, поскольку Larrabee не поддерживает внеочередное выполнение команд. Выбор подмножества команд для второго конвейера был обусловлен, с одной стороны, минимизацией площади второго конвейера на чипе, с другой — минимизацией нагрузки на компилятор по правильному упорядочиванию команд.
Основным отличием ядра Larrabee от других процессоров Intel является использование векторных команд с обработкой большого числа данных. Один операнд векторной команды имеет размер 512 бит, или 16 вещественных чисел с одинарной точностью. Такой же размер имеют векторные регистры. Более традиционные процессоры Intel поддерживают векторные команды с обработкой 4 значений с одинарной точностью (128 бит). Более широкий размер операнда векторной команды позволяет повысить производительность исполнения шейдеров при снижении общей площади ядра на кристалле. Векторное ФУ дает наибольший вклад в вычислительную мощность Larrabee, его применение является ключом для достижения высокой производительности на реальных задачах.
Модель программирования Larrabee поддерживает модель программирования для х86-й архитектуры. Общим для программирования Larrabee является использование компилятора С/С++, который статически компилирует программы для набора инструкций Larrabee x86. Многие С/С++-приложения могут быть скомпилированы для данного процессора и могут работать корректно без модификации. Такое положение дел благоприятно для портирования приложений, связанных с интенсивными вычислениями. Два основных ограничения лежат в области вызовов системных приложений и архитектуры драйверов устройств, которые нуждаются в перекомпиляции или модернизации.
Основные аспекты программирования для Larrabee — программные
потоки (многопоточное программирование),
Многопоточное программирование основано на расширении известной модели POSIX Thread API, позволяя привязывать нити программы
к конкретным аппаратным нитям или ядрам. Для снижения накладных
расходов при переключении потоков в многопоточных приложениях предусмотрена оптимизация потоков. Реализация многопоточного программирования для Larrabee возможна при использовании Intel Thread
Building Blocks, поддерживается модель OpenMP. Все эти возможности
поддерживаются компилятором Larrabee
Компилятор Larrabee
В решениях, основанных на центральном процессоре и карте расширения с Larrabee, Larrabee может управляться драйвером операционной системы для платформы. В подобных платформах двоичный код Larrabee тесно связан и перемешан с кодом хост-процессора.
Процессор Larrabee представляет собой совокупность вычислительных ядер х86-совместимой архитектуры, которая оптимизирована для решения многопоточных задач, связанных с обработкой графических эффектов, физических эффектов, векторных вычислений.
Заявленная совместимость с архитектурой x86 открывает неплохие возможности по переносимости приложений и расширению их функциональности.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.