Научная Петербургская Академия

Узел преобразования чисел - (реферат)

Узел преобразования чисел - (реферат)

Дата добавления: март 2006г.

    ВВЕДЕНИЕ
    Режим работы данного узла - преобразование чисел, поэтому
    стоит поговорить о самих числах и их представлении в ЭВМ.
    В ЭВМ используются двоичные числа, которые не привычны

обыкновенному человеку, привыкшему к арабским - десятичным числам. Но для ЭВМ операции и само хранение двоичных чисел бо лее удобно. Двоичные числа - это числа, составленные из 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-----------------+---
    _



(C) 2009