Узбекское агентство почты и телекоммуникаций

Ташкентский Электротехнический институт связи

 

 

 

Кафедра: ЦТ и УСЭ

 

 

 

КОНСПЕКТ ЛЕКЦИЙ ПО КУРСУ ЦИФРОВОЙ    ТЕХНИКИ И МИКРОПРОЦЕССОРЫ

 

 

Авторы: Юнусов. Д. Ю. Абрамова. Г. Н.

 

 

 

 

Ташкент - 2000.


ОГЛАВЛЕНИЕ

 

1.     АРХИТЕКТУРА ЭВМ

 

ЛЕКЦИЯ 1-2. МЕЖРЕГИСТРОВЫЕ ПЕРЕДАЧИ И МИКРООПЕРАЦИИ

ЛЕКЦИЯ 3-4. ОПИСАНИЕ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ С ЗАПОМИНАЕМОЙ ПРОГРАММОЙ

ЛЕКЦИЯ 5.  ДИАГРАММА УПРАВЛЯЮЩИХ ПОСПЕЛОВАТЕЛЬНОСТЕЙ

ЛЕКЦИЯ 6-7. ФОРМИРОВАНИЕ УПРАВЛЯЮЩИХ СИГНАЛОВ В  ЦЕНТРАЛЬНОМ  БЛОКЕ  УПРАВЛЕНИЯ МАШИНЫ

ЛЕКЦИЯ 8-9. АДРЕСАЦИЯ ПАМЯТИ

 

2.  ОДНОКРИСТАЛЬНЫЙ     МИКРОПРОЦЕССОР     С ФИКСИРОВАННЫМ НАБОРОМ КОМАНД КР 580 ИК 80 А

 

ЛЕКЦИЯ 10-11. ЦИКЛ РАБОТЫ МИКРОПРОЦЕССОРА

ЛЕКЦИЯ 12.   УПРАВЛЕНИЕ СИСТЕМОЙ

ЛЕКЦИЯ 13-14. СИСТЕМА КОМАНД МП КР580 ИК 80 А

ЛЕКЦИЯ 15-16. ОРГАНИЗАЦИЯ ИНТЕРФЕЙСА В ЭВМ

ЛЕКЦИЯ 17.   СОГЛАСОВАНИЕ ВНЕШНИХ УСТРОЙСТВ

ЛЕКЦИЯ 18-19. КОМПОНЕНТЫ    ДЛЯ    ОРГАНИЗАЦИИ ИНТЕРФЕЙСОВ    И ОСОБЕННОСТЬ ИХ ПРИМЕНЕНИЯ


Предисловие

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

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

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


1.АРХИТЕКТУРА ЭВМ

ЛЕКЦИЯ 1-2. МЕЖРЕГИСТРОВЫЕ ПЕРЕДАЧИ И МИКРООПЕРАЦИИ

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

1) набор регистров, которые она содержит и их функции;

2) последовательность выполняемых микроопераций над двоичной информацией, хранящейся в регистрах;

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

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


регистром адреса памяти и обозначают MAR (Memory Address Register).

Для указания числа разрядов регистра рядом с его буквенно-цифровым

обозначением в скобках указывается нумерация и число разрядов.

Например, R (0-23) - регистр R крайний левый разряд имеет номер О, а

крайний правый разряд 23, общее число разрядов равно 24.

Регистры специфицируются посредством описаний так как это показано

ниже регистры; R (0-23); MAR (0-23), F (0-5), G (0).

Для удобства чтения в описание регистров можно включить

комментарии, например, приведенное описание регистров можно

представить в следующем виде:

Регистры;

R (0-23)

; Буферный регистр

 

 

MAR ( 0 - 23)

; Регистр адреса памяти

 

 

F (0-5)

; Управляющий регистр

 

 

G ( 0)

; Старт стопный регистр управления

 

При выполнении межрегистровых передач часто производится передача только содержимого определенной части регистра, которая имеет свое функциональное назначение. Например, команда ЭВМ содержит два поля. Первoe - код операции, второе поле -адреса операндов. Естественно, код операции необходим для управления, а адреса для чтения данных из ЗУ. Для обозначения отдельных частей регистров, вплоть до отдельных его разрядов, служит понятие субрегистра. Так описание субрегистра Регистр-   R (0-23),

Субрегистр, R (ОР) = R (0-5), R (ADD R) = R (9-23) означает, что левым шести битам регистра R присвоено символическое имя R (OP), а его правым 15 битам символическое имя R (ADD R). Определение таким образом субрегистра содержит соответственно код операции и адресную часть некоторой команды.

Передача данных между регистрами осуществляется посредством микроопераций  межрегистровой   передачи.   Эти   микрооперации осуществляют непосредственную передачу двоичной информации от одного регистра к другому. Содержимое регистра - источника не изменяется в процессе передачи.

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

АВ,

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


которое определяет когда должна произойти передача, называется

управляющей функцией. Это означает, что она может быть равна 0 или 1

Управляющая функция включается в микрооперацию следующим образом:

Р:   АВ

Такая запись означает, что управляющая функция Р, за которой следует

двоеточие,   символизирует   тот   факт,   что   сформулированная микрооперация выполняется аппаратными средствами, если Р = I. Управляющие функции формируются специальными схемами, которые могут содержать регистры, счетчики, дешифраторы и т.д. Управляющая функция в этих условиях представляет собой булеву функцию -произведение синхросигнала на управляющий сигнал. Например, управляющая функция Р равна I в любой момент равенства единицы синхросигнала Т1, и управляющего сигнала SJ:

T1.SJ: А—В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


А)                            Общая  щина

 

 

 

 

 

 

Б)                                                                                                                             шд

                                                                                                                    Общая  щина

            Рис. 1.1. система шин для четырёх регистров.Детализированная (а) и упрощенная (б) схемы

 

 

Обычно в составе ЭВМ имеется несколько регистров и для передачи информации из одного регистра в другой используется шинная организация. Для параллельной передачи число проводов в шине равно


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

Селекторные шины мультиплексоров запараллельны. Если на этих шинах код 00, то выбирается во всех мультиплексорах Iо, т.е. с обшей шиной соединен первый регистр А. Если на этих линиях код II, то четвертый регистр D

На рис. 1.1.6 показана упрощенная блок-схема шины. Предполагается, что мультиплексоры входят в состав шинной системы, хотя они не показаны на рисунке.

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

 

 

 


    ШД

 

 

 

 

 

 

 

 

 

 

 

 

 

                          R0                              R1                  

 

                                   Адрес регистра

Рис. 1.2.. Передача информации с шины в один из регистров

 

УСТОЙЧИВЫМИ  СОСТОЯНИЯМИ.


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

И каждый данный момент времени через шину может передаваться только одно сообщение. Если в одно и тоже время требуется осуществить две передачи, необходимо организовать две независимые шины. Большая цифровая система обычно использует несколько шин, причем каждый из ее регистров соединен с одной или несколькими шинами для образования различных путей, необходимых для передачи ннформации. Оператор шинной передачи может обозначать шину и управляющие функции, или же их присутствие в операторе подразумевается. Когда шина и управляющие функции включены в оператор, символика межрегистровой передачи может быть следующей : X.SO.S1:  ШД— С;

УRo.R1:  А* ШД

где So и Si - управляющие селекторные линии выбора для передающего регистра;

Rо и R1 - управляющие селекторные шины для приемного регистра;

x и у - сигналы управления,

В тех случаях, когда указывать шину данных не нужно и передача может быть выполнена за один такт можно записывать так ;x-^So-Sl, yRo^R1:

 А С

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

накопителя (М), который представляет собой совокупность регистров;

регистра адреса ( МАК), который служит для записи и хранения адреса регистра -ячейки ЗУ, к которой производится обращение для записи или считывания; буферного регистра (R), служащего для временного хранения считываемой или записываемой  в ЗУ информации. Микрооперация считывания информации является передачей из накопителя М, выбранного по адресу, записанному в MAR слова в регистр R. Символически это обозначается следующим образом:

О: R М (MAR).

При выполнении процедуры записи информация из буферного регистра R записывается в регистр накопителя М по адресу указанному регистром MAR. Символически это обозначается следующим образом:


Р: M(MAR ) - R.

Очевидно перед записью или чтением ц регистр MAR должен быть помещен адрес (номер) регистра накопителя. В процессе выполнения рассмотренных в ЭВМ микроопераций производилась передача различной информации из одного регистра в другой. Однако в процессе выполнения различных операций в ЭВМ могут возникать события, которые влияют на то, в какой из регистров должна быть произведена пересылка информации или запрещена совсем. Когда микрооперация реализуется при выполнении некоторых условий, она записывается посредством условного микрооператора. Существует две конструкции условных микроопераций, IF... THE №   и IF ... THE № ...ELSE, например:

Регистры G, F (0-5), C (0-14), D (0-14),

IF (G=0) THE №^ (F<-lO),

IF (G=1) THE №(С<-0,D<-0) EL.S-E (F-<-II).

Условие G=0 или G=1 в условном микрооператоре записывается посредством символа = (равно) или ^ (не равно). Если условие выполняется, то микрооператоры, стоящие между словами THE № и Е/„? Е, выполняются одновременно. Поэтому порядок, в котором

записаны части этого микрооператора, не играет роли при его опенке. Когда условие не удовлетворяется, выполняется тот микрооператор, который стоит всегда за Е/.5Е.

 

ЛЕКЦИЯ 3-4. ОПИСАНИЕ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ С ЗАПОМИНАЕМОЙ ПРОГРАММОЙ

 

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

- описание структуры,

- описание форматов данных и команд,

- описание списка команд,

- диаграмма управляющих последовательностей. Структура

Структура ЭВМ изображена в виде блок схемы на рис. 7.3- Эта схема

содержит:

Регистры:   R (0-23); Буферный регистр

А (0-23); Регистры блока обработки информации

С (0-23)

MAR ( 0-15); Адресный регистр памяти

PC (0-! 5); Счетчик команд

PC (0 - 7); Управляющий регистр;

G Регистр пуска-останова

 Субрегистры: R (ОР) =~ R (0-7); Поле кода операции R (ADDR) =R (0-23); Поле адреса операнда


Память М (МАК)-(0-64К. 0-23)

Дешифратор К (0 - 9) = F

Выключатели    PW (ON); выключатель питания

START (ON); пуска машины

 STOP (ON); останов машины

Описание вывода дешифратора команд

ADD=K (i); сигналы управления последовательностью сложении.

SUB= K (2); сигнал управления последовательностью вычитания

JMP= K (3); сигнал управления последовательностью безусловного перехода

SHR= K (4); сигнал управления последовательностью сдвига вправо один бит

JОМ=К (5); Сигнал управления последовательностью перехода по нулю

STO=K (6); Сигнал управления последовательностью записи информации ; вЗУ

LDА=К (7); Сигнал управления последовательностью чтения информации

из ЗУ                        

SТР=К (8); Сигнал управления последова­тельностью останова ЭВМ

СIL=К (9); Сигнал управления последовательностью циклического сдвига             FЕТСН=К (0); Сигиал управления последовательностью выборки команды из памяти

Синхрогенератор Р (1-3); Трехфазный синхрогенератор

              Описываемая ЭВМ содержит следующие основные узлы, представленные на рис.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис!.3 Функциональные схемы простой ЭВМ

Запоминающее устройство, блок обработки информации и центральный блок управления. Запоминающее устройство, в свою очередь, состоит из накопителя М, адресного регистра памяти МАК и буферного регистра-Блок обработки содержит три регистра: А и В - для хранения операндов, С - для хранения результата операции. В регистре С производится сдвиг информации -арифметический SHR и циклический Cil . Выполнение операций производится при передаче информации из регистров А и В в С. через комбинационные схемы.

В блоке обработки информации имеется флаговый регистр, который содержит один триггер - триггер переноса. Старший разряд регистра С при сдвигах переносится в триггер переноса и фиксируется там. Его значение учитывается при   выполнении команд условной передачи управления.  Центральный блок  управления  ЭВМ  состоит из управляющего регистра F, дешифратора команд К, синхрогенератора Р и комбинационной схемы КС. Число выходов дешифратора К определяется числом команд ЭВМ. На выходах КС под действием сигналов с дешифратора, К и синкрогенератора Р формируются управляющие сигналы, которые собственно и вызывают перемещение информации в ЭВМ. Регистра G пуска-останова управляет запуском ЭВМ. Если G=0, то машина находится в режиме ожидания, при G=1 разрешается выборка и исполнение команд.

Слова в рассматриваемой ЭВМ имеют длину 24 бита. Слово используемое в качестве команды, содержит два поля: восьмибитовое поле кода операции и 16 битовое поле адреса операнда- Поле кода операции указывает содержание операции, а адресное поле определяет место размещения операнда в ЗУ. Команды одноадресные, т.е. в поле адреса указывается адрес одного операнда. Поэтому если в операции участвует два операнда для их извлечения из памяти необходимо две команды. Форматы команд и чисел-данных приведены на рис. 1.4.

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 1.4. Форматы команд (а) и данных (б).

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

 Машина может выполнять девять команд, которые условно обозначаются следующим образом: ADD, SUB, JOM, JMP, STO, SHR, CIL- LDA, STP. Содержание каждой команды и соответствующий ей код приведены в таблице 7.1., где <М> обозначает адрес памяти, указываемый в поле адреса команды. Этот адрес может являться либо адресом операнда, либо адресом команды при выполнении условной, безусловной передачи управления с помощью команды JOM и JMP.

Команда ADD производит сложение чисел, размещенных в регистрах А и В и помещает результат в регистр С. Перед выполнением команды операнд извлекается из памяти и помещается в регистр В. первый операнд был предварительно размещен в регистре А. На завершающем этапе выполнения команды из регистра С рзеультат переписывается в регистр А. и может служить первым операндом при выполнении следующей команды. Команда вычитания SUB выполняется аналогично ADD, только в С записывается разность операндов находившихся в регистрах А и В.

Команда условной передачи, управления JOM позволяет организовать разветвления в вычислительном процессе. Не выполнение состоит в определении значения триггера переноса, который имеется в блоке обработки информации и связан со старшим разрядом регистра С. В этот триггер информация записывается при выполнении арифметических операций и сдвигах. Если  в триггере I, то в счетчик команд PC

 

 

Записывается содержимое адресного поля команды R (ADDR) и тем самым в счетчике команд оказывается адрес команды к которой следует произвести переход. В противном случае производится приращения счетчика команд PC-PC+1 и машина переходит к выполнению следующей команды.

 

Таблица 1.1

 

1

2

3

4

Сложение

ADD m

01H

C-A+B, A-C,  в A первый операнд  (помещён ранее), в B второй операнд (из ЗУ по адресу m)

 

Вычитание

SUB m

02H

C-A-B, A-C, тоже что и для команды ADD

Переход по минусу (условная передача управления)

JOM m

05H

Если (C(0)=1), то в PC-R(ADDR), если нет, то к следующей команде (PC-PC+1)

Переход (безусловная передача управления)

JMP m

03H

PC-R(ADDR)

Сдвиг влево

SHR

04H

Тр. Переноса- C(0), C(i)-C(i+i); A-C. Сдвиг содержимого регистра  C записывается в память по адресу m R-C, M(MAR)-R

Чтение из памяти

LDA m

07H

Операнд в регистр A записывается из памяти

Останов

STP m

08H

ЭВМ переводится в режим ожидания

Циклический сдвиг влево

CIL

09H

Содержимое регистра C циклически сдвигается влево на один разряд. При этом содержимое разряда C(0) записывается в C(23) и одновременно в триггере переноса, остальные разряды сдвигаются по правилу C(i)-C(i+1)

 

Команда безусловной передачи управления JMP не производит проверки условия, всегда адресное поле записывается в счётчик команд PC-R(ADDR).

            Сдвиг влево на один разряд содержимого регистра C производится обычным способом. При его выполнении содержимое триггеров всех разрядов сдвигается влево. Причём старший разряд записывается в триггер переноса , а в триггере младшего разряда записывается 0.

При циклическом сдвиге CIL в отличии от простого арифметического сдвига CHR содержимое старшего разряда записывается в младший, сдвиг остальных разрядов аналогично предыдушему.

Запись STO и чтение LDA из памяти в особых комментариях не нуждается.

При выполнении останова STP машина прекращает выполнять выборку команд и переходит в цикл ожидания, при этом содержимое счетчика команд остаётся неизменным.

          

Лекция 5. Диаграмма управляющих последовательностей

 

В процессе своей работы машина последовательно один цикл управления за другим. На каждом таком цикле выполняется одна команда. Команды следуют друг за другом в соответствие с программой, причём порядок их выполнения задаётся с помощью счетчика команд PC, содержимое которого каждый раз при завершении с-ой  команды увеличивается на один 1. В результате следующие друг за другом команды должны размещаться в смежных ячейках памяти. Описанный порядок следования команд принято называть стандартным.

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

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

 В процессе исполнения выполняются микрооперации, которые реализуют конкретную команду в соответствии с ее содержательным описанием. Гак как все команды извлекаются из памяти одинаково, то существует лиш одна общая последовательность выборки, а последовательность , исполнения команд различна - по одной на каждую команду.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Риc.1-5 Диаграмма управляющих последовательностей ЭВМ

 

Другими словами, в процессе работы машина чередует после­довательности выборки и исполнения начиная, конечно, с выборки. Диаграмма показывающая последовательность управления для выборки и исполнения команд для рассматриваемой ЭВМ приведена на рис. 1.5 В верхней   части   схемы   находится   общая   для   всех   команд последовательность выборки, а в нижней девять параллельных последовательностей исполнения для каждой команды. Затем эти последовательности сливаются вместе и происходит возврат к последовательности выборки.

При установке ключа питания ЭВМ в положение включено (ON) в регистры G и PC загружается 0 и машина переходит в режим "ожидание". Цикл ожидания изображен в правой части рис. При нажатии кнопки START в регистр G заносится I и машина переходит в режим "работы". Гак как r регистре PC был загружен О, то в цикле выборки из памяти извлекается первая команда. Цикл выборки и исполнения следуют друг за другом до тех пор пока не встретятся команда останова STP или будет нажата кнопка STOP. Во всех этих случаях в регистре Ц будет записан О и машина перейдет в режим ожидания. К моменту завершения цикла выборки в регистре F машины находится код операции, подлежащей исполнению. Дешифратор команд по коду формирует соответствующий управляющий сигнал после чего начинается цикл исполнения. Каждая последовательность в зависимости от сложности команды состоит из двух-трех шагов. На завершающем этапе цикла исполнения в регистр F заносится 0 и машина переходит в цикл выборки следующей команды.

ЛЕКЦИЯ 6-7. ФОРМИРОВАНИЕ УПРАВЛЯЮЩИХ СИГНАЛОВ В ЦЕНТРАЛЬНОМ БЛОКЕ УПРАВЛЕНИЯ МАШИНЫ

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

Генератор синхросигналов – это блок, генерирующий одну или несколько последовательностей импульсов. Интервал времени между двумя соседними синхросигналами на одном выходе называется периодом. Синхроимпульсы во всех фазах имеют постоянную частоту следования, и смещены друг относительно друга во времени. На рис. 1.6. показаны сигналы, вырабатываемые на выходах трехфазного синхрогенератора, используемого в рассматриваемой простой ЭВМ.

 

                               T                                  s

 

 

 

 

 

 

      P(1)

 

 

 

 

      P(2)

 

 

 

 

      P(3)

 

 

 

 

 

 

 

 

 

 

 

 

 


                                                                                                              t      

                               T

 

                               

              

                                           T                                                     t

 

        

                                                                                            t

 

 

Рис. 1.6.Сигналы трехфазного синхрогенератора.

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис.1.7 Схема трехфазного синхрогенератора на

микросхемах 155 серий

 

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

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

 Для организации межрегистровой передачи по общей шине необходимо подать синхронно сигналы открывающие выход регистра-источника и вход регистра-приемника,  поэтому каждый сигнал управления направляется как минимум к двум регистрам. Каждая микрооперация по пересылке требует своего управляющего сигнала поэтому в первом приближении можно считать, что число выходов комбинационной схемы равно общему числу микроопераций всех команд машины, включая цикл выборки. Некоторые команды ЭВМ имеют одинаковые микрооперации, поэтому число выходов комбинационной схемы может быть меньше общего числа микроопераций. В качестве примера на рис. 1.8. приведена часть комбинационной схемы простой ЭВМ, на которой показана схема формирования управляющих сигналов для команд ADD, SИB, JOM, JMP и LDA. Каждый из управляющих сигналов, сопоставленный с отдельной микрооперацией   может  быть  записан   булевыми   функциями, приведенными в таблице 1.2.

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

 Таблица 1.2.

 

 

 

 

 

 

 

  Выполн.

 Операция

