Преобразователь форматов данных
Иллюстрации
Показать всеРеферат
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (sl)s Н 03 М 7/12
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР
"88
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
6иг.7 (21) 4737089/24 (22) 24,07.89 (46) 23,04.92. Бюл. N. 15 (71) Институт кибернетики им. В.M.Ãëóøêîaà (72) В.П.Боюн, Б,Н.Малиновский, B.Å,Ðåóöкий и М.Е.Урсу (53) 681.325 (088.8) (56) Авторское свидетельство СССР
N717755,,кл. Н 03 М7/12,,1977.
Авторское свидетельство СССР
N 1290535, кл, Н 03 М 7/12, 1987. (54) ПРЕОБРАЗОВАТЕЛЬ ФОРМАТОВ
ДАННЫХ б
„„. Ж„„1728971 А1 (57) Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении устройств согласования ЭВМ с различными форматами представления данных. Целью изобретения является повышение быстродействия преобразователя. Это достигается тем, что преобразователь форматов содержит блок 1 управления нормализацией, блок 2 формирования характеристики и блок 3 формирования мантиссы, содержащий группу последовательно соединенных элементов
ПЗУ, обеспечивающих сдвиг мантиссы на один, два или три разряда в зависимости от кода формируемого блоком 1 управления нормализацией. 1 з.п. ф-лы, 2 ил..3 табл.
1728971
Изобретение относится к цифровой вычислительной технике и может быть использовано при построении устройств согласования ЭВМ с различными форматами представленных данных.
Целью изобретения является повышение быс родействия.
На фиг,1 приведена блок-схема преобразователя форматов; на фиг,2 — функциональная схема блока формирования мантиссы.
Преобразователь форматов содержит (фиг.1) блок.1 управления нормализацией, блок 2 формирования характеристики, блок
3 формирования мантиссы, входы мантиссы характеристики 4 и знака числа 6, выходы мантиссы 7, характеристики 8, переполнения 9 и знака числа 10, Блок формирования мантиссы (фиг.2) содержит программируемые постоянные запоминающие устройства (ППЗУ) 11 — 16, Блок 1 управления нормализацией выполнен на ППЗ.У.
Принцип построения и работу предлагаемого преобразователя рассмотрим на примере преобразования формата данных
ЕС ЭВМ в формат ЭВМ СМ-4, Формат шестнадцатеричных чисел .с плавающей запятой (модели ЕС Э ВМ) представляются следующим образом: 1 разряд— знак числа, 7 разрядов — характеристика, 24 разряда — мантисса.
Основание системы счисления в этом формате принято равным 2 = 16, поэтому
4 нормализация чисел осуществляется с точностью до одной тетрады.
Порядок чисел представляется увеличенным на 2 = 64, т.е. смещенным на чис6 ловой оси в положительном направлении на
6 разрядов, в результате чего все порядки положительны и являются характеристиками, Положительные и отрицательные числа в шестнадцатеричном формате в оперативной памяти хранятся в прямом коде. Знак числа определяется по значению двоичной цифры в знаковом разряде, Диапазон представления нормализованных шестнадцатеричных чисел (по абсолютному значению) определяется пределами от 16 до 16
Двоичные числа с плавающей запятой в двоичном формате (модели СМ-3, СМ-4 и др,) представляются следующим образом: 1 разряд — знак числа, 8 разрядов — характеристика, 23 разряда — мантисса, Основание системы счисления в этом формате принято равным двум, поэтому нормализация чисел осуществляется с точностью до одного разряда.
Порядок чисел представляется увеличенным на 2 = 128, т.е. смещенным на числовой оси в положительном направлении на
7 разрядов, в результате чего все порядки положительны и являются характеристиками, Положительная мантисса представляется в прямом коде со знаковым разрядом, равным нулю. Отрицательная мантисса представляется в дополнительном коде со знаковым разрядом, равным единице, Старший (первый) разряд нормализованной мантиссы отсутствует как не несущий информации: он всегда равен единице для положительного числа и нулю для отрицательного числа. Равенство нулю мантиссы распознается по нулевому значению характеристики, Диапазон представления нормализованных двоичных чисел (по абсолютному значению) находится в пределах от 2 до
+127
2, т.е, значительно уже, чем диапазон представления чисел в шестнадцатеричном формате.
Преобразователь работает следующим образом.
При подключении входного числа на входы преобразователя (фиг.1) разряды характеристики входного числа поступают соответственно на входы блока 2 формирования характеристики, разряды мантиссы входного числа — на входы блока
3 формирования мантиссы, разряды 4 — 44 мантиссы входного числа — также на входы блока 1 управления нормализацией.
Число, нормализованное во входном формате с шестнадцатиричным основанием, может оказаться ненормализованным в выходном формате с двоичным основанием, поэтому по значению разрядов 4 — 44 мантиссы осуществляется контроль нормализации блоком 1, функции которого иллюстрируются данными табл.1.
Табл,2 истинности схемы формирования управляющих сигналов условно разбита
;".а три колонки. Первая. колонка соответствует сигналам на входах блока 1 управления нормализацией, которые по отношению к
ППЗУ являются адресами соответствующих ячеек памяти. Вторая колонка соответствует сигналам на первом выходе блока 1, Логический ноль означает, что мантисса входного числа равна нулю, а логическая единица указывает на ненулевую мантиссу входного числа. Третья колонка соответствует сигналам на двух других выходах (первом и втором выходах сдвига блока 1). Код 00 означает, что мантисса входного числа оказалась сразу нормализованной в формате с двоичным основанием, коды 11, 10 и 01 оз1728971 начают, что мантиссу входного числа необходимо сдвинуть соответственно на один, два или три разряда влево, Код, поступающий с выходов сдвига блока 1 соответственно на входы ППЗУ 11—
16 (фиг.2) блока 3 формирования мантиссы, совместно со значениями сигналов, поступающими соответственно на входы 4, выбирают соответствующие ячейки памяти, содержимое которых передается на ьыход преобразователя как преобразованная мантисса.
Разряд 11 адреса содержит двоичное значение сигнала переноса, поступающего с первого выхода предыдущего ППЗУ. Разряд 10 адреса содержит двоичное значение сигнала, поступающего с входа знака преобразователя. Разряды 8 и 9 адреса содержат двухразрядные двоичные коды, показывающие на сколько разрядов необходимо сдвинуть мантиссу входного числа влево, В разрядах 1 — 7 адреса размещены логические единицы и нули, соответствующие всевозможным значениям сигналов, поступающих на входы 4 ППЗУ блока 3 формирования мантиссы.
При преобразовании мантиссы положительного входного числа (нулевое значение разряда 10 адреса 1) для кода 00 разрядов
8 и адреса содержимое разрядов 2 — 5 ячеек памяти ППЗУ 11 — 16 и представляет собой двоичные коды, повторяющие кодовые комбинации соответственно разрядов 1 — 4 адреса, что означает передачу без изменений нормализованной в формате с двоичным основанием входной мантиссы на выход преобразователя, Для кода 11 разрядоз 8 и 9 адреса содержимое разрядов 2 — 5 ячеек памяти ППЗУ представляет собой двоичные коды, повторяющие кодовые комбинации соответственно разрядов 2 — 5 адреса, что означает передачу сдвинутой на один разряд влево входной мантиссы на выход преобразователя. Для кода 10 разрядов 8 и
9 адреса содержимое разрядз 2 — 5 ППЗУ представляет собой двоичнь е коды, повторяющие кодовые комбинации соответственно разрядов 3 — 6 адреса, что означает передачу сдвинутой на два разряда влево входной мантиссы на выход преобразователя. Для кода 0 1 разрядов 8 и 9 адреса содержимое разрядов 2 — 5 ячеек памяти
ППЗУ представляет собой двоичные коды, повторяющие кодовые комбинации соответственно разрядов 4 — 7 адреса, что означает передачу сдвинутой на три разряда влево входной мантиссы на выход преобразователя. Для положительной входной мантиссы значение первого разряда содержимого ячеек памяти ППЗУ, являющегося сигналом переноса, равно нулю.
Отрицательная мантисса во входном формате должна быть представлена в вы5 ходном формате в дополнительном коде со знаковым разрядом, равным единице, поэтому по единичному значению знака входного числа на выход мантиссы преобразователя передается содержимое
10 ППЗУ 11 — 16. Получение дополнительного кода осуществляется по правилу: все нули и первая встретившаяся единица при просмотре мантиссы входного числа справа налево передается без изменений, остальная
15 же часть мантиссы инвертируется.
Нулевое значение первого разряда содержимого ячейки, поступающее на вход 11 последующего ППЗУ, означает, что предыдущим ППЗУ обнаружены одни нули и что
20 последующее ППЗУ должно выдать дополнительный код соответствующей входной тетрады. Единичное значение первого разряда содержимого ячейки означает, что предыдущим ППЗУ обнаружена первая еди25 ница и им выдан дополнительный код сдвинутой на соответствующее количество разрядов входной тетрады и что последующее ППЗУ должно выдать инверсный код соответствующей тетрады.
30 Единичное значение первого разряда содержимого ячейки означает, что предыдущим ППЗУ выдан дополнительный или инверсный код соответствующей тетрады и что последующее ППЗУ должно выдать ин35 версный код соответствующей тетрады.
Вычитание единиц из характеристики входного числа, обусловленное сдвигами мантиссы, осуществляется блоком 2 формирования характеристики, который предстаа40 ляет собой программируемое постоянное запоминающее устройство, запрограммированное в соответствии с табл.2. Условно табл.2 разбита на три колонки, Логические единицы и нули в разрядах 1 — 10 колонки 1
45 представляют собой по отношению к ППЗУ адрес соответствующей ячейки памяти. Логические единицы и нули в каждой из колонок 2 и 3 представляют собой запрограммированное содержимое ячеек
50 памяти, Для упрощения табл,2 разряды 8—
10 колонки 1 занимают горизонтальное положение. Единичное значение разряда 10 колонки 1 указывает на ненулевое значение входной мантиссы и разрешает передачу
55 преобразованной характеристики на выход преобразователя. Нулевое же значение разряда 10 колонки 1 указывает на ненулевое значение мантиссы входного числа, выбирает область памяти ППЗУ, содержащую нули, и выдает, таким образом, на выход преобра1728971 зователя нулевую характеристику. Разряды
8 и 9 колонки 1 содержат двухразрядные двоичные коды, показывающие сколько единиц необходимо вычесть из характеристики. B разрядах 1 — 7 колонки 1 размеще- 5 н ы логические единицы и нули, соответствующие всевозможным значениям сигналов, поступающих на входы 1 — 7
ППЗУ, Для кода 00 разрядов 8 и 9 колонки 1 " содержимое разрядов 2 — 7 ячеек памяти
ППЗУ (колонка 2) представляет собой двоичные коды, повторяющие кодовые комбинации соответственно разрядов 1, 3, 4, 5, 6, и
7 колонки 1, что означает передачу без из15 менений характеристики на выход преобразователя, нормализованной в формате с двоичным основанием входной мантиссы.
Для кодов 11, 10 и 01 колонки 1 содержимое разрядов 2 — 7 ячеек памяти ППЗУ (колонка
3) представляет собой уменьшенные на единицу двоичные коды, соответствующие разрядам 1, 3, 4, 5, 6 и 7 колонки 1, что означает передачу совместно с выходами 2 и 3 блока
1 формирования управляющих сигналов уменьшенной на соответствующее число
25 нулевое значение разряда 1 колонки 2 передается на выход9 переполнения преобразователя. Сигнал переполнения формируется также и для характеристики 0100000, если мантисса не нормализована в выходном
40 формате (колонка 3), так как вычитание единиц приводит к выходу числа за пределы представления. Аналогично для характеристики 1100000, если мантисса не нормализована (колонка 3), сигнал переполнения не вырабатывается, так как вычитание единиц из характеристики приводит к тому, что число окажется внутри диапазона представления.
Знак мантиссы по выходу совпадает со
55 знаком входного числа, поэтому однозначно отображается через знаковый разряд
MBHTMCCbl HB выход.
В табл,3 приведено несколько примеров преобразования форматов данных. единиц характеристики на выход преобразователя.
Второй разряд входной характеристики, имеющий вес 10 = 2, не использует- 30 ся, так как диапазон представления чисел в исходном формате с шестнадцатиричным основанием значительно шире, чем возможное представление чисел в формате с двоичным основанием, при этом наличие в 35 разрядах 1 и 2 колонки 1 двух нулей или двух единиц свидетельствует о том., что число не может быть преобразовано в выходной формат, поэтому в такой ситуации
Преобразование 16 - и 64-разрядных форматов данных осуществляется аналогично изложенному, при этом количество ППЗУ блока 3 формирования мантиссы должно быть уменьшено до трех или увеличино до двенадцати.
Таким образом, преобразование форматов данных с плавающей запятой в предлагаемом преобразователе, представляющем собой комбинированную схему, осуществляется за один такт, бвстродействие при этом определяется задержками. ППЗУ, Формула изобретения
1. П реоб разо вател ь форматов дан н ых, содержащий блок управления нормализацией, блок формирования мантиссы, информационные входы которого соответственно соединены с входами мантиссы преобразователя, состоящими из тетрад, входы характеристики преобразователя, соединены с информационными входами блока формирования характеристики, информационные выходы которого соединены соответственно с выходами младших разрядов характеристики преобразователя, вход старшего разряда старшей тетради мантиссы которого соединен с первым входом блока управления нормализацией, первый управляющий выход которого соединен с первым входом коррекции блока формирования характеристики и с первым входом сдвига блока формирования мантиссы, выходы которого соединены соответственно с выходами мантиссы преобразователя, вход знака числа которого соединен с управляющим входом блока формирования мантиссы, отличающийся тем, что, с целью повышения быстродействия, в нем вход знака числа преобразователя соединен с выходом знака числа преобразователя, три младших разряда старшей тетради мантиссы которого соединены соответственно с входами с второго по четвертый блока управления нормализацией, второй выход которого соединен с входом управления сигнала блока формирования характеристики, второй вход коррекции которого соединен с третьим выходом блока управления нормализацией и вторым входом сдвига блока формирования мантиссы, выход переполнения блока формирования характеристики соединен с выходом переполнения преобразователя.
2. Преобразователь по п.1, о т л и ч а юшийся тем, что в нем блок формирования мантиссы выполнен на К = n/4, (где и— число разрядов мантиссы выходного формата) программируемых постоянных запоминающих устройств мантиссы, входы с
1728971
Таблица 1
15 первого по четвертый разрядов каждого из которых соответственно соединены с ийформационными входами соответствующих тетрад блока формирования мантиссы, входы с пятого по седьмой разрядов всех программируемых постоянных запоминающих устройств, кроме последнего, соединены соответственно с входами с первого по третий разрядов соседней младшей тетради, входы с восьмого по десятый разрядов всех программируемых постоянных запоминающих устройств объединены и соответственно соединены с первым и вторым входами сдвига и управляющим входом блока формирования мантиссы, входы одиннадцатых разрядов 1-го (i = 1 - n-1) программируемого
5 постоянного запоминающего устройства соединены с первым выходом (1 + 1 -го программируемого постоянного запоминающего устройства, входы с пятого по седьмой разрядов и вход одиннадцатого разряда и10 lo программируемого постоянного запоминающего устройства соединены с входом логического нуля преобразователя.
1728971
Таблица2
1234567 I 1234 67
2 Д ! 1000000 . 00»»1
IОООООI, 1000000 ! оооо!о j !ааааа! !
1OGCO!! 1000010
1O00l0O, "10000 »
I !
looo!а!, :1ooaloo
1000 » 0 1000101
i 1000»1:. 1000» 0 iOOIOOO, !000! »
E, 100100!: 1001000
1001010 . 1001001
j !оо!о » !оо!а,о
100»00 . 10010»!
234567
С100000 010000!
OI00010, ОiCOO»
; 0100100 ! 0100101
Оloo»0
i 0100» i ! 0101000
j OI01001
0101010 ! OiOtOl! ! 010»00, 010»01
1001 !01
1001»0 ! ! 100»» ! ! 1010000
I 1010001
10100»
1010I аа
1010101 о!ю»о
1010»1
j ! 10»000
10»001
1011010! 10»0» !
10»100
10»101
10»»а
101»»
10»100!
10»101!
10»»0! 10»»1 !
» 00000
»00000 !
»00001
1100001
»00010
1000010 » Оооlа
lOO0O » » 000 »
1000100 » 00100 11000»
»00100
l 10010!
»00»а
1000101 110010\ »0O» O !
»00»1
1000»0
1000»1
1001000»01000»00»1
» 01000
I !
»01001
1001001 » 01001
1001010» 01010
10010»»010»: »0!010! 1010»
100»00»0»OU
100»01»0»oi »0»ОО
Iоаi »0»O»10
100»» l la»»
1010000 » 10000
1010001 » 10001
»0»01
»0»10
»0»»
» !0000
10100!О » 10010 » 10001
» 10010
»100»
10100» » 100»
1010100 » 1010С
1010101 » 10101
1010»0»10»0
1010»1»!0» I
1011000»»000
»10100
» 1010 1
» Iа»0
»1С» .. 010» !о
010»» ! 0»0000 0»0001
0»0010 а»00»
0»0100
0» 0101 о»а»о
0»0» I
0»1000
0»1001
О»10!О
О» IC»
o»»oo
О»»01
0»»10
0»11»
1ООООО!
100»00 !
00»о!
10O» lO
100»»
l0100O1
10100»
10!0101
1010»0
I01O»1
10»000
10»001
10»0»
1728971
Продолжение табл.2
11» 001
10»001 I 01101Î 1» 1010
»»0»
10»0»
10»100
»»100
1»»0i
10»101
10»»0
»»»О
1»»11
0000000
10»»!
»00000
П р и м B ч а н и с. Содержимое ячеек
ППЗУ,не указанных в таблице, рвано нуло
Таблича3
Мантисса
Код
Пример 1 де
5 ° 6
О 10»101 010100»0000000000000000
Исходный код
Код на выходе схемы формирования улравляющих сигналов
2 10»10»»
2»»00
16
16 !
0000001100
-ООООО ооооооо» о6
1!!
1А
0000000» Об
q0OOO
ООООООО» ОО
00000
ОО»ООО»ОО
13
13
12
»
82 «5
128
1 «!Е 16
256
»»00»
О1О1!О! . РОО100»ОООООООООООООООО
Исходный код
Код на выходе схемы 1 формирования улравля» кщих сигналов
„I
Ф о!0»Ь»!
00»001 !
) .
i I.
,!
16 !
00000000» О
00000
O00o00OO » li
00000!
1!!
I I!
OOOOOOO0i 4
00000
00000000»0
00008
13
13
00»0000»0
1!! !\ !
У i Ô
ЮО» О"00!
»
Адрес ячейки ППЗУ
Содержимое ППЗУ
00 - . 13 . 2
Выходной код
Адрес ячейки ППЭУ
Содержимое ППЗУ
Адрес ячейки ППЗУ
Содержимое ППЗУ
Адрес ячейки. ПОЗУ
Содержимое ППЗУ
Адрес ячейки ППЗУ
Содержииое ППЗУ
Адрес ячейки ППЗУ
Содержимое ППЭУ
Адрес ячейки ППЭУ
Содержимое ППЗУ
Адрес ячейки ППЗУ
Содержимое ППЭУ
Выходной код
Адрес ячейки ППЗУ
Содержимое ППЭУ
Адрес ячейки ППЭУ
Содержимое ППЗУ
Адрес ячейки ППЗУ
Содержимое ППЗУ
Адрес ячейки ППЗУ
Содержимое ППЗУ
Адрес ячейки ПДВУ
Содержимое ППЗУ
Адрес ячейки ППЭУ
Содержимое ППЗУ
Знак Характеристика исла
»»000
»1 001
»»010
»»0»
»»100
»»101
»»»О
»»»1
10»0!
О!0100!!Об
01010 !!
Ю! Оо» ЮЮОООЮОООЮОЮ
»000!
000 OOIG»1.
1О»О
Оч» О1ООООООООООООООО
1728971
Составитель В.Боюн
Редактор Н.Лазаренко Техред М.Моргентал Корректор С, Шевкун
Заказ 1414 Тираж Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., 4/5
Производственно-издательский комбинат "Патент", г. Ужгород, ул.Гагарина, 101