Обзор структурной схемы. Центральная и периферийная части компьютера

Принципы фон-неймановской организации ЭВМ, разграничение центральных и периферийных узлов, структура магистрально-модульной шины и преодоление «узкого горлышка».

1. Архитектурные принципы фон Неймана

Современные компьютеры общего назначения базируются на фундаментальных принципах, сформулированных в 1945 году Джоном фон Нейманом совместно с Джоном Мокли и Преспером Эккертом:

Принцип хранимой программы: команды и обрабатываемые данные хранятся в единой физической памяти. Программа считывается из памяти так же, как и числовые данные, что позволяет динамически изменять алгоритмы и загружать новое программное обеспечение без физической перекоммутации схем.

2. Структурная модель ЭВМ: Центральная и периферийная части

Архитектурно вычислительная машина разделяется на две взаимодействующие части: высокоскоростную центральную и распределённую периферийную.

⚙️ Центральная часть (Central Processing & Primary Memory)
Центральный процессор (ЦП / CPU)
• АЛУ: выполнение арифметических и побитовых логических операций.
• УУ: выборка, декодирование команд, генерация тактовых управляющих импульсов.
• Регистры (РОН, PC, SP, FLAGS, IR): сверхоперативная память для операндов, адресов и флагов состояний.
Основная память (ОЗУ / ПЗУ)
• ОЗУ (RAM): быстродействующая энергозависимая память для размещения запущенных программ и текущих данных.
• ПЗУ (ROM/Flash): энергонезависимая память начальной загрузки (коды UEFI/BIOS, базовые таблицы инициализации).
СИСТЕМНАЯ МАГИСТРАЛЬ (СИСТЕМНАЯ ШИНА)
ША Шина адреса (Address Bus)
ЦП / DMA ➔ Модули памяти и контроллеры (Однонаправленная)
ШД Шина данных (Data Bus)
ЦП ⮂ ОЗУ / Контроллеры ввода-вывода (Двунаправленная)
ШУ Шина управления (Control Bus)
Стробы: RD, WR, M/IO#, READY, IRQ, RESET (Координирующие импульсы)
🔌 Периферийная часть (Peripheral Subsystem & I/O)
Системные контроллеры и мосты
• Контроллер прямого доступа к памяти (DMA): обеспечивает пересылку блоков между периферией и ОЗУ без загрузки ЦП.
• Контроллеры шин ввода-вывода: PCIe root complex, USB host controller, SATA/NVMe controller.
Внешние устройства (ПУ)
• Накопители: SSD NVMe/SATA, HDD, flash-носители.
• Устройства ввода: клавиатура, мышь, сканер, сенсорный ввод.
• Устройства вывода: дисплей (через GPU), аудиокодек, принтер.
• Сетевые адаптеры: Ethernet, Wi-Fi.

3. Магистрально-модульный принцип построения

В ранних ЭВМ первого поколения каждый модуль соединялся с другими отдельными пучками индивидуальных проводников («точка-точка»). С ростом числа компонентов это приводило к экспоненциальному усложнению схемотехники и невозможности модульного расширения. Решением стал магистрально-модульный принцип (принцип общей шины):

Тип шины Разрядность (типовая) Направление передачи Функциональное назначение
Шина адреса (ША) 32 бит / 64 бит (физ. 48–52 бит) Однонаправленная (от ЦП/DMA к памяти и устройствам) Передаёт двоичный адрес ячейки ОЗУ или номер порта ввода-вывода, к которому происходит обращение.
Шина данных (ШД) 64 бит (DDR4/DDR5: 64 бит + ECC) Двунаправленная (чтение/запись) Передаёт байты считываемого машинного кода, числовые операнды и результаты вычислений между ЦП, памятью и портами.
Шина управления (ШУ) Набор линий управляющих сигналов Смешанная (индивидуальные линии) Передаёт стробы синхронизации, сигналы чтения (`MEMR`, `IOR`), записи (`MEMW`, `IOW`), запросы прерываний (`IRQ`), подтверждения готовности (`READY`).

