Реферат: Проектирование АЛУ для сложения двоично-десятичных чисел

                  МИНИСТЕРСТВО ОБРАЗОВАНИЯРЕСПУБЛИКИ БЕЛАРУСЬ

                          БЕЛОРУССКО-РОССИЙСКИЙ УНИВЕРСИТЕТ

                                                                                                        Кафедра «АСУ»                                                       Курсовойпроект

                по предмету«Микропроцессоры и микрокомпьютеры»

Тема проекта: Проектирование АЛУ для сложениядвоично-десятичных чисел

                                                  Группа АСОИЗ-011

                                                    Т1001.011572.00

Выполнил:                                                                                                       Васильков А.ЕПроверил:                                                                                                          СтоляровЮ.Д                                                             Могилев, 2005 г.<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA;mso-bidi-font-style:italic">
Содержание

Введение                                                                                                                                    2

1 Постановка задачи                                                                                                                3

1.1Общие сведения о работе сумматора. Принциппостроения сумматоров                    3

1.2 Запись десятичных чисел                                                                                                  6

1.3Суммирование двоично-десятичных чисел                                                                       7

2 Построение АЛУ                                                                                                                   8

2.1 Построение функциональной и структурной схемАЛУ                                                8

2.2 Описаниеработы принципиальной схемы                                                                      8

3 Описание элементной базы АЛУ                                                                                       11

Список литературы                                                                                                                12

<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">

Введение

В настоящее время – время компьютерных технологий, внашу жизнь всё больше и больше входят и успешно применяются всевозможные «умныевещи», например автоматические стиральные машины, СВЧ печи, DVD проигрыватели  тому подобные предметы. Все они предназначеныдля того, чтобы, как можно больше облегчить наши повседневные хлопоты иодновременно уменьшить время, затрачиваемое на рутинные бытовые заботы. Однаконе все знают, что работа этих устройств не просто какое-то волшебство, а светинженерной мысли их создателей. Также, не все знают, что команды, выполняемыеэтими приборами, подразумевают работу с двоичными числами, которыепредставляются в виде кодов выполняемых операций. Например, мы нажимаем кнопкуизменения уровня громкости на пульте управления телевизора, и видим на экранешкалу, которая увеличивается (уменьшается) в зависимости от выбранной кнопки,одновременно вы слышим изменение звучания. Эти изменения вызваны тем, чтоопределённая комбинация представленная в двоичном коде передаётся науправляющие органы телевизора, тем самым выполняет необходимое нам действие.

<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">

1 Постановка задачи

1.1Общие сведения о работе сумматора. Принциппостроения сумматоров

Сумматор осуществляет арифметическое суммированиеn-разрядных кодов X=(x(n-1),..,x0) и Y=(y(n-1),..,y0). Правила сложения двух одноразрядных двоичныхчисел:

0 (+) 0 = 0

0 (+) 1 = 1 (+) 0 = 1

1 (+) 1 = 0 и перенос 1 в старший разряд.

Операция (+) называется — сумма по модулю два. Устройство реализующее этиправила называется одноразрядным полусумматором и имеет два входа и два выхода.Сложение трех одноразрядных чиселпроизводится следующим образом:

0 (+) 0 (+) 0 = 0

0 (+) 0 (+) 1 = 1

0 (+) 1 (+) 1 = 0 и перенос 1 в старшийразряд

1 (+) 1 (+) 1 = 1 и перенос 1 в старшийразряд.

Устройство реализующее эти правила называется одноразрядным полным сумматором(ОПС) и имеет три входа и два выхода. Таблица истинности ОПС приведена нарис.1, слева.

<img src="/cache/referats/20542/image002.jpg" v:shapes="_x0000_i1025">

Рисунок 1

xi,yi — одноименные двоичные разряды чисел X и Y, ci — перенос из предыдущего разряда, si — частичная сумма по модулю два и c(i+1) — перенос вследующий разряд. Значения c(i+1) совпадают созначениями функции мажоритарности, поэтомувоспользуемся готовым решением:

c(i+1) = xi*yi + xi*ci+ yi*ci.                                                                                      (1)

Таблица Карно для si приведена на рис.1 справа.Из таблицы находим: si = xi*~yi*~ci+ ~xi*~yi*ci + xi*yi*ci+ ~xi*yi*~ci = ~yi(xi*~ci + ~xi*ci) + yi(xi*ci + ~xi*~ci)= ~yi(xi (+) ci) + yi(xi*ci+ ~xi*~ci). Выражение в последней скобке необходимопреобразовать, используя соотношение двойственности.

xi*ci + ~xi*~ci= ~(xi*ci) * ~(~xi*~ci) =(~xi+~ci) *(xi+ci)= ~xi*xi + ~xi*ci + ~ci*xi + ~ci*ci = ~xi*ci + xi*~ci = ~(xi(+) ci)= ~F6 = F9,

где  F6=x1 (+) x0 — исключающее ИЛИ,

F9=~(x1 (+) x0) исключающее — ИЛИ-НЕ

С учетом последнего выражения

si= ~yi(xi (+) ci)+ yi~(xi (+) ci) =

yi(+) (xi (+) ci) = yi (+) xi(+) ci.                                                                                 (2)

        

Схема полного одноразрядного сумматора соответствующая уравнениям (1) и(2) и её условное обозначение приведены нарисунке 2.

<img src="/cache/referats/20542/image004.jpg" v:shapes="_x0000_i1026">

Рисунок 2

Сумматор с последовательным переносом для сложения n- разрядных двоичныхчисел показан на схеме (рис.3.). К его недостатку относится большое времязадержки, в наихудшем случае, когда от сложения x0,y0 возникает сквозной переносчерез все разряды до выхода s(n-1). При двухъярусной схемеодноразрядного сумматора, задержка сигнала от входов до выходов составит2tзд.р., если считать задержку в каждом ярусе одинаковой. Суммарная величиназадержки будет равна:

tзд.р.посл.сумматора= n*2tзд.р.                                                                               (3)

При сложении многоразрядных чисел задержка выходного сигнала на выходе последнегоразряда становится недопустимо большой.

<img src="/cache/referats/20542/image006.jpg" v:shapes="_x0000_i1027">

Рисунок 3

В ЭВМ сумматор является центральным узлом арифметико-логического устройства(АЛУ) и от его быстродействия зависит производительность компьютера. Поэтомуприменяются сумматоры с параллельной схемой переноса. Выражение (1) длямладшего разряда можно преобразовать, используя тождество для функции ИЛИ: x + y = ~x*y+ x*~y + xy. В правой частиравенства совершенной дизъюнктивной нормальной формой(СДНФ) выражения (4) функции ИЛИ. Тогда

<div v:shape="_x0000_s1026">

(4)

<img src="/cache/referats/20542/image008.jpg" v:shapes="_x0000_i1028">

c1 = x0*y0 + x0*c0 + y0*c0 = x0*y0 +c0(x0 + y0) =

x0*y0 + c0(~x0*y0 + x0*~y0 + x0*y0) =

x0*y0(с0 +1) + c0(~x0*y0 + x0*~y0) =

x0*y0 + с0(x0 (+) y0).                                                                                            (5)

Уравнениям (2) и (5) соответствует схема на рис.4

<img src="/cache/referats/20542/image010.jpg" v:shapes="_x0000_i1029">

Рисунок 4

Если в каждом разряде сумматора использовать такой одноразрядныйсумматор, то никакого выигрыша в скорости не будет. Узел, обведенный точками,называется узлом переноса (УП), а функции gi и pi называются функциями генерации переноса и распространенияпереноса. С учетом этого можно записать:

c1 = g0 + p0*c0, с2 = g1 + p1*c1 =                                                                      (6)

     = g1 + p1*g0+ p1*p0*c0,                                                                               (7)

с3 = g2 + p2*c2 =                                                                                                  (8)

     = g2 + p2*g1+ p2*p1*g0 + p2*p1*p0*c0,                                                     (9)

......, и так далее. Выражения (6, 8) — это еще последовательныйсумматор, т.к. c3 зависит от c2, c2 зависит от c1, а c1 зависит от c0. Выражения(7, 9) соответствуют уже параллельному, т.к. величина ciснимается с выхода предыдущего разряда, в котором она формируется параллельноиз всех первичных переменных. Схемы узлов переноса УП1 и УП2 приведены нарис.5.

<img src="/cache/referats/20542/image012.jpg" v:shapes="_x0000_i1030">

Рисунок 5

Из рис.4 и 5 видно, что узел сложения в каждом разрядеостается неизменным, а изменяется только узел переноса, причем задержкасигнала от входов xi, yi доc(i+1) остается неизменной и для 3-ярусной схемыравна 3tзд.р.. Суммарная задержка в каждом разряде увеличитсяна время прохождения сигнала от входа ci до si, т.е. на величину tзд.р., исоставит: tзд.р.паралл.сумматора = 4tзд.р. независимоот количества разрядов. За это приходится платить усложнением узла переноса отразряда к разряду.

1.2 Запись десятичных чисел

Иногда бывает удобно хранить числа в памяти процессорав десятичном виде (Например, для вывода на экран дисплея). Для записи такихчисел используются двоично-десятичные коды. Для записи одного десятичногоразряда используется четыре двоичных бита. Эти четыре бита называются тетрадой. Иногда встречается название, пришедшее изанглоязычной литературы: нибл. При помощи четырех битможно закодировать шестнадцать цифр. Лишние комбинации в двоично-десятичномкоде являются запрещенными. Таблица соответствия двоично-десятичного кода идесятичных цифр приведена в таблице 1.

<img src="/cache/referats/20542/image014.jpg" v:shapes="_x0000_i1031">

Таблица 1.

Остальные комбинации двоичного кода в тетраде являются запрещенными. Запишем пример двоично-десятичногокода:

1258 = 0001 0010 0101 1000

589 = 0000 0101 1000 1001

Достаточно часто в памяти процессора для храненияодной десятичной цифры выделяется одна ячейка памяти (восьми, шестнадцати или тридцатидвухразрядная).Это делается для повышения скорости работы программы. Для того, чтобы отличитьтакой способ записи двоично-десятичного числа от стандартного, способ записидесятичного числа, как это показано в примере, называется упакованной формойдвоично-десятичного числа.

1.3Суммирование двоично-десятичных чисел

Суммирование двоично-десятичных чисел можнопроизводить по правилам обычной двоичной арифметики, а затем производитьдвоично-десятичную коррекцию. Двоично-десятичная коррекция заключается впроверке каждой тетрады на допустимые коды. Если вкакой либо тетраде обнаруживается запрещеннаякомбинация, то это говорит о переполнении. В этом случае необходимо произвестидвоично-десятичную коррекцию. Двоично-десятичная коррекция заключается в дополнительномсуммировании числа шесть (число запрещенных комбинаций) с тетрадой,в которой произошло переполнение или произошёл перенос в старшую тетраду. Приведём два примера:

<img src="/cache/referats/20542/image016.gif" v:shapes="_x0000_i1032">

<img src="/cache/referats/20542/image017.gif" v:shapes="_x0000_i1033">

Каждое целое число занимает два байта (две ячейки) впамяти компьютера, т.е. 16 разрядов. При этом старший разряд отводится под знакчисла. У положительных чисел в старшем разряде находится 0, а у отрицательных —1. Таким образом, можно закодировать числа в диапазоне от —32 768 до 32 767.Отрицательные числа кодируются в дополнительном коде.

Правила создания дополнительного кода:

1)<span Times New Roman"">     

2)<span Times New Roman"">     

Примеры:

3-           0000000000000011

— 3 -        11111111 11111101

9-           0000000000001001

-9-          11111111 11110111

32 767-  0111111111111111

—32 767-   10000000 00000001

—32768-   10000000 00000000
2 Построение АЛУ

2.1 Построение функциональной и структурной схем АЛУ

АЛУ состроит из следующих функциональных блоков рис 6:

Блок ввода, включающий в себя клавиатуру с кнопкаминабора цифр, а также управляющие клавиши «=,+,- «Сброс»» и входные регистры;

Блок вычислений. В состав блока вычислений входятсумматоры, преобразователи дополнительного кода и схема коррекции;

Блок индикации, который состоит из дешифраторов, семисегментных индикаторов, а также схемы сравнения,состоящей из трёх компараторов.

Блок

ввода

Блок

вычислений

Блок

индикации

<img src="/cache/referats/20542/image018.gif" v:shapes="_x0000_s1032 _x0000_s1033 _x0000_s1034 _x0000_s1035 _x0000_s1036">


Рисунок 6

Рассмотрим принцип работы устройства пофункциональной схеме. На клавиатуре набирается число. В данном случае набираемоечисло не должно превышать двух знаков (максимамальное-99). Набираемое числопоступает на регистр. В случае если число состоит из одного знака, то посленажатия управляющей клавиши «+» или «-» сигнал «выгружается» в блок вычисленийна входы сумматора. Если же число состоит из двух знаков, в этом случае перваявнесённая цифра последовательно передается в другой сумматор старшего разрядадесятичного числа. Аналогичным образом происходит ввод второго числа. Посленабора чисел, при нажатии клавиши «=» результат суммы поступает в схемукоррекции блока вычислений, при необходимости корректируется, с последующейпередачей сигнала в блок индикации, где происходит дешифрация числа издвоично-десятичного кода в десятичный. Необходимо обратить внимание на то, чтопри нажатии клавиши «-» происходит преобразование числа в обратный код.Одновременно происходит сравнение введённых чисел. В том случае, если первоечисло меньше другого формируется знак минус на индикаторе с помощью схемысравнения.

2.2 Описание работы принципиальной схемы

В момент включения устройства (рис приложение 1)либо нажатии клавиши «Сброс», происходит сброс всехрегистров, при этом триггер Т2 (микросхема DD12) находится в нулевом состоянии.Двоичный код введённого числа с клавиатуры поступает на вход регистра RG1 (микросхемаDD1). Одновременносигнал с входа регистра поступает через логический элемент ИЛИ на вход ключа,(элемента И). Так как триггер Т2 находится в нулевом состоянии, тополученный сигнал поступает на разрешающие входы регистра RG1, послечего данные передаются на выход регистра. Регистр RG2 (микросхема DD1) подключён последовательнорегистру RG1. Код с выхода RG1 подаётся на вход RG2,который в свою очередь находится в закрытом состоянии. Открытия регистра RG2происходит в момент следующего нажатия клавиши. В этом случае данные из регистраRG1 перегружаются в регистр RG2 – в старший разряд десятичногочисла, а вновь введённое число помещается на место предыдущего – в младший.После нажатия клавиши «+»или « — », триггер Т2переключается в единичное состояние. В этомслучае регистр RG1 закрыт, а ввод осуществляется аналогичнымобразом в регистры RG3 и RG4 (микросхема DD2). Необходимо обратить внимание нато, что при нажатии клавиши « — » происходит переключение триггера Т4(микросхема DD12) вединичное состояние, после чего данные на выходе регистров RG3 и RG4преобразуются в дополнительный код. Далее, коды поступают на входы сумматоровSM1,SM2 (микросхемы DD3,DD4). Одновременноинформация с выходов регистров RG1- RG4 поступает на компараторы = =1-==3 (микросхемы DD7, DD8, DD9). Где происходит сравнение чисел иформирования знака « — » в случае отрицательного результата. После суммированиячисел производится коррекция полученного результата, т.е. в случае появлениязапрещенных комбинаций происходит сложение переполненных разрядов с числом 6.Данная коррекция выполняется на сумматорах SM3, SM4 (микросхемы DD5, DD6). Отображение вводимых чисел, атакже результата вычисления выполняется с помощью дешифраторов DC1 и DC2 (микросхемы DD10, DD11). Вначале, когда триггер Т2находится в нулевом состоянии происходит отображение первого вводимого числа.Так, как параллельно управлению регистрами RG1и RG2, триггер Т2производит управление дешифраторами. Управление осуществляется путем подачиинвертированного нулевого сигнала с триггера Т2 на управляющий входдешифратора. В этот момент, код, имеющийся на выходах регистров RG1и RG2,помещается в дешифратор, где происходит его преобразование с последующейпередачей на индикаторы HL1,HL2. Как только нажатаклавиша «+» или «-», происходит блокировка данных с регистров первого числа,из-за того, что триггер Т2 становится в единичное состояние. Дешифраторготовится к отображению второго вводимого числа. Индикация второго числаосуществляется аналогично первому. Вывод результата на индикаторы происходитпосле нажатия клавиши «=». В этом случае блокируются, выходы регистров RG3 иRG4 и на вход дешифраторов поступает выходной сигнал с сумматоров SM3и SM4.Вывод третий цифры на индикаторе, в случае переполнения второго двоично-десятичногоразряда производится с выхода переноса в следующий разряд сумматоров SM3и SM4.В этом случае сигнал с выходов Cn+1 предаютсяна соответствующие ячейки третьего индикатора HL3.

