Состояние и перспективы развития вычислительных систем и проектных технологий их создания
2.2. Классификация и основные характеристики современных ЭВМ
Вычислительная техника - одна из наиболее быстро и динамично развивающихся областей науки и техники. Ее динамика, с одной стороны, связана с широким проникновением вычислительной техники во все сферы человеческой деятельности, с другой стороны - с бурным ростом технических характеристик вычислительных машин и систем. С начала шестидесятых годов прошлого века период удвоения основных характеристик компьютеров не превышает двух лет. Такой стремительный рост приводит к неоднозначности используемой терминологии, к субъективной оценке сфер применения конкретных ЭВМ.
Современная вычислительная машина представляет собой сложную аппаратно-программную систему, состоящую из большого числа взаимосвязанных элементов. Каждый из этих элементов имеет свои характеристики, совокупность которых определяет технико-эксплуатационные характеристики всей вычислительной машины.
К технико-эксплуатационным характеристикам ЭВМ, определяющим их функциональные возможности, относят:
- быстродействие;
- разрядность;
- формы представления чисел;
- номенклатура и характеристики запоминающих устройств;
- номенклатура и характеристики устройств ввода-вывода информации;
- типы и характеристики внутренних и внешних интерфейсов;
- наличие многопользовательских режимов и поддержка многопро-граммности;
- типы и характеристики, используемых ОС;
- система команд и их структура;
- функциональные возможности программного обеспечения и его наличие;
- программная совместимость с другими типами ЭВМ;
- срок эксплуатации;
- условия эксплуатации;
- характеристики надежности;
- состав и объем профилактических работ;
- стоимостные характеристики;
- совокупная стоимость владения.
Несмотря на сравнительно короткую историю современной вычислительной техники, до настоящего времени было предложено достаточно много подходов к систематизации всего многообразия средств вычислительной техники [40]. Работы в этом направлении продолжаются.
Любая классификация относительна и отражает только ограниченное многообразие свойств классифицируемых объектов или процессов. Но, как показал опыт, нахождение удачной классификации может предопределить успех развития целых научных и технических направлений. Характерный пример - периодическая таблица элементов Менделеева.
При разработке любой классификации важно понимать, для кого она создается и на решение каких задач направлена.
Используемый классификационный признак должен быть измеряемым и позволять относить классифицируемого объекта к единственному классу.
На практике эти требования часто удовлетворяются с допущениями. Примером служат большинство применяемых классификаций ЭВМ и вычислительных систем.
Для классификации компьютеров использовались следующие классификационные признаки:
- принцип действия;
- используемая элементная база;
- назначение;
- размеры и вычислительная мощность;
- особенности архитектуры.
- По принципу действия вычислительные машины делятся на цифровые, аналоговые и гибридные.
В основу классификации по этому признаку положена форма представления информации, с которой работают вычислительные машины.
- Классификация ЭВМ по этапам создания. ЭВМ условно делятся на поколения с учетом используемой элементной базы.
- Классификация ЭВМ по назначению.
По этому признаку вычислительные машины можно разделить на три группы: специализированные, универсальные и проблемно-ориентированные.
Универсальные ЭВМ позволяют решать задачи различных классов: математических, инженерно-технических, экономических, информационных и др.
Проблемно-ориентированные ЭВМ предназначены для решения круга задач более узкого: управление технологическими процессами; выполнение расчетов по сравнительно несложным алгоритмам; регистрация, накопление и обработка не очень больших объемов небольших данных. Они имеют более скромные по сравнению с универсальными ЭВМ программные и аппаратные ресурсы. Примером проблемно-ориентированным вычислительных систем могут служить и различные управляющие вычислительные комплексы. Специализированные вычислительные машины предназначены для решения узкого круга задач.
Характеристики и архитектура машин этого класса определяются спецификой тех задач, для решения которых они используются. Это обеспечивает их более высокую эффективность в соответствующем применении по сравнению с универсальными ЭВМ. К специализированным ЭВМ относятся контроллеры, управляющие несложными техническими устройствами и процессами и микропроцессоры специального назначения.
- Классификация ЭВМ по размерам и вычислительной мощности.
В соответствии с этой классификации вычислительные машины делятся на суперЭВМ, большие, малые, сверхмалые. Эта классификация потеряла свою актуальность. Можно говорить только о существовании класса суперЭВМ (суперкомпьютеров).
- Классификация с учетом особенностей архитектуры
В качестве классификационных признаков используются: характеристики системы команд компьютера (количество команд, структура адресной части команд), разрядность машинных слов, организация обработки данных и команд процессором.
Классификация Флинна
Классификация М. Флинна [38, 303] является одной из самых ранних и наиболее известных классификацией архитектур вычислительных систем. В основу классификации положено понятие потока. Поток - это последовательность, под которой понимается последовательность данных или команд, обрабатываемых процессором. Рассматривая число потоков данных и потоков команд, М. Флинн предложил рассматривать следующие классы архитектур: MIMD, SIMD, SISD, MISD.
Single Instruction Single Data [stream] - "один поток команд, один поток данных", архитектура SISD (ОКОД). Описание архитектуры компьютерной системы, подразумевающее исполнение одним процессором одного потока команд, который обрабатывает данные, хранящиеся в одной памяти (рис. 2.1а.).
Multiple Data stream processing - "один поток команд, много потоков данных", архитектура SIMD (ОКМД). Описание архитектуры параллельной компьютерной системы, подразумевающее исполнение одной текущей команды несколькими процессорами. Эта команда выбирается из памяти центральным контроллером SIMD-системы, но работает она над разными элементами данных (чаще всего - элементами массива). Для этого каждый процессор имеет ассоциированную с ним память, где хранятся массивы однородных данных. В эту категорию попадают, в частности, векторные процессоры. (рис. 2.1б.).
Multiple Instruction Single Data [stream] - "много потоков команд, один поток данных", архитектура MISD (МКОД). Одна из четырёх возможных архитектур параллельного компьютера в классификации М. Флинна. В этой архитектуре данные подаются на набор процессоров, каждый из которых исполняет свою программу их обработки. Подобная архитектура ещё никогда не была реализована (рис. 2.1в.).
Multiple Instructions - Multiple Data [stream] - "много потоков команд, много потоков данных", архитектура MIMD (МКМД). Одна из четырёх возможных архитектур параллельного компьютера. В этой архитектуре набор процессоров независимо выполняет различные наборы команд, обрабатывающих различные наборы данных. Системы в архитектуре MIMD делятся на системы с распределённой памятью (слабо связанные системы), к которым относятся кластеры, и системы с совместно используемой памятью (shared-memory multiprocessors). К последним относятся симметричные мультипроцессорные системы.
В класс SISD входят однопроцессорные последовательные компьютеры. Векторно-конвейерные компьютеры также могут быть отнесены к этому классу, если рассматривать вектор как одно неделимое данное для машинной команды. Это отмечают критики этой классификации.
К классу SIMD относятся классические процессорные матрицы. В них множество процессорных элементов контролируется общим управляющим устройством. Все процессорные элементы одновременно получают от устройства одинаковые команды и обрабатывают свои локальные данные. Если рассматривать каждый элемент вектора как отдельный элемент потока данных, то к этому классу можно отнести и векторно-конвейерные компьютеры.
Класс MIMD включает в себя все многообразие многопроцессорных систем. Если рассматривать конвейерную обработку как выполнение множества команд не над одиночным векторным потоком данных, а над
множественным скалярным потоком, то в этот класс могут быть включены векторно-конвейерные компьютеры.
Классификация Флинна широко используется и сегодня для начального описания вычислительных систем.
У этой классификации есть очевидные недостатки:
- в нее четко не вписываются отдельные нашедшие применение архитектуры. Например, векторно-конвейерные компьютеры и компьютеры, управляемые потоками данных;
- класс MIMD очень перегружен: в него вошли все многопроцессорные системы. При этом они существенно отличаются по ряду признаков (числом процессоров, природе и топологией и видами связей между ними, способами организации памяти и технологиями программирования).
Несколько классификаций, предложенных позже, расширяют классификацию М. Флинна. Примером такой классификации может служить классификация Ванга и Бригса.
Классификация Ванга и Бриггса
Эта классификация по сути, является дополнением к классификации Флинна. В ней сохранены четыре базовых класса (SISD, SIMD, MISD, MIMD), К. Ванг и Ф. Бриггс [42, 303] внесли следующие изменения.
В классе MIMD выделяются:
- вычислительные системы со слабо связанными процессорами,
- вычислительные системы с сильной связанными процессорами.
К первой группе относятся системы с распределенной памятью, ко второй - системы с общей памятью.
Класс SISD делится на два подкласса:
- архитектуры, имеющие одно функциональное устройство;
- архитектуры, в состав которых входит несколько функциональных устройств.
Класс SIMD с учетом способа обработки данных делится на два подкласса:
- архитектуры с разрядно-последовательной обработкой данных;
- архитектуры с пословно-последовательной обработкой данных.
Классификация Фенга
Т. Фенг предложил в основу классификации вычислительных систем положить две простые характеристики [42, 303]:
- число бит в машинном слове, которые обрабатываются параллель но при выполнении машинных команд;
- числу слов , одновременно обрабатываемых вычислительной системой. Используя эту терминологию работу любого компьютера можно интерпретировать как параллельную обработку n битовых слоев. В каждом слое независимо преобразуются бит. При такой интерпретации, вторую характеристику называют шириной битового слоя.
Иcпользуя предельные верхние значения числа бит n и числа слов m, вычислительную систему можно охарактеризовать двумя числами ( ). Величина определяет интегральную характеристику потенциала параллельности P архитектуры. Эта характеристика называется максимальной степенью параллелизма вычислительной системы: . По сути, это значение характеризует пиковую производительность. Рассматривая в качестве классификационного признака вычислительных систем способ обработки информации, заложенный в их архитектуру, введенные понятия позволяют разделить все вычислительные системы на следующие классы.
- Разрядно-последовательные, пословно-последовательные ( ).
- Разрядно-параллельные, пословно-последовательные ( ). К этому классу можно отнести большинство классических последовательных компьютеров.
- Разрядно-последовательные, пословно-параллельные ( ).
- Разрядно-параллельные, пословно-параллельные ( ). К этому классу относится большинство современных параллельных вычислительных систем.
Эта классификация имеет ограничения. Они связаны со способом вычисления ширины битового слоя .
В соответствии с этой классификацией отсутствуют различия между многопроцессорными системами, векторно-конвейерными компьютерами и процессорными матрицами.
Данная классификация не позволяет понять специфику той или иной высокопроизводительной вычислительной системы.
Достоинством классификации Фенга является введение единой числовой характеристики для всех типов вычислительных систем, которая позволяет сравнивать их между собой.
Из интересных видов классификации можно отметить подход Базу, который строит классификацию по последовательности решений, принимаемых на этапе проектирования архитектуры. Согласно А. Базу (A. Basu), любую параллельную вычислительную систему можно однозначно описать последовательностью решений, принятых на этапе ее проектирования, а сам процесс проектирования представить в виде дерева [42].
В корне "дерева Базу" размещается вычислительная система, последующие ярусы дерева служат для описания иерархии принятия решений
при проектировании вычислительной системы. В итоге формируется описание проектируемой системы, представляемое значениями классификационных признаков в системе Базу.
Таким образом, на основе приведенных данных можно утверждать:
- Ни одна из существующих классификаций не является полной по системе классификационных признаков и, как правило, не дает однозначного ответа на вопрос: "К какому классу относится конкретная вычислительная система?".
- Классификация Флинна на настоящее время является базовой для остальных классификаций, которые ее детализируют, отражая другие, более узкие отличия в архитектуре.