Четверг, 09.05.2024, 12:42
Рефераты. Лучшее из лучшего
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
Административное право [52]
Арбитражный процесс [8]
Астрономия [54]
Банковское дело [37]
Безопасность жизнедеятельности [61]
Биология и естествознание [38]
Военное дело [45]
География [37]
Государство, право, юриспруденция [73]
Гражданское право и процесс [38]
Журналистика [12]
Иностранные языки [49]
История [53]
Компьютеры и информатика [44]
Криминалистика [28]
Литература [70]
Логика [29]
Математика [76]
Медицина [49]
Педагогика [45]
Психология [38]
Радиоэлектроника [47]
Религия и мифология [35]
Статистика [14]
Страхование [7]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Файлы » Радиоэлектроника

Проектирование АЛУ для сложения двоично-десятичных чисел
[ Скачать с сервера (1.19 Mb) ] 10.11.2010, 07:44

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
БЕЛОРУССКО-РОССИЙСКИЙ УНИВЕРСИТЕТ Кафедра «АСУ»
Курсовой проект
по предмету «Микропроцессоры и микрокомпьютеры» Тема проекта: Проектирование АЛУ для сложения двоично-десятичных чисел Группа АСОИЗ-011 Т1001.011572.00 Выполнил: Васильков А.Е
Проверил: Столяров Ю.Д
Могилев, 2005 г.
Содержание
Введение 2 1 Постановка задачи 3 1.1Общие сведения о работе сумматора. Принцип построения сумматоров 3 1.2 Запись десятичных чисел 6 1.3Суммирование двоично-десятичных чисел 7 2 Построение АЛУ 8 2.1 Построение функциональной и структурной схем АЛУ 8 2.2 Описание работы принципиальной схемы 8 3 Описание элементной базы АЛУ 11 Список литературы 12 Введение В настоящее время – время компьютерных технологий, в нашу жизнь всё больше и больше входят и успешно применяются всевозможные «умные вещи», например автоматические стиральные машины, СВЧ печи, DVD проигрыватели тому подобные предметы. Все они предназначены для того, чтобы, как можно больше облегчить наши повседневные хлопоты и одновременно уменьшить время, затрачиваемое на рутинные бытовые заботы. Однако не все знают, что работа этих устройств не просто какое-то волшебство, а свет инженерной мысли их создателей. Также, не все знают, что команды, выполняемые этими приборами, подразумевают работу с двоичными числами, которые представляются в виде кодов выполняемых операций. Например, мы нажимаем кнопку изменения уровня громкости на пульте управления телевизора, и видим на экране шкалу, которая увеличивается (уменьшается) в зависимости от выбранной кнопки, одновременно вы слышим изменение звучания. Эти изменения вызваны тем, что определённая комбинация представленная в двоичном коде передаётся на управляющие органы телевизора, тем самым выполняет необходимое нам действие. 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, слева. Рисунок 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. Рисунок 2 Сумматор с последовательным переносом для сложения n- разрядных двоичных чисел показан на схеме (рис.3.). К его недостатку относится большое время задержки, в наихудшем случае, когда от сложения x0,y0 возникает сквозной перенос через все разряды до выхода s(n-1). При двухъярусной схеме одноразрядного сумматора, задержка сигнала от входов до выходов составит 2tзд.р., если считать задержку в каждом ярусе одинаковой. Суммарная величина задержки будет равна: tзд.р.посл.сумматора = n*2tзд.р. (3) При сложении многоразрядных чисел задержка выходного сигнала на выходе последнего разряда становится недопустимо большой. Рисунок 3 В ЭВМ сумматор является центральным узлом арифметико-логического устройства (АЛУ) и от его быстродействия зависит производительность компьютера. Поэтому применяются сумматоры с параллельной схемой переноса. Выражение (1) для младшего разряда можно преобразовать, используя тождество для функции ИЛИ: x + y = ~x*y + x*~y + xy. В правой части равенства совершенной дизъюнктивной нормальной формой (СДНФ) выражения (4) функции ИЛИ. Тогда (4)

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 Рисунок 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. Рисунок 5 Из рис.4 и 5 видно, что узел сложения в каждом разряде остается неизменным, а изменяется только узел переноса, причем задержка сигнала от входов xi, yi до c(i+1) остается неизменной и для 3-ярусной схемы равна 3tзд.р.. Суммарная задержка в каждом разряде увеличится на время прохождения сигнала от входа ci до si, т.е. на величину tзд.р., и составит: tзд.р.паралл.сумматора = 4tзд.р. независимо от количества разрядов. За это приходится платить усложнением узла переноса от разряда к разряду. 1.2 Запись десятичных чисел Иногда бывает удобно хранить числа в памяти процессора в десятичном виде (Например, для вывода на экран дисплея). Для записи таких чисел используются двоично-десятичные коды. Для записи одного десятичного разряда используется четыре двоичных бита. Эти четыре бита называются тетрадой. Иногда встречается название, пришедшее из англоязычной литературы: нибл. При помощи четырех бит можно закодировать шестнадцать цифр. Лишние комбинации в двоично-десятичном коде являются запрещенными. Таблица соответствия двоично-десятичного кода и десятичных цифр приведена в таблице 1. Таблица 1. Остальные комбинации двоичного кода в тетраде являются запрещенными. Запишем пример двоично-десятичного кода: 1258 = 0001 0010 0101 1000 589 = 0000 0101 1000 1001 Достаточно часто в памяти процессора для хранения одной десятичной цифры выделяется одна ячейка памяти (восьми, шестнадцати или тридцатидвухразрядная). Это делается для повышения скорости работы программы. Для того, чтобы отличить такой способ записи двоично-десятичного числа от стандартного, способ записи десятичного числа, как это показано в примере, называется упакованной формой двоично-десятичного числа. 1.3Суммирование двоично-десятичных чисел Суммирование двоично-десятичных чисел можно производить по правилам обычной двоичной арифметики, а затем производить двоично-десятичную коррекцию. Двоично-десятичная коррекция заключается в проверке каждой тетрады на допустимые коды. Если в какой либо тетраде обнаруживается запрещенная комбинация , то это говорит о переполнении. В этом случае необходимо произвести двоично-десятичную коррекцию. Двоично-десятичная коррекция заключается в дополнительном суммировании числа шесть (число запрещенных комбинаций) с тетрадой, в которой произошло переполнение или произошёл перенос в старшую тетраду. Приведём два примера: Каждое целое число занимает два байта (две ячейки) в памяти компьютера, т.е. 16 разрядов. При этом старший разряд отводится под знак числа. У положительных чисел в старшем разряде находится 0, а у отрицательных — 1. Таким образом, можно закодировать числа в диапазоне от —32 768 до 32 767. Отрицательные числа кодируются в дополнительном коде. Правила создания дополнительного кода: 1) Все биты модуля двоичного числа инвертируются. 2) К полученному числу прибавляется 1. Примеры: 3- 0000000000000011 - 3 - 11111111 11111101 9- 0000000000001001 -9- 11111111 11110111 32 767- 0111111111111111 —32 767- 10000000 00000001 —32 768- 10000000 00000000 2 Построение АЛУ 2.1 Построение функциональной и структурной схем АЛУ АЛУ состроит из следующих функциональных блоков рис 6: Блок ввода, включающий в себя клавиатуру с кнопками набора цифр, а также управляющие клавиши «=,+,- «Сброс»» и входные регистры; Блок вычислений. В состав блока вычислений входят сумматоры, преобразователи дополнительного кода и схема коррекции; Блок индикации, который состоит из дешифраторов, семисегментных индикаторов, а также схемы сравнения, состоящей из трёх компараторов. Блок ввода

