Термин «архитектура системы» употребляется как в узком, так и в широком смысле этого слова. В узком смысле под архитектурой понимается архитектура набора команд. Архитектура набора команд служит границей между аппаратурой и программным обеспечением и представляет часть системы, которая видна программисту или разработчику. В широком смысле архитектура охватывает понятие организации системы, включающее такие высокоуровневые аспекты как систему памяти, структуру системной шины, организацию ввода/вывода и подсистему команд т.п.
Основные виды архитектуры ЭВМ. Вся компьютерная система подразделяет виды архитектуры ЭВМ на три группы, обусловленные числом потоков команд и данных, рассмотрим их: Основоположником классической архитектуры ЭВМ 1-го и 2-го поколения был Джон фон Нейман, который и сформулировал основные принципы последовательности. К такой группе относятся однопроцессорные системы, в одном случае имеющие одиночный поток данных (SISD), а во втором - множественный поток данных (SIMD). Эти виды архитектуры обусловлены одним векторным потоком команд, при том что самих потоков данных множество.
Следующая группа, включающая в себя виды архитектуры — MIMD. Представляет собой многопроцессорную систему, имеющую множественный поток команд и такой же поток данных. Данная архитектурная система в основном используется в современных супер-ЭВМ.
Третьи виды архитектуры — MISD, представляющие одну программу со множеством данных. К сожалению, MISD не имеет практической значимости. Данный вид причисляют не к компьютерной архитектуре, а к форме распараллеливания программ. Он обозначает одновременное исполнение двух и более копий одной программы в различных процессорных модулях с разными данными.
Принципы фон Неймана
- Использование двоичной системы счисления в вычислительных машинах. Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.
- Программное управление ЭВМ. Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием.
- Память компьютера используется не только для хранения данных, но и программ. При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными.
- Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании.
- Возможность условного перехода в процессе выполнения программы. Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода.