Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
архитектура_1.doc
Скачиваний:
0
Добавлен:
08.01.2020
Размер:
300.54 Кб
Скачать

2. Контрольные вопросы

  1. Основные способы умножения чисел с фиксированной точкой.

  2. Основные алгоритмы умножения чисел с фиксированной точкой.

  3. Умножение прямого кода на 2±k.

  4. Умножение обратного и дополнительного кодов на 2±k.

  5. Умножение дополнительных кодов.

  6. Умножение обратных кодов.

  7. Умножение чисел, представленных в форме с плавающей точкой.

  8. Операционные элементы устройств для умножения чисел с фиксированной точкой.

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

3. Задание к лабораторной работе

  1. Используя данные таблицы 2.1, вычислить произведения чисел ±x и ±y с двойной точностью, если длина разрядной сетки операндов без учета знаковых разрядов равна 4-м двоичным разрядам. Процесс вычислений нужно представить в трассировочных таблицах следующего вида:

Микрооперация / логическое условие

Состояние операционного элемента

РгМт

РгМн

НСМ

СчТ

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

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

  2. Используя данные таблицы 2.2, вычислить произведение X и Y, представленных в форме с плавающей запятой. Длина мантиссы в прямом коде без знака – 4 двоичных разряда, длина порядка в прямом коде без знака – 3 двоичных разряда, основание характеристики равно 2. оценить погрешность произведения, вызванную ограниченной длиной разрядной сетки.

  1. Содержание отчета

  1. Титульный лист.

  2. Алгоритмы умножения.

  3. Результаты выполнения заданий к лабораторной работе.

Разделы 1, 2 студент должен выполнить при подготовке к лабораторной работе.

Таблица 2.1

Варианты заданий к лабораторной работе 2

п/п

X

Y

Алгоритм / код

X∙Y

X∙(-Y)

-X∙Y

(-X)∙(-Y)

1

0.96

0.39

1/ПК*

2/МОК

3/МОК

4/МДК

2

0.41

0.94

2/ПК*

3/МДК

4/МДК

1/МОК

3

0.92

0.43

3/ПК*

4/МОК

1/МОК

2/МДК

4

0.45

0.90

4/ПК*

1/МДК

2/МДК

3/МОК

5

0.88

0.47

1/ПК

2/МОК*

3/МОК

4/МДК

6

0.49

0.86

2/ПК

3/МДК*

4/МДК

1/МОК

7

0.84

0.51

3/ПК

4/МОК*

1/МОК

2/МДК

8

0.53

0.82

4/ПК

1/МДК*

2/МДК

3/МОК

9

0.80

0.55

1/ПК

2/МОК

3/МОК*

4/МДК

10

0.57

0.78

2/ПК

3/МДК

4/МДК*

1/МОК

11

0.76

0.59

3/ПК

4/МОК

1/МОК*

2/МДК

12

0.61

0.74

4/ПК

1/МДК

2/МДК*

3/МОК

13

0.72

0.63

1/ПК

2/МОК

3/МОК

4/МДК*

14

0.65

0.70

2/ПК

3/МДК

4/МДК

1/МОК*

15

0.68

0.67

3/ПК

4/МОК

1/МОК

2/МДК*

16

0.69

0.66

4/ПК

1/МДК

2/МДК

3/МОК*

17

0.64

0.71

1/ПК*

2/МОК

3/МОК

4/МДК

18

0.73

0.62

2/ПК

3/МДК*

4/МДК

1/МОК

19

0.60

0.75

3/ПК

4/МОК

1/МОК*

2/МДК

20

0.77

0.58

4/ПК

1/МДК

2/МДК

3/МОК*

21

0.56

0.79

1/ПК

2/МОК*

3/МОК

4/МДК

22

0.81

0.54

2/ПК*

3/МДК

4/МДК

1/МОК

23

0.52

0.83

3/ПК

4/МОК

1/МОК*

2/МДК

24

0.85

0.51

4/ПК

1/МДК

2/МДК*

3/МОК

25

0.48

0.87

1/ПК

2/МОК

3/МОК

4/МДК*

Таблица 2.2

Варианты заданий к лабораторной работе 2

п/п

X

Y

Алгоритм

п/п

X

Y

Алгоритм

1

4,37

9,84

4

14

3,64

4,89

4

2

9,32

5,41

3

15

6,64

5,09

1

3

