Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Центральные и переферийные устройства электронно вычислительных средств.pdf
Скачиваний:
284
Добавлен:
02.05.2014
Размер:
6.14 Mб
Скачать

Глава 2. Структура и функционирование процессора

38

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

WR

 

 

WR

 

 

 

 

 

4

 

 

 

 

 

80

DBIN

 

 

DBIN

 

 

 

2

 

 

 

 

 

HLDA

 

HLDA

 

 

 

ИК

 

 

 

 

 

 

 

15

 

 

 

 

580

 

D0

17

 

 

 

D0

 

 

 

 

D1

 

 

 

D1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КР

 

D2

12

 

 

 

D2

 

 

 

 

10

 

 

 

 

 

 

БИС

 

D3

 

 

 

D3

 

 

 

 

6

 

 

 

 

 

 

 

D4

 

 

 

D4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МП

 

D5

19

 

 

 

D5

 

 

 

 

21

 

 

 

 

 

 

 

D6

 

 

 

D6

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D7

 

 

 

D7

 

 

 

 

 

28

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ucc

 

 

 

 

 

 

 

 

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

GND

 

 

 

 

 

 

 

 

 

22

 

 

 

 

 

 

 

 

 

 

 

 

 

BUSEN

STATUS STROBE

 

 

 

 

 

 

 

 

 

 

 

 

 

STSTB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

от микросхемы

1

 

 

 

 

 

 

 

 

 

 

 

КР580ГФ24

КР580ВК28

D0

13

 

16

 

D1

 

11

 

D2

 

9

 

D3

МД

5

D4

 

18

 

D5

 

20

 

D6

 

7

 

D7

 

 

 

MEMR

24

 

26

 

MEMW

МУ

25

I/OR

27

 

I/OW

 

23

 

INTA

 

 

 

Рис. 2.16. Схема формирования магистрали управления микроЭВМ

Контрольные вопросы к главе 2

1. Сформулируйте принцип микропрограммного управления.

2.Какие четыре основных назначения ЦП в микроЭВМ?

3.Какая важная часть ЦП предназначена для управления всеми событиями внутри системы?

4.Назовите три последовательных этапа машинного цикла выполнения команды.

5.Какие действия осуществляются в МП в течение одного машинного цикла? Одного машинного такта?

6.Что понимается под микрооперацией? Микропрограммой?

7.Охарактеризуйте структуру микрокоманды.

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

9.Назначение устройства управления МП.

10. Назовите три типа УУ и в чем заключаются общее и различие в их реализации. 11. Какова связь между осведомительными сигналами и управляющими?

12. Для чего и как формируется слово состояния процессора? 13. Что означает “0” в битах cостояния Р, Т, N, V, C?

14. Изменяются ли значения битов слова состояния после выполнения обработки данных?

15. В чем заключаются особенности реализации и применения однокристальных и секционных МП наборов? 16. Перечислите БИС, входящие в типовой МП набор.

17. Назовите способы организации связи между МП и УВВ. 18. Для чего предназначены буферные регистры?

19. В какой последовательности действует микропроцессор при выполнении каждой команды? 20. В чем заключается инициализация внутренних регистров МП?

21. Какова роль регистра адреса, счетчика адреса и дешифратора адреса?

22.Для чего предназначены счетчик и регистр команд?

23.Какая информация заносится в указатель стека?

24.Посредством какой шины центральный процессор получит доступ к ячейке памяти?

25.Как записать число в ОЗУ? Как считать его из ОЗУ?

26.Как осуществить запись числа в ОЗУ? Как его считать из ОЗУ?

27.Перечислите входные и выходные шины АЛУ.

28.По какой шине информация из аккумулятора МП передается в ячейку памяти? Каково назначение регистра “аккумулятор”?

29.Какие устройства участвуют в управлении работой всей микроЭВМ?

Глава 2. Структура и функционирование процессора

39

30. Из чего складывается время выполнения команды?

31. К скольким ячейкам памяти и портам можно получить доступ посредством 16-ти линий адресной шины?

32.Назовите по крайней мере три типа выходов МП.

33.Каково назначение и где содержится программа монитора?

34.Назовите входы и выходы ПЗУ микропрограмм, ОЗУ.

35.Перечислите типы машинных циклов МП.

36.Что происходит в МП при начальной установке?

37.Охарактеризуйте кратко назначение режимов Запись, Чтение.

