< Z-FRAME SEG 0002 · 27.08.2026
; ──────────────────────────────────────────── ; Z-FRAME · DEVLOG ENTRY 0002 ; ──────────────────────────────────────────── 0000 31 FF 7F LD SP, 7FFFh ; init 0003 21 02 00 LD HL, ENTRY ; this post 0006 CD 20 00 CALL RENDER

Z-Frame: Верхнеуровневая архитектура

Компоненты и их взаимодействие

PC 27.08.2026
BC $0EE2
HL Z-Frame · architecture · Z80 · FPGA · SRAM · STM32

Архитектура

Z-Frame - это компьютер с центральным процессором 1976 года - Zilog Z80. Управлять им и всеми шинами будет современная FPGA. Загружать программы и управлять запуском уже всей системы будет супервизор в виде микроконтроллера (MCU). Видеовыводом будет заниматься отдельный вычислитель (VDP), подключённый параллельно FPGA.

Общая архитектура Z-Frame
Общая архитектура Z-Frame

Компоненты и роли

Z80 - центральный процессор (CPU), исполняет программы.

FPGA - главный арбитр и коммутатор (bus arbiter + interconnect), распоряжается шиной: коммутирует, арбитрирует доступы и тактирует процессор.

STM32 - супервизор: питание, сброс, загрузка, связь с внешним миром.

VDP - видеопроцессор со своей памятью, пассивный слушатель шины.

RAM - оперативная память компьютера.

Загрузчик

При старте процессора ему нужна какая-либо программа. И эту программу нужно загрузить до момента, когда процессор начнёт свою работу и для реализации этого есть два основных пути: хранить программу в ROM (ПЗУ, постоянное запоминающее устройство) - то есть, в памяти только для чтения или загрузить программу сразу в RAM (ОЗУ, оперативное запоминающее устройство). Я выбрал второй вариант - отдельный специализированный загрузчик (MCU), который сначала загрузит в оперативную память процессора (RAM) нужную программу и "стартует" сам процессор.

DEVLOG #0003: Как процессор стартует и почему я отказался от ROM

Арбитр шины

Во время работы процессора, то есть исполнения программы, он - мастер шин адреса и данных, то есть, активно выставляет необходимые уровни, читает из памяти и пишет в память. Загрузчику же шины тоже могут понадобиться для своих нужд. Например, загрузить другую программу. В этот момент он тоже становится мастером. Как только на шине становится больше одного мастера, возникает состояние конфликта на шине - bus contention. Этим можно управлять программно на каждом подключённом к шинам устройстве, но при добавлении нового устройства, необходимо добавлять такую поддержку каждому добавляемому устройству. Я выбрал централизованный арбитраж и завёл все шины от всех устройств в FPGA. Теперь FPGA - и есть шина.

DEVLOG #0004: Что такое contention, децентрализованный и централизованный арбитраж

Видеовывод и "модель MSX"

Долгое время разные компьютеры по-разному решали проблему организации доступа видео к памяти. Например, в ZX Spectrum - память общая, с bus contention. В Commodore 64 - видеочип VIC-II - мастер шины со всё такой же общей памятью для программ (процессора) и видео. И в компьютерах MSX - видеочип (VDP) со своей отдельной памятью. Что исключает любые конфликты с одновременным доступом к одной и той же памяти. Поэтому я выбрал вариант реализации как у MSX.

DEVLOG #0005: Отдельный разбор организации видеовывода на примерах ZX Spectrum, Commodore 64 и MSX

Супервизор

Для управления стартом системы, арбитром и операциями ввода/вывода (I/O) используется супервизор - тот же самый микроконтроллер-загрузчик (MCU). Например, он отдаёт высокоуровневые команды арбитру вида "останови/запусти тактирование Z80", "положи данные в RAM по таким-то адресам" и подобные.

DEVLOG #0006: Супервизор системы

Таким образом Z-Frame оказывается гетерогенной системой. Под каждую роль в ней стоит свой, наиболее подходящий вычислитель. Восьмибитный процессор исполняет программы. Современный микроконтроллер-супервизор управляет запуском, загрузкой и связью с внешним миром. Отдельный чип со своей памятью занимается видео. И связывает их всех программируемая логика (FPGA), которая и распоряжается шиной. Разные архитектуры, объединённые вместе исходя из принципа "каждому - своя задача".

Собственно, к такой же идее (набору разнородных специализированных вычислителей под общим управлением) пришли и большие современные системы, от процессоров смартфонов до серверных ускорителей.

FFFF  76        HALT