1041

Арифметико-логические основы электронных вычислительных цифровых машин системы счисления

Лекция

Коммуникация, связь, радиоэлектроника и цифровые приборы

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

Русский

2013-01-06

475 KB

31 чел.

Первая лекция

Арифметико-логические основы электронных вычислительных цифровых машин системы счисления

Системы счисления:

1. Непозиционная.

Римская, пример: IV, VI.

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

2. Позиционная.

Арабская, например 753, 357.

Число определяется сложением отдельных весов цифр, но цифра меняет свой вес в зависимости от позиции в числе.

S – основание системы счисления;

A – весовой коэффициент цифры;

n - номер

Пример: 999=900+90+9

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

101101110(2) = 1*28 + 0*27 + 26 + 25 + 23 + 22 + 21 =

= 256 + 64 + 32 + 8 + 4 + 2 = 366(10)

или:

366  2

-

366 183   2

       

             0   1    91   2

     1   45   2

 1   22     2

       0      11     2

                                                  1    5     2

                                                         1    2      2

 

                                                               0       1

366(10) = 101101110(2)

В восьмеричной системе используются цифры 0 - 7. В шестнадцатеричной системе используют цифры 0 - 9, A, B, C, D, E, F.

Десятичная

Двоичная

Восьмеричная

Шестнадцатеричная

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

10000

0

1

2

3

4

5

6

7

10

11

12

13

14

15

16

17

20

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

10

Перевод из восьмеричной или шестнадцатеричной системы в двоичную и обратно осуществляется просто:

101 | 101 | 110(2) 1 | 0110 | 1110(2)

               5|      5|     6(8)                                     1 |        6|     С(16) 

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

H - шестнадцатеричная

D - десятичная

B - двоичная.

Таблица сложения Таблица умножения

0+0 = 0 0*0 = 0

0+1 = 1 0*1 = 0

1+0 = 1 1*0 = 0

1+1 = 10 1*1 = 1

Примеры: 10101101 10101111

+1011101 -   1011100

                            100001010    01010011

10110110 101011110   1010

х   10101      -       1010

                     100011

10110110 01111

10110110 -  1010

10110110

111011101110 01010

101011110B = 350D

100011B = 35D;

350 / 10 = 35

При вычитании из меньшего числа большего, например:

3 - 4 = 011 - 100, проводятся следующие преобразования:

Инвертируем второе число: 4 = 011

Прибавляем  1 = 100

Складываем первое и второе числа:

0.011

+ 1.100

1.111

Затем проводим те же преобразования: 000 + 1 = 001

Вторая лекция

Логические основы УЭВМ

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

N функции

X1  0 0 1 1

X2  0 1 0 1

Обозначение

Наименование

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0 0 0 0

0 0 0 1

0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

0

Х1  ^  Х2

Х1      Х2

Х1

Х2  ^  Х1

Х2

Х1  Х2

Х1 v Х2

Х1 ^ Х2

Х1  Х2

Х2

Х2 Х1

Х1

Х1 Х2

Х1 / Х2

1

Константа 0

Конъюнкция, лог.  "И"

Запрет по Х2

Тождество Х1

Запрет по Х1

Тождество Х2

Сумма по мод. Х2

Дизъюнкция, лог. "ИЛИ"

Стрелка Пирса

Эквивалентность

Инверсия Х2

Импликация от Х2 к Х1

Инверсия Х1

Импликация от Х1 к Х2

Штрих Шеффера

Константа 1

Правила использования логических функций:

1. Переместительный закон:

X1 v X2 = X2 v X1                       

X1 ^ X2 = X2 ^ X1

2. Сочетательный закон

X1 v (X2 v X3) = (X1 v X2) v X3  

X1 ^ (X2 ^ X3) = (X1 ^ X3) ^ X3

= _ _

X = X X v X = 1 X ^ X = 0

X v X = X ^ X = X X v 1 = 1 X ^ 1 = X

X v 0 = X X ^ X = 0

_______   __   __ _______   __   __

X1 v X2 = X1 ^ X2 X1 ^ X2 = X1 v X2

3. Распределительный закон:

X1(X2 + X3) = X1X2 + X1X3

X1 + X2X3 = (X1 + X2)(X1 + X3)

Пример:

__   _____________ __

f(X1,X2) = X1^X2 v X1^X2 v X1^X2 ^ X2 v X1^X1

___________ ____ ____

X1X2 v X1X2 X2 = (X1X2) (X1X2) X2 =

__ __

= (X1 v X2) (X1 v X2) X2 =

__ __

= (X1 v X2) (X1 v X2) (X2 v 0) =

__

= (X2 v X1 ^ 0) (X1 v X2) =

__ __

= (X2 v 0) (X1 v X2) = X2X1 v X2X2 = X2X1

__ __

f(X1,X2) = X1X2 + X2X1 = X1(X2 + X2) = X1 ^ 1 =X1

Третья лекция

Пусть задана некоторая система:

Х1

Х2

Х3

Y1

Y2

Y3

0

0

1

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

0

1

0

0

1

0

Y1 = X1 X2 X3

Y3 = X1 X2 X3

Y2 = X1 X2 X3 + X1 X2 X3

Система булевских функций S называется функционально полной, если любая булевская функция f(X1, X2,..., Xn) может быть построена путем суперпозиции функций Х1, Х2,..., Хn и функций системы S, взятых любое конечное число раз.

Обозначение логических элементов:

X1 X1 X                     

  Y    Y      Y

X2    X2     

  

"ИЛИ" "И" "НЕ"

Тогда нашу систему можно представить в виде схемы:

Для упрощения схемы используют различные приемы:

X1

X2

X3

Y1

Y2

Y3

0

0

0

*

*

*

=

0

0

1

0

0

1

0

0

1

0

1

0

0

1

0

0

1

1

*

*

*

=

0

1

0

1

0

0

*

*

*

=

0

1

0

1

0

1

0

1

0

1

1

0

*

*

*

=

1

0

0

1

1

1

1

0

0

Y2 = X1X2 + X1X2

Y1 = X1X2 т.к. от Х3 не зависит

 Y3 = X1 X2

 

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

Соответствующая схема:

X2

                                                                                         

                                                                                             

                                                                                               

X1

Четвертая лекция

Карты Карно

y=f(x1,x2), т.е. при изменении сигнала на входе, происходит изменение сигнала на выходе. Теоретически сигнал мгновенно изменяется на выходе, на самом деле существуют переходные процессы.

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

Для комбинационных схем результат обработки зависит только от комбинации входных сигналов и вырабатывается сразу же после появления энергии на входах.

Переходные процессы влияют на распределение информации, для устранения этого недостатка используют тактирование.

Примеры комбинационных схем:

(сумматоры, дешифраторы, компараторы, мультиплексоры...)

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

Принципы организации вычислительного процесса.

Вычислительный процесс может быть реализован:

1. Можно сконструировать устройства, логическая схема которых соответствует действиям алгоритма вычисления, или од-

но устройство,  соответствующее программе вычислений.  Такой

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

КДП

                      Данные результата

Данные

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

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


Программа и данные находятся в одном ЗУ и могут обрабатываться одинаково.

Пятая лекция

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

Упрощенная схема вычислительного процесса по рис.1.

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

Обобщенная структурная схема ЭВМ

Процессор предназначен для управления операциями.

ЗУ - для хранения данных и команд.

Пульт управления ЭВМ - для управления вводом \ выводом данных

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

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

Устройство связи с объектом - предназначено для управления объектом, для связи с внешним объектом

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

Управляющая ЭВМ отличается наличием УСО.

Архитектурные и структурные особенности ЭВМ

Архитектурные и структурные особенности ЭВМ определяются принципом проектирования:

1. Магистральность

2. Модульность

3. Микропрограммируемость

                                                                                 Магистраль1 – Данные

                                                                                 Магистраль2 – Адрес

                                                                                 Магистраль3 – Управление

                          ..................

         1. Магистральность предполагает канальный характер связи блоков ЭВМ, все блоки системы подключаются к общей системе управляющих шин. Магистральность позволяет создавать схемотехнически наращиваемые системы, легко изменять архитектуру системы и её характеристики.

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

3. Микропрограммирование.

                                                                                         устройства         

                                                                                         процессора

Методы проектирования:

1)   Структурный.

2) Программируемый - позволяет в процессе проектирования менять набор команд, позволяет создать несколько модификаций СУ.

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

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

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

Системы и набор команд меняют путем изменения значения содержимого ЗУ микропрограмм.

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

Шестая  лекция

Назначение и область применения управляющих ЭВМ.

По применению управляющие ЭВМ делятся на:

1) узкоспециализированные

2) общепромышленного назначения

1. Целесообразно использовать в следующем случае:

- алгоритм управления не сложен и не велик по объему

- управляющее устройство характеризуется повышенной надежностью

- алгоритм управления не изменяется существенно в процессе разработки и эксплуатации системы

- на потребляемую мощность, габариты и массу и другие эксплуатационные характеристики наложены жесткие ограничения

- потребность в устройствах данного типа довольно велика.

2. Целесообразно использовать когда:

- вышеперечисленные 5 факторов не важны;

- разработка системы должна быть выполнена в сжатые сроки;

- система должна иметь разветвленную структуру программных средств;

  •  не используются большими париями, т.к. цена высока.

Отличия 1  от 2 состоит в том,  что 1 оптимизируется на конкретно выполняемые функции для конкретной задачи.

Назначение:

в СУ ЭВМ предназначены для реализации устройства управления, при этом они выполняют следующие функции:

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

2) преобразование информации по заданному алгоритму управления

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

При этом ЭВМ подразделяются по решаемым задачам:

1) сбор данных и их обработка

2) управление в режиме разомкнутого контура (через оператора)

3) программное управление пуском и остановом агрегата

4) прямое или непрямое цифровое управление процессом или агрегатом в режиме замкнутого контура.

В режиме разомкнутого контура.

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

УВВ

Режим непосредственного цифрового управления

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

УВВ

Режим непрямого цифрового управления.

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

УВВ

Иерархическая структура систем управления

                                                                        Управляющая ЭВМ

ЛСУ                   ........                                                               .....

ИУ

Понятие СУ

СУ - совокупность некоторых элементов, предназначенных для реализации задачи управления и решающая следующие задачи:

1) сбор данных, т.е. преобразование физических величин, характеризующих состояние объекта управления в унифицированные сигналы

2) обработка информации с целью преобразования в вид удобный для принятия решения

3) моделирование поведения объекта

4) принятие решений на основе собранной информации и модели

5) формирование управляющих воздействий

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

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

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

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

Устройство связи с объектом (УСО)

УСО предназначено для связи систем управления с электроавтоматикой объекта, физическими величинами и т.д.

Датчики                   Исполнительные устройства

Объект описывается физическими характеристиками. Объект должен иметь ДОС для преобразования физических величин в унифицированные электрические сигналы. Датчики подразделяются на аналоговые и цифровые.

Аналоговые:

1) генераторные (термопара);

2) параметрические (терморезистор);

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

1) нормирование - усиление или ослабление сигналов усиление фильтрация - ограничение спектра преобразуемого сигнала смещение уровня преобразование тока в напряжение

2) коммутация сигналов, т.е. мультиплексирование аналоговых сигналов

3) аналого-цифровое преобразование

Подсистема аналогового вывода.

Существует три конфигурации:

1) с ЦАП в каждом выходном канале

2) с одним ЦАП, работающем в режиме разделения во времени и

с выходным запоминающим усилителем в каждом выходном канале.

3) комбинированный.

Первый вариант обладает высоким быстродействием и высокой ценой. Второй вариант обладает низкой ценой и низким быстродействием.

Подсистема цифрового ввода осуществляет:

1) ввод дискретных сигналов

2) подсчет повторяющихся сигналов.

Устройства: счетчики, регистры, блоки согласования.

Подсистема цифрового вывода осуществляет:

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

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

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

МИКРОПРОЦЕССОРНАЯ СУ

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

Электронная плата:

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

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

Цикл проектирования МП системы

1) Определение набора требований пользователя. Требования пользователя определяют, что пользователь хочет от системы, и что она должна делать. Требования пользователя (что должна и не должна делать система) определяется на основе информации о техпроцессе.

2) Строится функциональная спецификация. (техническое задание), отличается от ТЗ тем, что нет правил на разработку техпроцесса.

Функциональная спецификация включает:

а) описание форматов сигналов ( на входе и выходе)

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

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

Чем более тщательно и подробно описаны, детализированы все функции системы, тем проще процесс проектирование программных и аппаратных средств.

На проектирование функциональной спецификации уходит большое количество времени. Функциональная спецификация и требования пользователя являются критериями оценки при проектировании СУ.

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

Цикл проектирования аппаратных программных средств может идти параллельно.

Выявление требований пользователя

Разработка технического задания

           Проектирование системы

 

Объединение систем

                  Оценка системы

ТРЕБОВАНИЯ ПОЛЬЗОВАТЕЛЯ И ФУНКЦИОНАЛЬНАЯ СПЕЦИФИКАЦИЯ

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

Пример: Охранная сигнализация. Список вопросов:

1) Какие типы нарушений необходимо обнаруживать.

2) Какие действия требуются при обнаружении нарушителя

3) Какие другие особые действия необходимо предпринять.

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

ФС включает:

1) список функций, выполняемых системой

2) описание интерфейса между системой и пользователем

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

Пример ФС:

1) какие средства надо предусмотреть для обнаружения несанкционированного открывания дверей или окон.

2) какие средства надо предусмотреть для обнаружения движения.

3) какие средства надо предусмотреть для предупреждения нарушителя и вызова помощи.

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

5) какие средства необходимо предусмотреть для управления системой.

6) какие средства необходимо предусмотреть для предотвращения ложных тревог.

Ответы на вопросы ФС:

1) для обнаружения несанкционированного открытия дверей и окон должны использоваться контактные детекторы

2) для обнаружения движения должен использоваться ультразвуковой детектор движения

3) с целью предотвращения ложной тревоги движение должно контролироваться в течение не менее 5 секунд

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

5) для управления системой и её восстановления должен использоваться кнопочный переключатель

ФС состоит из следующих частей:

Часть А:__ ВХОДЫ

Необходимо описать электрические характеристики выходов датчиков

1. Контактный детектор - пределы коммутации

2. Детектор движения - ТТЛ

3. Переключатель - предельный коммутационный ток

Часть В:__ ВЫХОДЫ

1. Визуальный сигнал - лампочка Ильича, 40 Вт. 220 В.

2. Звуковой сигнал - радио.

Часть С:__ ФУНКЦИИ

1. Система включается и восстанавливается с комплексного переключателя.

2. Визуальный сигнал включается:

а) при размыкании контактного детектора

б) в случае продолжительного (>5 c.) возбуждения детектора движения

3. Звуковой сигнал включается через 60 с. после включения визуального сигнала, если за этот промежуток времени система не восстановлена с помощью переключателя.

Цикл управления

1

2

3

4

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

1 - прием входных переменных

2 - преобразование входных переменных и расчет управляющих возбуждений по математической модели

3 - формирование управляющих воздействий

4 - вывод управляющих воздействий

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

1) простоте системы

2) легкости её использования

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

ПРОЕКТИРОВАНИЕ СИСТЕМ

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

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

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

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

И ВЫБОР СООТНОШЕНИЯ МЕЖДУ ПРОГРАММНЫМИ И АППАРАТНЫМИ

СРЕДСТВАМИ

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

1. Качество исполнения данной функции (точность, надежность и т.д.)

2. Стоимость реализации функции

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

Общая структурная схема аппаратных модулей

Функции функциональной спецификации могут быть выполнены либо программно, либо аппаратно. Преобразование аналогового сигнала (например, смещение сигнала) выполняется аппаратно.

Чтобы выбрать какие функции попадут в ПО или в АЧ, нужно долго работать. Варианты разброса АЧ характеризуются характеристиками элементов системы и их функций.

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

ОСНОВНЫЕ ХАРАКТЕРИСТИКИ УПРАВЛЯЮЩИХ ЭВМ

Точность

Адресность

Набор команд

Быстродействие

Режимы обмена

Точность. определяется разрядностью системы

Общая погрешность системы

Dобщ= Dм + Dвх + Dинстр +Dобр

Dм - методическая погрешность, отражает степень совершенства математической модели реального объекта.  (Работа СД описывается с помощью дифференциального уравнения разного порядка, решение уравнений будет различно).

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

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

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

Увеличение разрядности приводит к увеличению стоимости машины и уменьшению надежности.

ЭВМ характеризуется набором выполняемых инструкций.

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

Операции делят на 5 категорий:

- основные

- операции над кодами

- операции управления

- операции, связанные с внешними устройствами

- специальные

Основные операции:

- арифметические,

- связанные с обработкой мат. моделей

- логические

Операции над кодами:

- сдвиг

- ссылка

- специальные (десятичная коррекция)

Операции управления:

- условные, безусловные переходы

- операции управления прерываниями, пуском, остановом

- управление циклами

- вызовы подпрограмм

Операции с внешними устройствами:

- передача во внешнее устройство

- прием из внешнего устройства

Специальные операции:

- управление внутренней структурой процессора (работа с регистрами)

Микропрограммность позволяет изменять набор команд.

Адресность

Характеристика, которая определяет число адресов инструкции или команды, способы связи отдельных элементов между собой (способы адресации)

ЭВМ бывают:

-одноадресные

-двухадресные

-многоадресные

-с переменной адресносностью

Инструкция одноадресная содержит инструкцию и один адрес операнда.

Чем больше адресов, тем удобней программировать.

Способы адресации:

1) Адресные команды:

-непосредственная адресация

-непрямая адресация ( косвенная и относительная )

-прямая адресация

2) Безадресные команды:

-счетчик команд

-указатель стека

-останов

прерывание

При непосредственной адресации информация, участвующая в выполнении операции помещается в адресной части команды:

MVI A(регистр), В (число)

