Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Конспект лекции по курсу - Цифровой техники и микропроцессоры - файл Cifrovaia_tehnica_microprocessori_2.doc


Конспект лекции по курсу - Цифровой техники и микропроцессоры
скачать (274 kb.)

Доступные файлы (1):

Cifrovaia_tehnica_microprocessori_2.doc680kb.17.04.2002 23:03скачать

содержание
Загрузка...

Cifrovaia_tehnica_microprocessori_2.doc

1   2   3   4   5   6   7
Реклама MarketGid:
Загрузка...

Таблица 1.1





1

2

3

4

Сложение

ADD m

01H

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


Вычитание

SUB m

02H

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

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

JOM m

05H

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

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

JMP m

03H

PC-R(ADDR)

Сдвиг влево

SHR

04H

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

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

LDA m

07H

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

Останов

STP m

08H

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

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

CIL

09H

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


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

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

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

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

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


^

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



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

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

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

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




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


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

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

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

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

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


T 

P(1)


P(2)


P(3)




t

T


T t


t


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

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

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





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

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


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

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

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

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

Таблица 1.2.



Выполн.

Операция

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


для упр. Сиг

Содержание


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

Регистр


источник

Регистр P

1

ADD


Общая для

всех команд

SUB


JOM


JMP

LDA

2


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


S2 =K(1)*P(2)

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

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


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


S5=K(2)*P(2)

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

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


S6=K(3)*P(2)

S1=K(7)*P(1)


S7=K(7)*P(2)

3


RM(MAR)

BR


CA+B

AC

F0


RM(MAR)

BR

CA-B

AC

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

то PCR(ADDR)

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

PC-R(ADDR)

R-M(MAR)


A_R
^

4


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

R

A,B

C


-


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

R

C


R(ADDR)


R(ADDR)

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

R

5

R

B




C


A

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


B

A


PC

R


A


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

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

S2=K(1)*P(2)

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

S4=K(0)*P(3)

S5=K(2)*P(2)

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

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


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




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


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


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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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




ЗУ

Признак косвенной Адрес ячейки

Адресацией памяти


I=1 I I=0


OP I i

Адрес

Операнда

R(OP) R(ADDR)


операнд

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

В операционный регистр на

обработку




































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

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

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

MAR— R (ADDR),

F — R (OP)

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

R - M (MAR),

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

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

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

1У1 A—R.

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

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

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

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

R-M(MAR),

А-R.

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

МAR—R(ADDR)+PC,

R--M(MAR),

A-R.

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

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

MAR-GR(r),

R- M(MAR),

A—R

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

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

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

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

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








































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


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

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






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


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

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

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

Разряды


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

Такт

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

H(0-5)

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




H(6)

1

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

H(7)

2

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

H(8)

3

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

H(9)

1

R-M(MAR)

H(10)

1

B-R

H(11)

2

C-A+B

H(12)

3

A-B

H(13)

3

F-0

H(14)

2

C-A-B

H(15)

2

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

H(16)

2

PC-R(ADDR)




H(17)

2

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

H(18)

1

R-C, M(MAR)-R




H(19)

2

A-R

H(20)

2

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

H(21)

1

G-0

1   2   3   4   5   6   7



Скачать файл (274 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru