
- •1. Определение и классификация вычислительных систем
- •1.1. Классификация вс по назначению
- •1.2. Классификация вс по типу построения
- •1.3. Классификация вс по типу эвм или процессоров
- •1.4. Классификация вс по степени территориальной разобщенности вычислительных модулей
- •1.5. Классификация вс по методам управления элементами вс
- •1.6. Прочие классификационные признаки вс
- •2. Архитектура вычислительных систем
- •3. Типовые структуры вычислительных систем
- •3.1. Однопроцессорные структуры вс
- •3.2. Многопроцессорные структуры вс – пример построения
- •Сервера-лезвия
3. Типовые структуры вычислительных систем
Для обеспечения максимальной производительности ВС ее структура должна максимально соответствовать структуре решаемых задач.
Классификация уровней программного параллелизма включает в себя:
независимые задания,
отдельные части заданий,
программы и подпрограммы,
циклы и итерации,
операторы и команды,
фазы отдельных команд.
Для каждого вида параллельных работ имеются структуры вычислительных средств, используемые в различных вычислительных системах:
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.