38.К каким действиям приводит требование прерывания?

Глава 3. Системы команд микроЭВМ

40

Глава 3. СИСТЕМЫ КОМАНД МИКРОЭВМ

3.1. Язык микроопераций для описания вычислительных устройств

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

Таблица 3.1. Языки формализованного описания в зависимости от степени детализации

Уровень рассмотрения (стpaна)

Язык формализованного описания

1. Электронные схемы базовых логических

Дифференциальные уравнения для токов

 

элементов, элементов памяти

и напряжений в цепях электрических схем

2. Комбинационные логические схемы

Аппарат теории булевых функций

3.

Операционные узлы, узлы памяти,

Язык микроопераций

 

управляющие автоматы

 

4. Устройства ЭВМ

Языки АРL, VHDL, OCC-2 и др.

5.

Функционирование ЭВМ

Языки машинных команд

6.

Вычислительный процесс

Алгоритмические языки БЕЙСИК, ПАСКАЛЬ, Си и др.

7. Функционирование ВС в условиях

Язык моделирования дискретных стохастических

воздействия случайных факторов

систем GPSS , OCCAM и др.

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

Глава 3. Системы команд микроЭВМ

41

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

Язык микроопераций (ЯМ) предназначен для описания цифровых устройств, функционирование которых рассматривается на уровне функциональных узлов: сумматоров, счетчиков, регистров. Иногда такой язык называют регистровым или языком регистровых передач. Он имеет простые и наглядные средства описания слов и регистров, массивов данных и памятей, элементов и частей слов и массивов и соответственно элементов регистров, памятей, операций передачи слов и частей слов и др.

Описание регистра состоит из названия (идентификатора) регистра и разрядного указателя. Например, описание регистра команды на рис. 3.1 имеет вид: РгК [0 31], а его отдельных частей - подрегистров и соответственно полей команды:

РгК [0 7] или РгК [КОП], РгК [20 31] или РгК [A2].

Шина, как и регистр, описывается идентификатором шины и разрядным указателем. Например, описание шины, по которой поступает 32разрядная команда, обозначается: ШК

[0 31].

РгК

 

КОП

 

А1

 

А2

 

 

 

 

 

 

 

 

 

0

7 8

19 20

31

Рис. 3.1. К описанию регистра команд

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

Пример 3.1. Описание модуля памяти ОП2 (массива), содержащего r n - разрядных ячеек (слов):

ОП2 [0 r-1, 0 n-1].

В таком случае j-я n-разрядная ячейка памяти (j-e слово) и k-й разряд памяти (столбец массива) представляются записями соответственно

OП2 [j, 0 r-1] и ОП2 [0 r-1, k].

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

Глава 3. Системы команд микроЭВМ

42

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

Метка

Формула микроопера тора

!

