Реферат по предмету "Информатика, программирование"


Арифметические устройства

Арифметические устройства

Двоичное сложение
 
К арифметическимустройствам относятся логические схемы, которые способны реализовывать сложениеи вычитание. Сумматоры и вычитатели можно получить, соединяя друг с другомобычные логические элементы.
Рассмотрим сложение двухчисел (рис. 15.1)
/>
Рис. 15.1. Правиладвоичного сложения
Первые три результатаочевидны. Поскольку они соответствуют сложению десятичных чисел. В последнемсуммировании (1+1), при сложении десятичных чисел результат будет 2. В двоичнойсистеме 2 записывается как 10. Из рис. 15.1 видно, что происходит перенос 1 всоседний, старший двоичный разряд.
Рассмотрим пример насложение двоичных чисел (рис 15.2)
/>
Рис. 15.2. Примердвоичного сложения
/>
Рис. 15.3. Правиладвоичного сложения
Пример решается просто,пока не доходим до разряда двоек, где нужно найти двоичную сумму 1+1+1. Вдесятичной системе счисления эта сумма равна 3, что соответствует двоичномучислу 11. При этом следует заметить, что сумма 1+1+1 может возникать в любомразряде, исключая разряд единиц. Таким образом к рис 15.1 нужно добавить ещеодну комбинацию (рис. 15.3), которая справедлива для всех разрядов двоичныхчисел (двоек, четверок, восьмерок и т. д.), за исключением разряда единиц.
Полусумматоры
Рассмотрим таблицуистинности для двоичных чисел (табл. 15.1). входные столбцы таблицы заполненызначениями слагаемых. В качестве выходных используется столбец для суммы истолбец для переноса.
Таблица 15.1. Таблицаистинности полусумматора
/>
Для построения схемыполусумматора, определим из табл. 15.1 булево выражение, которым можно описатьсостояние выходов /> и />: />, т. е. для обеспечения требуемогологического уровня на выходе входные сигналы нужно подать на входы логическогоэлемента И;
/>, для реализации такой логическойфункции можно использовать два логических элемента И и один логический элементИЛИ. Кроме этого, такая логическая функция может быть реализована логическимэлементом исключающее ИЛИ. Состояние этого выхода запишем в более простойбулевой форме: />.
Построим логическую схемуполусумматора, который состоит из двух логических элементов: 2-входовогологического элемента И и 2-входового логического элемента исключающее ИЛИ (рис.15.4). Полусумматор имеет два входа (А, В) и два выхода (У, С0).
/>
Рис. 15.4. Логическаясхема полусумматора
Полусумматор осуществляетсложение только в разряде единиц. Для двоичного сложения в разрядах двоек,четверок, восьмерок и т. д. Необходимо пользоваться полным сумматором.
Полный сумматор
Рассмотрим таблицуистинности, в которой представлены все возможные комбинации двоичныйодноразрядных слагаемых А и В и сигнала переноса Cin (табл. 15.2).
Таблица 15.2 Таблицаистинности сумматора
/>
Таблица 15.2 — таблицаистинности для полного сумматора. Полные сумматоры используются для сложения вовсех двоичных разрядах, кроме разряда единиц. Полные сумматоры имеют три входа:А, В и дополнительный вход переноса.
Один из способовпостроения логической структуры полного сумматора показан на рис. 15.5. Вданном способе используется два полусумматора и логический элемент ИЛИ.Соответствующие булево выражение для этой логической структуры имеют вид />, />.
/>
Рис. 15.5. Структурнаясхема полного сумматора
Используя схемуполусумматора (рис. 15.4), структурную схему изображенную на рис. 15.5 можноразвернуть (рис. 15.6).
/>
Рис. 15.6. Логическаясхема полного сумматора
Полусумматоры, сумматорыобычно используются вместе. Так, для решения примера, показанного на (рис.15.3), нужно иметь один полусумматор (для сложения в разделе единиц) и дваполных сумматора (для сложения в разрядах двоек и четверок). Для сложения многоразрядных двоичных чисел требуется довольно много полусумматоров и полныхсумматоров. Микропроцессорные арифметико-логические устройства (АЛУ)используются для сложения 8-разрядных, 16- или 32-разрядных двоичных чисел вмикропроцессорных системах, и в их состав входит большое количество схем,аналогичных полусумматорам и сумматорам.
Параллельный сумматор
Определенным образом,соединяя полусумматоры и полные сумматоры, друг с другом, получают устройства,одновременно выполняющие сложение нескольких двоичных разрядов. На рис. 15.7показана схема 3-разрядного сумматора. Слагаемые обозначены A2A1A0 и B2B1B0.
/>
Рис. 15.7. Структура3-разрядного сумматора
Сигналы, соответствующиезначениям разряда единиц в слагаемых, поступают на входы полусумматора.Входными сигналами для полного сумматора разряда двоек является сигнал переносас выхода полусумматора на вход /> и значения /> разряда двоек вслагаемых. Сумматор четверок складывает /> и сигнал переноса с выходасумматора двоек. Полученный результат отображается на выходах полусумматора идвух полных сумматоров. В результате сложения двух полных сумматоров. Врезультате сложения двух 3-разрядных двоичных чисел может получиться4-разрядное число, поэтому на индикаторе суммы имеется дополнительный разрядвосьмерок. Этот разряд связан с выходом /> сумматора четверок.
3-разрядный сумматор,изображенный на (рис. 15.7) является параллельным сумматором. В данной схемеинформационных биты всех разрядов поступают на входы одновременно. Результатсложения появится на выходе практически мгновенно. Параллельный сумматоротносится к классу комбинационных логических схем. Для фиксации данных навходах и выходах сумматоров обычно используется различные дополнительныерегистры.
Двоичное вычитание
Рассмотрим вычитаниедвоичных чисел (рис. 15.8).
/>
Рис. 15.8. Правиладвоичного вычитания
На основании этих правилвычитания двоичных чисел, составим таблицу истинности (табл. 15.3).
Таблица 15.3. Таблицаистинности для полувычитателя
/>
Из табл. 15.3 видно, чтоесли В больше А, то нужно занять 1 в соседнем старшем разряде. Сигнал заемауказан в столбце />.
С помощью табл. 15.3можно найти логические функции, реализуемые полувычитанием. Для выхода /> получим: />. Для выхода />. На основанииэтих функций построим логическую схему полувычитателя (рис.15.9).
/>
Рис. 15.9. Логическаясхема полувычитателя
При вычитаниимногоразрядных двоичных чисел нужно принимать во внимание заем 1 в болеестарших разрядах.
Рассмотрим пример навычитание двоичных чисел (рис. 15.10).
/>
Рис. 15.10. Пример надвоичное вычитание
Составим таблицуистинности, которая содержит все возможные комбинации при вычитании двоичныхчисел (табл. 15.4).
Таблица 15.4. Таблицаистинности для полного вычитателя
/>
Например, строка 5 (табл.15.4) описывает ситуацию, возникающего при вычитании в разрядах единиц длявышерассмотренного примера (рис. 15.10).
Вычитанию в разряде двоексоответствует строка 3, в разряде четверок – строка 6, в разряде восьмерок –строка 3, в разряде с весом 16 – строка 2 и в разряде с весом 32 – строка 6(табл. 15.4).
Полный вычитатель, поаналогии с полным сумматором, можно собрать из двух полувычитателей илогического элемента ИЛИ (рис. 15.11).
/>
Рис. 15.11. Структурнаясхема полного вычитателя
Полный сумматор имеет тривхода /> идва выхода />.Используя схему полувычитателя (рис. 15.9) можно построить развернутуюлогическую схему полного вычитателя, которая работает в соответствии с табл.15.4 (рис. 15.12).
/>
Рис. 15.12. Логическаясхема полного вычитателя
Параллельный вычитатель
Чтобы построитьпараллельный вычитатель, нужно соединить друг с другом полувычитатели, поаналогии с построением параллельного сумматора (рис. 15.7). Рассмотрим схему3-разрядного параллельного вычитателя, который обеспечивает вычитание двоичногочисла /> издвоичного числа /> (рис. 15.13).
/>
Рис. 15.13. Структурнаясхема 3-разрядного параллельного вычитателя
Из рис. 15.13 видно, чтовыход /> полувычитателясвязан с вычитанием разряда двоек. В данной схеме выходы заема /> каждого вычитателясвязаны со входами /> заема вычитателя старшегоразряда.
Использованиесумматоров для вычитания
В этом разделе рассмотримвозможность использования сумматоров для вычитания двоичных чисел. Решим примерна вычитание двоичного числа 0110 из числа 1010. Вычитание произведем последующей схеме: сначала запишем вычитаемое в форме поразрядного дополнения до1, а затем сложим с уменьшаемым. Дополнение до 1 означает замену 1 на 0 и 0 на1 во всех разрядах вычитаемого. В результате сложения получим промежуточныйрезультат. Далее осуществляем циклический перенос старшего разряда в разрядединиц и складываем с полученным остатком промежуточной суммы. В результатеполучается разность исходных двоичных чисел. Эта схема вычисленияпроиллюстрировала на (рис. 15.14).
/>
Рис. 15.14. Примервычитания двоичных чисел
В результате решенияпредложенного примера получим двоичное число 100.
Рассмотренный способвычитания используется в сумматорах для вычитания. Рассмотрим схему3-разрядного параллельного вычитателя, который построен на трех полныхсумматорах и трех инверторах (рис. 15.15).
/>
Рис. 15.15. Структурнаясхема вычитателя с использованием полных сумматоров
Инверторы обеспечиваютпреобразования двоичного числа /> в форму дополнения до 1.Сумматоры складывают двоичные числа /> и />. Циклический перенососуществляется с выхода /> сумматора старшего разряда навход /> сумматораединиц. Разность двоичных чисел отображается на выходном индикаторе.
Рассмотрим схему, котораяпозволяет производить операции и сложения и вычитания двоичных чисел (рис.15.16).
/>
Рис. 15.16. Структурнаясхема 3-разрядного сумматора вычитателя
В схеме используются 3логических элемента исключающее ИЛИ. При подаче логического 0 на вход элементаисключающее ИЛИ информационные биты каждого разряда двоичного числа /> проходом черезэтот элемент без инверсии и происходит сложение двух чисел: /> и /> . Логический 0, кромеэтого блокирует цепь циклического переноса, т. к. 0 поступает на один из входовэлемента И (рис. 15.16). В данном случае схема работает как 3-разрядныйдвоичный сумматор.
Для того, чтобы схемаработала как 3-разрядный вычитатель нужно на управляющий вход подать логическую1. В этом случае элементы исключающее ИЛИ работают как инверторы и на входахсумматоров получим /> . Кроме этого, логическая 1открывает логический элемент И, в результате чего, сигнал с выхода /> последнегосумматора поступает по цепи циклического переноса на вход /> сумматора единиц. Навыходном индикаторе отобразится разность двух двоичных чисел.
Суммирующее устройствопоследовательного действия
В параллельном сумматоредля каждого двоичного разряда нужен отдельный полный сумматор. При другомспособе сложения последовательном, требуется только один полный сумматор. Нарис. 15.17 показан принцип работы сумматора последовательного действия, котораяпомимо полного сумматора включает два регистра сдвига (А и В) и регистр суммы.Регистры сдвига А и В связаны со входами А и В полного сумматора.
/>
Рис. 15.17. Принципработы суммирующего устройства последовательного действия
Процесс последовательногосуммирования состоит из нескольких шагов, которые отображены на рис. 15.17. Напервом шаге регистры А и В загружаются двоичными числами /> и />. С приходом первоготактового импульса складываются значения разряда единиц (/>и />) и сумма /> заносится в выходнойрегистр, который связан с выходом У полного сумматора. С приходом второготактового импульса складываются
значения разряда двоек (/>и />) и перенос,который поступает на вход /> сумматора от триггера–задержки.Результат /> заноситсяв выходной регистр, при этом предыдущая сумма /> сдвигается вправо. С приходомтретьего тактового импульса происходит сложение /> и переноса />. Результат /> помещается в выходнойрегистр. Таким образом после трех тактовых импульсов в регистре суммы находитсярезультат – двоичное число />. Следует заметить, что в даннойсхеме тактовые входы всех регистров (двух входных и выходного) и триггера сзадержкой связаны между собой. Кроме этого, в каждый момент временискладываются только два бита информации. Для сложения двух 3-разрядных чиселследует использовать только три тактовых импульса, поскольку большее число импульсовприведет к сдвигу двоичного числа в регистре суммы и на индикаторе будетневерный результат.
 Двоичное умножение
