Образцы КП по Организации ЭВМ (Курсовая по ЭВМ_Серега)

Посмотреть архив целиком

Московский Государственный Авиационный Институт

(технический университет)



Кафедра 304









Курсовая работа


ПО КУРСУ


«Архитектура ЭВМ и их

организация»






Принял: Выполнила:

доц., к.т.н. Студент гр. 13-401

Роговцев А.А. Кабанов С.


Оценка: Подпись:


Подпись:


« » 2005г.





Москва 2005




































Содержание


Теоретическое обоснование метода 4


Пример выполнения умножения 5


Функциональная схема АЛУ 7


Микропрограмма 8


Алгоритм микропрограммы 9


Вычисление времени выполнения микропрограммы 12



























Теоретическое обоснование метода


Из задания видно, что нам необходимо обрабатывать числа без знака.

Представим операцию умножения как Z = X * Y

X – множимое

Y – множитель

Z – произведение



Умножение


Умножение чисел на 2 разряда по методу «Начиная с младшего разряда множителя при неподвижной сумме частичных произведений и сдвиге множимого влево» выполняется следующим образом: анализируются 2 младших разряда множителя и выполняется действие в соответствии с таблицей №1. Далее сдвигается множитель на 2 разряда вправо, а множимое на 2 разряда влево. Повторяются данные операции n/2 раз.

В нашем случае, по заданию, n = 8.


Таблица операций


Признак

из пред.

2-х р.

Пара раз- рядов

Операция

Признак в

следующие

2 р-да



0

0 0

0, П2(Y), Л2(X)


0

0 1

+X, П2(Y), Л2(X)

1 0

+2X, П2(Y), Л2(X)

1 1

-X, П2(Y), Л2(X)

1



1

0 0

+X, П2(Y), Л2(X)

0

0 1

+2X, П2(Y), Л2(X)

1 0

-X, П2(Y), Л2(X)

1

1 1

0, П2(Y), Л2(X)





















Рассмотрим пример умножения чисел на примере четырехразрядного числа:

Нам необходимы:

Регистр Y – 4 разряда

Регистр X – 8 разрядов

Регистр Z – 8 разрядов


Пример X = 5 (0101) множимое

Y = 4 (0100) множитель

Умножение

В соответствии с методом дополним X n(4) нулями слева, получим (00000101), признак из предыдущих 2-х разрядов = 0.

Пр. = 0

Z = 0 (00000000)


X 00000101

Y 0100

Z 00000000

Пр. 0


Анализируем 2 младших разряда множителя, они равны 00, смотрим по таблице №1 операцию, которую надо выполнить. (0, Признак = 0) ничего не делается.


Сдвигаем Y вправо на 2 разряда и X влево на 2 разряд

Анализируем 2 младших разряда множителя, они равны 01, смотрим по таблице №1 операцию, которую надо выполнить. (+X, Признак = 0) Z = Z + X


X 00010100

Y 0001

Z 00010100

Пр. 0


Сдвигаем Y вправо на 2 разряда и X влево на 2 разряд

Мы выполнили 2 итерации и получили результат в Z


Результат = 00010100


Переведем результат в десятичную систему и проверим результат


000101002(пр.код) = 2010

5 * 4 = 20


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










Функциональная схема АЛУ


8 Швх



РгX

РгY

П2

7 0 7 0

Уст.0

Рг2

Л2


15 0

Уст.0

Л1

Рг1

Рг22



15 0 15 0


15 0 15 0



С0 = 0/1

КС


4

СЧ


-1 0 0 Сч 15 0

Тр.Пр.


Рг СМ


0/1

15 0




8 Швых


Используемые обозначения:

Швх – Шина входных данных, Швых – Шина выходных данных

Рг См – Регистр суммы комбинационного сумматора

Тр. Пр. – Триггер признака,

КС – Комбинационный сумматор, СЧ – Счетчик цикла

Л2 (П2) – Сдвиг регистра влево (вправо) на 2 разряда

