Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы вычислительной техники. Методические рекомендации по курсовой работе. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

Следует учитывать, что в этом примере на такте 5 возникло то временное переполнение, для которого требуется дополнительный разряд Rg∑.

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

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

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

Структурная схема на рис. 7.13 может быть модифицирована за счет использования структурного сдвига при записи в RgΣ

Рис. 7.13. Модифицированная структурная схема устройства умножения

2 Быстродействие и аппаратурные затраты являются основными характеристиками реализации какого-либо устройства. Как правило, именно они используютсякаккритериипривыборетойилиинойреализациикакой-либо функции.

71

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

tумн = ntц = n( nt∑1разр + tсдв) ≈ n2t∑1разр.

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

В этой структуре запись n старших разрядов суммы в RgΣ и сдвиг в RgBвыполняются одновременно. При сдвиге в RgBв освобождающийся разряд записывается младший разряд суммы.

Пример работы алгоритма. На рис. 7.14 показано потактовое представление содержимого регистров модифицированного умножителя четырехразрядных чисел младшими разрядами вперед со сдвигом суммы (см. рис. 7.13).

 

 

 

 

 

RgΣ,

 

 

RgB,

 

Номер такта

 

 

 

n разрядов

n разрядов

 

 

 

 

 

3

2

1

0

 

3

2

1

0

0 (н. у.)

 

 

 

0

0

0

0

 

0

1

0

1

1 (сложение, запись в RgΣ→ и сдвиг

 

 

0

0

0

0

 

 

 

 

 

RgB→)

+

 

1

1

0

1

 

 

 

 

 

 

 

 

0

1

1

0

 

1

0

1

0

2 (сложение, запись в RgΣ→ и сдвиг

 

 

0

1

1

0

 

 

 

 

 

RgB→)

+

 

0

0

0

0

 

 

 

 

 

 

 

 

0

0

1

1

 

0

1

0

1

3 (сложение, запись в RgΣ→ и сдвиг

 

 

0

0

1

1

 

 

 

 

 

RgB→)

+

 

1

1

0

1

 

 

 

 

 

 

 

 

1

0

0

0

 

0

0

1

0

4 (сложение, запись в RgΣ→ и сдвиг

 

 

1

0

0

0

 

 

 

 

 

RgB→)

+

 

0

0

0

0

 

 

 

 

 

 

 

 

0

1

0

0

 

0

0

0

1

Рис. 7.14. Содержимое регистров умножителя младшими разрядами вперед со сдвигом суммы

72

7.6. Программа работы

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

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

 

 

mul_LB_ShA – умножитель младшими

разрядами

вперед

со сдвигом множимого (см. рис. 7.2);

 

 

mul_GB_ShS – умножитель старшими

разрядами

вперед

со сдвигом суммы (см. рис. 7.5);

 

 

mul_GB_ShA – умножитель старшими

разрядами

вперед

со сдвигом множимого (см. рис. 7.8);

 

 

mult_LB_ShS – умножитель младшими

разрядами

вперед

со сдвигом суммы (см. рис. 7.11);

mult_LB_ShS_mod–модифицированныйумножительмладши- ми разрядами вперед со сдвигом суммы (см. рис. 7.13).

Вариант устройства умножения выбирается в соответствии

синдивидуальным заданием (см. прил. 5).

1.Откройте архив Quartus для выбранного проекта.

2.Откройте файл верхнего уровня с функциональной схемой умножителя.Проанализируйтефункциональнуюсхемуумножителя. Определите соответствие ее узлов и сигналов рассмотренной структуре(см.рис.7.2,7.5,7.8,7.11или7.13,всоответствиисиндивидуальным заданием).

3.Выполните анализ и синтез проекта.

4.Подготовьте план тестирования.

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

Выберите для тестирования такие комбинации операндов, которые покажут работоспособность умножителя. Ограничение на значения операндов определяется индивидуальным заданием (см. прил. 5). Дополните план тестирования случаями умножения на ноль и умножения максимальных значений.

Определите число тактов (clk), требуемых для получения результата умножения. Выберите соответствующий период для сигнала load. Этот сигнал предназначен для загрузки значений

73

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

5.На временной диаграмме выведите входные и выходные сигналы, а также состояние регистров умножителя (RG_A[], RG_B[], RG_S[]). Для вывода состояния регистров откройте окно Insert Node or Bus (рис. 7.15). Нажмите на кнопку Node Finder. В открывшемся окне (рис. 7.16) установите фильтр на значение Registers: pre-synthesis и выберите нужные регистры.

6.Выполните моделирование в соответствии с разработанным планом исследования.

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

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

Сохраните архив модифицированного проекта в портфолио.

Рис. 7.15. Окно добавления сигналов на временную диаграмму

74

Рис. 7.16. Окно добавления внутренних значений регистров на временную диаграмму

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

8. РЕКОМЕНДАЦИИ ПО ОФОРМЛЕНИЮ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ

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

75

Опишите закономерности, которые выявлены в ходе исследования, и дайте им объяснение.

В заключении по полученным результатам курсовой работы отразите цель работы и степень ее достижения, решаемые для достиженияцелизадачииполнотуихрешения.Дополнительноопишите проблемы, возникшие в ходе работы, и выбранные способы ихрешения.Используйтепредложенияутвердительногохарактера со следующими словами: «разработано», «предложено», «исследовано», «выполнено», «получено», «доказано», «подтверждено».

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.ГОСТ 7.32-2001. Система стандартов по информации, библиотечному и издательскому делу. Отчет о научно-исследовательской работе. Структура и правила оформления. – М. : Стандартинформ, 2017. – 28 с.

2.Зыков А. Г. Арифметические основы ЭВМ : учебн. пособие по дисциплине «Дискретная математика» / А. Г. Зыков, В. И. Поляков. – СПб. : ИТМО, 2016. – 140 с.

3.Камкин А. C. Тестирование модулей арифметики с плавающей точкой микропроцессоров на соответствие стандарту IEEE 754 / А. С. Камкин, М. М. Чупилко // Труды Института системного программирования РАН. – 2008. – С. 7–22.

4.Goldberg D. What every computer scientist should know about floatingpoint arithmetic / D. Goldberg // ACM Computing Surveys. – 1991. – Vol. 23,

1. – P. 5–48.

5.Goldberg D. Appendix J: computer arithmetic / D. Goldberg // Computer architecture:aquantitativeapproach.–5thedition.–MorganKaufmann.2011.– 880 p.

6.LPM_ADD_SUB (Adder/Subtractor) // Intel FPGA Integer Arithmetic IP Cores User Guide [Электронный ресурс]. URL: https://www.intel.com/ content/www/us/en/docs/programmable/683490/20-3/lpm-add-sub-adder- subtractor.html (дата обращения: 01.05.2023).

7.ALTFP_ADD_SUB IP Core // Floating-Point IP Cores User Guide [Электронный ресурс]. URL: https://www.intel.com/content/www/us/en/ docs/programmable/683750/23-1/altfp-add-sub-ip-core.html (дата обращения: 01.05.2023).

ПРИЛОЖЕНИЯ

Приложение 1

ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ ДЛЯ ИССЛЕДОВАНИЯ РАБОТЫ ОДНОРАЗРЯДНОГО ДВОИЧНОГО СУММАТОРА

Используйте эти варианты базиса для выполнения заданий в гл. 1:

1)Шеффера;

2)Пирса;

3)классический;

4)Шеффера;

5)Пирса;

6)классический;

7)Шеффера;

8)Пирса;

9)классический;

10)Шеффера;

11)Пирса;

12)классический;

13)Шеффера;

14)Пирса;

15)классический;

16)Шеффера;

17)Пирса;

18)классический;

19)Шеффера;

20)Пирса;

21)классический;

22)Шеффера;

23)Пирса;

24)классический.

77

Приложение 2

ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ ДЛЯ ИССЛЕДОВАНИЯ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ С ЧИСЛАМИ

С ФИКСИРОВАННОЙ ЗАПЯТОЙ

№ п/п

Ограничение на значения a[]

Ограничение на значения b[]

 

 

 

1

xx00x001

xxx0xxx1

2

xхx0x01,0

xxx0xxx,1

3

xх0xx0,11

xxx0xx,x1

4

xх01xx00

xxx0xxx1

5

xх01x0x,1

xxx0xxx,0

6

xх01x1,0x

xxx0xx,x0

7

xx00x111

xxx0xxx0

8

xхx1x00,0

xxx0xxx,0

9

xх1xx0,01

xxx1xx,x0

10

xх10xx10

xxx1xxx0

11

xх10x1x,1

xxx1xxx,0

12

xх11x0,0x

xxx1xx,x0

