Лекции 2010 года, страница 2

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

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

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

Текст 2 страницы из PDF

Это реализуется за счет выбора из ОП “длинного34командного слова”, содержащего набор команд, соответствующий имеющемуся впроцессоре набору ФУ. С определенными ограничениями этот подход реализуется всовременных «скалярных» процессорах.4 Конвейерное выполнение операцийОдновременно с организацией параллельной работы функциональныхустройств удалось достичь ускорения работы каждого функционального устройствав несколько раз за счет разделения выполнения операции в ФУ на автономные этапы(“ступени”) и организации последовательного выполнения этих этапов вконвейерном режиме (это, естественно, потребовало некоторого увеличенияоборудования ФУ).

Принимая время выполнения каждого этапа операции за такт(для многих процессоров это реально так) и принимая на первую ступень в каждыйтакт данные для выполнения очередной операции, после выполнения всех этаповпервой операции и получения ее результата результаты остальных операцийполучаются на выходе ФУ каждый такт.

Таким образом в ФУ осуществляетсяпараллелизм выполнения нескольких операций (по числу этапов выполненияоперации) на разных этапах (стадиях, “ступенях”) их выполнения.Эффективное использование конвейерных ФУ достигается при наличиикаждый такт операндов для выполнения операции.

Это возможно припредварительной (до выполнения операции) загрузке их (как правило, массивовданных – “векторов”) из ОП в группу специальных регистров и последующемприеме их из регистров на вход конвейерных ФУ без задержки. Возможен и приемкаждый такт операндов из ОП за счет необходимого для этого “расслоения” памяти.При разделении ФУ на K ступеней выполнение N операций на нем будетосуществлено за K+(N-1) тактов.Примером конвейерного выполнения операций в ФУ может служитьчетырехступенчатый конвейер выполнения операции умножения чисел,представленных в двоичной системе счисления с “плавающей запятой”. На первойступени конвейер выполняется сложение “порядков” операндов (степеней двойки –основания системы счисления), на второй ступени выполняется перемножениемантисс операндов.

На третьей ступени выполняется “нормализация” результата(приведение значения мантисс в установленный диапазон значений ссоответственным изменением порядка результата), на четвертой ступени –округление результата.В случае выполнения нескольких связанных “векторных” операций возможнаорганизация их конвейерного выполнения без запоминания на регистрах или в ОПпромежуточных результатов. Результаты выполнения операций будут поступать свыходов одних ФУ на входы ФУ, выполняющих операции, связанные спредшествующими. Фактически образуется длинный конвейер с числом ступеней,равным сумме количеств ступеней во всех связанных таким образом ФУ.

