Наиболее распространенные архитектурные решения.
1. Классическая архитектура (архитектура фон Неймана) – одно арифметико-логическое устройство (АЛУ), через которое проходит поток данных, и одно устройство управления (УУ), через которое проходит поток команд – программа. Это однопроцессорный компьютер
2. Многопроцессорная архитектура. Наличие в компьютере нескольких процессоров означает, что параллельно может быть организовано много потоков данных и много потоков команд. Таким образом, параллельно могут выполняться несколько фрагментов одной задачи. Структура такой машины, имеющей общую оперативную память и несколько процессоров, представлена на рис. 1.
Рис. 1. Архитектура многопроцессорного компьютера
3. Многомашинная вычислительная система. Здесь несколько процессоров, входящих в вычислительную систему, не имеют общей оперативной памяти, а имеют каждый свою (локальную). Каждый компьютер в многомашинной системе имеет классическую архитектуру, и такая система применяется достаточно широко. Однако эффект от применения такой вычислительной системы может быть получен только при решении задач, имеющих очень специальную структуру: она должна разбиваться на столько слабо связанных подзадач, сколько компьютеров в системе.
Преимущество в быстродействии многопроцессорных и многомашинных вычислительных систем перед однопроцессорными очевидно.
4. Архитектура с параллельными процессорами. Здесь несколько АЛУ работают под управлением одного УУ. Это означает, что множество данных может обрабатываться по одной программе – то есть по одному потоку команд. Высокое быстродействие такой архитектуры можно получить только на задачах, в которых одинаковые вычислительные операции выполняются одновременно на различных однотипных наборах данных. Структура таких компьютеров представлена на рис. 2.
Рис. 2. Архитектура с параллельным процессором
В современных машинах часто присутствуют элементы различных типов архитектурных решений. Существуют и такие архитектурные решения, которые радикально отличаются от рассмотренных выше.
К рассмотренной на прошлой лекции классификации можно теперь добавить следующее:
По назначению ЭВМ подразделяются на: | ||
Вычислительные | Системы обработки данных | Управляющие |
Вычислительные ЭВМ характеризуются небольшими объёмами входной и выходной информации и очень сложными алгоритмами обработки этой информации. Такие ЭВМ должны иметь высокую производительность и небольшое количество устройств ввода-вывода. | Системы обработки данных характеризуются большим количеством внешних запоминающих устройств, способных хранить большой объём информации и сравнительно не сложный алгоритм обработки этой информации. Не требуют высокой производительности ЭВМ. | Управляющие ЭВМ предназначены для управления какими-либо объектами и производственными процессами, поэтому для связи с объектами управления ЭВМ снабжаются специальными преобразователями, датчиками и т.д. которые устанавливаются в контуре управления. Сама ЭВМ работает в реальном масштабе времени. |
По способу организации вычислительного процессора: | |
Однопрограммные | Многопрограммные |
Многопрограммные ЭВМ могут работать в однопрограммном и мультипрограммных режимах. Эти режимы должны поддерживаться соответствующими операционными системами (ОС). |
Существующие в настоящее время многопроцессорные системы можно разделить на два класса: универсальные и проблемно-ориентированные. Проблемно-ориентированные системы могут эффективно решать одну-единственную задачу, для которой они созданы. Универсальные многопроцессорные системы могут решать любую задачу, но при этом их производительность существенно ниже пиковой.
Разработана концепция многопроцессорных вычислительных систем с программируемой архитектурой, являющаяся синтезом двух этих подходов. Пользователю обеспечена возможность перепрограммировать архитектуру многопроцессорной системы под структуру решаемой задачи. Фактически это означает обеспечение пользователю возможности программирования виртуальных объектно-ориентированных систем в рамках реальной универсальной многопроцессорной системы.
Для создания вычислительных систем с программируемой архитектурой и массовым параллелизмом на основе отечественной элементной базы предлагается использовать метод структурно-процедурной организации вычислений. В этом методе поток команд распределяется (распараллеливается) по исполнительным устройствам, образуя в структуре системы аппаратно-реализуемые фрагменты вычислительного процесса (кадры). Полный информационный граф задачи разбивается на фрагменты (подграфы), которые последовательно проецируются в структуру системы и реализуются аппаратно (структурно).
При этом структура вычислительной системы адекватна структуре решаемой задачи, система обладает свойством реконфигурации под задачу.