Когда-то, очень давно, у меня был ZX-Spectrum, затем его аналог Magic 06. Это действительно замечательный компьютер для своего времени. Сейчас интерес к созданию компьютера из набора микросхем в обнимку с паяльником снова актуален для любительских проектов и не только. Но когда я стал искать информацию о процессорах Z80, то не смог найти корректную информацию по краткому описанию и возможностям процессора, а также «распиновке» процессора и его маркировке. Поэтому данная статья и последующие будут постепенно раскрывать этот пробел.
Данная статья рассматривает процессор Zilog Z84C008PEC (Z80) с точки зрения описания основных функций, маркировки, а также «распиновки». Данный процессор был куплен в Китае, для меня было удивительно, что данные процессоры не просто еще используются, но и даже производятся в поднебесной, хотя официальное производство свернуто. Внимание, данный процессор производится и применяется с 1976 года, уже почти 50 лет. Оказывается, его применяют в промышленной автоматике по сей день, в любительских бытовых компьютерах, в компьютерах управляющих автоматикой на производстве, в том числе в «кустарной» автоматике.
Лично для себя я приобрел этот процессор, чтобы собрать ZX-Spectrum на макетной плате.
Итак, о процессоре.
Тактовая частота процессора Z80 с маркировкой линейки Z84C…PEC напрямую зависят от цифр, которые идут сразу после «Z84C00».
Если указанно «04», то тактовая частота 4 МГц, если указано «08», то тактовая частота 8 МГц. Но самое интересное в другом маркере, а именно в букве «С» идущей сразу после «Z84». Эта буква говорит о том, что рабочая частота может быть от 0 МГц до значения указанного выше («04» – 4 Мгц, «08» — 8 МГц).
Пример ниже в таблице 1.
Таблица 1. Соответствие маркировки и тактовой частоты.
|
Z84C0004PEC |
4 МГц |
|
Z84C0006PEC |
6 МГц |
|
Z84C0008PEC |
8 МГц |
|
Z84C0010PEC |
10 МГц |
|
Z84C0020PEC |
20 МГц |
Расшифровка маркировки «PEC»
-
P – тип корпуса: PDIP (пластиковый двухрядный, 40 контактов).
-
E – температурный диапазон: Extended (расширенный, от −40 °C до +100 °C или +85 °C).
-
C – экологический стандарт: Conformant (стандартная пайка свинцовым припоем; версии без свинца маркируются как PEG / PEG)
Самое интересное в том, что в качестве тактового генератора для Zilog Z84C008PEC можно использовать кнопку и свой палец :). Генерируем тактовый сигнал по нажатию на кнопку. Такой подход позволит посмотреть глазами, как проходит процесс обработки данных.
Описание контактов процессора.
На рисунке 1 показана схема «распиновки» процессора в реальности, на физическом корпусе и логическая «распиновка». Физическая слева на картинке, логическая справа.
A0-A15 – это шина адреса, позволяет в обычном режиме адресовать 64 Килобайта памяти.
D0-D7 – это шина данных, обработка только одного байта за один раз.
RFSH – Refresh, Регенерация. Выдает сигнал, разрешающий обновление памяти.
M1 – Machine Cycle 1, машинный цикл 1. Процессор считывает следующую инструкцию из памяти.
RESET – Reset/Сброс. Используется для сброса процессора.
BUSRQ – Bun Request, запрос доступа к шине. Используется внешними устройствами для запроса управления
WAIT – Halt, запрос ожидания. Заставляет процессор ждать во время операции чтения или записи.
BUSAK – Bus Acknowledge, предоставление доступа к шине. Предоставление доступа к шине сигнализирует о готовности процессора передать управление.
WR – Write, запись, сигнализирует об операции записи в память или ввода-вывода.
RD – Read, чтение, сигнализирует об операции чтения из памяти или ввода-вывода.
INT – Interrupt Bequest, запрос прерывания, произошло аппаратное прерывание.
NMI – Non Maskable Interrupt, немаскируемое прерывание (более высокий приоритет, чем INT).
HALT – Halt State, состояние останова. Процессор находится в остановленном состоянии.
MREQ – Memory Request, запрос памяти. Процессор хочет получить доступ к памяти.
IORQ – Input/Output Request, запрос ввода-вывода. Процессор хочет получить доступ к точке ввода-вывода.
Краткое описание регистров
Описание 8-битных регистров
-
A – Accumulator, аккумулятор, главный регистр для арифметических и логических операций.
-
F – FlagRegister, регистр флагов, хранит признаки результатов операций (знак, нуль, перенос, четность)
-
B, C, D, E, H, L – универсальные 8-битные регистры. Могут объединятся в пары BC, DE, HL для 16-битных операций.
-
Альтернативные регистры (A’, F’, B’, C’, D’, E’, H’, L’) – точный дубликат основного набора. Необходим для ускорения обработки прерываний и подпрограмм.
Описание 16-битных регистров и специальных регистров
-
HL – основной указатель памяти (адрес косвенной регистровой адресации)
-
BC – счетчик или указатель, часто используется в операциях с портами ввода-вывода
-
DE – указатель данных, применяется при пересылке блоков памяти
-
PC — Program Counter, счетчик команд
-
IX, IY – IndexRegisters, индексные регистры для работы с отступом от базового адреса
-
SP – Stack Pointer, указатель стека, хранит адрес вершины стека в оперативной памяти
-
I – Interruptveotor, регистр вектора прерывания. Регистр прерывания, хранит старший байт адреса таблицы векторов прерываний
-
R – RefreshRegister, регистр регенерации памяти. Регистр обновления памяти, динамический счетчик регенерации памяти
Дополнительный комплект микросхем
Для процессора Z 80 существует несколько микросхем поддержки:
-
Z80PIO (Parallel Input Output) — интерфейс параллельного ввода-вывода, два независимых двухсторонних канала, корпуса DIP40, PLCC44 и PQFP44.
-
Z80CTC (Counter Timer Circuit) — Z0843004, Z0843006, Z84C3006, Z84C3008, Z84C3010 — счётчик/таймер, четыре независимых канала, корпуса DIP28, PLCC44 и PQFP44.
-
Z80SIO (Serial Input Output) — USART интерфейс последовательного ввода-вывода, двухканальный, многофункциональный, поддерживает как синхронный/асинхронный байт-ориентированный протокол IBM Bisync, так и бит-ориентированные синхронные HDLC и IBM SDLC; поддерживается CRC-контроль; корпуса DIP40, PLCC44 и PQFP44.
-
Z80DMA (Direct Memory Access) — контроллер прямого доступа к памяти, одноканальный, корпуса DIP40, PLCC44 и PQFP44
-
Z80DART (Dual Asynchronous Receiver/Transmitter) — UART двухканальный асинхронный приёмопередатчик.
Полезные ссылки:
-
Процессор Z80 https://speccy.info/Zilog_Z80
-
Ассемблер Z80 https://ru.wikibooks.org/wiki/Ассемблер_Z80
-
Микроконтроллер на основе микропроцессора Z80 https://imlab.narod.ru/Electron/Z80_08/Z80_08.htm
ссылка на оригинал статьи https://habr.com/ru/articles/1084904/