- •Введение
- •Глава 1. Системы элементов эвм
- •§ 1.1 Потенциальная система элементов ттл.
- •§ 1.2 Система элементов мдп (кмдп).
- •§ 1.3 Выходные каскады логических элементов.
- •1. Выход с открытым коллектором
- •2. Открытый эмиттерный выход
- •3. Выход с тремя состояниями
- •§ 1.4 Основные параметры логических элементов.
- •§ 1.5 Соглашения положительной и отрицательной логики.
- •§ 1.6 Особенности базисов современных элементов. Двойственность логических элементов.
- •§ 1.7 Разветвление по входу и выходу.
- •§ 1.8 Гонки.
- •§ 1.9 Гонки по входу.
- •Глава 2. Устройство эвм.
- •§ 2.1 Триггеры.
- •§ 2.2 Классификация триггеров.
- •§ 2.3 Синхронные (статические) rs-триггеры.
- •§ 2.4 D-триггер (dv-триггер).
- •§ 2.5 Класс двухступенчатых триггеров. Jk-триггер.
- •§ 2.6 Дешифраторы, шифраторы.
- •§ 2.7 Преобразователи произвольных кодов.
- •§ 2.8 Мультиплексоры.
- •§ 2.9 Регистры.
- •§ 2.10 Счетчики.
- •§ 2.11 Счетчики с параллельным переносом.
- •§ 2.12 Двоично-кодированные счетчики с произвольным модулем.
- •§ 2.13 Счетчики с недвоичным кодированием.
- •§ 2.14 Полиномиальные счетчики.
- •§ 2.15 Компараторы.
- •Глава 3. Сумматоры
- •§ 3.1 Инкременторы.
- •§ 3.2 Многоразрядные сумматоры с последовательным переносом.
- •§ 3.3 Сумматор с двухколейным переносом.
- •§ 3.4 Сумматоры с параллельным переносом.
- •Глава 4. Алу
- •§ 4.1 Классификация алу. Его назначение.
- •§ 4.2 Языки описания вычитаемых устройств.
- •§ 4.3 Алу для сложения (вычитания) чисел с фиксированной точкой.
- •§ 4.4 Методы умножения двоичных чисел.
- •§ 4.5 Алу для умножения чисел с фиксированной точкой.
- •§ 4.6 Деление целых чисел с фиксированной точкой.
- •§ 4.7 Арифметические операции над десятичными числами (двоично-десятичные сумматоры)
- •§ 4.8 Матричные умножители.
- •§ 4.9 Блок логических операций.
- •§ 4.10 Последовательные умножители.
- •Глава 5. Операции над числами с плавающей точкой.
- •§ 5.1 Сложение и вычитание чисел с плавающей точкой.
- •§ 5.2 Умножение чисел с плавающей точкой.
- •§ 5.3 Деление чисел с плавающей точкой.
- •§ 5.4 Драйверы, шинные приемопередатчики
- •Глава 6. Процессор, его состав
- •§ 6.1 Структурная схема цп
- •§ 6.4 Микропроцессоры
§ 4.5 Алу для умножения чисел с фиксированной точкой.
Умножение происходит по второму методу.
Схема АЛУ приведена в §4.3 с учетом пунктирных линий и регистров RG2 и RG2'.
Алгоритм умножения:
1. Берутся модули от сомножителей.
2. Исходное значение суммы частичных произведений приравниваются к нулю.
3. Если цифра множителя в разряде равна единице, то к сумме частичных произведений прибавляется множимое; если цифра множителя равна нулю – не прибавляется.
4. Производится сдвиг суммы частичных произведений вправо на один разряд.
5. Пункты 3 и 4 выполняются для всех разрядов множителя, начиная с младшего разряда.
6. Произведению присваивается знак «+», если знаки сомножителей одинаковы, «–» – в противоположном случае.
Работа АЛУ:
1. В регистр RG1 принимается множимое, регистр RGB обнуляется.
2. В счетчик циклов (на схеме не показан) заносится число разрядов множителя; в регистр RG2 заносится множитель.
Далее идет процесс умножения. В зависимости от значения младшего разряда множителя в RG2 (0 или 1) к частичному произведению прибавляется ноль или множимое.
Полученная сумма в регистре сумматора со сдвигом на разряд вправо передается в регистр RGB. Одновременно множитель сдвигается на разряд вправо путем косой передачи из RG2 в RG2' и возврата снова в RG2. Старшие разряды RG2' при этом освобождаются, и в них заносятся младшие разряды получаемого результата.
Содержимое счетчика с каждым перемножением уменьшается на единицу, и при достижении содержимого, равного нулю, процесс останавливается.
В результате в регистрах RGCM и RG2' будут храниться соответственно старшие и младшие разряды произведения.
Особенностью умножения целых чисел является необходимость представления результата умножения двух n-разрядных слов двойным словом. При этом число цифровых разрядов двойного слова будет на единицу больше числа (2n-1) цифровых разрядов произведения двух чисел, имеющих (n-1) цифровых разрядов. Поэтому после перемножения чисел результат необходимо сдвинуть на разряд вправо для правильного его расположения в разрядной сетке формата двойного слова.
После сдвига результата он передается по шине выхода в ОП.
Умножение целых чисел со знаками, представленных в прямом и дополнительных кодах, производится с применением модифицированного сдвига суммы частичных произведений.
§ 4.6 Деление целых чисел с фиксированной точкой.
Деление целых чисел с фиксированной точкой сводится к выполнению последовательных вычитаний делителя сначала из делимого, а затем из образующихся частичных остатков и их сдвигов.
Деление можно осуществить двумя способами:
1. Деление с неподвижным делимым и со сдвигаемым вправо делителем.
Способ основан на копировании способа ручного деления.
2. Деление со сдвигаемым делимым и неподвижным делителем.
АЛУ для деления этим методом:
Неподвижный делитель в дополнительном коде (число В) заносится в регистр А. Делимое (число А), сдвигаемое влево относительно числа B, заносится в регистр В старшими разрядами, а в регистр RG2 – младшими.
Деление начинается со сдвига делимого путем косой передачи его в регистр сумматора (старшие разряды) и в регистр RG2' (младшие разряды) тоже путем косой передачи. Далее в сумматоре происходит вычитание делителя, образуется частичный остаток (с помощью подсуммирования +1 в сумматор) и очередная цифра частного (единица, если остаток больше нуля, и ноль, если остаток меньше нуля) заносится в освободившийся разряд RG2 после сдвига числа А. При этом, если остаток получен меньше нуля, то его значение восстанавливается.
Алгоритм деления:
1) Берутся модули делимого и делителя.
2) Исходное значение частичного остатка принимается равным старшим разрядам делимого.
3) Частичный остаток удваивается сдвигом на разряд влево, а в освободившийся разряд заносится очередная цифра делимого.
4) Из сдвинутого остатка вычитается делитель и анализируется знак результата.
5) Если результат больше нуля, то в частное заносится единица, если результат меньше нуля, то заносится ноль и значение остатка восстанавливается до значения, которое было перед вычитанием.
6) Пункты 3) – 5) выполняются до получения модуля частного.
7) Знак частного «+», если знаки делимого и делителя одинаковы; знак «-» в противоположном случае.
Недостаток алгоритма: нужен дополнительный такт для восстановления остатка, поэтому иногда применяется деление без восстановления остатка.
Алгоритм деления без восстановления остатка:
Пункты 1) – 3) аналогичны рассмотренному алгоритму.
4) Из сдвинутого остатка делитель вычитается, если остаток больше нуля, и прибавляется, если остаток меньше нуля.
5) В частное заносится единица, если результат больше нуля, и ноль, если меньше.
Пункты 6) – 7) аналогичны пунктам предыдущего алгоритма.
Деление чисел, представленных дополнительными кодами, можно осуществить, не переходя к модулям чисел. Причем, алгоритм деления будет подобен ранее рассмотренному, за исключением некоторых особенностей, обусловленных дополнительным кодом.