Блок вычислений

Блок индикации

Рисунок 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. 3 Описание элементной базы АЛУ При проектировании данного устройства были использованы следующие элементы: Регистр 1534ИР34 микросхемы DD1, DD2. Это два четырёхразрядных буферных регистра. Каждый из регистров имеет четыре входа данных и четыре выхода, вход сброс R в состояние логического нуля, вывод разрешения выхода ЕО вход разрешения записи РЕ. Номера выводов указаны на принципиальной схеме 24-питание; 12-общий; Сумматор 133ИМ3 микросхемы DD3-DD6. Это четырёхразрядный быстродействующий двоичный полный сумматор. Он принимает два четырёхразрядных слова по входам данных А0-А3 и В0-В3 по входу Cn – сигнал переноса. Сумма разрядов входных слов появляется на выходах S0-S3. На выходе Cn+1 выделяется сигнал переноса. Имеется схема ускоренного переноса (СУП). Номера выводов указаны на принципиальной схеме 12-питание; 5-общий; Компаратор К134СП1 микросхемы DD7-DD9. Схема сравнения (компаратор)двух четырёхразрядных чисел. Он имеет 11 входов: четырёхразрядных числа А0-А3 и В0-В3, три входа I(AB) необходимы для увеличения ёмкости схемы (соединения нескольких ИС типа СП1). Компаратор имеет три выхода: AB. Номера выводов указаны на принципиальной схеме 16-питание; 8-общий; Дешифратор К555ИД18 микросхемы DD10-DD11. Дешифратор двоично-десятичного кода в семисегментный код. Дешифратор имеет четыре входа данных D0-D3 и семь выходов Q1-Q7. Вход С2 – «Регулировка яркости» а вход С1 – «Запрет», вход V –«Контроль». Номера выводов указаны на принципиальной схеме 16-питание; 8-общий; Триггер К555ТР2 микросхема DD12. Включает четыре асинхронных o RS-триггера, причём два из них имеют по два входа установки S. Управляющим сигналов является уровень логического нуля (низки уровень), так как триггеры построены на логических элементах И-НЕ с обратными связями (т.е. входы инверсные статические). Установка триггера в состояние высокого или низкого уровня осуществляется кодом 01 или 10 на входах S и R со сменой кода информации. Номера выводов указаны на принципиальной схеме 16-питание; 8-общий; Логические элементы: 155ЛП5 –элементы «исключающее ИЛИ».; 155ЛН1 представляют собой инверторы и выполняют логическую операцию НЕ. Каждая микросхема содержит по шесть инверторов.; К155ЛЕ2 выполняют логическую функцию тИЛИ-НЕ, где т – число входов.; К555ЛИ1 выполняют логическую функцию И. Список литературы 1 Цифровые интегральные микросхемы: Справочник/М.И.Богданович и др. –2изд., перераб. и доп.-Мн.:Беларусь, Полымя. 1996.-605с.:ил. 2 Интернет: www.sibsutis.ru/ cde.infmo.ru/

Категория: Радиоэлектроника | Добавил: СОМ
Просмотров: 1785 | Загрузок: 79 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Создать бесплатный сайт с uCoz