Прямая адресация: адрес операнда непосредственно указывается в адресной части команды.

Непрямая адресация: адресная часть используется для определения адреса операнда.

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

При выполнении программы адрес будет вычислен.

Процессор содержит  базовый регистр.

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

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

Быстродействие.

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

k        k

Р = S k дi / [ S k ci ti ] i=1      i=1

kд - динамическая частность

kс - статистическая частность

ti - время выполнения i-ой операции

k  - общее число типов операции

kc оценивается статистическим  распределением  операции

взамен программы.

kд - динамическим распределением при реализации программы.

Пример для одноадресной управляющей ЭВМ:

Операции

основные

над кодами

управления

связи с внешним устр.

специальные

23,5

49,5

18

3

6

24,3

44,2

20,5

2,8

7,7

Режимы обмена информации

1. Пакетный режим

2. Режим реального масштаба времени

1. Обмен между процессором и периферийными устройствами

2. Обмен между процессором и памятью

3. Обмен между периферийными устройствами и памятью

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

Режимы обмена:

1. Программно-управляемый синхронный

2.   - " - асинхронный

3. С использованием прерывания

4. Внепрограммный, с помощью канала ПДП

1.   Режим программно-асинхронный.

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

                      

                      Синхр.

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

2. Предполагаем, что процессы несинхронизированны. Для организации достоверного приема информации от ВУ процессор ожидает готовности ВУ,  анализируя специальный сигнал, называемый флагом.

                     данные

                     

                    флаг

Недостаток: ЭВМ простаивает, ожидая флага готовности ВУ.

Достоинство: ВУ с любым быстродействием могут быть  обслужены.

3. Обмен по прерыванию.

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

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

Можно выделить 5 основных этапов механизма прерывания:

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

2) Анализ прерывания. Так как в ЭВМ может существовать несколько устройств, требующих обмена с прерыванием, то может поступить несколько запросов прерывания одновременно. Поэтому каждому типу прерываний присваивается определенный приоритет.

3) Фиксация состояния процессора. Для фиксации состояния процессора необходимо зафиксировать состояния: Счетчика адреса, аккумулятора и указателя стека.

Для полного сохранения необходимо еще сохранить состояние регистров.

Эта операция выполняется аппаратным путем.

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

5) Восстановление прерванного процесса. Необходимо восстановить состояние регистров, указателя стека, аккумулятора и счетчика адреса.

4. Обмен через канал ПДП.

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

Существует 3 режима ПДП:

1) Режим с захватом самый простой и медленный. ВУ осуществляет захват шин памяти на все время обмена.

2) Приостановка работы процессора на 1 машинный цикл для передачи слова через канал ПДП.  Существуют аппаратные усложнения, но быстродействие выше.

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

Режим обмена процессор-память

Различают 2 вида обмена: изолированный и совмещенный.

При 1-м режиме существует отдельный канал памяти и ВУ.

При 2-м режиме канал общий.

Для изолированного режима обмена применяют 2 формата адреса: для ЗУ и для ВУ. Формирование форматов адреса осуществляется микропрограммно, или схемным устройством управления.

Для 2-го вида один формат адреса. Обращение к регистрам ВУ как к ячейкам памяти ЗУ.

Изолированная шина:                  Совмещенная шина:

                                                                                   ШАД

                          ЧТ пам.

                          ЗП пам.                                          Пер. Адр.

                          ЧТ ВУ

                          ЗП ВУ                                             Пер. Дан.

При совмещенной шине часть адресов, выделенных под ВУ используется для стандартных устройств в\в. По ШАД адрес и данные передаются в два такта. Существует управляющая шина, кот синхронизирует передачу адреса и данных.

ОБОСНОВАНИЕ ВЫБОРА ПРОГРАММНОЙ И АППАРАТНОЙ РЕАЛИЗАЦИИ (продолжение)

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

В структуре системы входят программные, программно-аппаратные и чисто аппаратные функции.

Пример:  охранная сигнализация:

Чтобы отличить движение, нужно его фиксировать в течение некоторого времени (5 сек.). Эту функцию можно реализовать программно. В аппаратную часть охранной сигнализации входят: датчики контактные переключатели источники энергии для контактных датчиков детектор движения

Функционально-модульная структура

Это структура, на которой изображены аппаратные и программные функции и установлены взаимосвязи между ними.

ИСПОЛНИТЕЛЬНЫЕ ПРОЦЕДУРЫ

                                     .................................................

ПО

Для охранной сигнализации в части спецификации функций можно выделить 4 различных модуля:

1) Выходные состояния контактных датчиков, детектора движения считываются и хранятся с помощью процедур входного модуля. Однако, прежде всего необходимо проверить состояние входов: Модуль Проверки.

2) Во время работы системы необходимо опрашивать состояние переключателей и ожидать его изменения: Модуль Ожидания

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

4) Если результаты проверки одной из процедур модуля проверки указывает на то, что обнаружен нарушитель, то должна быть вызвана процедура включения визуального сигнала, включения таймера и включения звукового сигнала после окончания работы таймера:

Процедура Обнаружения.

Исполнительные процедуры

Каждый из этих модулей разбивается на более мелкие.

Дерево вызова процедур

Пример с охранной сигнализацией 

               ИСПОЛНЕНИЕ

                         Инициализация

                                Инициализация аппаратуры

                                 Восстановление системы

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

                                           Остановка таймера

                         Ожидание включения переключателя

                                  Считывание состояния переключателя

                         Проверка контактных детекторов

                                  Считывание контактных детекторов

                                           Обнаружение нарушителя

                                                     Включение сигнала

                                                     Запуск таймера

                                                     Считывание переключателя

                                                     Считывание состояния таймера

                                                      Включение звукового сигнала

                                                      Ожидание выключения переключателя

                                                               Считывание переключателя

                                                      Восстановление системы

                       Проверка детектора движения

                                 Считывание детектора движения

                                 Проверка продолжительности движения

                                                       Запуск таймера

                                                      Считывание детектора движения

                                                      Считывание состояния таймера

                                                      Останов таймера

                                  Обнаружение нарушителя

                                   Восстановление системы

Микропроцессорный комплект с фиксированной разрядностью 580 серии

АЛБ - арифметико-логический блок предназначен для проведения арифметико-логических операций;

РОН - регистры общего назначения выполняют функцию сверх операционного запоминающего устройства;

А - аккумулятор хранит один из операндов, осуществляет связь с внешними устройствами;

РП - регистр признаков.

Содержит:

- бит переноса Carry,

- бит четности Parity,

- бит признак нуля Zero,

- бит знака S,

- бит переноса из 3-го разряда в 4-ый AV;

Каждый из этих признаков может быть программно опрошен при выполнении операций условного   перехода, выходе из подпрограмм и программ;

РК - регистр команд предназначен для временного хранения команды, формат которой имеет переменную длину, если формат команды 1 бит, то она полностью хранится в РК, если она несколько бит, то первый бит хранится в РК, а остальные операнды в РОН;

ДШК - дешифратор команд преобразует код команды в сигналы, инициализирующие устройства управления, в результате в УУ формируется последовательность сигналов управления либо для исполнения данной команды, либо для выборки второго байта команды;

СК - счетчик команд примыкает к РОН, является 16-битным, служит для определения адреса следующей выполняемой команды. После приема очередного байта из памяти МП содержимое СК увеличивается на 1. Для реализации условных и безусловных переходов предусмотрен ряд операций для изменения содержимого СК;

УС - указатель стека представляет собой 16-разрядный регистр, указывает на особым образом организованную область памяти ЭВМ, которая заключается в способе обращения к ЗУ, УС содержит каждый раз адрес “верхушки” стековой области, при записи в стек содержимое его увеличивается на 1, при извлечении из стека содержимое уменьшается на 1. Можно организовать несколько стеков, записывая каждый раз новый адрес “верхушки” стека, глубина вложения стека - 216. Стек используется для организации подпрограмм, при обращении к подпрограммам слово состояния процесса (ССП) - РП, текущий адрес программы, содержимое аккумулятора, содержимое СК - должны быть сохранены, чтобы процесс не разрушился. При обращении к подпрограммам в стек автоматически записывается адрес подпрограммы.

Машинные циклы

1)Извлечение кода команды

2)Чтение данных из памяти

3)Запись данных в память

4)Извлечение из стека

5)Запись в стек

6)Ввод данных из ВУ

7)Вывод данных из МП в ВУ

8)Цикл обслуживания прерывания

9)Останов

10)Обслуживание прерывания в режиме останова

Временные диаграммы

Формат команды содержит 1 - 3  байта. Каждая команда  требует для выборки и выполнения 1 -5 машинных циклов. Каждый машинный цикл включает 3 - 5 машинных тактов. Каждый такт длится в течение 1 периода синхросигнала 0.5 мкс.

Выполнение каждой команды начинается с одного и того же цикла выборки команды. Он длится 1 - 4 такта. В течение такта Т1 содержимое адресного счетчика выдается на адресную шину. На выход С устанавливается 1, а на шину данных (ШД) поступает информация о состоянии, относящаяся к выполняемому  циклу. Этот такт всегда одинаков.

