Файл: Корнейчук В.И. Арифметические устройства ЭЦВМ учеб. пособие.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.07.2024
Просмотров: 96
Скачиваний: 0
010 I
0101 I
О І О І І 1
О К Н О |
I |
,0101100 І
[сдв.О |
1 ІД Ш ІІ0 І |
0 |
01000000 |
ООН |
||
ЗТ і |
+У |
00.00000101 |
I |
|
|
|
1 |
00,00000010 I |
|
|
|
||
[ с д в.2 |
00,00001010 I |
00000000 |
0100 |
|||
•11 |
- У |
П . І Ш С І О І |
I |
|
|
|
L |
00,00000000 0 |
|
|
|
||
5T ' |
с д в .2 |
00,00000000 0 |
00000000 |
0101 |
||
- У |
П Д І І О І С О І |
I |
|
|
||
L |
|
Л . І І І О І О О І |
I |
|
|
|
г с д в .2 |
11,10100110 0 |
О О С О О О О О |
О |
Н О |
||
‘'T < |
+У |
і С . О О І О І І О І |
I |
|
|
|
; |
с :д в .2 |
І І Д0І С 01І |
I |
OOOCOUtt |
О |
Ш |
? т | |
11,01001110 0 |
|||||
+У |
CO.GIOIIOOI |
I |
|
|
|
|
|
|
И Д 0 І С 0 І І 1 |
I |
|
|
|
PucS.2-2
5.2 . ГЕНЕГАТОГи СЛУЧАЙНЫХ ЧДСЕЛ_________[1±
В настоящее время нашли широкое распространение методы решения задан по способу статистических испытаний. Для реализации этих методов необходим источник случайных чисел с заданным законом распределения. Случайные числа с задан ным законом распределения вероятностей обычно получают из случайной величины с равномерным распределением. Для фор мирования указанной случайной величины во многих ЦВМ имеется специальный блок,получивший название генератора случайных чисел /ГСЧ/. Основным узлом,на базе которого строятся ГСЧ,является одноразрядный датчик ату чайных чисел. Датчик случайного чиапа состоит обычно из компаратора и датчика случайного напряжения, в качестве которого может быть использована шумящая электронная лампа с линейным усилителем. В дигкретпые моменты времени напряжение на вы ходе датчика случайного напряжения с помощью компаратора сравнивается с некоторым пороговым напряжением. Если поро говое напряжение выше напряжения на віасоде датчика случай ного напряжения,то формируется І ,а в противном случае -0 . Для генерирования случайной величины с равномерным распре делением необходимы датчики,выдающие 0 и I с равной вероят ностью, Уравнивание вероятностей 0 и I осуществляется с
- 90 -
помощью регулировки порогового. Однако под влиянием дестабилизирующих факторов как пороговое напряжение,так и параметры датчика случайного напряжения и компаратора могут изменяться. Для компенсации указанного изменения применяют ся специальные логические способы уравнивания вероятностей генерирования 0 и I . Один из них состоит в многократном генерировании случайных цифр /р и с .5 .2 -1 /. Пусть ѴѴявляется вероятностью появления 0 на выходе компоратора. Узлы в схе ме соединены таким образом,что в первом вспомогательномтакте /ІТ2=0/ триггер ТІ устанавливается в какое-либо сос
тояние, а во втором такте /ІТ 2= І/ |
происходит выдача случай |
||
ной цифры. Причем выдача происходит только в том случае, |
|||
если в первом и втором тактах на выходных |
шинах компаратора |
||
появились разные цифры. При этом |
выдача О |
/ I / |
осуществляет |
ся, если в первом такте на выходе |
компаратора |
была I /О /. |
Отсюда еле,дует,что пара цифр,появившихся в первом и втором тактах,и соответствующие ши верояфности образуют ряд
|
|
00 |
- |
|
|
|
01 |
- |
VJ(1~ W) , |
|
|
10 |
- |
( 1 - w ) w . |
|
|
n |
- |
( 1 - w f . |
Следовательно,вероятность выдачи 0 равна вероятности |
||||
выдачи I |
и |
эти вероятности рагны VJ / I - IV / , а вероятность |
||
невыдачи |
цифры равна |
|
|
|
|
|
Wz +(f~ W)z ~ i - 2 W + 2 WZ, |
||
что при |
W =j- равно -L |
|
,т .е . для генерирования одной слу |
|
чайной цифры требуется примерно 4 такта. |
||||
На базе одноразрядных датчиков случайных цифр /ОДСЦ/ |
||||
строятся |
п |
-разрядные |
ДСЧ. При этом возможно два противо |
положных варианта формирования случайных чисел /СП/: после довательный /р и с .5 .2 -2/ и параллельный /р и с .5 .2 -3 /. Преимущество первогоэкономичность,а второговысокое быстродействие.
Задача. Разработать ДСЦ для десятичной системы счисления.
- 9 1 -
5 .3 . |
БЛОКИ ПРЕОБРАЗОВАНИЯ |
ЧИСЕЛ |
ИЗ ОДНОЙ СИСТЕМЫ СЧИСЛЕ |
|
НИЯ в |
д р у г у ю _________л . |
3 5 . |
а с / |
|
|
|
|
к |
|
Как известно,оолее |
50;» всех |
ЦШ райотаіот в двоичной |
системе счисления. Исходные же и конечные данные задачи должны быть представлены в .форме,удобной для их анализа,
т .е . как |
правило,в десятичной системе счисления. Поэтому |
в случае |
использования ЦВМ, работающей только в двоичной |
системе счисления,возникает задача в преобразовании чисел из десятичной системы в двоичную и обратно. Как и многие другие операции операция преобразования кодов чисел может выполняться как схемно.так й программно. В свою очередь, схемная реализация операции перевода выполняется.в двух разновидностях. П первом случае блок преобразования кодов чисел /ЕЛК/ является частью АУ и используёт~ѳгсГосновноѳ оборудование /регистры и сумматор/. Во втором случае ВПК выполняется обособленно и не использует никакого оборудо вания АУ. В этом случае ВПК включается в работу во врем обмена информацией между ЦВМ и внешними устройствами. При этом АУ ЦВМ высвобождается и появляется возможность совме щать решение одной задачи с подготовкой данншс'для’ вводавывода другой задачи.
Наибольшее распространение в ЦВМ нашел метод преобра зования путем сдвига и коррекции. В основе этого метода лежат операции умножения и деления на 2. В двоичной сис теме эти операции сводятся к обычному сдвигу на один раз ряд влево или вправо. В десятичной системе кроме сдвига необходима коррекция результата. Рассмотрим сначала деле
- 9 2 -
ние.Предположим,что десятичное число представлено двоич но-десятичным кодом с весами /8 ,4 ,2 ,1 /,т .е . десятичные цифры представляются обычным двоичным кодом. Поэтому
сдвиг двоичных цифр,представляющих |
данную десятичную |
циф |
ру, на один разряд вправо уменьшает |
данную десятичную |
шиф |
ру в два раза. Так обстоит дело,если в данную тетраду нет |
||
переноса из соседнего старшего десятичного разряда.Бели |
же в старшей тетраде до сдвига было нечетное |
число,то |
при |
|
сдвиге вправо /т.е.делении на 2 / |
единицы |
старшего |
раз |
ряда |
переносится в младший разряд и должна быть воспринята |
||||
в |
нем как |
5. Однако |
указанная 1 переноса, вес |
которого равен |
|
8, |
а |
не 5, |
попадает |
в старший разряд тетрады. |
Поэтому |
для получения правильного результата необходимо уменьніЯть содержимое этой тетрады па 8-5=3 единицы. Например
296=0010 ІОСІ ОНО, сдвиг 0001 0100 Ю Н,
коррекция*»- о t - o ' L s
0001 0100 1000=148= --296.
2
Таким образом,для деления десятичного числа на 2 необ ходимо сдвинуть двоично-десятичный код данного числа на один разряд вправо и вычесть 3 из тех тетрад,в старших р а з рядах которых после сдвига оказались I .
Рассмотрим теперь удвоение десятичного числа,представ ленного кодом с избытком 3. Использование такого кода поз воляет значительно упростить цепи коррекции. При сдвиге на один двоичный разряд каждая десятичная цифра увеличивается в два раза. Следовательно, код уже будет с избытком 6 и для получения кода с избытком 3 надо во всех тетрадах вычесть тройки. Так как цифры больше 5 в коде с избытком 3 будут представляться двоичным кодом > 8 , то добавление I в старшую тетраду при удвоении происходит путем сдвига /переноса/ I из старшего разряда данной тетрады в младший разряд сле дующей тетрады. При этом содержимое данной тетрады надо уменьшить на ІѲ / т .е . на I старшей тетрады/,но из-за того, что I старшего разряда данной тетрады перешла в младший
- 9 3 -
разряд следующей тетрада,вес которого в двоичном коде ра вен 16,фактически произошло уменьшение кода данной тетра ды на 16 единиц. Следовательно,для коррекции результата в данную тетраду надо добавить 16-10=6 единиц. Две описан
ные коррекции при удвоении можно объединить в одну, а имен но: если переноса из данной уетрады в старшую тетраду не было,то содержимое данной тетрада уменьшается на 3 едини
цы,если же перенос бнл-то увеличивается на -3*6=3 единицы,
Л
Например
296 = 0010 1001 ОНО, код с избытком 3 0101 1100 1001 , сдвиг (0)1011 1001 0010,
коррекция
|
+3 |
+3. |
результат в коде |
с |
|
избытком 3 |
1000 1100 0101, |
|
код ,с весом |
|
|
8, 1,2,1 |
0101 1001 |
0010 = 592 = 2 296. |
Таким образом умножение и деление на 2 сводится к лево му itли правому сдвигу на один разряд и коррекции результа та путем добавления или вычитания троек.
Рассмотрим теперь алгоритмы преобразования чисел путем сдвига и коррекции. Дробные и целые части чисел преобра зуются fio разному.
Преобразовать десятичную дробь в двоичную можно путем
умнож нл$| на два и анализа I |
переполнения. Например |
|
|||
11/16=0,6875=,ОНО 1000 ОІИ 0101 |
|
|
|
||
код с избытком 3 ,1001 ЮН |
1010 1000 |
|
|
|
|
PZ- N/ |
|
PX |
|
|
|
o .o o o i.................................................. |
д о о і |
i o n |
io io |
ieoo |
но |
0,0011.................................... |
ООП ОІИ 0101 0000 Сдв. |
||||
|
+11 |
+11 |
+ІІ |
+ІІ |
Кор. |
|
,0110 |
1010 ІОСО ООП |
|
||
0,0110................................... |
ДЮ І |
0101 0000 ОНО Сдв. |
|||
' |
- I I |
+П |
+11 |
- I I |
Кор. |
- 9 4 -
|
,1010 1000 |
ООП ООН |
0,1101................................. |
,0101 0000 ОНО ОНО Сдв. |
|
|
П І +11 |
- II - II Кор. |
|
,1000 ООП ООП ООП |
|
П О П ................................... |
0000 ОНО ОНО ОНО Сдв. |
1 _ _ ___________________________________ _ ко
,1уін реализации данного алгоритма необходимо иметь два сдвиговых регистра /дноичный и десятичный/ и цепи коррек ции, которые по аппаратурным затратам примерно равноценны сумматору,однако, значительно превосходят его по быстродеиот вию из-за отсутствия .цепей сквозного переноса. При этом регистры соединены так,что ци^ры со старшей тетрады,выд вигаемые с десятичного регистра при сдвиге, вдвигаются в младший разряд двоичного регистра.
Преобразовать десятичное целое число можно путем деления его на 2 и анализа остатка. Например
75=0111 0101
|
РХ |
|
НО |
О Ш |
0101 |
Сдв. СОИ |
ТОЮ |
|
Кор. |
-СС |
II |
|
ООП |
О Ш |
Сдв. |
0001 |
ю н |
Кор. |
-00 |
- II |
|
0001 |
1000 |
Сдв. 0GC0 |
н е о |
|
Кор. |
-00 |
- II |
|
0000 |
1001 |
Сдв. |
0000 |
CI00 |
Кор. |
-00 |
-00 |
|
0000 |
0100 |
Сдв. |
0000 |
сою |
Кор. |
-00 |
-00 |
Сдв. |
0000 |
OOCI |
Кор. |
-00 |
-со |
|
0000 |
0001 |
Сдв. С000 |
0000 |
|
КО—------- |
|
MI РІ 1000000,0 1100000,0
IIIOOCO.O
0111000,0
1011100,0
ОІОПІО.О
ÜOIOIII.O
ІООІОІІД
_________________У
- У5 -