ВВЕДЕНИЕ
Режим работы данного узла -
преобразование чисел, поэтому
стоит
поговорить о самих числах и их представлении в ЭВМ.
В ЭВМ используются двоичные числа, которые
не привычны
обыкновенному
человеку, привыкшему к арабским
- десятичным
числам.
Но для ЭВМ операции и само хранение двоичных чисел бо-
лее
удобно. Двоичные числа - это числа, составленные из 0 и 1.
Например:
Десятичные числа Двоичные числа
0 0
1 1
2 10
3 11
4 100
5 101
6 110
и т.д.
С физической точки зрения, 1 можно представить как неко-
торый
импульс/уровень напряжения, а 0 - как отсутствие таково-
го.
Тогда, устанавливая некоторый порог напряжения, можно все,
что
выше этого порога считать 1, а что ниже - 0. С десятичными
числами
пришлось бы поступить сложнее - пришлось бы
вводить
несколько
пороговых уровней и на порядок
усложнились бы все
узлы и
блоки ЭВМ. Поэтому в современных ЭВМ
используются дво-
ичные
числа и двоичная арифметика.
Также в
современных ЭВМ применяется
шестнадцатиричная
арифметика.
Это связано с тем, что очень легко
выполнить пре-
образование
из шестнадцатиричной системы исчисления
в двоич-
ную и
наоборот. Одна шестнадцатиричная цифра
представляется
четыремя
двоичными, например:
Десятичные Двоичные Шестнадцатиричные
1 0001
1
9 1001
9
10 1010
A
11 1011
B
12 1100
C
15 1111
F
и т.д.
Принятая минимальная единица информации в
ЭВМ -
1 бит.
Один
бит равен одной двоичной цифре.
Более крупной единицей
является
байт. Один байт равен 8 битам. Существуют
и более
крупные
единицы - слово (2 байта), двойное
слово (4 байта),
килобайт
(1024 байта), мегобайт (1024 Кбайта) и т.д.
В данном курсовом, все операции
производятся с восьмираз-
рядными
числами, т.е. с числами, размером 1 байт.
Немного надо сказать о представлении
чисел в ЭВМ.
Числа делятся на целые и
вещественные. Это деление, ко-
нечно
весьма условно, но хорошо подходит для описания хранения
и
операций над числами в ЭВМ. Чтобы
сильно не углубляться в
общности,
рассмотрим конкретный вариант, используемый в данном
курсовом
- размер чисел 8 байт.
Как будут выглядеть целые числа -
показано в вышеприве-
денных
примерах. Как же будут выглядеть вещественные числа?
Существует 3 наиболее распространенных
варианта кодирова-
ния:
прямой код, обратный код и дополнительный код.
Далее введем одно обозначение. Если
после цифры стоит
"d"
- это десятичная цифра, "b" - двоичная, а "h" - шестнадца-
тиричная.
Прямой код - это так сказать
"естественный" код, то есть
1d=0001b,
10d=1010b, 15d=1111b и т.д.
Обратный код образуется из прямого путем
инвертирования
всех
разрядов прямого кода, например 1d=0001b в прямом=1110b в
обратном,
10d=1010b в прямом=0101b в обратном коде.
Дополнительный получается из обратного,
путем прибавления
к
младшему разряду 1.
Обычно,
прямой код используется для хранения положитель-
ных
чисел, а обратный и дополнительный - для отрицательных чи-
сел.
В нашем курсовом, вся работа с числами ведется в прямом
коде.
Но выше мы рассматривали только целые
числа, а как посту-
пить с
дробными?
Существует два возможных варианта
хранения - в формате с
фиксированной
точкой и в формате с плавающей
точкой. Покажем
"в
живую" эти форматы на примере:
1. С фиксированной точкой:
5.8 d = 0 0101 110 b
В ДВДД ДВД
і і АДДД цифры после
запятой (.8)
і АДДДДДДДД цифры до запятой (5.0)
АДДДДДДДДДДД знаковый разряд
(0='+', 1='-')
Но таким образом большие вещественные
числа хранить не-
удобно
и неэффективно. Поэтому используется второй вариант
хранения:
2. С плавающей точкой.
5.8 d = 0 1001 011 b
В ДВДД ДВД
і і АДДД порядок числа
і АДДДДДДДД мантисса числа
АДДДДДДДДДДД знаковый разряд
То есть в формате с плавающей точкой
хранится 2 числа -
порядок
и мантисса. Так как порядок может быть
и отрицатель-
ным, то
приняли еще одно правило: порядок всегда смещенный. То
есть если
порядок колеблется от +128d до -127d
то к порядку
всегда
прибавляют 127d и тогда он колеблется в пределах от 0
до
+255d и таким образом нам не приходится хранить знак числа.
В связи с такими разными форматами
представления чисел в
ЭВМ и
был разработан данный узел, задача которого - преобразо-
вание
чисел из формата с фиксированной точкой в формат с пла-
вающей
точкой.
ВЫБОР СТРУКТУРЫ УЗЛА
Так как по заданию ввод/вывод в данном
узле должен проис-
ходить
параллельно, то потребуется 2 регистра
(один для вход-
ных
данных, один для выходных), разрядность
которых исходя из
условия
- 8 бит. Также, для промежуточных результатов потребу-
ется 1
восьмиразрядный регистр (для хранения и работы
с ман-
тиссой)
и один четырехразрядный регистр и
один сумматор для
обработки
порядка. Дополнительно также
потребуется 13 элемен-
тов
И-НЕ. Это пока все без доказательства - оно будет позже. В
качестве 8-ми
разрядных регистров нам
хорошо подходят
К155ИР13, в качестве 4-х разрядного - К155ИР1. Также мы
ис-
пользуем
сумматор К155ИМ3, а
для дополнительной логики
4
микросхемы
К155ЛА3. Итого вся схема собрана собрана,
как и
требовалось
на микросхемах серии К155.
Альтернативный вариант
схемы
будет рассмотрен далее. Общая схема
узла приводится в
приложении.
РАСЧЕТ ПОСТРОЕНИЯ И ОПИСАНИЕ
ПРИНЦИПИАЛЬНЫХ СХЕМ
Как же именно, с моей точки зрения, должен работать дан-
ный
узел? В целом его работу можно описать так:
Обозначим:
1. Число с фиксированной точкой
S1.I1.R1
і
АДД цифры после запятой, 3
разряда
і
АДДДДД цифры до запятой, 4 разряда
АДДДДДДДД знак, 1 разряд
2. Число с плавающей точкой
S2.M2.P2
і
АДД порядок, 3 разряда
і
АДДДДД мантисса, 4 разряда
АДДДДДДДД знак, 1 разряд.
Учитывая приведенные выше
обозначения, общий принцип ра-
боты
данного узла можно изобразить так:
ВходныеіS1іДДДДДДДДДДДДДґзнакГДДДДДДДДДДДДД>іS2іВыходные
данные іI1іДДї ЪДДДДДДДДДї
ЪД>іM2іданные
іR1іДїі іхранение і
Ъ>іP2і
іАД>іи работа іДї
ЪДДДДДДДДї іі
АДД>іс мантис-і і
нормали-іДЩі
ісой числаі
А>ізация і і
АДДДДДДДДДЩ Ъ>ірезуль-
ДДЩ
ЪДДДДДДДДДї і ітата і
іхранение і і АДДДДДДДДЩ
іи работа іДЩ
іс поряд- і
іком числаі
АДДДДДДДДДЩ
Словесно, алгоритм преобразования можно
описать так:
1. Занесение исходных данных в регистр
RG1.
2. Занесение мантиссы числа с регистр
RG2.
3. Занесение 7d(111b) в регистр порядка
RG4 (автоматичес-
кий сдвиг на 4 разряда + 3, так как
порядок смещенный).
4. Нормализация результата:
а. Если мантисса не нормализована, т.е.
старший бит равен
"0", то сдвигаем мантиссу влево
на 1 разряд с помощью ре-
гистра RG2 и с помощью сумматора SM
вычитаем 1 из регист-
ра RG4,
который содержит порядок числа и заносим резуль-
тат снова в регистр RG4. Возвращаемся к
пункту 4.
б. Если в старшем разряде мантиссы "1", то значит число
нормализовано и мы переходим к пункту 5.
5. Занесение результата в регистр RG3
Это было о алгоритме. Как же работает сама схема и
от-
дельные
ее части?
Сначала о частях. Рассмотрим два элемента данной схемы:
сумматор
и регистр.
СУММАТОР
Формулы для суммы и переноса и
i-том разряде выглядят
так: _ _ _
_ _ _
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 разряда.
Один из вариантов схемы для
реализации такого сумматора
(точнее
говоря элемента сумматора для одного разряда, из кото-
рых
можно построить сумматор любой разрядности) выглядит так:
Формирователь суммы (вариант
комбинационного сумматора) :
P(i-1)ДВДДДДДДДДДДДДДДДДДДДДї ЪДВДДДДДї
і АДДДВДґ&і1 і
aДДДДВДЕДДДДДДДДДВДДДДДДДДДДДДДДЕДґ
і
і і і ЪДВЕДґ
і
bДДДДЕВЕДДДДДДДДДЕДДДДДДДДДДДЩ
ГДґ OДї
ііі
ЪДДДї
АДДДДДДДДДДДДДЕЕДґ&і і і
іііЪДґ& і ЪДДДДДДДДДДДВЕЕДґ
і і
ііАґ і
OДДДЩ ЪДДЕЕЕДґ і і і
іі АДґ
ЪДДДї і ііі АДБДДДДДЩ і ЪДДДї
іі
АДДДЩ ЪДґ& і і
ЪДВДДДДДї АДДґ& і
іАДДДДДДДДДДДДґ і OДґ
АЕДґ&і1 і і
OДД S(i)
і
ЪДДДї АДґ і і
АДЕДґ і і ЪДДґ і
і
ЪДґ& і АДДДЩ і ЪДДЕДґ і і і
АДДДЩ
АДДґ і
OДДДДДДДї і і і ГДґ
OДЩ
АДґ
і і і
АДґ&і і
АДДДЩ АДДДДЕДБДДДДґ і і
АДДДДДДґ і і
АДБДДДДДЩ
Этот элемент сумматора работает по несколько
измененной
формуле
(в связи с базисом реализации И-НЕ и И-ИЛИ-НЕ):
S(i)=(a*b*P(i-1)+a*b*P(i-1))*(a*b*P(i-1)+a*b*P(i-1))
Можно показать, что формирователь
переноса строится абсо-
лютно
аналогично.
Затем перенос из i-того разряда передается
на (i+1)-ый
разряд,
а сумма i-того разряда выводится.
Соединяя такие бло-
ки,
можно получить сумматор любой разрядности.
Таким образом, в представленном сумматоре сумма формиру-
ется
параллельно, а перенос
последовательно. Данный сумматор
не
отличается высоким быстродействием, а для повышения быстро-
действия
используют так называемый сквозной и групповой
пере-
нос.
В качестве элементов для такого
сумматора можно взять
микросхемы
К155ЛА3 и две К155ЛР4.
Возможно также построение сумматоров на
основе тригге-
ров -
тогда сумматор будет
накапливающим, то есть результат
суммы
будет доступен для считывания
даже после отключения
входных
сигналов.
РЕГИСТР
Регистры в данном курсовом проекте
используются для хра-
нения и
преобразования (сдвига) мантиссы и
порядка. В целом
регистры
делятся на параллельные,
последовательные и комбини-
рованные.
В нашем узле используются возможности как параллель-
ных (для
хранения) так и последовательных (для сдвига) регист-
ров.
Как же строятся регистры? Регистры
строятся на основании
триггеров,
количество которых зависит от разрядности регистра.
Параллельные регистры.
Вот пример простейшего параллельного
однофазного регистра
на
RS-триггерах:
Вывод
прямого кодаДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДД
ВводДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДД
і ЪДДДї ЪДДДВДДДДДДї і ЪДДДї
АДґ& і і і TT
АДґ& і
і
OДДДДДO S і ГДї і
OДДДДДДДї
X(i) ДДДґ
і і і АДДДґ і
АДДДЩ ГДДДґ і АДДДЩ ЪДДДї і ЪДДДї
і і і ЪДДДДДДДґ& і АДґ& і
ЪДДO R і OДДДЩ і OДї і OДД X(i)
і і і і
ЪДДґ і АДґ і
і АДДДБДДДДДДЩ і АДДДЩ
АДДДЩ
Установка
"0"ДДДБДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДД
Вывод
обратного кодаДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДД
Эта схема только для одного разряда, но
соединив такие
блоки
можно получить регистр любой разрядности. Условное обоз-
начение
для 4-х разрядного регистра:
ЪДДВДДДДВДДї
ДДДДґS1іRG і і
і і і1 ГДДД
ДДДДґS2і і OДДД
і і і2 ГДДД
ДДДДґS4і і OДДД
і і і4 ГДДД
ДДДДO Rі і OДДД
АДДБДДДДБДДЩ
Такой регистр является 2-х тактным,
поскольку ввод инфор-
мации
производится в 2 такта: первым тактом
на шину "Уст. 0"
подается
0 сигнал для установки в 0 всех триггеров,
при этом
на шине
"Ввод" - 0; вторым тактом
устанавливается 1 на шинах
"Уст.
0" и "Ввод" и значения разрядов X1,X2,..,X(i),.. записы-
ваются
по входу S триггеров. Ввод - в прямом коде. Вывод - как
в
прямом так и в обратном. Для
вывода в нужном
нам коде
подается
1 на нужную нам шину, причем
одновременная подача 1
на обе
шины запрещена.
Парафазный регистр на RS-триггерах:
Ввод
кодаДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
і ЪДДДї ЪДДДВДДДДДДї ЪДДДї
ГДґ& і і і TT
ЪДДДДґ& і _
і і OДДДДДO S і ГДЩ і
OДДД X(i)
X(i) ДДЕДґ і і і
ЪДґ і
і ГДДДґ ГДДДґ і і ГДДДґ
АДґ& і і і
ЪДДЕДґ& і
_
OДДДДДO R і OДЩ
OДДД X(i)
X(i) ДДДДґ і і і
ГДґ і
АДДДЩ
АДДДБДДДДДДЩ і АДДДЩ
Вывод
кодаДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДД
Также как и в предыдущем случае (и как
будет во всех по-
следующих)
это схема всего одного разряда, соединяя
которые
вместе
можно получить регистр любой разрядности.
Отличие данного регистра от
предыдущего заключается в
том, что ввод информации осуществляется путем
подачи "1" на
шину
"Ввод" без предварительной установки в 0, т.е. за 1 такт.
Это
объясняется парафазным представлением вводимого кода. Вы-
вод
также парафазный, для чего необходимо
подать 1 на шину
"Вывод".
Однофазный регистр на D-триггерах:
ЪДДДВДДДДДДДДї
ДДДO S і TT і
і і ГДДД
X(i) ДДДі D і і
і і і ЪДДДї
ЪДДДД>і C і і
ЪДґ& і
і
і OДДДДЩ і OДДД X(i)
і
ДДДO R і і ЪДґ
і
АДДДБДДДДДДДДЩ і АДДДЩ
ВводДДДДБДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДД
Вывод
прямого кодаДДДДДДДДДДДДДДБДДДДДДДДДДДДДД
Значения подаются на входы D
соответствующих триггеров, а
сигнал
"Ввод" подается подается на входы C,
причем предвари-
тельная
установка в "0" не требуется.
Парафазный регистр на JK-триггерах:
ЪДДДВДДДДДДДДДї
ДДДO S і TT і
ГДДДґ і ЪДДДї
X(i)
ДДДДДДДДДґ J і
ГДДДДДДґ& і _
і і і і
OДДД X(i)
ЪДДДД>і C і і ЪДґ і
_ і
і і і АДДДЩ
X(i)
ДДДЕДДДДДґ K і OДД і
і
ГДДДґ і і
і
ДДДO R і і і
і
АДДДБДДДДДДДДДЩ і
ВводДДДДБДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДД
Вывод
обратного кодаДДДДДДДДДДДДДБДДДДДДДДДДДДДД
Вводимая информация должна быть
представлена в парафазном
коде, а выводимая информация может быть в
прямом, обратном и
парафазном
виде. Данный регистр, как и предыдущий, является
однотактным.
Последовательные регистры
(регистры сдвига)
В отличие от параллельных регистров, которые не
связаны
друг с
другом, параллельные регистры обязательно связаны между
собой. По этим связям при сдвиге информации
каждый триггер
передает
свое состояние соседнему в направлении сдвига тригге-
ру и
изменяет свое состояние, принимая
состояние предыдущего
триггера.
Информация может передаваться между триггерами как в
однофазном
так и в парафазном виде, а сдвиг может производить-
ся
вправо либо влево для простых регистров сдвига или в любом
направлении
для реверсивных регистров сдвига.
Как же построить регистр данного вида?
Для этого необхо-
димо
определить взаимодействие между триггерами:
Для D-триггера:
RG>:
D(i)=Q(i-1)
ЪДДДВДДДДДДї ЪДДДВДДДДДДї
ДДДДO S іTT і Q(i) ДДДДO S іTT і Q(i+1)
ГДДДґ ГДДДї ГДДДґ ГДДД
ДДДДґ D і і АДДДДДДДґ D і і
ЪД>і C і і ЪД>і C
і
і
ГДДДґ OДДД і
ГДДДґ OДДД
і ЪO R і і і ЪO R і і
і іАДДДБДДДДДДЩ і іАДДДБДДДДДДЩ
Уст."0"ДДЕДБДДДДДДДДДДДДДДДДДДДДЕДБДДДДДДДДДДДДДДД
СдвигДДДДБДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДД
Для сдвига влево используется формула:
D(i)=Q(i+1). Стро-
ится
такой регистр аналогично.
Вот формулы и схема для
для аналогичного регистра
на
JK-триггерах:
_
RG>:
J(i)=Q(i-1), K(i)=Q(i-1)
ЪДДДВДДДДДї Q(i) ЪДДДВДДДДДї
X(i) ДДДДґ J іTT ГДДДДДДДДДДДДДДДґ J іTT
ГДДДД Q(i+1)
і і і і і і
Ъ>і C і і _ Ъ>і C
і
_
і і Q(i) і і і
_
X(i) ДДЕДґ K і OДДДДДДДДДДДДДЕДґ K і
OДДДД Q(i+1)
і АДДДБДДДДДЩ і АДДДБДДДДДЩ
СдвигДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДД
Наиболее экономичной для построения
регистров сдвига яв-
ляется
схема на D-триггерах, которая требует в
2 раза меньше
корпусов
микросхем по сравнению со схемой на JK-триггерах и в
2 раза
меньше связей между триггерами за счет однофазной пере-
дачи
информации.
Реверсивный сдвиговый регистр имеет
схемы управления
межтриггерными
связями для чего обычно
используют элементы
И-ИЛИ-НЕ.
С помощью этих элементов в соответствии с сигналами,
управляющими
направлением сдвига обеспечиваются связи
между
триггерами
для выполнения сдвига в заданном направлении.
В нашем узле мы не будем конструировать
сами ни сумматор
ни
регистры, поскольку все нужные нам
элементы уже содержатся
в серии
микросхем К155.
Теперь перейдем к конкретному
рассмотрению схемы нашего
узла.
Входные данные подаются на регистр RG1 в
параллельном ви-
де. Для этого на входы D1-D8 подаем входные
данные а на ос-
тальные: V1=V2=R=1,
D(+)=D(-)=0. Тогда по приходу
синхроим-
пульса
C1 данные со входов D1-D8 будут занесены в регистр. Об-
щая
схема работы (с точки зрения синхроимпульсов) приведена
ниже:
і
C1 і ЪДї
ГДЩ АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
і
ЪДї
C2 ГДДДЩ АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
і
ЪДї ЪДї ЪДї ЪДї ЪДї ЪДї ЪДї
C3 ГДДДДДЩ АДЩ АДЩ АДЩ АДЩ АДЩ АДЩ АДДДДД
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Затем, как видно из вышеприведенной
схемы, данные с выхо-
дов 2-8
регистра RG1 поступают на входы
D1-D7 регистра RG2,
причем
на вход D8 подается 0. Абсолютно
аналогично, то есть
подав
V1=V2=R=1, D(+)=D(-)=0 мы заносим
данные (это мантисса
числа, которую нам надо нормализовать) по приходу
синхроим-
пульса
C2 в регистр RG2. По приходу этого же
синхроимпульса в
регистр
RG4 заносится 7d=111b - это сразу смещенный
порядок
числа.
Затем, начинается подача импульсов C3.
Что же происхо-
дит при
этом? Здесь начинает работать
логика на элементах
И-НЕ. То есть,
проверяется содержится ли в
старшем разряде
мантиссы
0 (выход 1 регистра RG2). Если да, то сихнроимпульс
приходит
на регистры RG2 и RG4. Это приводит к тому,
что ман-
тисса,
содержащаяся в регистре RG2 сдвигается на 1 разряд вле-
во, а
информация из регистра RG4 поступает на сумматор, где из
порядка
вычитается 1 и обратно заносится в регистр RG4. Таким
образом
мы разряд за разрядом нормализуем
мантиссу. Когда в
старшем
разряде мантиссы окажется 1, то
сработает логика на
элементах
И-НЕ и синхроимпульс C3 пойдет на регистр RG3, в ко-
торый
попадут выходные данные: старший разряд
с регистра RG1
(знак),
четыре разряда с регистра RG2 (мантисса) и три разряда
с
регистра RG4 (порядок). Для обеспечения
работы регистра RG2
в
параллельном и последовательном режиме на входе узла имеется
управляющий
вход V2. В начале работы, для обеспечения парал-
лельного
занесения из регистра RG1 в RG2 на вход
V2 должна
подаваться
1, а затем, для сдвига влево, должен
подаваться 0.
В
регистре RG4, для обеспечения параллельного занесения на
входы
D0, V и C1 подается 1. Занесение 0111b (07d) в регистр
RG4
происходит при появлении
синхроимпульса C2, который
не
только
обеспечивает занесение 7d в регистр порядка но и обес-
печивает
занесение в регистр RG2 мантиссы, а синхроимпульсы C3
отвечают
за нормализацию мантиссы и за занесение выходных дан-
ных в
регистр RG3 (это так сказать "выходной" регистр, с кото-
рого
снимаются результаты преобразования).
Временная диаграмма для конкретного
примера приводится в
приложении, однако в несколько сокращенном виде
поскольку по-
лную
временную диаграмму привести практически очень тяжело по-
скольку
она будет занимать очень большой размер,
да и это не-
нужно
потому что некоторые внутренние входы/выходы практически
никакой
смысловой нагрузки не несут.
Более подробное описание логики (уже на
основе конкретной
схемы, приведенной в приложении и на основе
позиционных обоз-
начений
микросхем) следует далее:
Как было описано выше, после появления синхроимпульса на
входе
XP6 (C1) входные данные с шины XP5 заносятся
в регистр
D1.
После чего появляется сигнал XP8 (C2) который заносит зна-
чения
2-8 регистра D1 (мантисса) в регистр D2.
Надо помнить,
что при
этом управляющий вход XP7 (управление
регистром, V2)
подана
1. Кроме того, сигнал XP8,
проходит через логику на
элементах
D6.1-D6.3, D7.1-D7.3, которые появляются на входах
d1-d3
регистра D4. После пропадания
сигнала XP8 по заднему
фронту
в регистр D4 заносится значение
0111b (07d). Затем
синхроимпульсы
появляются на входе XP9 (C3). На логике
D8.3
старший
разряд регистра D2 инвертируется и поступает совместно
с XP9
на элементы D6.4 и D7.4. Если в старшем разряде регистра
D2
содержится 0, то данная логика сработает и на входах C1 ре-
гистра
D4 и C регистра D2 возникнет
синхроимпульс. На входе
XP7
(управление регистром) у нас уже 0. Это
приводит к тому,
что
значение в регистре D2 сдвинется влево на один разряд. Вы-
ходные
данные с регистра D4 уже прошли
через сумматор D5 и
(всвязи
с тем, что каждый четный выход у этого
сумматора ин-
версный)
логику на элементах D8.1, D8.2
поступили на вход ре-
гистра
D4. В сумматоре данные складываются со
значением 1111b
(-1d),
то есть фактически вычитается 1.
Итак, эти данные уже
поступили
на вход регистра D4 и после
прихода синхроимпульса
на C2
эти данные в параллельном виде заносятся в регистр D4.
В эти же моменты времени у нас работает
логика на элемен-
тах
D8.4, D9.1, которая проверяет, а не появилась ли у нас в
старшем
разряде регистра D2 единица?
Пока в старшем разряде D2 будет
появляться 0 - будет идти
сдвиг
мантиссы и вычитание из порядка 1. Но как только в стар-
шем
разряде регистра D2 появится 0, то сработает
логика на
элементах
D6.4 и D7.4 которая прекратит подачу синхроимпульсов
и
преобразования над мантиссой и порядком.
С другой стороны,
сработает
логика на регистрах D8.4 и D9.1 и синхроимпульс XP9
(C3)
появится на входе регистра D3, что
приведет к занесению
результатов
преобразования в регистр D3 (старший разряд из ре-
гистра
D1 - знак, 4 разряда из регистра D2 - мантисса и 3 раз-
ряда из
регистра D4 - порядок).
Все преобразования закончились и узел
готов к следующему
преобразованию.
Возможен также альтернативный вариант
схемы: вместо связ-
ки
регистр-сумматор можно использовать
синхронный вычитающий
счетчик
с возможностью параллельного занесения информации.
Тогда
порядок подавался бы в на этот счетчик, а при преобразо-
вании
(сдвиге) мантиссы из порядка вычиталась
бы 1. Данный,
альтернативный
вариант хотя и на порядок проще, однако и рабо-
тает он
медленнее, так как вычитающий счетчик работает медлен-
нее чем
пара регистр-сумматор.
АНАЛИЗ БЫСТРОДЕЙСТВИЯ
Временная диаграмма для конкретного
числа (1 0010 101)
приведена
в приложении, а мы займемся быстродействием.
1. Занесение данных в регистр D1 - 30 нс.
2. Занесение данных в регистры D2, D4:
а. D2: 30 нс.
б. D4: логика И-НЕ - 15+22 нс=37 нс и
занесение в регистр
35 нс.
3. Работа логики D8.3: 22 нс;
D8.4+D9.1=37 нс (просиходит
параллельно с пунктом 4a).
4. Обработка порядка и мантиссы:
а. Сдвиг в регистре D2: 30 нс.
б. Порядок: сумматор, логика И-НЕ,
параллельное занесение
в регистр: 55+22+35=112
5. Занесение информации в регистр D3: 30
нс.
То есть при худшем раскладе - 6
преобразований над ман-
тиссой
и порядком, суммарное быстродействие узла:
30+72+112*6+30=804 нс.
То есть максимальная частота
преобразования=1,24 МГц.
ЗАКЛЮЧЕНИЕ
В данном курсовом проекте был разработан
узел, который
выполняет
функцию перевода чисел из формата
с фиксировнной
точкой
в формат с плавающей точкой.
Построенный узел выполняет поставленную
функцию и хотя и
не
является оптимальным, но работает при
данных условиях (как
максимальная частота
преобразования, так и
реализация на
микросхемах
серии К155 и т.д.). Если критичны
затраты по эле-
ментам,
то более предпочтителен альтернативный вариант, а если
по
времени - то основной.
ЛИТЕРАТУРА
1. Каган Б.М., Электронные вычислительные
машины и систе-
мы, М.
1991 год.
2.
Рахимов Т.М., Справочник по
микросхемам серии К155,
Новосибирск
1991 год.
3. Иванов Л.Н., Пентегов В.В.,
Архитектура вычислительных
систем
и сетей. Методические указания к курсовому проектирова-
нию,
Новосибирск 1986 год.
ВРЕМЕНННАЯ ДИАГРАММА РАБОТЫ
УЗЛА
ДЛЯ ЧИСЛА 1 0010 101
і
A1
ЪДДДДДДДДДДДДДДДДДДД A1-A8
- входные данные
ГБДДДДДДДДДДДДДДДДДДДДД
і
A2
ГННННННННННННННННННННДД
і
A3
ГННННННННННННННННННННДД
і
A4
ЪДДДДДДДДДДДДДДДДДДД
ГБДДДДДДДДДДДДДДДДДДДДД
і
A5
ГННННННННННННННННННННДД
і
A6
ЪДДДДДДДДДДДДДДДДДДД
ГБДДДДДДДДДДДДДДДДДДДДД
і
A7
ГННННННННННННННННННННДД
і
A8
ЪДДДДДДДДДДДДДДДДДДД
ГБДДДДДДДДДДДДДДДДДДДДД
і
C1
ЪДї
С1-синхроимпульс
ГНБДБННННННННННННННННДД
і
Q1(1)і
ЪДДДДДДДДДДДДДДДД Q1(1-8)
- выходы регистра D1
ГНННБДДДДДДДДДДДДДДДДДД
і
Q1(2)і
ГННННННННННННННННННННДД
і
Q1(3)і
ГННННННННННННННННННННДД
і
Q1(4)і
ЪДДДДДДДДДДДДДДДД
ГДДДБДДДДДДДДДДДДДДДДДД
і
Q1(5)і
ГДДДНННННННННННННННННДД
і
Q1(6)і
ЪДДДДДДДДДДДДДДДД
ГДДДБДДДДДДДДДДДДДДДДДД
і
Q1(7)і
ГДДДНННННННННННННННННДД
і
Q1(8)і
ЪДДДДДДДДДДДДДДДД
ГДДДБДДДДДДДДДДДДДДДДДД
і
C2
ЪДї
ГДДДНБДБНННННННННННННДД
і
C3
ЪДї ЪДї ЪДї C2,C3 - синхроимпульсы
ГДДДННННБДБНБДБНБДБННДД
і
Q2(1)і ЪДДДДДД
Q2(1-7) - выходы регистра D2
ГДДДННННННННННБДДДДДДДД
і
Q2(2)і ЪДДДї
ГДДДННННННБДДДБННННННДД
і
Q2(3)і
ЪДДї ЪДДДДДД
ГДДДНННБДДБНННБДДДДДДДД
і
Q2(4)і ЪДДДї
ГДДДННННННБДДДБННННННДД
і
Q2(5)і
ЪДДї ЪДДДДДД
ГДДДНННБДДБНННБДДДДДДДД
і
Q2(6)і ЪДДДї
ГДДДННННННБДДДБННННННДД
і
Q2(7)і
ЪДДї
ГДДДНННБДДБННННННННННДД
і
Q4(1)і
ЪДДї ЪДДДДДД Q4(1-3) - выходы регистра D4
ГДДДНННБДДБНННБДДДДДДДД
і
Q4(2)і
ЪДДДДДДї
ГДДДНННБДДДДДДБННННННДД
і
Q4(3)і
ЪДДДДДДДДДДДДД
ГДДДНННБДДДДДДДДДДДДДДД
і
Q3(1)і ЪДД
Q4(1-8) - выходы регистра D3
ГДДДДДДДДДДДДДДДДДБДДДД
і
Q3(2)і ЪДД
ГДДДДДДДДДДДДДДДДДБДДДД
і
Q3(3)і
ГДДДДДДДДДДДДДДДДДННННД
і
Q3(4)і ЪДД
ГДДДДДДДДДДДДДДДДДБДДДД
і
Q3(5)і
ГДДДДДДДДДДДДДДДДДННННД
і
Q3(6)і ЪДД
ГДДДДДДДДДДДДДДДДДБДДДД
і
Q3(7)і
ГДДДДДДДДДДДДДДДДДННННД
і
Q3(8)і ЪДД
АДДДДДДДДДДДДДДДДДБДДДД