Главная страница » Электрика в театре » Мультиплексоры демультиплексоры в последовательностных схемах

1 ... 20 21 22 23 24 25 26 ... 39

На рис. 10.14 показана типовая структура ОЗУ и ПЗУ фирмы Motorola. На схеме видно, каким образом соединяются линии шин данных, адреса и управления. Остальные управляющие сигналы служат для сопряжения ЦПУ с устройствами ввода-вывода, а также для обеспечения возможностей пуска и начальной установки. □

10.5.2. ЦПУ Intel 8085А

Подробная структурная схема ЦПУ 8085А приведена на рис. 10.15. Это ЦПУ снабжено 16-разрядной адресной шиной и 8-разрядной шиной данных. Однако шина данных и линии А7-АО адресной шины конструктивно представляют собой одну и ту же шину. Это позволяет уменьшить количество внеш-

п

8~разрядная шина данных

Регистр состояния Регистр бре-пенноео хранения-

Анну/уля-тор А

АЛУ

Дешифратор

8-разрядные регистры Б.C.D и Е Пара 8-разрядных регистров Н и L 1Б-разрядные регистры: указатель стека, счетчик команд Рабочие регистры

Блок управления

j к: К к. к. fe: tt О; к.

Буфер

8-разрядная адресная шина (А!5-:А8)

8-разрядная-

внутренняя сиина

Рис. 10.15. Структурная схема ЦПУ 8085А.

НИХ выводов для передачиданных и адресов и увеличить число сигналов в управляющей шине.

ЦПУ содержит типовой модуль дешифратора команд. В состав АЛУ входят один 8-разрядный аккумулятор А, 8-разрядный регистр временного хранения и регистр состояния.

Модуль рабочих регистров включает четыре 8-разрядных регистра данных В, С, D и Е, а т&кже два 8-разрядных регистра Н и L, функционирующие либо как регистры данных.



.либо как адресная регистровая пара. Кроме того, в модуле имеются указатель стека (УС) и счетчик команд (СК), каждый из которых представляет собой 16-разрядный адресный регистр.

Блок управления ЦПУ имеет два входа XI и Х2 для под- соединения кварцевого кристалла или /?С-цепочки к внутренне-,му тактовому генератору. Для подачи питания служат линии ч<3емля и -f 5 В .

Кроме того, имеются входы для следующих шести сигналов:

1. Готовность (READY). Это управляющий сигнал от памяти или от периферийного устройства, играющий роль разрешающего при посылке и приеме данных. ЦПУ не завершает цикла чтения или записи, пока сигнал готовности не примет высокого уровня.

2. Отключение (HOLD). Это также управляющий сигнал, указывающий, что другое устройство запрашивает использования шин адреса и данных. ЦПУ освобождает шины по завершении текущего машинного цикла. Когда сигнал отключения принимает низкий уровень, процессор снова берет на себя управление обеими шинами.

3. Вход начальной установки (RESET IN). Этот сигнал приводит ЦПУ в исходное состояние для начала выполнения программы.

4. Запрос прерывания (INTR). Это сигнал прерывания. Действие его может быть разрешено или запрещено программным путем.

5. Прерывания с перезапуском {RST5.5, RST6.5, и RST7.5). Эти три сигнала служат для автоматического внутреннего перезапуска. Иерархия приоритетов сигналов прерывания: RST7.5, RST6.5, RST5.5, 1NTR.

6. Ловушка (TRAP). Это немаскируемый сигнал прерывания, который не может быть заблокирован программными средствами системы.

ЦПУ 8085А имеет 10 следующих выходных управляющих сигналов;

1. Синхронизация (CLK). Может быть использован в качестве системного синхросигнала. Его период в два раза больше периода входных синхросигналов.

2. Чтение (RD). Этот сигнал указывает, что из выбранного запоминающего устройства или устройства ввода-вывода должно быть произведено чтение информации, а шина данных свободна для пересылки данных. Сигналу придается состояние высокого импеданса при поступлении входного сигнала HOLD или команды останова (HLT).



Таблица 10.1

Режим

Останов

Выборка

3. Запись (WR). Сигнал указывает, что данные, находящиеся на щине данных, должны быть загружены в выбранную ячейку памяти или порта ввода-вывода. Он также приводится в состояние высокого импеданса входным сигналом HOLD и командой HLT.

4. Разрешение фиксации адреса (ALE). Имеет место во

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

5. Состояние шины данных (SO, SI). Эти два сигнала расшифровываются согласно информации, представленной в табл. 10.1, чтобы установить, находится ЦПУ в режиме останова, записи, чтения или выборки.

6. Ввод-вывод или память (Ю/М). Этот сигнал служит для указания, предназначен сигнал чтения/записи для памяти или

16-разрядная адресная шина СА0-А15)

Дешифратор А10-А15

Деширратор А10-А15

W-D7

ОЗУ


Шина упраВ/тения

Рис. 10.16. Типовое подключение ОЗУ и ПЗУ фирмы Intel.



ДЛЯ устройств ввода-вывода. Он приводится в состояние высокого импеданса по сигналу HOLD и команде HLT.

7. Подтверждение отключения (HLDA). Данный сигнал представляет собой ответ-квитанцию на входной сигнал запроса отключения. Он информирует о том, что ЦПУ освобождает шину.

8. Выход начальной установки (RESET OUT). Сигнал ука- , зывает, что ЦПУ находится в середине процесса начальной установки. Предназначен для синхронизации системы.

9. Подтверждение прерывания (INTA). Этот сигнал опрашивает систему ввода-вывода с целью определения адреса устройства, запрашивающего прерывания.

Адресная шина ЦПУ, его шина данных и линии управляющих сигналов служат для соединения ЦПУ с другими устройствами системы.

На рис. 10.16 представлена структурная, схема соединения типовых ОЗУ и ПЗУ фирмы Intel. На этой схеме видны связи шин адреса и данных ЦПУ, а также иллюстрируется использование управляющих сигналов ЦПУ. Сигналы чтения (RD) и записи (WR) поступают на вход разрешения записи (WE). Остальные управляющие сигналы служат для сопряжения ЦПУ с устройствами ввода-вывода, а также для обеспечения возможностей запуска и начальной установки. В

Рассмотренные выше сигналы описаны в данной главе, чтобы подготовить читателя к ознакомлению с последующими главами, в частности с гл. 12 и 13. Назначение этих сигналов станет более понятным после чтения последующих глав. В свою очередь после знакомства с гл. 12 и 13 более ясным станет и содержание данной главы. Описанные в следующих главах структурные схемы составляют естественную основу для понимания использования управляющих сигналов ЦПУ.

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



ГЛАВА 11

ПРОГРАММИРОВАНИЕ

И ВСПОМОГАТЕЛЬНЫЕ СРЕДСТВА,

ИСПОЛЬЗУЕМЫЕ ПРИ РАЗРАБОТКЕ

ПРОГРАММ

Базовая структура микро-ЭВМ приведена в гл. 10. В развитие-идей, изложенных в предыдущих главах, в этой главе дается общее представление о работе ЦПУ. Первый раз понятие о программируемых схемах введено в гл. 6. Установлено, чтО' возможны не только незначительные изменения работы таких, схем, но и что они могут работать как программируемые в полном смысле этого слова устройства. Описаны также принципы, построения и использования интерактивных и вложенных последовательностных схем. Эти идеи являются исключительно-важными для правильного понимания принципов работы и проектирования микро-ЭВМ.

Различные последовательностные схемы функционируют в-соответствии с содержимым регистра команд. Естественно, что следующим щагом в. процессе проектирования микро-ЭВМ является разработка набора команд. Этот набор используется для указания посредством содержимого регистра команд обработки, которая должна быть выполнена в микро-ЭВМ. Для обеспечения эффективности требуемая обработка обычно задается с помощью группы команд (а не одной команды).

Представленная в виде кода команда инициирует работу ряда последовательностных схем. Последовательность команд в-соответствующем коде может рассматриваться как главная последовательностная схема. Эту схему называют программой.. Программа выполняется только после того, как она помещена в память. Поскольку содержимое памяти можно легко изменить (по крайней мере принципиально), то возникает возможность создания программного обеспечения ЭВМ').