(""""""'""""""&

G : РгA [k k + l] := РгВ [m m + l] РгС [n n + l];

%""""""""""$""""""""""#

Микроопера тор

Метка (идентификатор) управляющего сигнала определяется двоеточием от микрооператора. Представление микрооператора основано на использовании «операции присваивания», обозначаемой знаком := . Выражение, стоящее справа от этого знака - правая часть микрооператора, - называется формулой микрооператора . Формула определяет преобразование, обозначенное знаком *, производимое микрооперацией до завершения предусмотренной в ней передачи данных, и участвующие в нем операнды, точнее, их местоположение. Слева от знака := , в левой части микрооператора, указывается регистр (или его часть), в который передаётся результат преобразования, описанного формулой микрооператора. Если в левой части микрооператора указана некоторая часть регистра (подрегистр), то после выполнения микрооперации остальные разряды регистра сохраняют прежнее значение.

Действие микрооператора состоит в том, что в конце машинного такта Tt выполнения микрооперации на регистре (шине и др.), описанном в левой части микрооператора, устанавливается слово, полученное в результате указанных в формуле микрооператора преобразований над значениями операндов в начале такта. Если микрооперация состоит в передаче слова, формула микрооператора содержит лишь описание слова, точнее, регистра, из которого происходит передача.

Пример 3.3. Микрооперацию приема адреса второго операнда А2 из регистра команды РгК в регистр адреса РгА (рис. 3.2) можно представить в виде

ПpA2: РгА [12 1] := РгК [20 31];

или в более простой форме:

ПрА2 : РгА := РгК [A2];

Здесь ПрА2 - метка управляющего сигнала ПРИЕМ в РгА адреса А2 из РгК . Управляющий сигнал показан условно на рис. 3.2. тонкой стрелкой.

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

 

 

РгА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12

 

1

 

 

 

Пр А 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

РгК

 

КОП

 

А1

 

А2

 

 

 

 

 

 

 

 

 

 

 

 

 

0

7

8

19 20

31

 

Рис. 3.2. Микрооперация: передача адреса А2 из регистра РгК в регистр РгА

Один управляющий сигнал (метка) может инициировать выполнение в одном такте нескольких микрооператоров. Тогда последние записываются подряд и отделяются друг от друга запятыми, Знак ; служит разделением тактов. Например, пусть ПРИЕМ из счетчика команд СчК (рис. 3.3) в регистр РгВ и из регистра РгД в СчК выполняются за один такт.

Глава 3. Системы команд микроЭВМ

43

Рг В

Пр D Сч КВ Сч К

Рг Д

Рис. 3.3. Пример совмещенных во времени микроопераций

Сч

 

 

 

 

 

 

 

Пр Сч

 

 

 

+1 Сч

 

 

 

 

 

 

 

 

 

 

УО Сч

ШИВх

Рис. 3.4. Микрооперации счетчика

Тогда можно записать ПрДСчКВ : РгВ := СчК, СчК := РгД;

Рассмотрим еще некоторые примеры микроопераций.

Приращение счетчика. В счетчике на рис. 3.4 определены микрооперации: установка в 0 (УОСч), прием кода с шины ШИВх (ПрСч) и увеличение содержимого счетчика на 1 (+1Сч). Последнюю микрооперацию можно записать в виде

+1Сч : Сч := Сч+1; Сдвиг. Различают сдвиги арифметический, логический, циклический. В описаниях

микроопераций на языке ЯМ им соответствуют обозначения СдвА , СдвЛ, СдвЦ. Далее за этим обозначением указываются направление сдвига (правый П или левый Л) и в скобках количество разрядов, на которое производится сдвиг. Например, описание микрооперации арифметического сдвига содержимого регистра С на 4 разряда вправо имеет вид:

Сдв : РгС := СдвАП (4) РгС; При арифметическом сдвиге знаковый разряд не сдвигается. Освобождающиеся при

сдвиге разряды заполняются 0. Выдвигающиеся из регистра разряды теряются. При логическом сдвиге сдвигаются все разряды кода, включая знаковый разряд. При циклическом сдвиге крайние разряды регистра соединяются между собой так, что выдвигающиеся из крайнего разряда регистра биты поступают в другой его крайний разряд. Сдвиг часто реализуется путем «косой передачи» слова из одного регистра в другой. Микрооперации передачи содержимого РгА в РгВ со сдвигом на к разрядов вправо или влево обозначаются

СдвК : РгВ := П (к) РгА; СдвК : РгВ := Л (к) РгА;

Глава 3. Системы команд микроЭВМ

44

Рг В

18 9 12 13 14 16

Пр Рг В

0

Рг А

 

Сч

 

ТгП

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3.5. Микрооперация составления (конкатенации) слова

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

ПрРгВ : РгВ [1 16] := РгА [8 15] | Сч [0 3] ТгП | 000; Вертикальная линия является знаком операции составления слова.

Микрооператор перехода идти к М

позволяет задавать в микропрограмме переход к микрооператору с меткой М.

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

если (условие) то микрооператор (ы) (или метка) иначе микрооператор (ы) (или метка);

если (условие) то микрооператор (ы) (или метка);

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

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

РгА [к к+l] := если [условие] то РгВ [m m+l]* РгС [n n+l] иначе РгД [р р+l]*РгЕ [q q+l];

Условие можно представить как равенство (или отсутствие равенства) содержимого некоторого регистра (или разряда регистра) определенной величине, например См=0 или РгА [0]=0, или в форме неравенства См>0, или в виде логической функции двоичных переменных, в качестве которых могут выступать значения определенных разрядов регистров. В последнем случае условие выполняется, если логическая функция принимает значение 1 (истинно).

Если описания микроопераций составляются не для проектирования устройства управления с «жесткой» логикой, а только для описаны процесса функционирования, метки управляющих сигналов могут опускаться.

Запись микрооперации можно сопровождать пояснениями, которые должны при этом выделяться скобками <, >.