Такаяорганизация называется “зацеплением” ФУ. Соответственно дополнительномногократно увеличивается производительность процессора при выполнениипоследовательности связанных векторных операций (достигается так называемая“супервекторная” производительность). Например, при выполнении векторногооператора E =(A+B) x C/ D реализуемого последовательностью трех векторных45операций на ФУ, имеющих по 4 ступени, работающие за 1 такт, общее времявычисления оператора E будет равно12+(N-1), где N – число компонент векторов A,B,C,D и E То есть, для векторов,содержащих по 64 компонента, данное вычисление, требующее выполнения 192-хдвуместных операций, будет выполнено всего за 75 тактов.Удачным примером организации “векторно-конвейерной” ЭВМ являетсяЭВМ “Cray-1” (1976 г.), созданная компанией Cray Research руководством СеймураКрея (эту машину называют первым суперкомпьютером в мире).Представляет также интерес организация векторно-конвейерной ЭВМ безрегистров промежуточного хранения «векторных» данных (ЭВМ Cyber-205 фирмыCDC и созданная в ИТМ и ВТ под руководством Андрея Андреевича Соколоваотечественная ЭВМ МКП (“модульный конвейерный процессор”), объединяющаяархитектурные решения ЭВМ Cray-1 и Cyber-205 c организацией многопоточныхвычислений (последнее будет рассмотрено также в следующем разделе курса).Совмещение выполнения нескольких потоков команд.

Многоядерность.Особенности последовательности команд, реализующей некоторый алгоритмобработки данных, могут не позволить использовать параллельно весь наборфункциональных устройств процессора (даже после машинно-зависимойоптимизации программы, выполненной транслятором).Вероятность параллельного использование ФУ в такой ситуацииувеличивается при обеспечении в любой момент возможности взятия команд навыполнение из других последовательностей команд, предназначенных к выполнениюна этом же процессоре. Это могут быть, в первую очередь, программы различныхветвей (параллельных процессов) решения одной задачи (Hyper – Threading).Размещение в одном кристалле микропроцессора нескольких комплектовоборудования для выполнения операций (многоядерность) при сохранениииспользования общей оперативной памяти (возможно и кэш-памяти) позволяетестественно увеличить многопоточность обработки данных в процессоре. Забота оназначении потоков команд для выполнения на различных ядрах процессора, такжекак и об организации указанного выше режима Hyper-Threading, ложится наоперационную систему ЭВМ.Многопроцессорность.6 Параллельное выполнение операций вOKMD – системах.Для многих задач (аэрогидродинамики, физики твердого тела,геологоразведки, обработки телеметрии и др.) характерно выполнение одинаковыхвычислений над различными группами данных (например, вычисления в узлах“сеток” при решении дифференциальных уравнений).

Для реализации такихвычислений создавались вычислительные системы также “узловой” топологии – вузлах этих систем размещались указанные группы данных и оборудование для ихобработки (арифметико-логические устройства – АЛУ).Из одного потока команд текущая команда (через общее устройствоуправления - УУ) передавалась во все узлы системы для одновременноговыполнения над имеющимися там данными, то есть обеспечивалась работа OKMD –системы. Наличие в каждом узле системы лишь АЛУ и оперативной памяти (ОП) не56позволяет считать аппаратуру узла “полноправным ” процессором, хотя в рядеслучаев в литературе такое название используется.Широко известным историческим примером такой OKMD – системы являетсяразработанная в Иллинойском университете система ILLIAC – IV (1971 г.), в которой64 вычислительных узла, описанных выше, параллельно работали и объединялись втопологии “решетка” для передачи данных друг другу. Данные в память узловпередавались из универсальной ЭВМ “Burroughs”.

Из нее же передавалась в ILLIACIV программа вычислений.Следует отметить отечественную вычислительную систему этого класса ПС2000, использовавшуюся для решения задач геологоразведки и обработкителеметрии.MKMD – системы.Класс MKMD – систем состоит из двух подклассов:многопроцессорныхвычислительныхкомплексов(МВК)имногомашинных вычислительных комплексов (ММВК).7 Многопроцессорныекомплексы.подклассподклассвычислительныеРассмотренные выше OKMD – системы плохо приспособлены дляпараллельного выполнения различных потоков команд (разных программных ветвейодной задачи или программ разных задач). Такое выполнение стало осуществлятьсяна нескольких параллельно работающих “полноправных” процессорах (содержащихУУ, АЛУ), использующих общую для них память или имеющих доступ лишь ксобственной оперативной памяти.

В последнем случае взаимодействие программ,выполняющихся на процессорах, осуществлялось за счет передачи (с поддержкойоперационной системы) сообщений друг другу по коммуникациям, связывающимтакие вычислительные узлы.8 МВК с общедоступной памятьюПод организацией общедоступной оперативной памяти МВК понимаетсявозможность доступа за данными к любой ее ячейке при выполнении операций влюбом процессоре комплекса.Объединение процессоров на общей оперативной памяти с обеспечениемодинакового времени доступа от всех процессоров определяет подкласс SMP(Symmetric multiprocessor). Преимуществом такой организации является простотапрограммирования задач даже с учетом необходимости синхронизации и взаимногоисключения программ ветвей (параллельных процессов) этих задач.

Недостаткомтакого подхода является неэффективность подключения к общей памяти большогочисла процессоров из-за возрастающих задержек выполнения операций в них в связис увеличением, несмотря на значительное “расслоение” оперативной памяти, числаконфликтов при обращении к ней и, соответственно, времен ожидания данных приодновременном обращении к блокам памяти от многих процессоров. Объединение наобщей памяти даже нескольких десятков процессоров становилось нерациональным.Примером SMP – комплекса является отечественная вычислительная система“Эльбрус-2”, в котором через матричный коммутатор осуществляется эффективный67доступ к памяти десяти процессоров. Через этот же коммутатор осуществлялосьподключение к общей памяти специальных процессоров ввода-вывода, черезкоторые осуществлялось подключение внешних устройств.Другим вариантом использования общедоступной памяти для процессоровявляется ее распределение по многим вычислительным узлам, объединенных общеймагистралью передачи данных, через которую процессор в каждом вычислительномузле при выполнении операций может иметь доступ к ячейкам памяти другихвычислительных узлов.

При этом время обращения к памяти увеличивается судалением от процессора того вычислительного узла, к памяти которого происходитобращение. Такая организация вычислительной системы с общедоступной памятьюносит название NUMA (Non Uniform Memory Access). Если при выполнениипрограммы процессорами основное количество обращений за данными будетвыполняться к памяти “своего” узла или близко расположенных узлов, тоиспользование NUMA-системы будет эффективным при значительном числевычислительных узлов.

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