Булевая функция

для упр. Сиг

Содержание

микрооперации

Регистр

источник

Регистр P

1

ADD

 

 

 

 

Общая для

всех команд

SUB

 

 

 

JOM

 

 

 

 

 

 

JMP

LDA

2

S1’=K(1)*P(1)

 

 

S2 =K(1)*P(2)

S3’=K(1)*P(3)

S4’=K(0)*P(3)

 

S1”=K(2)*P(1)

 

S5=K(2)*P(2)

S3”=K(2)*P(3)

S6=K(5)*P(2)*TГ пер

 

 

 

 

 

S6=K(3)*P(2)   

S1=K(7)*P(1)   

 

S7=K(7)*P(2)   

3

RM(MAR)

BR

 

CA+B

AC

F0

 

RM(MAR)

BR

CA-B

AC

Если TГ ПЕР=1,

то PCR(ADDR)

если нет, то к следующей команде.   

PC-R(ADDR)

R-M(MAR)

 

A_R

4

M(накопи-тель)

R

A,B

C

-

 

M(накопи-тель)

 

R

C

R(ADDR)

 

 

 

 

 

R(ADDR)

M(накопи-тель)

R

5

R

B

 

C

A

F(сброс регистра F)

 

 

 

B

A

 

 

 

 

 

 

PC

R

 

A

 

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

S1 =[K(1)VK(2)VK(7)]P(1)

S2=K(1)*P(2)

S3=[K(1)VK(2)]*P(3)

S4=K(0)*P(3)

S5=K(2)*P(2)

S6=[Тг. пер. K(5)VK(3)]*P(2)

S7= [K (1)* P (2)

 

 

 

 

 

 

 

 

 

 

 

 

                 K(1)  K(2) K(3) K(0) K(5)  K(7)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Фрагмент комбинационной схемы формирования управляющих сигналов операций ADD. SUB, JOM. JMP, LDA.

 

                   КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ

 

Для регистра В (0-31) определите с помощью описания суб-процессора субрегистра знака В (0), субрегистра для разрядов мантисс В (1 -1б) и субрегистра для битов порядка.

1. Опишите дешифратор Регистр С (1-3), Дешифратор N (1-7) == С. используя вместо описания дешифратора описание выводов.

2- Пользуясь диаграммой управляющих последовательностей на рис. L5. составьте микрокомандное операторное описание рассмотренной ЭВМ.

3- Добавьте в список операций рассмотренной ЭВМ операции по

суммированию и вычитанию двоичных чисел с плавающей запятой.

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

операций для всего списка команд. 5- Постройте схему четырёхфазного синхрогенератора на основе

счетчика и дешифратора.

6. Постройте схему трехфазного синхрогенератора ЭВМ на основе сдвигового регистра с временной диаграммой работы, приведенной на рис. 7.6.

7. Можно ли при описании работы ЭВМ обойтись без диаграммы управляющих последовательностей?

8. Назовите состав функциональных блоков ЭВМ и назначение каждого из них.

9. На основании функциональной схемы ЭВМ, приведенной на рис. 1.3. и списка команд в табл. 1.1. постройте принципиальную схему, на которой необходимо указать комбинационную схему формирования управляющих сигналов и схемы, входящие в состав регистров. ответственные за реализацию микрокоманд.

 

ЛЕКЦИЯ 8-9. АДРЕСАЦИЯ ПАМЯТИ

 

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

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

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

А—  R (ADDR) т.е. выборка команды производится как прежде, а адресное поле которое содержит в этом случае операнд пересылается в регистр А (или регистр В). операнда из памяти и пересылка его на обработку, например в регистр А:

R-M (MAR); Чтение операнда из памяти, адрес; ячейки которой записан в MAR

А- R; Пересылка операнда на обработку в операционный регистр А. Косвенная адресация похожа в определенной мере па прямую адресацию, голько в адресном поле указывается не адрес операнда, а адрес адреса операнда. Для извлечения операнда из памяти необходимо еще раз обратиться к памяти по адресному полю первой команды и прочитать из ее адресного поля адрес операнда и лишь затем прочитать его и записать в операционный регистр. Команды с косвенной адресацией имеют специальное поле, указывающее ее признак. Благодаря такой организации имеется возможность организовать многоуровневую косвенную ад­ресацию.

Нa рис. 1.9. поясняется особенность   одноуровневой косвенной адресации.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 1.9. Косвенная адресация.

Одно и многоуровневая косвенная адресация может быть описана. Прямая адресация была принята за основу в описываемой машине. Адресное поле содержит в этом случае исполнительный адрес операнда и еще в цикле выборки пересылается в адресный регистр памяти МАК.. В цикле исполнения производится чтениесана на языке микроопераций следующим образом:

после цикла выборки команды, в котором

 MAR— R (ADDR),

 F — R (OP)

производится чтение ЗУ

R - M (MAR),

затем анализируется значение признака J косвенной адресации

|X| if (J=l) then (MAR— R(ADDR)) else (go to Y),

if (J=1) then (R—M(MAR)),

1У1 AR.

Для реализации индексной, базовой и регистровой адресации в процессоре машины необходимо произвести ряд изменений. Требуется внести в его схему ряд дополнительных регистров, которые могут быть выполнены в виде одного или нескольких блоков. Для обращения к ним необходимы дополнительные средства-мультиплексоры, де мультиплексоры, дешифраторы. Эти регистры могут образовывать конструкции аналогичные представленным на рис. 1.1., 1.2. При индексной адресации используется индексный регистр, в котором хранится   величина   приращения   (или   уменьшения)   адреса. Исполнительный адрес, в этом случае, представляет собой сумму содержимого индексного регистра и адресного поля команды Обычно в процессоре имеется несколько индексных регистров, которые образуют


массив. Тогда в команде следует иметь специальное поле (xr), в котором указывается номер индексного регистра. Ниже описывается индексная адресация на основе использования массива индексных регистров:

Массив индексных

регистров:           XR (1-3, 0-15); Массив состоит из трех шестнадцатиразрядных; регистроб Йлборка команды производится аналогично предыдущему. Выборка операнда -MARR(ADDR)+XR(xr),

 R-M(MAR),

 А-R.

Индексная адресация необходима в тех случаях, когда требуется обработать массив данных, размещенных в смежных ячейках памяти. Для выполнения самой обработки потребуется одна или несколько команд. которые будут повторяться столько раз, сколько содержится элементов в массиве данных. При этом после обработки каждого элемента, содержимое индексного регистра увеличивается или уменьшается на I, подготавливая таким образом, адрес следующего операнда. В случае относительной адресации адрес операнда определяется относительно счетчика команд, который представляет собой адрес текущей исполняемой команды. После выборки команды обращение к операнду производится следующим образом:

МAR—R(ADDR)+PC,

 R--M(MAR),

 A-R.

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

массив регистров GR (1-7, 0-23); Регистры общего назначения AG R (r); поле г указывает один из регистров общего назначения В большинстве ЭВМ редко используется один способ адресации, чаще несколько. Это объясняется тем, что каждый способ адресации имеет свои   достоинства,   которые   проявляются   при   определенных обстоятельствах. Кроме того, в ЭВМ реализуются смешанные способы адресации, например косвенно-регистровая адресация. Наиболее часто зтот способ адресации используется в микро-ЭВМ. В адресном поле в этом случае вместо адреса операнда указывается только адрес регистра. Так как регистров в процессоре значительно меньше, чем ячеек памяти в ЗУ. то число разрядов, отводимых под адрес регистра меньше числа разрядов адреса ячейки памяти. Благодаря этому команда с косвенно-регистровой адресацией короче. Выбор команды при этом способе адресации производится также как обычно. В цикле исполнения полем (г) задаётся регистр в массиве, из которого извлекается исполнительный адрес для чтения операнда:

MAR-GR(r),

 R- M(MAR),

AR

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

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 1.10, Организация стека.

 

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

Однако этот способ формирования управляющих сигналов не единственный. Другим таким способом является микропрограммный способ управления. На рис. 1.11.    приведена структура машины с микропрограммным управлением. За основу взята прежняя ЭВМ (рис. 1.3), изменена только схема формирования управляющих сигналов. 3 схеме на рис. 1, 11. это делается с помощью управляющей памяти (СМ), При таком способе формирования управляющих сигналов каждая отдельная   команда   машины   представляется   в   виде   одной микропрограммы. Микрооперации микропрограммы есть отдельные элементарные действия в машине. Для реализации микропрограммы необходимо  последовательное  поступление  микрокоманд     из управляющей памяти- Для этого служит регистр Р, который теперь, с помощью схем управления (LC) формирует адреса микрокоманд на основе начального адреса микропрограммы.

 


Рис.1.11. Функциональная схема ЭВМ с микропрограммным управлением.

 

Считанные из памяти СМ микрокоманды запоминаются в управляющем регистpe Н. Субрегистр H (ADDR) используется для формирования адреса следующей микрокоманды, а оставшиеся разряды для формирования сигналов управления Si- Распределение разрядов регистра Н указано в таблице 1.3. Схемы включенные па выходе регистра Н разрешают прохождение сигналов управления к узлам и элементам машины в моменты действия соответствующих синхросигналов генератора. Каждой микрооперации в управляющей памяти можeт быть поставлена в соответствие одна микрокоманда. Обычно по соображениям экономии одна микрокоманда выполняет несколько микрооперации. В одном такте, при этом, должны выполняться только совместимые микрооперации. Например, в цикле выборки команды первоначально следует переслать содержимое счетчика команд PC в адресный регистр памяти MAR (MAR--РС), затем считывать команду из памяти (R- M (MAR), но не наоборот. Для развязки по времени подобных микроопераций необходим многофазный синхрогенератор. Тогда в первом такте выполняется пересылка MAR -- PC, а в следующем производится чтение команды из памяти R-M (MAR).

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

Очевидно,  выполнение  команд  машиной  с  микропрограммам управлением не зависит от того каким образом формируются уп­равляющие сигналы Si "схемным" как на рис. 1.8 или с помощью блока микропрограммного управления. Однако каждый из этих способов обладает своими достоинствами и недостатками. Прежде всего "схемный" способ имеет максимальную скорость формирования управляющих сигналов, определяемую только

     Разряды                         

Микрокоманды

 Такт

                         Микрооперация

H(0-5)

 

Адрес следующей микрокоманды

 

H(6)

1

MAR-PC, if (G=0) then F-0

H(7)

2

R-M(MAR), PC-PC+1

H(8)

3

F-R(OP), MAR-R(ADDR)

H(9)

1

R-M(MAR)

H(10)

1

B-R

H(11)

2

C-A+B

H(12)

3

A-B

H(13)

3

F-0

H(14)

2

C-A-B

H(15)

2

IF (Тг. пер=0) Then PC-R(ADDR)

H(16)

2

PC-R(ADDR)

 

H(17)

2

Тг. пер-C(0), C(i)-C(i_+1), C(23)-C(0)

H(18)

1

R-C, M(MAR)-R

 

H(19)

2

A-R

H(20)

2

Тг. пер-С(0), C(i)-C(i_+1), C(23)-C(0)

H(21)

1

G-0

 


 

Задержками распределения сигналов в интегральных микросхемах из которых она состоит. Однако "схемный способ" следует считать "жестким" способом, так как всякое изменение системы команд требует серьезного перемонтажа всей схемы. Микропрограммный способ не обладает высоким быстродействием, но возможности "для измерения команд значительно  шире и связаны, в основном, с измерением содержимого управляющей памяти. Современная технология     производства     полупроводниковых     постоянных запоминающих устройств позволяет создать дешевые ЗУ с быстродействием, приближающимся к быстродействию логических элементов. Конечно, использование   микропрограммного   управления   может   быть экономически оправдано, в тех случаях, когда машина с "жесткой" схемой формирования управляющих сигналов не позволяет получить требуемого быстродействия. В настоящее время промышленностью вы выпускаются ЭВМ как с тем так и с другим способом формирования сигналов управления. Так в ЕС ЭВМ старшие модели с высокой производительностью имеют "схемное" формирование сигналов, а •младшие   микропрограммное. Среди микропроцессорных наборов представлены и те и другие. Однако, наиболее распространены однокристальные МП с "жесткой" схемой формирования сигналов. МП с микропрограммным управлением обычно имеют секционную структуру-наращиваемую   путем   добавления   секций.   Благодаря этому имеется возможность создавать МП с заранее заданными характеристиками: разрядностью адресной и шины данных, число и содержание выполняемых  команд и т.д. Типичными примерами однокристальных МП являются: 8-битовый КР580ИК80, 16-битовый KPI8IOBM86.   "Типичными   примерами   секционных   МП   с микропрограммным управлением могут служить МП серий К589, К584, KPI800, KPI80I .

 

                   КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ

 

1. Назовите основные способы адресации информации, принятые в ЭВМ.

2. Объясните различие между ними.

3. Добавьте на функциональной схеме ЭВМ необходимые узлы и элементы для реализации регистровой, относительной, базовой и косвенной адресацией.

4. Постройте диаграмму управляющих последовательностей для этих способов адресации.

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

6. Постройте ЭВМ со следующими способами адресации: прямая, непосредственная, косвенная, регистровая, базовая и списком команд, приведенном в табл. 1.1.

7.   Чем   отличается   стековая   адресация   от   регистровой   и непосредственной?

8. В задании 6 добавьте стековую адресацию.

9. Объясните различие схемного и микропрограммного способов формирования управляющих сигналов.

10. Какие типы ЗУ используются для построения управляющей микропрограммной памяти?

11. На основании схемы на рис. I. II. и табл. 1.1. и диаграммы управляющих   последовательностей   на   рис.   1.5 -   постройте принципиальную схему ЭВМ с   микропрограммным управлением. На ней можно не указывать принципиальную схему блока обработки информации.

12. Для задания пункта 11 покажите содержимое всех разрядов управляющей памяти.

13. Укажите назначение поля H (ADDR)     и значение разрядов этого поля в управляющей памяти задания  11 и 12.


                           2.  ОДНОКРИСТАЛЬНЫЙ МИКРОПРОЦЕССОР С

                   ФИКСИРОВАННЫМ НАБОРОМ КОМАНД КР 580 НК 80 А

 

Типичным   примером   отечественного  однокристального   № является 8 разрядный МП КР580. Его характерными чертами являются фиксированный  набор команд и, разрядность шин адреса  и данных, функциональная схема МП приведена на рис.2.1. Микропроцессор состоит кз трех основных узлов: арифметико-логического устройства (АЛУ), центрального блока управления и блока регистров общего назначения,

Основу АЛУ составляет набор логических схем, которые осуществляют обработку информации в процессе ее передачи между регистрами, основным из них является регистр аккумулятор, который одновременно служит для хранения операндов результатов выполнения операции. Перед выполнением операции один из операндов помещается в буферный регистр 2 (БР2), а второй из аккумулятора (А) передается в буферный регистр 1

 



в к приему с шины данных. С его помощью обеспечивается согласование по скорости МП с памятью и внешними устройствами- Если, предположим, происходит обращение к устройству, которое имеет быстродействие меньше, чем Ш, то оно снимает  сигнал RE/fDJi/ и МП переходит в режим ожидания, сообщая об этом сигналом W/fiT  . С приходом сигнала  КЕД]     процессор  продолжает работу.

war m   -. ожидание.

hold           - захват. Сигнал внешних устройств для запроси доступа к шинам адреса, данных и управления микропроцессорной системы. Захват шины происходит после очередного завершения обращения  к  памяти.  Состояние захвата подтверждается  МП путем выдачи сигнала HL] >/f    . В режиме захват адресная   и шина данных МП находятся в третьем - высокоимпедансном состоянии. В этом   состоянии   МП   никаких   действий   не   производит, продолжение действий начинается после снятия сигнала - запрос прерывания.       По       этому       сигналу       процессор завершив выполнение текущей команды способен перейти к выполнению другой   программы.   Необходимость   в   этом   возникает   при определенных изменениях в системе, окружающей МП. Для сообщения о том, что прерывание разрешено МП выдает сигнал подтверждения INT£ . kset - сброс. Во время действия этого сигнала программный счетчик PC обнуляется     и    следующая    затем     команда,    которую № считает из памяти будет находиться по нулевому адресу.

 

        ЛЕКЦИЯ 10-11. ЦИКЛ РАБОТЫ МИКРОПРОЦЕССОРА

 

