Реферат: Разработка узла с функцией перевода чисел из формата в формат
1. Число с фиксированной точкой
2. Число с плавающей точкой
Учитывая приведенные выше обозначения, общий принцип работы данного узла можно изобразить так:
Словесно, алгоритм преобразования можно описать так:
1. Занесение исходных данных в регистр RG1.
2. Занесение мантиссы числа с регистр RG2.
3. Занесение 7d(111b) в регистр порядка RG4 (автоматический сдвиг на 4 разряда + 3, так как порядок смещенный).
4. Нормализация результата:
а. Если мантисса не нормализована, т.е. старший бит равен "0", то сдвигаем мантиссу влево на 1 разряд с помощью регистра RG2 и с помощью сумматора SM вычитаем 1 из регистра RG4, который содержит порядок числа и заносим результат снова в регистр RG4. Возвращаемся к пункту 4.
б. Если в старшем разряде мантиссы "1", то значит число нормализовано и мы переходим к пункту 5.
5. Занесение результата в регистр RG3
Это было о алгоритме. Как же работает сама схема и отдельные ее части?
Сначала о частях. Рассмотрим два элемента данной схемы: сумматор и регистр.
СУММАТОР
Формулы для суммы и переноса и i-том разряде выглядят так:
S(i)=a*b*P(i-1)+a*b*P(i-1)+a*b*P(i-1)+a*b*P(i-1)
P(i)=a*b*P(i-1)+a*b*P(i-1)+a*b*P(i-1)+a*b*P(i-1), где:
S(i) - сумма в i-ом разряде,
P(i) - перенос в i-ом разряде,
a,b - слагаемые в i-ом разряде,
P(i-1) - перенос из i-1 разряда.
Один из вариантов схемы для реализации такого сумматора (точнее говоря элемента сумматора для одного разряда, из которых можно построить сумматор любой разрядности) выглядит так:
Формирователь суммы (вариант комбинационного сумматора) :
Этот элемент сумматора работает по несколько измененной формуле (в связи с базисом реализации И-НЕ и И-ИЛИ-НЕ):
Можно показать, что формирователь переноса строится абсолютно аналогично.
Затем перенос из i-того разряда передается на (i+1)-ый разряд, а сумма i-того разряда выводится. Соединяя такие блоки, можно получить сумматор любой разрядности.