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

Один из вариантов схемы для реализации такого сумматора (точнее говоря элемента сумматора для одного разряда, из которых можно построить сумматор любой разрядности) выглядит так:

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

Разработка узла с функцией перевода чисел из формата в формат

Этот элемент сумматора работает по несколько измененной формуле (в связи с базисом реализации И-НЕ и И-ИЛИ-НЕ):

Разработка узла с функцией перевода чисел из формата в формат

Можно показать, что формирователь переноса строится абсолютно аналогично.

Затем перенос из i-того разряда передается на (i+1)-ый разряд, а сумма i-того разряда выводится. Соединяя такие блоки, можно получить сумматор любой разрядности.

Таким образом, в представленном сумматоре сумма формируется параллельно, а перенос последовательно. Данный сумматор не отличается высоким быстродействием, а для повышения быстродействия используют так называемый сквозной и групповой перенос.

В качестве элементов для такого сумматора можно взять микросхемы К155ЛА3 и две К155ЛР4.

Возможно также построение сумматоров на основе триггеров - тогда сумматор будет накапливающим, то есть результат суммы будет доступен для считывания даже после отключения входных сигналов.

РЕГИСТР

Регистры в данном курсовом проекте используются для хранения и преобразования (сдвига) мантиссы и порядка. В целом регистры делятся на параллельные, последовательные и комбинированные. В нашем узле используются возможности как параллельных (для хранения) так и последовательных (для сдвига) регистров.

Как же строятся регистры? Регистры строятся на основании триггеров, количество которых зависит от разрядности регистра.

Параллельные регистры.

Вот пример простейшего параллельного однофазного регистра на RS-триггерах:

Разработка узла с функцией перевода чисел из формата в формат

Эта схема только для одного разряда, но соединив такие блоки можно получить регистр любой разрядности. Условное обозначение для 4-х разрядного регистра:

Разработка узла с функцией перевода чисел из формата в формат

Такой регистр является 2-х тактным, поскольку ввод информации производится в 2 такта: первым тактом на шину "Уст. 0" подается 0 сигнал для установки в 0 всех триггеров, при этом на шине "Ввод" - 0; вторым тактом устанавливается 1 на шинах "Уст. 0" и "Ввод" и значения разрядов X1,X2,..,X(i),.. записываются по входу S триггеров. Ввод - в прямом коде. Вывод - как в прямом так и в обратном. Для вывода в нужном нам коде подается 1 на нужную нам шину, причем одновременная подача 1 на обе шины запрещена.

Парафазный регистр на RS-триггерах:

Разработка узла с функцией перевода чисел из формата в формат

Также как и в предыдущем случае (и как будет во всех последующих) это схема всего одного разряда, соединяя которые вместе можно получить регистр любой разрядности.

Отличие данного регистра от предыдущего заключается в том, что ввод информации осуществляется путем подачи "1" на шину "Ввод" без предварительной установки в 0, т.е. за 1 такт. Это объясняется парафазным представлением вводимого кода. Вывод также парафазный, для чего необходимо подать 1 на шину "Вывод".

Однофазный регистр на D-триггерах:

Разработка узла с функцией перевода чисел из формата в формат

Значения подаются на входы D соответствующих триггеров, а сигнал "Ввод" подается подается на входы C, причем предварительная установка в "0" не требуется.

Парафазный регистр на JK-триггерах:

Разработка узла с функцией перевода чисел из формата в формат

Вводимая информация должна быть представлена в парафазном коде, а выводимая информация может быть в прямом, обратном и парафазном виде. Данный регистр, как и предыдущий, является однотактным.

Последовательные регистры (регистры сдвига)

В отличие от параллельных регистров, которые не связаны друг с другом, параллельные регистры обязательно связаны между собой. По этим связям при сдвиге информации каждый триггер передает свое состояние соседнему в направлении сдвига триггеру и изменяет свое состояние, принимая состояние предыдущего триггера. Информация может передаваться между триггерами как в однофазном так и в парафазном виде, а сдвиг может производиться вправо либо влево для простых регистров сдвига или в любом направлении для реверсивных регистров сдвига.

Как же построить регистр данного вида? Для этого необходимо определить взаимодействие между триггерами:

Для D-триггера:

Разработка узла с функцией перевода чисел из формата в формат

Для сдвига влево используется формула: D(i)=Q(i+1). Строится такой регистр аналогично.

Вот формулы и схема для для аналогичного регистра на JK-триггерах:

Разработка узла с функцией перевода чисел из формата в формат

Наиболее экономичной для построения регистров сдвига является схема на D-триггерах, которая требует в 2 раза меньше корпусов микросхем по сравнению со схемой на JK-триггерах и в 2 раза меньше связей между триггерами за счет однофазной передачи информации.

Реверсивный сдвиговый регистр имеет схемы управления межтриггерными связями для чего обычно используют элементы И-ИЛИ-НЕ. С помощью этих элементов в соответствии с сигналами, управляющими направлением сдвига обеспечиваются связи между триггерами для выполнения сдвига в заданном направлении.

В нашем узле мы не будем конструировать сами ни сумматор ни регистры, поскольку все нужные нам элементы уже содержатся в серии микросхем К155.

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

Входные данные подаются на регистр RG1 в параллельном виде. Для этого на входы D1-D8 подаем входные данные а на остальные: V1=V2=R=1, D(+)=D(-)=0. Тогда по приходу синхроимпульса C1 данные со входов D1-D8 будут занесены в регистр. Общая схема работы (с точки зрения синхроимпульсов) приведена ниже:

Разработка узла с функцией перевода чисел из формата в формат

Затем, как видно из вышеприведенной схемы, данные с выходов 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 Разработка узла с функцией перевода чисел из формата в формат
Информация о работе «Разработка узла с функцией перевода чисел из формата в формат»
Раздел: Математика
Количество знаков с пробелами: 17777
Количество таблиц: 0
Количество изображений: 12

Похожие работы

Скачать
165172
9
0

... и логических программируемых микросхем. Их использование в радиоэлектронной аппаратуре позволяет резко сократить сроки ее разработки и промышленного освоения; поднять на новый уровень технические характеристики. В этих случаях является незаменимым такое устройство как программатор микросхем ПЗУ, который позволяет программировать широкий круг микросхем. В результате дипломного проектирования был ...

Скачать
193894
73
12

аучного цикла является отсутствие возможности реальной постановки учебного, и лабораторного эксперимента. Хотя в настоящее время имеются разработки виртуальных лабораторных практикумов, однако окончательно решение проблемы требует пристального внимания специалистов различных профилей, в том числе и психолого-педагогического. 1.2 Роль технологии виртуальных приборов обучения в техническом вузе ...

Скачать
123826
19
0

... выдают ли они требуемую информацию. Кроме того, необходимо исключить из таблиц все возможные повторения данных. Как указывалось ранее, в качестве инструментария разработки АРМ научно-технической библиотеки университета, была выбрана СУБД Microsoft Visual FoxPro. Этот выбор определяет все особенности компьютерной реализации принятых решений по организации информационного обеспечения потенциальных ...

Скачать
448518
14
55

... также невысока и обычно составляет около 100 кбайт/с. НКМЛ могут использовать локальные интерфейсы SCSI. Лекция 3. Программное обеспечение ПЭВМ 3.1 Общая характеристика и состав программного обеспечения 3.1.1 Состав и назначение программного обеспечения Процесс взаимодействия человека с компьютером организуется устройством управления в соответствии с той программой, которую пользователь ...

0 комментариев


Наверх