Как у всякого процессора у МП цикл работы состоит из чтения команды и ее исполнения. Во время выборки команде извлекается из   памяти   и   записывается   в   управляющий   регистр   IR Если команда двух или трех байтовая, то организуется необходимое число обращений к памяти второй и третий байты помещаются в регистры временного хранения информации W и Z. Во время выполнения команда дешифруется, производится обращение к памяти за операндом если необходимо производится обработка данных.

Цикл выборки и исполнения команды состоят из нескольких машинных циклов (от одного до пяти). Машинный цикл требуется всякий раз, как только происходит обращение к памяти или внешним устройствам системы. При выборе команды всегда необходим один машинный цикл на каждый байт команды. Машинный цикл состоит из 3-5 тактов синхрогенератора. Такт- наименьший промежуток времени, необходимый        для        выполнения        элементарного действия в МП- Его длительность равна периоду поступления сигналов ФГ синхрогенератора. Начало каждого машинного цикла сообщается восьмиразрядным    словом    состояния    процессора,    которое выдается им    в момент действия сигнала SYNC. МП имеет 10 различных машинных циклов:

1.   FETCH   (MI)   -   выборка   команды,   при   выполнении этого цикла команда извлекается из памяти и помещается в управляющий регистр IR;

2. MEMOR READ - чтение из памяти, этот цикл формируется во всех тех        случаях,        когда        читаются        какие-либо данные иди второй и третий байты команды;

3. MEMORY  WRITE - запись в намять;

4. STACK READ - чтение стека;

5. STACK WRITE -    запись в стек;

6. INPUT - ввод информации от внешних устройств;

7. OUTPUT - вывод информации во внешнее устройство;

8. INTERRUPT- подтверждение прерывания;

9. HALT- подтверждение останова;

10. HALTINTERRUPT- подтверждение прерывания во время

останова.

В   таблице   2.1.   указано   распределение  сигналов  состояния МП по шине данных.

                                                                                                                         Таблица 2.1

                          Типы машинных циклов

 

                                                           Разряд шины

                                                            данных  

                                                           Информ.   В

                                                           состоянии

                                                           Выборка

                                                           команды  MI           

                                                        Чтение памяти

                                                      Запись в память

                                                          Чтение стека               

                                                          Запись в стек

                                                          Ввод  

                                                          Вывод

                                                      Подтверждение

                                                          Прерыв.                    

                                                      Подтверждение

                                                          состояния

                                                      Подтверждение

                                                          Прерыв.   Во

                                                          Время ост.         

1

2

3

4

5

6

7

8

9

10

11

12

D0

inta

0

0

0

0

0

0

0

1

0

1

D1

W0

1

1

0

1

0

1

0

1

1

1

D2

Stack

0

0

0

1

1

0

0

0

0

0

D3

hlta

0

0

0

0

0

0

0

0

1

1

D4

out

0

0

0

0

0

0

1

0

0

0

D5

MI

1

0

0

0

0

0

0

1

0

1

D6

IN

0

0

0

0

0

1

0

0

0

0

D7

memr

1

1

0

1

0

0

0

0

1

0

 

Общая диаграмма управляющих последовательностей аналогична той, что    приведена    на    рис.1.5.    Каждая    ветвь    диаграммы состоит из нескольких машинных циклов в зависимости от содержания команды. Машинные циклы следуют один за другим. Диаграмма выполнения Машинного цикла приведена на рис, 2.2. Цикл состоит из 3-5 тактов, которые на диаграмме указаны как Т, (i=I-5). В первом такте Т т на шину данных выдается слово  состояния процессора, которое сопровождается сигналом SYNC.  Кроме того, в это время на адресную шину выдается адрес ячейки памяти или внешнего устройства, к которому будет производиться обращение.