В течении Т2 проверяется наличие сигналов “Останов”, “Готовность”, “Захват”. Если на входе ГТ имеется  “1”, т.е. ВУ подтверждает свою готовность, то центральный процессор переходит к выполнению Т3. В противном случае начинается процесс ожидания ОЖ (такт TW)  до тех пор, пока на ГТ не будет “1”. Сигнал ГТ подтверждает синхронизацию ЦП с устройствами памяти и другими ВУ  с любым временем доступа. Управление входом ГТ можно также обеспечить пошаговое выполнение программы.

В  течение Т3 цикла М1 по ШД поступают  данные из памяти в регистр кода операции. ДШР кода операции и УУ формируют сигналы управления и синхронизации для внутренних пересылок данных, а также соответствующие дешифрируемой команде машинного цикла.

Далее выполняются такты Т4, если он завершающий, или Т5. ЦП переходит в следующий Т1, если команда многобайтовая. Только в последний раз проверяется прерывание на входе ЗПР. Если таковой имеется, то ЦП переходит к машинному циклу М1 специального вида.

Для выполнения  команд требуется от 4 (для команд без обращения к памяти) до 18 (обмен содержимым  через регистры HL) MT.

При выполнении команды “Останов” ЦП переходит в ОЖ и остается в нем до поступления сигнала прерывания.

СИСТЕМА МАШИННЫХ КОМАНД КР580ВМ80

Архитектура данного процессора позволяет осуществлять более 100 команд. Их разбивают на 5 групп:

1. Команды передачи данных.

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

2.       Арифметические и логические операции.

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

3. Команды перехода.

Включают в себя команды ветвления, команды перехода к подпрограммам и возврата из подпрограмм.

4. Команды преобразования указателей.

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

5.         Команды различного назначения.

Их нельзя классифицировать (например, “Останов”).

                                      

ФОРМАТ КОМАНД

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

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

                              КОП             Приемник     Источник

                                        

                              7      6           5      4      3       2      1      0

                                    КОП ddd sss

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

КОМАНДЫ ПЕРЕДАЧИ ДАННЫХ

1.Пересылка регистр - регистр

01 ddd sss

ddd, sss  определяют любое трехразрядное число, но не 110, при этом sss определяет регистр, содержимое которого пересылается, а ddd - принимающий регистр.

   Регистрам присваиваются номера

B=0, C=1, D=2, E=3, H=4, L=5 и A=7.

Расшифруем команду

01 001 100 - переслать содержимое регистра H в С , при этом содержимое регистра С теряется, а в Н сохраняется.

MOV C,H

Если источник или приемник равен 6 (110), то это означает, что источником или приемником является ячейка памяти, адрес которой хранится в паре регистров Н,L - так осуществляется косвенная адресация.

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

2.MVI - пересылка 1 байта в любой из 7 РОН, включая H,L.

Формат команды: 00 ddd 110

00 - определяют команду MVI

110 - расширение кода операции

Поле ddd может быть равно 110

    00 110 110  00 000 001 - 1 загружается в ячейку памяти,адрес которой записан в паре регистров    H,L.

3.LXI - непосредственная загрузка.

Осуществляет загрузку следующих после нее двух байт в индексный регистр

00 010 001 - 1-ый байт команды LXI

11 101 101 - 2-ой байт команды

10 010 001 - 3-ий байт команды

Загрузка 2 байт в пару регистров DE

4.STAX, LDAX - передача данных между регистрами А и ячейками памяти, адрес которых хранится- в паре регистров ВС,DE.

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

5.SHLD,LHLD - позволяют произвести пересылку двух байтов между памятью и парой регистров  HL. Трехбайтовая команда.

КОМАНДЫ ПЕРЕХОДА

Команды разветвления.

Команды обращения к подпрограммам.

Команды возврата из подпрограмм.

Адреса команд разветвления хранятся непосредственно за первым байтом команды. Вид команд обращения к подпрограммам точно такой же,  как и у команд ветвления. Для операции обращения к подпрограммам характерно наличие адреса возврата из подпрограмм, автоматически сохраняемого в стеке. Команда возврата из подпрограмм не имеет в своем составе адреса возврата, он получается из стека. Каждый из трех видов переходов может быть безусловным или условным, в соответствии с одним из разрядов регистра признаков (ССП).

JC - Переход по переносу.

CC - Вызов подпрограммы по переносу.

RC - Возврат из подпрограммы по переносу.

    Команды приведут к переходу, если флаг переноса CARRY равен 1.

JNC, CNC, RNC - Аналогичные команды, переход, если бит CARRY установлен в 0.

JMP - Команда безусловного перехода по адресу, указанному в байтах команды.

CALL - Вызов подпрограммы.

RET - Возврат из подпрограммы.

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

Приводит к обмену между парой регистров HL и счетчиком команд.

Это дает возможность осуществить переход по адресу, записанному в HL.

Осуществляется  безусловный переход с косвенной адресацией (предполагается, что адрес перехода  предварительно записан в HL).

КОМАНДЫ ИЗМЕНЕНИЯ СОДЕРЖИМОГО АККУМУЛЯТОРА

Формат команд имеет следующий вид:

10 ddd sss - код приемника не используется для адресации, а используется для расширения кода операнда

000 - сложение

10 010 sss - вычитание

10 100 sss - операция “И”

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

sss -  как в команде MOV,

1 - 7 - регистры

6 - косвенная адресация

Например,

10 000 111 - сложение аккумулятора с аккумулятором

10 100 111 - логическое “И” аккумулятора с самим собой, содержимое не изменится, но произойдет изменение слова состояния программы.

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

Формат этих команд:    11 ddd 110

ddd - определяет тип операции (+.- ...)

Данный МП фактически имеет две команды сложения и вычитания:

ADD – сложение,

ADC - сложение с учетом переноса,

сложение трех чисел - аккумулятора, источника и бита переноса из регистра условий,

SUB - вычитание источника и приемника,

SBB - позволяет возникающий на предыдущем этапе заем вычитать на следующем этапе.

КОМАНДЫ СДВИГА

RAL, RAR - циклические сдвиги аккумулятора вправо и влево .

RLC, RRC -  осуществляют сдвиг через бит переноса.

                        А                                               С                               А

       

  

                 RAL, RAR                                                        RLC, RRC

КОМАНДЫ ИЗМЕНЕНИЯ СОДЕРЖИМОГО РЕГИСТРОВ

Существует группа команд уменьшения или увеличения на 1 содержимого регистра:

INR - увеличение приемника на 1

           Формат команды:    00 ddd 100

                                                   ddd может быть 0 - 7  или 6- косвенная адресация

DCR - декремент, уменьшение на 1 приемника

Формат команды:   00 ddd 101

Существуют команды инкремент и декремент индексных регистров:

INX, DCX.

INX SP, DCX SP - увеличивают и уменьшают соответственно на 1 указатель стека без передачи данных в стек или из него.

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

PSW - передача данных из аккумулятора и  ССП в ячейку памяти, на  которую указывает указатель стека, при этом указатель стека уменьшается на 1.

POP - загружает пару регистров из стека и увеличивает УС на 2.

LXI SP- загружает в УС третий и второй байт команды, в УС  помещается новое значение стека, что позволяет создавать стековые области в памяти произвольно.

XTHL - обменивает местами содержимое двух верхних байтов стека и пары регистров HL, высота стека не изменяется.

SPHL - загружает HL  в УС, позволяет устанавливать произвольный адрес стековой области.

DAD - сложение HL  с любой парой регистров или УС.

XCHG - меняет местами содержимое пар регистров HL  и УС.

РАЗНЫЕ КОМАНДЫ

IN, OUT - передача данных между процессором и устройством ввода-вывода, номер канала ввода-вывода  записывается после кода команды вторым байтом.

INPUT, OUTPUT - выполняется особый цикл чтения/записи во внешнее устройство, адрес ВУ в цикле обращения к ВУ выдается на 8 младших бит шины адреса.

EI,DI - разрешение и запрет прерывания соответственно.

NOP - пустая строка ( используют для корректировки задержки времени).

HLT - останов.

STC - установка бита CARRY.

CMC - сброс бита CARRY.

RST - начальный запуск прерывающей программы. Это специальная команда используется процедурами прерывания, обычно передается по ШД в цикле обработки прерывания от ВУ.

Обобщенная структурная схема МП контроллера.

ПЗУ - для хранения управляющих программ.

ОЗУ - для хранения данных.

УВВ - интерфейс ввода-вывода.

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

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

ОДНОКРИСТАЛЬНАЯ МИКРОЭВМ СЕМЕЙСТВА МК-48..

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

центральный процессор

ПЗУ управляющих команд

память данных

интерфейс ввода-вывода

таймер

систему прерываний

тактовый генератор

