Архитектура ЭВМ. Гарвардская и фон-Неймановская архитектура. Организация обмена архитектуры ЭВМ с использованием шин
Архитектура ЭВМ

Архитектура ЭВМ — это совокупность принципов организации вычислительной системы, определяющих структуру процессора, памяти, устройств ввода-вывода и способы их взаимодействия.
Фон-Неймановская (Принстонская) архитектура характеризуется использованием общей памяти для хранения программ и данных. Для передачи команд и данных между процессором и памятью используется общая системная шина.
Преимущества:
- простота реализации;
- гибкое распределение памяти между программами и данными;
- удобство отладки и контроля системы.
Недостатки:
- команды и данные передаются по одной шине;
- возникает «узкое место фон Неймана», ограничивающее производительность системы.
Гарвардская архитектура характеризуется физическим разделением памяти команд и памяти данных. Для каждой памяти используется собственная шина.
Преимущества:
- одновременная выборка команд и данных;
- более высокая производительность;
- возможность эффективной конвейерной обработки.
Недостатки:
- более сложная аппаратная реализация;
- требуется больше шин;
- память команд и данных не может гибко перераспределяться между собой.
Организация обмена с использованием шин
Для связи процессора, памяти и устройств ввода-вывода используются системные шины.
Шина данных предназначена для передачи данных между устройствами.
Шина адреса используется для передачи адреса ячейки памяти или устройства, к которому производится обращение.
Шина управления передает управляющие сигналы: чтение, запись, прерывание, подтверждение обмена и другие.
В фон-Неймановской архитектуре команды и данные передаются по общей системе шин, поэтому обращения к памяти происходят последовательно.
В Гарвардской архитектуре для памяти команд и памяти данных используются отдельные шины, благодаря чему выборка команды и обращение к данным могут выполняться одновременно.
Канальная организация: Самая дорогая, серверная архитектура. CPU вообще не общается с периферией. Рядом с ним стоят специализированные вспомогательные сопроцессоры — Процессоры каналов ввода-вывода (I/O Channels). у них есть свои шины адреса, данных и управления. CPU просто дает им команду по переносу данных, а каналы сами управляют устройствами и ОЗУ через свои магистрали.

Раздельные шины: У CPU физически выведены два независимых комплекта шин:
- Один (Адрес, Данные, Управление) идет в память (ОЗУ)**.
- Второй (Адрес, Данные, Управление ввода-вывода) идет в КВУ.
- Плюс: Память и периферия не мешают друг другу.
- Минус: У процессора становится в два раза больше ножек-контактов, материнская плата получается адски сложной и дорогой.

Общие шины (в БЭВМ): Вся система объединена одним комплектом шин. К одним и тем же медным дорожкам параллельно подключены и CPU, и Память, и все КВУ. При такой архитектуре применяется метод Memory-Mapped I/O, когда регистры КВУ притворяются адресами ОЗУ. Но у общей шины есть критическая аппаратная проблема. Если у нас 16 бит данных и 16 бит адреса, процессору нужно как минимум 32 ножки на кремниевом чипе только под них. Для решение этой проблемы придумали мультиплексирование шин.

Мультиплексирование шин — это способ организации, при котором одни и те же физические металлические провода (ножки процессора) используются по очереди для передачи разных типов информации.
Вместо того чтобы делать отдельно 16 физических проводов для Шины Адреса и 16 проводов для Шины Данных, инженеры объединяют их в одну физическую шину Адреса/Данных (Multiplexed AD Bus).
Передача одного слова разделяется тактовым генератором на два такта:
- Такт адреса: CPU выставляет на общую шину адрес ячейки памяти или КВУ. На шине управления в этот момент загорается специальный сигнальный бит — ALE (Address Latch Enable — разрешение защелкивания адреса). Услышав этот сигнал, внешняя микросхема-защелка (регистр-мультиплексор) мгновенно запоминает этот адрес и держит его.
- Такт данных: CPU убирает адрес с этих проводов. И выставляет операнд — либо процессор считывает число, либо записывает его. Сигнал ALE в этот момент равен нулю, показывая системе, что сейчас на шине лежат данные, а не адрес.
