В многофункциональных АЛУ операции для всех форм представления чисел выполняются одними и теми
же схемами, |
которые коммутируются нужным образом |
в зависимости от требуемого режима работы. |
Пример |
многофункционального АЛУ показан на |
рис. 5-8. Данное АЛУ содержит блок управления, регист-
Рис. 5-8. Многофункциональное АЛУ.
ры RG1 и RG2 и три сумматора SM1—SM3, которые мо гут объединяться попарно или все вместе с помощью кла панов К1 и К2,
При операциях над числами с фиксированной запя
той блок управления включает |
оба клапана |
К1 и К2 |
и сумматоры SM1—SM3 функционируют как один пол |
норазрядный сумматор. |
с плавающей |
запятой |
При операциях над числами |
включается клапан К2. При этом объединяются сумма торы SM2 и SM3, которые служат для обработки ман тисс. Сумматор SM1 служит для обработки порядков.
При выполнении операций над адресами команд (мо дификация команд) включается клапан К1, который объ единяет сумматоры SM1 и SM2.
В АЛУ с непосредственными связями сумматор, схе
мы для |
выполнения логических операций |
и сдвигов, |
а также |
схемы |
передач |
информации соединены непо |
средственно с |
выходами |
соответствующих |
регистров. |
При этом операнды, участвующие в микрооперации, сни маются с определенных регистров и результаты образу ются также в определенных регистрах.
В многорегистровых АЛУ с магистральной структу рой входы схем для выполнения сложения, логических операций и сдвигов соединены с магистральными шина ми, на которые с помощью коммутатора может быть под ключена информация с любого регистра АЛУ, а выходы
этой аппаратуры подключены через коммутатор ко вход ным цепям регистров. При этом операнды для выполне ния микроопераций могут быть взяты из любых регист
ров |
и результат |
также |
мо |
|
|
жет быть передан в любой |
|
Связь С ОЗУ |
регистр. |
|
|
|
|
|
Типичная структура АЛУ |
|
RG1 |
с непосредственными |
свя |
Управляю- |
|
зями |
и |
накапливающим |
іц и й |
RG3 |
сумматором |
показана |
на |
бло к |
___ L J ____ |
|
рис. 5-9. |
|
|
|
|
RGZ |
В состав АЛУ входят три |
|
|
триггерных регистра RG1— |
Рис. 5-9. АЛУ с накаплива |
RG3 и управляющий блок. |
ющим |
сумматором. |
Регистр RG1 имеет толь |
|
|
ко схемы приема |
и выдачи информации. Регистры RG2 |
RG3 имеют схемы приема, выдачи информации и схемы сдвига. Регистр RG3 одновременно является сумматором накапливающего типа. В RG3 также реализованы схемы выполнения поразрядных логических операций.
Рассмотрим выполнение в таком АЛУ команды сло жения для чисел с фиксированной запятой, осуществ ляющей добавление содержимого ячейки памяти, ука занной в команде, к содержимому сумматора RG3.
После чтения из ОЗУ и расшифровки кода операции команды и образования исполнительного адреса операнд из ячейки памяти с исполнительным адресом передается в регистр RG1. Управляющий блок в зависимости от со стояния знаковых разрядов регистров RG1 и RG3 воз буждает в сумматоре цепи сложения или вычитания. Це пи сложения возбуждаются, если знаки операндов в ре гистрах RG1 и RG3 одинаковы. Если знаки операндов разные, то возбуждаются цепи вычитания.
Если в процессоре отрицательные числа представле ны в прямом коде и в результате выполнения вычитания образовался дополнительный код (при вычитании из меньшего числа — большего), то от полученного резуль тата, включая знак, берется дополнительный код и в сум маторе образуется результат в прямом коде. На этом выполнение операции сложения в АЛУ заканчивается.
Аналогично выполняется команда вычитания, при реализации которой управляющий блок возбуждает це пи сложения в сумматоре при разных знаках операндов и цепи вычитания при одинаковых знаках.
При выполнении логических операций один |
операнд |
находится |
в регистре RG3, а затем |
второй передается |
в регистр |
RG1. Управляющий блок |
включает |
соответ |
ствующие схемы в регистре RG3, которые преобразуют его информацию в соответствии с выполняемой операци ей и содержимым регистра RG1. Выполнение операции умножения и деления состоит из последовательности микроопераций сложения и сдвига. При умножении мно жимое передается в регистр RG1, множитель — в регистр RG2, а регистр RG3 гасится.
В случае умножения по методу, начиная с младших разрядов множителя, умножение начинается с анализа младшего разряда регистра RG2. Если в младшем раз ряде находится единица, то содержимое RG1 прибавля ется к содержимому RG3 и производится сдвиг вправо на один разряд в регистрах RG1 и RG3. Если в младшем разряде RG2 записан нуль, то содержимое RG1 и RG3 сдвигается на один разряд вправо. Затем снова анализи
руется |
младший разряд регистра RG2. Таким образом, |
в ходе |
умножения в регистре RG3 накапливаются ча |
стичные произведения. После того как будут обработаны все разряды множителя в RG2, умножение завершается и в RG3 образуется произведение.
Перед выполнением операции деления делимое пере дается в регистр RG3, делитель — в регистр RG1, а ре гистр RG2 гасится. Деление начинается с вычитания со держимого регистра RG1 из содержимого регистра RG3, в результате которого образуется цифра частного, запи сываемая в младший разряд регистра RG2. Затем содер жимое регистров RG2 и RG3 сдвигается на один разряд влево и вновь производится вычитание.
В ходе выполнения деления регистр RG2 заполняется цифрами частного. Деление прекращается после образо
вания цифр частного во всех |
разрядах регистра |
RG2. |
Подробнее выполнение умножения и деления |
будет |
рассмотрено ниже. В данной структуре АЛУ регистр RG1 |
принято называть регистром |
множимого — делителя, |
а регистр RG2 — регистром множителя— частного. |
|
АЛУ, в котором используются потенциальные тригге ры, не имеющие счетного входа, может быть построено на четырех триггерных регистрах и сумматоре комбина
ционного типа SM |
(рис. 5-10). Три |
регистра |
RG1, RG2 |
и RG3 выполняют |
описанные выше |
функции, |
а четвер |
тый регистр RG4 служит для промежуточного запомина
ния результатов при выполнении операций сложения и сдвига. При выполнении операции сложения слагае мые располагаются в регистрах RG1 и RG3, а результат образуется в регистре RG4. Затем, в случае необходимо сти накопления результата сложения, он передается из
|
|
Связь с ОЗУ |
|
J |
U |
___ |
|
|
RG1 |
|
|
I |
|
|
Управля |
R62 |
|
|
ющий |
|
>SM |
|
блок |
Я в ¥ |
|
Г' |
|
|
|
|
lL |
RG3 |
|
|
1 |
|
|
Рис. 5-10. АЛУ с комбинационным сумматором и дополнительным регистром.
регистратора RG4 в регистр RG3. Для выполнения опера ции сдвига в любом из регистров его содержимое сначала передается в регистр RG4, а затем передается из регист ра RG4 в данный регистр со сдвигом. При такой струк туре АЛУ множитель и частичные произведения при вы полнении умножения или частичные разности и частное при выполнении деления не могут сдвигаться одновре менно, так как для хранения промежуточных результа тов сдвига имеется только один регистр.
Для того чтобы при выполнении операций умноже ния и деления сдвиг выполнялся одновременно в двух регистрах, в данной структуре АЛУ должен быть еще один дополнительный регистр RG5 (рис. 5-11). При та ком построении АЛУ дополнительный регистр RG5 рабо тает в паре с регистром RG3, в котором хранятся ча стичные произведения и частичные разности, и использу ется для промежуточного запоминания результатов сложения и сдвига. Второй дополнительный регистр RG4 работает в паре с регистром RG2, в котором хра нятся множимое и разряды частного. Регистр RG2 так же используется для промежуточного запоминания ре зультата при сдвигах.
Рассмотренная структура АЛУ требует большого ко личества регистров, но позволяет проектировать АЛУ на простых и надежных триггерах потенциального типа. Кроме того, при данной структуре АЛУ легко осуществ ляется совмещение по времени операций сложения и сдвига, так как передача результата сложения из ре-
Связь с ОЗУ
Р |
и с . |
5-11. |
|
А Л У |
с |
к |
о |
м б и н а ц и о н н ы м |
с у м |
м |
а т о р о м |
и |
д в у |
м я |
д о п о л н и т е л ь н ы м и |
р е г и |
|
|
|
|
|
с т |
р а |
м |
и . |
|
гистра RG5 в регистр RG3 может осуществляться не пря мо, а со сдвигом. Совмещение по времени операций сло жения и сдвига происходит без дополнительных затрат
оборудования, так как передача |
результата |
сложения |
в регистр RG3 может выполняться по цепям, используе |
мым для сдвига информации в регистре RG3. |
микропро |
В последнее время в связи с |
развитием |
граммных процессоров широко используют АЛУ с ма гистральной структурой, блок-схема которого показана на рис. 5-12. В состав АЛУ входят четыре триггерных ре гистра RG1—RG4, коммутатор СМ, сумматор SM, сдвигатель и управляющий блок.
В таком АЛУ регистры обычно служат только для хранения информации и их входные цепи содержат толь ко схемы, обеспечивающие прием информации в регистр. Коммутатор СМ может подключать на выходную магист раль любой из регистров АЛУ. На один из входов сум матора SM подан выход коммутатора СМ (выходная м-а-
гистраль), а на второй вход — выход регистра RG1. Таким образом, операция сложения может выполняться над содержимым регистра RG1 и содержимым любого другого регистра.
Выходы коммутатора СМ и сумматора SM поданы на вход сдвигателя, который реализует либо прямое под-
Связь с ОЗУ
Р и с . |
5-12. А Л У |
с |
м а г и с т р а л ь н о й |
с т р у к т у р о й . |
ключение выходов СМ или SAf ко входной магистрали, либо подключение со сдвигом. С входной магистрали ин формация может быть принята в любой регистр АЛУ.
Управляющий блок вырабатывает сигналы включе ния логических схем коммутатора СМ, сумматора SA4, сдвигателя и приемные сигналы, управляющие переда чами информации в регистры. При такой структуре АЛУ логические операции могут выполняться либо в суммато ре, либо логическими схемами, подключенными ко вхо дам регистров.
В некоторых АЛУ с магистральной структурой оба входа сумматора соединены с регистрами через отдель ные коммутаторы. Такая структура АЛУ требует по сравнению со схемой на рис. 5-8 дополнительного ком мутатора, но позволяет производить операции сложения и логические операции над операндами, расположенны ми в любых регистрах, не размещая предварительно один из операндов в фиксированном регистре.
В АЛУ с непосредственными связями выполнение микрооперации требует, как правило, формирования лишь одного функционального сигнала. Например, при выполнении микрооперации передачи информации из одного регистра в другой вырабатывается приемный сиг нал поступающий на соответствующие логические схемы
приемного регистра.
В АЛУ с магистральной структурой выполнение мик рооперации требует формирования нескольких функцио нальных сигналов. Например, для выполнения микро операции передачи информации из регистра RG1 в ре гистр RG2 (рис. 5-12) требуется возбудить сигнал под ключения RG1 к коммутатотору СМ, сигнал на возбуж дение прямой передачи в сдвигателе и сигнал приема в RG2.
Рассмотрим процедуру выполнения команд сложения и вычитания в АЛУ с магистральной структурой. Перед выполнением сложения или вычитания один из операн дов находится в аккумуляторе, функции которого выпол няет, например, регистр RG3, а второй операнд передает
ся из памяти в регистр |
RG1. Затем |
RG3 подключается |
к сумматору SM, в котором в зависимости от выполняе |
мой операции и знаков |
операндов |
возбуждаются цепи |
сложения или вычитания, а в сдвигателе возбуждается сигнал подключения выхода сумматора без сдвига кода и после установления переходных процессов возбужда ются приемные схемы регистра RG2.
Следующая микрооперация осуществляет передачу информации из регистра RG2 в аккумулятор RG3. Если отрицательные числа в процессоре представлены в пря мом коде и в результате вычитания образовался допол нительный код (при вычитании из меньшего числа боль шего), то передача из регистра RG2 в RG3 производится
спреобразованием дополнительного кода в прямой. Операции умножения и деления обычно выполняются
спомощью последовательных микроопераций и сдвига.
5-5. М Е Т О Д Ы В Ы П О Л Н Е Н И Я У М Н О Ж Е Н И Я
Умножение в вычислительной машине обычно сводит ся к последовательности операций прибавления множи мого к сумме уже ранее вычисленных частичных произ ведений и сдвига получаемых сумм вправо на один раз ряд. Код множителя разряд за разрядом подается на элемент схемы, проверяющий наличие в поданном раз
ряде 1 или 0. Если |
в данном разряде стоит 1, произво |
дится прибавление |
кода множимого к сумме, стоящей |
в сумматоре. Затем |
производится сдвиг новой суммы |
вправо на один разряд. Если в данном разряде множи теля стоит 0, прибавление множимого не производится, а лишь выполняется сдвиг кода сумматора вправо на один разряд. Следует отметить, что произведение двух п-разрядных чисел может иметь 2п значащих разрядов. В ЦВМ, работающих с дробными числами, младшие п разрядов произведения часто отбрасываются.
Знак произведения получается в результате пораз рядного сложения знаков сомножителей. Если, как это показано в табл. 5-1, сомножители имеют одинаковые знаки, то произведение получается положительным, если знаки сомножителей разные, то знак произведения будет отрицательным. Таблица 5-1 справедлива и для образо вания знака частного при делении.
Знак множимого |
, |
Знак множителя |
Т а б л и ц а 5-1 |
Знак произведения |
(делимого |
І |
(делителя) |
(частного) |
+ |
+ |
+ |
+ |
— |
— |
— |
— |
+ |
+ |
|
— |
Сказанное |
иллюстрируется следующим |
примером: |
„1.101001 |
Множимое(—0,10101) |
|
х0,0101 |
Множитель(-КЬ0101) |
|
Ч |
Определение кода знака произведения |
1, |
|
|
1 0 0 0 0 0 0
101001
1 0 1 0 0 1
10 1 0 1 0 0
^1 0 1 0 0 1
1 1 1 1 0 1
0 1 1 1 1 0
0 0 1 1 1 1
т1 0 1 0 0 1
1 1 0 0 0 0
0 1 1 0 0 0
0 0 1 1 0 0
1 , 0 0 1 1 0 0
Продолжение
|
|
|
|
|
|
|
|
|
|
|
У с т а н о в к а |
н у л я |
в с у м м а т о р е . П р и б а в л е н и е |
м н о |
ж и м о г о к к о д у с у м м а т о р а |
|
( в ш е с т о м р а з р я д е |
м н о ж и т е л я с т о и т 1 ) |
|
|
|
|
|
|
|
С д в и г |
к о д а |
с у м м а т о р а |
в п р а в о |
н а |
о д и н |
р а з р я д . |
П р и б а в л е н и е |
м н о ж и м о г о |
к |
к о д у |
с у м м а т о р а |
( в п я т о м |
р а з р я д е , м н о ж и т е л я с т о и т |
|
1 ) |
|
|
С д в и г |
к о д а |
с у м м а т о р а |
в п р а в о |
н а |
о д и н р а з р я д . |
П р и б а в л е н и е |
м н о ж и м о г о |
|
н е |
п р о и з в о д и т с я |
( в ч е т в е р т о м р а з р я д е м н о ж и т е л я с т о и т 0 ) |
|
|
С д в и г |
к о д а |
с у м м а т о р а |
в п р а в о |
н а |
о д и н р а з р я д . |
П р и б а в л е н и е |
м н о ж и м о г о |
|
н е |
п р о и з в о д и т с я |
( в т р е т ь е м р а з р я д е м н о ж и т е л я с т о и т 0 ) |
|
|
С д в и г |
к о д а |
с у м м а т о р а |
в п р а в о |
н а |
о д и н р а з р я д . |
П р и б а в л е н и е |
м н о ж и м о г о |
к |
к о д у |
с у м м а т о р а |
( в о в т о р о м р а з р я д е м н о ж и т е л я с т о и т 1 ) |
|
|
С д в и г |
к о д а |
с у м м а т о р а |
в п р а в о |
н а |
о д и н |
р а з р я д . |
П р и б а в л е н и е |
м н о ж и м о г о |
|
н е |
п р о и з в о д и т с я |
( в п е р в о м р а з р я д е м н о ж и т е л я с т о и т 0 ) |
|
|
С д в и г |
к о д а |
с у м м а т о р а |
в п р а в о |
н а |
|
о д и н |
|
р а з р я д |
П р о и з в е д е н и е ( — 0 , 0 0 1 1 0 0 ) |
|
|
|
|
|
|
Для выполнения умножения АЛУ должно содержать как минимум три регистра: регистр, в котором находит ся множимое, регистр, в котором находится множитель, и регистр, в котором в процессе выполнения умножения накапливаются частичные произведения (будем назы вать его сумматором частичных произведений).
В зависимости от схем этих регистров возможны че тыре метода выполнения умножения (рис. 5-13).
1. Умножение начиная с младших разрядов множит ля при неподвижном множимом.
М нож имое леред началом ім оолненин ум нож ения
Множ имое oefleâ началом â i/лолнения ум нож ения
Р и с . 5 - 1 3 . М е т о д ы в ы п о л н е н и я у м н о ж е н и я .