Специализированный компьютер

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

6-0,0003-0,0002-0,0001-0,00010,00000,00000,5-0,0002-0,00010,00000,00000,00000,00000,00000,00000,60,00000,00000,00000,00000,00000,00000,00000,00000,70,00000,00000,00000,00000,00000,00000,00000,00000,80,00000,00000,00000,00000,00000,00000,00000,00000,90,00000,00000,00000,00000,00000,00000,00000,00001,00,00000,00000,00000,00000,00000,00000,00000,00001,10,00000,00000,00000,00000,00000,00000,00000,00001,20,00000,00000,00000,00000,00000,00000,00000,00001,30,00000,00000,00000,00000,00000,00000,00000,00001,40,00000,00000,00000,00000,00000,00000,00000,00001,50,0002-0,00010,00000,00000,00000,00000,00000,00001,60,0011-0,00060,0003-0,00020,0001-0,00010,00000,00001,70,0045-0,00280,0018-0,00120,0007-0,00050,0003-0,00021,80,0149-0,01070,0078-0,00570,0042-0,00310,0023-0,00181,90,0430-0,03490,0285-0,02350,0196-0,01630,0137-0,01162,00,1111-0,10000,0909-0,08330,0769-0,07140,0667-0,0625

Семейство характеристик ряда функции представлено на рисунке 1.3.

Рис.1.3 - Семейство характеристик

 

Из рис.1.3 следует, что для вычисления функции следует выбрать i не из диапазона (-?, +?), а на интервале (0, +?).

Будем считать, что общая ошибка вычислений в компьютере обуславливается двумя погрешностями:

- следует из ограничений на число членов в разложении в ряд Тейлора,

- определяется ограничениями разрядной сетки.

Для нашего случая длина слова составляет 28 бит.

log228 = 5

Следовательно, формат машинного слова будет иметь вид, который представлен на рис.1.4.

 

Рис.1.4 - Формат машинного слова

 

Для расчета погрешности выполним суммирование членов ряда из таблицы 1.2 в соответствии с ростом i (см. таблицу 1.3).

 

Таблица 1.3

x sum 9123456780,1-0,9000-1,3050-1,5480-1,7120-1,8301-1,9187-1,9870-2,04080,2-0,8000-1,1200-1,2907-1,3931-1,4586-1,5023-1,5323-1,55320,3-0,7000-0,9450-1,0593-1,1194-1,1530-1,1726-1,1843-1, 19160,4-0,6000-0,7800-0,8520-0,8844-0,9000-0,9077-0,9117-0,91380,5-0,5000-0,6250-0,6667-0,6823-0,6885-0,6911-0,6923-0,69280,6-0,4000-0,4800-0,5013-0,5077-0,5098-0,5105-0,5107-0,51080,7-0,3000-0,3450-0,3540-0,3560-0,3565-0,3566-0,3567-0,35670,8-0, 2000-0,2200-0,2227-0,2231-0,2231-0,2231-0,2231-0,22310,9-0,1000-0,1050-0,1053-0,1054-0,1054-0,1054-0,1054-0,10541,00,00000,00000,00000,00000,00000,00000,00000,00001,10,10000,09500,09530,09530,09530,09530,09530,09531,20, 20000,18000,18270,18230,18230,18230,18230,18231,30,30000,25500,26400,26200,26250,26230,26240,26241,40,40000,32000,34130,33490,33700,33630,33650,33651,50,50000,37500,41670,40100,40730,40470,40580,40531,60,60000,42000,49200,45960,47520,46740,47140,46931,70,70000,45500,56930,50930,54290,52330,53510,52791,80,80000,48000,65070,54830,61380,57010,60010,57911,90,90000,49500,73800,57400,69210,60350,67180,61802,01,00000,50000,83330,58330,78330,61670,75950,63450,1-2,0839-2,1187-2,1473-2,1708-2, 1904-2, 2067-2,2204-2,23200,2-1,5681-1,5789-1,5867-1,5924-1,5966-1,5998-1,6021-1,60390,3-1, 1960-1, 1989-1, 2007-1, 2018-1, 2026-1, 2030-1, 2034-1, 20360,4-0,9149-0,9156-0,9159-0,9161-0,9162-0,9162-0,9163-0,91630,5-0,6930-0,6931-0,6931-0,6931-0,6931-0,6931-0,6931-0,69310,6-0,5108-0,5108-0,5108-0,5108-0,5108-0,5108-0,5108-0,51080,7-0,3567-0,3567-0,3567-0,3567-0,3567-0,3567-0,3567-0,35670,8-0,2231-0,2231-0,2231-0,2231-0,2231-0,2231-0,2231-0,22310,9-0,1054-0,1054-0,1054-0,1054-0,1054-0,1054-0,1054-0,10541,00,00000,00000,00000,00000,00000,00000,00000,00001,10,09530,09530,09530,09530,09530,09530,09530,09531,20,18230,18230,18230,18230,18230,18230,18230,18231,30,26240,26240,26240,26240,26240,26240,26240,26241,40,33650,33650,33650,33650,33650,33650,33650,33651,50,40550,40540,40550,40550,40550,40550,40550,40551,60,47040,46980,47010,46990,47000,47000,47000,47001,70,53240,52950,53130,53020,53090,53040,53080,53051,80,59400,58330,59110,58540,58960,58640,58880,58701,90,66110,62620,65470,63120,65070,63440,64810,63652,00,74560,64560,73650,65320,73010,65870,72540,6629

