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

Автор работы: Пользователь скрыл имя, 22 Ноября 2011 в 20:29, курсовая работа

Краткое описание

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

Содержание работы

ВВЕДЕНИЕ 4
1 СЛОВЕСНОЕ ОПИСАНИЕ ОПЕРАЦИИ УМНОЖЕНИЯ 5
2 БЛОК-СХЕМА АЛГОРИТМА ВЫПОЛНЕНИЯ ОПЕРАЦИИ 8
3 ОПРЕДЕЛЕНИЕ НАБОРА УПРАВЛЯЮЩИХ СИГНАЛОВ 9
4 СИНТЕЗ АЛУ 10
5 ВРЕМЕННАЯ ДИАГРАММА УПРАВЛЯЮЩИХ СИГНАЛОВ 12
6 СХЕМНОЕ РЕШЕНИЕ УСТРОЙСТВА УПРАВЛЕНИЯ 13
7 МИКРОПРОГРАММА ВЫПОЛНЕНИЯ КОМАНДЫ УМНОЖЕНИЯ 16
ЗАКЛЮЧЕНИЕ 18
ПРИЛОЖЕНИЕ 1 Структурная схема арифметического устройства 19
ПРИЛОЖЕНИЕ 2 Листинг программы 20
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 23

Содержимое работы - 1 файл

ВВЕДЕНИЕ.docx

— 289.98 Кб (Скачать файл)

     Структурная схема устройства представлена в приложении 1. 

 

     

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

     На  рисунке 5.1 изображена временная диаграмма управляющих сигналов. 

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

 

     

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

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

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

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

Рисунок 6.1Структура устройства управления 

     Блок  центрального управления генерирует сигнал о начале выполнения очередной команды (связь 1). Ее адрес А находится в счетчике адреса команд.

     Блок  выборки из памяти по сигналу считывает из ОЗУ по адресу А, который выбирается из счетчика адреса команд (связь 8), очередную команду (связь 2) и помещает ее на временное хранение в регистр команд (связь 3).

     Дешифратор  кода операции выбирает код (связь 4) и расшифровывает его. Затем передает информацию блоку формирования управляющих сигналов (связь 10):

  • если операция арифметическая, от блока формирования управляющих сигналов поступает сигнал в блок выборки из памяти (связь 5) с командой считать из ОЗУ операнды, расположенные  по адресам, указанным в регистрах первого и второго операндов (связь 6), и поместить их в соответствующие регистры АЛУ  (о  структуре  АЛУ см. в п. 9.3). Затем формируется сигнал в АЛУ на выполнение нужной операции (связь 7). Счетчик адреса команд увеличивается на объем команды (связь 9);
  • если операция ввода-вывода, блок формирования управляющих сигналов формирует сигнал УВв и УВыв (связь 7). Счетчик адреса увеличивается на объем команды (по связи 9);
  • если операция условного перехода, блок центрального управления анализирует результат предыдущей операции, находящийся в АЛУ. Если знак результата отрицателен, в счетчик адреса команд записывается адрес из регистра первого операнда. Если знак положителен, в счетчик адреса команд записывается адрес из регистра второго операнда. Если результат равен 0, в счетчик адреса команд добавляется 1 (эти связи не показаны). Так реализуется принцип условного перехода.
  • если операция безусловного перехода, в счетчик адреса команд пересылается содержимое регистра первого операнда (связь не показана).

     Схема работы устройства управления изображена на рисунке 6.2.

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

 

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

     Для разработки программы был использован  транслятор TurboAssembler (TASM) и редактор связей TLINK.

     Код программы (приложение 2) сохранен в файле umnojenie с расширением .asm.

     Компиляция - процесс перевода программы из текстового вида в машинный код. Запускаем  компилятор tasm и передаем с командной  строки имя файла, содержащего программу.В  случае успешной компиляции будет создан файл, содержащий объектный код программы  с расширение .obj , который ещё  не является исполняемым модулем.

     Компоновка - создание из файла объектного кода исполняемого модуля.

     В качестве параметра компоновщик tlink принимает имя файла содержащего  объектный код программы. В случае успешной компоновки будет создан исполняемый  модуль с расширением .exe (рисунок 7.1).  

Рисунок 7.1Компиляция икомпоновка программы 

     Запускаем umn.exe (рисунок 7.2).

