Лекции 2010 года

Описание файла

PDF-файл из архива "Лекции 2010 года", который расположен в категории "лекции и семинары". Всё это находится в предмете "вычислительные системы" из седьмого семестра, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

Введение1Целью курса “Архитектура параллельных вычислительных систем” являетсярассмотрение способов организации параллелизма обработки информации наразличных уровнях вычислительных систем. Будут рассмотрены концептуальные(архитектурные) решения такой организации и структурные решения, позволяющиереализовать предложенные концепции. Следует отметить, что области сущностейвычислительных систем, покрываемые понятиями “архитектура” и “структура”,заметно пересекаются, и в данном курсе не будет преследоваться их строгоеразделение там, где в этом нет необходимости.Понятие архитектуры параллельной вычислительной системы являетсядостаточно широким, поскольку под архитектурой понимается и общая организацияпараллельной обработки данных, используемая в системе, и особенности системыкоманд процессоров, и организация памяти, и топология связи между процессорами.Попытки систематизировать все множество архитектур предпринимались,начиная с 60-х годов прошлого века, и продолжаются сейчас.Часто используют два понимания термина “архитектура” – в ”узком” и“широком” аспекте.С термином “архитектура” в “узком” аспекте связываются все те сущностивычислительной системы, которые определяют особенности программирования длянее, в первую очередь, система команд, выполняемых процессорами.С термином “архитектура” в “широком” аспекте связывается разделениевычислительной системы на уровни с определением интерфейсов между ними(например, уровни организации аппаратуры, функций системного программногообеспечения – операционных систем и систем программирования, прикладногопрограммного обеспечения).В 1966 г.

М.Флинном (M.Flynn) был предложен подход к классификациивычислительных систем, основанный на понятии последовательностей (потоков)команд и данных.В классификации Флинна описываются четыре архитектурных класса:OKOD (SISD) - одиночный поток команд и одиночный поток данных;OKMD (SIMD) - одиночный поток команд и множественные потоки данных;MKOD (MISD) - множественные потоки команд и одиночный поток данных;MKMD (MIMD) – множественные потоки команд и множественные потокиданных.OKOD. К этому классу относятся компьютерные системы, которые имеютодин процессор, способный обрабатывать один поток последовательно исполняемыхинструкций.OKMD.

В этих системах одна и та же инструкция параллельно выполняетсянад разными данными.Подклассом OKMD – систем являются векторные компьютеры. Командывекторных компьютеров оперируют массивами данных подобно тому, как команды“скалярных” машин оперируют отдельными элементами таких массивов.MKOD. Теоретически в этом классе машин множество потоков инструкцийдолжно выполняться над единственным потоком данных. Реальных машин этогокласса создано не было.2MKMD. Эти машины параллельно выполняют несколько потоков инструкцийнад различными потоками данных. Этими потоками инструкций могут бытьпрограммы ветвей (параллельных процессов) одной задачи или программы разныхзадач.Подробная организация параллелизма в вычислительных системах классовOKOD, OKMD и MKMD будет являться предметом рассмотрения в представляемомкурсе.2 Внутрипроцессорный параллелизмВ процессе совершенствования процессоров вычислительных машин былопройдено много этапов развития внутрипроцессорного параллелизма:организация параллельной работы основных устройств – арифметикологического устройства (АЛУ), устройства управления (УУ), оперативной памяти(ОП) за счет введения устройств промежуточного хранения обрабатываемойинформации – возникновение конвейера исполнения команд;разделение АЛУ на функциональные устройства (ФУ) выполненияотдельных операций (например, сложения, умножения, деления) и организацияпараллельной работы ФУ;организация конвейерного выполнения операций в ФУ;организация совмещенного выполнения нескольких потоков команд вобрабатывающем узле процессора за счет чередования выборки команд длявыполнения из разных потоков для эффективной загрузки ФУ;организация параллельного выполнения нескольких потоков команд вобрабатывающем узле процессора за счет использования в нем несколькихкомплектов оборудования (“многоядерность”)3 Параллелизм работы основных устройствЭВМ.В самых первых ЭВМ основные устройства – ОП, УУ, АЛУ работалипоследовательно.Вначале осуществлялся выбор текущей команды программы из оперативнойпамяти.

