Микропроцессор Z80 его структура и система команд
Рефераты >> Программирование и компьютеры >> Микропроцессор Z80 его структура и система команд

Архитектура микропроцессора Z-80 фирмы ZILOG основывается на архитектурных принципах микропроцессора 8080 и позволяет выполнять все 78 команд этого микропроцессора, а также 80 дополнительных команд. Всего микропроцессор Z-80 имеет 696 кодов операций (в отличие от 244 кодов микропроцессора 8080).

К числу особенностей микропроцессора Z-80 относятся: использование для питания лишь одного источника напряжением “+5В”, наличие однофазного внешнего синхрогенератора, 17 внутренних регистров и встроенная схема регенерации ОЗУ.

НАЗНАЧЕНИЕ ВЫВОДОВ.

Микропроцессор Z-80 - это микросхема с 40 выводами, пронумерованными от 1 до 40. Рассмотрим функции выводов.

Вывод 11 напряжение питания +5в. Вывод 29- общий. Вывод 06- тактовый вход. В SPECTRUMe используется тактовая частота 3.5 Мгц. Вывод 07-10, 12-15- информационная шина. Вывод 1-5,30-40- адресная шина.

Оставшиеся 13 выводов присоединены к линиям, которые несут управляющие сигналы. Вывод 21- линия считывания RD. Эта линия становится активной, когда байт информации должен быть считан из памяти или порта. Вывод 22- линия записи WR. Эта линия активна, когда байт информации должен быть записан в память или в порт. Вывод 19- запрос памяти MREQ. Эта линия активна в тех случаях, когда требуется обращение к памяти.

Байт информации считывается из памяти в соответствии с адресом, помещенным на адресной шине. Далее, в соответствии с откликом на сигналы RD и MREQ, байт информации поступает на информационную шину, с которой эта информация в дальнейшем считывается микропроцессором. Для записи байта данных в память микропроцессор помещает требуемые адреса на адресную шину и требуемую информацию на шину данных. Сигналы MREQ и WR активизируются, и байт данных записывается в память.

Вывод 28- линия регенерации RFSH. Она используется для регенерации динамической памяти. Частично используется для формирования TV сканирующих сигналов. Вывод 27- активизируется при выполнении машинного цикла М1 и показывает, что проходящий машинный цикл обработки команды находится в состоянии “ввода кода операции” при выполнении некоторой команды. Сигнал М1 при выполнении двухбайтовой команды формируется при вызове каждого байта кода операции. Сигнал M1 появляется вместе с сигналом IORQ в цикле приема прерывания. Выборка инструкции требует, чтобы все три сигнала MI, MREQ и RD были активизированы. В то же время выборка байта данных из ячейки памяти требует, чтобы только MREQ и RD были активизированы. Время необходимое для выборки инструкции - 1.14мкс, что составляет 4 такта. Вывод 20- линия выход lORQ. Эта линия активна при выполнении команд IN или OUT. Вывод 18- останов HALT. Линия активизируется при выполнении команды HALT. Вывод 25- линия запроса BUSRQ. Z-80 позволяет внешним устройствам использовать адресную и информационную шину в режиме пропуска цикла. Запрос микропроцессору пропустить следующий цикл выполняется внешними устройствами путем активизации этой линии. Вывод 23- линия подтверждения, BUSAK. Микропроцессор подтверждает запрос остановки после выполнения команды и активизирует эту линию.

Оставшиеся 4 вывода находятся под контролем пользователя. Вывод 26- линия сброса, RESET. Используется для инициализации микропроцессора. Она активизируется при включении питания. Сброс может быть осуществлен в SPECTRUMe соединением линий RESET и GND. Вывод 24- линия ожидания WAIT. “Медленная” память может требовать большего времени для цикла считывания или записи и об этом сообщает микропроцессору путем активизации линии WAIT. Вывод 17- “немаскируемое прерывание” NMI. Активизация этой линии приводит к остановке выполнения микропроцессором текущей программы, и вместо нее микропроцессор выполняет программу прерывания, записанную специально для этой цели. В SPECTRUMe немаскируемое прерывание требует системного сброса, который выполняется записыванием 0 по адресу 23728. Вывод 16- “маскируемое прерывание”, INT. В SPECTRUMe сканирование клавиатуры и обмен в режиме реального времени называется “управляемым прерыванием”. Это означает, что электроника системы каждые 1/50 секунды активизирует INT, вызывая остановку выполнения микропроцессором основной программы и, вместо этого, выполнение программы сканирования клавиатуры. Способность Z80 реагировать на INT может управляться программистом специальными машинными командами.

ЛОГИЧЕСКАЯ ОРГАНИЗАЦИЯ Z80

В состав Z80 входят: устройство управления, регистр команд, программный счетчик, 24 регистра пользователя и арифметико-логическое устройство.

Устройство управления.

В Z80 управляющее устройство выдает огромное число внутренних управляющих сигналов, а также обеспечивает формирование внешних управляющих сигналов.

Регистр команд.

Термин “регистр” используется для описания простой ячейки памяти внутри Z80. Регистр содержит 8 бит (1 байт). В Z80 имеется большой блок регистров, и пересылка байтов данных к регистрам и от них является простейшей и наиболее важной чертой программирования в машинных кодах.

Регистр команд - специальный регистр, где микропроцессор содержит копию выполняемой текущей команды. Одной из черт набора команд Z80 является то, что определенные инструкции содержатся в двух байтах данных. В этих случаях регистр команд содержит каждую команду по очереди.

Программный счетчик.

Программный счетчик - это пара регистров, которые используются совместно, поэтому программный счетчик содержит 16-ти битные значения.

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

Действие программного счетчика очень похоже на переменную РРС интерпретатора бэйсик, которая содержит номер текущей строки бэйсик и также наращивается.

Регистры пользователя (основные регистры).

Имеется 24 регистра пользователя. Все регистры однобайтовые, хотя обычно используются парами. Регистр А называется аккумулятором. Аккумулятор - основной регистр микропроцессора при различных операциях с данными. Большинство арифметических и логических операций осуществляется путем использования АЛУ и аккумулятора. Любая такая операция над двумя словами данных предполагает размещение одного из них в аккумуляторе, а другого - в памяти или еще в каком-нибудь регистре. Так при сложении двух слов, условно называемых А и В и расположенных в аккумуляторе и памяти соответственно, результирующая сумма загружается в аккумулятор, замещая слово А.

Регистр F - это флаговый регистр. Он часто рассматривается как набор восьми флаговых битов, связанных вместе, а не как отдельный регистр. Установление флага соответствует 1, сброс -0. Программист обычно имеет дело с 4-мя основными флагами. Это флаг нуля, флаг знака, флаг переноса и флаг четности-переполнения. Дополнительные флаги используются управляющим устройством и не могут быть использованы программистом непосредственно.

Регистровая пара HL.

При обращении к регистровой паре HL сначала указывается младшая часть (LOW), а затем старшая (HIGH). Память 64К может быть рассмотрена как 256 страниц по 256 адресов в каждой. В этом случае значение старшего байта указывает на используемую страницу.


Страница: