РГР / РГР
.docxМинистерство науки и высшего образования РФ
Федеральное государственное автономное образовательное учреждение высшего образования
«Омский государственный технический университет»
Кафедра «Информатика и вычислительная техника»
ОТЧЁТ ПО РАСЧЕТНО-ГРАФИЧЕСКОЙ РАБОТЕ
по дисциплине «Арифметические и логические основы вычислительной техники»
«Разработка арифметико-логического устройства, выполняющего деление со сдвигом сумматора с восстановлением остатка в прямом коде»
студентки Кукушкиной Алины Антоновны группы ИВТ-234
Пояснительная записка
Шифр работы От-2068998-23-ИВТ-234-14 ПЗ
Направление 09.03.01
Ассистент Горшенин А.Ю.
Студент Кукушкина А.А.
Омск 2024
1 ИСПОЛЬЗУЕМЫЕ ОБОЗНАЧЕНИЯ
В данной работе используются схемы алгоритмов в соответствии с ГОСТ 19.701-90 и структурные схемы операционных устройств в соответствии с ГОСТ 2.743-91.
В символах схем алгоритмов применяются следующие обозначения:
Обозначение |
Значение |
SM |
Сумматор мантисс |
SP |
Сумматор порядков |
R |
Регистр мантисс |
RP |
Регистр порядков |
:= |
Присвоение значения регистру, отдельному биту регистра или триггеру |
++ |
Увеличение сумматора на 1 |
-- |
Уменьшение сумматора на 1 |
+= |
Сложение сумматора с регистром или неким заранее заданным значением |
-= |
Вычитание сумматора с регистром или неким заранее заданным значением |
<- |
Сдвиг влево на 1 бит |
-> |
Сдвиг вправо на 1 бит |
[n] |
Обращение к некоторому биту регистра или сумматора (индексация начинается с единицы) |
⨁ |
Исключающее «или» |
Таблица 1 – Обозначения, используемые в символах схем алгоритмов
Таблица 2 – Логические условия
Таблица 3 – Управляющие сигналы
2 ОПИСАНИЕ УСТРОЙСТВА
Данное устройство реализует алгоритм деления в прямом коде с подвижным сумматором, с восстановления остатка. На вход подаются два числа с плавающей запятой, которые характеризуются мантиссой и порядком. Все числа записаны в прямом коде.
Мантисса каждого числа представлена в виде Зн,1xxxxxxx,где Зн — знак числа, а x – биты модуля мантиссы этого числа, то есть, каждая мантисса имеет один бит знака и восемь бит модуля.
Алгоритм деления в прямом коде с подвижным сумматором, с восстановления остатка:
В сумматор записывается делимое, делитель и частное располагаются в соответствующих регистрах. Перед началом деления в старший разряд регистра частного записывается единица, если знак делимого равен знаку делителя, и нуль – в противном случае. Затем выполняется (n-1) цикла, каждый из которых содержит два такта:
Содержимое сумматора и регистра частного сдвигается на один разряд вправо;
Из сумматора вычитается делитель, если (n-1)-я цифра частного равна единице, в противном случае производится сложение сумматора и содержимого регистра делителя.
Очередная цифра частного равна единице, если знак сумматора равен знаку делителя, и нулю – при различных знаках на сумматоре и регистре делителя.
После выполнения деления нужно выполнить коррекцию, заключающуюся в сложении содержимого регистра частного с поправкой, которая равна 1,00…0 при равенстве знаков делимого и делителя и 1,00…01 – в противном случае.
3 СТРУКТУРНАЯ СХЕМА УСТРОЙСТВА
4 СХЕМА АЛГОРИТМА РАБОТЫ УСТРОЙСТВА
На рисунке 2 представлена схема алгоритма работы устройства, описывающая следующий алгоритм выполнения деления:
Рисунок 2 – Схема алгоритма выполнения операции деления
5 РЕШЕНИЕ ПРИМЕРА
mA = 0,10101101 mB = 0,11000101 -mB = 1,00111011 |
pA = 00100 pB = 00010 |
mA<mB |
R2 = 0,11000101 ∑ = 0,10101101 -R2 = 1,00111011 |
|
pA = 00100 pB = 00010
|
p=pA-pB |
1) ∑ = 1,01011010 -R2 = 1,00111011
|
R1 = 0,00000001 |
|
|
∑ = 0,0010101
2) ∑ = 1,00101010 -R2 = 1,00111011
|
R1 = 0,00000011
|
|
|
∑ = 0,011000101
3) ∑ = 0,11001010 -R2 = 1,00111011
|
R1 = 0,00000111 |
|
|
∑ = 0,010000101
4) ∑ = 0,00001010 -R2 = 1,00111011
|
R1 = 0,00000110 |
|
|
+ ∑ = 1,01000101 R2 = 0,11000101 |
|
|
|
∑ = 0,00001001
5) ∑ = 0,00010100 -R2 = 1,00111011
|
R1 = 0,00001110 |
|
|
+ ∑ = 1,01001111 R2 = 0,11000101 |
|
|
|
∑ = 1,00010100
6) ∑ = 0,00101000 -R2 = 1,00111011
|
R1 = 0,00011100 |
|
|
+ ∑ = 1,01100011 R2 = 0,11000101
|
|
|
|
∑ = 1,00101100
7) ∑ = 0,01010000 -R2 = 1,00111011
|
R1 =0, 01110000 |
|
|
+ ∑ = 1,10001011 R2 = 0,11000101
|
|
|
|
∑ = 0,01010000
8) ∑ = 0,10100000 -R2 = 1,00111011
|
R1 =0, 11100000
|
|
|
+ ∑ = 1,10001011 R2 = 0,11000101
|
|
|
|
∑ = 0,10110000
9) ∑ = 1,01000000 -R2 = 1,00111011
|
R1 =0, 11100001
|
|
|
∑ = 0,01111011
|
R1 =0, 11100001
|
|
|