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

Архитектура ЭВМ

Архитектура ЭВМ — это совокупность принципов организации вычислительной системы, определяющих структуру процессора, памяти, устройств ввода-вывода и способы их взаимодействия.

Фон-Неймановская (Принстонская) архитектура характеризуется использованием общей памяти для хранения программ и данных. Для передачи команд и данных между процессором и памятью используется общая системная шина.

Преимущества:

  • простота реализации;
  • гибкое распределение памяти между программами и данными;
  • удобство отладки и контроля системы.

Недостатки:

  • команды и данные передаются по одной шине;
  • возникает «узкое место фон Неймана», ограничивающее производительность системы.

Гарвардская архитектура характеризуется физическим разделением памяти команд и памяти данных. Для каждой памяти используется собственная шина.

Преимущества:

  • одновременная выборка команд и данных;
  • более высокая производительность;
  • возможность эффективной конвейерной обработки.

Недостатки:

  • более сложная аппаратная реализация;
  • требуется больше шин;
  • память команд и данных не может гибко перераспределяться между собой.

Организация обмена с использованием шин

Для связи процессора, памяти и устройств ввода-вывода используются системные шины.

Шина данных предназначена для передачи данных между устройствами.

Шина адреса используется для передачи адреса ячейки памяти или устройства, к которому производится обращение.

Шина управления передает управляющие сигналы: чтение, запись, прерывание, подтверждение обмена и другие.

В фон-Неймановской архитектуре команды и данные передаются по общей системе шин, поэтому обращения к памяти происходят последовательно.

В Гарвардской архитектуре для памяти команд и памяти данных используются отдельные шины, благодаря чему выборка команды и обращение к данным могут выполняться одновременно.

Канальная организация: Самая дорогая, серверная архитектура. 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 в этот момент равен нулю, показывая системе, что сейчас на шине лежат данные, а не адрес.