Из формата компьютерного слова следует:

 

A = 221 - 1 = 2 097 151 - максимальное число в мантиссе.

B = 25 - 1 = 31 - максимальный порядок.

 

Максимальное число

 

Ymax = AE + B = A*2B:

Ymax = 0,2 097 151 * 231 = 450 359 747,9886848

 

Необходимо определить значение аргумента x при котором Ymax = ln (x). Функция принимает значения <10 при x<14 000, следовательно x = Ymax =

= 450 359 747,9886848 удовлетворяет условию.

 

Минимальное значение будет определяться единичным битом в разряде мантиссы:

 

Ymin = - 1 * 2-21 * 2-31 = - 1 * 2-52

 

Введем ограничения на погрешность .

 

 

Находим ряд погрешностей для разных значений i:

 

(1.2)

 

Из соотношений 1.2 следует, что заданный уровень погрешности не превышается при вычислении значения функции на основании 2 членов ряда.

Допустим, что у меня получилось, что при i=15, для x=8. Для меньших x можно брать меньшие i.

Для оптимизации по скорости для расчета меньших значений x надо брать из сохраненной таблицы значений imax для сохранения погрешности .

Погрешность можем не учитывать, т.к. для функции ln (x) значение аргумента x ограничивается размерностью разрядной сетки. Следовательно:

 

?общ = ?1 + ?2 = ?1.

 

1.3 Проектирование системы команд

 

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

Блок-схема алгоритма расчета функции ln (x) в соответствии с формулой 1.1 представлена на рис.1.5.

 

Рис.1.5 - Блок-схема алгоритма расчета функции ln (x)

 

Основной недостаток алгоритма состоит в длительном формировании результата с учетом повторных вычислений.

Выполним модернизацию алгоритма и избавимся от операции возведения в степень xy.

Система команд устанавливается путем расстановки возле каждой вершины ГСА мнемонического обозначения команды. Модифицированная ГСА представлена на рис.1.6.

 

Рис.1.6 - Модифицированная ГСА

 

Составим таблицу команд компьютера (см. таблицу 1.4).

 

Таблица 1.4

№КомандаОперанды1MOVRi, M2MULRi, Rj3DIVRi, Rj4SUMRi, Rj5SUBRi, Rj6INCRi7JNZметка8JMPметка

Расширим систему команд за счет способов адресации операндов: прямая, косвенная регистровая, автоинкрементная, базово-индексная (см. таблицу 1.5).

 

Таблица 1.5

 

КОП - код операции базовой команды.

mod - модификатор адреса.

Ri - регистр источник/приемник пересылаемого операнда.

Rj, Rx - регистры косвенной адресации.

Кроме команд реализации вычислений по ГСА ln (x), в систему команд