В данной курсовой работе выполняется проектирование блоков устройства контроля по модулю три матричного умножителя с сокращением вычислений для обработки мантисс чисел с плавающей точкой. Арифметическая операция выполняется с сохранением одинаковой разрядности для операндов и результатов. Операции с плавающей точкой содержат умножение, удваивающее разрядность полного результата. Поэтому при обработке мантисс по n-разрядным операндам вычисляется округленный n-разрядный результат, т.е. Имеет место потеря n младших разрядов полного 2n-разрядного результата.
Использование сокращенных методов выполнения операций позволяет вдвое или почти вдвое снизить затраты оборудования и времени на выполнение операции.
Методы функционального диагностирования обеспечивают достоверность функционирования вычислительных устройств. Основным методом функционального диагностирования вычислительных устройств является контроль по модулю. Он обладает высокой обнаруживающей способностью и простотой реализации для полноразрядных вычислительных устройств. Функциональное диагностирование современных вычислительных устройств требует умения выполнять контроль по модулю производительных вычислительных устройств с плавающей точкой. Поэтому в курсовой работе затрагивается этот вопрос.
1. Определение варианта задания
Вариант задания определяется по номеру Z = 104, который был выдан преподавателем. Курсовая работа является комплексной – номер варианта выдается двум студентам. Я выполняю первую часть работы – разрабатываю блоки контроля вычисления контрольных кодов КА и КВ.
По номеру Z определяются параметры:
X = Z mod 9 = 10 mod 9 = 1,
Y = Z mod 4 = 10 mod 4 = 2.
По параметру X определяется шаг изменения размеров образующих фрагмента:
X mod 3 = 5 mod 3 = 2 – остаток и 1 – частное, т.е. шаг для верхнего фрагмента равен 2, а для нижнего фрагмента – 4.
Параметр Y определяет сомножители, по которым образующие верхних и нижних фрагментов меняют свой размер. Для Y равного 2, верхнее и нижнее разбиения задаются по операнду В.
Вариант задается видом разбиения матрицы конъюнкций прозведения на фрагменты (МКП).
2. Разбиение МКП на фрагменты
Разбиение МКП на фрагменты представлено на рис. 1.
Фрагменты разбиения:
V1 = – A{6}*B{36}*2-42
V2 = – A {7,8}*B {35,36}*2-44
V3 = – A{8}*B{34}*2-42
V4 = – A {9:12}*B {33:36}*2-48
V5 = – A{10}*B{32}*2-42
V6 = – A {11,12}*B {31,32}*2-44
V7 = – A{12}*B{30}*2-42
V8 = – A {13:16}*B {29:36}*2-52
V9 = – A{14}*B{28}*2-42
V10 = – A {15,16}*B {27,28}*2-44
V11 = – A{16}*B{26}*2-42
V12 = – A {17:20}*B {25:36}*2-56
V13 = – A{18}*B{24}*2-42
V14 = – A {19,20}*B {23,24}*2-44
V15 = – A{20}*B{22}*2-42
V16 = – A {21:36}*B {21:36}*2-72
V17 = – A{22}*B{20}*2-42
V18 = – A {23,24}*B {19,20}*2-44
V19 = – A{24}*B{18}*2-42
V20 = – A {25,26}*B {17:20}*2-46
V21 = – A{26}*B{16}*2-42
V22 = – A {27,28}*B {15:20}*2-48
V23 = – A{28}*B{14}*2-42
V24 = – A {29,30}*B {13:20}*2-50
V25 = – A{30}*B{12}*2-42
V26 = – A {31,32}*B {11:20}*2-52
V27 = – A{32}*B{10}*2-42
V28 = – A {33,34}*B {9:20}*2-54
V29 = – A{34}*B{8}*2-42
V30 = – A {35,36}*B {7:20}*2-56
V31 = – A{36}*B{6}*2-42
V32 = – A {1:36}*B {1:36}*2-72
3. Формирование контрольных кодов КАi и КВi
Составляемые контрольные коды (их длина не превышает L = 2, так как M = 3):
1) KA1 = A{6}*2-6 = A{6}
KA2 = A {7,8}*2-8 = A {7,8}
KA3 = A{8}
KA5 = A{10}
KA6 = A {11,12}
KA7 = A{12}
KA9 = A{14}
KA10 = A {15,16}
KA11 = A{16}
KA13 = A{18}
KA14 = A {19,20}
KA15 = A{20}
KA17 = A{22}
KA18 = A {23,24}
KA19 = A{24}
КА20 = A {25,26}
KA21 = A{26}
KA22 = A {27,28}
KA23 = A{28}
КА24 = A {29,30}
KA25 = A{30}
KA26 = A {31,32}
KA27 = A{32}
КА28 = A {33,34}
KA29 = A{34}
KA30 = A {35,36}
KA31 = A{36}
2) KB1 = B{36}*2-36 = B{36}
KB2 = B {35,36}*2-36 = B {35,36}
KB3 = B{34}
KB5 = B{32}
KB6 = B {31,32}
KB7 = B{30}
KB9 = B{28}
KB10 = B {27,28}
KB11 = B{26}
KB13 = B{24}
KB14 = B {23,24}
KB15 = B{22}
KB17 = B{20}
KB18 = B {19,20}
KB19 = B{18}
KB21 = B{16}
KB23 = B{14}
KB25 = B{12}
KB27 = B{10}
KB29 = B{8}
KB31 = B{6}
Вычисляемые контрольные коды (формируются при длине частей операндов превышающей L):
1) KA4 = (KA6 + A{9}*2-9 + A{10}*2-10) mod 3 = (KA6 – A{9} +A{10}) mod 3
KA8 = (KA10 – A{13} + A{14}) mod 3
KA12 = (KA14 – A{17} + A{18}) mod 3
KA16 = (KA18 + KA20 + KA22 + KA24 + KA26 + KA28 + KA30 – A{21} + A{22}) mod 3
KA32 = (KA16 + KA12 + KA8 + KA4 – A {1,3,5,7} + A {2,4,6,8}) mod 3
2) KB4 = (B{34}*2-34 +B{33}*2-33 + KB2) mod 3 = (KB2 + B{34} – B{33}) mod 3
KB8 = (B{30} – B{29} + KB4 + KB6) mod 3
KB12 = (B{26} – B{25} + KB8 + KB10) mod 3
KB16 = (B{22} – B{21} + KB12 + KB14) mod 3
KB20 = (B{18} – B{17} + KB18) mod 3
KB22 = (B{16} – B{15} + KB20) mod 3
KB24 = (B{14} – B{13} + KB22) mod 3
KB26 = (B{12} – B{11} + KB24) mod 3
KB28 = (B{10} – B{9} + KB26) mod 3
KB30 = (B{8} – B{7} + KB28) mod 3
KB32 = (B {2,4,6} – B {1,3,5} + KB30 + KB16) mod 3
4. Блоки контроля операндов
На сумматорах по модулю три выполняется свертка операндов А и В с формированием вычисляемых контрольных кодов КАi и КBi. Последние вычисляемые контрольные коды КА32 и КB32 являются результатами свертки. Они сравниваются на сумматоре по модулю три с входными контрольными кодами КА операнда А и КВ операнда В соответственно. Для этого входной контрольный код подключен инверсно: первый разряд – к входу с весом 2, а второй разряд – к входу с весом 1. На первом прямом и инверсном втором выходах сумматора по модулю три формируется код контроля ККА операнда А (ККВ операнда В).
Блок контроля вычисления контрольных кодов КAi
Для рассматриваемого разбиения МКП блок контроля БКА с прямым порядком вычисления контрольных кодов КAi представлен в приложении 1.
Блок контроля вычисления контрольных кодов КBi
Для рассматриваемого разбиения МКП блок контроля БКБ с прямым порядком вычисления контрольных кодов КВi представлен в приложении 2.
5. Описание блоков устройства контроля
Схемы блоков устройства контроля описываются прямым списком, который оформляется с использованием таблиц.
Для каждого элемента заполняется отдельная таблица. Столбец таблицы содержит описание соединений входов и выходов одного элемента. Входами элемента являются входы устройства контроля или выходы других элементов.
Описание схемы блока контроля БКА приведено в табл. 1.
Таблица 1
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
Вх1 | 1 | 5 | 9 | 13 | 17 | 21 | 25 | 29 | 33 | 118 | 122 | 126 | 128 | 132 | 136 |
Вх2 | 2 | 6 | 10 | 14 | 18 | 22 | 26 | 30 | 34 | 119 | 123 | 127 | 129 | 133 | 137 |
Вх1 | 3 | 7 | 11 | 15 | 19 | 23 | 27 | 31 | 35 | 120 | 124 | 0 | 130 | 134 | 138 |
Вх2 | 4 | 8 | 12 | 16 | 20 | 24 | 28 | 32 | 36 | 121 | 125 | 0 | 131 | 135 | 139 |
Вых1 | 118 | 120 | 122 | 124 | 126 | 128 | 130 | 132 | 134 | 136 | 138 | 140 | 142 | 144 | 146 |
Вых2 | 119 | 121 | 123 | 125 | 127 | 129 | 131 | 133 | 135 | 137 | 139 | 141 | 143 | 145 | 147 |
Таблица 1 продолжение
16 | 17 | 18 | 19 | 20 | 21 | |
Вх1 | 140 | 142 | 146 | 150 | 152 | 38 |
Вх2 | 141 | 143 | 147 | 151 | 153 | 37 |
Вх1 | 0 | 144 | 148 | 0 | 154 | 157 |
Вх2 | 0 | 145 | 149 | 0 | 155 | 158 |
Вых1 | 148 | 150 | 152 | 153 | 156 | 159 |
Вых2 | 149 | 151 | 153 | 154 | 157 | 160 |
Описание схемы блока контроля БКБ приведено в табл. 2.
Таблица 2
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
Вх1 | 39 | 43 | 55 | 59 | 63 | 67 | 71 | 161 | 165 | 171 | 177 | 169 | 177 | 167 | 185 |
Вх2 | 40 | 44 | 56 | 60 | 64 | 68 | 72 | 162 | 166 | 172 | 178 | 170 | 178 | 168 | 186 |
Вх1 | 41 | 0 | 57 | 61 | 65 | 69 | 73 | 163 | 53 | 173 | 51 | 179 | 49 | 183 | 47 |
Вх2 | 42 | 0 | 58 | 62 | 66 | 70 | 74 | 164 | 54 | 174 | 52 | 180 | 50 | 184 | 48 |
Вых1 | 161 | 163 | 165 | 167 | 169 | 171 | 173 | 175 | 177 | 179 | 181 | 183 | 185 | 187 | 189 |
Вых2 | 162 | 164 | 166 | 168 | 170 | 172 | 174 | 176 | 178 | 180 | 182 | 184 | 186 | 188 | 190 |
Таблица 2 продолжение
16 | 17 | 18 | 19 | |
Вх1 | 175 | 189 | 191 | 76 |
Вх2 | 176 | 190 | 192 | 75 |
Вх1 | 187 | 45 | 193 | 195 |
Вх2 | 188 | 46 | 197 | 196 |
Вых1 | 191 | 193 | 195 | 197 |
Вых2 | 192 | 194 | 196 | 198 |
6. Алгоритмы получения описаний
Процедуры получения описаний схем блоков устройства контроля формализованы в виде алгоритмов составления таблиц.
Таблицы представляются двухмерными массивами данных.
Для разработки алгоритмов были выполнены:
· Обобщение содержания таблиц, с помощью выделения среди ее чисел ключевых данных и выражения их через параметры n, k;
· Определение закономерностей изменения чисел в столбцах и строках таблицы.