Счётчик, который ведёт процессор по адресам
Перед шестнадцатым уровнем игра предлагает короткое интерактивное вступление: вы нажимаете ЗАПИСЬ и смотрите, как число в замкнутом цикле растёт на единицу за нажатием. Здесь — то же самое в тексте.
Опыт: число, которое растёт
В центре схемы цикл: регистр хранит число, АЛУ прибавляет к нему 1, и результат возвращается на вход регистра. Нажимайте ЗАПИСЬ и следите за лампой: 0, 1, 2, 3… Каждое нажатие двигает число ровно на один шаг. Сброса нет и возврата в ноль нет — число только растёт.
Прогноз: что запишет фронт
Пусть в регистре сейчас 3, а АЛУ уже посчитала 3+1. Приходит фронт ЗАПИСЬ — что окажется в регистре? Четвёрка. Пока регистра не касаются, АЛУ пересчитывает одно и то же: «текущее плюс один». Фронт — это момент записи: он «щёлкает» цикл, и готовое значение попадает в регистр. До фронта снаружи видно только старое число.
Правило: регистр + 1 обратно = счётчик
Замкнутый цикл «хранить → прибавить 1 → записать обратно» называется счётчиком. Обратная связь здесь работает так же, как в защёлке с десятого уровня: там два вентиля кормили сигналами друг друга и хранили один бит, здесь кольцо из регистра и АЛУ хранит число и шагает им вперёд. Выход регистра — это адрес, который растёт такт за тактом.
Где это используется
На шестнадцатом уровне вы соберёте счётчик команд (PC). Программа лежит в памяти по адресам, и процессор выполняет её по шагам: один такт — одна инструкция, а PC сам делает шаг вперёд и подводит процессор к следующей. Уберите этот цикл — и процессор будет читать одну и ту же ячейку бесконечно.