Часто говорят о семействах ЭВМ, то есть группах моделей, совместимых между собой. В пределах одного семейства основные принципы устройства и функционирования машин одинаковы, хотя отдельные модели могут существенно различаться по производительности, стоимости и другим параметрам.
Все машины одного семейства, независимо от их конкретного устройства и фирмы-производителя, должны быть способны выполнять одну и ту же программу (на практике чаще используется другой принцип совместимости снизу вверх: все программы данной модели выполнимы на последующих).
Термин архитектура используется для описания принципа действия, конфигурации и взаимного соединения основных узлов ЭВМ. К понятию архитектура относят то общее, что есть в строении ЭВМ. При этом учитывают не все сведения о построении ЭВМ, а только те, которые могут как-то использоваться при программировании и работе пользователя с ЭВМ.
К архитектуре, то есть наиболее общим принципам построения ЭВМ, относятся:
– структура памяти ЭВМ;
– способы доступа к памяти и внешним устройствам;
– возможность изменения конфигурации компьютера;
– система команд;
– форматы данных;
– организация интерфейса.
Схема устройства такой ЭВМ представлена на рисунке
Таким образом, архитектура – это наиболее общие принципы построения ЭВМ, реализующие программное управление работой и взаимодействием основных ее функциональных узлов.
Фон Нейман предложил хранить программу в двоичном виде (как и данные), причем в той же самой памяти, что и обрабатываемые ею числа.
Основы учения об архитектуре вычислительных машин заложил выдающийся американский математик Джон фон Нейман. Он подключился к созданию ЭВМ ENIAC в 1944 г., когда ее конструкция была уже определена. В 1946 г. фон Нейман сформулировал идеи принципиально новой ЭВМ: использование двоичной системы для представления чисел и выполнения арифметических и логических операций, принцип хранимой программы, структура ЭВМ. Совокупность принципов, предложенных фон Нейманом, были названы фон неймановской архитектурой.
Фон Нейман предложил включить в структуру ЭВМ:
– устройство управления (УУ),
– арифметико-логическое устройство (АЛУ);
– оперативное запоминающее устройство (ОЗУ);
– внешнее запоминающее устройство (ВЗУ);
– устройство ввода;
– устройство вывода
В современных компьютерах устройство управления и арифметико-логическое устройство объединяются в одном устройстве – процессоре.
В ЭВМ происходит последовательное считывание команд из памяти и их выполнение. Номер (адрес) очередной ячейки памяти, из которой будет извлечена следующая команда программы, указывается специальным устройством – счетчиком команд в УУ. Его наличие тоже является одним из принципов архитектуры фон Неймана.
Позднее в связи с появлением многопроцессорных вычислительных систем были разработаны различные виды архитектур, позволяющие выполнять операции параллельно разными процессорами. В частности, М. Флинном (M. Flynn) в начале 60-х годов ХХ в. была предложена классификация архитектур многопроцессорных вычислительных систем, основанная на обработке потоков данных потоками команд. В ее основу заложено два возможных вида параллелизма:
– независимость потоков заданий (команд, инструкций), существующих в системе, и
– независимость (несвязанность) данных, обрабатываемых в каждом потоке.
Например, фон неймановская архитектура предполагает общую память как для данных, так и для команд. В так называемой гарвардской архитектуре предусматривается разделение памяти между командами и данными, что позволяет распараллелить выборку данных из памяти.
Согласно данной классификации существуют четыре основные архитектуры вычислительных систем:
1) одиночный поток команд – одиночный поток данных (ОКОД),
2) одиночный поток команд – множественный поток данных (ОКМД),
3) множественный поток команд – одиночный поток данных (МКОД),
4) множественный поток команд – множественный поток данных (МКМД).
В английской аббревиатуре – SISD (Single Instruction Single Data). В этот класс попадают все ЭВМ классической структуры.
В английской аббревиатуре – SIMD (Single Instruction Multiple Data). Предполагает многопроцессорную систему, в которой процессорные элементы, входящие в систему, идентичны и управляются одной и той же последовательностью команд, но каждый процессор обрабатывает свой поток данных.
В английской аббревиатуре – MISD (Multiple Instruction Single Data). Предполагает построение своеобразного процессорного конвейера, в котором результаты обработки передаются от одного процессора к другому по цепочке.
В английской аббревиатуре – MIMD (Multiple histruction Multiple Data). Предполагает, что все процессоры работают по своим программам с собственным потоком команд; в простейшем случае они могут быть автономны и независимы.