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

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

МИНСКИЙ ИНСТИТУТ УПРАВЛЕНИЯ

Кафедра автоматизированных информационных систем

КУРСОВОЙ ПРОЕКТ

по дисциплине «Архитектура компьютеров и вычислительных систем»

на тему: «Разработать вычислительное устройство для выполнения операции умножения двоичных чисел»

Студент группы

№ 101 201з

Р.В. Грозный

Минск — 2012

МИНСКИЙ ИНСТИТУТ УПРАВЛЕНИЯ

Факультет Учетно-финансовый

Специальность Информационные системы и технологии (управленческая деятельность)

ЗАДАНИЕ

на курсовой проект

по дисциплине «Архитектура компьютеров и вычислительных систем«

студентке Богумилу Дмитрию Викторовичу,группа № 101 202з

1. Тема: Разработать вычислительное устройство для выполнения операции умножения двоичных чисел.

2. Срок сдачи студентом законченного курсового проекта: 10 сентября 2012 г.

3. Исходные данные:

3.1. Числа с фиксированной запятой без знака, представленные в прямом коде.

3.2. Количество разрядов: 4

3.3. Алгоритм умножения: на один разряд множителя, начиная с младших разрядов множителя со сдвигом частной суммы вправо.

4. Перечень графического материала (с точным указанием обязательных чертежей):

4.1. Блок-схема алгоритма выполнения операции

4.2. Структурная схема АЛУ

4.3. Временная диаграмма управляющих сигналов

4.4. Функциональная схема устройства управления

5. Перечень подлежащих разработке вопросов и календарный график


п/п

Наименование вопросов курсового проекта

Срок
выполнения

1

Введение

15. 04. 12

2

Словесное описание операции умножения

30. 04. 12

3

Блок-схема алгоритма выполнения операции

10. 05. 12

4

Определение набора управляющих сигналов

20. 05. 12

5

Синтез АЛУ

31. 05. 12

6

Временная диаграмма управляющих сигналов

10. 06. 12

7

Схемное решение устройства управления

20. 06. 12

8

Микропрограмма выполнения команды умножения

30. 06. 12

9

Заключение

10. 07. 12

10

Список использованных источников

20. 07. 12

РЕФЕРАТ

курсового проекта «Разработка вычислительного устройства для выполнения операции умножения двоичных чисел»

Объем работы 23 с., в том числе 7 рис., 2 табл., 5наим. лит., 4 чертежа.

Ключевые слова: арифметико-логическое устройство, вычислительное устройство, алгоритм операции умножения, микропрограмма, управляющее устройство.

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

Задачами курсового проекта являются:

— изучение теоретических сведений о проведении арифметических операций над двоичными числами;

— составление словесного описания операции умножения и блок-схемы алгоритма её выполнения;

— определение набора управляющих сигналов и схемное решение устройства управления;

— синтез АЛУ и составление временных диаграмм;

— написание микропрограммы для выполнения команды умножения.

В ходе проектирования разработано вычислительное устройство для выполнения операции умножения двоичных чисел, выполнен чертеж блок-схемы алгоритма, чертежи структурной и функциональной схем АЛУ и устройства управления в формате А3, написана микропрограмма, выполняющая команду умножения.

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ

1. СЛОВЕСНОЕ ОПИСАНИЕ ОПЕРАЦИИ УМНОЖЕНИЯ

2. БЛОК-СХЕМА АЛГОРИТМА ВЫПОЛНЕНИЯ ОПЕРАЦИИ

3. ОПРЕДЕЛЕНИЕ НАБОРА УПРАВЛЯЮЩИХ СИГНАЛОВ

4. СИНТЕЗ АЛУ

5. ВРЕМЕННАЯ ДИАГРАММА УПРАВЛЯЮЩИХ СИГНАЛОВ

6. СХЕМНОЕ РЕШЕНИЕ УСТРОЙСТВА УПРАВЛЕНИЯ.

7. МИКРОПРОГРАММА ВЫПОЛНЕНИЯ КОМАНДЫУМНОЖЕНИЯ

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Введение

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

Проектируемое вычислительное устройство состоит из арифметико-логического и управляющего устройств. Арифметико-логические устройства (АЛУ) предназначаются для выполнения арифметических и логических преобразований над операндами.

По способу действиянад операндами АЛУ делятся на последовательные и параллельные. В последовательных АЛУоперанды поступают в последовательном коде (побитно), то есть они являются одноразрядными. Недостатком последовательных АЛУ является низкое быстродействие, достоинством — простота реализации. В параллельных АЛУоперанды поступают в параллельном коде в виде 8-, 16-, 32- х разрядных слов. Операция производится одновременно над всеми битами слова.

