Устройство для накопления чисел с плавающей запятой

Номер патента: 1829030

Автор: Фельдман

ZIP архив

Текст

) УСТРОИСТ Л С ПЛАВА ) Изобретен й технике и ОСУДАРСТВЕННОЕ ПАТЕНТНОЕДОМСТВО СССРОСПАТЕНТ СССР) ОПИСАНИЕ АВТОРСКОМУ СВИДЕТЕЛЬСТВ(71) Институт электронных управляющихмашин(56) Авторское свидетельство СССРМ 1315969, кл, О 06 Е 7/50, 1985,Патент СШАМ 4054787, кл, 0 06 Г 7/50, 1975. О ДЛЯ НАКОПЛЕНИЯ ЧИЩЕЙ ЗАПЯТОЙе относится к вычислительожет быть использовано в Изобретение относится к вычислительной технике и может быть использовано в специализирован н ых и роцессорах.Целью устройства является повышение быстродействия и повышение точности за счет исключения потери информативности,На фиг. 1 показан блок схемы устройства накопления чисел с плавающей запятой; на фиг, 2 - схема анализатора; на фиг, 3 - схема формирователя результата; на фиг. 4 и 5 - алгоритмы работы устройства.Устройство накопления чисел с плавающей запятой содержит шину задания порядка 1, шину 2 задания мантиссы, шины 3, 4 синхронизации слова и начала массива, блок анализа порядка 5, блок преобразования мантиссы 6, блок управления 7, блок суммирования 8, накопитель 9, формирователь результата 10, формирователь адреса 11, анализатор 12. На фиг. 1 также показаны разработках специализированных процессоров. Цель изобретения - повышение быстродействия устройства, Устройство для накопления чисел с плавающей запятой содержит шину 1 задания порядка, шину 2 задания мантиссы, шины 3, 4 синхронизации слова и массива, блок 5 анализа порядка, блок 6 преобразования мантиссы, блок 7 управления, блок 8 суммирования, накопитель 9, формирователь 10 результата, формирователь 11 адреса, анализатор 12, выход 13 мантиссы результата, выход 14 порядка результата и выход 15 готовности результата, соединенные между собой функционально, 2 з,п.ф-лы, 5 ил. выход мантиссы результата 13, выход порядка результата 14, выход готовности результата 15, причем шина задания порядка 1 соединена с информационными входами блока преобразования мантиссы 6 и формирователем адреса 11 через преобразователь порядка 5, первая группа входов которого подключена к шине задания мантиссы 2, первый выход блока преобразователя порядка 5 подключен ко второму входу блока преобразования мантиссы 6, первая группа выходов 16 формирователя адреса 11 соединена с адресными входами накопителя 9 и анализатора 12, выход которого соединен со входами логического условия блока управления 7 и с информационными входами формирователя адреса 11, входы блока управления 7 соединены с шинами синхронизации слова и массива устройства 3 и 4, вторая группа вь;ходов формирователя1829030 Составитель Б.ФельдманТехред Ы."оргентал Корректор Л.Пилипенко Редактор Т.Иванова Заказ 2475 Тираж Подписное ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР 113035, Москва, Ж, Раушская наб 4/5 Производственно-издательский комбинат "Патент", г. Ужгород, ул.Гагарина, 101адреса 11 соединена со входами формирователя результата 10, первый выход блока суммирования 8 соединен с информационными входами накопителя 9 и анализатора 12, второй выход блока суммирования соединен с информационными входами формирователя результата 10, первый выход накопителя 9 соединен с первым информационным входом блока суммирования Б, второй вход которого соединен с выходом блока преобразования мантиссы 6, выходы блока управления 7 соединены со входами формирователя адреса 11, накопителя 9, блока суммирования 8, анализатора 12 и формирователя результатов 10, третий выход блока суммирования 8 соединен со входом признака переполнения блока управления 7, второй выход накопителя 9 соединен со входом признака минимального по модулю числа блока управления 7, первая и вторая группы выходов блока формирователя результата образуют выход мантиссы результата 13 и выход порядка результата 14 соответствен но.Преобразователь порядка 5 предназначен для преобразования порядка 1) накапливаемых чисел и формирования кода главного порядка К, гдеК=Еи локального порядка г, где г=Р - Кп,Здесь гп - разрядность мантиссы (без знака).Блок 6 преобразователя мантиссы 6предназначен для сдвига мантиссы накапливаемых чисел на г разрядов влево и формирования двух частей (фрагментов)мантиссы со знаками- старшие г разрядов;- младшие - остальные, т.е, образования на выходе блока 6 слов двойной (2 гп)разрядности,Передача и обработка этих фрагментовможет идти последовательно или параллельно, В настоящем описании принят вариант параллельной отработки, поэтомусвязи с выхода блока 6 на вход блока 9, свыхода блока 9 на входы блоков 8 и 12, свыхода блока 8 на входы блока 9 и 10 имеютдвойную разрядность, а блоки 9, 10 и 11состоят из двух частей так, что блок суммирования 8 и накопитель 9 принимают и передают данные двойной разрядности ипредназначены для обработки параллельнодвух слов одинарной разрядности фрагментов,При этом данные на выходе блока 6 имеют вид ООООХХ ХХХ ХОООО5 Возможно использование гп - разрядных слов, если 2 гп - разрядный код преобразовать на выходе блока 6 в два гп - разрядных вида10ОО ОХХ1-е слово;Х,ХО,О15 2-е слово:Размещение знакового разряда можетбыть осуществлено различными способами,20 В описании принято, что знак передается и хранится вместе с фрагментом и занимает старший гп+1 разряд.Блок 7 управления предназначен дляуправления и синхронизации всеми составными частями предложенного устройства иможет быть реализован как блок микропрограммного управления,Блок суммирования 8 предназначен длясложения фрагментов мантиссы с учетом30 знаков и может быть выполнен в виде двухтрехвходовых сумматоров чисел со знакоми соответствующих регистров для временного хранения переносов, представляющиходноразрядные числа со знаком.35 Накопитель 9 предназначен для запоминания фрагментов мантиссы и выработкипризнака минимального по модулю числа,т.е. содержащего либо единственную единицу в младшем разряде, либо все единицы.40 Формирователь адреса 11 предназначен для формирования адресов накопителя9 и соединен с ним связью 16,Анализатор 12 предназначен для формирования таблицы адресов, содержащей45 перечень ненулевых ячеек накопителя 9,Анализатор 12 (см, фиг, 2) состоит издвух идентичных частей, объединенных навыходе, и содержит дешифраторы адреса17,1 и 17,2, элементы И 18,1, 18.2, 19.1 и50 19,2, образующие коммутаторы 20,1 и 20.2,группы элементов ИЛИ 21,1, 21.2, группытриггеров 22,1, 22,2 и шифратор 23, Коммутатор 20.1 содержит элементы И 18.1 о (где0=1,3, 5, 7 ) и элементы И 19.1 б, коммута 55 тор 20.2 содержит элементы И 18,21(1=2, 4,6, 8 ) и элементы И 19,21. Последовательность адресов анализатора и их четностьполностью соответствует системе адресовнакопителя 9. Вход разрешения дешифраторов 17.1 и 17,2, вход кода операции 24, 1829030вход сброса анализатора 26 соединены с выходами поля управления блока управления 7, группа информационных входов дешифраторов 17.1 и 17,2 соединена с первой и второй группой адресных входов 16 анализатора 12 являются общими с адресными входами накопителя 9. Выходы дешифраторов 17,1 и 17,2 соединены с управляющими входами соответствующих коммутаторов 20.1 и 20.2, вход разрешения 24 дешифраторов 17.1 и 17.2, вход сброса 26 соединены с выходами блока управления 7, а вторые входы элементов ИЛИ групп 21.1 и 21,2 соединены со входом сброса 26.Выходы коммутаторов 20.1 и 20.2 соединены со входами установки соответствующих триггеров 22,1 и 22.2, а вторые выходы коммутаторов 20.1 и 20.2 соединены с группой входов соответствующих элементов ИЛИ 21.2 и 21,2,Входы данных 27.1 и 27.2 соединены с первым информационным выходом блока суммирования 8 и через схемы сравнения кода с нулем 28.1 и 28,2 соединены с управляющими входами коммутаторов 20.1 и 20,2, которые предназначены для установки триггеров 22,1 и 22.2 в состояние "1", если в накопителе 8 этому адресу соответствует ячейка с содержимым, равным нулю.Элементы ИЛИ 21,1 и 21.2 предназначены для объединения сигналов сброса триггеров, что соответствует ситуации начального сброса от блока 7 и установки в нуль в случае прихода "0" информации в выбранный триггер.Триггеры 22,1 и 22,2 предназначены для хранения признаков неравенства нулю соответствующем разрядам этих триггеров группы. Триггеры и их выходы пронумерованы в соответствии с нумерацией ячеек в накопителе 9,Шифратор состояния 23 предназначен для определения адреса старшей ячейки, содержимое которого отлично от "0", а его выход 25 подключен ко входам блоков 7 и 11, причем формирователь адреса 11 использует код адреса, сформированный на выходе 25, а блок управления 7 использует нулевое состояние шифратора, как признак отсутствия данных,Формирователь результата 10 (фиг, 3) содержит умножитель на константу 36, например, ПЗУ, сумматор 37, компараторы 30, шифратор 31, сдвигатель 32 реализованный, например, на умножителях 32.1 и 32,2, причем 34 и 35 - входы синхронизации умножителем, Вход формирователя результата "К" с выхода блока 11 соединен со входом умножителя на константу "гп", выход которого соединен со входом сумматора поряд 5 10 15 20 25 30 35 40 45 50 55 ка 37, группа выходов которого образует выход 14 (порядок результата). Выход мантиссы формирователя результата 13 соединен с группой выходов элементов ИЛИ группы ЗЗ.Первые и вторые входы элементов ИЛИ группы 33 соединены с выходами умножителей 32,1 и 32,2 соответственно, первые группы информационных входов которых соединены с первой группой выходов шифратора 31 (унитарный код), вторая группа выходов которого (позиционный код) соединена с второй группой информационных входов сумматора 37, информационный вход шифратора 31 соединен с выходами группы компараторов 30, Входная магистраль старшей части 29.1 (группа информационных входов с первого по а+1-ый ряды формирователя результата 10) соединена со второй группой информационных входов умножителя 32,1 и с первыми входами соответствующих компараторов группы 30, вый вход первой группы информационных входов формиоователя результата 10 соединен с вторыми входами компараторов 30, вторая группа информационных входов формирователя результата 10, исключая знак (разряд гп+1), соединена с второй группой информационных входов умножителя 32,2, со сдвигом на один номер. Остальные управляющие входы обоих умножителей 32,1, 32.2 подключены к шине нулевого потенциала,Группа компараторов ЗО предназначена для формирования абсолютной величины кода мантиссы, поступаюшей по магистрали 29,1 (29,2), выполнена на схемах равнозначности.Поскольку "старшая часть выбирается из ячеек накопителя 9, адрес которой по анализатору определяется, как адрес именно той са.,ой старшей ячейки, содержимое которой отлично от нуля, поэтому с а старшая часть, передаваемая в 10, отлична от нуля и для определения порядка достаточно проанализировать число старших нулей старшей части,Шифратор 31 предназначен для определения величины порядка г для нормализации результата и выдает значение, равное номеру разряда, занимаемое старшей единицы, в позиционном и унитарном коде.Группа элементов ИЛИ ЗЗ предназначена для объединения соответствующих разрядов, полученных в результате сдвига и формирования мантиссы результата.Блок управления 7 может быть реализован как устройство микропрограммного упоавления. Блок 7 содержит тактовый генератор. запуск котс ого возможен по пе 1829030реднему фронту сигнала синхронизации как слова, так и массива, Этот сигнал является пусковым сигналом, а соответствующая шина пусковой шиной,Работа устройства основана на использовании представления чисел в форме с "циклической запятой" или с "плавающим началом", предназначенного для управления операции сложения чисел с плавающей запятой,Представление с плавающим началом для числа Х имеет видрХ=Ац, где ,ц / А и А - мантисса, Пусть в некоторое целое (например,т - равно числу разрядов мантиссы без знака).Тогда главный порядок определяется как,Р - тК = Е, а локальный какг= гез( ),гпгде с=О или 1, а Еу - целая (положительная или отрицательная) часть (ближайшее меньшее число), ц - основание системы счисления.Такое предложение позволяет располагать на одних и тех же позициях разряды мантиссы, отличающиеся друг от друга по порядку на величину, кратную гп. Будем считать в дальнейшем 1=1. При этом Р=Кщ+г.Представление чисел в форме с плавающим началом позволяет осуществить сложение аналогично представлению с фиксированной запятой без выравнивания порядков и сдвига слагаемых.Рассмотрим конкретное число Х. Его код мантиссы занимает на разрядной оси позицию, характеризующуюся парой (К, Р), гдеК = Е, г=Р - Кт.П 3Например для чиселА=0,1 Р=О К=-1 г=тА=0,12 Р=2 К=О г=2А=0,15 Р=гп К=О г=гпА=0,15 Р=гп+1 К=1 г=1Таким образом, г - равно числу старшихразрядов, расположенных левее запятой,Запишем Р=Кв+г, где г 0Разрядная ось содержит Р,х+п-Рьразрядных позиций Иногда используется эквивалентноепредставление с целочисленной мантиссойт,е.гп0 /А 2-1, которое полностью эквивалентно предыдущему. Это представление сцелочисленной мантиссой будет использовано в числовых примерах.Алгоритмы преобразования чисел"О Алгоритм преобразования чисел, представленных в форме с плавающей запятой вформу с циклической запятой назовем алгоритмом "расщепления", а обратного - алгоритмом "обьединения",15 Расщепление кода является разложением на два отдельных кода, Объединение кодов является обратной операцией иобъединяет коды в том случае, когда старший значащий разряд младшего кода (А 2)20 является следующим по порядку, т.е. имеющим на единицу меньше порядок, чем младший разряд старшего кода (А 1).1. Алгоритм расщепления чисел (мантисса в дополнительном коде) состоит в следующем;Числа вида (Р, ЯА), где: Я - знак, А -мантисса, Р - порядок, расщепляются надва кода следующим образом:- производится сдвиг кода ЯА вправо на30 щ - г разрядов, причем сдвиг производится срасширением знака.Полученный код разбиваешься на 2 частипо гп разрядов (в+1 разряд знака):старшая: ЯЯЯЯА)35 младшая 0 (Аг) 000.Эти полученные два кода могут обрабатыватьсяя независимо.2. Алгоритм объединения кодов.При обьединении двух частей в один код40 возможны различные комбинации знаков,поскольку оба кода обрабатываются независимо, Возможны все 4 случая, соответствующие разным комбинациям знаков.Можно показать, что объединение гп+145 - разрядных кодов ЯА и Я 2 А 2 образует2 гл+1 разрядный код Я 1 А 1 - Я 2 А 2, если одновременно не выполнены два условия:(2) 1 Я имеет вид 0001 и Я 1 Я 2+Я 1 Я 2=150Если условия (2) выполняются одновременно, то это особый случай. При этом обнуляется ячейка содержащая А 1, изменяется знак А 2 и производится повторный анализ, 55 Анализ признаков 1 А=00,. 01, Я 1 и Я 2выполняется при считывании данных из накопителя 8 и при необходимости изменяется порядок выполнения переходов при выполнении микрокоманд в блоке 7.5 10 15 20 50 55 В результате операции накопления чисел в ячейках накопителя 9 будут расположены числа, имеющие порядок, определяющийся адресом ячейки.В большинстве случаев две старших ячейки с достаточной точностью полностью представляют результат накопления, если же выполнено (2), что необходим дополнительный анализ.Для формирования результата;1, Обнаруживают старшую с отличным от нуля содержимым ячейку и определяют ее адрес (это выполняет анализатор и результат формируется на выходе шифратора 23)2, Проверяют условие (2), если оно не выполнено, что по содержимому двух старших ячеек формируется окончательный результатт.3. Если условие (2) выполнено, то проводится преобразование данных в двух старших ячейках, при этом содержимое старшей ячейки игнорируется, определяется содержимое следующих двух ячеек, после этого измеряется знак старшей из этих двух ячеек в блоке суммирования 8 и при необходимости повторяется процедура начиная., с и, 1,Устройство работает следующим образом.На вход 4 пуска "начала" проходит сигнал, по фронту которого инициируется работа устройства, Этот сигнал проходит на блок управления 7, который может содержать управляемый тактовый генератор (возможна инициация фронтом сигнала 3),При необходимости в программу может быть заложено формирование сигнала готовности 15,Поступающие по шинам 1 и 2 порядок и мантисса очередного числа сопровождаются сигналом синхронизации числа,Блок анализа порядка 5 формирует коды К и г в соответствии с соотношением (1),Код г поступает на информационный вход сдвигателя в блоке преобразования мантиссы,Код главного порядка К поступает на входы формирователя адреса 11,В формирователе адреса 11 адреса формируются последовательные адреса а+1 и а+1+1, где; а - базовый адрес, поступающий из блока управления,В зависимости от четности К старшая и младшая часть кода двойной разрядности заносятся непосредственно или после перестановки в соответствующие части блока 9.Если нет переноса, то операция добавления данного числа закончена и устройст 25 30 35 40 45 ва переходит к приему накопления следующего числа,Если есть перенос, то выполняется добавление переносов, причем формирователь адреса 11 формирует адрес, увеличенный на 1,В анализаторе 12 каждый триггер групп 22.1 и 22,2 соответствует одной ячейке накопителя 9, причем ее адрес соответствует значению главного порядка К, Первоначально триггеры установлены в "0" сигналом 2 б, поступающим из блока управления 7. При записи в накопитель 9 схемами 28,1 (28,2) анализируется равенство кодов нулю, и, соответственно, устанавливается соответствующий триггер 22.1 или 22.2 (единица - при нулевом коде, и нуль - в противном случае) с помощью дешифраторов 17,1 (17.2), которые дублируют дешифраторы адреса накопителя 9 и обеспечивают при каждом выполнении операции записи в накопитель 9. Одна группа триггеров, как и один блок памяти, хранит четные адреса, другая - нечетные, В соответствии с этим выходы триггеров присоединены к соответствующим входам шифратора 23 (блок левой единицы), который показывает адрес самой старшей ячейки, содержимое которой отлично от нуля.Формирование результата начинается с определения адреса старшей ячейки, содержимое которой отлично от нуля с помощью шифратора 23, включенного на выходе памяти 22 анализатора 12, который является индикатором содержимого ячеек триггера,Если коды в вьбранной паре ячеек соответствуют особому случаю, то перед процедурой объединения кодов знак 51 старшей ячейки присваивается знаку младшей, старшая ячейка обнуляется и выбирается следующая пара ячеек, соответствующая К,Формирование результата име:г следующие особенности,Для формирования правильного результата на линию от 29-1 должно быть передано содержимое старшей записанной ячейки накопителя 9, а на линию от 29,2 - содержимое предыдущей ячейки, Для этого предусматривается возможность перестановки кодов. Изменение мантиссы по соотношению А 1 - Яг выполняется на блоке суммирования 8.На фиг, 4 и 5 приведена схема алгоритма иллюстрируюшего работу устройства, На фиг, 4 показаны особенности формирования адресов в двух частях (соответственно, ЯАМ 1 и КАМ 2) накопителя 9, соответствующих двум п 1+1 разрядным частям кодов дво 1829030 12ичной разрядности, используемых в тракте данных блоков 6, 8, 9 и 10, на фиг, 5 - диаграмма формирования результата.Реализация изобретения позволяет производить накопление производительного количества чисел с плавающей запятой с меньшими ошибками округления с минимальными затратами времени на формирование результата.Формула изобретения 1. Устройство для накопления чисел с плавающей запятой, содержащее блок суммирования, накопитель, формирователь результата, блок управления, шины синхронизации слова и массива, шину задания лгантиссы и шину задания порядка, причем первьй выход блока суммирования соединен с информационным входом накопителя, первый выход которого соединен с первым информационным входом блока суммирования, о т л и ч а ю щ е е с я тем. что, с целью повышения быстродействия, в него введены формирователи адреса, анализатор, блок анализа порядка и блок преобразования мантиссы, первый информационный вход которого соединен с шиной задания мантиссы, а выход блока преобразования мантиссы соединен с вторым информационным входом блока суммирования, первый выход которого соединен с входом данных анализатора, вьход формирователя адреса соединен с адресными входами накопителя и анализатора. второй выход блока суммирования соединен с информационным входом формирователя результата, шина задания порядка соединена с информационным входом блока анализа порядка, первь:й выход которого соединен с вторым информационным входом блока преобразования мантиссы, второй выход блока анализа порядка соединен с первым информационным входом формирователя адреса, второй информационный вход которого соединен с выходом анализатора, синхровхсд и вход разрешения работы блока управления соединены с шинами синхронизации слова и массива устройства, вход признака отсутствия данных которого соединен с выходом анализатора, вход признака минимального по модулю числа блока управления соединен с вторым выходом накопителя, вход признака переполнения 5 10 15 20 25 30 35 40 блока управления соединен с третьим выходом блока суммирования, первый выход блока управления является вь,ходом готовности результата устройства, второй выход блока управления соединен с управляющим входом формирователя адреса, третий и четвертый выходы блока управления соединены соответственно с управляющими входами накопителя и блока суммирования, пятый выход блока управления соединен с входом разрешения записи формирователя резульгата и входом управления анализатора.2. Устройство по и. 1, о т и и ч а ю щ е - е с я тем, что анализатор содержит два дешифратора, два коммутатора, две группы элементов ИЛИ, блок памяти и шифратор, причем входы дешифраторов являются адресными входами анализа 1 ора, входуправления которого соединен с первыми входами элементов ИЛИ групп, выходы которых соединены соответственно с входами записи нулей в соответствующие ячейки блока памяти. входы записи единиц которого соединены соответственно с первыми группами выходов коммутаторов, выходы вторых групп которых соединены соответственно с вторыми входами элементов ИЛИ групп, входы коммутаторов соединены соответственно с выходами дешифраторов, управляющим входом и входом данных анализатора, выход блока памяти соединенвходом шифратора, выход котооого является выходом анализатора,3, Устройство по и, 1, о тл и ч а ю щ ее с я тем, что формирователь результата содержит умножитель двсйной оззоядности, группу элементов ИЛИ и схему определения пооядка, причем информационный вход формирователя результата соединен соответственно с входом схемы определения порядка и входами сомножи гелсй умно- жителя двойной разрядности, выход которого соединен с входами элементов ИЛИ группы, выходы ксторых являются выходом мантиссы формирователя результата, выход порядка которого соединен с выходом схемы определения порядка, а вход разрешения записи формирователя результата соединен с входами разрешения записи сомножителей умножителя двойной разрядности, 1829030

Смотреть

Заявка

4864314, 05.09.1990

ИНСТИТУТ ЭЛЕКТРОННЫХ УПРАВЛЯЮЩИХ МАШИН

ФЕЛЬДМАН БОРИС ЯКОВЛЕВИЧ

МПК / Метки

МПК: G06F 7/50

Метки: запятой, накопления, плавающей, чисел

Опубликовано: 23.07.1993

Код ссылки

<a href="https://patents.su/10-1829030-ustrojjstvo-dlya-nakopleniya-chisel-s-plavayushhejj-zapyatojj.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для накопления чисел с плавающей запятой</a>

Похожие патенты