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

Проблема межкомпонентных соединений

На заре вычислительной техники (ЭВМ 1-го поколения) каждый функциональный блок соединялся с остальными индивидуальными проводниками — по схеме «точка-точка».

Критическое противоречие: для N независимых устройств требовалось $N \times (N-1) / 2$ групп кабелей. С появлением сотен узлов компьютер превращался в паутину проводов, которую невозможно масштабировать.

Решение проблемы: магистрально-модульный принцип (единая системная шина для всех компонентов).

Принципы фон-неймановской архитектуры (1945 г.)

Две главные подсистемы компьютера

⚙️ Центральная часть

Ядро вычислительной системы, работающее на частотах в единицы гигагерц:

  • Центральный процессор (АЛУ, УУ, регистры).
  • Основная оперативная память (ОЗУ / RAM).
  • Постоянное запоминающее устройство (ПЗУ / ROM).
🔌 Периферийная часть

Устройства взаимодействия с внешним миром и долговременного хранения:

  • Внешние накопители (SSD, HDD).
  • Устройства ввода и вывода (монитор, клавиатура).
  • Сетевые контроллеры и шинные адаптеры.

Узлы центрального процессора (ЦП)

Основная память: ОЗУ и ПЗУ

ОЗУ (Оперативное запоминающее устройство, RAM)

Энергозависимая полупроводниковая память прямого доступа (DRAM). Хранит машинный код активных процессов ОС и прикладных программ, их стеки и динамические данные.

ПЗУ (Постоянное запоминающее устройство, ROM/Flash)

Энергонезависимая память. Содержит базовую систему инициализации оборудования (UEFI / BIOS) и загрузчик первичной стадии.

Системная магистраль: три потока сигналов

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

Машинный цикл команды: ADD R1, [0x04F0]

  1. Выборка команды (Fetch): УУ выставляет PC на ША, сигнал чтения на ШУ. Команда из ОЗУ считывается по ШД в регистр команд.
  2. Декодирование (Decode): УУ определяет операцию (сложение) и исполнительный адрес (0x04F0).
  3. Выборка данных: УУ запрашивает адрес 0x04F0 на ША. Число по ШД поступает в АЛУ.
  4. Исполнение (Execute): АЛУ складывает R1 со значением из памяти.
  5. Запись результата (Writeback): сумма помещается в регистр R1.

Периферийная подсистема и интерфейсные адаптеры

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

Принцип контроллера: Внешнее устройство никогда не подключается напрямую к шинам ЦП! Каждое ПУ подключается через собственный контроллер (адаптер), согласующий скорость, уровни напряжений и формат данных.

Контроллер содержит внутренние регистры управления, статуса и буферные регистры данных.

Прямой доступ к памяти (DMA)

Зачем нужен контроллер DMA?

Без DMA: процессор лично считывает каждый байт с контроллера накопителя и записывает его в память, тратя 100% мощности на перекладывание байт.

С DMA: процессор задаёт начальный адрес и размер буфера, а контроллер DMA сам захватывает системную шину и перекачивает данные пакетом блоками напрямую в ОЗУ.

По завершении передачи DMA генерирует прерывание процессору.

«Узкое горлышко фон Неймана» (Von Neumann Bottleneck)

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

Решение: Гарвардская модификация кэш-памяти

В современных процессорах (Intel Core, AMD Ryzen, Apple Silicon M-серии) архитектура гибридная:

Снаружи — Фон Нейман

Единое адресное пространство ОЗУ, общие шины на материнской плате, единые модули оперативной памяти.

Внутри — Гарвард

Кэш первого уровня разделен на независимый кэш инструкций (L1I) и кэш данных (L1D) со своими отдельными шинами.

Типичная ошибка: «SSD — это быстрая память процессора»

Заблуждение: «Поскольку NVMe SSD использует микросхемы флеш-памяти и подключается к шине PCIe, процессор может исполнять программы прямо из SSD».
Реальность:

SSD — это блочное периферийное устройство. Минимальная единица адресации контроллера — блок (4 КиБ). Процессор адресует память побайтово (1 байт). Программа ДОЛЖНА быть предварительно загружена в ОЗУ!

Экспресс-проверка (вопрос аудитории)

Вопрос: Почему при увеличении разрядности шины адреса с 32 до 64 бит максимальный адресуемый объём ОЗУ вырос с 4 ГиБ до 16 Экзабайт, но разрядность чисел при этом определяется шиной данных?

Ответ: Шина адреса определяет количество уникальных номеров ячеек ($2^{32} = 4\text{ млрд}$, $2^{64} = 1.8\times 10^{19}$), а шина данных определяет размер порции (байты числа), которую процессор передаёт за один такт.

Архитектурный баланс и мем

Мем Compiling (xkcd 619)
Мем «Compiling» (веб-комикс xkcd #619).
Автор: Randall Munroe. Источник: https://xkcd.com/619/. Лицензия: CC BY-NC 2.5. Отметка об изменениях: без изменений. Встроен offline через data URI (Base64).
Слайд 1 / 15