Уровень 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), нажмите «Компилировать» и запустите такты.