русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Использование сумматоров для вычитания


Дата добавления: 2015-08-31; просмотров: 2838; Нарушение авторских прав


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

В общих чертах этот прием иллюстрируется на рис. 17.1. Рассматривается пример на вычитание десятичного числа 6 из десятичного числа 10 (в двоичной системе: 1010 - 0110). Пример решается сначала с использованием десятичных чисел, затем - двоичных чисел и, наконец, с использованием специального математического приема. В последнем случае техника вычислений следующая. Сначала двоичное вычитаемое записывается в форме поразрядного дополнения до 1 (всюду 1 заменяется на 0 и 0 - на 1) и затем складывается с уменьшаемым. Как видно из рисунка, дополнением до 1 двоичного числа 0110 является число 1001. При сложении получается промежуточный результат 10011. Далее последний перенос влево мы как бы продолжаем по круговой "траектории" (см. стрелку на рисунке) и завершаем его в разряде единиц. Такой перенос называется циклическим (или круговым) переносом. Складывая циклический перенос с остатком промежуточной суммы, получаем разность исходных двоичных чисел 1010 и 0110. Ответ: 100 (десятичное число 4).

Рис. 17.1. Вычитание двоичных чисел способом дополненя до 1 с циклическим переносом

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

Рис. 17.2. Использование полных сумматоров и инверторов в 4-разрядном вычитателе



Рассмотрим теперь использование сумматоров для выполнения операции двоичного вычитания. На рис. 17.2 показаны 4 полных сумматора, объединенные в систему, работающую как 4-разрядный параллельный вычитатель. Обратите особое внимание на 4 инвертора, обеспечивающие преобразование двоичного числа В3В2В1В0 в форму дополнения до 1. Эти инверторы установлены на входах В каждого сумматора; они инвертируют (дополняют до 1) значение каждого разряда вычитаемого. Сумматоры складывают двоичные числа A3A2A1A0 и В3В2В1В0. Дополнительный (циклический) перенос осуществляется по шине циклического переноса с выхода переноса С0 сумматора восьмерок на вход переноса Cm сумматора единиц (рис. 17.2). На выходном индикаторе (в правом нижнем углу рисунка) высвечивается разность двоичных чисел А3А2А1А0 и В3В2В1В0.

Для вычитания в вычислительных устройствах могут пользоваться числа в форме дополнения до 1, однако чаще используются числа в форме дополнения до 2 (в дополнительном коде).

 



<== предыдущая лекция | следующая лекция ==>
Параллельные вычитатели | Сумматоры


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.192 сек.