Найти в Дзене
IT Еxtra

Как работает компьютер? Часть 35. Как данные переключаются внутри процессора

Предыдущий урок: Как работает компьютер? Часть 34. Счётчик команд — шаг за шагом Мы познакомились с разными элементов процессора. Давайте закрепим их: Внутри процессора находятся: Блок управления. Содержит в себе счетчик команд для хранения адреса следующей инструкции, Регистр инструкций для хранения текущй инструкции, Дешифратор для переда инструкций в управляющие сигналы. Регистры общего назначения (R0, R1, R2, …) — маленькая память для хранения чисел внутри процессора. АЛУ (арифметико-логическое устройство) — умеет складывать, вычитать, сравнивать и делать логические операции. Мультиплексоры — переключатели, которые выбирают, какие данные попадут в АЛУ или в регистры. Снаружи процессора: Память (RAM) — хранит и программу (инструкции), и данные. Теперь давайте посмотрим, как это работает вместе. Мы соберём картину целого маленького процессора и проследим, как данные двигаются внутри него. Движение данных: общая схема Процессор — это не хаотичный клубок проводов. У данных внутри есть

Предыдущий урок: Как работает компьютер? Часть 34. Счётчик команд — шаг за шагом

Мы познакомились с разными элементов процессора. Давайте закрепим их:

Внутри процессора находятся:

  1. Блок управления. Содержит в себе счетчик команд для хранения адреса следующей инструкции, Регистр инструкций для хранения текущй инструкции, Дешифратор для переда инструкций в управляющие сигналы.
  2. Регистры общего назначения (R0, R1, R2, …) — маленькая память для хранения чисел внутри процессора.
  3. АЛУ (арифметико-логическое устройство) — умеет складывать, вычитать, сравнивать и делать логические операции.
  4. Мультиплексоры — переключатели, которые выбирают, какие данные попадут в АЛУ или в регистры.

Снаружи процессора:

  • Память (RAM) — хранит и программу (инструкции), и данные.

Теперь давайте посмотрим, как это работает вместе.

Мы соберём картину целого маленького процессора и проследим, как данные двигаются внутри него.

IT Extra

Движение данных: общая схема

Процессор — это не хаотичный клубок проводов. У данных внутри есть свой «маршрут»:

1. Память → Регистр: Из памяти загружается команда или число. Оно попадает сначала в регистр.

2. Регистр → АЛУ:  Чтобы выполнить операцию, числа направляются в АЛУ. Для этого используются мультиплексоры, которые выбирают, какой регистр подать на вход.

3. АЛУ → Регистр: Результат операции записывается обратно в регистр.

4. Регистр → Память: Если нужно сохранить результат, значение из регистра передаётся в память.

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

Как всё взаимодействует:

  1. Счетчик команд указывает на адрес первой инструкции в памяти.
  2. Из памяти по адресу Счетчика команд инструкция загружается в Регистр инструкций.
  3. Дешифратор берёт инструкцию из Регистра инструкций и создаёт управляющие сигналы: какой Общий регистр читать, какой Общий регистр записать, какую операцию выполнить в АЛУ, какой вход выбрать у Мультиплексора, нужно ли обратиться к памяти за данными.
  4. Мультиплексоры по сигналам от Дешифратора направляют нужные данные (из регистра или памяти) в АЛУ.
  5. АЛУ выполняет операцию и отдаёт результат, также через Мультиплексоры.
  6. Результат может быть записан обратно в Общий регистр или отправлен в память.
  7. Счетчик команд увеличивается на 1 → процесс повторяется для следующей инструкции.

Предположим, в памяти лежит программа (На самом деле это код ассемблера, о котором мы будем говорить в следующих модулях. Пока что помимо кода, также текстом укажем что код означает, чтобы вас не запутать.):

Адрес 0: LOAD R1, [10]   ; загрузить число из ячейки памяти 10 в регистр R1

Адрес 1: LOAD R2, [11]   ; загрузить число из ячейки памяти 11 в регистр R2

