Дж.Хиллбурн, П.Джулич Микро-ЭВМ и микропроцессоры (1979) (1092080), страница 47
Текст из файла (страница 47)
Стек предназначен для запоминания и восстановления содержимого счетчика команд при выполнении команд обращения к подпрограмме и возврата соответственно. Трехразрядный указатель адреса используется для указания местоположения счетчика команд. При переполнении стека содержимое регистра нижнего уровня теряется (равд. 4.4). б) Сверхоперативная память.
Сверхоперативная память содержит 8-разрядный аккумулятор (А) и шесть вспомогательных 8-разрядиых регистров (В, С, Р, Е, Н и Е). Содержимое аккумулятора используется в качестве одного из операндов во всех арифметических операциях. Все регистры независимы и предназначены для временного хранения данных. Для выполнения команд обращения к внешним ЗУ в случае косвенной адресации по регистру применяют регистры Н и Е. В регистре Е содержатся 8 младших, а в регистре Н вЂ” 6 старших разрядов адреса, прн этом шестой и седьмой разряды регистра Н не используются. 3.
АЛУ Все арифметические и логические операции выполняются в 8-разрядном двоичном арифметическом устройстве параллельного типа, включающем логическую схему предварительного анализа переносов. Для хранения содержимого аккумулятора и операнда операций АЛУ служат специальные регистры а и Ь, к которым программист не имеет доступа. Эти регистры используются для временного хранения адреса и данных при пересылках внутри процессора. В зависимости от результата арифметической или логи- Микропроцессоры и викри-ЭВМ 279 Ггаергг3анае генгеее Юг де рг ггг рг Юг рг Юе ег Ганг юнеигаае агина рана эгг ге аг гг с"есеменае Рис. 7,26.
Схема выводов корпуса микропроцессоров 8008/8008-1. (С раэрешеиии 1п1е! Согр.) ческой операции устанавливаются четыре разряда состояния (триггер переноса, триггер нуля, триггер знака и триггер четности). Триггеры обеспечивают возможность перехода по условию при выполнении команд обращения к подпрограмме, условного перехода и возврата по условию (равд. 4.4). Разряд переноса необходим для выполнения арифметических операций с увеличенной точностью. 4. Буфер ввода-вывода Буфер ввода-вывода предназначен для управления пересылкой: данных между внутренней шиной данных процессора и внешней. шиной данных (Ро — Рг). Сигналы синхронизации и управления используются для мультиплексной передачи по шине данных управляющей информации, 14-разрядных адресов и данных между процессором и внешним ЗУ или устройствами ввода-вывода. Корпус микропроцессора имеет 18 выводов (рис.
7.26). Ф1 гь Фэ — входы генератора двухфазных тактовых импульсов. Напряжения питания Е„и Е, равны соответственно +5 и — 9 В. Мощность потребления ИС при 25'С 1 Вт. Все входы совместимы с ТТЬ-схемами, а выходы — с ТТЕ-схемами малой мощности. МАШИИИЫИ ЦИКЛ Обычно машинный цикл состоит из пяти состояний, а каждое. состояние включает два периода тактовых импульсов (рис. 7.27).
Два состояния Т1 и Т2 предназначены для пересылки адреса во внешнее ЗУ. В состоянии ТЗ осуществляется выборка команды или данных. Состояния Т4 и Т5 являются состояниями выполнения операции. Если вместе с процессором'используются медлен- о о Ю 3 о О, Ы о й О о О '4 Ы З о ж О3 о ы о и ж а в" а~ Ф Микролроцессорм и микро-ЭВМ 28 а Рнс. 7.М.
Диаграмма состояний ЦП. (С разрешения 1н1е! Согр.) ные ЗУ, то линия «Готово» предназначена для синхронизации работы процессора с работой этих устройств. В таком случае процессор входит в состояние ожидания до выборки байта из памяти. Получение сигнала «Готово» подтверждается в состоянии ТЗ. С поступлением сигнала «Прерывание» осуществляется переход из состояния Т1 в состояние Т11 в начале машинного цикла. Это исключает невыполнение начатой команды, когда требуется прерывание. В состоянии Т11 не происходит увеличения содержимого счетчика команд, что обычно имеет место в состоянии Т1.
При подтверждении прерывания внешние логические схемы отключают память от шины данных ЗУ и в состоянии ТЗ непосредственно выдают на шину 8-разрядное слово команды. Если выбрана команда ОСТАНОВ (Н).Т), процессор входит в соответствующее состояние в конце состояния ТЗ. Повторный запуск осуществляется по сигналу прерывания. Диаграмма состояний для машинного цикла показана на рис. 7.28. Процессор управляет использованием шины данных и определяет, будет происходить выдача или прием данных. Сигналы состояний Яе, 5~ и 5з вместе с сигналом «Синхронизация» информируют схемы внешних устройств о состоянии процессора.
Двоичные коды состояний приведены в табл. 7.1. Для выполнения команд микропроцессора 8008 требуется от 1 до 3 машинных циклов. Первый цикл — всегда цикл выборки команды РС1. Второй и третий циклы — циклы чтения данных (РСц), записи данных (РСЮ) нли операций ввода-вывода (РСС). Код цикла всегда 2-разрядный (табл. 7.2) и находится на шине 282 Глава 7 Таблица 7 ! Двоичные коды состояний Т! Т!1 Т2 Онгиданне ТЗ Останов Т4 Тб Таблица 7.2 Двоичные коды циклов Рг Цикл Назначение РС! и ',РС!1) РСС1 Указание адреса чтения из памяти первого байта команды Указание адреса чтения из памяти данных (дополни- тельных байтов команды или собственно данных) Указание данных как команды ввода-вывода Указание адреса для записи данных в память данных только во время состояния Т2, Многие команды процес- сора не включают двух исполнительных состояний Т4 и Тб; в та- ких случаях Т4 и Тб пропускаются.
НАБОР КОМАНД Набор команд 1п1е! 8008 включает 48 команд, разделенных на четыре группы (приложение Г). Команды каждой группы могут иметь 1-, 2- или 3-байтовый формат. Первый байт определяет код операции, а второй и третий, если, конечно, они используются, — данные или адрес.
К 1-байтовым командам относятся команды пересылки между регистрами, обращения к памяти, ввода-вывода, циклического сдвига, возврата, а также арифметические и логические команды. Двух- и 3-байтовые команды включают соответственно команды с непосредственными данными и команды перехода или обращения к подпрограмме. Первая группа состоит из семи команд с индексными (зсга1сЬ- раб) регистрами, которые не являются индексными регистрами в обычном понимании (равд. 4.4); мы будем называть их регистрами общего назначения.
Пять команд обеспечивают пересылку Микропроцессоры и микро-ЭВМ 283 данных между отдельными регистрами и между регистрами и внешней памятью. Остальные две команды позволяют увеличивать или уменьшать содержимое всех регистров общего назначения, за исключением регистра Л. Ко второй группе относятся 28 команд, предназначенных для работы с аккумулятором, они выполняют арифметические и логические операции. Из этих команд 24 команды разделены на три группы по восемь команд: а) команды обращения к индексным регистрам; б) команды обращения к внешней памяти при помощи регистров Н и 7.; в) команды, использующие лишь непосредственные данные.
Все эти команды АЛУ выполняют операции арифметического сложения и вычитания с переносом или заемом, нли без них, логические операции И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, а также операции сравнения с содержимым аккумулятора. Четыре команды сдвига обеспечивают сдвиг содержимого аккумулятора влево и вправо как с использованием разряда переноса, так и без него. Третью группу образуют десять команд управления стеком, предназначенных для переходов, обращений к подпрограммам и возвратов, как безусловных, так и условных, зависящих от результатов проверки каждого из четырех разрядов. Специальная 1-байтовая команда вызова ЯБТ используется для обращения к подпрограммам обработки прерывания.
Последняя группа состоит из двух команд ввода-вывода. Команда ВВОД (1)Ч) осуществляет пересылку в аккумулятор 8-разрядного слова от одного из восьми портов ввода, указанных в поле команды. Команда ВЫВОД (ОПТ) выдает содержимое аккумулятора по одному из 24 неявных адресов вывода.
В набор команд включены также машинные команды ОСТАНОВ (Н).Т) и НЕТ ОПЕРАЦИИ ()ЧОР). Команда НЕТ ОПЕРАЦИИ является командой пересылки типа регистр — регистр, где регистр-источник и регистр-приемник один и тот же (например, МОУ А, А). ДОПОЛНИТЕЛЬНЫЕ ТЕХНИЧЕСКИЕ СРЕДСТВА При проектировании мнкро-ЭВМ' на основе микропроцессора 8008 возникает необходимость в большом числе периферийных логических схем, что связано с наличием всего одной 8-разрядной шины данных. Для управления такой системой следует использовать мультиплексор и сложную схему синхронизации.
Для сопряжения процессора с внешним ЗУ и УВВ требуется примерно 20 модулей со средним уровнем интеграции. На рис. 7.29 показаны вспомогательные технические средства, необходимые для создания микро-ЭВМ [17). Блок ЦП включает собственно процессор, генератор двухфазных тактовых импульсов. 284 Гвова 7 лн эиа» у рв з Рнс. 7.29. Структурная схема тнпнчной макро-ЭВМ на базе макропроцессо- ра 8008. блок управления, регистры 1~ и 1м а также дешифраторы циклов, фаз и состояний. Восьмиразрядная двунаправленная шина данных связывает процессор с внешней памятью и регистрами 1~ и 1а (фиксаторами адреса и кода состояния). Блок управления определяет направление передачи данных по шине относительно процессора, а также осуществляет стробирование данных в регистры 1~ и 1з.
Кроме того, он устанавливает режим обращения к памяти (чтение или запись) и активирует каналы ввода-вывода. Из внешних регистров 1, и 1х адреса выдаются в 3У, а в каналы ввода-вывода поступают данные и указатели. Содержимое двух старших разрядов регистра 1, подается на дешифратор циклов для выработки сигналов циклон РС1, РСК, РС% и РСС (табл. 7.2), что обеспечивает синхронность работы процессора с внешними схемами. Дешифратор состояния является дешифратором 1-из-8; он обеспечивает схемы. блока управления информацией о состоянии блока ЦП (табл.