8,51

5,29

1

16

4,02

1,18

2

4

6,99

1,92

2

17

1,99

7,53

3

5

5,16

6,43

3

18

5,63

7,17

4

6

1,67

4,13

4

19

7,83

3,05

1

7

7,12

3,16

1

20

6,02

6,27

2

8

3,97

3,98

2

21

2,21

3,63

3

9

8,87

6,43

3

22

5,44

9,88

4

10

1,09

6,47

4

23

7,36

1,13

1

11

1,26

7,14

1

24

8,06

3,88

2

12

8,56

5,14

2

25

1,12

2,81

3

13

2,74

7,39

3

Примеры решения алгоритмов умножения

  1. Вычислить x*y в прямом коде по алгоритму 1.

Микрооперация /

логическое условие

Состояние операционных элементов

РгМт

РгМн

НСМ

СчТ

Установка

0.1000

0.1110

0.00000000

4

НСМ[8].(0.R1(НСМ[0:7]))

РгМт[5].(0.R1 [0:4])

0.0100

0.1110

0.00000000

3

НСМ[8].(0.R1(НСМ[0:7]))

РгМт[5].(0.R1 [0:4])

0.0010

0.1110

0.00000000

2

НСМ[8].(0.R1(НСМ[0:7]))

РгМт[5].(0.R1 [0:4])

0.0001

0.1110

0.00000000

1

Результат

0.0000

0.1110

0.01110000

0

  1. Вычислить x*(-y) в обратном коде по алгоритму 2.

-0.4710=1.10002пк=1.01112ок

Микрооперация /

логическое условие

Состояние операционных элементов

РгМт

РгМн

НСМ

СчТ

Установка

1.0111

0.00001110

0.00000000

4

РгМн[8].(L1(РгМн[0:7]).0)

РгМт[5].(1.R1[0:4])

1.1011

0.00011100

0.00001110

3

РгМн[8].(L1(РгМн[0:7]).0)

РгМт[5].(1.R1[0:4])

1.1101

0.00111000

0.00101010

2

РгМн[8].(L1(РгМн[0:7]).0)

РгМт[5].(1.R1[0:4])

1.1110

0.01110000

0.01100010

1

Результат

1.1111

0.11100000

0.01100010

0

Коррекция результата

0 0 1 1 0 0 0 1 0

0 0 0 0 0 1 1 1 0

0 0 1 1 1 0 0 0 0

1 0 0 0 1 1 1 1 1

1 1 0 0 0 1 1 1 1

1 0 1 1 1 0 0 0 0

  1. Вычислить (-x)*y в обратном коде по алгоритму 3.

Микрооперация /

логическое условие

Состояние операционных элементов

РгМт

РгМн

НСМ

СчТ

Установка

0.1000

1.0001

0.00000000

4

НСМ[8].(L1(НСМ[0:7]).1)

РгМт[5].(L1[0:4].0)

0.0000

1.0001

1.11100011

3

НСМ[8].(L1(НСМ[0:7]).1)

РгМт[5].(L1[0:4].0)

0.0000

1.0001

1.11000111

2

НСМ[8].(L1(НСМ[0:7]).1)

РгМт[5].(L1[0:4].0)

0.0000

1.0001

1.10001111

1

Результат

0.0000

1.0001

1.10001111

0

  1. Вычислить (-x)*(-y) в дополнительном коде по алгоритму 4.

Микрооперация /

логическое условие

Состояние операционных элементов

РгМт

РгМн

НСМ

СчТ

Установка

1.1000

1.10010000

0.00000000

4

РгМн[8].(1.R1(РгМн[0:7]))

РгМт[5].(L1[0:4].0)

1.0000

1.11001000

1.10010000

3

РгМн[8].(1.R1(РгМн[0:7]))

РгМт[5].(L1[0:4].0)

1.0000

1.11100100

1.10010000

2

РгМн[8].(1.R1(РгМн[0:7]))

РгМт[5].(L1[0:4].0)

1.0000

1.11110010

1.10010000

1

Результат

1.0000

1.11111001

1.10010000

0

Коррекция результата

1 1 0 0 1 0 0 0 0

0 1 1 1 0 0 0 0 0

0 0 1 1 1 0 0 0 0

Часть №3

АЛГОРИТМЫ ДЕЛЕНИЯ ДВОИЧНЫХ ЧИСЕЛ

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