В.А. Фисун - Прикладное программирование в задачах математической физики. Архитектурные принципы построения ЭВМ (pdf) (1127762), страница 16
Текст из файла (страница 16)
Компании Intel потребовалось еще 4 года, прежде чем она смогла представить нарынке готовый образец процессора. Процессоры IA64 с архитектурой EPIC,Пособие 17.09.0956патент США 96/24895, имеют 128-битовую внутреннею шину, но в отличие от VLIW-программ объектный код IA64 не зависит от числа специализированных конвейеров в конкретном процессоре. Merced, одно из первыхвоплощений новой архитектуры, содержит два блока по 128 регистров дляхранения целых и плавающих чисел, независимые кэши для инструкций иданных, специализированные конвейерные устройства (шесть для процессоров "нижнего уровня").
В микропроцессоре реализована схема динамического распределения регистров, условной (спекулятивной) загрузки данныхиз памяти при обработке ветвлений. Команда – связка (bundie) - длиной128 бит здесь имеет три слота, задающие три операции и поле маски, уточняющее порядок выполнения этих операций. В мае 2001 г. появился первый Itanium, а набор инструкций IA64 для него из маркетинговых соображений переименовали в IPF (Itanium Processor Family).Уровень вычислительной мощности новых процессоров весьма высоки позволяет успешно конкурировать с RISC-системами.
Недавно суперкомпьютер "Колумбия" из 10240 процессоров Itanium-2 в списке ТОР500 занимал второе место, а его производительность достигла 52 ТФлоп в штатномрежиме или более 60 ТФлоп в пиковом. Распространению архитектурыEPIC в немалой степени способствует и продолжающийся рост количестваоптимизированных для нее приложений. Системы на базе процессоровItanium могут работать под управлением различных ОС - Windows, Linux,HP-UX, Solaris и др.Отличием архитектуры EPIC по сравнение с современными суперскалярными архитектурами, с одной стороны, и VLIW архитектуры, с другой,является попытка совместить достоинств обеих архитектур при решениизадач распараллеливания программы на уровне инструкций.Данная архитектура обеспечивает:- статическую проверку зависимостей между командами ЭВМ для выявления тех из них, которые можно сгруппировать для параллельного выполнения, поиск микропроцессов;- динамическое распределение вычислительных работ между функциональными блоками процессора.В архитектуре ЕРIC, в отличие от RISC архитектуры, задача возможного статического распараллеливания программ возложена на компилятор.Компилятор оптимизирует выполнение программы целиком, а не отдельного ее фрагмента, который доступен процессору в случае аппаратного распараллеливания.
Это позволяет упростить структуру процессора и, как следствие, добиться более высокой его производительности при меньшей степени сложности. Архитектура VLIW, подобно ЕРIC, представляет собойкрайний случай использования статического параллелизма. Это эффективный способ поднять производительность, особенно если к ней добавитьтехнологию суперскалярной организации вычислений, что и сделано в архитектуре ЕРIC.Пособие 17.09.09575.4. Современные микропроцессоры.Микропроцессор - производное от слов "микросхема" (“microchip”) ипроцессор ("processor"), это кремниевый кристалл - “чип”, на котором размещен центральный процессор (ЦПУ, CPU - Central Processor Unit).
Егодве основные компоненты: арифметико-логическое устройство (АЛУ, ALU– Arithmetic and Logic Unit), которое выполняет логические и арифметические операции, и устройство управления (УУ, CU – Control Unit). УУ извлекает команды из памяти, декодирует их и исполняет. На кристалле размещаются также регистры и кэш-память, а, иногда, и другие элементы оперативной памяти. Развитие технологии конструирования и производстваэлементов ЭВМ позволяет размещать на кристалле все больше и большеэлементов, в частности, кэш память второго уровня.Оперативное запоминающее устройство (ОЗУ, MM – Main Memory) –место хранения программ и данных размещается на другом кристалле, которое связано с микропроцессором “системной шиной”.
Микропроцессоробычно называют просто “процессор”, а вместе с ОЗУ называют, иногда,“процессорным элементом”. Процессор в комплекте с внешними устройствами (массовая память, монитор, и т.д.) называется персональным компьютером (ПК).Показано, что даже при предельной, пиковой работе микропроцессоразадействуется не более 25% транзисторов на кристалле.
Так на чипе EV78процессора Alpha 21364 размещено 100 млн транзисторов, из которых 92млн – кэш-память. Для увеличения нагрузки оборудованию на кристалле вмикропроцессоры добавляют дополнительно отдельные процессоры дляобработки данных. Наверное, первыми такими элементами стали сопроцессоры. Это арифметические конвейерные устройства для быстрой обработкивекторных операндов (техника ММХ и SSE).Развитие технологии обработки видеоинформации привело к появлению в составе оборудования микропроцессоров видеокарт, вычислительнаямощность которых превосходит на векторной обработке производительность самого процессора.В настоящее время активно реализуется многоядерная архитектурамикропроцессоров, клонирование процессоров на одном кристалле. Многопроцессорные кристаллы (Chip MultiProcessor, CMP), двух-, четырехядерные процессоры позволяют значительно увеличить вычислительнуюпроизводительность микропроцессоров, их используют в качестве процессорных элементов в современных мультисистемах.
Двухъядерный (dialcore) процессор POWER4 корпорации IBM – это два микропроцессора с синдивидуальными кэшами первого уровня 2*64 Кбайт. На кристалле размещается также общая кеш-память второго уровня емкостью 1.4 Мбайт.Стоимость такого процессора значительно ниже, чем у двух процессоров,имеющих по одному ядру. Двухъядерные процессоры занимают меньшеместа, потребляют меньше энергии и рассеивают меньше тепла.
Все ведущие разработчики микропроцессоров клонируют свои процессоры.Пособие 17.09.0958Другой тенденцией развития микропроцессорной архитектуры является стремление к достижению максимальной загрузки оборудования примультипрограммной работе. Технология Hyper-Threading – (HT технология), разработанная корпорацией Intel, дает возможность одновременноговыполнения сразу двух последовательностей команд или “потоков” на одном ядре, что повышает производительность микропроцессоров; в одноймашине появляются два логических процессора. При одновременном выполнении двух потоков большую долю времени обычно занимает работаоперационной системы для переключения задач. Разместив на кристаллемеханизмы аппаратной реализации алгоритмов ОС, которые в некоторыхреализациях занимают всего 2% оборудования, можно получить ускорениесчета на классе задач до 20%.
Но следует иметь в виду, что выполняемыепотоки – это разные задачи, для получения реального ускорения работы одного приложения необходимо распараллеливать исполняемую программу.Обобщением такой схемы являются мультитредовые процессоры(MTA – MultiThrading Architecture). Грубая схема мультитредовых машинтакова: размножаются только конвейеры команд, а остальные ресурсы машины (операционные устройства) предоставляются тредам по-очереди. Вних допускается выполнение одновременно несколько тредов (потоков) –вычислительных процессов, называемых легковесными процессами.
Треды,в отличие от настоящих вычислительных процессов (задач), выполняются водном виртуальном адресном пространстве, поэтому переключение вычислений между тредами очень просто. Каждому треду выделяется собственный набор регистров, благодаря чему в процессе переключения между потоками команд не приходится тратить время на сохранение и восстановление состояния служебной информации.Ресурсы машины выделяются динамически и они будут использоваться с полной загрузкой, если выполнение медленных инструкций потока будет прикрыто обслуживанием других потоков. Считается, что при такой организации вычислений все ресурсы машины будут работать с предельнойпроизводительностью.
Здесь имеется полная аналогия с работой многозадачной ОС. Мультитредовая архитектура процессоров с одновременнымвыполнением тредов называется SMT (Simultaneous Mulni-Threading). Одной из первых разработок в этой области была машина МТА фирмы Tera.Имеются сообщения, что фирма Sun представит новую модификациюмультитредового процессора Niagara во второй половине 2008 г. Это процессор Rock, состоящий из четырех блоков, по четыре процессорных ядрав каждом. Каждое ядро Rock способно поддерживать одновременную работу двух потоков (всего 32 потока на процессор), кроме того, каждое ядроимеет собственный модуль для работы с вещественной арифметикой и графическими инструкциями.
Каждая группа из четырех ядер будет обладатьсобственным кэшем первого уровня, 32 Кбайт для инструкций и 32 Кбайтдля данных. Каждый из четырех кэшей второго уровня будет иметь емкостьв 512 Кбайт.Пособие 17.09.0959Так как все современные суперскалярные процессоры содержат развитые механизмы обеспечения “параллелизма на уровне команд”, то оказалось, что реализация МТА, особенно в рамках технологии НТ, требуетлишь относительно небольших аппаратных доработок.