RSS    

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

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

Дата добавления: март 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 разряда.
    Один из вариантов схемы для реализации такого сумматора

Страницы: 1, 2, 3


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.