В двоичной системесчисления правила умножения очень просты. Они показаны на рис. 15.18.
/>
Рис. 15.18. Правиладвоичного умножения
Рассмотрим пример наумножение двоичных чисел 111 и 101 (рис. 15.19).
/>
Рис. 15.19. Пример надвоичное сложение
Сначала множимое (111)умножается на значения разряда единиц множителя. В результате получается первоечастичное произведение, равное 111. Затем множимое умножается на значениеразряда двоек множителя, при этом младший разряд второго частичногопроизведения отбрасывается. На третьем этапе множимое умножается на значениеразряда четверок множителя. В результате получается третье частичноепроизведение 11100, но записывается это число как 111. В конце, первое, второеи третье частичные произведения складываются.
На рис. 15.20 показан ещеодин пример на двоичное умножение.
/>
Рис. 15.20. Пример надвоичное умножение
Рассмотрим способы,которыми можно реализовать умножение двоичных чисел. Первый способ умножения –это многократно повторяемая операция сложения. Рассмотрим пример. Допустимнеобходимо найти произведение десятичных чисел 6 и 4. Произведением этих чиселявляется число 24. Этот же результат можно получить, используя операциюсложения: 6+6+6+6=24. Таким образом, операцию умножения можно заменитьмногократным сложением.
Рассмотрим схемуустройства, которое позволяет реализовать такой способ умножения (рис. 15.21).
/>
Рис. 15.21. Структурнаясхема операции умножения с использованием многократно повторяемого сложения
Рассмотрим процессумножения двоичного числа 110 (десятичное 6) на двоичное число 100 (десятичное4). Число 110 загружается в регистр множимого. Множитель (100) содержится ввычитающем счетчике. Произведение накапливается в регистре произведения.
В табл. 15.5 показанпошаговый процесс умножения двоичных чисел.
Таблица 15.5. Пошаговыйпроцесс умножения двоичных чисел путем многократного сложения
/>
Сначала множимое имножитель загружаются в регистр множимого и вычитающий счетчик множителясоответственно, а регистр произведения обнуляется. После первого шага врегистре произведения появляется число 00110, а множитель уменьшается на 1.После второго шага в регистре произведения оказывается сумма множимого (110) ичисла 00110, множитель уменьшается на 1. Таким образом процесс завершаетсяпосле четырех шагов, когда счетчик множителя содержит 000, а регистрпроизведения 11000 (десятичное число 24). Но этот способ не всегда удобен.Например, для нахождения произведения 56*12 нужно определить сумму 12слагаемых, каждое из которых равно 56. Такой процесс вычисления занимаетслишком много времени.
Вторым способом умножениядвоичных чисел является способ сложения со сдвигами.
Вернемся к примеру,показанному на рис. 15.19. В этом примере двоичное число 111 умножается надвоичное число 101. При рассмотрении данного примера можно сделать следующиевыводы:
1) Частичное произведениевсегда равно 000, если множитель равен 0, и равно множимому, если множительравен 1.
2) Число разделов врегистре произведения должно быть в два раза больше числа разделов в регистремножимого.
3) При сложении первоечастичное произведение сдвигается на одну позицию (разряд) вправо (по отношениюко второму произведению).
На основе сделанныхвыводов можно построить схему для умножения двоичных чисел (рис. 15.22).
/>
Рис. 15.22. Структурнаясхема умножителя с использованием операций сложения и сдвига
В исходном состояниимножимое (111) загружается в регистр, регистр-накопитель очищен (установлен всостояние 0000) и множитель (101) загружен в регистр. При этомрегистр-накопитель и регистр-множителя составляют единый регистр (рис. 15.22.).Рассмотрим пошаговый процесс умножения двоичных чисел.
1)      Загрузка исходныхданных в регистры.
2)      Сложениесодержимого регистра-накопителя и регистра-множимого, инициируемое логической 1младшего разряда на управляющую шину.
3)      Сдвиг содержимогорегистра-накопителя и регистра-множителя на одну позицию вправо. При этоммладший разряд регистра-множителя теряется.
4)      Регистр-множительподает логический 0 на управляющую шину. Этот сигнал блокирует сумматор исложение не производится.
5)      Сдвиг содержимогорегистра – накопителя и регистра – множителя на одну позицию вправо.
6)      Сложениесодержимого регистра – накопителя и регистра – множимого, инициируемоелогической 1 младшего разряда регистра – множителя на управляемую шину.
7) Сдвиг содержимогорегистра – накопителя и регистра – множителя на одну позицию вправо.
В результате этих шаговпроизведение (100011) находится сразу в двух регистрах (табл. 15.6).
Таблица 15.6. Пошаговый процессумножения с использованием операций сложения и сдвига
/>
В таблицах 15.5 – 15.6показаны принципы умножения двумя способами: путем многократного сложения ипутем сложений со сдвигами. При этом микропроцессоры могут и не содержать всвоих АЛУ умножителей. Конкретный способ умножения можно запрограммировать.Таким образом задавая процессору программу, он выполнит последовательностьопераций, которая обеспечит умножение двоичных чисел. Благодаря этомусущественно уменьшается число электронных схем в центральном процессоре.
15.10. Сложение ивычитание чисел, представленных в дополнительном коде
До сих пор сложение ивычитание производилось над положительными числами. Однако микропроцессорыдолжны обрабатывать не только положительные, но и отрицательные числа.Используя дополнительный код числа, можно задать как знак числа, так и егоабсолютную величину.
Рассмотрим 4 – разрядныйдополнительный код. Старший разряд отводится под знак числа: 0 – соответствуетположительному числу, 1 – отрицательному. Три разряда отводятся абсолютнойвеличине числа. В табл. 15.7 приведен 4 – разрядный дополнительный код чисел от+7 до –8.
Таблица 15.7.Представление двоичных чисел со знаком.
/>
Из табл. 15.7 видно, чтодополнительный код положительных чисел совпадает с обычным представлениемдвоичного числа. Для получения дополнительного кода отрицательного числа нужносначала сформировать дополнение этого числа до 1, а затем прибавить 1. На рис.15.23 показана процедура получения дополнительного кода отрицательного числа.
/>
Рис. 15.23. Примерпреобразования числа со знаком в дополнительный код
Эта процедура состоит изтрех шагов:
1)      десятичное числопреобразуется к его двоичному эквиваленту соответствующего положительногочисла;
2)      находитсядополнение полученного двоичного числа до 1, путем замены всех единиц на нули ивсех нулей на единицы;
3)      к полученномудополнению до 1 прибавляется 1. В результате сложения получаем дополнительныйкод числа.
Процедура перехода отдополнительного кода к двоичному числу, по которому затем определяетсядесятичное число, показано на рис. 15.24. Обратное преобразование выполняетсяследующим образом:
1)      находимдополнение до 1 для исходного дополнительного кода, путем замены всех единиц нанули и всех нулей на единицы;
к полученному дополнениюдо 1 прибавляется 1 путем двоичного сложения. В результате получаем искомоедвоичное число, но поскольку в старшем разряде дополнительного кода стоит 1,соответствующее десятичное число является отрицательным.
/>
Рис. 15.24. Примерпреобразования дополнительного кода в двоичное число
Рассмотрим примеры насложение и вычитание чисел, представленных в дополнительном коде (рис. 15.25).
/>
Рис. 15.25. Примерысложения и вычитания чисел в дополнительном коде
Из рис. 15.25 можносделать выводы, что сложение чисел, представленных в дополнительном коде,осуществляется обычным способом, за исключением случая, когда в результатеполучается 5 – разрядная комбинация. В этом случае самый старший разрядотбрасывается и остается дополнительный код суммы.
При вычитании, вычитаемоепредставляется в дополнительном коде. Далее образуется дополнение до 2 полученногодополнительного кода. При получении 5 – разрядной комбинации самый старшийразряд отбрасывается.
Сложение и вычитаниечисел, представленных в дополнительном коде, можно осуществить с использованиемсумматоров.
Рассмотрим схему3-разрядного сумматора – вычитателя, работающего с числами, представленными вдополнительном коде (рис. 15.26).
/>
Рис. 15.26. Структурнаясхема 3-разрядного сумматора – вычитателя чисел в дополнительном коде
Для сложения и вычитаниядвух чисел, представленных в 3-разрядном дополнительном коде, используется триполных сумматора. Для задания режима работы устройства на входе В каждогосумматора введем элемент исключающее ИЛИ. При подаче логического 0 устройствоскладывает двоичные комбинации /> и />. На выходе отображаетсядополнительный код сумы. При этом уровень логического 0 поступает на вход /> полногосумматора разряда единиц, т. е. этот сумматор работает как обычный двоичныйсумматор.
Для выполнения операциивычитания чисел, представленных в дополнительном коде, на управляющем входезадания режима устанавливается уровень логической 1. В этом случае элементыисключающее ИЛИ инвертируют информационные сигналы, поступающие на входы В. Навходе /> полногосумматора разряда единиц устанавливается высокий уровень сигнала.Инвертирование информационных сигналов элементами исключающее ИЛИ сприбавлением 1 на входе /> сумматора единиц соответствуетдополнению до 1 дополнительного кода вычитаемого и последующему сложению с 1младшего разряда. Это эквивалентно дополнению до 2 дополнительного кодавычитаемого />.В результате этих действий на выходе отображается дополнительный код разности.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Організація будівельного майданчика
Реферат Організаційно методичні аспекти фізкультурно оздоровчої роботи з дітьми 6 7 річного віку
Реферат Экономическое обоснование условий развития лесозаготовок
Реферат Западно-Алтайский заповедник
Реферат Средневековая философия Индии
Реферат Калашников - носитель национальных черт русского народа
Реферат Социально-экономическая сущность и содержание маркетинга 3
Реферат Совершенствование бухгалтерского учета товарных операций (на примере ООО "БРВ – Краснодар")
Реферат Анализ документооборота в ГОУ НПО "Нижегородское профессиональное училище-интернат для инвалидов"
Реферат Влияние температуры на спектральные и электрические характеристики светоизлучающих диодов
Реферат особенности сюжета и композиции произведения Мертвые души
Реферат Ergonomics In The Workplace Essay Research Paper
Реферат Казачество – как репрессированная культурно-этническая общность
Реферат Освоение космоса. Королев и Гагарин
Реферат Sahara Desert Essay Research Paper The Sahara