Основы вычислительной техники. Методические рекомендации по курсовой работе. Учебное пособие
.pdf
Следует учитывать, что в этом примере на такте 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
