Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВССиТК-Лекция02.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
145.41 Кб
Скачать

3. Типовые структуры вычислительных систем

Для обеспечения максимальной производительности ВС ее структура должна максимально соответствовать структуре решаемых задач.

Классификация уровней программного параллелизма включает в себя:

  1. независимые задания,

  2. отдельные части заданий,

  3. программы и подпрограммы,

  4. циклы и итерации,

  5. операторы и коман­ды,

  6. фазы отдельных команд.

Для каждого вида параллельных работ имеются структуры вы­числительных средств, используемые в различных вычислительных системах:

  • 1-3 уровни имеют единое сред­ство параллельной обработки - мультипроцессирование, т. е. многопроцессорные вычислительные системы, относящиеся к архитектуре МКМД.

  • 4 уровень требует использования век­торной обработки (архитектура ОКМД).

  • 5 уровень ориентирован на многофункциональную обработ­ку (МКОД).

  • 6 уровень - параллельная обработка фаз последовательно выполня­емых команд приводит к организации т.н. конвейера команд, что реализовано во всех современных ЭВМ, включая ПК.

3.1. Однопроцессорные структуры вс

Последние достижения в микроэлект­ронике и системотехнике и многие аппаратные идеи и схемы, заимствованные из структур ранних поколений, включая большие ЭВМ и даже суперЭВМ, способствуют уве­личению быстродействия и производительности компьютеров. В аппаратуру серверов и ПК все больше внедряются решения, связанные с парал­лельными вычислениями, что и делает их по существу вычислительны­ми системами (Слайд 13).

Например, ранее только суперЭВМ объединяли в своем составе суперскалярную и векторную (матричную) обработку. Теперь же эти свойства характерны практически для всех современных микропроцессоров различных производителей (Pentium 4 и выше фирмы Intel, Athlon -фирмы AMD, Alpha - фирмы Dell, Ultra Spark - фирмы Sun, PA-RISC -фирмы Hewlett Packard, Power PC - фирмы IBM, MIPS - фирмы SGI и др.).

Если компьютер способен одновременно выполнять несколько пос­ледовательных команд программы, то он называется суперскалярным. Суперскалярность обычно присуща RISC-процессорам (Reduced Instruction Set Computing - процессоры с сокращенным набором ко­манд). Процессоры этого класса имеют значительно больший состав регистров общего назначения - регистров сверхоперативной памяти, что и определяет улучшенные возможности параллельной работы последовательности команд программы. К RISC-архитектуре традиционно относят микропроцессоры фирм AMD и Dell.

Микропроцессоры фирмы Intel изначально относились к CISC-процессорам (Complete Instruction Set Computing - вычисления с пол­ной системой команд). Здесь большая часть команд имеет тип «память - память» (опе­ранды и результаты операций находятся в оперативной памяти).

Многофункциональная обработка используется в ПК, построенных на мик­ропроцессорах AMD и Intel, где функционируют специализирован­ные средства обработки: умножители, делители, сопроцессоры или блоки десятичной арифметики, сопроцессоры обработки графической и аудиоинформации и др. Все они совместно с центральным процес­сором компьютера создают своеобразные микроконвейеры, целью которых является повышение скорости вычислений.

Другой модификацией классической структуры ЭВМ являются VLIW-компьютеры (Very Large Instruction Word - с очень длинным командным словом). Компьютеры этого типа выбирают из памяти суперкоманды, включающие несколько команд программы.

VLIW-компьютеры могут выполнять суперскалярную обработку, т.е. одновременно выполнять две или более команды. В целом ряде структур суперЭВМ использовалась эта идея. В процессорах Intel последних выпусков имеется возможность выполнения до де­сятков команд одновременно.

Эта реализация имеет две цели:

  • уменьшение отрицательного влияния команд ветвления вычис­лительного процесса путем выполнения независимых команд двух различных ветвей программы. При этом в какой-то степени исключа­ются срывы конвейера в обработке команд программы;

  • одновременное выполнение нескольких команд (независимых по данным и регистрам их хранения), например, команды пересылки и арифметические операции.

Векторная, матричная обработка предполагает обработку одной командой нескольких комплектов операндов. Внутри одной архитек­туры начинают просматриваться черты другой. Подобные команды относятся к архитектуре ОКМД - SIMD (Single Instruction - Multiple Data, оди­ночный поток команд - множественный поток данных). Векторные процессоры имелись у всех су­перЭВМ. В современных компьютерах, построенных на микропроцес­сорах, этот вид обработки был реализован сначала как ММХ (Multi-Media - мультимедийные рас­ширения или Matrix Math Extensions - матричные математические расширения). Их введение было связано с ориентацией на ра­боту с видео-, аудио- и графической информацией, где очень велика доля циклов, участков программ, повторяемых многократно. Несмотря на то, что они занимают при­мерно 10% от объема всего приложения, на их выполнение уходило до 90% общего времени выполнения. Включение операций, отно­сящихся к ОКМД -SIMD, позволяет значительно ускорить вычисления.

Технология ММХ появилась в 1997 г. в микропроцессорах Pentium 2. При появлении следующих поколений микросхем Pentium (Pentium 3 - 1999 г. и т.д.) было проведено обновление технологии ММХ. Предварительно оно получило название ММХ-2, а затем SSE. (Streaming SIMD Extensions - потоковые расширения SIMD). Операции с плавающей точкой аппаратно были полностью отделены от мультимедийных данных.

В микропроцессорах Pentium 4 и выше развитие этой технологии получило название SSE-2.

При появлении технологии ММХ фирмы AMD и Cyrix (Via) ли­цензировали у Intel, переработали и стали использовать аналогичные решения в своих разработках. Первая реализация в микропро­цессорах К6-2 фирмы AMD получила название 3Dnow!. В процессорах следующих поколений Athlon и Duron набор инструкций 3Dnow! пре­терпел развитие и стал аналогичен набо­рам SSE.

Увеличение в структурах современных процессоров числа регистров и объема быстродействующей кэш-памяти первого уровня позволяет осуще­ствить параллельную обработку нескольких не зависимых друг от друга команд (Explitly Parallel Instruction Computing - EPIC).

Одним из достижений Intel в конце 2002 г. стал выпуск нового процессора Pentium 4 с тактовой частотой 3,06 ГГц, поддер­живающего Hyper-Threading, т. е. реализацию в одном физическом процессоре нескольких логических. Это позволяет при задержках обработки одной программы (трейда или нити, подзадачи) переклю­чаться на выполнение команд другой программы - трейда. Для осуществления этого потре­бовалось увеличить число транзисторов ядра микропроцессора при­мерно на 5% и получить выигрыш, соизмеримый с 30-процентным увеличением кэш-памяти.

Подробно однопроцессорные структуры рассматривались в лекции Семестра 1.