В  состоянии Т2 МП анализирует значение сигнала READY или HLTA и переходит соответственно, в состояние Тwn и Тw   - ожидание. Если на МП поступил сигнал захвата hold, то внутренний триггер захвата устанавливается в 1 и МП переходит в режим захват, сообщая об этом сигналом HLDA на соответствующем своем    выходе-    При   отсутствии    сигнала   READY   МП переходит в режим ожидания так же сообщая об этом сигналом WAYT. С приходом сигнала готовности МП переходит в следующее состояние Т3. В этом состоянии характер действий определяется типом машинного цикла- При выполнении цикла M1 код операции переносится в управляющий     регистр     IR,     а     в     циклах     чтения из памяти, записи в память, ввода и вывода информации, осуществляется пересылка данных,

Состояния Т4 и T5 являются необязательными, и выполняются при необходимости в соответствии с содержанием команды. После такта Тз и T4 если выполнение команды не ограничивается одним машинным циклом, МП входит в следующий машинный цикл. Если же команда состоит из одного машинного цикла или выполняется последний машинный цикл команды, то начинается цикл M1 следующей команды. Во время прерывания МП в последнем такте последнего машинного цикла команды, по фазе Ф2 производится опрос входа INT, на который поступает сигнал прерывания. Если INT=1 и сигнал INTE в единичном состоянии (т.е. прерывание уже было   разрешено),   то   в   течении   машинного   цикла   Ml приращения PC не производится и выдается    сигнал INTE Сигнал INTE сбрасывается в "О" в такте t1. В этом же цикле, но в такте Тз устройство, запрашивающее прерывание выставляет код операции CALL (вызов подпрограммы) и последовательно два байта адресной части   команды.   Для   чтения   этих   данных       в   МП последний трижды генерирует сигналы INTA и DBIN. Если сигнал HLTA  в единичном состоянии, то МП будет находится в состоянии   останова   до   тех   пор,   пока   не   поступит запрос прерывания при единичном значении сигнала INTE. В этом состоянии может происходить захват шин. Если состояние HLТА нулевое, то захват может происходить в такте Тз в цикле чтения и в такте, следующем за Тз в цикле записи.

                    КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ

 

1. Чем отличается использование регистра А в МП К580 от регистра С в ЭВМ, приведенной на рис. 1.3.?

2. Изучите по имеющейся в библиотеке литературе выполнение операций десятичной арифметики.

3. Для какой цели в МП К580 служит БРОН ?

4. Постройте его функциональную схему и укажите на ней как с помощью мультиплексоров и демультиплексоров производится обмен информацией между регистрами, запись и чтение информации, её выдача на внутреннюю магистраль и адресную вину. 5- Для какой цели в МП К580 служит флаговый регистр?

6. Укажите отличив и сходство циклов работы процессора и ЭВМ,

приведенной на рис. 1.3.

 

ЛЕКЦИЯ 12. УПРАВЛЕНИЕ СИСТЕМОЙ

 

В  состав  микропроцессорной системы  помимо     самого микропроцессора обычно входит несколько компонентов, таких как запоминающие устройства различных типов, устройства ввода и вывода со средствами  согласования,  счетчики  времени  и т.д. Для управления всеми этими компонентами, имеющихся у МП сигналов явно недостаточно. Для решения этой задачи следует использовать слово состояние (RSW) МП, которое выдается им каждый раз вначале машинного цикла (такт Т1, рис. 2.2.).Для управления памятью потребуется следующие сигналы:

- чтение из памяти MR;

- запись в память MW;

Для управления вводом выводом:

- ввод информации (I/OR);

-вывод информации (I/OW)

Кроме этих может потребоваться ряд других сигналов, все они могут быть сформированы на основе слова состояния МП и сигналов,     вырабатываемых на выходах DBIN (прием), INTA (подтверж.пр), WR (запись) и т.д. Сложность схем формирования сигналов                    управления                    будет зависить от сложности и разнообразия компонентов, входящих в состав системы. В некоторых случаях может понадобиться только 4 сигнала-управления памятью два и два управления вводом-выводом:

MR=DBIN^MEMR

            MW = MR^WO

I/OR=DBIN^IN

I/OW=WR^OUT

Сигналы      WR, DBIN         выдаются на соответствующих выходах МП, a MEMR, WO, IN и OUT содержатся в слове состояния. Для хранения слова состояния МП к шине данных подключается регистр, который называется системным регистром (SL), запись информации в этот регистр (слова состояния МП) производиться вначале каждого машинного цикла по сигналу SYNC. Для формирования сигналов управления на выходах регистра, SI устанавливаются логические элементы. На рис. 2.3. приведена схема формирования    сигналов управления памятью и устройствами ввода вывода, построенная согласно вышеприведенных выражений.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


        Рис. 2.3. Формирование системных управляющих сигналов.

 

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

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

Команды ввода и вывода двухбайтные, первый байт - код операции, второй   адрес   устройства.   Команды   выполняются   за   три машинных цикла. На рис. 8.4.   приведена временная диаграмма выполнения команды ввода информации IN port. В цикле Ml по такту т1 содержимое счетчика команд PC посылается через регистр адреса на буфер адреса и далее по шине адреса в ЗУ. По Ф2 в такте Т1 на вине данных появляется слово состояния,   которое сигналом   SYNC   записывается   в   системный   регистр   SL В это же время содержимое счетчика команд увеличивается на 1 и таким образом МП готов к выборке следующего байта команды. В тактах Т1 и Т2 цикла Mi управляющим сигналом DBIN при READY=1 производится считывание первого байта команды и размещение его в регистре команд IR. В такте Т4 производится дешифрация кода операции и определяется последовательность дальнейших действий.

В следующем машинном цикле М2 в   такте TI содержимое PC вновь пересылается на адресную шину для выборки из ЗУ второго байта команды. Одновременно, содержимое PC увеличивается на 1. По Ф2 в такте TI на шинах данных Ш появляется слово состояния, которое  соответствует  машинному  циклу  -  чтения   памяти! В тактах Т2 и ТЗ цикла М2 управляющим сигналом DBIN стробируется поступление второго байта    команды из памяти. Этот байт указывает номер устройства. В такте ТЗ этот байт запоминается в регистре временного хранения.

В следующем машинном цикле МЗ в такте T1 на шину данных выдается слово состояния процессора - ввод, а на адресной шине находится номер устройства. В тактах Т2 и ТЗ из устройства, к которому произведено обращение на шину данных выдается байт данных, сигналом DBIN она записывается в аккумулятор. Отличие команды OUTpor t от IN состоит в последнем третьем машинном цикле, там в такте T1 одновременно с адресом устройства выдается слово состояния процессора, соответстствугощее циклу вывода информации. В тактах Т2 и ТЗ производится выдача байта данных из аккумулятора на шину данных. Сообщение для внешних устройств об истинности данных на шине передается сигналом WR..

Из большого числа команд обмена с памятью рассмотрим команду записи в память содержимого аикумулятора STA адрес. Эта команда трехбайтная: первый байт - код операции; второй-третий -адрес  ячейки   памяти  в  ЗУ.  Команда  выполняется  за  4 машинных цикла (рис. 2.5.). В первом цикле Mi производится выборка кода операции и размещение его в управляющем регистре IR МП, действия, совершаемые процессором при выполнении этой команды в Ml ничем не отличаются от тех, которые совершались при выполнении команды IN т ввод. Словов состояния процессора и адрес первого байта выдаются на шины данных в первом такте Т1. В Т2 производится приращение PC, а в ТЗ и Т4 первый байт размещается в IR и производится его дешифрация. В цикле М2 и МЗ производится чтение второго и третьего байта команды, определяющих адрес ячейки памяти в ЗУ, в которую должна быть произведена запись содержимого аккумулятора. Второй и третий байты команды в циклах М2 и МЗ записываются в регистры временного хранения информации.

В цикле М4 осуществляется запись данных в ЗУ. В такте T1 также как в каждом цикле на шину данных выдается слово состояния процессора, в данном случае - запись в ЗУ. На адресной шине в это время адрес     ячейки     памяти     из     регистров     временного хранения информации W и Z. В такте Т2 на шину данных выдается содержимое аккумулятора и в ТЗ сигналом WR производится запись в ОЗУ.

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

 

                КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ

 

1. Для какой цели служит слово состояния процессора?

2. В какой момент работы процессора оно выдается?

3. Где хранится слово состояния?

4. Почему оно хранится только на время выполнения одного

машинного цикла?

5- На основе табл. 2.1. постройте схему формирования управляющих

сигналов 6. Постройте временные диаграммы выполнения команд MOV r, M;

JMP: SHLD; ANI; POP.

 

ЛЕКЦИЯ 13-14. СИСТЕМА КОМАНД МП КР580 ИК 80 А

 

Все множиство команд рассматриваемого МП можно разделить на 7 групп: пересылки, арифметические, логические, передачи управления, команды ввода вывода, обращение к стеку и управления процессором- В таблице 2.2.    приведена вся система команд МП, приведено краткое описание, указана длина команд в байтах, длительность исполнения в машинных циклах, возможность управления признаками результата операции. В таблице принята следующая система обозначений:          Д,     S     -     приемник     (destination) или источник (source) информации, в качестве которых используются регистры МП   В, С, D, Е, Н, L, аккумулятор А и ячейки памяти М (memory);    data    -    8    или    16-ти    битные    слова данных; addr - 16-ти битный адрес памяти; - содержимое ячейки памяти или регистра МП; (SP) - содержимое указателя стекавой памяти; port - 8-битный адрес периферийного устройства; rp - регистровая пара ВС, DE, HL или указатель стека SP, ССС - 3 битный код признака, используемого в командах    передачи    управления;    n-    номер    команды повторного старта, n=0-7.

Команды,  выполняемые  ЭВМ,  представляют  собой  двоичные числа, которые МП выбирает из памяти, затем декодирует их и выполняет  требуемые   операции.   Представленный   в  таблице мнемонические обозначения команды "непонятно" для МП, но удобно и понятно программисту.

