Частичный остаток - Большая Энциклопедия Нефти и Газа, статья, страница 3
Для любого действия существует аналогичная и прямо противоположная правительственная программа. Законы Мерфи (еще...)

Частичный остаток

Cтраница 3


При выполнении деления чисел с плавающей точкой используются сумматор См, регистры Pel и Рг2 для приема соответственно делителя и делимого, регистры РгА и РгВ для хранения смешенных порядков делителя и делимого и для хранения мантиссы делителя и частичного остатка при получении мантиссы частного, счетчик Сч1 для хранения смещенного порядка частного, регистры Рг2 и Рг2 для хранения цифровых разрядов мантиссы частного, триггеры знаков делимого и делителя ТгЗн. Рассмотренное АЛУ можно считать типичным для ЭВМ общего назначения средней производительности. Несколько иначе строятся АЛУ для малых ЭВМ и микропроцессоров.  [31]

Поскольку мы условились, что старший разряд делителя содержит единицу, то результат будет получаться в прямом коде тогда, когда в старшем разряде частичного остатка в дополнительном коде будет находиться единица. Это делает возможным сдвиг частичного остатка и образование единиц в стольких разрядах частного, сколько единиц стоит подряд в дополнительном коде частичного остатка.  [32]

33 Схема делания с восстановлением остатка. [33]

Обычно в вычислительных машинах для деления используется другой метод, называемый методом выполнения деления без восстановления остатка. При этом методе, если результат вычитания получился отрицательный, частичный остаток не восстанавливается путем прибавления делителя, а на следующем шаге деления вместо вычитания делимого производится его прибавление к частичному остатку. Если результат при этом остался отрицательным, то в очередную цифру частного записывается нуль и на следующем шаге также выполняется сложение.  [34]

Если в результате вычитания выясняется, что делимое или очередной частичный остаток больше или равны делителю, то в очередной разряд частного записывается единица и полученный в результате вычитания частичный остаток сдвигается влево на один разряд. Если в результате вычитания выясняется, что делимое или очередной частичный остаток меньше делителя, то в очередной разряд частного записывается нуль, к полученной разности добавляется делитель, чтобы восстановить предыдущий частичный остаток, и результат сдвигается влево на один разряд.  [35]

В этом случае можно записать в частное m нулей и сдвинуть делимое на т разрядов влево. Для определения следующей цифры частного необходимо вычесть делитель из частичного остатка.  [36]

Когда частичный остаток в прямом коде имеет т нулей подряд, начиная со старшего разряда, надо сдвинуть его на m разрядов влево, записать в очередные разряды частного т нулей и вычесть из сдвинутого остатка делитель. Если результат получен в прямом коде, то в очередной разряд частного записывается единица и частичный остаток сдвигается на все разряды, содержащие нули, после чего вновь производится вычитание делителя. Если после вычитания результат получен в дополнительном коде, то в очередной разряд частного записывается нуль.  [37]

38 Блок-схема АЛУ с плавающей запятой. [38]

Если же результат выражается в прямом, коде, то необходимо для получения каждой единицы в частном выполнять отдельное вычитание. Это особенно часто встречается при малых делителях, так как маловероятно чтобы малый делитель изменил знак частичного остатка.  [39]

Поскольку мы условились, что старший разряд делителя содержит единицу, то результат будет получаться в прямом коде тогда, когда в старшем разряде частичного остатка в дополнительном коде будет находиться единица. Это делает возможным сдвиг частичного остатка и образование единиц в стольких разрядах частного, сколько единиц стоит подряд в дополнительном коде частичного остатка.  [40]

Поскольку мы условились, что старший разряд делителя содержит единицу, то результат будет получаться в прямом коде тогда, когда в старшем разряде частичного остатка в дополнительном коде будет находиться единица. Это делает возможным сдвиг частичного остатка и образование единиц в стольких разрядах частного, сколько единиц стоит подряд в дополнительном коде частичного остатка.  [41]

Если в результате вычитания выясняется, что делимое или очередной частичный остаток больше или равны делителю, то в очередной разряд частного записывается единица и полученный в результате вычитания частичный остаток сдвигается влево на один разряд. Если в результате вычитания выясняется, что делимое или очередной частичный остаток меньше делителя, то в очередной разряд частного записывается нуль, к полученной разности добавляется делитель, чтобы восстановить предыдущий частичный остаток, и результат сдвигается влево на один разряд.  [42]

Команда FPREM позволяет получить частичный остаток от деления чисел. Циклическое использование этой команды с запоминанием промежуточных значений частного позволяет получить точное значение частного с любой, наперед заданной, степенью точности. Признаком завершения команды ( получения нулевого частичного остатка) является значение флага С2 ( C2 - Q - команда завершена, С2 1 - команда не завершена), который позволяет управлять переходом на повторение цикла или завершение операции.  [43]

В случае, если в АЛУ используется сумматор комбинационного типа, то можно организовать выполнение деления следующим образом. Если знаковый разряд и цифра переноса показывают, что частичный остаток больше делителя, то в очередной разряд частного записывается единица, результат вычитания сдвигается и из нового частичного остатка вновь производится вычитание делителя. Если знаковый разряд и цифра переноса сигнализируют о том, что частичный остаток меньше делителя, то выполнение вычитания прекращается, в очередной разряд частного записывается нуль и производится сдвиг старого частичного остатка.  [44]

Операция деления двоичных чисел с фиксированной запятой сводится в ЭВМ к последовательности действий вычитания делителя сначала из делимого, а затем из частичных остатков, образующихся в ходе вычислений, и последующего сдвига частичных остатков на один разряд влево. Деление в ЭВМ может выполняться двумя различными методами: с восстановлением и без восстановления остатка. В методе с восстановлением остатка при этом выполняется следующее: к отрицательному остатку прибавляется делитель, чтобы восстановить ( отсюда и название метода) предыдущий частичный остаток, и полученный результат сдвигается на 1 разряд влево. Однако в современных ЭВМ метод деления с восстановлением остатка встречается редко, поэтому более подробно рассмотрим алгоритм деления без восстановления остатка. Сущность метода состоит в следующем. На каждом шаге вычислений перед очередным нахождением разности частичный остаток сдвигается на 1 разряд влево и далее проводится анализ остатка.  [45]



Страницы:      1    2    3    4