Структурно-логическая схема МК имеет внутреннюю 8-разрядную ШД, 12-разрядную ША. Объем внутренней ПЗУ 1кБт. Возможно подключение к внешней памяти 4кБт. Объем внутренней памяти данных ОЗУ  64 байта с возможностью подключения внешней памяти 120 байт. Однокристальная ЭВМ имеет 16 8-разрядных регистров общего назначения и 8-уровневый стек. Число линий ввода-вывода - 27, имеется 2 уровня прерывания с приоритетом. Система команд позволяет производить 96 операций. Скорость операций типа пересылка регистр-регистр 4*10 5  оп/сек. Частота встроенного генератора 6 Мгц. Напряжение питания 5 В. Уровень входных и выходных сигналов по стандартам ТТЛ.

Синхронизация осуществляется за счет встроенного генератора, для возбуждения которого к входам Т1 и Т2 подключается кварцевый резонатор или RC-цепь. Сигнал тактовой частоты получается делением на 3 частоты тактового генератора и появляется на выходе Т0 после команды ENTO CLK. При подаче сигнала “Сброс” вывод тактовых сигналов на Т0 блокируется.

Машинный цикл

                       S5             S1              S2              S3            S4          S5           S1

                                      Ввод         Дешиф-           Выполнение

                                  команды       рация                   команды

                                                       команды

                    Вывод адреса         Инкремен-          Вывод адреса

                                                          тация  

Машинный цикл состоит из 5 тактов, получаемых с помощью счетчика циклов, делящего тактовую частоту на 5.Этот сигнал ALE называется строб фиксации адреса, частотой 400 кГц, используется для синхронизации регистра адреса внешней памяти. Длительность этого сигнала частоте машинных циклов 400 кГц. При обращении к внешней памяти на порт BUS и часть порта 2 выдается адрес, который синхронизируется сигналом ALE. Для передачи данных используется порт BUS. После фиксации адреса, адрес снимается с этого порта BUS, он используется для передачи данных.

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

1.Режим таймера - генератор временных интервалов

2.Режим счетчика внешних событий

         ALE                                                                                                                                    INT

                          :32                   START T

                                                                                                    S          TT

                                                        ТАЙМЕР                                       F

STOP TCNT                                                                               R

T1                                                                    JTF Adr

Команды работы с таймером-счетчиком:

START TCNT - переводит таймер в режим счета.

STOP TCNT - переводит таймер из режима счета в режим останова.

SET - установка таймера.

RESET - сброс таймера, осуществляется программным путем.

JTF Adr -  переход по адресу, в который надо переместить счетчик.

MOV A,T, MOV T,A - считывание таймера.

По команде START T на вход счетчика подаются синхроимпульсы, получаемые от деления сигнала  ALE на 32, 6МГц/32=12.5кГц, частота приращения счетчика 8мкс, это дает возможность получить задержки от 80 до 20 мсек.

Чтобы получить длительность  менее 80 мсек, на вход T1 подают сигналы требуемой частоты, входная частота ограничена частотой 1 Мгц.

РЕЖИМ СЧЕТЧИКА СОБЫТИЙ

Включается по команде START TCNT , на вход счетчика подаются сигналы с выхода Т1, счет осуществляется по заднему фронту, длительность импульсов не менее 100 нсек.

STOP TCNT - сигнал на входе RESET , который останавливает счетчик, при переходе через максимальное значение счета это число составляет  FF, устанавливаются нули в счетчике, счет продолжается дальше. В момент перехода формируется запрос на прерывание и устанавливается триггер индикатора прерывания TF.

По команде перехода по флагу таймера JTF Adr  можно определить состояние триггера прерывания. По команде JTF  и сигналу RESET  триггер обнуляется, запрос на прерывание через схему “ИЛИ” соединен со входом INT. При обработке прерывания от таймера управление передается подпрограмме, адрес которой находится в ячейке 7 памяти программы. Запрос на прерывание от таймера автоматически или при его обслуживании, или по команде запрет прерывания.

DIS TCNTI - запрет прерывания от таймера

BN TCNTI -  разрешение прерывания от таймера.

ВСТРОЕННЫЕ ЗУ

Имеют объем 64 байта, т.е. имеют 64 машинных слова, при этом первые 8 слов - РОН (R0 - R7), ячейки с 0 по 8 адресуются непосредственно, в команде указывается прямой адрес этой ячейки. Все 64 ячейки косвенно адресуются через любой из 2 регистров указателей адреса. расположенных в регистрах R0,R1 - это регистры указателей данных. Ячейки являются первым банком работы регистров. Глубина вложения - 8, занимает следующие после РОН 16 ячеек памяти.Ячейки стека двухбайтовые. Рабочими регистрами в 1-ом банке являются ячейки с 24 по 31, они также прямо адресуются.

ОЗУ

              0 -7           РОН                    РОН  *       RB0,RB1

             8 - 23         Стек                  Рабочие

          24 - 31           Рабочие                          

                              0 банк                  1 банк

    

Карта памяти

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

Стек может быть использован как рабочие регистры.

ВСТРОЕННАЯ ПАМЯТЬ ПРОГРАММ

Встроенная память программ представляет собой перепрограммируемое ПЗУ, емкостью 1 кБт, используется для хранения управляющих программ и констант.

По внешнему сигналу RESET счетчик команд устанавливается на адрес “0”, далее счетчик контролирует адресную часть программы, т.е. указывает адрес ППЗУ.

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

                           12   11 10        9        7                                                              0

                              

                                                                                                                                   РС

 

                                                                                                                                    А

                                                       

                                                       C          A          F         B                     SP           PSW

                                                       Y          C         0           S       1

         

                            M      F                                                                  2                 0

                            B       1     

SP - указатель стека

CY - бит переноса

AC - дополнительный перенос. десятичная коррекция

F0,F1 - флаги пользователя

BS - выбор банка регистров

MB - выбор банка памяти

Память программ разделена на 2 банка по 2 кБт каждый:

1 кБт встроенной памяти команд  находится в первом банке

вся область каждого банка разделена на страницы по 256 байт.

PSW

Состоит из 8 бит, старший записывается в стеке и устанавливается по команде RETR -возврат из подпрограммы по прерыванию. Команда RET не возвращает на PSW. Разрядность 0 - 2 занимает УС. В разряде 3 всегда 1, он не используется, разряд 4 - номер банка, разряд 5 - флаг индикатора F0, по содержимому которого осуществляется переход по командам JF0, JF1. В разряде 6 содержится бит промежуточного переноса, выработанный командой ADD. используемый при десятичной коррекции DAA, 7  разряд - индикатор переноса переполнения аккумулятора.

ПРЕРЫВАНИЯ

Прерывание - один из способов обмена. Для прерывания МП имеет специальную линию INT, 0 - вызов прерывания. Линия INT контролируется в каждом машинном цикле во время действия сигнала ALE. При появлении 0 происходит переход к подпрограмме обработки прерывания по адресу 3 ЗУ программ после завершения всех циклов текущей программы. Содержимое счетчика команд и слова состояния записывается в стек. Обычно ячейка 3 содержит команды безусловного перехода к подпрограмме обработки прерываний, которая заканчивается командой RETR. До завершения подпрограммы обработки прерываний система не реагирует на запросы прерываний. Выполняемый запрос прерывания снимают перед завершением подпрограммы обработки прерываний, иначе процессор снова начнет его обработку. Для разрешения и запрещения прерывания используются команды ENT, DISI. Сигнал RESET запрещает прерывания, пока они не будут разрешены программно.

АРИФМЕТИКО - ЛОГИЧЕСКОЕ УСТРОЙСТВО

АЛУ выполняет следующие функции:

сложение с переносом ADDC

сложение без переноса ADD

операция “И” ANL

операция “ИЛИ” ORL

операция “Исключающее ИЛИ”  XRL

увеличение содержимого аккумулятора на 1  INC A

уменьшение содержимого аккумулятора на 1  DEC A

обмен местами 4-х старших и младших разрядов аккумулятора  SWAP A

очистка аккумулятора  CLR A

десятичная коррекция аккумулятора DAA.

При переполнении старшего разряда А,  в результате проведения операции в АЛУ, бит CARRY  в PSW устанавливается в 1.

При выполнении операции двоично-десятичного сложения устанавливается флаг промежуточного переноса AC  (при переносе из третьего разряда в четвертый). Аккумулятор содержит один из операндов, туда же помещается и результат. Обмен через канал ввода-вывода осуществляется через аккумулятор.

Дешифратор команд.

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

УВВ

Для ввода-вывода в МК-48 используется 27 линий, которые сгруппированы в 3 порта (0,1,2) по 8 выводов, кроме того имеется 3 вывода тестирования (Т0,Т1,INT). Для изменения хода программы по командам условного перехода  используются выводы Т0,Т1,INT - вход для запроса прерываний.

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

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

2.Запись на входные линии порта 1 и 2 предварительно установлено в 1.

3.При выводе информации некоторые разряды портов 1 и 2 можно использовать как входные, если в них   вывести 1.

Все это позволяет выполнять ввод-вывод по одним и тем же шинам, а также смешивать входные и выходные линии внутри каждого порта.