Устройства УУ и АЛУ простаивали.Затем выполнялась дешифрация в УУ выбранной команды и определялисьадреса нахождения в ОП операндов, необходимых для ее выполнения в АЛУ (илиадрес в ОП команды, на которую следует передать управление). ОП и АЛУпростаивали.На следующем этапе снова работала ОП – выполнялся выбор операндов илипервой указанной команды из новой последовательности команд. УУ и АЛУпростаивали.Затем с использованием выбранных операндов команда выполнялась в АЛУ(если она не являлась командой передачи управления). ОП и УУ простаивали.Последним этапом было осуществление записи в ОП результата выполненнойв АЛУ команды (если запись предусматривалась в команде).

УУ и АЛУ простаивали.После осуществления указанных этапов выполнения команды начиналсяаналогичный цикл действий для выполнения следующей команды. Простои в работеосновных устройств ЭВМ были весьма значительными.23Введение двух новых структурных решений позволило ликвидироватьпростои в работе основных устройств ЭВМ и обеспечить их параллельную работу.Этими решениями были:организация параллельной работы нескольких блоков оперативнойпамяти (“расслоение” памяти);организация буферного хранения информации, передаваемоймежду основными устройствами ЭВМ.Одновременно существенному уменьшению количества команд в программеи обращений к оперативной памяти послужило:введение в устройстве управления индексных регистров,используемых для автоматической модификации адресов операндов(например, для работы с массивами данных в программных циклах);организация автоматического повторного выбора из буферныхустройств промежуточного хранения информации (без обращения коперативной памяти) часто используемых команд и данных – организация“кэш-памяти”.Уменьшению числа обращений к оперативной памяти способствовало такжевведение для часто используемых данных регистров, непосредственно указываемыхв командах (регистров “общего назначения”).Реализация параллелизма работы основных устройств ЭВМ удачноосуществлена в отечественной универсальной ЭВМ БЭСМ-6 (1967г.), созданной вИнституте точной механики и вычислительной техники (ИТМ и ВТ) подруководством академика Сергея Алексеевича Лебедева.Образовавшийся в БЭСМ-6 “конвейер команд” - параллельное выполнениекоманд на разных стадиях их исполнения (от выборки из ОП до выполнения в АЛУ изаписи результата выполнения в ОП) позволил в 4 раза увеличить быстродействиемашины по сравнению с использованием последовательной работы ее основныхустройств при той же элементной базе и конструкции ЭВМ.Использование в командах “прямо адресуемых” регистров было реализованов ряде ЭВМ IBM-360 и затем в производимых в СССР и странах Советаэкономической взаимопомощи (СЭВ) ЭВМ “единой серии” (ЕС ЭВМ).4Множественностьустройств процессорафункциональныхРазделение универсального арифметико-логического устройства (АЛУ),выполнявшего широкий набор операций, на набор устройств выполнения отдельныхопераций или групп “родственных” операций (сложения-вычитания, умножения,деления, сдвига, операций алгебры логики и т.п.) – «функциональных» устройствпозволило организовать их параллельную работу.

Получившееся при этом заметноеувеличение объема оборудования должно было компенсироваться существеннойэффективностью такого параллелизма. Для этого в идеале нужно было обеспечитьпараллельную подачу команд для выполнения на этих устройствах и готовностьоперандов, необходимых для выполнения команд.Задержки при последовательной подаче из УУ на ФУ независимых пооперандам “векторных” команд работы с массивами данных (“векторами”) прибольшой длине массивов не сильно сказываются на возможности параллельноговыполнения этих команд (при этом, конечно, должны быть готовы операнды).В случае последовательности “скалярных” команд эффективностьпараллелизма работы ФУ может быть достигнута только за счет одновременнойзагрузки ФУ этими командами.

Свежие статьи
Популярно сейчас