СКИПОДы 2007 полная версия (1127795), страница 24
Текст из файла (страница 24)
Таким образом, процессорвыполняет в среднем 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. Однако, многимикритиками подмечено, что в этот класс можно включить и векторно-конвейерные машины,если рассматривать вектор как одно неделимое данное для соответствующей команды. Втаком случае в этот класс попадут и такие системы, как CRAY-1, CYBER 205, машинысемейства FACOM VP и многие другие.Бесспорными представителями класса SIMD считаются матрицы процессоров: ILLIAC IV,ICL DAP, Goodyear Aerospace MPP, Connection Machine 1 и т.п.
В таких системах единоеуправляющее устройство контролирует множество процессорных элементов. Каждыйпроцессорный элемент получает от устройства управления в каждый фиксированныймомент времени одинаковую команду и выполняет ее над своими локальными данными.Для классических процессорных матриц никаких вопросов не возникает, однако в этот жекласс можно включить и векторно-конвейерные машины, например, CRAY-1.
В этомслучае каждый элемент вектора надо рассматривать как отдельный элемент потока данных.Класс MIMD чрезвычайно широк, поскольку включает в себя всевозможныемультипроцессорные системы: Cm*, C.mmp, CRAY Y-MP, Denelcor HEP,BBN Butterfly,Intel Paragon, CRAY T3D и многие другие. Интересно то, что если конвейерную обработкурассматривать как выполнение множества команд (операций ступеней конвейера) не надодиночным векторным потоком данных, а над множественным скалярным потоком, то всерассмотренные выше векторно-конвейерные компьютеры можно расположить и в данномклассе.Предложенная схема классификации вплоть до настоящего времени является самойприменяемой при начальной характеристике того или иного компьютера. Если говорится,что компьютер принадлежит классу SIMD или MIMD, то сразу становится понятнымбазовый принцип его работы, и в некоторых случаях этого бывает достаточно.
Однаковидны и явные недостатки. В частности, некоторые заслуживающие внимания архитектуры,например dataflow и векторно--конвейерные машины, четко не вписываются в даннуюклассификацию. Другой недостаток - это чрезмерная заполненность класса MIMD.Необходимо средство, более избирательно систематизирующее архитектуры, которые поФлинну попадают в один класс, но совершенно различны по числу процессоров, природе и78топологии связи между ними, по способу организации памяти и, конечно же, по технологиипрограммирования.Наличие пустого класса (MISD) не стоит считать недостатком схемы. Такие классы, помнению некоторых исследователей в области классификации архитектур [6,7], могут статьчрезвычайно полезными для разработки принципиально новых концепций в теории ипрактике построения вычислительных систем.Масштабируемость мультипроцессорных вычислителей.Масштабируемость представляет собой возможность наращивания числа и мощностипроцессоров, объемов оперативной и внешней памяти и других ресурсов вычислительнойсистемы.