Порт данных (0) 0 основной порт ввода-вывода, он двунаправленный, синхронизация осуществляется входными и выходными стробами, каждый бит порта имеет 3 состояния: 0,1, высокоимпеданстное.

Ввод через порт осуществляется по команде:

INS A,P - ввод из порта 0 в А.

Вывод:

OUTL P,A - вывод из А в порт 0.

При этом формируются сигналы “Чтение” и “Запись”.

При использовании порта 0 как двунаправленного  запись/считывание, используется также команда MOV X -пересылка содержимого А во внешнюю память данных. При записи в канал генерируется импульс на запись WR. При считывании с канала генерируется импульс на считывание WR. Вводимые данные должны быть готовы для чтения по заднему фронту сигнала RD. Когда нет чтения/записи линии порта находятся в стадии высокого сопротивления (отключенный).

Выводы тестирования Т0,Т1, INT непосредственно тестируются с помощью команд условного перехода, т.е. по ним ввод невозможен.

При подаче импульса сброса RESET  обеспечиваются следующие операции:

счетчик команд и указатель стека устанавливается в 0

выбирается нулевой банк регистров и нулевой банк памяти

порт 0 переводится в состояние высокого сопротивления

таймер останавливается

очищаются флаги таймера F0,F1

запрещается вывод синхроимпульсов с вывода Т0.

Архитектура данной микроЭВМ позволяет ее использование в различных системах управления с возможностью подключения расширителей.

СИСТЕМА КОМАНД  МК-48     

Система команд имеет 96 команд, ориентирована на выполнение процедуры управления.

Формат команд - 1 или 2 байта.

Время выполнения 1 цикла 2.5 мкс.

Тактовая частота - 6 Мгц.

За 2 машинных цикла выполняются операции непосредственного перехода, операции ввода-вывода, передачи управления.

Различают 4 типа команд:

1.                                         КОП

    2                                            КОП                                              Адрес команды

                                             

      3                            а10  а9   а8       КОП                              а 7                                 а0

4.                                                  КОП                                          Адрес для перехода

                                                                                                        внутри страницы

Используется 4 способа адресации:

прямая

непосредственная

косвенная

неявная (без адреса).

Все множество команд разбивается на 5 групп по функциональному признаку:

команды пересылки данных

арифметические операции

логические операции

передачи управления

управления режимами работы.

КОМАНДЫ ПЕРЕСЫЛКИ ДАННЫХ

Пересылка внутри МК выполняется за 1 машинный цикл, а обмен с внешней памятью и портами за 2.

Различают 9 типов операндов,  между которыми производится обмен, их различают по месту расположения и способу адресации. К ним относятся аккумулятор, РОН, PSW, таймер, порты, внешняя и резидентная память данных и программ и непосредственный операнд. Аккумулятор является основным звеном обмена.

         @  ПП                                            #.d                                              @ Ri ВПД

      @ Ri РПД                             АККУМУЛЯТОР                                   Rn

таймер/

счетчик                                           PSW                                             ПОРТЫ

ПП - память программ

РПД - резидентная память данных

ВПД - внешняя память данных

PSW - слово состояния программы

Rn - регистры общего назначения

Режимы передачи данных

1.Пересылка - передача данных от источника к приемнику, при этом источник не меняет своего содержимого.

2.Обмен - одновременная передача данных в двух направлениях, в результате операции изменяется содержимое обоих операндов, участвующих в обмене.

Способы адресации

1.Прямая адресация.

Адрес располагается в теле самой команды

MOV A,Rn

2.Непосредственная адресация.

Сам 8-битовый операнд (константа) располагается непосредственно в теле команды

(второй байт команды).

MOV A,#55

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

Адрес операнда располагается в регистрах R0,R1

MOV A,@R0

Регистры R0,R1 используются как указатели адреса данных.Максимальное значение, которое может быть

записано FF=255. Максимальное количество ячеек, которое может быть проадресовано - 256. Если идет

обращение к внешней памяти данных, то можно обращаться к 256 ячейкам, если к внутренней, то к 64

ячейкам.

4.Неявная адресация.

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

аккумулятор.

MOV A,Rn

Возможен обмен между:

регистром и аккумулятор

XCH A,Rn        A          Rn

аккумулятором с ячейкой, адрес которой хранится в R0,R1

XCH A,@Ri       A           ((Ri))

младшая тетрада аккумулятора и байта РПД

обмен с памятью программ

MOV P A,@A

Содержимое аккумулятора передается через порт РО во внешнюю память, при этом младшая часть адреса будет располагается с 0 по 7 бита Р0.В программный счетчик записывается то, что было в аккумуляторе.

обращение к ячейке ПП, которая располагается в 3 странице.

Содержимое аккумулятора является косвенным адресом ячейки ПП внутри 3 страницы, выбранная ячейка засылается в аккумулятор.

MOV P3 A,@A

обмен с портами

IN A, Po - пересылка за два цикла из порта Ро в А

1-ый цикл - код операции, 2-ой цикл - номер адресуемого устройства

INS A, Po

OUTL Po, A

OUTL BUS, A

MOV D Po, A - ввод тетрады в порт Ро из А для схемы расширения внешнего адреса

MOV D A, Po.

Счетчик команд содержит 12 бит, инкрементируются только 11 младших, поэтому счетчик команд из предыдущего состояния 7FFH перейдет в состояние 000, состояние старшего бита счетчика команд может быть изменено командами:

SEL MB0, SELMB1 - установка бита памяти программ в 0 (1), т.о. память программ разбита на 2 банка по 2 кбт, кроме того, ПП разбивается на страницы по 256 Бт.

В условных переходах задается 8-битный адрес в пределах страницы. Команда вызова подпрограмм CALL модифицирует 11 бит счетчика команд, обеспечивая тем самым межстраничные переходы в пределах выбранного банка ПП. При обработке прерываний старший бит счетчика команд  (12-ый) принудительно устанавливается в “0”, т.е. подпрограммы обслуживания прерывания и все подпрограммы, вызываемые ею, программист обязан размещать в пределах нулевого банка памяти.

ГРУППА АРИФМЕТИЧЕСКИХ КОМАНД

Содержит 12 команд:

1.Двоичное сложение  ADD

2.Двоичное сложение с переносом  ADDC

3.Десятичная коррекция  DA

4.Инкремент  INC

5.Декремент  DEC

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

ГРУППА  ЛОГИЧЕКИХ ОПЕРАЦИЙ

Содержит 28 команд, позволяющих выполнять:

1.Дизъюнкцию

2.Конъюнкцию

3.Исключающее ИЛИ

4.Инверсию

5.Сброс

6.Сдвиг

     

Все операции выполняются над содержимым аккумулятора, а также флагами (сброс, инверсия). Над содержимым порта Ро и константой совершается операция “И”, ”ИЛИ”. Над содержимым портов Р1 , Р2 и константой  или содержимым аккумулятора можно выполнять операции “И”, ”ИЛИ”.. Вторым операндом могут быть регистры, ячейка РПД.

ГРУППА КОМАНД ПЕРЕДАЧИ УПРАВЛЕНИЯ.

Представлена 19 командами, из них:

2 команды безусловного перехода

14 команд условного перехода

команда вызова подпрограммы

2 команды возврата.

Команды ветвления с прямой адресацией.

В теле команды содержится 8 или 11 бит адреса перехода, форматы 3-ий и 4-ый.

JMP - безусловный переход, позволяет передать управление в любое место 2кбт банка ПП. Номер банка ПП определяется флагом МВ, значение которого копируется в старший бит счетчика команд при выполнении команды JMP, CALL. Для перехода из нулевого банка ПП в первый недостаточно установить флаг МВ, необходимо также выполнить команду перехода JMP, которая и изменит значение старшего бита счетчика команд. Все остальные команды ( кроме команд возврата) содержат только 8 младших бит адреса перехода, при этом оказывается возможным совершить переход только в пределах одной страницы ПП - команда короткого перехода. Если команда короткого перехода расположена на границе двух страниц, то переход будет выполнен в пределах той страницы, где располагается второй байт команды. Для условного перехода с одной страницы на другую используется тандем (пара команд) из команды условного перехода и команды длинного безусловного перехода.

Переход по косвенному адресу.

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

Условные переходы.

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

1.Удобство программирования простых функций, которые умещаются в небольших программных объемах.

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

ПРОГРАММНЫЕ ЦИКЛЫ

Традиционно циклы строятся таким образом:

В ЯП или регистре создают счетчик циклов, для этого записывают в регистр число, соответствующее числу повторений цикла, и при каждом переходе тело цикла декрементирует это число. При достижении величины счетчика 0-го значения осуществляется выход из тела цикла.В МК-48 для организации циклов используется команда DJNZ. Эта команда производит декремент и последующую проверку на 0 содержимого регистра счетчика цикла. Если его содержимое равно 0 . то -  выход из цикла, в противном случае - переход  к началу  цикла.

ПОДПРОГРАММЫ

      

Для вызова подпрограмм  существует команда CALL, позволяющая обратиться в любое место текущей памяти программы. При вызове подпрограммы в стеке записывается адрес возврата и часть PSW. Глубина вложения подпрограммы ограничена емкостью стека и не должна превышать 8.