По структуре АЛУ делятся на АЛУ с непосредственными связями и АЛУ с магистральной структурой. В первом типе межрегистровые связи внутри АЛУ осуществляются непосредственно друг с другом; во втором — обмен между регистрами осуществляется через общую шину.

По способу организации работы различают асинхронные и синхронные АЛУ. В асинхронных АЛУ определяется момент окончания текущей операции, после чего может начинаться следующая операция. В синхронных АЛУ на выполнение любых операций отводится фиксированный интервал времени, независимо от того, какая операция выполняется «короткая» (сложение, вычитание) или «длинная» (умножение, деление). Первый тип АЛУ более быстродействующий, чем второй.

По характеру использования элементов и узлов АЛУ делятся на блочныеимногофункциональные. В блочных АЛУ для каждого типа операции применяют специализированный блок обработки, например, блок умножения, блок деления, блок сложения — вычитания, блок логических операций, блок десятичной арифметики, блок арифметики с плавающей точкой. В многофункциональных АЛУ для выполнения всех типов операций используетсяодин блок, выполняющий все виды операций. В блочных АЛУ быстродействие выше, поскольку каждый блок может выполнить операции параллельно с операциями в других блоках. Однако затраты оборудования при этом возрастают. В многофункциональных АЛУ используется общее оборудование для выполнения различных типов операций. Параллелизм при выполнении операций в многофункциональных АЛУ невозможен, поэтому их быстродействие невысокое, но затраты оборудования минимальны[1].

Разрабатываемое АЛУ можно отнести к устройству с параллельным способом действиянад операндами и с непосредственными связями между регистрами.

1. СЛОВЕСНОЕ ОПИСАНИЕ ОПЕРАЦИИ УМНОЖЕНИЯ

В ЭВМ операция умножения чисел с фиксированной запятой сводится к последовательности операций сложения и сдвига. Произведение двух (n— 1) — разрядных чисел может иметь до 2(n - 1) значащих разрядов, поэтому для выполнения операции умножения целых чисел в АЛУ необходимо предусмотреть возможность формирования произведения, имеющего двойную, по сравнению с сомножителями, длину. В ЭВМ, в которых числа с фиксированной запятой являются дробями, младшие n— 1 разрядов произведения часто отбрасываются, при этом при отбрасывании может производиться операция округления произведения.

Для выполнения умножения АЛУ должно содержать регистры множимого, множителя и сумматор частичных произведений, в котором путем соответствующей организации передач производится последовательное суммирование частичных произведений.

Операция умножения состоит из n циклов, где n— число цифровых разрядов множителя. В каждом цикле анализируется очередная цифра множителя, и если она равна 1, то к сумме частичных произведений прибавляется множимое, в противном случае прибавление не происходит. Цикл завершается сдвигом множимого относительно суммы частичных произведений либо сдвигом суммы частичных произведений относительно неподвижного множимого[2].

В зависимости от способа формирования суммы частичных произведений различают четыре основных метода выполнения умножения и соответственно четыре структуры АЛУ для этой операции.

1. Умножение, начиная с младших разрядов множителя, со сдвигом суммы частичных произведений вправо и при неподвижном множимом (см. рисунок 1. 1). Регистр множителя и сумматор частичных произведений при этом должны иметь цепи сдвига вправо. Регистр множимого может не иметь цепей сдвига.

Рисунок 1.1 — Алгоритм умножения А.

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

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

После выполнения умножения старшие разряды произведения находятся в регистре сумматора, младшие — в регистре множителя.

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

2. Умножение, начиная с младших разрядов множителя, при сдвиге множимого влево и неподвижной сумме частичных произведений (рисунок 1. 2). Регистр множителя при этом должен иметь цепи сдвига вправо, регистр множимого — цепи сдвига влево, а сумматор частичных произведений не содержит цепей сдвига.

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

Рисунок 1.2 — Метод умножения, начиная с младших разрядов множителя, при сдвиге множимого влево

3. Умножение, начиная со старших разрядов множителя, при сдвиге суммы частичных произведений влево и неподвижном множимом (см. рисунок 1. 3).

Рисунок 1.3 — Метод умножения, начиная со старших разрядов множителя при сдвиге суммы частичных произведений влево

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

При использовании этого метода сумматор частичных произведений должен иметь двойную длину. Данный метод требует дополнительного по сравнению с первым методом оборудования. Несмотря на это, он применяется в некоторых АЛУ, так как позволяет без дополнительных цепей сдвига выполнять и деление.

Для выполнения операций деления в АЛУ, реализующем первый метод умножения, необходимы дополнительные цепи сдвига влево в регистре множимого (частного) и в сумматоре частичных произведений (разностей).

4. Умножение, начиная со старших разрядов множителя, при сдвиге вправо множимого и неподвижной сумме частичных произведений (см. рисунок 1. 4).