Исторически или традиционно разработчики цифровых вычислительных систем пытались. вы-0ирать сочетания последовательностных схем и наборов команд таким образом, чтобы оптимизировать все характеристики проекта. К этим характеристикам относятся универсальность, возможность перестройки.

) Автор здесь хочет подчеркнуть, что возможность изменения содержимого памяти позволяет в разные моменты времени записывать в память поочередно или одновременно различные программы, совокупность которых и составляет программное обеспечение ЭВЛ1. - Прим. перев.



СТОИМОСТЬ, физические размеры, удобство использования. Как показано в гл. 10, эта оптимизация сводится к решению двух проблем: минимизации времени доступа к памяти и выбору длины (количества бит) команды. ЦПУ проектируется таким образом, чтобы оно могло выполнять определенный набор команд с учетом указанных выше ограничений.

Задача программиста состоит в организации требуемой обработки с учетом возможностей и ограничений данного набора команд. При этом программист должен выполнить те же основные этапы работы, что и разработчик электронных схем. Перечислим эти этапы:

1. Построение алгоритма работы программы (графа переходов, описывающего работу программы):

а) определение входных и выходных данных;

б) установление соотношений, указывающих причины и следствия появления этих данных;

в) определение начальной точки выполнения программы;

г) размещение совокупности входных данных в определенной последовательности;

д) определение событий, зависящих от внешних условий;

с) выявление входных данных, которые приводят к одним и тем же результатам обработки, что эквивалентно описываемой в гл. 3 проверке схем на избыточность;

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

Последнее требует, чтобы не все точки завершения последовательности обработки (точки выхода ) приводили к завершению программы.

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

2. Преобразование схемы алгоритма в последовательность команд (программу) из набора команд микро-ЭВМ.

3. Ввод программы в память микро-ЭВМ. Выполнение этого этапа включает две стадии. Во время подготовительной (временной) стадии программа помещается в ОЗУ. Программа, находящаяся в ОЗУ, может выполняться в микро-ЭВМ, располагающей специальным ПЗУ с исполнительной программой (монитором). Тот факт, что значительное внимание уделяется подготовительной стадии, используемой для анализа работы и



модификации программы, не должен вводить в заблуждение читателя относительно ее (стадии) конечных целей. Во время заключительной стадии программа оказывается помещенной в завершенном виде в ПЗУ.

4. Запись специальной мониторной программы для инициализации (пуска) окончательно подготовленной к выполнению, программы. Эта мониторная программа состоит из нескольких команд, с помощью которых устанавливается требуемая связь между выполнением аппаратурой операции начальной установки и выполнением первой команды программы.

Предполагается, что читатель знаком с техникой составления схем алгоритмов. В этой главе описываются такие детальные вопросы техники программирования, как формат набора команд, правила использования и функциональные возможности команд. Знание этих вопросов является необходимой основой для выполнения указанного выше этапа 2. В данной главе рассматриваются также технические детали ввода программы в ОЗУ. Этапы 3 и 4 описываются в гл. 12 и 13 соответственно.

11.1. ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ СИМВОЛИЧЕСКОГО КОДИРОВАНИЯ

Микро-ЭВМ может выполнять только команды, поступающие из регистра команд. Группа бит (двоичных единиц и нулей) находящихся в регистре команд, называется кодом машинной команды [32, 33]. Составление программы в машинных кодах, является исключительно обременительной (трудоемкой) процедурой. Для преодоления этой трудности разработаны языки программирования. Один тип таких языков называется языком ассемблера. На языке ассемблера программист записывает исходный текст программы в символической форме. Специальная программа - транслятор с языка ассемблера (сокращенно- транслятор ассемблера ) - преобразует исходную программу в совокупность команд, представленных в машинном коде, путем отображения команд согласно принципу один к одному ).

На рис. 11.1 показана схема работы транслятора ассемблера. Входными данными транслятора является исходный текст программы, выходными - файл, содержащий текст объектного-модуля, и листинг работы транслятора ассемблера. Объектный модуль может быть непосредственно воспринят (выполнен) в микро-ЭВМ. Листинг ассемблера представляет собой информацию о результате трансляции в виде, удобном для восприятия

) Имеется в виду, что каждый оператор языка ассемблера (символическая! команда) порождает одну машинную команду. - Прим. перев.



