Pppdddff
Скачать 1.31 Mb.
|
P P P D D D F F F v v v e e e r r r s s s i i i o o o n n n b b b y y y D D D e e e n n n y y y ( ( ( Д Д Д е е е н н н и и и с с с е е е н н н к к к о о о Д Д Д . . . А А А . . . ) ) ) e e e - - - m m m a a a i i i l l l : : : D D D e e e n n n y y y D D D A A A @ @ @ m m m a a a i i i l l l . . . r r r u u u 2 2 2 0 0 0 0 0 0 7 7 7 ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР Z80CPU 1 Краткая характеристика МП Z80 2 Архитектура ЦП 3 Описание выводов 4 Временные диаграммы машинных циклов 5 Система команд 6 Система прерываний 7 Технические характеристики МИНСК УКИК "ЦЕНТР" 1991 СОДЕРЖАНИЕ ПРЕДИСЛОВИЕ 4 ВВЕДЕНИЕ 5 1. КРАТКАЯ ХАРАКТЕРИСТИКА МИКРОПРОЦЕССОРА Z80 6 2. АРХИТЕКТУРА ЦП 7 2.1. Регистры 7 2.2. Арифметическо-логическое устройство (АЛУ) 10 2.3. Регистр команд и устройство управление процессором 10 2.4. Управление шинами адреса и данных 10 3. ОПИСАНИЕ ВЫВОДОВ 11 4. ВРЕМЕННЫЕ ДИАГРАММЫ МАШИННЫХ ЦИКЛОВ 14 4.1. Извлечение кода операции 14 4.2. Цикл чтения памяти и цикл записи в память 15 4.3. Циклы ввода/вывода 16 4.4. Цикл предоставления доступа к шине 17 4.5. Цикл подтверждения маскируемого прерывания 18 4.6. Цикл подтверждения немаскируемого прерывания 20 4.7. Выполнение команды останова 20 5. СИСТЕМА КОМАНД 21 5.1. Методы адресации 21 5.2. Группы команд 23 5.3. Флаги признаков 35 5.4. Очередность выполнения по циклам 37 6. СИСТЕМА ПРЕРЫВАНИЙ 41 6.1. Разрешение и запрещение прерываний 41 6.2. Приём запросов в ЦП 43 6.3. Обработка прерываний 45 6.3.1. Обработка немаскируемого прерывания 45 6.3.2. Маскируемое прерывание. Режим 0 47 6.3.3. Маскируемое прерывание. Режим 1 49 6.3.4. Маскируемое прерывание. Режим 2 51 7. ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ 55 7.1. Схемы входных и выходных каскадов 55 7.2. Электрические и временные параметры 56 7.2.1. Статические параметры Z80, Z80A 56 7.2.2. Динамические параметры Z80 57 7.2.3. Динамические параметры Z80A 58 7.2.4. Предельные значения 62 7.3. Надежность 62 ПРИЛОЖЕНИЕ А. КОДОВЫЕ ТАБЛИЦЫ КОМАНД 63 ПРИЛОЖЕНИЕ Б. СООТВЕТСТВИЕ МНЕМОНИК АССЕМБЛЕРА Z80 И I8080 70 ЛИТЕРАТУРА 73 ПРЕДИСЛОВИЕ Предлагаемая книга является первой из серии "Микропроцессорный комплект Z80". Она посвящена главной БИС комплекта - центральному процессору Z80CPU и представляет собой справочник с расширенной описательной частью. Книга содержит 7 глав. Первая - это краткая характеристика МП Z80. В главе 2 рассматривается общая архитектура МП и назначение её составных частей. Особое внимание уделено программно-доступным регистрам. Глава 3 содержит описание выводов МП. В главе 4 с помощью временных диаграмм анализируются процессы на шинах при выполнении всех машинных циклов. Глава 5 посвящена системе команд. Для лучшего понимания назначения команд они разбиты по функциональному признаку. Рассматривается порядок выполнения команд по циклам и влияние их на состояние флагов. В шестой главе рассмотрены прерывания МП Z80. Подробно отражены вопросы разрешения/запрещения прерываний, процедура приёма запросов в ЦП, работа МП в различных режимах прерываний. Временные и электрические параметры БИС даны в главе 7. Для удобства программирования в приложениях книги приведена система команд в виде кодовых таблиц. Таблица соответствия мнемокодов Ассемблера для идентичных команд микропроцессоров Z80 и I8080 поможет тем, кто имеет опыт программирования для КР580ВМ80. Цель написания данной книги - дать разработчикам и пользователям вычислительной техники исчерпывающую информацию о микропроцессоре Z80. Знакомство с ней, мы надеемся, будет полезно как опытным инженерам в проектировании, ремонте и наладке оборудования, так и любителям, постигающим компьютерную технику и азы программирования с помощью популярных сейчас бытовых компьютеров. Выражаем признательность кандидату технических наук А.Н. Цырульникову за внимательное изучение рукописи и полезные, предложения которые способствовали улучшению материала книги и формы его изложения. Будем благодарны читателям за все отзывы, пожелания и предложения, которые следует присылать по адресу: 220008 Минск, а/я-103. ВВЕДЕНИЕ Микропроцессор Z80 был разработан в 1976 году фирмой Zilog (США), учрежденной специалистами, принимавшими ранее самое непосредственное участие в разработках пионерских микропроцессоров фирмы Intel. Оптимальное сочетание аппаратных и программных достижений того времени предопределило его широкое распространение. Теперь уже можно сказать, что Z80 - это вершина восьмиразрядных микропроцессоров. Впоследствии фирма Zilog разработала целый комплект БИС для построения микрокомпьютерных систем на базе своего МП. В комплект входят: Z80CPU Central Processor Unit - центральный процессор; Z80PIO Parallel Input. Output - интерфейс параллельного ввода/вывода; Z80CTC Counter Timer Circuit - счетчик/таймер; Z80SIO Serial Input Output - интерфейс последовательного ввода/вывода; Z80DMA Direct Memory Access - контроллер прямого доступа к памяти; Z80DART Dual Asynchronous Receiver/Transmitter двухканальный асинхронный приемопередатчик. На базе этого комплекта созданы микрокомпьютерные системы для управления широким классом технологического оборудования: от станков с ЧПУ до химических установок, встроенные системы управления (от автомобилей до бытовых приборов), медицинская аппаратура и, конечно, персональные компьютеры, и периферийные устройства к ним (принтеры, графопостроители и пр.). К настоящему времени многими фирмами разработаны аппаратно-программные средства поддержки проектирования и отладки систем, построенных на базе Z80. Существует несколько вариантов микропроцессора: Z80, Z80A, Z80B и Z80H (high speed), которые имеют максимальную тактовую частоту 2.5, 4, 6 и 8 МГц соответственно. Помимо обозначения Z80CPU, характеризующего фирменную принадлежность и функциональное назначение БИС, на её корпусе также указывается стандартная маркировка Z8400. Микропроцессор Z80L (low power) предназначен для использования в системах с аккумуляторным питанием. Он характеризуется пониженным потреблением мощности и имеет две разновидности: Z8300-1 - 1МГц, 15мА и Z8300-3 – 2.6МГц 25мА. Материал данной брошюры в равной мере касается всех типов микропроцессора, за исключением гл. 7. В ней приведены технические параметры двух наиболее часто используемых МП Z80 и Z80A. 1. Краткая характеристика микропроцессора Z80 МП Z80 представляет собой БИС с 8500 транзисторами на Кристаллической пластине площадью 4,6*4,9 мм 2 и выпускается в DIP корпусе с 40 выводами. БИС выполнена по n- канальной МОП технологии с кремниевыми затворами и работает от одного источника питания +5В. Все входы и выходы микросхемы ТТЛ-совместимы МП Z80 предназначен для работы с памятью (постоянной и оперативной) с общей емкостью до 64К Память имеет байтовую структуру - возможна адресация в памяти любого байта. Ширина выборки из памяти - 1 байт. При обращении к памяти используются 16-разрядные (двухбайтные) адреса. Организация МП Z80 отмечена следующими основными особенностями: ü трехшинной структурой с шинами адреса, данных и управления; ü наличием регистровой памяти, образованной программно доступными и общими и специализированными регистрами, а также регистрами временного хранения; ü наличием двух (главного и вспомогательного) аккумуляторов. Флаговых регистров и наборов РОН; ü магнетральным принципом связей, реализованным в виде связывающей основные узлы МП двунаправленной шины данных, имеющей ширину, равную длине слов, обрабатываемых микропроцессором (8 разрядов); ü наличием 16-разрядной шины адреса, обеспечивавшей возможность прямой адресации любого байта в памяти ёмкостью 64 Кбайт; ü наличием 10 способов адресации: непосредственная, регистровая, косвенная, абсолютная, модифицированная нуль-страничная, относительная, индексная, битовая, встроенная и смешимая; ü расширенным набором команд (158 базовых команд для работы с 16-, 8-, 4- и однобитными данными); ü наличием четырёх форматов команд (1-, 2-, 3- и 4-байтного); ü наличием средств для работы с подпрограммами: команды вызова и возврата, с тон числе условного; ü наличием средств организации стековой памяти (регистр - указатель стека, схемы дополнении операций инкремента декремента, специальные команды стековых операций); ü наличием эффективных средств обработки массивов данных: пересылки, сравнения и ввода/вывода блоков; ü развитой системой прерываний: возможна реализация векторных многоуровневых приоритетных прерываний без подключения БИС контроллера прерываний. Имеются 3 программно выбираемых режима маскируемого прерывания, а также немаскируемое прерывание; ü возможностью реализации в МП режима прямого доступа к памяти путем подключения специальной БИС (контроллера ПДП); ü упроченными схемами интерфейса - отпадает необходимость в дополнительных БИС, таких как, например, генератор тактовых импульсов и системный контроллер для МП I8080; ü наличием встроенной схемы регенерации динамического ОЗУ. Программное обеспечение МП совместимо с программной частью МП Intel 8080 Набор команд Z80, по существу, является расширенным набором команд I8080, поэтому МП Z80 может выполнять программы, написанные для I8080. 2. Архитектура ЦП Архитектуре МП Z80 является типичной для 8-разрядных микропроцессоров. В ней можно выделить следующие основные части: ü блок регистров, ü арифметическо-логическое устройство, ü регистр команд, ü дешифратор команд и устройство управления, ü схемы управления шинами адреса и данных. Рис. 2.1. Блок-схема ЦП Z80 2.1. Регистры Программно доступными средствами ЦП являются 22 внутренних восьми- и шестнадцатиразрядных регистра. Они образуют три блока: 2 альтернативных блока (главный и вспомогательный) - по шесть 8-разрядных регистров, аккумулятору и регистру флагов в каждом, и блок специальных регистров. Блок главных регистров Блок вспомогательных регистров Аккумулятор A (8) Флаги F (8) Аккумулятор A´ (8) Флаги F´ (8) B (8/16) C (8) B´ (8/16) C´ (8) D (8/16) E (8) D´ (8/16) E´ (8) H (8/16) L (8) H´ (8/16) L´ (8) Регистры общего назначения Вектор прерывания I (8) Регенерация памяти R (8) Индексный регистр IX (16) Индексный регистр IY (16) Указатель стека SP (16) Счётчик команд PC (16) Специальные регистры Рис. 2.2. Регистры ЦП Z80 Специальные регистры PC Program Counter - Счётчик команд Счётчик команд является программно доступным регистром, и используемся для приёма, преобразования и выдачи на шину адреса текущего 16-разрядного адреса команды. Содержимое счётчика команд автоматически инкрементируется после выборки каждого байта команды. В случаи перехода в программе, новый адрес автоматически заносится в счетчик команд. SP Btack Pointer - Указатель стека Указатель содержит 16-разрядный адрес ячейки стека, к которой было последнее обращение Содержимое SP декрементируется, когда данные загружаются в стек и инкрементируется при чтении. Стек организуется во внешнем ОЗУ по принципу LIFO (Last In - First Out). Обмен данными между стеком и ЦП может быть автоматическим (как в случае обработки подпрограмм), либо командами PUSH и POP. Стек позволяет простую реализацию многоуровневых прерываний, практически неограниченное вложение подпрограмм и упрощение при многих видах обработки данных. IX, IY Indexregisters - Индексные регистры Каждый из этик двух регистров может содержать 16-разрядный базовый адрес, используемый при индексной адресации. Базовый адрес складывается со смещением, которое указано в команде в дополнительном коде. Их сумма образует действительный адрес ячейки памяти, содержащей данные. Этот вид адресации удобен при обработке таблиц и массивов. I Interruptveotor register - Регистр вектора прерывания Это 8-разрядный программно доступный регистр, используемый в режиме прерывания 2 (IM2) Он содержит старший байт вектора прерывания. Младший байт принимается от внешнего устройства. Путём их объединения формируется полный вектор прерывание. (Подробнее см. гл. 6). R Refreshregister - Регистр регенерации памяти Это 8-разрядный программно доступный регистр, обеспечивавший возможность использования динамических ОЗУ без внешних схем регенерации. Содержимое его младших 7 разрядов автоматически увеличивается на единицу после каждой выборки команды. При этом восьмой бит сохраняет значение, полученное при выполнении команды загрузки этого регистра. Т.о. формируется адрес регенерации, который подается в младшую часть адресной шины во время декодирования и выполнения команды в ЦП (в старшую часть - содержимое регистра I). Регенерация данного вида называется "прозрачной" и не снижает быстродействия процессора. Главный и вспомогательный блоки регистров ЦП Z80 содержит два альтернативных блока регистров: главный (A-L) и вспомогательный (A'-L'). С точки зрения программиста оба блока абсолютно равноправны, но в данный момент можно работать лишь с одним из них. Переключение этих блоков производится командами ЕХХ и EX AF.AF'. Такая организация удобна тем, что позволяет быстро сохранить содержимое регистровых блоков при вызове подпрограмм или при возникновении прерывания. Однако следует помнить: отсутствует средство подтверждения, какой из блоков (главный или вспомогательный) используется в данный момент. A,A' Accumulator - Аккумулятор Каждый из двух блоков регистров содержит по одному 8-разрядному аккумулятору. При арифметических и логических операциях он служит источником одного из операндов и, как правило, приёмником результата. Второй операнд берётся из другого регистра, либо из памяти. Диапазон представления целых чисел без знака в аккумуляторе от 0 до 255, со знаком от -128 до +127. F,F' Flagregister - Флаговый регистр В составе каждого блока регистров имеется свой флаговый регистр. Флаговый регистр (называемый также регистром условий) содержит набор одноразрядных признаков, которые устанавливаются по результату операции. Флаговые биты 7, 6, 2, 0 служат для реализации условных переходов и условных вызовов подпрограмм или возвратов; биты 4 и 1 служат для реализации двоично-десятичной арифметики. Рис. 2.3. Регистр флагов Флаги устанавливаются в следующих условиях: S=1, если результат операции отрицателен. Z=1, если результат операции равен нулю. Н=1, если при арифметической операции был перенос между битами 3 и 4. P/V=1, а). если при логических операциях и командах сдвига количество установленных в единицу битов чётно (функция четности P); б). если результат арифметической операции находится вне диапазона представления чисел со знаком, т.е. меньше -128, либо больше +127 (функция переполнения V). N=1, если в предыдущей команде выполнялось вычитание (команды типа SUB, DEC, CMP). C=1, если при сложении возникает перенос из 7 бита аккумулятора, либо при вычитании - заём. В командах сдвига состояние флага C однозначно соответствует сдвигаемому в него биту. В, С, D, E, H, L Регистры общего назначения (РОН) B', C', D', E', H', L' Могут быть использованы как накопители данных или указатели адресов операндов. РОНы могут использоваться как самостоятельные 8-разрядные регистры, либо как 16-разрядные попарно: ВС, DE, HL и ВС', DE', HL'. |