8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 51 52 53 54 55 56 57 ... 78

be

BXIXS

BXlXS CI

C0

XS

BDECMUXS

BTXS BUXS BVXSf

>BXSO

RS

SYCL-ICL-

CLK

cs* со*

CP

17

SI

LGCO S2

0

1/

CGRS

"cos

RI

CO гшп

R

MCP

YS

XL

MOP

1

А/

A2 AJ

OP

СЮ

jMULT j 00 07

В/ B2

GCO

>/7

YS

SN

FCO

FOP

A0 M

CO ,-.

CO

A2 AJ

OP

ADD

CI

0 JSNI I s CP

f f

COS CLK FCI

ty ВТ О B2 BJ ZERpf f

i

A 0

LOGIC

DP

В

TOP

TCP

II 12

OP

CP

GCO

16

GBSN

GOP

MPL

GASN

XS

YL

YS

MPR

AjTA/ 07 A2 AJ CO t ч

СЮ CI

02 OP

ГарТГ

03

В/ В? О B2 ВЗ

zero}"

1

О IJI4-

со

U0P UCP

GCI

i

17 12 013

op Си""")

CPffREG

О IDECM I

usz

VS?

CPf

17

"sz~l

0

SIZ

VOP

vc?

Li

i

I/ 12 0IJ

IopCO

CP 2REG

JL

DSCL4

IF 17

flSP"

07

DSCLCP

I

CP

LDSCL

BSIZEXS BLSPXS

Рис. 18.3. Архитектура АУО

YAFOP

Tyaeop


code

F0Pf7)

g0p(7)

нор(я)

adc

а

в

FCI

add

а

в

gci

add

а

в

HCI

& 1 2 3

в

а + в а-в в-а

xs sn mpl ys

Я gbsn

fop; со

в

а + в

xs mpl

& т

gop/ нсо

в

а + в

xs mpl

г и

н0р7 CI

t

и

а-в в-а

MPR ys

и

v

а-в в-а

mpr ys

v w

со

FCO

CODE

REGOPfg)

SHIFT

C0S(7)

TOP

UOP

VOP

WOP

13)

Щ2)

TEST0

ПЩ2)

7

?

NQOP XS*T

YS*T FVT XSaT-*T

NOOP F-U G4J

NOOP G-V

-;*v

NOOP

xs*w

YS*W

G,H G, RSH

GCO LGCO

NOOP HOOP

NOOP NOOP

G GH

NQOP R*MA

£

3

4

RSG,H RSG,RSH CSG,H CSG, RSH CSGH RSGH

XS XC

YS YC

H

DSCl

R*XL R**YL

5 6

7

XSvT-T XS®T*T ~XS *T

CODE

T

7

2

3

4

5

6

7 10 11 12 13 lit-15 16 17

XAQPf4;

noop xa=y inc xa(xd) dec xa(xd) xa=xc xa= y + xc inc xa(xc) dec xa(xc) xa = xc + xd xa = y+(xc+xd) inc xa(xc + xo)

decxa(xc-xd) xa = xc-xd xa=y+(xc-xd) inc xa(xc-xd) dec xa(xc + xd)

ХАСОРДО

XCOPf2)

noop xaxc x-xc xc

Щ2)

1 2 3 4

yacop(4)

noop ya=x

incya(yd)

decya(yd)

ya = yc

ya = x + yc

incya(yc)

decya(yc)

ya = yg + yd

ya=x + (yc + yd) ihcya(yc+yd) dec ya(yc-yd) ya - yc - yd ya-x + (yc-yd) inc ya(yc-yd) dec ya(yc + yd)

YACOP(gj

YCOPffl

hoop yayc y yc xyc

YDtfJ

1

2 3 4

Рис. 18.4. Коды микрокоманд АУО

Может производиться и с%1)1ЧНое сложение. Могут производиться комбинации сдвигов RS, CS и обьпцнОГО СЛОжения на сумматорах G и Н, г:ак показано в поле SHIFT кодов ми кр0команд на рис. 18.4. Любые другие сдвиги в АУО производятся умножитлем посредством умножения данногС числа на соответствующую степень чи«сла 2? запоминания либо содержимого регистра MPL для сдвига вправо, либо pR дая сдвига влево, либо содержимого всего регистра MP для 32-разряднь 1Х операндов. Для указания необходимой степени числа 2 имеются два опертора (RSP и LSP) , описанные в следующем разделе.

18.5.2. Операции специальных функций

Для повышения эффектрности алгебраической обработки массивов и арифметических операций с плавающей запятой имеется несколько специальных логических функций. ГяТЬ из эхих функций - унарные и называются RSP, DSCL, LSP, DECM и TE;sr Последний из операторов, называемый SIZE, дает разработчику микрокоманд возможность установить положение старшего разряда в массиве величин прошедших через регистр U, регистр V или полученных в результате ДизъоНКЦИИ содержимого этих регистров. :)Та функция полезна для групповых операций масштабирования чисел с главающей запятой. Логическая операцт 1Я JEST осуществляется с выходными результатами сумматора G, сумматор н или с их конкатенацией. Флажку Указывающие равно ли проверяемое чцсло нулю или оно меньше нуля, выведены из кристалла. Это средство подволяет ВЬШОлнять операции условного перехода по значению данных. Функц DECM выполняет 16-разрядное процеживание (разрядно-реверсивное) содерЖИМОГО регистра U с выдачей на ггшЫу XS. Эта функция полезна для вычиолсНИЯ аДресов при выполнении некоторых типов преобразований массивов ДнНых. Остальные функции описываются и иллюстрируются примерами в полеДуЮЩИХ подразделах.

Основой оператора LSP Шляется операция "сдвиг влево для нормализации". Результат дает значен т счетчика, указывающего на сколько позиций произвести сдвиг (DSCL) ц степень числа 2, необходимую для выполнения этого сдвига (IS?). Оператор jjgp обрабатывает содержимое 32фаз рядной регистровой пары UV: если зНачение U отрицательно, то для вычисления результата LSP берется допол1штельныи код цу. Значение DSCL - пятиразрядное и представляет величину от q до 3i . Результат операции LSf> определяется старшими разрядами, следуЮЩИМИ за знаком, до тех пор, покР величина сдвига меньше или равна 15 противном случае результат LSPRyfleT определяться по 16 младшим разрдам Пользователь может определить, *сакой случай имеет место, проверив \)SCL. Результат LSP выдается на шИнУ XS, а величина DSCL - на шину YS >1ерез такт после получения результата LSP.

В качестве иллюстрации использования этого оператора рассмотрим следующий пример . Предпол\)ЖИМ? чхо регистры U и V содержат мантиссу в ненормализованной дополш1тельиии форме со значением

1 Для удобства и большей НагЛЯдноети примеров формат АУО сокращу} вдвое, т. е. длина регистр013 составляет 8 Р%рЯДОВ> умножителя - 8 X 8 разрядов и т, д.


иV

0001101101101101

Два нуля, следующие за знаковым разрядом (положительным), указывают что для нормализации результата в регистре UV требуется сдвиг влево на два разряда. Следовательно, результат операции LSP будет равен 00000100, а DSCL - 2. Нормализация содержимого регистров U и V выполняется следующими шагами:

LSP.V:PP00000100 * 01101101 -

LSP * U:Р200000100 ♦ 00011011 -

MP >UV00000001 10110100

MPR + U >U01101100* .

01101101 10110100

которые дают правильно нормализованный результат.

Когда требуется сдвиг на полное слово или больше, результат LSP получа-ется из содержимого регистра V, а не U. Предположим, что в регистрах U и V задана мантисса

иV

0О000С0О 00010101

Те1юрьа знаком (положительным) следуют 10 нулей, которые означают, что ~ *U а величина Isp> полученная по содержимому регистра V имеет значение 00000100. Тогда шаги для нормализации будут такими- LSP * V • РР затем с соответствующей задержкой MPR - U и 0 ->V. Таким образом получим

LSP.V:PP00010101

00000100 00000000001010100

MPR

MPR -и. 0->V

Uv

0101010000000000

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

Во всех предыдущих примерах рассматривались положительные числа. Предположим теперь, что содержимое регистров U и V имеет вид

Uv

11110010 01010101

В этом случае оператор LSP предусматривает операцию дополнения значений U и V, так как значение U было отрицательно. Это дает следующий результат:

COMPL:0000110110101010

и применение рассмотренного ранее алгоритма дает DSCL = 3, LSP = 00001000. Если оператор LSP применить к обработке содержимого регистров U и V, как в первом примере, то получим

332

LSP * V РР00001000 * 01010101

LSP * V РР00001000 .11110010

MP > UV00000010 10101000

MPR + U -> U+ 10010000

10010010 10101000

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

Оператор RSP используется в основном для выравнивания двух чисел с плавающей запятой перед сложением. Предположим, что регистры U и V содержат мантиссу, a W - положительную разность порядков. Тогда вызов RSP вырабатывает оператор умножения, который даст требуемый сдвиг вправо. Например, если регистры U, V и W содержат

UVW

01001001 00100100 00000101

то требуемый сдвиг содержимого регистра UV вправо - пять разрядов, а RSP = 00001000. Операции выравнивания выполняются следующим образом:

RSP * U :Р200001000.01001001 --

RSP.VPP00001000*00100100 -

MP . UV00000010 01001000

MPL f V » V+00000001 *--

00000010 01001001

что является правильно сдвинутым результатом. Этот метод пригоден также при обработке чисел с отрицательными мантиссами. Однако содержимое регистра W считается положительной величиной от 0 до 15 (от 0 до 7 в нашем примере при уменьшенном формате). Если значение W выходит из указанного диапазона, то для учета этого факта необходимо внести изменения в микропрограмму.

18.5.3. Средства условного сдвига

Как уже упоминалось, во всех трех сумматорах, умножителе (MPL) и аккумуляторе U имеется дополнительный 17-й разряд, который обеспечивает проверку и коррекцию переполнения (1-разрядного) с помощью условного сдвига (CS). Этот дополнительный разряд позволяет корректировать переполнения, происшедшие в предыдущем цикле или на текущей операции. При переполнении значения 16-го и 17-го разрядов будут разными; в противном случае их значения будут одинаковыми. При выполнении сложения с условным сдвигом после операции сложения проверяется условие переполнения и при его наличии результат сдвигается на один разряд вправо. Условие переполнения фиксируется в регистре LGCO. Наличие 1 в этом регистре указывает на то, что сдвиг произошел, а 0 - что его не было. Таким образом, в следующем, за операцией CS цикле может быть сделано заключение о наличии или отсутствии сдвига. Представлены три случая, в которых используется операция CS. Первый - простая коррекция переполнения при сложении. Например,

333



0 ... 51 52 53 54 55 56 57 ... 78