Синтез микропрограммного управляющего автомата с жесткой логикой

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

Введение

 

Последние годы с большой интенсивностью ведутся работы по созданию и применению различных автоматических систем для переработки информации. Такие автоматы реализуются в виде самостоятельных устройств специального назначения или в виде блоков, входящих в системы управления и системы обработки информации. При этом работа ведется с математическими моделями, предназначенными для в той или иной степени приближенного отображения физических моделей.

Применение моделей в Теории автоматов не ограничивается какой-либо частной областью, а возможно для решения проблем практически в любой области исследования.

Предлагаемая курсовая работа является продолжением в цепочке курсовых работ и проектов по специальности 22.01. Основной целью данной курсовой работы является получение навыков синтеза микропрограммного управляющего автомата с жесткой логикой. Далее в курсе Схемотехника будет предложено разработать операционный автомат для одной или группы арифметических операций. Дальнейшее развитие курсовой проект получит в дисциплине Теория и проектирование ЦВМ.

Сравнительная оценка алгоритма

Длительность процесса умножения при любом алгоритме составляет n шагов

 

Tу = ntШ

 

где n - количество значащих цифр в каждом сомножителе;

tш - длительность одного шага умножения.

Один шаг умножения в общем случае состоит из двух микроопераций: сложения и сдвига кодов, имеющих длительность tсл и tсд соответственно. Однако длительность шагов неодинакова в различных алгоритмах. Так, в нашем случае tш =tсл, так как в этом алгоритме можно совместить во времени такты сдвига и сложения частичных произведений. Действительно, добавление очередного частичного произведения к накапливаемой сумме практически сводиться к передаче цифр из регистра множимого в сумматор, в котором затем образуются цифры новой суммы. Формирование следующего частичного произведения (сдвиг) сводиться к передаче этих же цифр в соседние старшие разряды в регистре множимого. Таким образом, нет никаких препятствий для объединения этих двух процессов. Но поскольку в машинах всегда tсл > tсд, то это приводит к следующему соотношению:

У = ntсл

 

Выигрыш в быстродействии при применении данного алгоритма умножения зависит от соотношения длительности тактов сложения и сдвигов. Если приять это соотношение равным tсл = (3 - 5) tсд, или для определенности tсл = 4tсд, то сравнительный выигрыш в быстродействии равен Eб = (DtШ/5tСД)*100% = 20%, однако аппаратурные затраты больше, чем при использовании других методов (примерно на 40%).

Таким образом, если при проектировании машины основное внимание обращается на её быстродействие, то лучшим выбором является второй способ умножения.

 

1Постановка задачи

 

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

 

 

2Описание используемого алгоритма умножения

 

Для более простого понимания и облегчения проектирования разобьем алгоритм умножения на несколько частей и опишем каждую в отдельности.

 

2.1Умножение чисел вторым способом

 

Второй способ умножения чисел относится к методам умножения с младших разрядов множителя. Способ требует одного n-разрядного регистра множителя и 2n-разрядных регистров множимого и суммы частичных произведений. В данном способе осуществляются сдвиги множителя вправо и множимого влево. Если в анализируемом разряде множителя находится единица, то необходимо добавить множимое к сумме, в противном случае никаких действий над суммой производить не нужно. Первоначально множимое следует занести в младшие разряды регистра.

 

2.2Алгоритм умножения чисел в дополнительном коде с простой коррекцией

 

1.Определить знак произведения сложением по модулю два знаковых разрядов сомножителей.

2.Перемножить модули сомножителей, представленных в дополнительном коде - получим псевдопроизведение.

.Выполнить коррекцию псевдопроизведения.

если оба сомножителя положительны, то коррекции нет

если один из сомножителей отрицателен, а другой положителен, то к псевдопроизведению надо прибавить дополнительный код от модуля положительного сомножителя

если оба сомножителя отрицательны, то к псевдопроизведению надо прибавить дополнительные коды от модулей дополнительных кодов сомножителей, т.е. их прямые коды.

. Присвоить модулю произведения знак из п.1 алгоритма.

 

2.3Умножение чисел с плавающей запятой

 

Числа с ПЗ в ЭВМ представляются так, как представлено на рисунке 1.

 

10111001010011100100101110110110Рисунок 1 - Представление чисел с ПЗ

 

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

При умножении чисел с ПЗ в порядках может возникнуть ПРС.

При умножении производится перемножение мантисс этих чисел и сложение их порядков. После этого может появиться необходимость в нормализации полученного произведения для повышения точности результата. Для этого производится сдвиг произведения на разряд влево и уменьшение значения порядка на единицу.

 

2.4Численный пример

 

А=-22

В=19

 

-22100101010101900010110011

> множите