ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.10.2023
Просмотров: 624
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
АРХИТЕКТУРЫ, ХАРАКТЕРИСТИКИ, КЛАССИФИКАЦИЯ ЭВМ
3. ФУНКЦИОНАЛЬНАЯ И СТРУКТУРНАЯ
4. ПРИНЦИПЫ ОРГАНИЗАЦИИ ПОДСИСТЕМЫ ПАМЯТИ ЭВМ И ВС
ОРГАНИЗАЦИЯ СИСТЕМНОГО ИНТЕРФЕЙСА И ВВОДА/ВЫВОДА ИНФОРМАЦИИ
МНОГОПРОЦЕССОРНЫЕ И МНОГОМАШИННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ
SIMD-архитектура
Как было сказано выше, архитектура SIMD связана с параллельной обработкой потоков данных. Существуют несколько способов (рис. 1.5) реализации этой архитектуры: матричная структура процессора, век- торно-конвейерная, технология ММХ и потоковые SIMD-расширения в интеловских процессорах.
Суть матричной структуры заключается в том, что имеется мно- жество процессорных элементов, исполняющих одну и ту же команду над различными элементами матрицы, объединенных коммутатором. Основная проблема заключается в программировании обмена данными между процессорными элементами через коммутатор.
Рис. 1.5. Классификация способов организации SIMD-архитектуры
В отличие от матричной векторно-конвейерная структура про- цессора содержит конвейер операций, на котором обрабатываются па- раллельно элементы векторов и полученные результаты последователь- но записываются в единую память. При этом отпадает необходимость в коммутаторе процессорных элементов, служащем камнем преткнове- ния в матричных компьютерах.
Общим для всех векторных компьютеров является наличие в си- стеме команд векторных операций, допускающих работу с векторами определенной длины. В таких компьютерах операции с векторами обычно выполняются над содержимым векторных регистров.
Еще одним примером реализации SIMD-архитектуры является технология MMX, которая существенно улучшила архитектуру микро- процессоров фирмы Intel (Pentium MMX). Она разработана для ускоре- ния выполнения мультимедийных и коммуникационных программ. Ко- манды ММХ выполняют одну и ту же функцию с различными частями данных, например, 8 байт графических данных передаются в процессор как одно упакованное 64-разрядное число и обрабатываются одной ко-
мандой.
Следующим шагом по пути использования SIMD-архитектуры в микропроцессорах фирмы Intel (Pentium III) явились потоковые SIMD-расширения – Streaming SIMD Extension (SSE), которые реали- зуют новые SIMD-инструкции, оперирующие со специальными 128-битными регистрами. Каждый из этих регистров может хранить не- сколько упакованных целочисленных или вещественных данных. Таким образом, выполняя операцию над содержимым двух регистров под управлением команды SSE, процессор может обработать несколько пар операндов одновременно.
Несколько раньше то же самое было сделано фирмой AMD – рас- ширение 3DNow!, которое было реализовано уже в процессорах К6-2 с введением новых инструкций, оперирующих с 64-битными регистрами.
Данное направление получило развитие и в следующих поколениях процессоров корпораций Intel и AMD. Современные процессоры Intel поддерживают потоковые расширения SSE, SSE2, SSE3, SSSE3, SSE4, AVX, AVX2, MIC и т.д.
-
Многоядерные структуры процессора и многопотоковая обработка команд
Корпорация Intel, лидер в разработке микропроцессоров с х86 ар- хитектурой, ежегодно на протяжении долгого времени увеличивала производительность своих процессоров преимущественно за счет уве- личения тактовой частоты и использования гиперконвейерной техноло- гии выполнения команд, что, в свою очередь, значительно увеличивало энергопотребление и соответственно количество выделяемой процессо- ром тепловой энергии. Это привело к тому, что компания уперлась в энергетический предел, ограничивающий возможности наращивания производительности процессорных кристаллов традиционными спосо-
бами. Перед компанией Intel остро встала проблема разрешения противо-
речия между производительностью процессора и энергопотреблением.
Использование многоядерных структур процессора является одним из путей решения этой проблемы. Совмещение в одном процессоре двух вычислительных ядер позволяет удерживать рассеиваемую им мощ- ность в допустимых пределах за счет сравнительно незначительного понижения тактовой частоты ядер: при снижении рабочей частоты на 20 % производительность ядра падает примерно на 13 %, а энергопо- требление – на 50 %. При этом двухъядерный процессор все равно су- щественно выигрывает в производительности (при тех же условиях до 70 %) за счет увеличения количества команд, выполняемых в процессо- ре за один такт, но для этого необходимо на программном уровне обес- печить загрузку обоих ядер, для чего требуется соответствующая опти- мизация программного кода.
Первыми стали использовать двухъядерные структуры разработчи- ки RISC-процессоров:
-
компания IBM (процессоры Power 4, 5, Power PC G5); -
Sun Microsystems (процессор Ultra Sparc IV).
В настоящее время выпускается достаточно большое количество типов многоядерных процессоров различных фирм производителей с 2, 4, 6, 8, 12 ядрами. Можно сказать, что в развитии вычислительной техники с 2005 г. наступила эра использования многоядерных структур процессоров.
Другим направлением развития микропроцессорной индустрии на ближайшие годы будет многопоточность. Двупотоковая обработка ко- манд на одном процессоре (ядре) основывается на том, что в каждый
момент времени только часть ресурсов процессора (ядра) используется при выполнении программного кода. Неиспользуемые ресурсы также можно загрузить работой, например задействовать для параллельного выполнения еще одного приложения. В этом случае операционная си- стема (ОС) и приложения «видят» именно два логических процессора (ядра) и могут распределять работу между ними, как и в случае полно- ценной двухпроцессорной системы (рис. 1.6).
Для того чтобы использовать технологии многопоточности, необ- ходимы эффективные компиляторы, которые разработаны и поставля- ются вместе с микропроцессорами.
Технологии многопоточности в настоящее время используются различными фирмами:
-
Intel – технология Hyper-Threading (HT), технология Simultaneous multithreading (SMT); -
Sun/Oracle– технология Chip Multithreading (CMT); -
Fujitsu Siemens Computer – технология Vertical Multithreading (VMT). Применение многоядерной структуры одновременно с технологией многопоточности увеличивает количество используемых логических процессоров (ядер) в 2 раза (Core i7, Itanium 2, Xeon), в 4 раза (Ultra SPARC T1), в 8 раз (Ultra SPARC T2), что существенно увеличивает
производительность физического процессора.
Суперскалярная архитектура
Двухпроцессорная архитектура
Двупотоковая архитектура
Время (циклы CPU)
1 2 3
Три исполнительных устройства процессора
– Поток команд 0
– Поток команд 1
Рис. 1.6. Многопоточность
в сравнении с другими способами обработки команд