Для возврата из подпрограммы используется команда RET, которая восстанавливает в счетчике команд адрес возврата,

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

ГРУППА КОМАНД УПРАВЛЕНИЯ

РЕЖИМАМИ РАБОТЫ МК

В эту группу входят команды управлением таймером/счетчиком, прерываниями, флагами переключения банков регистров и банков ПП.

Операции с таймером

MOV A,T

MOV T,A

с помощью этих команд содержимое таймера может быть прочитано во время остановки счета и во время счета  “налету”   или  изменено (перезагружено).Таймер может быть использован как счетчик тактов или как счетчик событий, соответственно от внутреннего и внешнего источника сигналов. Имеется команда разрешения и запрета прерывания от таймера. При перезагрузке по команде RESET все виды прерывания запрещены.

Переключение банков регистров иПП

Переключение банков  в  ПП (изменение старшего бита счетчика команд) происходит в момент выполнения команды длинного перехода или вызова подпрограммы. Команды переключения банков регистров позволяют эффективно использовать второй банк регистров в качестве рабочего, сохраняя параметры вычислительного процесса не в стеке, а в исходном банке регистров. При программировании процедур обработки прерываний можно переключать или не переключать банки регистров. В этом случае когда банки регистров переключаются , возврат к исходному банку регистров будет выполнен автоматически, Если подпрограмма обработки прерывания оканчивается командой возврата с восстановлением PSW (RETR),  команда ENT0  разрешает передачу на вывод Т0 импульсов тактовой частоты , деленных на 3, Отключается этот сигнал только сигналом общего сброса. Обычно этот сигнал используют для синхронизации внешних устройств, согласованных с МК по частоте работы (для осуществления синхрообмена).

   СТРУКТУРНО-ЛОГИЧЕСКАЯ СХЕМА МК-51

  8-битное АЛУ выполняет:

- сложение

- вычитание

- умножение

- деление

- операцию “И”

- операцию “ИЛИ”

- операцию “Исключающее ИЛИ”

- сдвиг

- сброс

- инверсию и т.д. и т.п.

    В АЛУ  используются программно-недоступные регистры Т1, Т2 временного хранения операндов, схема десятичной коррекции и схема формирования признаков. Особенностью АЛУ является его способность оперировать с битами, при этом отдельные программно доступные биты памяти могут быть установлены, сброшены, инвертированы, переданы , проверены и использованы в логических операциях, АЛУ оперирует 4 типами информационных объектов:

- булевскими

- цифровыми

- байтными

- адресными

 АЛУ  выполняет 51 различные операции пересылки или преобразования этих данных. Т.к. используется 11 различных режимов  адресации(7 - для данных, 4- для адресов), то путем комбинирования операций режимов адресации базовое число команд 111 расширяется до 255, один код адреса пустой.

  

ОРГАНИЗАЦИЯ ВНУТРЕННЕЙ ПАМЯТИ

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

    ПП - емкость 4 кБт, имеет 16-битную ША, через которую обеспечивается доступ из счетчика команд или из регистра-указателя данных (ДПТР), который выполняет функции базового регистра при косвенных переходах  или используется в командах , оперирующих с таблицами.

   ПД (ОЗУ) адресуется одним байтом, емкость 128 байт К адресному пространству РПД примыкают адреса регистров специальных функций.

   Допустимо расширение ПП и ПД до 64 кБт путем подключения внешней памяти.

   Таблица регистров специальных функций.

              Символ

         Наименование

                    Адрес                                                

           Примечание

Асс

Аккумулятор

0Е0

побитно адресуемый

B

Регистр расширитель   аккумулятора

F0

побитно адресуемый

PSW

Слово состояния                      процесса

D0

адресуемый побитно

SP

Указатель стека

81

не адресуемый побитно

DPTR

Регистр- указатель        данных

DPL

82

не адресуемый побитно

DPH

83

не адресуемый побитно

Порт Р0

80

адресуемый побитно

Р1

90

адресуемый побитно

Р2

А0

адресуемый побитно

Р3

В0

адресуемый побитно

IP

Регистров приоритетов

B8

адресуемый побитно

IE

Регистр маски прерываний

A8

адресуемый побитно

TMOD

Регистр  режима       таймера-счетчика

89

не адресуемый побитно

TCON

Регистр управления/ /статуса таймера

88

адресуемый побитно

TH0

Старший байт таймера 0

8C

не адресуемый побитно

TN0

Младший байт таймера 0

8A

не адресуемый побитно

TH1

Старший байт таймера 1

не адресуемый побитно

TL1

Младший байт таймера 1

8D

не адресуемый побитно

SCON

Регистр управления приемом передатчика

98

адресуемый побитно

SBUF

Буфер приема передатчика

99

не адресуемый побитно

PCON

Регистр управления мощностью и режимами работы

87

не адресуемый побитно

 PSW - 8-разрядный регистр

С         PSW7 - флаг переноса устанавливается или сбрасывается аппаратно или программно (аппаратно при выполнении арифметических и логических операций).

AC      PSW6 - вспомогательный перенос - перенос из 3-го бита.

F0       PSW5 - флаг, устанавливаемый пользователем.

RS1    PSW4 - выбор банков регистров.

RS0    PSW3 -  выбор банков регистров, устанавливается и обрабатывается программно.

OV      PSW2 - бит переполнения.

           PSW1 - не используется.

P         PSW0 - бит паритета, устанавливается и сбрасывается аппаратно, указывает на четное число единиц  в аккумуляторе.

RS1

RS0

Границы адресов

0

0

00 - 07     1-ый банк

0

1

08 - 0F    1-ый банк

1

0

10 - 17    2-ой банк

1

1

18 - 1F     2-ой банк

     Банки регистров в памяти располагаются последовательно.

    Отличия МК-51 от МК-48

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

- Любой регистр может быть загружен непосредственно операндом.

- Многие логические и арифметические операции выполняются без участия Аккумулятора.

- Могут быть проверены флаги регистров специальных функций.

- АЛУ  может оперировать не только с Аккумулятором, но и с другими регистрами.   

 

 Регистры - указатели

1.Указатель стека  SP.

   Адресует любую область РПД , инкрементируется до фиксации данных в стеке, декрементируется после  выполнения команд со стеком.

         Команды, изменяющие указатель стека:

         PUSH

         POP

         CALL

         RET

2.Указатель данных DPTR.

    Используется для фиксации 16-битного адреса в операциях с обращением к внешней памяти.

    Программно может быть использован как 16-битный или два 8-битных регистра.

Таймер – счетчик.

Представляется регистровыми парами

TH0, TH1

TN0, TL1, на основе который функционируют два независимых программно-управляемых счетчика.

Регистр SBUF.

Представляет два независимых регистра:

- буфер приемника

- буфер передатчика.

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

Регистры специальных функций 

IP, IE, TMOD, TCON, SCON, PCON  используются для фиксации и программного изменения управляемых бит и бит состояния схемы прерывания (IP, IE) , таймера/счетчика (TCON, TMOD), приема передатчика последовательного порта (SCON), управления мощностью эл. питания МК(PCON).

    МАШИННЫЙ ЦИКЛ

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

                                        

ПОРТЫ  ВВОДА/ВЫВОДА

       Каждый порт содержит регистр-защелку, входной буфер и выходной драйвер. Выходные драйвера портов Р1 и Р2, а также входной буфер порта Р0 используется при обращении к внешней памяти.

       Р0 - двунаправленный

       Р1, Р2, Р3 - квазидвунаправленные

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

 Порт Р3

RD     - P3.7

WR    - P3.6

T1      - P3.5

T0      - P3.4

INT1 - P3.3

INT0 - P3.2

TXD  - P3.1

RXD  - P3.0

Порт Р0

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

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

Особенности работы портов

   Существует режим чтение/модификация/запись.

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

РЕЖИМЫ РАБОТЫ ТАЙМЕРА/СЧЕТЧИКА

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

TMOD - регистр режима таймера/счетчика

TCON - регистр управления статуса таймера.

          Существуют 4 режима работы таймера/счетчика:

Режим 0

На вход Thj подключается TLj. Таймерный регистр имеет разрядность в этом режиме 13 бит  (используется переход 1FFF в 0 - устанавливается флаг TFj).Установка бита Gate в  1 позволяет использовать таймер для измерения длительности импульсного сигнала, подавая на вход сигнал на прерывания.

                               C/T=0

   OSC     :12

                                                           TLj           THj                          TFj

    

     T8            C/T=1

                          

TCON    TRi

                            &

    Gate

                      1                Упр 

    INTj      

Режим 1

Работа таймера/счетчика совпадает с режимом 0 за исключением того, что Таймерный регистр имеет разрядность 16 бит.

Режим 2

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

Режим 3

