Уровень 18: ФИНАЛ: Компьютер Ершова

Задание

Соберите 8-битный компьютер! Harvard arch: ROM(инструкции) + RAM(данные) + PC + Register + ALU + Decoder + Clock.

Финальный уровень — соберите полноценный 8-битный компьютер с Гарвардской архитектурой!

Решение

Основной цикл процессора: Clock → PC (счётчик команд) → ROM (память команд) → Decoder (дешифратор) → Register + ALU → RAM (память данных).

Соберите основные блоки:

1. ProgramCounter — из Register8 + ALU8 + BusConstant(1), как в уровне 16. Выход PC подайте на адресный вход ROM.

2. ROM — память команд (256 байт). На вход Addr подаётся адрес от PC, на выходе Data — байт инструкции.

3. Splitter — разберите выход ROM на две части: - Биты 4-7 → Opcode (код команды). - Биты 0-3 → Operand (операнд, например адрес или значение).

4. Decoder — распознаёт Opcode и выдаёт 5 управляющих сигналов: - ALUOp0, ALUOp1 — выбор операции АЛУ (ADD=00, AND=01, OR=10, ...). - MemWr — разрешение записи в RAM. - JumpUncond — безусловный переход (JMP). - JumpCond — условный переход (JZ — если результат АЛУ = 0). Сигналы JMP и JZ через OR подаются на вход Load счётчика команд.

5. Register8 — хранит промежуточный результат. Данные берутся с выхода АЛУ или из RAM.

6. ALU — выполняет операции над операндом и регистром.

7. RAM — оперативная память (256 байт). Читает/пишет данные по адресу из операнда инструкции.

После сборки откройте вкладку «Ассемблер», напишите программу (ADD, STA, HLT), нажмите «Компилировать» и запустите такты.

Справка по ассемблеру →