Входной

с текстом иса:однои . программы

Выходной файле листингом ассемблера


Резрлыпаты роботы оесем-бЛера, ориен~ тироВатые на челобвка

Шшинно-ориентированные результаты работы ассемблера

Рис. II.1. функциональная схема работы транслятора. ассемблера.

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

Листинг ассемблера - это определенного вида расширенное представление исходной программы, ибо вместе с командами, написанными на языке ассемблера и комментариями (часть листинга, ориентированная на пользователя), листинг включает информацию о местоположении (адресе) каждой команды в памяти и представление в машинном коде каждой символической команды (машинно-ориентированная часть листинга). Наличие в листинге всей этой информации позволяет эффективно использовать его в процессе работы с системой и отладки. По этой причине листинг ассемблера должен всегда храниться в специальном файле.

11.1.1. Трансляторы ассемблера

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

1. Меткам (символическим именам операторов) ставятся в соответствие (назначаются) числовые величины (адреса памяти) и эта инф)&рмация помещается в таблицу символических имен. Цель двухпроходной обработки исходной программы - предоставить программисту возможность использования метки так, как это объясняется в разд. 11.2.3 и 11.7.

2. Проводится синтаксический контроль операторов программы и в листинге записываются сообщения об ошибках.



Проход 2

1. Присваиваются значения оставшимся неопределенными символическим именам или вырабатываются (формируются) сообщения об ошибках.

2. Выводится на печать листинг ассемблера, в котором отмечаются ошибки, относящиеся к определенным операторам программы.

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

Иашинно-ориентированная части мстинга \

Часть листинга, ориентированная п6 человека

00574

SUBROUTINE

NCiATA

00575

*********#* #********** ******** ***

00576

00577

0057S

00579

LDA А

LIRF

GET REFERENCE

005ВО

ВЕ7е

STA А

RESET REFERENCE

005S1

ВЕ7А

В И

,JSR

00582

4000

LIiA В

AIHiRES

GET AIHiR

О0583

004В

\ CLR

XF0INT

00584

\ STA В

XP0INT+1

CREAT POINTER FOR

ADDR

005S5

\ LDX

XFOINT

CHANGE

0058А

00567

\ LDA А

0,Х

BET PRESENT CONTENTS

00588

400А

\ STA А

niSPLY

niSPLAV CONTENTS

00589

00590

8Е8С

7 Г

4003

\ TST

STORE

CHANGE DATA ? CBl

FLAG


\Поле петни Операнд В машинном коде Машинное представление кода операции Адрес ПЗУ строки

\Поле коммелтарил \ Поле операнда \Поле мнемонического обозначения кода операции

Рис. 11.2. Пример листинга ассемблера.



11.2. ФОРМАТ КОМАНД ЯЗЫКА АССЕМБЛЕРА

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

11.2.1. Поле мнемонического обозначения кода операции

Поскольку это наиболее важное поле, то оно рассматривается в первую очередь. При записи команд языка ассемблера данное поле определяет операцию, подлежащую выполнению в микро-ЭВМ. Поле кода операции указывает объектный код команды, который должен быть сгенерирован, и тем самым,работу, которую должно выполнить ЦПУ. Рассматриваемое поле располагается сразу после поля метки и следующих за ним пробелов. Поле метки может быть опущено, но пробелы обязательно должны предшествовать полю кода операции. После поля кода операции обычно следуют один или более пробелов.

И.1.2. Листинг ассемблера

Листинг ассемблера представляет собой запись операторов исходной программы и объектного (машинного) кода каждого такого оператора. .

Формат листинга ассемблера иллюстрирует рис. 11.2. Это типичный листинг, полученный как результат работы транслято-. ра ассемблера фирмы Motorola. Вся программа предназначена для управления работой генератора переменного тока, вырабатывающего электрическую энергию напряжением 13,8 кВ. Изображенная на рисунке часть программы относится к подпрограмме отображения управляющих параметров.

Описание формата листинга ассемблера приведено в разд. 11.2 и 11.3.



1 ... 20 21 22 23 24 25 26 ... 39

© 2000-2025. Поддержка сайта: +7 495 7950139 добавочный 133270.
Заимствование текстов разрешено при условии цитирования.