Таймер/счетчик 1 и таймер/счетчик 2 работают по-разному. Таймер/счетчик 1 не меняет своего состояния, т.е. не работает. Таймер/счетчик 2 функционирует как два независимых счетчика. Работу TH0 определяет  бит TR1, счетчик работает только в режиме таймера, а TL0 работает как независимый 8-разрядный таймер/счетчик. TH0 не использует флаг  TF1, поэтому прерывания по таймеру/счетчику невозможны. Таймер/счетчик может быть либо включен, либо выключен, либо может быть использован последовательным портом в качестве генератора частоты передачи, либо в любом другом случае, не требующем прерываний. Этот режим используется, когда требуется наличие дополнительного 8-битного таймера или счетчика событий.

      Режим 2

                               C/T=0

   OSC     :12

                                                           TLj                            TFj

    

     T8            C/T=1

                                                                 &

TCON    TRi

                            &

    Gate

                    o 1                Упр           THj

    INTj  

Режим 3

                             

   OSC     :12                                    TH0                         TF1   

                                       TR1               

                       C/T=0                         TL0                         TF0

    

     T0            C/T=1

                          

  TR0

                            &

    Gate

                    o 1               Упр 

    INT0      

 

ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС

      МК-51 имеет дуплексный периферийный связной адаптер, который может быть запрограммирован в одном из 4 режимов в зависимости как расставлены биты в SCON:

0: Синхронный последовательный ввод/вывод со скоростью OSC/12.

1: Асинхронный с 10-битовым кадром и переменной скоростью передачи.

     10 бит распределяются:

     - 1 бит стартовый

     - 1 бит стоковый

     - 8 бит информационных

2: Асинхронный с 11-битовым кадром и с фиксированной скоростью передачи (OSC/12, OSC/64)

    Добавляется бит четности.

3: Асинхронный с 11 битовым кадром и переменной скоростью передачи.

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

СИСТЕМА ПРЕРЫВАНИЙ

         Внешние прерывания могут быть вызваны либо задним фронтом, либо уровнем в зависимости от значений управляющих бит в регистре TCON биты IT0, IT1. От внешних прерываний устанавливаются флаги IE0, IE1 в регистре TCON, который инициализирует вызов соответствующей подпрограммы прерывания. Сброс этих флагов выполняется аппаратно, только если прерывание вызвано фронтом сигнала. Если прерывание вызвано уровнем, то сбросом флага IE управляет соответствующая подпрограмма обслуживания прерывания путем воздействия на источник прерывания с целью снятия или запроса. Флаги запросов прерываний от TFj сбрасываются автоматически при передаче управления подпрограмме обслуживания. Флаги запросов прерывания RI, TI от последовательного порта устанавливаются блоком управления последовательного порта аппаратно, но сбрасываются программно. Т.к. установка и сброс всех прерываний осуществляется через программно доступный регистр IP (т.е. все флаги программно доступны), то прерывания могут быть вызваны или отменены программно точно также, как если бы они были вызваны или отменены аппаратно.

         Имеются два регистра, которые управляют режимами прерывания и уровня приоритетов IE и IP.

         Формат этих регистров

                                                                                                                         Адресный вектор

                           IT0

                                             1

                      0

      INT0                                                                                  1

                                                                          IE0

                      1                            

                                                                                                                            Порядок   опроса

      TF0                                                                                     2

                                                                                                                            при   равенстве

                                             1

                      0

      INT1                                                                                  3

                                                                          IE1

                      1                            

                                                                                                                             приоритета

                             IT1

      TF1                                                                                     4

                                                                                                  5

Прерывания  TI               1                                                   

от последо-   RI

вательного

порта

Адресный вектор

                                               EX0

        0003                                                         &                               PX0           IP0

                                                               IE1

                                                ET0

                                                                       

       000B                                                          &                             PT0              IP1

                                                                IE2

                                                EX1

        

       0011                                                          &                               PX1              IP2                                                   

                                                               IE3

                                                ET1

       001B

                                                                          &                               PT1                IP3    

                                                                IE4

                                                ES

         0023                                                        &                              PS                     IP4

                                                               IE7

                                                 EA         

     Вызов прерываний аппаратно аналогично команде LCALL, если она не заблокирована одним из условий. Текущий машинный цикл не последний в цикле выполняемой команды. Выполняется команда RETI (возврат из подпрограммы обработки прерывания с разрешением прерывания) или любая команда, связанная с обращением к регистрам IE, IP по аппаратно сформированному коду LCALL. Система прерывания помещает в стек содержимое СК и загружает в СК адрес-вектор соответствующей подпрограммы. По необходимости программист должен учитывать, что PSW, аккумулятор, регистр В, указатель данных DPTR и прочее в стеке не сохраняются, т.о. для этого следует пользоваться командами PUSH, POP. Подпрограмма обслуживания прерывания заканчивается командой RETI, по которой РС перезагружается из стека.


 

А также другие работы, которые могут Вас заинтересовать

30439. Форма правления и государственный режим в Казахстане, формирование и взаимодействие высших государственных органов 16.15 KB
  2 Конституции республика является государством с президентской формой правления. Однако анализ содержания Конституции в частности системы государственных органов показывает что с точки зрения принятой классификации форм правления Казахстан представляет собой не президентскую а смешанную республику функционирующую по президентскому тину. В Конституции же Казахстана мы находим и возможность хотя и усеченную выражения Парламентом вотума недоверия правительству п. 3 Конституции система сдержек и противовесов последовательного применения не...
30440. Политико-территориальное устройство и организация местной власти в Казахстане 18.2 KB
  и местных исполнительных органов устанавливая что компетенция маслихатов порядок их организации и деятельности правовое положение их депутатов равно как и компетенция и порядок деятельности местных исполнительных органов устанавливаются законом. Такой закон сегодня Закон О местных представительных и исполнительных органах Республики Казахстан от 10 декабря 1993 г. 87 определяет правовые основы организации и деятельности местных органов исполнительной власти. Взаимоотношения местных представительных и исполнительных органов...
30441. Юридическая и социально-политическая сущность конституции 15.07 KB
  Юридическая и социальнополитическая сущность конституции В науке конституционного права понятие “конституция†применяется в двух смыслах. В формальном смысле это юридическая конституция т. Юридическая конституция представляет собой документ предписывающий то что должно быть. Серьезные расхождения между юридической и фактической конституциями иногда порождают фиктивность части положений основного закона.
30442. Основные тенденции развития конституционного права 14.29 KB
  Социализация это тенденция означающая что конституционноправовые нормы все шире регулируют основы устройства не только государства как это делали первые конституции но и общества в целом включая его экономическую политическую1 социальную и культурную системы. Данная тенденция проявляется в пополнении перечня конституционных прав свобод и обязанностей правами и обязанностями социальноэкономическими и культурными в регулировании отношений между трудом и капиталом в установлении социального предназначения собственности и т....
30443. Права, свободы и обязанности человека и гражданина, соотношение между ними 14.85 KB
  Права свободы и обязанности человека и гражданина соотношение между ними Подчеркивая две составные части в формуле права человека и права гражданина конституционноправовая теория исходит из того что первые проистекают из естественного права а вторые из позитивного хотя и те и другие носят неотъемлемый характер. Права человека являются исходными они присущи всем людям от рождения независимо от того являются они гражданами государства в котором живут или нет а права гражданина включают в себя те права которые закрепляются...
30444. Равенство прав, свобод и обязанностей, запрет дискриминации в зарубежных странах 16.24 KB
  Равенству граждан противостоит дискриминация являющаяся формой насилия над человеком. Дискриминация выступает как отрицание равенства граждан и основных принципов демократического правового государства. В прошлом в ряде стран дискриминация возводилась на уровень государственной политики. Расовая дискриминация.
30445. Гарантии и ограничения прав и свобод в зарубежных странах 16.55 KB
  Гарантии и ограничения прав и свобод в зарубежных странах. Юридические гарантии существующие в странах с демократическим режимом опираются прежде всего на авторитет конституций в которых закреплены основные права и свободы. В этом плане для всех граждан очень важно чтобы как можно больше прав и свобод было в тексте именно конституций. Однако конституции далеко не всегда закрепляют права и свободы в полном объеме.
30446. Личные (гражданские) права, свободы, обязанности в зарубежных странах 17.2 KB
  Защита человека от произвола государства состоит в признании таких прав и свобод как достоинство личности право на жизнь неприкосновенность личности свобода частной жизни гарантии на справедливый суд процессуальные гарантии и некоторых других. Этим понятием охватывается качество человека равнозначное праву на уважение и обязанности уважать других. Достоинство личности это прежде всего запрет подвергать человека пыткам насилию другому жестокому или унижающему человеческое достоинство обращению или наказанию а также без...
30447. Политические права, свободы, обязанности в зарубежных странах 16.25 KB
  Политические права свободы обязанности в зарубежных странах. Эти права и свободы провозглашены во Всеобщей декларации прав человека закреплены в Международном пакте о гражданских и политических правах. Политические права и свободы могут быть реализованы человеком как индивидуально так и через объединение с другими людьми. Реально проявляют себя только крупные политические партии профсоюзы объединения предпринимателей религиозные общества творческие союзы спортивные клубы и т т Суть свободы демонстраций и собраний состоит в...