Классификация архитектур ЭВМ по Флинну
Одиночный поток команд (Single Instruction) Множество потоков команд (Multiple Instruction) Одиночный поток данных (Single Data) SISDMISD Множество потоков данных (Multiple Data) SIMDMIMD
Однопроцессорные архитектуры ЭВМ
SISD (Single Instruction Single Data) Архитектура компьютера, в которой один процессор выполняет один поток команд, оперируя одним потоком данных Относится к фон-Неймановской архитектуре
К этому классу относятся все однопроцессорные системы, в которых в каждый момент времени выполняется лишь одна операция над одним элементом данных. Большинство современных персональных ЭВМ попадает именно в эту категорию
RISC По мере развития вычислительной техники архитектура фон-Нэймана обогатилась сначала конвейером фаз операций, а затем многофункциональной обработкой. Конвейерная обработка используется в компьютерах Intel 80486, Pentium и выше. До класса RISC все компьютеры ориентировались на выполнении команд обработки данных, сохраняемых в памяти (операции «память-память»). Операция «регистр-регистр», не требующие непосредственного обмена с памятью выполняли только вспомогательную роль из-за ограниченного количества оперативных регистров. При малой степени интеграции элементной базы организовать в процессоре регистровую память большого объема было практически невозможно.
СISC Архитектура обработки с использованием оперций «память- память» и «регистр-регистр», а так же операции «регистр-память». Она обладает недостатком – обмен с памятью в процессоре выполнения команды делает практически невозможной глубокую конвейеризацию арифметики, т.е. ограничивается тактовая частота процессора. Дело в том, что чем меньше фаза дробление конвейерной обработки, тем выше частота работа процессора
SIMD (Single Instruction Multiple Data) Архитектура компьютера, c одним потоком команд, при множественном потоке данных.
Чистых представителей класса SIMD совсем немного. Класс ориентирован на выполнение программ, для которых характерна обработка больших регулярных массивов чисел. Здесь одиночный поток инструкций обрабатывает множественный поток данных. Наиболее популярная идея класса SIMD – векторное процессирование. Векторный процессор поддерживает обработку не только скалярных, но и векторный операндов. Векторную обработку внедряют в процессоры классов SISD и MIMD.
Суперскалярная обработка, суперкоманды Смысл суперскалярной обработки прост – в аппаратуру процессора закладываются средства позволяющие одновременно выполнять две или более скалярных операций, т.е. команды обработки пары чисел. Способов реализации суперскалярной обработки два: 1. Чаще всего применяется в RISC процессорах и заключается в чисто аппаратном механизме выработки из буфера инструкций несвязанных команд и параллельном запуске их на исполнение. Обычно процессор выполняет 2 несвязанных команды одновременно. 2. Заключается в координальной перестройке всего процесса трансляции и исполнения программ. На этапе подготовки программы компилятор группирует не связанные операции в пакеты, содержимое которых строго соответствует структуре процессора ( этот метод хорош). Сформированные пакеты операций перерабатываются компилятором в командные слова очень большой длины. Эти слова называются очень широкое машинное слово, а архитектура их реализующая VLIW ( Very Large Instruction Word )
Векторные суперЭВМ с матричной структурой Основывается на использовании матричного процессора. Матричный процессор – массив процессоров с единым потоком команд. Большой массив делится на части, подлежащие идентичной обработке. Каждый процессор массива обрабатывает соответствующую часть данных, выполняя единый поток инструкций.
Векторно-конвейерная архитектура ЭВМ Проблемы, возникшие при реализации матричной структуры ЭВМ, были успешно обойдены при реализации суперЭВМ и основывались на векторно- конвейерной обработке данных. Отличие векторно-конвейерной архитектуры от архитектуры матричных ЭВМ заключается в том, что вместо множества процессорных элементов исполняющих одну и туже команду над разными элементами одного и того же вектора применяется единственный конвейер операций, имеющий всего один вход, на который поступают операторы и один выход – результата, тогда как в матричных системах существуют множество входов по данным в процессорные элементы и множество выходов из них. Другими словами в суперкомпьютерах с конвейерной обработкой данных всегда параллельные исполняемые операций выбираются и записываются в единую память, и отпадает необходимость в коммутаторе процессорных элементов, служившим камнем преткновения в матричных суперЭВМ.
Многопроцессорные архитектуры ЭВМ
MISD (Multiple Instruction Single Data) Архитектура компьютера, c множеством потоков команд, при одном потоке данных.
MISD архитектура Класс MISD долгое время пустовал, поскольку не существовало практических примеров реализации систем, в которых одни и те же данные обрабатываются большим числом параллельных процессов, но со временем для MISD нашлась адекватная организация вычислительной системы- с общими данными. Это обычная локальная сеть персональных компьютеров работающая с единой базой данных, когда много процессоров обрабатывают один поток данных.
MIMD (Multiple Instruction Multiple Data) Архитектура компьютера, c множеством потоков команд, при множестве потоков данных.
MIMD архитектура MIMD системы различаются по способу взаимодействия процессоров. Системы с ''сильной'' связью (иногда их называют системными мультипроцессорами) основаны на объединении процессоров, на общем поле оперативной памяти. Системы со слабой связью, как правило, представляются многомашинными комплексами, в которых отдельные компьютеры объединяются либо с помощью сетевых средств, либо с помощью общей внешней памятью (обычно дисковые накопители с большой емкостью). Разница организации MIMD систем с сильной и слабой связью проявляется при обработки приложений, отличающихся на интенсивностью обменов между процессорами.
Системы массового параллелизма Теоретически, наиболее удачным архитектурным решением являются системы с массовым параллелизмом ( MPP-Mass Parallel Processing ), системы, состоящие из десятков, сотен, а иногда и тысячи процессорных узлов. Узлы массово-параллельной системы объединяются коммуникационными сетями самой различной формы. В отличие от архитектуры фон Неймана передача данных между узлами коммуникационной сети происходит по готовности данных процессора, а не под управлением некоторой программы. При поверхностном знакомстве с массово параллельными системами возникает ощущение, что эта архитектура вершина компьютерных технологий. Однако программирование коммуникаций является слабо автоматизированной и очень сложной процедурой.
Сильно связанные многопроцессорные системы С ними дело обстоит проще: во-первых, число параллельных процессов в таких системах не велико (не более 6) и управляет ими централизованная операционная система; во-вторых, процессы обмениваются не с помощью узкой коммутационной сети, как в системах с массовым параллелизмом, а через общую ОП с широким и быстрым интерфейсом. Хотя есть тонкости. Есть такой термин bottle neck – бутылочное горлышко, которое определяет влияние пропускной способности ОП на производительность системы. Так сложнейшее средство снижения межпроцессорных конфликтов в ОП суперкомпьютера GRAY (X-MP)/(Y-MP) позволяет получить коэффициент ускорения не более 3,5 для 4 процессорной конструкции системы 1/8.
SMP архитектура (Shared Memory Processing) Для «дешевой» поддержки многопроцессорной организации была предложена архитектура SMP, предполагающая объединение процессов по общей шине ОП. За аппаратурную простоту реализации средств SMP приходится расплачиваться процессом времени ожидания очереди к шине ОП. Архитектура SMP стала в своем роде стандартом дефекта для всех микропроцессорных серверов.
Выбор архитектуры Основное правило выбора архитектуры вычислительной системы. Из всех лучшим является тот, который обеспечивает наиболее простой архитектурой. В большинстве случаев наилучшим решением является простейшая SISD архитектура и только ее возможностей явно не хватает, следует рассматривать более сложную организацию системы.