ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.12.2023
Просмотров: 470
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
173 вычислительных машинах и продолжает применяться в настоящее время в комбинации с другими методами.
Относительная адресация или базирование. Исполнительный ад- рес определяется суммой адресного кода команды Ак и некоторого числа Аб, называемого базовым адресом:
Аи = Ак + Аб.
Для хранения базовых адресов в машине могут быть предусмот- рены регистры или специально выделенные для этой цели ячейки па- мяти (базовые регистры). Количество разрядов в базовом адресе вы- бирают таким, чтобы совместно с адресной частью команды можно было адресовать любую ячейку памяти. Для указания места хранения базового адреса в команде может быть отведено соответствующее поле В.
При использовании базирования с целью экономии разрядов ад- ресный код команды Ак обычно делают короче базового адреса и на- зывают его смещением (обозначают буквой С). Смещение С опреде- ляет положение операнда относительно начала массива, задаваемого базовым адресом Аб. Рисунок 5.8,а поясняет процесс формирования исполнительного адреса.
Большей частью исполнительный адрес при базировании обра- зуется посредством суммирования согласно выражению (рисунок
5.8,б)
Аи =
=
≠
+
>
<
,
)
(
),
(
;
)
(
),
(
)
(
О
В
если
С
О
В
если
C
B
где (В) и (С) – коды (числа), стоящие в полях В и С команды,
<(В)> - содержимое регистра с номером (В). При (В) = 0 относитель- ная адресация блокируется.
Суммирование при образовании Аи связано с потерей времени.
Поэтому применяют также формирование исполнительного адреса методом совмещения (склеивания) (рисунок 5.8,в). В этом случае ба- зовый адрес содержит старшие, а смещение – младшие разряды ис- полнительного адреса, которые объединяются в РгА согласно опера- ции
РгА: = РгВ * РгК [C] , где * - знак объединения (склеивания); РгК [C] – разряды коман- ды, соответствующие смещению.
174
Рисунок 5.8 - Относительная (базовая) адресация: а- образование адреса элемента одномерного массива; б- форми- рование исполнительного адреса при базировании суммированием; в- формирование исполнительного адреса совмещением (склеиванием)
Относительная адресация обеспечивает так называемую «пере- мещаемость» программ, т.е. возможность передвижения программ в памяти без изменений внутри самой программы.
Относительная адресация облегчает распределение памяти при составлении несколькими программистами сложных программ. Каж- дый программист может располагать свою часть программы в памяти, начиная с нулевого адреса. При компоновке программы достаточно только задать соответствующие значения базовых адресов.
Косвенная адресация. Адресный код команды указывает адрес ячейки памяти, в которой находится адрес операнда или команды.
Таким образом, косвенная адресация может быть иначе определена как «адресация адреса».
Обращение к ячейке памяти за операндом при косвенной адре- сации выполняется в несколько этапов. На первом этапе формируется
175 исполнительный адрес ячейки памяти, где хранится адрес операнда.
На втором этапе адрес операнда извлекается из ячейки и пересылает- ся в регистр адреса РгА. И на третьем этапе происходит извлечение операнда по адресу, находящемуся в РгА.
Укороченная адресация. Для уменьшения длины кода команды часто применяется так называемая укороченная адресация. Суть ее сводится к тому, что в команде задаются только младшие разряды ад- ресов. Старшие разряды при этом подразумеваются нулевыми. Такая адресация позволяет использовать только небольшую группу фикси- рованных ячеек с короткими адресами и поэтому может использо- ваться лишь совместно с другими методами адресации.
Адресация слов переменной длины. Эффективность вычисли- тельных систем, предназначенных для обработки данных, повышает- ся, если имеется возможность выполнять операции со словами пере- менной длины. В этом случае в машине должна быть предусмотрена адресация слов переменной длины, которая обычно реализуется ука- занием в команде местоположения в памяти начала слова и его дли- ны.
Из изучаемых вычислительных машин наиболее развита система адресации БВМ А-15А. В А-15А формирование исполнительного ад- реса может осуществляться восемью различными способами (таблица
5.1), определяемыми признаком адресации (ПА).
Таблица 5.1 – Способы формирования исполнительного адреса
БВМ А-15А
Разряды ПА
А
Б
В
Схема формирования исполнительного адреса
0 0
0
Аи = С
0 0
1
Аи = РгБ1*С
0 1
0
Аи = П[C]
0 1
1
Аи = П[РгБ2*С]
1 0
0
Аи = СчК
±
С
1 0
1
Аи = РгИ1 + С
1 1
0
Аи = РгИ2 + С
1 1
1
Аи = РгБ3*С
В таблице 5.1 использованы следующие обозначения базовых констант адресации, заносимых в регистры БВМ:
РгБ1, РгБ2, РгБ3 – содержимое 6-разрядных базовых регистров;
176
РгИ1, РгИ2- содержимое 16-разрядных индексных регистров;
СчК – содержимое 16-разрядного счетчика команд;
П[C] – содержимое ячейки с адресом С;
П[Б2*С]- содержимое ячейки с адресом РгБ2*С, где * - символ объединения (склеивания) двух кодов в одно 16-ти разрядное слово.
В соответствии с форматом адреса, приведенным в таблице 5.2, и распределением поля адресов памяти (таблица 5.3) формирование адреса осуществляется следующим образом.
Таблица 5.2 – Формат адреса БЦВМ А-15А
Разряды слова
0 1
2 3
4 5
6 7
8 9
10 11 12 13 14 15
Триады
0-я
1-я
2-я
3-я
4-я
5-я
Назначение
Номер блока номер ячейки памяти в блоке
При ПА = 000 исполнительный адрес равен смещению, непо- средственно записанному в команде, причем его старшие 6 разрядов равны нулю. С учетом распределения поля адресов это означает пря- мую адресацию к ячейкам ОЗУ1.
При ПА = 001 исполнительный адрес образуется «склеиванием»
6-разрядного кода РгБ1 с 10-разрядным смещением команды. Код ба- зы занимает старшие 6 разрядов, смещение - младшие 10 разрядов исполнительного адреса.
При ПА = 010 исполнительный адрес является содержимым ячейки, адрес которой равен смещению, записанному в команде. С учетом распределения поля адресов смещение представляет собой косвенный адрес и указывает адрес ячейки памяти в блоке ОЗУ1, чье содержимое представляет собой исполнительный адрес.
При ПА = 011 исполнительный адрес является содержимым ячейки памяти, адрес которой равен РгБ2*С, т.е. исполнительный ад- рес может находиться в любой ячейке памяти, как долговременной, так и в оперативной.
При ПА = 100 исполнительный адрес образуется как сумма со- держимого счетчика команд и смещения. В данном случае операция суммирования производится только над младшими десятью разряда- ми адреса (содержимого счетчика команд). При возникновении пере- носа в следующий (одиннадцатый), разряд он отбрасывается. Поэто- му операция может рассматриваться и как вычитание из содержимого
СчК величины смещения. В результате операции получается 16-
177 разрядный исполнительный адрес, шесть старших разрядов которого, определяющих блок ЗУ, остаются неизменными. Этот вид адресации удобно применять для организации циклов.
При ПА = 101 исполнительный адрес образуется как сумма со- держимого РгИ1 и смещения.
При ПА = 110 исполнительный адрес образуется как сумма со- держимого РгИ2 и смещения.
При ПА = 111 исполнительный адрес образуется «склеиванием» шестиразрядного РгБ3 и смещения.
Следует отметить, что без косвенных и относительных видов адресации можно обратиться лишь к 1024 ячейкам памяти ОЗУ1.
Таблица 5.3 – Распределение поля адресов памяти БЦВМ А-15А
Код шести старших разря- дов
Восьме- ричная за- пись
Наименование блока
Количество ячеек
000000 00
ОЗУ1 1024 000001 01
ОЗУ2 1024 000010 02
Свободная зона
1024 000011 03
Свободная зона
1024 000100 04
Свободная зона
1024 000101 05
Свободная зона
1024 000110 06
ДЗУС
128 000111 07
Накопитель пульта контроля 8 001ххх
1Х
Свободная зона
8192 010ххх
2Х
Свободная зона
8192 011ххх
3Х
Свободная зона
8192 100ххх
4Х
ДЗУ1 8192 101ххх
5Х
ДЗУ2 8192 110ххх
6Х
ДЗУ3 8192 111ххх
7Х
ДЗУ4 8192
В ЦВМ типа «Орбита» применяется прямая адресация к блокам
ОЗУ и относительная адресация к блокам ДЗУ. Для реализации отно- сительной адресации используются регистры, именуемые переключа- телями квадратов. Соответственно, имеются переключатели квадра- тов команд, объединенные со счетчиком команд (СКП), и переключа- тель квадратов числа (ПЧ).
178
В ЦВМ типа Ц-100 используется прямая, относительная и кос- венная адресация, как на уровне команд, так и на уровне микроко- манд. Кроме этого используется регистровая адресация, при исполь- зовании которой формируется адрес не ячейки памяти, а адрес одного из регистров процессора.
5.2
Процессоры БВМ
5.2.1 Основные сведения о процессорах БВМ
Процессором называется устройство, непосредственно осуще- ствляющее процесс обработки данных и программное управление этим процессом.
Процессор дешифрирует и выполняет команды программы, ор- ганизует обращения к оперативной памяти, в нужных случаях ини- циирует работу каналов и периферийных устройств, воспринимает и обрабатывает запросы, поступающие из устройств машины и из внешней среды (так называемые «запросы на прерывание»). По вы- полняемым функциям процессор является центральным устройством
ЦВМ, управляющим взаимодействием её составных частей.
Выполнение процессором программы решения задачи представ- ляет собой последовательность операций, осуществляемых в задан- ном программой порядке. К таким операциям относятся арифметиче- ские и логические операции, операции, связанные с анализом полу- чающихся результатов, с организацией и управлением процессом вы- числений. Обычно каждой такой операции соответствует команда.
В свою очередь операция (выполнение команды) может быть разделена на более мелкие этапы (микрооперации), во время которых исполняются определенные элементарные действия. Последователь- ность микроопераций, реализующих данную операцию (команду), образует микропрограмму операции. Для характеристики временных соотношений между различными этапами операции используется по- нятие машинный такт. Он определяет интервал времени
1
i
i
T
t
t
−
= −
, в течение которого выполняется одна или одновременно несколько микроопераций процессора. Таким образом, может быть установлена следующая иерархия этапов выполнения программы в процессе вы- числений: программа, команда (микропрограмма), микрооперация.
179
Структура процессора показана на рисунке 5.9. В его состав входят устройство управления (УУ) и арифметико-логическое уст- ройство (АЛУ).
g d
h
,d
h+1
x
k
r
q
Рисунок 5.9 - Структурная схема процессора
Рассмотрим работу процессора при выполнении в АЛУ машин- ной операции
g
f
F
∈
из состава системы команд процессора. Операн- дами этой операции являются слова d
h и d
h+1
, хранящиеся в ОЗУ. Ре- зультат операции
1
(
,
)
q
g
h
h
r
f d d
+
=
также записывается в ОЗУ.
На вход УУ поступает код g заданной операции и осведомитель- ный сигнал x
k
, сформированный в АЛУ при выполнении предыдущей операции. На основе этой информации УУ генерирует последова- тельность
( ) ( )
( )
{
}
1 2
,
,
,
g
g
Y
Y t
Y t
Y t
=
…
. Каждый элемент
( )
i
Y t этой последовательности есть ансамбль управляющих сигналов в такте
i
t , под воздействием которых выполняется одна микрооперация (или не- сколько совместимых микроопераций). Одним из результатов этих микроопераций является значение осведомительного сигнала
i
x , от которого зависит очередной набор управляющих сигналов
( )
1
i
Y t
+
Под воздействием последовательности управляющих сигналов
g
Y происходит извлечение операндов d
h
и d
h+1
из ОЗУ, выполнение над ними заданной операции f
g
и запись результата
q
r в ОЗУ. В последнем такте
g
t генерируется ансамбль управляющих сигналов
( )
g
Y t
, одним из элементов которого будет осведомительный сигнал конца опера- ции
g
x .
Основным элементом, обеспечивающим организацию вычисли- тельного процесса, является устройство управления.
Y
g
Процессор
x
g
Внутренняя магистраль
УУ
АЛУ
180 5.2.2 Классификация и основные характеристики арифметико- логических устройств
В общем случае арифметико-логическое устройство служит для выполнения над операндами машинных операций, заданных системой команд БЦВМ. Обычно операндами машинных операций являются машинные слова или отдельные поля этих слов (байты и биты). При необходимости повысить точность вычислений машинные операции выполняются над словами двойной длины.
К арифметическим операциям относятся сложение, вычитание, вычитание модулей («короткие операции»), умножение и деление
(«длинные операции»). Группу логических операций составляют опе- рации дизъюнкция (логическое сложение) и конъюнкция (логическое умножение) над многоразрядными двоичными словами, а также срав- нение кодов на равенство. Специальные арифметические операции включают нормализацию, арифметический сдвиг (сдвигаются только разряды мантиссы числа, знаковый разряд остается на места), логи- ческий сдвиг (знаковый разряд сдвигается вместе с цифровыми раз- рядами).
Классификация АЛУ может быть произведена по следующим признакам.
По способу действия над операндами АЛУ делятся на последо- вательные и параллельные. В последовательных АЛУ операнды пред- ставляются последовательным кодом, а операции производятся по- следовательно во времени над их отдельными разрядами. В парал- лельных АЛУ операнды представляются параллельным кодом и опе- рации совершаются параллельно во времени над всеми разрядами операндов.
По способу представления чисел различают АЛУ для чисел с фиксированной запятой, для чисел с плавающей запятой и для деся- тичных чисел.
По способу организации работы различают асинхронные и син- хронные АЛУ. В асинхронных АЛУ определяется момент фактиче- ского окончания операции, после чего немедленно может начаться следующая операция. В синхронных АЛУ независимо от фактической продолжительности операции, определяющейся значениями операн- дов, на выполнение отдельных операций отводится фиксированное время.
181
По характеру использования элементов и узлов АЛУ делятся на блочные и многофункциональные. В блочном АЛУ для реализации ряда операций (умножение и деление, операций с адресами и т.д.) ис- пользуются отдельные блоки. При этом повышается скорость работы, так как блоки могут работать параллельно, но при этом значительно возрастают затраты оборудования. В многофункциональных АЛУ все операции выполняются одними и теми же схемами, которые комму- тируются нужным образом в зависимости от требуемого режима ра- боты.
Основные характеристики АЛУ изучаемых БЦВМ приведены в таблице 5.4.
Таблица 5.4 - Основные характеристики АЛУ
Характеристики АЛУ
Назначение
Характер использо- вания эле- ментов
Способ обработ- ки
Количест- во команд
Быстро действие оп/с
(R-R)
Орбита
10
Выполнение дейст- вий над операнда- ми много- функцио- нальный последо- ватель- ный
63 125000
А-15А
Выполнение дейст- вий над операнда- ми; формирование исполнительных адресов; выполне- ние модификации команд много- функцио- нальный парал- лельный
71 208000
Ц - 100
Выполнение дейст- вий над операнда- ми блочный парал- лельный
256 250000
(800000)
5.2.3 Выполнение арифметических и логических операций в арифметико-логическом устройстве
АЛУ БВМ выполняет обычно следующие основные стандартные и специальные арифметико-логические операции: арифметическое сложение и вычитание; арифметический, логический и циклический сдвиги; логическое сложение и умножение, сложение по модулю два;
182 поиск самой левой (правой) единицы в слове и массиве данных; запись единицы или нуля в разряд слова и массива данных; арифметические и логические операции с частью слова данных.
Реализация арифметико-логических операций осуществляется
АЛУ, структурная схема которого представлена на рисунке 5.10.
Первый А и второй Б операнды через шины и поступают соот- ветственно в регистры РА и РБ АЛУ. Дальнейшее прохождение опе- рандов к узлам АЛУ и действия над ними зависят от кода операции, задаваемого управляющими сигналами
m
i
i
y
y ...
1
, поступающими из устройства управления (УУ). Эти сигналы и синхросерии С(1),...,С(К) поступают в узел местного управления (УМУ), который вырабатыва- ет и распределяет последовательность управляющих сигналов для выполнения заданной операции.
Рисунок 5.10
Выполнение операций арифметического сложения осуществля- ется параллельно по всем разрядам. Для этого в АЛУ используется
n схем одноразрядных комбинационных сумматоров (см. п. 3.5.3).
Операция вычитания реализуется через сложение чисел, одно из ко- торых представляется дополнительным кодом отрицательного числа.
Операции умножения и деления осуществляются по алгоритмам, рассмотренным в п. 1.3.3. Наибольший интерес представляет рас- смотрение процесса выполнения логических операций.