<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">

3 Описание элементной базы АЛУ

При проектировании данного устройства былииспользованы следующие элементы:

<img src="/cache/referats/20542/image019.gif" v:shapes="_x0000_s1029"><img src="/cache/referats/20542/image020.gif" v:shapes="_x0000_s1030">DD1, DD2. Это два четырёхразрядных буферных регистра.Каждый из регистров имеет четыре входа данных и четыре выхода, вход сброс R в состояние логическогонуля, вывод разрешения выхода ЕО вход разрешения записи РЕ.Номера выводов указаны на принципиальной схеме 24-питание; 12-общий;

Сумматор 133ИМ3 микросхемы DD3-DD6. Это четырёхразрядный быстродействующий двоичный полныйсумматор. Он принимает два четырёхразрядных слова по входам данных А0-А3 иВ0-В3  по входу Cn –сигнал переноса. Сумма разрядов входных слов появляется на выходах <span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol">S

0-<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol">S3.На выходе Cn+1выделяется сигнал переноса. Имеется схема ускоренного переноса (СУП). Номеравыводов указаны на принципиальной схеме 12-питание; 5-общий;

Компаратор К134СП1 микросхемы DD7-DD9. Схема сравнения (компаратор)двух четырёхразрядных чисел. Онимеет 11 входов: четырёхразрядных числа А0-А3 и В0-В3, три входа I(A<B), I(A=B), I(A>B) необходимы для увеличения ёмкостисхемы (соединения нескольких ИС типа СП1). Компаратор имеет три выхода: A<B, A=B, A>B. Номера выводов указаны напринципиальной схеме 16-питание; 8-общий;

Дешифратор К555ИД18 микросхемы DD10-DD11. Дешифратор двоично-десятичного кода в семисегментныйкод. Дешифратор имеет четыре входа данных D0-D3и семь выходов Q1-Q7. Вход С2 –«Регулировка яркости» а вход С1 – «Запрет», вход V –«Контроль». Номера выводовуказаны на принципиальной схеме 16-питание; 8-общий;

<img src="/cache/referats/20542/image021.gif" v:shapes="_x0000_s1031">DD12.Включает четыре асинхронных oRS-триггера,причём два из них имеют по два входа установки S. Управляющим сигналов являетсяуровень логического нуля (низки уровень), так как триггеры построены на логическихэлементах И-НЕ с обратными связями (т.е. входы инверсные статические). Установкатриггера в состояние высокого или низкого уровня осуществляется кодом 01 или 10на входах S и Rсосменой кода информации. Номера выводов указаны на принципиальной схеме16-питание; 8-общий;

Логические элементы: 155ЛП5 –элементы «исключающееИЛИ».; 155ЛН1 представляют собой инверторы и выполняют логическую операцию НЕ.Каждая микросхема содержит по шесть инверторов.; К155ЛЕ2 выполняют логическуюфункцию тИЛИ-НЕ, где т – число входов.;К555ЛИ1 выполняют логическую функцию И.

<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">

Список литературы

1 Цифровые интегральные микросхемы: Справочник/М.И.Богданович и др. –2изд., перераб.и доп.-Мн.: Беларусь, Полымя. 1996.-605с.: ил.

2 Интернет:

www.sibsutis.ru/

cde.infmo.ru/

еще рефераты
Еще работы по радиоэлектронике