![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Компьютеры, Программирование
Программное обеспечение
Особенности арифметико-логических устройств (АЛУ) с двоично-десятичными кодами (ДДК) при вычислении операций умножения и деления и поиск путей их ускорения |
Двоичные коды достаточно громоздкие и поэтому в качестве входной и выходной информации часто используют ДДК. ДДК получают при преобразовании десятичного числа в двоичное путем замены каждой десятичной цифры числа ее двоичным эквивалентом, выделяя при этом под каждую десятичную цифру 4 двоичных разряда. Очевидно, что такие преобразования не соответствуют переводу числа из десятичного формата в двоичный. Однако такой способ является весьма простым. Поэтому, при использовании ДДК чисел необходимо выполнять необходимые корректирующие действия , которые приводят полученное значение к истинному результату. Пример: 37= АЛУ, построенное для обработки ДДК базируется на традиционном двоичном сумматоре с выполнением дополнительных корректирующих действий. Основная идея корректирующих механизмов заключается в том, что при обработке десятичных разрядов переносы в смежные разряды возникают при значениях, превышающих число 10, а при сложении ДДК перенос в смежный разряд возникает при превышении в разряде 16. Единицей данных при обработке ДДК является т. наз. тетрада, представляющая собой 4 последовательных бита. Для компенсации искажений, возникающих при сложении ДДК, формируют операнд, каждая цифра которого имеет избыток, равный 6. В таком случае: z Если при обработке i-того разряда десятичного кода при сложении i-того разряда первого операнда, i-того разряда второго операнда и входного переноса в i-тый разряд, значение превышает 10, то в i-том разряде остается z=1 Формируется сигнал переноса в следующий разряд. Поэтому при сложении операндов с избытком в (х6) получаем: z =x6 Y В таком случае в i-том разряде z будет такое значение: тогда z $16. В таком случае в i-том разряде zr будет: zr P=1 –перенос в следующий разряд При получении псевдосуммы z обнаруживается ситуация, когда разряды (тетрады), из которых был перенос в старший разряд, содержат правильное значение цифры этого разряда. Разряды, из которых не было переносов в старший разряд, содержат цифру с избытком, равным 6. Поэтому полученное значение требует корректировки. Она может быть проведена путем вычитания из разрядов, из которых не было переносов, значения 6. На практике, вместо вычитания к этим разрядам добавляют значение равное 10 и блокируют межтетрадные переносы: Упрощенная схема АЛУ Алгоритм сложения ДДКРгВ принимает первый операнд, затем в РгА формируют числосо значением 6 в каждой тетраде. В РгСм формируется код первого операнда с избытком 6, который принимается в РгВ. В РгА принимается второй операнд. Сумматор формирует значение zr=x6 y. При этом тетрады, из которых не возникли сигналы переноса, фиксируются. В ргА формируется операнд, в тетрадах которого размещено число 10, если в соответствующих тетрадах zr не возникал сигнал переноса. zr из РгСм передается в РгВ. Корректировка zr путем добавления операнда с 10 в РгА с блокировкой межтетрадных переносов. Полученный результат передается на выходную шину данных. Для вычитания ДДК производятся такие действия: Второй операнд Y преобразуют в обратный код инвертированием каждого бита, при этом получается обратный код с избытком 6, т.к
. каждая тетрада является дополнением до 15. Выполняется суммирование . Если из старшей тетрады zr при формировании был перенос, то получено положительное значение результата. Если переноса не было из старшей тетрады, то результат является отрицательным в дополнительном коде. При этом дополнительный код инвертируется и добавляется 1 к младшему разряду. Полученное значение требует корректировки. Если при получении zr из тетрады был перенос, то в последствии к этой тетраде надо добавить 10 с блокировкой межтетрадных переносов. Опции с ДДК со знаками сводятся к определению реальных опций, которые затем выполняются по приведенным схемам. Умножение ДДК. Анализируется значение очередной тетрады, начиная с младшей и к сумме частичных произведений добавляется множимиое столько раз, какому значению равно число в тетраде. Значение суммы частичных произведений сдвигается вправо на тетраду, чтобы уменьшить количество сложений. Отдельно формируется 8, 4 и 2 кратное множимое (8х, 4х, 2х, 1х). Данная процедура повторяется, пока все тетрады множителя не будут проанализированы. Деление ДДК. Производится путем многократного вычитания делителя из текущего значения частичных разностей, которые первоначально равны значению делимого, последовательным сдвигом частичных разностей влево по разрядной сетке. Многократное вычитание выполняет до получения отрицательного результата. Количество вычитаний до получения отрицательного результата соответствует очередной цифре частного. В целом, опция похожа на традиционное деление «уголком». Методы ускорения операции умножения. Аппаратурные методы ускорения требуют дополнительных затрат , пропорциональных количеству обратных разрядов . Как пример к аппартным методам операции ( ) – включение дополнительных цепей сдвига возможно за 1 такт алгоритма синхронизировать выполнение сдвига на нескольких разрядах .Другим методом является работы сумматоров , а также совмещение во времени сдвиговых операций и операций суммирования Логические методы ускорения операции умножения требуют изменения центрального управления . Основным источником повышения эффективности является уменьшение кол-ва сложений выполняемых в процессе получения S частных произведений . К логическим так же можно отнести методы позволяющие анализировать несколько разрядов множителей одновременно и выполнить соответствующие изменения суммы частных произведений. Пример лог. метода 0151413121100=26 –21 ; k 1 k k-1 0 0 1 1 1 0 1 1 1 .Вместо 2-Х вычитаний выполняется одно .Если 0 1к 0 в (к) выполняется только одно сложение Формализация этого подхода может быть сделана так :di=(bi bi-1) di-1 Si = di bi 1 bi –логическая переменная определяющая необходимость выполнения арифметической операции для i-того разряда множителя Si –определяет знак выполнимой операции . Если Si =0 ,то выполняется сложение текущей суммы частного произведения и множимого . Если Si =1 то выполняется “-“ вычитание множимого из суммы частн. Произведений Данное правило – правило Лемана. Оно при самых неблагоприятных комбинациях разрядов множителей вдвое сокращает кол-во операций суммирования .
Среднее значение ускорения 3. На практике получили применение другие способы операции умножения с анализом нескольких разрядов множителя . При анализе 2-х разрядов множителя можно предложить след последовательность действий : Если два разряда 00 . то выполняется только сдвиг S частного произведения (далее S ч.п.)вправо на 2 разряда Если 01 то к S ч.п. добавляется множимое , а далее выполняется сдвиг на два разряда Если 10 то к S ч.п добовляется удвоеное множимое и S ч.п сдвигается вправо на два разряда, если 11 то вычитаем множимое и на специальном триггере запоминается ситуация о необходимости коррекции при анализ след 2-х разрядов. Далее S ч.п сдвигается вправо на два разряда , след пара разряда множителя уже рассматривается как увел на 1. Значение разрядов Операция при знаке предыдущего разрядов &l ;1000 Операция при знаке предыдущего разрядов &g ;=1000 0000 П(4)z П(4)(z x) 0001 П(4)(z x) П(4)(z 2x) 0010 П(4)(z 2x) П(4)(z 3x) 0011 П(4)(z 3x) П(4)(z 2x 2x) 0100 П(4)(z 2x 2x) П(4)(z 2x 3x) 0101 П(4)(z 2x 3x) П(4)(z 6x) 0110 П(4)(z 6x) П(4)(z x 6x) 0111 П(4)(z x 6x) П(4)(z 2x 6x) 1000 П(4)(z 2x 6x) П(4)(z-x-6x) 1001 П(4)(z-x-6x) П(4)(z-6x) 1010 П(4)(z-6x) П(4)(z-2x-3x) 1011 П(4)(z-2x-3x) П(4)(z-2x-2x) 1100 П(4)(z-2x-2x) П(4)(z-x-2x) 1101 П(4)(z-x-2x) П(4)(z-2x) 1110 П(4)(z-2x) П(4)(z-x) 1111 П(4)(z-x) П(4)z Указанные значения соответствуют кратным множимого, которые создаются и хранятся отдельно. Очевидно, можно получить похожую схему при анализе большего количества разрядов. На практике используются также табличное умножение, которое с помощью соответствующих элементов памяти позволяет для определённых комбинаций двоичных разрядов сразу получить соответствующее значение, которое прибавляют к текущему значению суммы частичных произведений перед сдвигом её вправо на требуемое значение разрядов. Табличное умножение значительно ускоряют операцию, используемую во всех моделях процессора Pe ium. Целочисленное умножение является составной частью умножения чисел с плавающей точкой, поэтому эффективность данной операции существенно влияет на эффективность операции с плавающей точкой. Дополнительно для ускорения выполнения операции умножения используется конвейерная форма организации, при которой сочетаются во времени различные фазы или элементы операции, выполняемые над разными последовательностями операндов. Именно наличие последовательностей позволяет поднять общую производительность операции. АЛУ для реализации операции деления.Операция / является обратной по отн к операции , поэтому общая структура операции заключается в последовательности вычитания значения делителя из делимого и сдвигах. Результат в виде текущего значения частичных разностей. Цифры частного определяются как при положительном значении частичных разностей и как нуль в противном случае. Рассм. осн. требования: Частное Z как рез-т деления делимого X на делитель Y, Z=X/Y. Х представляется в формате двойного слова, т.е. занимает (2 -1) разрядов, Z и Y представлены в формате одинарного слова, т.е. занимают ( -1)разрядов. Поэтому Z &l ;2 -1. Для того, чтобы частное размещалось в формате двойного слова необходимо X’ - Y &l ;0, где X’ = X -2-( 1).
Интерфейс должен опознавать коды ошибок и не смешивать их с командами под номерами 5, 6 и 7. Для этого используется схема, состоящая из двух ИС И-НЕ типа 4011, включенных по схеме логических И и ИЛИ (как показано на рис.P7.8), которая обнаруживает коды ошибок 55, 66 и 77. Соединение с платой УРР Плата УРР имеет 9 отверстий под пайку, соединяющих ИС 74LS373 и 7448 для подключения схемы интерфейса (см. рис.P7.8). Восемь шин представляют 2 четырехбитных двоично-десятичных кода, девятая шина земляная. Имеется контактная площадка красного светодиода. К этой площадке припаивается проводник, который является запускающим входом платы интерфейса. Принцип работы устройства Прежде всего интерфейс должен реагировать на любое слово, воспринятое УРР. Когда УРР «слышит» слово, оно пытается его распознать, что вызывает немедленное мигание светодиода. Ток через светодиод используется для запуска интерфейса (реакция на слово). Для формирования импульса запуска используется компаратор, подключенный к катоду светодиода. Опорное напряжение составляет 3,64 В и формируется резистивным делителем 5,6 кОм и 15 кОм
1. Разработка схемы блока арифметико-логического устройства для умножения двух двоичных чисел
2. Программирование в двоичных кодах
3. Преобразователь двоичного кода от 0 до 255 в двоично-десятичный код
5. Программирование на Delphi с алгоритмами и кодами
12. Информационные потоки в ЭВМ. Алгоритм работы процессора
15. Написание игровой программы Tetris и описание алгоритма
16. Вычисление определённых интегралов
17. Вычисление вероятности игры в КРЭКС(кости)
18. Понятие алгоритма, его свойства. Описание алгоритмов с помощью блок схем на языке Turbo Pascal
19. Программирование логической игры на visual basic
25. Алгоритмы и протоколы маршрутизации
26. Применение алгоритма RSA для шифрования потоков данных
28. Вычисление корней нелинейного уравнения
31. Логическая конструкция Югославской войны
32. Разработка логической схемы управления двустворчатых ворот судоходного шлюза
33. Логические системы в различных функциональных наборах и их реализация
34. Анализ операций умножения и деления в конкретной модели АЛУ
35. Избыточные коды
43. Список сокращений (аббревиатуры)
45. Логический аппарат исследования систем управления
46. Вычисление интеграла методом Ньютона-Котеса (теория и программа на Паскале)
47. Алгоритм Кнута-Морриса-Прата
48. Десятично - двоичный сумматор
49. Дресс-код: правила официальных мероприятий
50. Деление суждений по модальности. Деление суждений по типу логических союзов
51. Аргументация и доказательство, как ее логическая основа. Структура доказательства
52. Определение логических понятий
57. Новые формулы для вычисления планковских единиц
58. Алгоритм компактного хранения и решения СЛАУ высокого порядка
59. Вычисление координат центра тяжести плоской фигуры
60. Вычисление определённых интегралов по правилу прямоугольников
61. Индексные системы и их логическая основа
62. Приближенное вычисление определенного интеграла при помощи квадратурной формулы Чебышева
63. Приближенное вычисление определенных интегралов, которые не берутся через элементарные функции
64. Температурный расчет с помощью вычислений информационной математики
65. От мезоскопических состояний к квантовым вычислениям
66. Алгоритмы декомпозиции и перебора L-классов для решения некоторых задач размещения
67. Градиентный алгоритм для систем независимости с отрицательными весами
68. Кубатурные формулы для вычисления интеграла гармонической функции по круговой луночке
69. Логические противоречия теории большого взрыва
74. Изменение частоты сердечных сокращений и артериального давления при работах разной мощности
75. Формально-логические модели конфликтов
76. Сокращение издержек путем внедрения технологии Бизнес Юнит Менеджмент
77. Параметры «черных дыр» и природа «темной материи» в двоичной модели распределения плотности вещества
78. Алгоритм выживания для науки
79. Алгоритмы инопланетной геометрии
80. Использование логических задач на уроках математики в начальной школе
81. Роль текстовых задач в развитии логического мышления младших школьников
82. Алгоритм возникновения и развития международных конфликтов и возможные пути их решения
83. Структурно-логические конспекты по учебным дисциплинам: за и против.
84. Трудовая мобильность учителей и проблема сокращения педагогических кадров
85. Логическое мышление детей 7-10 лет и его развитие
89. Исследование логических элементов
91. Алгоритм создания сценария рекламного радиоролика
92. Основные логические категории и определения
93. Составление алгоритма расчета расхода сырья верхних трикотажных изделий
94. Программа логического позитивизма. Критерий верификации
95. Логический атомизм: язык как средство остановки регресса
96. Логические методы познания
97. Задачи по теме "Логические выражения"