Программа, написанная с использованием мнемонических обозначений для  использования ее  в  ЭВМ должна быть  переведена в двоичный код. Для этой цели используется специальная программа, которая носит название ассемблер. Однако, не все микро-ЭВМ снабжаются ассемблерами,   в некоторых случаях можно обойтись и без нее, но не вводить программу в двоичном коде, а использовать шестнадцатеричный  код.  Для  облегчения  процедуры  перевода можно  воспользоваться  таблицей  2.3. Для  определения  кода необходимо найти горизонталь, на которой находится кодируемая команда, а затем вертикаль. Например, шестнадцатеричный код команды останов    HLT 76Н (по горизонтали - строка с цифрой 7, а по вертикали с цифрой 6).

       Таблица 2.2.

                                         Группа

команд

Мнемоника

команды

Описание

команды

Число

байт

Число

машин

ных

тактов

Признаки

Результат

Операции  (флаги)

 

 

P

C

AC

1

2

3

4

5

6

7

8

9

10

Коман

ды  пе-

ресыл-

ки ко-

дов

MOV D,S

(D)S)

1

5

-

-

-

-

-

MVI D,data

(D)(data)

2

7

-

-

-

-

-

LXI rp,data

(D)(data)

3

10

-

-

-

-

-

LDA addr

(A)

3

13

-

-

-

-

-

STA addr

(addr) (A)

3

13

-

-

-

-

-

LHLD addr

L(addr),

H(addr+1)

3

16

-

-

-

-

-

SHLD addr

(addr)L,

(addr+1)H

 

3

16

-

-

-

-

-

LDAX rp

A(rp)

1

7

-

-

-

-

-

STAX rp

((rp))A

1

7

-

-

-

-

-

XCHG

(H)(D),

(L)(E)

1

4

-

-

-

-

-

Коман-

ды ариф-метической обработки

ADD S

(A)(A)+

(S)

1

4

+

+

+

+

+

ADI data

(A)(A)+

data

2

4

+

+

+

+

+

ADC S

(A)(A)+

(S)+(C)

1

4

+

+

+

+

+

ACI data

(A)(A)+

data+(C)

2

7

+

+

+

+

+

DAD rp

(H,L)

(H,L)+(rp)

1

10

-

-

-

-

-

SUB S

(A)¬(A)-(S)

1

4

+

+

+

+

+

SUI data

(A)¬(A)-data

2

7

+

+

+

+

+

SBB S

(A)¬(A)-(S)-(C)

1

4

+

+

+

+

+

SBI data

(A)¬(A)-

data-(C)

2

7

+

+

+

+

+

INR D

(D)¬(D)+1

1

5

+

+

+

+

+

INX rp

(rp)¬(rp)+1

1

5

-

-

-

-

-

DCR D

(D)(D)-1

1

5

+

+

+

+

+

DCX rp

(rp)¬(rp)-1

1

5

-

-

-

-

-

DAA

Десятич-

ная коррекция

1

4

+

+

+

+

+

Коман-

ды логической обработки

ANA S

(A)¬(A)^

(S)

1

4

+

+

+

0

+

ANI data

(A)¬(A)^

data

2

7

+

+

+

0

+

XRA S

(A)¬(A)+

(S)

1

4

+

+

+

0

0

XRI data

(A)¬(A)+

data

2

7

+

+

+

0

0

ORA S

(A)¬(A)^

(S)

1

4

+

+

+

0

0

ORI data

(A)¬(A)^

data

2

7

+

+

+

0

0

CMP S

(A)¬(S)

1

4

+

+

+

+

+

CPI data

(A)¬data

2

7

+

+

+

+

+

RLC

(An+1)¬

An9(A0)¬

(A7)

(C)¬(A7)

1

4

-

-

-

+

-

RRC

(An)¬

(An+1),

(A7)¬

(A0)

(C)¬(A0)

1

4

-

-

-

+

-

RAL

(An+1)¬

An, (C)¬(A7)

(A0)¬(C)

 

1

4

-

-

-

+

-

RAR

(An)¬

(An+1),

(C)¬(A0)

(A7)¬(C)

1

4

-

-

-

+

-

STC

(C)¬1

1

4

-

-

-

1

-

CMC

(C)¬(C)

1

4

-

-

-

+

-

CMA

(A)¬(A)

1

4

-

-

-

-

-

Коман-

ды пере-

дачи управ-

ления

JMP addr

 

(PC)¬

(addr)

3

10

-

-

-

-

-

Jcond addr

(PC)¬

(addr) если услов-е

ССС в по-

ле истино

3

10

-

-

-

-

-

СALL

((SP))¬

(PC),

(PC)¬

(addr вызов под

програм-

мы)

3

17

-

-

-

-

-

Ccond addr

(PC)¬

(addr), ес-ли усл-е

CCC в по-

ле истино

3

11/17

-

-

-

-

-

RET

Возврат из

програм-мы (PC)¬

((SP))

1

10

-

-

-

-

-

Rcond

Возврат из

програм-мы, если

усл-е CCC

в поле истино

1

5/11

-

-

-

-

-

PCHL

(PC)¬

(H,L)

1

5

-

-

-

-

-

RSTn

Команда повторно-го старта

1

11

-

-

-

-

-

Коман-ды ввода

вывода

IN port

(A)¬

(port)

2

10

-

-

-

-

-

OUT port

(port)¬

(A)

2

10

-

-

-

-

-

Коман-

ды работы со сте-

ком

PUSH rp

(SP)¬(rp)

1

11

-

-

-

-

-

PUSH PSW

(SP)¬(A)

и флаго-

вый  регистр (Z,S,P,C,

AC)

1

10

+

+

+

+

+

POP rp

(rp)¬

((SP))

1

10

-

-

-

-

-

POP PSW

Восстановление флагового

регистра

I,Z,S,P,C,

AC и (A)¬

((rp))

1

10

+

+

+

+

+

XTHL

(H,L)¬

(SP)

1

18

-

-

-

-

-

SPHL

(SP)¬

(H,L)

1

5

-

-

-

-

-

Коман-ды управ-ления

МП

EI

Разреше-

ние пре-рывания

1

4

-

-

-

-

-

DI

Заверше-ние пре-

рывания

1

11

-

-

-

-

-

HLT

Останов

1

7

-

-

-

-

-

NOP

Пустая ко-

манда

1

4

-

-

-

-

-

 

 

2. MOV В, А

По этой команде в регистр В посылается содержимое аккумулятора-

Команда имеет длину один байт.

3. LDA 4220H.

По этой команде из ячейки 2042Н читается второй операнд

и загружается в аккумулятор.

4. ADD В

По этой команде к содержимому аккумулятора прибавляется содержимое

регистра В. Команда имеет длину один байт.

5.STA 4320Н

По   этой   команде  содержимое  аккумулятора  посылается  в

ячейку 2043Н. Команда имеет длину три байта.

6.HLT

Эта   команда   является   последней   и   останавливает   процесс. Команда       LDA и STA требуют задания 16-битного адреса, в МП К580 младшие 8 бит адреса помещаются в первой ячейке,а старшие 8 бит - во второй ячейке, Пример 2. Разделение слова на части для выделения из одного байта двух шестнадцатеричных чисел, одно число в старшем полубайте, второй в младшем полубайте. Программа должна из исходного восьмиразрядного двоичного плова выделить   четыре   младших   разряда   и   отправить   их   в ячейку 2041, а старшие разряды помещаются на место младших и затем в ячейку 2042. Задача решается следующим образом:

Шаг 1. Прочитать в аккумулятор чисел из ячейки 2040Н. Шаг 2. Выполнить логическую операцию, "U" над содержимым аккумулятора и двоичной константой 00001111. В результате младшие четыре бита исходного слова сохраняются без изменений (поскольку 0^1=0 и 1^1=1),а старшие биты станут равными нулю, (поскольку 0^0=0 и 1^0=0).

Шаг 3. Послать содержимое аккумулятора в ячейку 204IH. Шаг   4.   Вновь   прочитать   число   из   ячейки   2040Н. Шаг 5.  Произвести сдвиг содержимого аккумулятора на 4 бита вправо, с тем чтобы старшие разряды оказались на месте младших.

Шаг 6. Выполнить логическую операцию "U" над содержимым аккумулятора и двоичной константой 00001111. Шаг 7.  Послать содержимое  аккумулятора в  ячейку 2042. В виду того, что для размещения исходного числа и результатов преобразования   используются   смежные   ячейки,   отличающиеся адресом на "I", для обращения к ним можно использовать регистр   HL,   как   регистр   косвенно-регистровой   адресации. Программа имеет следующий вид:

LXI. Н, 4020Н;   Загрузить  в  аккумулятор   исходные  данные;

MOV  А, М MOV В, А; Запомнить данные в РОН для последующей обработки ANI     OF     H;     Замаскировать следующую цифру INX  H; Записать в ячейку  2041    младшую MOV M, A;   16-ричную цифру MOV  А, В; Четырехкратный  циклический  сдвиг RRC; вправо исходного числа, которое хранилось в регистре В RRC;

RRC

RRC

ANI OFH; Замаскировать младшую цифру, которая находите я после

сдвига на месте  старшей

IMX  H; Запомнить старшую цифру в    ячейке; 2042

MOV  M, A

HLT

В программе на шаге 1 после чтения исходное число запоминается в

регистре   В    РОН.   Это    позволяет    на    шаге    4   не

производить повторного чтения исходного числа из памяти.

Га с смотренные примеры простых программ позволяют отметить

следующие особенности в программировании для Ш К680:

1. Основная часть операций по обработке информации производится над содержимым     аккумулятора.     Программа     начинается     с загрузки исходных данных из памяти в аккумулятор и завершается запоминанием результата в ЗУ-

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

3. Число обращений  к памяти может быть уменьшено за счет косвенной адресации с помощью пар регистров HL, DE, ВС. Для чего следует исходные данные и результаты размещать в смежных ячейках памяти. Косвенная адресация позволяет использовать короткие    команды    например,    команда    MOV    А, М-однобайтовая-

3. С помощью команды ЛОГИЧЕСКОЕ И можно обнулять некоторые разряды обрабатываемых слов, что дает возможность работать с данными, имеющими длину, меньшую длины ячейки памяти.

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

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

Пример 3. Необходимо разместить нули в шестнадцати ячейках, начиная с   адреса   2040,   а   по   адресу   2040+   F   записать число FFH. Процесс заполнения памяти выполняется следующим образом.

Шаг   1-   Очистить   аккумулятор,   установить   указатель   в начало массива ячеек.

