Реферат Курсовая Конспект
Практическая работа №1 Архитектура ЭВМ и вычислительных систем - раздел Компьютеры, Практическая Работа №1 Архитектура Эвм И Вычислительных Систем ...
|
Практическая работа №1
Архитектура ЭВМ и вычислительных систем
Тема: Выполнение операций сложения и вычитания в обратном и дополнительном кодах
Цель работы: Научиться производить операции сложения и вычитания в дополнительных и обратных кодах
Литература:
1. Калабеков Б.А. Цифровые устройства и микропроцессорные системы. – М.: Горячая линия, 2005г
2. Калиш Г.Г. Основы вычислительной техники. – М. Высш. шк., 2000 г.
Краткие теоретические сведения:
Арифметические операции над числами с фиксированной точкой
Сложение (вычитание). Операция вычитания приводится к операции сложения путем преобразования чисел в обратный или дополнительный код. Пусть числа A=>O и В=>О, тогда операция алгебраического сложения выполняется в соответствии с табл. 1.
Таблица 1
Таблица преобразования кодов при алгебраическом сложении
Требуемая операция | Необходимое преобразование |
А+В А-В -А+В -А-В | А+В А+(-В) (-А)+В (-А)+(-В) |
Скобки в представленных выражениях указывают на замену операции вычитания операцией сложения с обратным или дополнительным кодом соответствующего числа. При выполнении сложения цифр необходимо соблюдать следующие правила.
1. Слагаемые должны иметь одинаковое число разрядов. Для выравнивания разрядной сетки слагаемых можно дописывать незначащие нули слева к целой части числа и незначащие нули справа к дробной части числа.
2. Знаковые разряды чисел участвуют в сложении так же, как и значащие.
3. Необходимые преобразования кодов производятся с изменением знаков чисел. Приписанные незначащие нули изменяют свое значение при преобразованиях по общему правилу.
4. При образовании единицы переноса из старшего знакового разряда, в случае использования ОК, эта единица складывается с младшим числовым разрядом. При использовании ДК единица переноса теряется. Знак результата формируется автоматически, результат представляется в том коде, в котором представлены исходные слагаемые.
Пример 1. Сложить два числа А10=7 В10=16
A2=+11=+0111;
B2=+1000=+10000.
Исходные числа имеют различную разрядность, необходимо провести выравнивание разрядной сетки:
[A2]П=[A2]OK=[A2]ДК=0: 00111;
[B2]П=[B2]OK=[B2]ДК=0: 10000.
Сложение в обратном или дополнительном коде дает один и тот же результат
Обратим внимание, что при сложении цифр отсутствуют переносы в знаковый разряд и из знакового разряда, что свидетельствует о получении правильного результата.
Пример 2 Сложить два числа А10 = + 16 В10 = ≈7 в ОК и ДК. В соответствии с табл. 1 должна быть реализована зависимость А+(-В), в которой второй член преобразуется с учетом знака
При сложении чисел в ОК и ДК были получены переносы в знаковый разряд и из знакового разряда. В случае ОК перенос из знакового разряда требует дополнительного прибавления единицы младшего разряда (см.п.4 правил). В случае ДК этот перенос игнорируется.
Умножение. Умножение двоичных чисел наиболее просто .реализуется в прямом коде. Рассмотрим, каким образом оно приводится к операциям сложения и сдвигам.
Пример 3. Умножить два числа А10=7 В10=5.
Перемножим эти числа, представленные прямыми двоичными кодами, так же, как это делается в десятичной системе.
Нетрудно видеть, что произведение получается путём сложения частных произведений, представляющих собой разряды множимого, сдвинутые влево в соответствии с позициями разрядов множителя. Частные произведения, полученные умножением на нуль игнорируются. Важной особенностью операции умножения n-разрядных сомножителей является увеличение разрядности произведения до n+n=2n. Знак произведения формируется путём сложения знаковых разрядов сомножителей. Возможные переносы из знакового разряда игнорируются.
Деление. Операция деления, как и в десятичной арифметике, является обратной операции умножения. Покажем, что и эта операция приводится к последовательности операций сложения и сдвига.
Пример 4. Разделить два числа А10=45 B10 =5
Деление произведено так же, как это делается обычно в десятичной системе. Сначала проверяется, можно ли вычесть значение делителя из старших разрядов делимого. Если возможно, то в разряде частного записывается единица и определяется частная разница. В противном случае в частное записывается нуль и разряды делителя сдвигаются вправо на один разряд по отношению к разрядам делимого. К полученной предыдущей разнице сносится очередная цифра делимого, и данный процесс повторяется, пока не будет получена необходимая точность. Если учесть, что все вычитания в ЭВМ заменяются сложением в ОК или в ДК (см. табл.1), то действительно операция деления приводится к операциям сложения и сдвигам вправо разрядов делителя относительно разрядов делимого. Отметим, что делимое перед операцией деления должно быть приведено к 2n-разрядной сетке. Только в этом случае при делении на n-разрядный делитель получается n-разрядное частное.
Знак частного формируется также путем сложения знаковых разрядов делимого и делителя, как это делалось при умножении.
Арифметические операции над двоичными числами с плавающей точкой
В современных ЭВМ числа с плавающей точкой хранятся в памяти машин, имея мантиссу и порядок (характеристику) в прямом коде и нормализованном виде. Все арифметические действия над этими числами выполняются так же, как это делается с ними, если они представлены в полулогарифмической форме (мантисса и десятичный порядок) в десятичной системе счисления. Порядки и мантиссы обрабатываются раздельно.
Сложение (вычитание). Операция сложения (вычитания) производится в следующей последовательности.
1. Сравниваются порядки (характеристики) исходных чисел путем их вычитания р=р1-р2. При выполнении этой операции определяется, одинаковый ли порядок имеют исходные слагаемые.
2. Если разность порядков равна нулю, то это значит, что одноименные разряды мантисс имеют одинаковые веса (двоичный порядок). В противном случае должно проводиться выравнивание порядков.
3. Для выравнивания порядков число с меньшим порядком сдвигается вправо на разницу порядков Ар. Младшие выталкиваемые разряды при этом теряются.
4. После выравнивания порядков мантиссы чисел можно складывать (вычитать) в зависимости от требуемой операции. Операция вычитания заменяется операцией сложения в соответствии с данными табл. 2.3. Действия над слагаемыми производятся в ОК или ДК по общим правилам.
5. Порядок результата берется равным большему порядку.
6. Если мантисса результата не нормализована, то осуществляются нормализация и коррекция значений порядка.
Пример 5. Сложить два числа А10=+1.375; B10=-0.625.
А2=+1.011=0: 1011*101; B2=-0.101=-0:101*100.
В нормализованном виде эти числа будут иметь вид:
1. Вычитаем порядки Δp=p1-p2=1-0=1. В машине эта операция требует операции сложения с преобразованием порядка чисел в дополнительный код:
Определяем, что Δр≠ 0.
2. Порядок первого числа больше порядка второго числа на единицу. Требуется выравнивание порядков.
3. Для выравнивания порядков необходимо второе число сдвинуть вправо на один разряд.
[B2]исх=0: 0 1: 101
после сдвига
[B2]п=0: 11:0101
[mB]дк= 1: 1011
4. Складываем мантиссы.
Мантисса числа С - положительная.
5. Порядок числа С равен порядку числа с большим порядком, т.е. р = +1.
[С2]п=0: 1 0: 0110.
Видно, что мантисса результата не нормализована, так как старшая цифра мантиссы равна нулю.
6. Нормализуем результат путем сдвига мантиссы на один разряд влево и соответственно вычитаем из значения порядка единицу:
Умножение (деление). Операция умножения (деления) чисел с плавающей точкой также требует разных действий над порядками и мантиссами. Алгоритмы этих операций выполняются в следующей последовательности.
1. При умножении (делении) порядки складываются (вычитаются) так, как это делается над числами с фиксированной точкой.
2. При умножении (делении) мантиссы перемножаются (делятся).
3. Знаки произведения (частного) формируются путем сложения знаковых разрядов сомножителей (делимого и делителя). Возможные переносы из знакового разряда игнорируются.
Задание:
I | II | III | IV | V | VI | |
149,37510 | 711,2510 | 360,2510 | 741,12510 | 597,2510 | 237,7310 | |
65,216 | -3BF,A16 | -2FE,616 | 24A,416 | 24D,516 | BB,416 | |
101010000,10111 | 1100110110,0011 | 11001010,01 | 1111100100,11011 | 1101111111,1 | 1000101001,1 | |
11001100,01 | 11111110,01 | 1110001,001 | 101110111,011 | 1100111110,1011 | 1111101,1 | |
X=69,416 Y=A,D16 | X=2B,A16; Y=36,616 | X=7,416; Y=1D,416 | X=36,416; Y=A,A16 | X=4B,216; Y=3C,316 | X=4A,316 Y=F,616; | |
X=326,810; Y=-15,210 | X=-220,1510; Y=6,2910 | X=150,4610; Y=-7,52310 | X=365,0210; Y=-18,25110 | X=-128,310; Y=6,41510 | X=421,210; Y=-11,710 |
Порядок выполнения работы:
Выполните арифметические операции в естественной и нормальной форме:
1. сложение
2. вычитание
3. умножение
4. деление
Контрольные вопросы:
1. Сформулируйте правила сложения чисел в форме с плавающей точкой
2. Чем отличается числа в форме с фиксированной точкой от чисел с плавающей точкой.
Практическая работа №3
Архитектура ЭВМ и вычислительных систем
Тема: Умножение в АЛУ двоичных чисел с фиксированной точкой
Цель работы:
Средства:
Литература:
1. Калабеков Б.А. Цифровые устройства и микропроцессорные системы. – М.: Горячая линия, 2005г
2. Калиш Г.Г. Основы вычислительной техники. – М. Высш. шк., 2000 г.
Краткие теоретические сведения:
КОМАНДЫ УМНОЖЕНИЯ И ДЕЛЕНИЯ
Расширение слова до двойного(convert word to double): CWD
Действие этой команды можно описать так:
Отрицание:NOT ор
Допустимые типы операнда: r8, m8, r1б, m16. Эта команда меняет значение каждого бита операнда на противоположное: 0 на 1 и 1 на 0; результат записывается на место операнда. Например:
MOV AL,1100b ;AL=00001100b
NOT AL ;AL=11110011b
Конъюнкция (логическое умножение): AND op1,op2
В этой команде допустимы следующие комбинации операндов:
Дизъюнкция (логическое сложение): OR op1,op2
Допустимые типы операндов - как в команде AND.
Команда производит поразрядное логическое сложение и записывает результат на место первого операнда. Здесь i-й бит результата равен 1, если i-й бит хотя бы одного операнда равен 1, и равен 0 только в одном случае, когда i-e биты обоих операндов нулевые (см. таблицу). Например:
MOV CL,1100b
OR CL,1010b ;CL=00001110b
– Конец работы –
Используемые теги: практическая, работа, архитектура, ЭВМ, вычислительных, систем0.094
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Практическая работа №1 Архитектура ЭВМ и вычислительных систем
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов