Otchet (Деление без восстановления остатка со сдвигом остатка)
Описание файла
Документ из архива "Деление без восстановления остатка со сдвигом остатка", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "Otchet"
Текст из документа "Otchet"
26
ЗАДАНИЕ
Деление без восстановления остатка со сдвигом остатка
В форме с фиксированной запятой: формат (1, 8)
Дополнительный код
Двоично-десятичная система счисления (код 8421, 8421+6)
Контроль по модулю
Синхронный автомат Мили
Логический элемент “ИЛИ-НЕ”
Триггер JK -типа
Задание выдал ² ___ ² _______ 2003г. Преподаватель: Шерстобитова Т.М.
Задание принял ² ___ ² _______ 2003г. Студент: Родионов С.В. .Специальность: 3704 Группа: ЭВМ 00-2 .
ВВЕДЕНИЕ
Как известно цифровые электронные вычислительные машины, т.е. компьютеры, предназначены для обработки цифровой информации и являются частным, но наиболее распространенным видом цифровых автоматов. Для успешного изучения общих принципов обработки цифровой информации рационально, по возможности максимально, отвлечься от реального аппаратного обеспечения компьютера и рассматривать компьютер как некоторый абстрактный цифровой автомат, предназначенный для обработки информации, представленной в цифровой форме. Знания по прикладной теории таких автоматов необходимы для успешного поиска новых принципов построения компьютеров, совершенствования уже известных алгоритмов обработки цифровой информации, грамотной эксплуатации вычислительной техники и разработки различного программного обеспечения.
Для всего этого необходимы четкие знания арифметических и логических основ цифровых автоматов, принципов анализа и синтеза этих автоматов.
В данном курсовом проекте описан процесс проектирования управляющего автомата (УА), осуществляющий управление выполнения операции деления без восстановления в коде 8421, 8421+6. Курсовая работа состоит из двух разделов: разработка алгоритма выполнения операции и непосредственно синтеза УА, реализующего этот алгоритм, а также программы на языке программирования Ассемблера, выполняющей операцию деления в коде 8421, 8421+6.
Основной целью курсовой работы является закрепление основных теоретических положений курса ПТЦА, приобретение практических навыков по обработке алгоритмов выполнения арифметических операции в ЦВМ, построению управляющих цифровых автоматов, средств их контроля и диагностики.
1. Разработка микропрограммы выполнения операции
-
Представление чисел с фиксированной запятой
Необходимость в указании положения запятой отпадает, если место запятой в разрядной сетки машины заранее фиксировано раз и навсегда. Такая форма представления чисел называется представлением с фиксированной запятой (точкой).
Так как числа бывают положительные и отрицательные, то формат (разрядная сетка) машинного изображения разбивается на знаковую часть и поле числа. В поле числа размещается само изображение числа, которое мы условно называем мантиссой числа. Для кодирования знака числа используется самый старший разряд разрядной сетки, отведенной для изображения двоичного числа, а остальные разряды отводятся под мантиссу числа. Положение запятой в разрядной сетке строго фиксируется, обычно или правее самого младшего разряда мантиссы, или левее самого старшего. В первом случае число представляется как целое, во втором - как правильная дробь.
В настоящее время, в подавляющем большинстве, в компьютерах в формате с фиксированной точкой представляются целые числа.
В знаковую часть записывается информация о знаке числа. Принято, что знак положительного числа "+" изображается символом 0, а знак отрицательного числа " – " изображается символом 1.
1.2 Обзор дополнительного кода числа
Известно, что одним из способов выполнения операции вычитания является замена знака вычитаемого на противоположный и прибавление его к уменьшаемому:
А - В = А + ( - В)
Этим операцию арифметического вычитания заменяют операцией алгебраического сложения, которую можно выполнить при помощи двоичных сумматоров.
Для машинного представления отрицательных чисел используют его дополнительный код. Определение этого кода может быть дано следующим образом. Если число А в обычном двоичном коде - прямом двоичном коде, изобразить как
[A]пр = 0.an an-1 an-2.....a1 a0,
тогда число – А в этом же коде представляется как
[-A]пр = 1.an an-1 an-2.....a1 a0,
тогда число -A в дополнительном коде изображается в виде
[-A]доп = [-A]об + 1
где
[-A]об = 1.an an-1 an-2.....a1 a0,
где
ai = 1, если ai = 0,
ai = 0, если ai = 1,
ai – цифра i - того разряда двоичного числа. Следовательно, при переходе от прямого кода к обратному все цифры разрядов мантиссы числа инвертируются.
Таким образом, для получения дополнительного кода отрицательных чисел нужно сначала инвертировать цифровую часть исходного числа, в результате чего получается его обратный код, а затем добавить единицу в младший разряд цифровой части числа.
Дополнительный код некоторого числа получается его заменой на новое число, дополняющее его до числа, равного весу разряда, следующего за самым старшим разрядом разрядной сетки, используемой для представления мантиссы числа в формате с фиксированной запятой. Поэтому такой код числа называется дополнительным.
Подчеркну, что дополнительный код используются только для представления отрицательных двоичных чисел. Положительные числа в этом коде не меняют своего изображения, и представляются как в прямом коде.
Таким образом, цифровые разряды отрицательного числа в прямом коде остаются неизменными, а в знаковой части записывается единица.
1.3 Рассмотрение процесса выполнения операции деления без восстановления в коде 8421,8421+6
a) Двоично-десятичная система счисления:
Двоично-десятичный код (Д-код) десятичного числа, это такое его представление, в котором каждая десятичная цифра изображается четырьмя двоичными разрядами (тетрадой из двоичных символов):
A = {a4,n a3,n a2,n a1,n}n {a4,n-1 a3,n-1 a2,n-1 a1,n-1}n-1 ... {a4,0 a3,0 a2,0 a1,0}0 ,
где - двоичные разряды тетрады, i - номер разряда внутри тетрады, j - номер самой тетрады.
Для однозначности перевода чисел в Д-код и обратно желательно, чтобы разряды тетрад имели определенный вес. Максимальное допустимое число в тетраде - 9. Если возникает число 10 и больше, то единица переходит в следующую старшую тетраду. Существуют различные Д-коды, мы рассматрим Д-код, вес разрядов, тетрады которого следующий: 8, 4, 2, 1.
Десятичные цифры | 8421 | 8421(+6) |
0 | 0000 | 0110 |
1 | 0001 | 0111 |
2 | 0010 | 1000 |
3 | 0011 | 1001 |
4 | 0100 | 1010 |
5 | 0101 | 1011 |
6 | 0110 | 1100 |
7 | 0111 | 1101 |
8 | 1000 | 1110 |
9 | 1001 | 1111 |
б) Свойства кода 8421
1) Коды 8421 и 8421(+6) взаимно дополняющие друг друга, и это свойство используется при выполнение алгебраического сложения.
-3 = 1.0011 пк
1.1100 ок
1
1.1101 дк = | 7 |
1.1101 ¹ 7 (8421)
1.1101 = 7 (8421(+6))
Для рассматриваемого кода 8421нельзя получить обратный или дополнительный код простым инвертированием, т.к. инвертирование набора тетрад означает получение дополнения до .
Следовательно, необходимо убрать разницу. Один из используемых при этом приемов состоит в том, что во все цифровые тетрады числа в коде 8421 добавляется 0110 и после этого производится инвертирование набора.
Полученное изображение представляет собой обратный код числа. А дополнительный код получается, как обычно, добавлением 1 к младшему разряду младшей тетрады.
2) Аддитивность системы:
Сi = I1I2I3...In
Cj = J1J2J3...Jn
Eij = E1E2E3...En
Система счисления 8421 аддитивна
3= 0.0011
4= 0.0100
7= 0.0111
в) Алгебраическое сложение в коде 8421,8421+6
Первый случай – если слагаемые тетрады имеют одинаковые знаки
А>0, В>0, å – ?
A<0, B<0, å – ?
+ | |
Если при этом был перенос p = 1, то выполняется К = 0
Если при этом не было переноса p = 0, то выполняется К = – 6
Второй случай – если слагаемые тетрады имеют различные знаки
А>0, В<0
A<0, B>0
+ | ||
å |
Если å > 0 и при этом был перенос p = 1, то выполняется К = 0,
Если å > 0 и при этом не было переноса p = 0, то выполняется К = – 6
Если å < 0 сумма получается в коде 8421(+6), если при этом был перенос p = 1, то выполняется К = +6,
Если å < 0 сумма получается в коде 8421(+6), если при этом не было переноса p = 0, то выполняется К = 0
г) Деление в коде 8421, 8421+6
1) Тетрада рассматривается как единое целое, и сдвиг осуществляется на одну тетраду после формирования очередной тетрады частного.
2) Для формирования тетрады частного из делимого вычитают делитель до тех пор, пока знак остатка не изменится на противоположный. Если после положительного остатка получили отрицательный, то он не восстанавливается, в следующую тетраду частного записывается 9 и после сдвига начинается прибавление делителя, на каждый отрицательный остаток из текущей тетрады частного отнимается 1. При смене знака на положительный в следующую тетраду частного записывается 0 и на каждый положительный остаток в текущую тетраду частного прибавляется 1.
3) Появление остатка с противоположным знаком является признаком конца формирования очередной тетрады частного, осуществляется сдвиг остатка сразу на одну тетраду. И переходят к формированию следующей тетрады частного.
0>0>0>