Шаг 2. Записать 0 в указанную указателем ячейку памяти.

Шаг 3. Модифицировать указатель и счетчик числа обнуляемых ячеек памяти.

Шаг 4.  Проверить,не выполнен ли цикл заданное число раз. Если нет, то повторить шаг 2.

Шаг 5. Записать в ячейку число FF и закончить выполнение программы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 2.6 .Стандартна я блок-схема циклической программы.

Для выполнения описанной последовательности можно пользоваться следующей программой:

XRA А; Очистить аккумулятор

LXI H,   4020H;   Установить   указатель   на   адрес;   2040 MVI В, OFH Остановить счетчик числа обнуляемых ячеек памяти LOO: MOV М, А; 3аписать "О" в ячейку памяти     

 IMX H,; Модификация указателя и счетчика DCR В

JNZ, LOO; Проверить завершение записей 0 в ЗУ MVI   М, FFH; 3аписать в ЗУ число FF может быть выполнен следующим образом:

Шаг  1.  Установить  указатели  начала  массива  передаваемых

данных и начала области памяти, куда производится пересылка. Установить счетчик числа передаваемых байт.

Шаг 2. Прочитать байт из одной области памяти и записать в другую.

Шаг 3. Произвести модификацию указателей и счетчика переданных

байт.

            Шаг 4. Проверить не завершена ли передача данных. Если

не завершена перейти к шагу 2. В противном случае закончить процесс. Ниже   приводится   программа,   составленная   по   указанному алгоритму:

LXI      Н, 2040Н;      Установить      указатели      массивов

LXI       D.2240Н; и       счетчик      пересылаемых       байт

MVI      В, OFH

LOO: MOV А, М; Прочитать байт из памяти и записать его по новому

адресу

STAXD

INX Н; Модифицировать указатели и счетчик переданных байт

INXD

DCRB

JNZ LOO

HLT

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

устройствами используются специальные коды, например КОИ-7, который

является   национальным   вариантом,   стандартногокода   обмена информацией.      Для      представления      алфавитноцифровых и служебных символов используется семиразрядный двоичный код. В таблице 2.4.   приведен код КОИ-7 и указано соответствие его цифрам и буквам латинского и русского алфавита. Для кодирования этих символов в таблице приведены двоичные и шестнадцатеричные коды. Таблица 2.4. представляет собой матрицу с 16

 

ЛЕКЦИЯ 15-16. ОРГАНИЗАЦИЯ ИНТЕРФЕЙСА В ЭВМ

 

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

Буферные регистры при согласовании по скорости позволяют осуществлять временное хранение информации. Механизм их действия достаточно прост. Буфер принимает и хранит данные до тех пор, пока устройство, которому эти данные предназначены не считает их. В   это    время    быстродействующая   компонента   системы, чаще всего это процессор, может заниматься другой работой, а не ожидать завершения процедуры обмена со стороны "медленной" компоненты. Если передача идет от "медленной" компоненты к "быстрой", то буфер накапливает данные от "медленной" и по готовности выдает с требуемой скоростью "быстрой" компоненте. Использование буферов требует ряда дополнительных сигналов, . например, сигнала состояния буфера. При считывании данных из буфера сигнал снимается, а при загрузке выставляется. При передаче информации между компонентами системы используют стандартные  коды,   содержащие  алфавитно-цифровые  символы, специальные и управляющие символы, которые должны пониматься компонентами одинаковым образом. Для передач в пределах одной системы   чаще   всего   используется   код   КОИ-7.   Семь разрядов этого кода информационные, а восьмой служит для контроля на четность.   Значение   восьмого   разряда   зависит   от   того четное или нечетное число единиц находится в информационной части передаваемого байта данных. При однократных ошибках изменяется значение одного из информационных разрядов. Это событие определяется путем контроля на четность. Если произошло изменение 0 или 1 на обратное, то число единиц или нулей измениться относительно исходного - заданного. Архитектура   процессора   определяет   число   и   назначение дин, предназначенных для организации обмена. В общем случае процессор может иметь отдельные шины, предназначенные для передачи данных и отдельные шины адреса (рис. 2.1.), а также ряд других шин, которые предназначены для синхронизации. 3 виду того, что число выводов у однокристальных микропроцессоров ограничено в некоторых случаях шина данных и адреса совмещаются. При   обмене   первоначально   на   шины   выдается   адрес,   а затем данные.

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

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

Магистральный интерфейс свободен  в определенной мере от указанных недостатков, но у него есть свои недостатки. При обмене необходимо указывать адрес устройства. Источником может быть только одно устройство, остальные должны в момент передачи "молчать" Эта особенность важна при организации высокоскоростных передач.

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

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

Обычно  магистральный  интерфейс  имеет  в  своем  составе функциональные выделенные группы шин - проводников, по которым идет

передача управляющей, адресной информации и данных. В зависимости от сложности магистрали выделяют:

- адресную шину (АШ);

- шину данных (ШД);

-управляющую шину (УШ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис-3.2.     Общая     программная     модель     периферийного устройства.

 

Непосредственные   действия,    связанные    е    вводом-выводом реализуются одним из двух способов, различающихся адресацией регистров ввода-вывода. Первый способ предполагает наличие специальных команд ввода-вывода таких как Ifl/pott и OUTрогf . При выполнении команды вывода содержимое одного регистра процессора пересылается в регистр - порт {рогl), отождествляемый с устройством ввода-вывода, а при выполнении.команды ввода наоборот , При таком способе организации обмена пространство адресов устройств ввода-вывода изолировано от пространства адресов уст­ройств памяти и для обращения к последней предусмотрены свои ко­манды. Дело в том, что в управляющей шине для управления памятью предусмотрены свои сигналы записи и чтения (MR и MW). В результате в ЭВМ могут быть входной и выходной порты и ячейка памяти с одинаковыми адресами.

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

На рис. 3.3.    показана схема поясняющая первую организацию интерфейса с изолированной шиной.

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис.3.3.      Интерфейс          с        изолированной  шиной.

 

Характерным признаком этой организации является наличие отдельных команд обращения к внешним устройствам следующего формата:

IN port и OUT port

и отдельных команд обращения к памяти, например MOVr, М: MOVM, r;

LDAX rp; STAX rp

команд с косвенно-регистровой адресацией;

LDA addr, STA addr LHLD addr, SHLD addr с прямой адресацией и LXI rp, data; MVl M.data смешанной адресацией,

Большое разнообразие способов адресации принятое при обращении к ЗУ позволяет    используя    особенности    каждого    из    них строить обмен с наибольшей эффективностью.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 3.4. Интерфейс с общей шиной.

 

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

В заключении рассмотрим достоинства и недостатки каждой из организаций интерфейсов. Для большей наглядности сведем их в одну таблицу.

Таблица 3.1

 

 

Интерфейс с общей шиной

Интерфейс с изолированной

шиной

                                                             Достоинства

1. Наличие отдельных команд обмена с памятью и периферийными устройствами

1. Расширение набора команд для обращения к периферийным устройствам

2. Непересекающееся прстранство адресов, позволяющее иметь память

максимальной  ёмкости

2. Увеличение числа подключаемых внешних устройств

                            Недостатки

1. Обмен периферийными устройствами выполняется с участием аккомулятора

3. Возможность внепроцессорного обмена в системе команд. Предусмотрены команды обмена между ячейками памяти.

2. Ограниченное число периферийных устройств.

4. Возможность обмена не только с участием аккомулятора но любого другого регистра процессора.

 

 

1. Сокращение области памяти.

 

 

2. Усложнение дешифрирующих адрес схем.

 

ЛЕКЦИЯ 17. СОГЛАСОВАНИЕ ВНЕШНИХ УСТРОЙСТВ

 

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

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

1) скорости в виду большого их разнообразия;

2) уровням сигналов;

3) сложности структуры сигналов.

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

Операция ввода-вывода информации аналогична циклу чтения или записи из памяти. Для ее реализации необходимо выполнить три шага. При вводе информации:

1. МП выставляет адрес на шине адреса. При этом происходит выбор конкретного   устройства   -   порта.   На   шине   управления задается режим работы - ввод информации;

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

            3.  Ш считывает данные с шины и помещает их в один из своих регистров.

При выводе информации:

1. МП выставляет адрес устройства - порта, которому предназначено сообщение.   Одновременно   на   шине   данных   выставляется сообщение;

2. МП по шине управления устанавливает режим работы - выдача и ждет завершения ввода данных в устройство;

3.    МП    завершает    обмен,    убирая     все    сигналы. Таким образом первая проблема состоит в том, как определить, когда данные    становятся    доступными    при    вводе    и    когда данные введены в устройство вывода. Согласовать по времени работу МП и устройств ввода-вывода можно различными методами:

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

2. Вырабатывается сигнал готовности (READY) для указания,

что данные готовы. Такой режим приемлем для устройств среднего

быстродействия от которых информация поступает не регулярно -

асинхронно. МП может проверять значение этого сигнала.

3 .Данные   могут   приниматься   со   скоростью   определяемой

блоком управления устройства вывода. Тогда ввод данных производится

через регулярные промежутки времени, или синхронно.

Реализация каждого из указанных методов зависит от имеющихся в

распоряжении конструктора средств и, собственно, устройств ввода

вывода.

         КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ

 

1. Поясните смысл термина интерфейс.

2. Поясните смысл задачи согласования различных устройств.

3. Для какой цели служит буфер?

4. Поясните на конкретном примере как буфер согласует устройства с различным быстродействием.

5 Чем отличается магистральный интерфейс от радиального?

6 Приведите примеры организации того и другого интерфейса.      

7 Почему в процессе обмена передается информация двух видов: данные и управления?

8 Поясните природу каждой из них.

9.Поясните почему общая модель периферийного устройства содержит

четыре регистра?

10. Можно ли обойтись меньшим числом регистров?

11 Зависит ли модель устройства ввода-вывода от интерфейса?

12.Что такое пространство адресов?

13. Чем отличается интерфейс с изолированной виной от интерфейса с общей шиной?

14. Постройте систему, в которой имеется 4 устройства ввода и столько же устройств вывода, память емкостью 8 Кбайт со следующими адресами:

- устройство ввода - 22PF, 8IFO, 920В, IQFF;

- устройство вывода - 23FO, 24FO, 25FO, 26FO;

- начальный адрес памяти - FOOO.

15. Перечислите последовательность действий процессора при выполнении ввода и вывода информации.

16. Объясните, почему возможна эта последовательность? Можно ли ее изменить?

 

ЛЕКЦИЯ 18-19. КОМПОНЕНТЫ ДЛЯ ОРГАНИЗАЦИИ ИНТЕРФЕЙСОВ И ОСОБЕННОСТЬ ИХ ПРИМЕНЕНИЯ

 

Для организации интерфейсов используются такие компоненты общего назначения, как буферные регистры, дешифраторы, шинные формирователи,   триггеры,   параллельные   и   последовательные адаптеры, интервальные таймеры и другие. Все эти компоненты с точки зрения их функциональной ориентации на различные режимы работы можно подразделить на программируемые и непрограммируемые.    Свойство    программируемости    позволяет настраивать компоненты на реализацию необходимых функций без каких либо схемных переделок, и только под действием команд микропроцессора. Эта особенность делает их особенно ценными при согласовании          устройств          ввода          вывода. Примерами таких компонент в наборе К580 могут служить адаптеры КР580ВВ51 и КР580ВВ55.

Рассмотрение   компонент,   предназначенных   для   организации интерфейсов устройств ввода вывода начнем с многорежимного буферного регистра К589ИР12.

Данный компонент способен выполнять большинство задач согласования устройств средней сложности.» Регистр содержит (см.рис. 3.5) в своем составе 8-разрядный регистр на D триггерах и выходными буферами на три состояния. Содержит схему управления режимами работы: записью, считыванием,                                      формированием сигнала "запрос". Наличие буферов с тремя состояниями позволяет подключать несколько регистров непосредственно к шине данных. Запись информации в регистр обеспечивается одной из следующих комбинаций управляющих символов CS1* CS2* MD             V             STB* MD,             где CSl и СS2-входы выборки кристалла регистра, при CS1 =0 и СS2=1 производится выборка МБР; STB-вход стробирования при записи;

MD-вход выборки режима и управления состоянием выходного буфера. Чтение информации с регистра осуществляется одной из двух комбинаций входных сигналов CS1* CS2 VMD. Формирование запроса на выходе INT    производится при записи и чтении информации: CS1* CS2VSTB. Сброс сигнала INT   осуществляется сигналом очистки регистра CLR=0 или при CS 1 * CS2= 1

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 3.5. Многорежимный буферный регистр К589ИР12.

Простые   случаи   использования   регистра   приведены   на Рис.3.6. Стробируемый буфер (рис.3.6.а) - регистр используется для временного хранения данных при выдаче. Запись информации в него производится МП при подачи сигнала выборки кристалла    СS1=0, CS2=1. При CS1* C2=0 выход регистра находится в высокоимпедансном состоянии.

Два регистра включенные так, как показано на рис. 3-6. б могут служить в качестве шинного формирователя. Один из регистров работает в режиме стробируемого буфера, а   второй находится в состоянии высокого сопротивления. Регистр как выходной порт показан на рис. 3.6. в- При записи информации от устройства вывода формируется сигнал STB = 1. Чтение информации в МР производится при CS1 * CS2 =1. Регистр может быть использован как выходной порт. Сигнал STB считывает данные в устройство вывода при этом в процессор посылается сигнал с выхода INT. выборка порта при загрузке из процессора производится сигналами CS1, и CS2.

 Рассмотрим в качестве примера использование МБР в качестве стробируемого буфера при согласовании Ш с аналого-цифровым преобразователем (АЦП). АЦП предназначен для преобразования аналоговых величин в цифровой код, который затем обрабатывается МП. АЩ находят широкое применение в аппаратуре связи, измерительных приборах и т.д. досматриваемый в примере АЦП имеет аналоговый вход, цифровой    выход,    вход    запуска    преобразования.    АЩ выдает на своих 12 цифровых выходах параллельный двоичный код. Так как 12 битный код не может быть в параллельной форме введен в 8 битный  Ш  одной  командой,  ввод  информации  необходимо осуществлять в два приема. Между АЦП и шиной данных МП необходимо установить два МБР и ввод информации производить сначала через первый МБР. - старшие разряды кода, затем через второй МБР - младшие разряды кода. Через первый МБР в МП считывается сигнал     окончания     преобразования     (READY),     который поступает в МП по шине D7. На рис. 3.7. приведена схема сопряжения 12-ти разрядного АЦП с МР с помощью МБР.

Первый МБР имеет адрес OIH, второй   02Н, преобразователь имеет адрес ОЗН. Адресные сигналы, формируемые адресным дешифратором DSA поступают на вход выборки кристалла CS1 МБР.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


                Рис. 3.6. Примеры использования МБР

 

На   вход   CS2   МБР   подается   сигнал   I/OR   с   шины управления.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


                                                         Вход

 

 

 

 

                  Рис. 3.7. Интерфейс МП с АЦП.

 

Последовательность действий необходимых для ввода    информации от АЦП может быть следующей:

ШАГ I. Запустить АЦП.

ШАГ 2. Прочитать первый МБР.

ШАГ 3. Проверить значение бита D7 - не    завершено ли преобразование. Если не завершено, то      перейти      к шагу 2.


ШАГ 4. Записать значения старших разрядов в один из регистров РОН МП.

ШАГ 5. Прочитать второй МБР и записать значение младших разрядов в один из регистров РОН МП.

Программа управления АЦП может быть оформлена в виде под­программы видеть следующий вид:

Рис. 3.8. Программная модель и формат приказов    адаптера КР580 ВВ55 выводе с медленнодействующими устройствами. В этом режиме при работе на передачу порт запоминает и хранит на своих выходах информацию, которая поступила в него из МП. При работе на прием информация от внешнего устройства не запоминается, а считывается со входов на шину данных и далее в МП. В этом режиме порт С разделен на две части, разряды с РС4 по РС7 относятся к группе А, а с РСО по РСЗ к группе В. Режим  1.  стробируемого  ввода-вывода.  Передача  информации производится через порты А и В, а управление обменом с помощью шести линий порта С/ Если в режиме 0 управление обменом целиком лежало на МП» то в режиме I формирование сигналов управления производится самим адаптером, а для МП вырабатывается только осведомительный   сигнал      1NTR.   На   рис.   9.9.   показан пример подключения к порту А стандартной клавиатуры для ввода алфавита о- цифровых кодов. Порт А работает на ввод данных. Разряд РС4 принимает инверсный сигнал стробирования STB от клавиатуры, по этому сигналу производится загрузка в регистр порта А слова данных от клавиатуры.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис.     3.9.Схема    подключения    устройства    ввода-вывода к адаптеру в режиме I

 

Разряд РС5  формирует ответный сигнал -  квитанцию  IBF, который указывает на завершение ввода информации в порт А. Разряд РСЗ формирует 1NTR запрос прерывания – осведомительный сигнал для МП, который указывает, что в порт А загружено слово

данных.

При считывании информации в МП из порта А сигналы IMTR и IBF сбрасываются. Задержка сигнала IBF до считывания информации в МР не дает возможности устройству ввода выдавать следующий байт информациии до тех пор, пока не прочитан данный.

Вывод информации в режиме I сопровождается (рис. 3.9.) тремя  сигналами:  0ВF ,  АСК,  INTR.  Назначение  последнего из них ясно из предыдущего. Сигнал OBF формируется после загрузки в порт  выдачи   (в  данном  случае  порт  В)  слова  данных. Этот сигнал может рассматриваться как сигнал стробирования при выдаче информации в устройство вывода. Сигнал АСК подтверждает прием информации в устройство вывода, по нему адаптером снимается сигнал     OBF.     Сигнал     1NTR     формируется     после записи в устройство вывода байта данных и сбрасывается после загрузки в порт из МП нового байта данных.

Вревенные диаграммы ввода и вывода информации в режиме 1 приведены на рис. 3.10. а, б соответственно. В режиме 2 двунаправленной шины может работать только один порт А. Пять разрядов порта С используются для управления обменом, а именно:

РСЗ - Для формирования сигнала прерывания INTR;

РС7 - Для формирования сигнала выходной буфер загрузки OBF;

PC б  - для формирования сигнала АСК  подтверждения приема информации от устройства вывода информации;

РС4 - для приема сигнала стробирования информации STB от устройства ввода информации;

РС5 - для формирования сигнала IBF подтверждения загрузки    входного    порта    информацией    от    устройства ввода.

Временные диаграммы при вводе и выводе информации аналогичны диаграммам режима 1 для соответствующих сигналов. В   качестве   примера  рассмотрим   задачу  организаций   связи ЭВМ с дисплеем с помощью адаптера КР580ВВ55. Дисплей вта-2000 имеет интерфейс ирпр. Передача информации от ВТА к ЭВМ и в обратную сторону производится в коде КОИ-7, восьмой разряд служит для контроля на четность.

 

 

 

                             СПИСОК ЛИТЕРАТУРЫ

 

1. Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов: Учеб. пособие для вузов - М.: Радио и связь, 19S8 г.

2. Балашаов   Е.П.,   Пузанков   Д.В.   Микропроцессоры   и микропроцессорные системы: Учеб. пособие для вузов /Под ред. В.Б. Смолова. - М,: Радио и связь, 1991 г.

3. Березенко А.И., Корягин Л.Н., Назарьян А.Р. Микропроцессорные комплекты повышения быстродействия. - М.: Радио и связь, 1985-

4. Березенко   А.И.   Микропроцессорные   комплекты   общего применения. - М.: Машиностроение, 1982.

5. Васильев Н.П., Горовой В.Р. Микропроцессоры. Аппаратурно-программные средства отладки: Учеб. пособие для втузов /Под ред. Л.Н. Преспухина. - М.: Высшая школа, 1984.

6. Каган Б.М., Сташин В.В. Микропроцессоры в цифровых системах. -М.: Энергия. 1985.

7. Клингман  Э.  Проектирование  специализированных  микро­процессорных систем: Пер. с англ.-М.: Мир, 1985.

8. Мик Дж., Брик Дж. Проектирование микропроцессорных устройств с разрядно-модульной организацией: Пер. с англ. - В 2-х кн. - М.: Мир, 1985. 9. Уокерли Дж. Архитектура и программирование микро ЭВМ: Пер. с англ. - В 2-х кн. - М.: Мир, 1985.