- •Вычислительные системы и телекоммуникации
- •Введение
- •Структура учебного курса «Вычислительные системы» (модуль 1)
- •Основы построения и функционирования электронно-вычислительных машин
- •Первые локальные сети
- •Архитектурные особенности и организация функционирования вычислительных машин
- •Классификация эвм
- •Сложение
- •Вычитание
- •Умножение
- •Деление
- •Арифметические действия
- •Арифметические устройства. Сумматор.
- •Регистры
- •Периферийные устройства компьютера Периферийные устройства предназначены для выполнения вспомогательных операций. К ним относятся устройства ввода-вывода, устройства хранения и обмена данными.
- •Устройства командного управления
- •Устройства вывода данных
- •Устройства хранения данных
- •Прикладные программы предназначены для того, чтобы обеспечить применение вычислительной техники в различных сферах деятельности человека.
Сложение
Как и в десятичной системе счисления, сложение двоичных чисел начинается с правых (младших) разрядов. Если результат сложения цифр МЗР обоих слагаемых не помещается в этом же разряде результата, то происходит перенос. Цифра, переносимая в соседний разряд слева, добавляется к его содержимому. Такая операция выполняется над всеми разрядами слагаемых от МЗР до СЗР.
Пример.
Сложить два числа в двоичной системе счисления
Вычитание
Операция вычитания двоичных чисел аналогична операции в десятичной системе счисления. Операция вычитания начинается, как и сложение, с МЗР. Если содержимое разряда уменьшаемого меньше содержимого одноименного разряда вычитаемого, то происходит заем 1 из соседнего старшего разряда. Операция повторяется над всеми разрядами операндов от МЗР до СЗР.
Пример.
Умножение
Как и в десятичной системе счисления, операция перемножения двоичных многоразрядных чисел производится путем образования частичных произведений и последующего их суммирования.
Пример.
Вычислить произведение 17(10)× 12(10)в двоичной системе счисления.
Деление
Деление − операция, обратная умножению, поэтому при делении двоичных чисел, так же как и в десятичной системе счисления, операция вычитания повторяется до тех пор, пока уменьшаемое не станет меньше вычитаемого. Число этих повторений показывает, сколько раз вычитаемое укладывается в уменьшаемом.
Пример.
Вычислить 204(10): 12(10)в двоичном коде:
Машинные коды
Любая машинная операция в ЭВМ основана на использовании простейших микроопераций типа сложение и сдвиг, что позволяет иметь единое арифметико-логическое устройство для выполнения любых операций, связанных с обработкой информации.
При сложении чисел под знак числа отводится специальный знаковый разряд. Знак плюс кодируется двоичным нулем, а знак минус — двоичной единицей. Действия над прямыми кодами двоичных чисел при выполнении операций создают трудности, т.к. необходимо учитывать значения знаковых разрядов.
В ЭВМ все операции выполняются над числами, представленными специальными машинными кодами, которые позволяют обрабатывать знаковые разряды чисел так же, как и значащие разряды, а также заменять операцию вычитания операцией сложения. Различают прямой код (пк), обратный (ок) и дополнительный (дк) двоичных чисел.
Прямойкод двоичного числа образуется из абсолютного значения этого числа и кода знака перед старшим числовым разрядом.
Пример.
Даны два числа (А и В) в десятичной системе счисления. Требуется записать их прямой код.
А(10)= +10 А(2)= +1010 Апк=0 1010
В(10)= -15 В(2)= -1111 Впк=1 1111
Обратный код образуется по правилу:
обратный код положительного числа совпадает с его прямым кодом;
обратный код отрицательного числа содержит единицу в знаковом разряде числа, а значащие разряды числа заменяются на инверсные (противоположные).
Пример.
Даны два числа (А и В) в десятичной системе счисления. Требуется записать их обратный код.
А(10)= +5 А(2)= +101 Апк=0 101 Аок=0 101
В(10)= -13 В(2)= -1101 Впк=1 1101 Вок=1 0010
Сложение положительного числа с его отрицательным значением в обратном коде дает так называемую машинную единицу МЕок=1…1111……..
Нуль в обратном коде имеет двоякое значение: он может быть как положительным числом (0…00000….), так и отрицательным (1…11111….). Значение отрицательного нуля совпадает с МЕок. Такое двойственное представление нуля есть причина того, что в современных ЭВМ все числа представляются не обратным, а дополнительным кодом.
Дополнительный кодположительного числа совпадает с его прямым кодом, а отрицательного числа представляет собойрезультат суммирования младшего разряда обратного кода числа с единицей.
Пример.
Даны два числа (А и В) в десятичной системе счисления. Требуется записать их в дополнительном коде.
А(10)=+19 А(2)=+10011 Апк=0 10011; Аок=0 10011 Адк=0 10011
В(10)=-13 В(2)=-1101 Впк=1 1101 Вок=1 0010 Вдк=1 0010 (+1) =0011
Существует другой (быстрый)способ формирования дополнительного кода: двоичное число в прямом коде просматривается от младшего разряда к старшему (справа налево). Пока встречаются нули, их копируют в одноименные разряды результата. Первая, встретившаяся единица также копируется в соответствующий разряд, а каждый последующий бит исходного числа заменяется на противоположный (0 на 1 или 1 на 0). Знаковый разряд свое значениенеизменяет.
Пример.
1. Дано число А(10)= - 44 А(2)= - 101100 Апк=1 101100
Адк=1 010100
2. Дано число А(10)= - 23 А(2)= - 10111 Апк=1 10111
Адк=1 01001
Преобразование кодов при алгебраическом сложении:
А+В = А+В -А+В = (-А)+В
А-В = А+(-В) -А-В = (-А)+(-В)