Рисунок 7.2 – Запуск и тестирование программы 

     Для тестирования работоспособности программы  были выбраны числа -5 и -7 в двоичной системе счисления 11111011 и 11111001 соответственно.

     Результатом произведения должно получиться число 35 или 100011(в двоичной системе счисления), что видно на рисунке выше. 

 

     

ЗАКЛЮЧЕНИЕ

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

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

 

     

ПРИЛОЖЕНИЕ 1 
Структурная схема арифметического устройства

 

 

 

ПРИЛОЖЕНИЕ 2 
Листинг программы

     MODELsmall

     .386

     .STACK  386

     .DATA

     Mn1 db 7, 10, 13, 'Mnogitel1: ','$'

     Mn2 db  7, 10, 13, 'Mnogitel2: ','$'

     Prdb  7, 10, 13, 'Proizvedenie','$'

     Pr2 db  7, 10, 13, '','$'

     bufdb 17, ?, 17 dup ('$') 

     .CODE

     ProgramStart:

     mov  ax, @data   

     mov  ds, ax

     mov  dx, offset Mn1 

     mov  ah, 9h    

     int  21h

     leadx, buf    

     mov  ah, 0Ah

     int  21h

     mov  dx, offset Mn2 

     movah, 9h    

     int  21h

     lea  dx, buf    

     mov  ah, 0Ah

     int  21h

     mov  dx, offset Pr 

     mov  ah, 9h    

     lea  dx, buf    

     mov  ah, 0Ah

     int  21h

     mov  dx, offset Pr2 

     mov  ah, 9h     

     int  21h

     lea  dx, buf    

     mov  ah, 0Ah

     int  21h

     movbl, 11111011b

     negbl

     xorbh,bh

     mov cl, 11111001b

     neg cl

     xorch,ch

     mov ax,00

     mov ax, cx

     xorcx,cx

     test ax, 1000b

     jnz m2

     m2proc

     movcx,bx

     m2endp

     test ax, 1000b

     jz m1

     m1proc

     xorcx,cx

     m1endp

     test ax, 100b

     jz m3

     m3proc

     add cx,0

     m3endp

     test ax, 100b

     jnz m4

     m4proc

     addcx,bx

     shl cx,1

     m4endp

     test ax, 10b

     jz m5

     m5proc

     add cx,0

     m5endp

     test ax, 10b

     jnz m6

     m6proc

     shl bx,2

     addcx,bx

     m6endp

     test ax, 1b

     jz m7

     m7proc

     add cx,0

     m7endp

     test ax, 1b

     jnz m8

     m8proc

     shl bx,1

     addcx,bx

     sar cx,1

     m8endp

     xorax,ax

     movax,cx

     xor cx,cx

     mov bx,2

     isDiv:  

     xor dx,dx

     div bx

     push dx

     inc cx

     or ax,ax

     jnz isDiv

     isOut:  pop ax

     or al,30h

     int 29h

     loop isOut

     mov     ah,4ch

     int     21h

      END     ProgramStart 

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

  1. Юров. В.И. Assembler. Учебник для вузов. 2-е изд. — СПб.: Питер, 2003. — 637 с.
  2. Марек Р. Ассемблер на примерах. Базовый курс. — СПб: Наука и Техника, 2005. — 240 с.
  3. Демидович Е.М. Конструирование программ и языки программирования (ассемблер, Си, С++) Часть 2: Пособие для студентов БГУИР. – Мн. Бестпринт, 2003. – 292 с.
  4. Пирогов В.Ю. ASSEMBLER. Учебный курс. – М.: Издатель Молгачева С.В., Издательство Нолидж, 2001. – 848 с.
  5. Ю.А. Луцик, И.В. Лукъянова. Арифметические и логические основы вычислительной техники: Учеб.пособие по курсу «Арифметические и логические основы вычислительной техники» - Мн.: БГУИР, 2003. - 120 с.
  6. Самофалов К.Г., Романкевич А.М., и др. Прикладная теория цифровых автоматов. - Киев. “Вища школа” 1987.
  7. Соловьев Г.Н. Арифметические устройства ЭВМ. - М. “Энергия”. 1978.
  8. Савельев А.Я. Прикладная теория цифровых автоматов - М. “Высшая школа”. 1987.
  9. Каган Б.М. Электронные вычислительные машины и системы. - М. Энергоатомиздат. 1985.
  10. Лысиков Б.Г. Арифметические и логические основы цифровых автоматов. Минск. “Вышэйшая школа”. 1980.

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