13

xx01x101

xxx1xxx1

14

xхx1x11,0

xxx1xxx,1

15

xх1xx1,11

xxx1xx,x1

16

xх00xx00

xxx1xxx1

17

xx0xxx1,x

xx1x000,1

18

xx0xxx,1x

xхx0x0,10

19

xx0xxx1x

xх0x0x11

20

xx0xxx1,x

xх01x0x,0

21

xx0xxx,0x

xх010x,1x

22

xx0xxx0x

xx10110x

Варианты представления чисел в дополнительном коде:

четные номера – дополнительный модифицированный код;

нечетные номера – представление знака в одном разряде.

78

Приложение 3

ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ ДЛЯ ИССЛЕДОВАНИЯ УСТРОЙСТВ УМНОЖЕНИЯ НА КОНСТАНТУ

№ п/п

Разрядность a[]

Значение константы

1

8

9

2

7

12

3

6

17

4

5

18

5

4

20

6

8

24

7

7

10

8

6

9

9

5

12

10

4

17

11

8

18

12

7

20

13

6

24

14

5

10

15

4

9

16

9

12

17

8

17

18

7

18

19

6

20

20

5

24

21

4

10

22

8

9

23

7

12

24

6

17

25

5

18

26

4

20

27

8

24

28

7

10

29

6

9

30

5

12

31

4

18

32

9

24

79

Приложение 4

ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ ДЛЯ ИССЛЕДОВАНИЯ СЛОЖЕНИЯ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ

№ п/п

Ограничение на мантиссу B

Ограничение на порядок B

1

x1xxxxxxxxxxxxxxxxxxxxx

xx1xx0xx

2

xx1xxxxxxxxxxxxxxxxxxxx

xx1xx1xx

3

xxx1xxxxxxxxxxxxxxxxxxx

xx0xx0xx

4

xxxx1xxxxxxxxxxxxxxxxxx

xx0xx1xx

5

xxxxx1xxxxxxxxxxxxxxxxx

x1xx0xxx

6

xxxxxx1xxxxxxxxxxxxxxxx

x1xx1xxx

7

xxxxxxx1xxxxxxxxxxxxxxx

x0xx0xxx

8

xxxxxxxx1xxxxxxxxxxxxxx

x0xx1xxx

9

xxxxxxxxx1xxxxxxxxxxxxx

xxx1xx0x

10

xxxxxxxxxx1xxxxxxxxxxxx

xxx1xx1x

11

xxxxxxxxxxx1xxxxxxxxxxx

xxx0xx0x

12

xxxxxxxxxxxx1xxxxxxxxxx

xxx0xx1x

13

xxxxxxxxxxxxx1xxxxxxxxx

xx1x0xxx

14

xxxxxxxxxxxxxx1xxxxxxxx

xx1x1xxx

15

xxxxxxxxxxxxxxx1xxxxxxx

xx0x0xxx

16

xxxxxxxxxxxxxxxx1xxxxxx

xx0x1xxx

17

xxxxxxxxxxxxxxxxx1xxxxx

x1x0xxxx

18

xxxxxxxxxxxxxxxxxx1xxxx

x1x1xxxx

19

xxxxxxxxxxxxxxxxxxx1xxx

x0x0xxxx

20

xxxxxxxxxxxxxxxxxxxx1xx

x0x1xxxx

21

xxxxxxxxxxxxxxxxxxxxx1x

xxx1x0xx

22

x1xxxxxxxxxxxxxxxxxxxxx

xxx1x1xx

23

xx1xxxxxxxxxxxxxxxxxxxx

xxx0x0xx

24

xxx1xxxxxxxxxxxxxxxxxxx

xxx0x1xx

25

xxxx1xxxxxxxxxxxxxxxxxx

xxxx1x0x

26

xxxxx1xxxxxxxxxxxxxxxxx

xxxx1x1x

27

xxxxxx1xxxxxxxxxxxxxxxx

xxxx0x0x

28

xxxxxxx1xxxxxxxxxxxxxxx

xxxx0x1x

29

xxxxxxxx1xxxxxxxxxxxxxx

x1xxx0xx

30

xxxxxxxxx1xxxxxxxxxxxxx

x1xxx1xx

31

xxxxxxxxxx1xxxxxxxxxxxx

x0xxx0xx

32

xxxxxxxxxxx1xxxxxxxxxxx

x0xxx1xx

80

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]