ПОД (пособие) (1184372), страница 25
Текст из файла (страница 25)
Каждый ПЭ в матрице соединен с четырьмясоседними и включает в себя процессор, обеспечивающий выполнение последовательныхпоразрядных арифметических и логических операций, а также оперативное ЗУ емкостью 16кбит, разбитое на модули по 4 кбит каждый.
Длина слова переменная - от 1 до 128 разрядов.Разрядность слов устанавливается программно. По каналам связи от УУ передаютсякоманды и общие константы. В ПЭ используется так называемая многомодальная логика,которая позволяет каждому ПЭ выполнять (т.е. быть активным) или не выполнять (бытьпассивным) общую операцию в зависимости от значений обрабатываемых данных.В каждый момент все активные ПЭ выполняют одну и ту же операцию над данными,хранящимися в собственной памяти и имеющими один и тот же адрес. Идеямногомодальности заключается в том, что в каждом ПЭ имеется специальный регистр начетыре состояния - регистр моды.Мода (или модальность) заносится в этот регистр от УУ.
При выполнениипоследовательности команд модальность передается в коде операции и сравнивается ссодержимым регистра моды. Если есть совпадение, то операции выполняется. В другихслучаях ПЭ не выполняет операцию, но может в зависимости от кода пересылать своиоперанды соседнему ПЭ.
Такой механизм позволяет, в частности, выделить строку илистолбец ПЭ, что может быть полезным при операциях над матрицами. ВзаимодействуютПЭ с периферийным оборудованием через внешние ПЭ.Система SOLOMON оказалась нежизнеспособной вследствие громоздкости, недостаточнойгибкости и эффективности. Однако идеи, заложенные в ней, получили развитие в системе75ILLIAC-IV, разработанной Иллинойским университетом и изготовленной фирмой"Барроуз".В каждом квадранте 64 ПЭ образуют матрицу размером 8Х8.
Схема связей между ПЭпохожа на схему системы SOLOMON, но связь с внешней средой имеют все ПЭ безисключения. Реально действующая система ILLIAC-IV состоит, таким образом, из двухчастей; центральной с устройством управления и 64 ПЭ, а также подсистемы ввода вывода, включающей в себя универсальную ЭВМ В-6700, файловые диски и лазернуюархивную память большой емкости.
Каждый ПЭ состоит из собственно процессора и ОЗУ.Процессор оперирует с 64-разрядными числами и выполняет универсальный наборопераций. Быстродействие процессора достаточно высокое: операция сложения 64разрядных чисел выполняется за 240 нс, а умножения - за 400 нс. Таким образом, процессорвыполняет в среднем 3 млн.
операций в секунду, а следовательно производительностьсистемы равна ЗХ64 200 млн. операций в секунду.Емкость ОЗУ каждого ПЭ составляет 2048 64-разридных слов, длительность циклаобращения к памяти 350 нс. Память выполнена на интегральных схемах. Каждый процессоримеет счетчик адресов и индексный регистр, так что конечный адрес в каждом процессореможет формироваться как сумма трех составляющих: адреса, содержащегося в команде дляданного ПЭ, кода. Это существенно повышает гибкость системы по сравнению с системойSOLOMON, где все ПЭ выбирают информацию по одному адресу.
Каждый процессоркроме индексного регистра имеет в своем составе пять программно-адресуемых регистров:накапливающийся сумматор, регистр для операндов, регистр пересылок, используемый припередачах от одного ПЭ к другому, буферный регистр на одно слово и регистр управлениясостоянием ПЭ (аналогичный регистру моды в системе SOLOMON). Регистр управленияимеет 8 разрядов. В зависимости от содержимого этого регистра ПЭ становится активнымили пассивным, а также выполняет ряд пересылочных операций.
Если вычисления нетребуют полной разрядности, то процессор может быть разбит на два 32-разрядныхподпроцессора или даже восемь 8-раэрядных. Это позволяет в случае необходимостиобрабатывать векторные операнды из 64, 2Х64=128 и 8Х64=512 элементов.Система ILLIAC была включена в состав вычислительной сети АКРА. В результатеусовершенствования программного обеспечения производительность системы выросла до300 млн. операций в секунду.Классификации вычислителей по Флинну.По-видимому, самой ранней и наиболее известной является классификация архитектурвычислительных систем, предложенная в 1966 году М.Флинном [1,2]. Классификациябазируется на понятии потока, под которым понимается последовательность элементов,команд или данных, обрабатываемая процессором. На основе числа потоков команд ипотоков данных Флинн выделяет четыре класса архитектур: SISD,MISD,SIMD,MIMD.SISD (single instruction stream / single data stream) - одиночный поток команд и одиночныйпоток данных.
К этому классу относятся, прежде всего, классические последовательныемашины, или иначе, машины фон-неймановского типа, например, PDP-11 или VAX 11/780.В таких машинах есть только один поток команд, все команды обрабатываютсяпоследовательно друг за другом и каждая команда инициирует одну операцию с однимпотоком данных. Не имеет значения тот факт, что для увеличения скорости обработкикоманд и скорости выполнения арифметических операций может применяться конвейернаяобработка - как машина CDC 6600 со скалярными функциональными устройствами, так иCDC 7600 с конвейерными попадают в этот класс.76SIMD (single instruction stream / multiple data stream) - одиночный поток команд имножественный поток данных.
В архитектурах подобного рода сохраняется один потоккоманд, включающий, в отличие от предыдущего класса, векторные команды. Этопозволяет выполнять одну арифметическую операцию сразу над многими данными элементами вектора. Способ выполнения векторных операций не оговаривается, поэтомуобработка элементов вектора может производится либо процессорной матрицей, как вILLIAC IV, либо с помощью конвейера, как, например, в машине CRAY-1.Машины типа SIMD.Машины типа SIMD состоят из большого числа идентичных процессорных элементов,имеющих собственную память. Все процессорные элементы в такой машине выполняютодну и ту же программу.
Очевидно, что такая машина, составленная из большого числапроцессоров, может обеспечить очень высокую производительность только на тех задачах,при решении которых все процессоры могут делать одну и ту же работу. Модельвычислений для машины SIMD очень похожа на модель вычислений для векторногопроцессора: одиночная операция выполняется над большим блоком данных.В отличие от ограниченного конвейерного функционирования векторного процессора,матричный процессор (синоним для большинства SIMD-машин) может быть значительноболее гибким. Обрабатывающие элементы таких процессоров - это универсальныепрограммируемые ЭВМ, так что задача, решаемая параллельно, может быть достаточносложной и содержать ветвления. Обычное проявление этой вычислительной модели висходной программе примерно такое же, как и в случае векторных операций: циклы наэлементах массива, в которых значения, вырабатываемые на одной итерации цикла, неиспользуются на другой итерации цикла.Модели вычислений на векторных и матричных ЭВМ настолько схожи, что эти ЭВМ частообсуждаются как эквивалентные.MISD (multiple instruction stream / single data stream) - множественный поток команд иодиночный поток данных.
Определение подразумевает наличие в архитектуре многихпроцессоров, обрабатывающих один и тот же поток данных. Однако ни Флинн, ни другиеспециалисты в области архитектуры компьютеров до сих пор не смогли представитьубедительный пример реально существующей вычислительной системы, построенной наданном принципе. Ряд исследователей [3,4,5] относят конвейерные машины к данномуклассу, однако это не нашло окончательного признания в научном сообществе. Будемсчитать, что пока данный класс пуст.MIMD (multiple instruction stream / multiple data stream) - множественный поток команд имножественный поток данных. Этот класс предполагает, что в вычислительной системеесть несколько устройств обработки команд, объединенных в единый комплекс иработающих каждое со своим потоком команд и данных.Машины типа MIMD.Термин "мультипроцессор" покрывает большинство машин типа MIMD и (подобно тому,как термин "матричный процессор" применяется к машинам типа SIMD) часто используетсяв качестве синонима для машин типа MIMD.
В мультипроцессорной системе каждыйпроцессорный элемент (ПЭ) выполняет свою программу достаточно независимо от другихпроцессорных элементов. Процессорные элементы, конечно, должны как-то связыватьсядруг с другом, что делает необходимым более подробную классификацию машин типаMIMD. В мультипроцессорах с общей памятью (сильносвязанных мультипроцессорах)имеется память данных и команд, доступная всем ПЭ. С общей памятью ПЭ связываются с77помощью общей шины или сети обмена. В противоположность этому варианту вслабосвязанных многопроцессорных системах (машинах с локальной памятью) вся памятьделится между процессорными элементами и каждый блок памяти доступен толькосвязанному с ним процессору.
Сеть обмена связывает процессорные элементы друг сдругом.Базовой моделью вычислений на MIMD-мультипроцессоре является совокупностьнезависимых процессов, эпизодически обращающихся к разделяемым данным. Существуетбольшое количество вариантов этой модели. На одном конце спектра - модельраспределенных вычислений, в которой программа делится на довольно большое числопараллельных задач, состоящих из множества подпрограмм.
На другом конце спектра модель потоковых вычислений, в которых каждая операция в программе можетрассматриваться как отдельный процесс. Такая операция ждет своих входных данных(операндов), которые должны быть переданы ей другими процессами. По их полученииоперация выполняется, и полученное значение передается тем процессам, которые в немнуждаются. В потоковых моделях вычислений с большим и средним уровнемгранулярности, процессы содержат большое число операций и выполняются в потоковойманере.Итак, что же собой представляет каждый класс? В SISD, как уже говорилось, входятоднопроцессорные последовательные компьютеры типа VAX 11/780.