Адрес 2: ADD R3, R1, R2  ; сложить содержимое R1 и R2 и результат положить в R3

Адрес 3: STORE R3, [12]  ; сохранить результат из R3 в ячейку памяти 12

В памяти по адресам:

[10] = 2

[11] = 3

Теперь давайте пошагав взглянем на работу процессора:

  1. Блок управления обращается в Счетчик команд равный 0;
  2. Счетчик команд = Адрес 0 → из памяти берём инструкцию LOAD R1, [10].
  3. В Регистр инструкций загружается команда.
  4. Дешифратор забирает данные Регистра инструкций обрабатывает их. Управляющие сигнал дешифратора: нужно взять данные из памяти (адрес 10) и положить в R1.
  5. Мультиплексор направляет число 2 из памяти в регистр R1.
  6. Теперь R1 = 2.
  7. Счетчик команд увеличился  на 1 и равен 1.
  8. Блок управления = Адрес 1 → инструкция LOAD R2, [11].
  9. Аналогично: число 3 загружается из памяти в R2.
  10. Теперь R2 = 3.
  11. Счетчик команд увеличился  на 1 и равен 2.
  12. Блок управления = Адрес 2→ инструкция ADD R3, R1, R2.
  13. Дешифратор понимает: нужно взять числа из R1 и R2.
  14. Мультиплексор направляет их в АЛУ.
  15. АЛУ выполняет сложение: 2 + 3 = 5.
  16. Результат отправляется в R3.
  17. Теперь R3 = 5.
  18. Счетчик команд увеличился  на 1 и равен 3.
  19. Блок управления = Адрес 3→ инструкция STORE R3, [12] .
  20. Дешифратор даёт команду: взять число из R3 и отправить в память по адресу 12.
  21. В ячейке [12] теперь хранится результат: 5.
  22. Счетчик команд увеличился  на 1 и равен 4. (конец программы).

Очень простая метафора
Представь процессор как город с дорогами:

  • Данные — это машины.
  • Регистры, память, АЛУ — это дома, куда машины могут заезжать.
  • Мультиплексоры — это перекрёстки с переключающимися стрелками.
  • А Блок управления — это светофорщик, который решает, какая дорога сейчас открыта, а какая закрыта.

Машина (данные) сама не решает, куда ехать. Всегда Блок управления подаёт сигнал, какой путь открыт и в какой «дом» (регистр) машина въедет.

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

Спасибо за внимание!

Следующий урок:
Как работает компьютер? Часть 36. Триггер — простейшая ячейка памяти

P.S.

Если вы теперь смотрите на свой телефон или ноутбук не как на бездушную железку, а как на клубок молний, который научили думать, — вам понравится мой курс «Как работает компьютер. Просто о сложном» https://stepik.org/a/249383. Специально для Дзен действует промокод со скидкой 20%: DZEN20.

Если вам интересно копать глубже, разбирать реальные кейсы и получать знания, которых нет в открытом доступе — вам в IT Extra Premium.

Что внутри?
Закрытые публикации: Детальные руководства, разборы сложных тем (например, архитектура высоконагруженных систем, глубокий анализ уязвимостей, оптимизация кода, полезные инструменты и объяснения сложных тем простым и понятным языком).
Конкретные инструкции: Пошаговые мануалы, которые вы сможете применить на практике уже сегодня.
Без рекламы и воды: Только суть, только концентрат полезной информации.
Ранний доступ: Читайте новые материалы первыми.

Это — ваш личный доступ к экспертизе, упакованной в понятный формат. Не просто теория, а инструменты для роста.

👉 Переходите на Premium и начните читать то, о чем другие только догадываются.

👍 Ставьте лайки если хотите разбор других интересных тем.

👉 Подписывайся на IT Extra на Дзен чтобы не пропустить следующие статьи

👇
Понравилась статья? В нашем Telegram-канале ITextra мы каждый день делимся такими же понятными объяснениями, а также свежими новостями и полезными инструментами. Подписывайтесь, чтобы прокачивать свои IT-знания всего за 2 минуты в день!

IT Extra