Рисунок 1.4 — Метод умножения, начиная со старших разрядов множителя при сдвиге вправо множимого

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

При четвертом методе, в котором сумма частичных произведений неподвижна, можно совмещать во времени операции сдвига и сложения и за этот счет увеличить быстродействие АЛУ при выполнении умножения (а также деления).

Если необходимо образование произведения двойной длины, например, при операциях с целыми числами, наиболее экономичным является первый из рассмотренных методов умножения, так как он позволяет использовать все регистры одинарной длины [3].

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

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

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

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

2. Блок-схема алгоритма выполнения операции

Исходные данные для построения блок-схемы алгоритма:

— операция: умножение;

— числа с фиксированной без знака, представленные в прямом коде;

— количество разрядов: 4;

— алгоритм умножения: на один разряд множителя, начиная со старших разрядов множителя со сдвигом частной суммы вправо.

Алгоритм умножения представлен на чертеже 02. 24. 001. 01 графической части работы. Приведём его описание:

1. Берутся модули от сомножителей.

2. Исходное значение суммы частичных произведений принимается равным 0 (блок № 1).

3. В блоке № 2 проверяетсяследующее условие:

Если анализируемая цифра множителя равна 1, то к сумме частичных произведений прибавляется множимое (блок № 3); если эта цифра равна 0, прибавление не производится (блок № 4).

4. Производится сдвиг суммы частичных произведений вправо на один разряд (блок № 5).

5. Пункты 2 и 3 последовательно выполняются для всех цифровых разрядов множителя, начиная с младшего.

6. При условии i = 0 (блок № 7)в блоке № 8 выводится результат С.

3. Определение набора управляющих сигналов

Устройство управления (УУ) формирует и подает во все блоки процессора в нужные моменты времени определенные сигналы управления (таблица 1), обусловленные спецификой выполняемой операции и результатами предыдущих операций; формирует адреса ячеек памяти, используемых выполняемой операцией, и передает эти адреса в соответствующие блоки ЭВМ.

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

На управляющее устройство поступают последовательности тактового генератора, сигнал готовности от ОЗУ, постоянного запоминающего устройства (ПЗУ) или устройств ввода-вывода (УВВ) к приему или передаче данных, сигнал запроса на прерывание от внешних устройств.

Таблица 1 — Набор управляющих сигналов

Схема

Разрядность

Функции

Управляющий сигнал

Регистр модуля

множимого РегА

4

Загрузка

УС1

Регистр модуля множителя РегВ

4

Загрузка. Сдвиг в сторону старших разрядов

УС2

Счетчик

циклов СчЦ

2

Подсчет циклов

УС3

Сумматор

8

Образование суммы

частичных произведений

УС4

Регистр сдвига

8

Сдвиг результата

УС5

4. Синтез АЛУ

Синтез АЛУ происходит в несколько этапов. Сначала необходимо выбрать метод, по которому предполагается выполнение операции, и составить алгоритм соответствующих действий. Исходя из алгоритма и формата исходных данных, следует определить набор составляющих АЛУ элементов. Затем требуется определить связи между элементами, установить порядок функционирования устройства и временную диаграмму управляющих сигналов, которые должны быть поданы на АЛУ от устройства управления.

На рисунке 4.1 и чертеже 02. 24. 001. 01 приведена схема проектируемого арифметико-логического устройства, которая состоит из трех регистров сдвига, одного сумматора и восьми логических элементов «И».

Рисунок 4.1 — Схема АЛУ

На входы B0-B3 первого регистра поступают четыре разряда множимого, а на входы второго регистра А0-А3 четыре разряда множителя. Для записи информации с информационных входов А0-А3 и B0-B3 регистров необходимо подать на вход синхронизации С1 перепад тактового импульса из уровня 0 в уровень 1. Информация на выходе остаётся неизменной до прихода очередного импульса синхронизации. СумматорSMвыполняет последовательное суммирование в цикле под управлением синхроимпульсов на его входе С0. Окончательный результат операции умножения снимается с выходов регистра D0.

5. Временная диаграмма управляющих сигналов

На рисунке 5.1 представлены временные диаграммы управляющих сигналов, составленные в соответствии с блок-схемой алгоритма вычислительного устройства двоичных четырехразрядных чисел с фиксированной запятой без знака, представленных в прямом коде, со следующим алгоритмом умножения: на один разряд множителя, начиная со старших разрядов множителя со сдвигом частной суммы вправо.

Рисунок 5.1 — Временные диаграммы управляющих сигналов

6. Схемное решение устройства управления

