Реферат: Разработка управляющей части автомата для сложения двух чисел с плавающей запятой в дополнительном коде с помощью модели Мура

Содержание

                                                                                                                                                                                                                                                                                                    Стр.

Задание............................................................... .3

       1йраздел. Разработка машинного алгоритма выполнения операций............... 3

1.1.Построение алгоритмаопераций.......................................  3

1.2.Пример выполнения сложения,оценка погрешности....................... 5

       2йраздел. Разработка ГСА и функциональной схемы ОА........................ 5

          2.1. Разработка ГСА..................................................... .5

          2.2. Построение функциональной схемы ОА................................. 7

       3йраздел. Разработка логической схемы управляющей части автомата............ .8

          3.1. Составление таблицы переходов-выходов............................... .8

           3.2. Граф автомата Мура.................................................  9

           3.3.Построение функций возбуждения входов триггеров и логической схемы... .10

       4йраздел. Оценка времени выполнения микропрограммы...................... .12

      Заключение.............................................................. 14

Задание

Разработать управляющуючасть автомата для сложения двух чисел с плавающей запятой в дополнительномкоде с помощью модели Мура. Логическую схему реализовать в базисе «И-НЕ» наD-триггерах.

Раздел 1.Разработка машинного алгоритма выполнения операции.

Шаг 1. Сравнить порядки чисел A и B. Вычислитьразность порядков чисел. Если Dp³14, то выдать число A и закончить выполнение.Если Dp£-14,то выдать число B и закончить выполнение. Если 0 £Dp <14,то сдвинуть мантиссу числа B на çDpç разрядов вправо. Если 0 >Dp >-14,то сдвинуть мантиссу числа А на çDpç разрядов вправо. Порядокответа равен большему порядку.

Шаг 2. Сложить мантиссы поправилам ДК.

Шаг 3. Проверить условиенормализации g.Если оно не выполняется,сдвинуть сумму на один разряд вправо, к порядку результата прибавить единицу иперейти к п. 5.

Шаг 4. Циклически проверятьусловие нормализации d.Еслионо не выполняется, сдвинуть сумму на один разряд влево, от порядка результатаотнять единицу.

Шаг 5. Проверить сумматорпорядков на переполнением. Если возникло переполнение, установить флаг №1. Есливозникла ошибка типа «машинный ноль», установить флаг №2.

Блок-схема имеет следующийвид.

1

1

<img src="/cache/referats/8087/image001.gif" v:shapes="_x0000_s1259"> <img src="/cache/referats/8087/image002.gif" v:shapes="_x0000_s1260 _x0000_s1292"> <div v:shape="_x0000_s1296"> <img src="/cache/referats/8087/image003.gif" v:shapes="_x0000_s1261 _x0000_s1294"> <div v:shape="_x0000_s1297"> <div v:shape="_x0000_s1295">

1

<div v:shape="_x0000_s1298">

3

<img src="/cache/referats/8087/image004.gif" v:shapes="_x0000_s1086">

1

<img src="/cache/referats/8087/image005.gif" v:shapes="_x0000_s1084"><img src="/cache/referats/8087/image006.gif" v:shapes="_x0000_s1083"><img src="/cache/referats/8087/image007.gif" v:shapes="_x0000_s1082"><img src="/cache/referats/8087/image008.gif" v:shapes="_x0000_s1078"><img src="/cache/referats/8087/image009.gif" v:shapes="_x0000_s1077"><img src="/cache/referats/8087/image010.gif" v:shapes="_x0000_s1076"><img src="/cache/referats/8087/image011.gif" v:shapes="_x0000_s1075"><img src="/cache/referats/8087/image012.gif" v:shapes="_x0000_s1074"><img src="/cache/referats/8087/image013.gif" v:shapes="_x0000_s1073"><img src="/cache/referats/8087/image001.gif" v:shapes="_x0000_s1072"><img src="/cache/referats/8087/image014.gif" v:shapes="_x0000_s1071">

СМП(0)=0

<img src="/cache/referats/8087/image015.gif" СМП(0)=«0» v:shapes="_x0000_s1070"><div v:shape="_x0000_s1069">

СММ:=РгВ(0:15);

СМП:=РгВ(16:21)

<div v:shape="_x0000_s1068">

СММ:=РгА(0:15);

СМП:=РгА(16:21)

[СМП]<=-14

<img src="/cache/referats/8087/image016.gif" [СМП]<="-14" v:shapes="_x0000_s1067"><div v:shape="_x0000_s1066">

СМП:=РгА(16:21) -РгВ(16:21)

[СМП]>=14

<img src="/cache/referats/8087/image017.gif" [СМП]>=«14» v:shapes="_x0000_s1065"><div v:shape="_x0000_s1064">

РгА:=А; РгB:=В; СММ:=0; F1:=0; F2:=0

Начало <img src="/cache/referats/8087/image018.gif" v:shapes="_x0000_s1063">

2

<img src="/cache/referats/8087/image019.gif" v:shapes="_x0000_s1085">

<img src="/cache/referats/8087/image020.gif" v:shapes="_x0000_s1081">

<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">

[СМП]=0

[СМП]=0

РгА(0:15);

СМП:=[СМП]+1

РгВ(0:15);

СМП:=[СМП]-1

СМП:=РгВ(16:21)

СМП:=РгА(16:21)

СММ:=РгА(0:15)+РгВ(0:15); F1:=СМП(0)

g

[СММ];

СМП:=[СМП]+1

[СММ];

СМП:=[СМП]-1

d

F1&ùСМП(0)

ùF1&СМП(0)

F1:=0;

F2:=1

F1:=0

F1:=1

Конец

1

1

1

1

1

1

<img src="/cache/referats/8087/image021.gif" v:shapes="_x0000_s1183 _x0000_s1184 _x0000_s1185 _x0000_s1186 _x0000_s1187 _x0000_s1189 _x0000_s1190 _x0000_s1191 _x0000_s1192 _x0000_s1194 _x0000_s1195 _x0000_s1196 _x0000_s1198 _x0000_s1199 _x0000_s1200 _x0000_s1201 _x0000_s1202 _x0000_s1203 _x0000_s1204 _x0000_s1205 _x0000_s1206 _x0000_s1207 _x0000_s1208 _x0000_s1209 _x0000_s1210 _x0000_s1211 _x0000_s1212 _x0000_s1213 _x0000_s1214 _x0000_s1216 _x0000_s1217 _x0000_s1218 _x0000_s1219 _x0000_s1220 _x0000_s1221 _x0000_s1222 _x0000_s1223 _x0000_s1224 _x0000_s1225 _x0000_s1226 _x0000_s1227 _x0000_s1228 _x0000_s1229 _x0000_s1230 _x0000_s1231 _x0000_s1232 _x0000_s1233 _x0000_s1234 _x0000_s1235 _x0000_s1236 _x0000_s1237 _x0000_s1238 _x0000_s1239 _x0000_s1240 _x0000_s1241 _x0000_s1242 _x0000_s1243 _x0000_s1244 _x0000_s1245 _x0000_s1246 _x0000_s1247 _x0000_s1248 _x0000_s1249 _x0000_s1250 _x0000_s1251 _x0000_s1252 _x0000_s1253 _x0000_s1254 _x0000_s1255 _x0000_s1256 _x0000_s1299 _x0000_s1300 _x0000_s1302 _x0000_s1303 _x0000_s1304 _x0000_s1305 _x0000_s1306 _x0000_s1307 _x0000_s1308 _x0000_s1309 _x0000_s1310 _x0000_s1311 _x0000_s1312 _x0000_s1830 _x0000_s1831">

3

<img src="/cache/referats/8087/image022.gif" v:shapes="_x0000_s1182">

2

<img src="/cache/referats/8087/image023.gif" v:shapes="_x0000_s1181">

1

<img src="/cache/referats/8087/image024.gif" v:shapes="_x0000_s1180">

<img src="/cache/referats/8087/image026.gif" v:shapes="_x0000_s1262">
Рассмотрим примервыполнения операции.

<img src="/cache/referats/8087/image028.gif" v:shapes="_x0000_s1263">
При сдвиге мантиссычисла В получается погрешность, равная:


Раздел 2. Разработка ГСА и функциональной схемы ОА.

Регистры РгА и РгВ имеют 22разряда: биты 0-1 – знак числа, биты 2-15 – мантисса, бит 16 – знак порядка, бит17-21 – порядок. Сумматор мантисс СММ имеет следующую структуру: биты 0-1 –знак, биты 2-15 – мантисса. Сумматор порядков СМП имеет следующую структуру:бит 0 – знак, биты 1-5 – порядок. Используются два одноразрядныхрегистра в качестве флагов переполнения F1 и машинного нуля F2. Типы слов,используемых в микропрограмме, представлены в таблице.

Тип Слово Пояснение I

A(0:21)

Первое слагаемое

I

B(0:21)

Второе слагаемое

L

PrA(0:21)

Регистр А

L

PrB(0:21)

Регистр В

LO

CMM(0:15)

Сумматор мантисс

LO

CMП(0:5)

Сумматор порядков

LO

F1(0)

Флаг переполнения

LO

F2(0)

Флаг машинного нуля

Список микроопераций илогических условий представлен в таблице.

Y1

РгА:=А

X1

ùT0&T2&T3&T4 ÚùT0&T1 Ú

ÚùРгА(16)&РгВ(16)&T0

Y2

РгВ:=В

X2

T0&ùT2&ùT3&(ùT4 ÚùT5) Ú  Ú T0&ùT1 Ú РгА(16)&ùРгВ(16)&ùT0

Y3

СММ:=0

X3

T0=0

Y4

F1:=0

X4

СМП=0

Y5

F2:=0

X5

Z0&ùZ1ÚùZ0&Z1

Y6

СМП:=РгА(16:21)+ù РгВ(16:21)+1

X6

Z0&Z1 ÚùZ0&ùZ1

Y7

СММ:=РгА(0:15)

X7

ùF1&T0

Y8

СМП:=РгА(16:21)

X8

F1&ùT0

Y9

СММ:=РгВ(0:15)

Y10

СМП:=РгВ(16:21)

Y11

РгА(0:15):=R1(РгА(0).РгА(0:15))

Y12

СМП:=СМП+1

Y13

РгВ(0:15):=R1(РгВ(0).РгВ(0:15))

Y14

СМП:=СМП-1

Y15

СММ:=РгА(0:15)+РгВ(0:15)

Y16

F1:=СМП(0)

Y17

СММ:=R1(СММ(0).СММ(0:15))

Y18

СММ:=L1(СММ(0:15).0)

Y19

F1:=1

Y20

F2:=1

Ti – разряды СМП, Zi –разряды СММ. Условия X5 и X6 соответствуют условиям g иd вблок-схеме.

ГСА имеет вид:

Начало

Y1, Y2, Y3, Y4, Y5

Y6

X1

X2

1

Y7, Y8

Y9, Y10

2

1

1

b0

b1

b2

b3

b4

<img src="/cache/referats/8087/image029.gif" v:shapes="_x0000_s1313 _x0000_s1314 _x0000_s1315 _x0000_s1316 _x0000_s1317 _x0000_s1318 _x0000_s1319 _x0000_s1320 _x0000_s1321 _x0000_s1322 _x0000_s1323 _x0000_s1324 _x0000_s1325 _x0000_s1326 _x0000_s1327 _x0000_s1328 _x0000_s1329 _x0000_s1330 _x0000_s1331 _x0000_s1332 _x0000_s1415 _x0000_s1416 _x0000_s1417 _x0000_s1419 _x0000_s1467 _x0000_s1468 _x0000_s1469 _x0000_s1470 _x0000_s1471">


1

X3 X4 X4

Y11, Y12

Y13, Y14

Y10

Y8

Y15, Y16

X5

Y17, Y12

X6

2

1

1

1

1

1

Y18, Y14

X8 X7

Y4

Y19

Y4, Y20

Конец

1

1

b5

b6

b7

b8

b9

b10

b11

b12

b13

b14

b0

<img src="/cache/referats/8087/image030.gif" v:shapes="_x0000_s1334 _x0000_s1336 _x0000_s1339 _x0000_s1340 _x0000_s1343 _x0000_s1344 _x0000_s1345 _x0000_s1346 _x0000_s1347 _x0000_s1348 _x0000_s1349 _x0000_s1350 _x0000_s1352 _x0000_s1353 _x0000_s1354 _x0000_s1355 _x0000_s1356 _x0000_s1357 _x0000_s1359 _x0000_s1361 _x0000_s1362 _x0000_s1363 _x0000_s1364 _x0000_s1365 _x0000_s1366 _x0000_s1368 _x0000_s1370 _x0000_s1371 _x0000_s1372 _x0000_s1373 _x0000_s1375 _x0000_s1381 _x0000_s1382 _x0000_s1383 _x0000_s1384 _x0000_s1385 _x0000_s1386 _x0000_s1393 _x0000_s1396 _x0000_s1397 _x0000_s1400 _x0000_s1401 _x0000_s1411 _x0000_s1412 _x0000_s1420 _x0000_s1421 _x0000_s1422 _x0000_s1423 _x0000_s1424 _x0000_s1425 _x0000_s1426 _x0000_s1427 _x0000_s1428 _x0000_s1429 _x0000_s1430 _x0000_s1431 _x0000_s1437 _x0000_s1438 _x0000_s1439 _x0000_s1440 _x0000_s1441 _x0000_s1442 _x0000_s1443 _x0000_s1444 _x0000_s1445 _x0000_s1446 _x0000_s1447 _x0000_s1448 _x0000_s1449 _x0000_s1450 _x0000_s1451 _x0000_s1452 _x0000_s1453 _x0000_s1454 _x0000_s1455 _x0000_s1456 _x0000_s1457 _x0000_s1458 _x0000_s1459 _x0000_s1460 _x0000_s1461 _x0000_s1462 _x0000_s1463 _x0000_s1464 _x0000_s1465 _x0000_s1466 _x0000_s1472 _x0000_s1473 _x0000_s1474 _x0000_s1475 _x0000_s1476 _x0000_s1477 _x0000_s1478 _x0000_s1479 _x0000_s1480 _x0000_s1481 _x0000_s1482">


Функциональная схема ОАимеет вид:

<div v:shape="_x0000_s1695">

X5, X6

<div v:shape="_x0000_s1693">

Y16

<img src="/cache/referats/8087/image031.gif" v:shapes="_x0000_s1692"><img src="/cache/referats/8087/image032.gif" v:shapes="_x0000_s1691"><img src="/cache/referats/8087/image033.gif" v:shapes="_x0000_s1690"><img src="/cache/referats/8087/image034.gif" v:shapes="_x0000_s1689"><img src="/cache/referats/8087/image035.gif" v:shapes="_x0000_s1688"><img src="/cache/referats/8087/image036.gif" v:shapes="_x0000_s1687"><div v:shape="_x0000_s1686">

Y14

<img src="/cache/referats/8087/image037.gif" v:shapes="_x0000_s1685"><div v:shape="_x0000_s1684">

Y12

<img src="/cache/referats/8087/image038.gif" v:shapes="_x0000_s1683"><div v:shape="_x0000_s1682">

Y17

<div v:shape="_x0000_s1681">

Y18

<img src="/cache/referats/8087/image039.gif" v:shapes="_x0000_s1680"><img src="/cache/referats/8087/image040.gif" v:shapes="_x0000_s1679"><img src="/cache/referats/8087/image041.gif" v:shapes="_x0000_s1678"><img src="/cache/referats/8087/image042.gif" v:shapes="_x0000_s1677"><div v:shape="_x0000_s1676">

Y3

<img src="/cache/referats/8087/image043.gif" v:shapes="_x0000_s1675"><div v:shape="_x0000_s1674">

Y9

<img src="/cache/referats/8087/image044.gif" v:shapes="_x0000_s1673"><img src="/cache/referats/8087/image045.gif" v:shapes="_x0000_s1672"><img src="/cache/referats/8087/image046.gif" v:shapes="_x0000_s1671"><div v:shape="_x0000_s1670">

Y7

<img src="/cache/referats/8087/image047.gif" v:shapes="_x0000_s1669"><img src="/cache/referats/8087/image048.gif" v:shapes="_x0000_s1668"><img src="/cache/referats/8087/image049.gif" v:shapes="_x0000_s1667"><div v:shape="_x0000_s1666">

Y1

<img src="/cache/referats/8087/image050.gif" v:shapes="_x0000_s1665"><div v:shape="_x0000_s1664">

Y11

<img src="/cache/referats/8087/image051.gif" v:shapes="_x0000_s1663"><img src="/cache/referats/8087/image052.gif" v:shapes="_x0000_s1662"><div v:shape="_x0000_s1661">

Y8

<img src="/cache/referats/8087/image053.gif" v:shapes="_x0000_s1660"><img src="/cache/referats/8087/image054.gif" v:shapes="_x0000_s1659"><img src="/cache/referats/8087/image055.gif" v:shapes="_x0000_s1658"><div v:shape="_x0000_s1657">

Y5

<div v:shape="_x0000_s1656">

Y20

<div v:shape="_x0000_s1655">

Y19

<div v:shape="_x0000_s1654">

Y4

<div v:shape="_x0000_s1653">

Y10

<img src="/cache/referats/8087/image056.gif" v:shapes="_x0000_s1652"><img src="/cache/referats/8087/image057.gif" v:shapes="_x0000_s1651"><img src="/cache/referats/8087/image058.gif" v:shapes="_x0000_s1650"><div v:shape="_x0000_s1649">

Y2

<img src="/cache/referats/8087/image059.gif" v:shapes="_x0000_s1648"><div v:shape="_x0000_s1647">

Y13

<img src="/cache/referats/8087/image060.gif" v:shapes="_x0000_s1646"><img src="/cache/referats/8087/image061.gif" v:shapes="_x0000_s1645"><div v:shape="_x0000_s1644">

X3

<img src="/cache/referats/8087/image062.gif" v:shapes="_x0000_s1643"><img src="/cache/referats/8087/image063.gif" v:shapes="_x0000_s1642"><img src="/cache/referats/8087/image064.gif" v:shapes="_x0000_s1641"><img src="/cache/referats/8087/image065.gif" v:shapes="_x0000_s1640"><img src="/cache/referats/8087/image066.gif" v:shapes="_x0000_s1639"><img src="/cache/referats/8087/image038.gif" v:shapes="_x0000_s1638"><div v:shape="_x0000_s1637">

X4

<img src="/cache/referats/8087/image067.gif" v:shapes="_x0000_s1636"><div v:shape="_x0000_s1635">

F2

<div v:shape="_x0000_s1634">

F1

<div v:shape="_x0000_s1633">

СММ

<div v:shape="_x0000_s1632">

15

<div v:shape="_x0000_s1631">

2

<img src="/cache/referats/8087/image068.gif" v:shapes="_x0000_s1630"><div v:shape="_x0000_s1629">

0  1

<img src="/cache/referats/8087/image069.gif" v:shapes="_x0000_s1628"><div v:shape="_x0000_s1627">

СМП

<div v:shape="_x0000_s1626">

5

<div v:shape="_x0000_s1625">

1

<img src="/cache/referats/8087/image068.gif" v:shapes="_x0000_s1624"><div v:shape="_x0000_s1623">

0

<img src="/cache/referats/8087/image070.gif" v:shapes="_x0000_s1622"><div v:shape="_x0000_s1621">

РгВ

<div v:shape="_x0000_s1620">

21

<div v:shape="_x0000_s1619">

17

<img src="/cache/referats/8087/image068.gif" v:shapes="_x0000_s1618"><div v:shape="_x0000_s1617">

16

<div v:shape="_x0000_s1616">

15

<img src="/cache/referats/8087/image071.gif" v:shapes="_x0000_s1615"><div v:shape="_x0000_s1614">

2

<img src="/cache/referats/8087/image068.gif" v:shapes="_x0000_s1613"><div v:shape="_x0000_s1612">

0 1

<img src="/cache/referats/8087/image072.gif" v:shapes="_x0000_s1611"><div v:shape="_x0000_s1610">

РгА

<div v:shape="_x0000_s1609">

21

<div v:shape="_x0000_s1608">

17

<img src="/cache/referats/8087/image068.gif" v:shapes="_x0000_s1607"><div v:shape="_x0000_s1606">

16

<div v:shape="_x0000_s1605">

15

<img src="/cache/referats/8087/image061.gif" v:shapes="_x0000_s1604"><div v:shape="_x0000_s1603">

2

<img src="/cache/referats/8087/image073.gif" v:shapes="_x0000_s1602"><div v:shape="_x0000_s1601">

0 1

<img src="/cache/referats/8087/image074.gif" v:shapes="_x0000_s1600"><img src="/cache/referats/8087/image075.gif" v:shapes="_x0000_s1694">           

Раздел 3. Разработка логической схемы управляющей части автомата.

Каждое состояния автоматакодируется двоичным числом, равным индексу данного состояния. Например, b12 =1100. Таблица переходов-выходов имеет вид:

Код ABCD

Исх. сост.

Входной набор

Выходной набор

След. сост.

0000

B0

--

--

B1

0001

B1

--

Y1…Y5

B2

0010

B2

X1

Y6

B3

0010

B2

ùX1&X2

Y6

B4

0010

B2

ùX1&ùX2&ùX3&ùX4

Y6

B5

0010

<td
еще рефераты
Еще работы по теории систем управления