Узел преобразования чисел - (реферат)
p>(точнее говоря элемента сумматора для одного разряда, из кото рых можно построить сумматор любой разрядности) выглядит так:Формирователь суммы (вариант комбинационного сумматора) :
P(i-1)-T--------------------¬ --T-----¬
¦ L---T-+&¦1 ¦
a----T-+---------T--------------+-+ ¦ ¦
¦ ¦ ¦ --T+-+ ¦ ¦
b----+T+---------+------------ ¦¦ +-+ O-¬
¦¦¦ ----¬ L-------------++-+&¦ ¦ ¦
¦¦¦--+& ¦ ------------T++-+ ¦ ¦ ¦
¦¦L+ ¦ O---- ---+++-+ ¦ ¦ ¦
¦¦ L-+ ¦ ----¬ ¦ ¦¦¦ L-+------ ¦ ----¬
¦¦ L---- --+& ¦ ¦ ¦¦¦ --T-----¬ L--+& ¦
¦L------------+ ¦ O-+ ¦L+-+&¦1 ¦ ¦ O-- S(i)
¦ ----¬ L-+ ¦ ¦ L-+-+ ¦ ¦ ---+ ¦
¦ --+& ¦ L---- ¦ ---+-+ ¦ ¦ ¦ L---
L--+ ¦ O-------¬ ¦ ¦ ¦ +-+ O-
L-+ ¦ ¦ ¦ ¦ L-+&¦ ¦
L---- L----+-+----+ ¦ ¦
L------+ ¦ ¦
L-+-----
Этот элемент сумматора работает по несколько измененной
формуле (в связи с базисом реализации И-НЕ и И-ИЛИ-НЕ):
_______________________________________________
_____________________ _____________________
_ _ _ _ _ _
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-триггерах:
Вывод прямого кода----------------T-------------------------- Ввод---T--------------------------+-------------------------- ¦ ----¬ ----T------¬ ¦ ----¬
L-+& ¦ ¦ ¦ TT ¦ L-+& ¦
¦ O-----O S ¦ +-¬ ¦ O-------¬
X(i) ---+ ¦ ¦ ¦ ¦ L---+ ¦ ¦
L---- +---+ ¦ L---- ----¬ ¦ ----¬
¦ ¦ ¦ --------+& ¦ L-+& ¦
---O R ¦ O---- ¦ O-¬ ¦ O-- X(i)
¦ ¦ ¦ ¦ ---+ ¦ L-+ ¦
¦ L---+------- ¦ L---- L---
Установка "0"---+----------------------+--------------------- Вывод обратного кода-------------------+---------------------
Эта схема только для одного разряда, но соединив такие
блоки можно получить регистр любой разрядности. Условное обоз начение для 4-х разрядного регистра:
---T----T--¬
----+S1¦RG ¦ ¦
¦ ¦ ¦1 +--
----+S2¦ ¦ O--
¦ ¦ ¦2 +--
----+S4¦ ¦ O--
¦ ¦ ¦4 +--
----O R¦ ¦ O--
L--+----+--
Такой регистр является 2-х тактным, поскольку ввод инфор
мации производится в 2 такта: первым тактом на шину "Уст. 0" подается 0 сигнал для установки в 0 всех триггеров, при этом на шине "Ввод" - 0; вторым тактом устанавливается 1 на шинах "Уст. 0" и "Ввод" и значения разрядов X1, X2, .. ,X(i), .. записы ваются по входу S триггеров. Ввод - в прямом коде. Вывод - как в прямом так и в обратном. Для вывода в нужном нам коде подается 1 на нужную нам шину, причем одновременная подача 1 на обе шины запрещена.
Парафазный регистр на RS-триггерах:
Ввод кода---T------------------------------------------------ ¦ ----¬ ----T------¬ ----¬
+-+& ¦ ¦ ¦ TT ¦ -----+& ¦ _
¦ ¦ O-----O S ¦ +-- ¦ O--- X(i)
X(i) --+-+ ¦ ¦ ¦ ¦ --+ ¦
¦ +---+ +---+ ¦ ¦ +---+
L-+& ¦ ¦ ¦ ¦ ---+-+& ¦
_ ¦ O-----O R ¦ O-- ¦ ¦ O--- X(i)
X(i) ----+ ¦ ¦ ¦ ¦ +-+ ¦
L---- L---+------- ¦ L---
Вывод кода------------------------------+--------------------
Также как и в предыдущем случае (и как будет во всех по
следующих) это схема всего одного разряда, соединяя которые вместе можно получить регистр любой разрядности.
Отличие данного регистра от предыдущего заключается в
том, что ввод информации осуществляется путем подачи "1" на шину "Ввод" без предварительной установки в 0, т. е. за 1 такт. Это объясняется парафазным представлением вводимого кода. Вы вод также парафазный, для чего необходимо подать 1 на шину "Вывод".
Однофазный регистр на D-триггерах:
----T--------¬
---O S ¦ TT ¦
¦ ¦ +--
X(i) ---¦ D ¦ ¦
¦ ¦ ¦ ----¬
----->¦ C ¦ ¦ --+& ¦
¦ ¦ ¦ O----- ¦ O--- X(i)
¦ ---O R ¦ ¦ --+ ¦
¦ L---+--------- ¦ L---
Ввод----+-----------------------+-------------
Вывод прямого кода--------------+-------------
Значения подаются на входы D соответствующих триггеров, а
сигнал "Ввод" подается подается на входы C, причем предвари тельная установка в "0" не требуется.
Парафазный регистр на JK-триггерах:
----T---------¬
---O S ¦ TT ¦
+---+ ¦ ----¬
X(i) ---------+ J ¦ +------+& ¦ _
¦ ¦ ¦ ¦ O--- X(i)
----->¦ C ¦ ¦ --+ ¦
_ ¦ ¦ ¦ ¦ ¦ L---
X(i) ---+-----+ K ¦ O-- ¦
¦ +---+ ¦ ¦
¦ ---O R ¦ ¦ ¦
¦ L---+---------- ¦
Ввод----+------------------------+-------------
Вывод обратного кода-------------+-------------
Вводимая информация должна быть представлена в парафазном
коде, а выводимая информация может быть в прямом, обратном и парафазном виде. Данный регистр, как и предыдущий, является однотактным.
Последовательные регистры
(регистры сдвига)
В отличие от параллельных регистров, которые не связаны
друг с другом, параллельные регистры обязательно связаны между собой. По этим связям при сдвиге информации каждый триггер передает свое состояние соседнему в направлении сдвига тригге ру и изменяет свое состояние, принимая состояние предыдущего триггера. Информация может передаваться между триггерами как в однофазном так и в парафазном виде, а сдвиг может производить ся вправо либо влево для простых регистров сдвига или в любом направлении для реверсивных регистров сдвига.
Как же построить регистр данного вида? Для этого необхо
димо определить взаимодействие между триггерами:
Для D-триггера:
RG>: D(i)=Q(i-1)
----T------¬ ----T------¬
----O S ¦TT ¦ Q(i) ----O S ¦TT ¦ Q(i+1)
+---+ +---¬ +---+ +--
----+ D ¦ ¦ L-------+ D ¦ ¦
-->¦ C ¦ ¦ -->¦ C ¦ ¦
¦ +---+ O--- ¦ +---+ O--
¦ -O R ¦ ¦ ¦ -O R ¦ ¦
¦ ¦L---+------- ¦ ¦L---+------
Уст. "0"--+-+--------------------+-+--------------
Сдвиг----+----------------------+----------------
Для сдвига влево используется формула: D(i)=Q(i+1). Стро
ится такой регистр аналогично.
Вот формулы и схема для для аналогичного регистра на
JK-триггерах:
_
RG>: J(i)=Q(i-1), K(i)=Q(i-1)
----T-----¬ Q(i) ----T-----¬
X(i) ----+ J ¦TT +---------------+ J ¦TT +---- Q(i+1)
¦ ¦ ¦ ¦ ¦ ¦
->¦ C ¦ ¦ _ ->¦ C ¦ ¦
_ ¦ ¦ ¦ ¦ Q(i) ¦ ¦ ¦ ¦ _
X(i) --+-+ K ¦ O-------------+-+ K ¦ O---- Q(i+1)
¦ L---+------ ¦ L---+-----
Сдвиг-----+-------------------------+----------------------
Наиболее экономичной для построения регистров сдвига яв