Управляющие устройства с жесткой логикой представляют собой логические схемы, вырабатывающие распределенные во времени управляющие сигналы. В отличие от управляющих устройств с хранимой в памяти логикой в аппаратных УУ нельзя изменить логику работы без изменения их схемы. Структурная схема управляемого автомата с жесткой логикой показана на рисунке 6.1. Её можно рассматривать в качестве автомата с конечным числом состояний (конечный автомат), который на каждом такте переходит из одного состояния в другое, определяемое содержимым регистра команды, кодами условий и внешними сигналами. Выходами такого автомата являются управляющие сигналы. Формируемая им последовательность операций задается физическими связями между логическими элементами.

Рисунок 6.1 — Схема блока формирования сигналов управления

В состав схемы входят регистр кода операции, являющейся частью регистра команд процессора, счетчик тактов, дешифратор тактов и дешифратор кода операции (Дешифратор КОП), а также логические схемы формирования управляющих сигналов. На счетчик тактов поступают сигналы от генератора тактовых импульсов (ГТИ). Состояние счетчика представляют собой номера тактов, изменяющие от 1 до m. Дешифратор тактов формирует на i-м выходе единичный сигнал при i-м состоянии счетчика тактов, т. е. во время i-го такта. В общем случае значения управляющих сигналов зависят еще от оповещающих сигналов U={u1, u2 un}, отражающих ход вычислительного процесса. Для реализации этих зависимостей логические элементы, берутся многовходовыми и на них подаются требуемые сигналы логических условий.

Сигналы y0 и yk обычно используются для определения моментов начала и окончания выполнения команд. С этой целью они используются для управления работой счетчика тактов. Управляющий сигнал y0 (Пуск) указывает на начало выполнения команды. Когда он установлен в 1, в конце каждого тактового цикла значение счетчика увеличивается на 1. Если же его значение становится равным 0, отсчет шагов прекращается. Сигнал yk (Останов) сбрасывает счетчик тактов в начальное состояние, обеспечивая начало нового цикла выборки команды.

Серьезным недостатком рассмотренных схем является одинаковое число тактов, необходимых для выполнения всех команд, значение которого выбирается по наиболее длинной команде. Это приводит к непроизводительным затратам времени и, как следствие, к уменьшению быстродействия процессора. Для устранения этого недостатка применяют УУ с переменным числом тактов, в котором используют счетчик тактов с изменяемым модулем счета. Для коротких команд используют счетчик с небольшим модулем счета и наоборот [4].

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

7. Микропрограмма выполнения команды умножения

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

Таблица 7.1 — Микропрограмма выполнения команды умножения

Адрес МК

УС1

УС2

УС3

УС4

УС5

Сигнал

записи в РК

Адрес

след. МК

300

1

1

0

0

0

0

301

301

0

0

1

0

0

0

302

302

0

0

0

1

0

0

303

303

0

0

0

0

1

0

304

304

0

0

1

0

0

0

305

305

0

0

1

0

0

0

306

306

0

0

0

1

0

0

307

307

0

0

0

0

1

0

308

308

0

0

1

0

0

0

309

309

0

0

1

0

0

0

310

310

0

0

0

1

0

0

311

311

0

0

0

0

1

0

312

312

0

0

1

0

0

0

313

313

0

0

1

0

0

0

314

314

0

0

0

1

0

0

315

315

0

0

0

0

1

0

316

316

0

0

1

0

0

0

317

317

0

0

0

1

0

1

X

алгоритм операция умножение логическое устройство

Заключение

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

В ходе выполнения работы решены следующие задачи: разработана блок-схема алгоритма выполнения операции умножения; создана структурная схема АЛУ; построены временные диаграммы управляющих сигналов; разработана функциональная схема устройства управления.

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

Список использованных источников

1. Базарова С. Б., Чемерисюк А. С., Тулохонов Э. А., Гомбоев Е. Ш., Варфоломеев А. В. Выполнение арифметических операций в АЛУ для чисел с фиксированной запятой. Часть I: Практическое пособие/ С. Б. Базарова и. др., ВСГТУ. — Улан-Удэ 2006. — 77 с.

2. Луцик Ю. А. Арифметические и логические основы вычислительной техники: Учеб. пособие по курсу «Арифметические и логические основы вычислительной техники» для студентов специальности «Вычислительные машины, системы и сети» всех форм обучения./ Ю. А. Луцик., Мн. :БГУИР, 2004. — 121 с.

3. Спиридонов В. В. Проектирование структур АЛУ: Учебное пособие/ В. В. Спиридонов. — СПб.: СЗПИ 1992. — 72 с.

4. Бойт К. Цифровая электроника / К. Бойт. Цифровая электроника — М.: Техносфера 2007. — 472 с.

5. Угрюмов Е. П. Цифровая схемотехника / Е. П. Угрюмов. — СПб.: БХВ-Петербург 2004. — 528 с.

ПоказатьСвернуть
Заполнить форму текущей работой