Как устроено и функционирует 4-битное АЛУ в процессоре Z-80

Секреты архитектуры Z-80: как 4-битное АЛУ управляет 8-битным миром

Легендарный 8-разрядный процессор Z-80 оставил глубокий след в истории вычислительной техники. Он стал «сердцем» таких культовых машин, как Sinclair ZX Spectrum, Osborne 1 и TRS-80. Даже сегодня его можно встретить во встроенных системах и графических калькуляторах от Texas Instruments. Долгое время считалось, что арифметико-логическое устройство (АЛУ) этого чипа имеет 8-битную структуру, как и у большинства его современников. Однако глубокий реверс-инжиниринг преподнес сюрприз: на самом деле АЛУ в Z-80 четырехбитное. Хотя основатели Zilog упоминали об этом в своих мемуарах в Музее компьютерной истории, для широкой публики этот факт оставался малоизвестным.

В ходе исследования топологии процессора на основе микрофотографий от проекта Visual 6502 была детально изучена структура кристалла. Ниже представлена общая схема размещения АЛУ на подложке процессора.

Как устроено и функционирует 4-битное АЛУ в процессоре Z-80
Общая компоновка кристалла Z-80 и зона расположения АЛУ

Анатомия и принцип работы АЛУ

Представленная блок-схема, составленная на основе реальной топологии кремния, демонстрирует внутреннее устройство блока. АЛУ базируется на четырех однобитных ячейках, объединенных в единый 4-разрядный модуль. Связь с остальными компонентами процессора и регистровым файлом осуществляется через левую часть схемы посредством регистровой шины.

Процесс обработки данных в Z-80 происходит в несколько этапов. Сначала два 8-битных операнда загружаются из регистров во внутренние буферы (защелки). Затем АЛУ выполняет операцию над младшим полубайтом (нижние 4 бита) и временно сохраняет результат. На следующем такте обрабатывается старший полубайт. В финале все 8 бит (сохраненные младшие и только что вычисленные старшие) отправляются обратно в регистры. Такая двухцикловая схема позволяет полноценно оперировать 8-битными данными, используя компактное 4-битное ядро.

Внутренняя архитектура включает две 4-битные шины, сопряженные с основной 8-битной магистралью. Мультиплексоры динамически переключают потоки данных между младшими и старшими разрядами. Защелки op1 и op2 удерживают значения операндов, при этом блок op2 способен инвертировать входящий сигнал, что необходимо для реализации операций вычитания, сравнения и отрицания.

Блок-схема АЛУ Z-80
Детальная структурная схема АЛУ, основанная на реверс-инжиниринге топологии

Уникальные возможности: работа с битами и сдвиги

Z-80 выделяется среди конкурентов (таких как 6502 или 8085) мощным набором инструкций для манипуляции отдельными битами (установка, сброс, проверка). Интересно, что логика выбора конкретного бита интегрирована непосредственно в структуру АЛУ. Декодирование соответствующих команд происходит прямо здесь, что повышает эффективность выполнения операций.

Механизм сдвига данных в Z-80 также реализован оригинально. В отличие от других процессоров того времени, которые выполняют сдвиг как отдельную арифметическую операцию, Z-80 осуществляет его в момент загрузки данных в АЛУ. Специальная схема коммутации позволяет считывать значение с шины напрямую, либо со смещением на один бит влево или вправо.

Также предусмотрены специфические пути передачи данных между шинами для поддержки команд десятичной коррекции и вращения (RRD, RLD), что делает работу с BCD-числами в Z-80 более совершенной, чем в Intel 8085.

Кремниевая реализация

Микрофотография АЛУ
Увеличенный фрагмент кристалла, демонстрирующий четыре горизонтальные секции АЛУ

На макрофотографии кристалла отчетливо видны четыре идентичных слоя обработки. Вертикальные металлические дорожки обеспечивают питание и подачу управляющих сигналов, а горизонтальные линии из поликремния формируют транзисторные логические элементы. Каждая такая секция отвечает за обработку одного бита информации.

Транзисторная логика одного бита
Кремниевая структура, реализующая логику одного разряда АЛУ

Основное ядро каждого разряда — это сложный многоуровневый логический вентиль. С помощью комбинации управляющих сигналов он вычисляет сумму, выполняет логическое И, ИЛИ или исключающее ИЛИ (XOR). Реализация вычислений в Z-80 концептуально чище, чем в 8085, хотя и отличается от подхода 6502, где операции выполняются параллельно с последующим выбором результата через проходные транзисторы.

Выводы

Инженерные решения, заложенные в Z-80, демонстрируют виртуозную оптимизацию. Использование 4-битного АЛУ для 8-битных задач позволило сэкономить место на кристалле без ущерба для функциональности. Сравнение «академических» схем из учебников с реальным кремнием Z-80 наглядно показывает, на какие компромиссы шли разработчики ради эффективности и надежности.

Для тех, кто хочет изучить вопрос на уровне транзисторной логики, доступна полная принципиальная схема АЛУ Z-80.

Панорама АЛУ

Если вы стремитесь перейти от теории к созданию собственных систем, рекомендуем обратить внимание на курс Embedded Developer. Программа охватывает проектирование устройств на базе микроконтроллеров, работу с RTOS и современными интерфейсами связи. Проверьте свои знания и пройдите вступительный тест.

Приглашаем также на бесплатные вебинары с экспертами индустрии:

Актуальный список всех мастер-классов доступен в календаре мероприятий.

 

Источник

Читайте также