4. Трассировка машинного цикла (Fetch — Decode — Execute — Writeback)

Любая программа на машинном уровне представляет собой цепочку базовых машинных тактов. Рассмотрим, как системные шины и узлы взаимодействуют при исполнении инструкции сложения регистра с содержимым ячейки ОЗУ: ADD R1, [0x04F0].

1
Выборка команды (Fetch): УУ выставляет содержимое счётчика команд (PC = 0x0100) на шину адреса (ША). На шину управления (ШУ) подаётся строб MEMR (чтение памяти). ОЗУ считывает байты инструкции и выставляет их на шину данных (ШД). Код команды попадает в регистр команд (IR). PC увеличивается для следующей команды.
2
Декодирование (Decode): Дешифратор команд УУ определяет: требуется операция сложения, первый операнд находится в регистре R1, а второй — в ОЗУ по эффективному адресу 0x04F0.
3
Выборка операнда (Operand Fetch): УУ выставляет адрес 0x04F0 на ША, строб MEMR на ШУ. ОЗУ считывает операнд (например, число 42) и передаёт его по ШД во входной буферный регистр АЛУ.
4
Исполнение (Execute): По внутренней шине процессора значение регистра R1 подаётся на второй вход АЛУ. АЛУ складывает два числа, формирует результат и обновляет регистр признаков (флагов FLAGS: ZF, SF, OF, CF).
5
Запись результата (Writeback): Результат из выходного регистра АЛУ по внутренней шине записывается обратно в регистр R1. Машинный цикл завершён.

5. «Узкое горлышко фон Неймана» и архитектурные решения

В классической модели фон Неймана программы и данные конкурируют за одну физическую шину. Этот фундаментальный барьер производительности получил название узкое горлышко фон Неймана (von Neumann Bottleneck).

Суть ограничения: Тактовая частота исполнительных конвейеров процессора достигает 4–5 ГГц (время выполнения операции внутри чипа — доли наносекунды), тогда как время обращения к внешней оперативной памяти составляет 50–70 наносекунд. Процессор вынужден простаивать (такты ожидания — wait states), ожидая поступления команд или данных по шине.

Как архитекторы преодолевают это ограничение в современных ЭВМ:

  1. Раздельная кэш-память L1 (Гарвардская модификация): Внутри кристалла современного процессора используется гарвардский принцип: кэш инструкций первого уровня (L1 Instruction Cache) и кэш данных (L1 Data Cache) физически разделены и имеют независимые сверхскоростные шины. Выборка следующей команды и чтение данных происходят одновременно без взаимных задержек.
  2. Иерархия кэш-памяти (L1 ➔ L2 ➔ L3): Размещение SRAM-буферов прямо на кристалле процессора снижает частоту обращений к медленному внешнему ОЗУ (hit rate достигает 95–98%).
  3. Конвейеризация и внеочередное исполнение (Out-of-Order Execution): Процессор заранее считывает инструкции (Prefetch) и предсказывает ветвления (Branch Prediction), маскируя латентность шины памяти.
  4. Прямой доступ к памяти (DMA): Освобождает ЦП от рутинной побайтовой пересылки данных с дисков и сетевых адаптеров в ОЗУ. Контроллер DMA самостоятельно пересылает целые массивы блоков.

6. Вопросы для самопроверки

Проверьте своё понимание пройденного материала:
  1. Почему в фон-неймановской модели невозможно одновременно выбрать следующую команду из ОЗУ и прочитать данные операнда из того же ОЗУ?
  2. Чем принципиально отличается шина адреса от шины данных по направленности сигналов и почему?
  3. Почему твердотельный накопитель (NVMe SSD), несмотря на полупроводниковую структуру микросхем, относится к периферийной части, а не к центральной?
  4. Какую роль играет контроллер DMA при копировании файла с накопителя в оперативную память?
  5. В чём заключается гарвардская модификация современных процессоров архитектуры x86-64 и ARM?