Микропрограмма


  1. РгX = Швх; Сч = 4; РгZ = 0;

  2. РгY = Швх; Рг1 = 0; Тр.Пр. = 0;

  3. Рг2[0 ÷ 7] = РгX; Рг2[8 ÷ 15] = 0;

  4. Рг22 = Рг2; С0 = 0;

  5. Если Тр.Пр. = 1 идти к 10.

  6. Если РгY [0 ÷ 1] = 0 идти к 20.

  7. Если РгY [0 ÷ 1] = 1 идти к 16.

  8. Если РгY [0 ÷ 1] = 2 идти к 18.

  9. идти к 13.

  10. Если РгY [0 ÷ 1] = 3 идти к 20.

  11. Если РгY [0 ÷ 1] = 0 идти к 16.

  12. Если РгY [0 ÷ 1] = 1 идти к 18.

  13. С0 = 1; Тр.Пр. = 1;

  14. РгZ = СМ(Рг1; Рг22; С0);

  15. идти к 20.

  16. Тр.Пр. = 0; РгZ = СМ(Рг1; Рг22; С0);

  17. идти к 20.

  18. Тр.Пр. = 0; Рг22 = Л1(Рг22);

  19. РгZ = СМ(Рг1; Рг22; С0);

  20. Рг1 = РгZ; Сч = Сч-1; РгY = П2(РгY); Рг2 = Л2(Рг2);

  21. Если Сч <> 0 идти к 4.

  22. Швых = РгZ[0 ÷ 7];

  23. Швых = РгZ[8 ÷ 15];

  24. Конец.



















Алгоритм микропрограммы






МК5 p1

МК6 (1-p1)

МК7 p1p2

МК8 (1-p1)p3

МК9 [p1p2p4 + (1-p1)p3 p5]

МК10 p1p2(1-p4)

МК11 (1-p1)p3(1-p5)

МК12 [p1p2(1-p4)p6 + (1-p1)p3(1-p5) p7]

МК13 [p1p2(1-p4)p6 + (1-p1)p3(1-p5) p7]

МК14 [p1p2(1-p4)(1-p6) + (1-p1)p3(1-p5) (1-p7)]

МК15 [p1p2(1-p4)(1-p6) + (1-p1)p3(1-p5) (1-p7)]





Вычисление времени выполнения микропрограммы


Микрокоманды 1 – 3, 17, 18 выполняются по 1 разу

Микрокоманды 4, 16 выполняются n/2 раз

Микрокоманда 5 выполняется n/2 раз с вероятностью p1

Микрокоманда 6 выполняется n/2 раз с вероятностью (1-p1)

Микрокоманда 7 выполняется n/2 раз с вероятностью p1p2

Микрокоманда 8 выполняется n/2 раз с вероятностью (1-p1)p3

Микрокоманда 9 выполняется n/2 раз с вероятностью [p1p2p4 + (1-p1)p3 p5]

Микрокоманда 10 выполняется n/2 раз с вероятностью p1p2(1-p4)

Микрокоманда 11 выполняется n/2 раз с вероятностью (1-p1)p3(1-p5)

Микрокоманда 12, 13 выполняется n/2 раз с вероятностью [p1p2(1-p4)p6 + (1-p1)p3(1-p5) p7]]

Микрокоманда 14, 15 выполняется n/2 раз с вероятностью [p1p2(1-p4)(1-p6) + (1-p1)p3(1-p5)(1-p7)]



Время выполнения микропрограммы:

3 + 2 + [2 + p1 + (1-p1) + p1p2 + (1-p1)p3 + [p1p2p4 + (1-p1)p3 p5] + p1p2(1-p4) + + (1-p1)p3(1-p5) + 2*[p1p2(1-p4)p6 + (1-p1)p3(1-p5) p7]] + 2*[p1p2(1-p4)(1-p6) +

+ (1-p1)p3(1-p5)(1-p7)]] * n/2


n = 8

Принимая во внимание, что значения появляются с равной вероятностью, то:

p1 = p2 = p3= p4 = p5 = p6 = p7 = 0,5


получаем время умножения, равное


Случайные файлы

Файл
121963.doc
112223.rtf
154715.rtf
144425.rtf
vcheni.doc




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.