РефератыМатематикаУзУзел преобразования чисел

Узел преобразования чисел

ВВЕДЕНИЕ


Режим работы данного узла - преобразование чисел, поэтому


стоит поговорить о самих числах и их представлении в ЭВМ.


В ЭВМ используются двоичные числа, которые не привычны


обыкновенному человеку, привыкшему к арабским - десятичным


числам. Но для ЭВМ операции и само хранение двоичных чисел бо-


лее удобно. Двоичные числа - это числа, составленные из 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


T -T-- -T-


¦ ¦ L--- цифры после запятой (.8)


¦ L-------- цифры до запятой (5.0)


L----------- знаковый разряд (0='+', 1='-')


Но таким образом большие вещественные числа хранить не-


удобно и неэффективно. Поэтому используется второй вариант


хранения:


2. С плавающей точкой.


5.8 d = 0 1001 011 b


T -T-- -T-


¦ ¦ L--- порядок числа


¦ L-------- мантисса числа


L----------- знаковый разряд


То есть в формате с плавающей точкой хранится 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


¦ ¦ L-- цифры после запятой, 3 разряда


¦ L----- цифры до запятой, 4 разряда


L-------- знак, 1 разряд


2. Число с плавающей точкой


S2.M2.P2


¦ ¦ L-- порядок, 3 разряда


¦ L----- мантисса, 4 разряда


L-------- знак, 1 разряд.


Учитывая приведенные выше обозначения, общий принцип ра-


боты данного узла можно изобразить так:


Входные¦S1¦-------------+знак+------------->¦S2¦Выходные


данные ¦I1¦--¬ ----------¬ -->¦M2¦данные


¦R1¦-¬¦ ¦хранение ¦ ¦->¦P2¦


¦L->¦и работа ¦-¬ ---------¬ ¦¦


L-->¦с мантис-¦ ¦ ¦нормали-¦--¦


¦сой числа¦ L>¦зация ¦ ¦


L---------- ->¦резуль- ¦---


----------¬ ¦ ¦тата ¦


¦хранение ¦ ¦ L---------


¦и работа ¦--


¦с поряд- ¦


¦ком числа¦


L----------


Словесно, алгоритм преобразования можно описать так:


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 разряда.


Один из вариантов схемы для реализации такого сумматора


(точнее говоря элемента сумматора для одного разряда, из кото-


рых можно построить сумматор любой разрядности) выглядит так:


Формирователь суммы (вариант комбинационного сумматора) :


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---+------


Сдвиг-----+-------------------------+-----------------------


Наиболее экономичной для построения регистров сдвига яв-


ляется схема на D-триггерах, которая требует в 2 раза меньше


корпусов микросхем по сравнению со схемой на JK-триггерах и в


2 раза меньше связей между триггерами за счет однофазной пере-


дачи информации.


Реверсивный сдвиговый регистр имеет схемы управления


межтриггерными связями для чего обычно используют элементы


И-ИЛИ-НЕ. С помощью этих элементов в соответствии с сигналами,


управляющими направлением сдвига обеспечиваются связи между


триггерами для выполнения сдвига в заданном направлении.


В нашем узле мы не будем конструировать сами ни сумматор


ни регистры, поскольку все нужные нам элементы уже содержатся


в серии микросхем К155.


Теперь перейдем к конкретному рассмотрению схемы нашего


узла.


Входные данные подаются на регистр RG1 в параллельном ви-


де. Для этого на входы D1-D8 подаем входные данные а на ос-


тальные: V1=V2=R=1, D(+)=D(-)=0. Тогда по приходу синхроим-


пульса C1 данные со входов D1-D8 будут занесены в регистр. Об-


щая схема работы (с точки зрения синхроимпульсов) приведена


ниже:


¦


C1 ¦ --¬


+-- L---------------------------------


+-------------------------------------


¦ --¬


C2 +---- L-------------------------------


+-------------------------------------


¦ --¬ --¬ --¬ --¬ --¬ --¬ --¬


C3 +------ L-- L-- L-- L-- L-- L-- L-----


L-------------------------------------


Затем, как видно из вышеприведенной схемы, данные с выхо-


дов 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)¦ ---


L-----------------+----


_

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Узел преобразования чисел

Слов:3956
Символов:32646
Размер:63.76 Кб.