Автор: Пользователь скрыл имя, 15 Мая 2012 в 09:19, курсовая работа
Для упрощения разработки специализированных ЭВМ существует и постоянно совершенствуется специфическая элементная база.
Одной из реализаций такой элементной базы является комплект БИС К1804. В данной работе рассмотрен проект специализированной ЭВМ, построенной на данном комплекте.
ВВЕДЕНИЕ 3
ИСХОДНЫЕ ДАННЫЕ 4
1 РАЗРАБОТКА АРХИТЕКТУРЫ СПЕЦИАЛИЗИРОВАННОГО МИКРОКОМПЬЮТЕРА 5
1.1 Анализ известных реализаций спецкомпьютеров, критика аналогов проектируемой системы, формулирование требований к разрабатываемому микрокомпьютеру 5
1.2 Проектирование алгоритмов, выбор состава макроопераций и программирование задач 6
1.3 Проектирование системы команд 12
1.4 Разработка обобщенной структуры микроЭВМ на основе системы команд 18
2 ПРОЕКТИРОВАНИЕ ОСНОВНЫХ СТРУКТУРНЫХ КОМПОНЕНТОВ СХЕМЫ МИКРОКОМПЬЮТЕРА 22
2.1 Разработка схемы блока обработки данных 22
2.2 Проектирование ЗУ микрокомпьютера 24
2.3 Разработка устройства управления 26
2.4 Разработка системы ввода-вывода данных 29
3 ПРОЕКТИРОВАНИЕ ВНУТРЕННЕГО ИНТЕРФЕЙСА МИКРОКОМПЬЮТЕРА 33
3.1 Включение системы прерываний в схему устройства управления спецкомпьютера 33
3.2 Проектирование системы ПДП 34
4 РАЗРАБОТКА МИКРОПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 36
4.1 Формат микрокоманды. Микропрограммная интерпретация команд языка компьютера 36
4.2 Разработка служебного микропрограммного обеспечения 38
ЗАКЛЮЧЕНИЕ 39
СПИСОК ЛИТЕРАТУРЫ 41
ПРИЛОЖЕНИЕ А 42
ПРИЛОЖЕНИЕ Б 43
Для расчетов конкретных значений функции разложим y=ln(x) в ряд Тейлора:
(1.1)
Из равенства 1.1 видно, что одному значению функции соответствует бесконечное число членов ряда. Выбор числа членов для расчета значения функции при заданном х определяется с одной стороны исходя из точностью представления результатов в компьютере, с другой стороны из допустимой длительности расчета.
Исследуем закон изменения членов ряда при различных x и i (см. таблицу 1.2).
Таблица 1.2 – Члены ряда
x i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
0,1 | -0,9000 | -0,4050 | -0,2430 | -0,1640 | -0,1181 | -0,0886 | -0,0683 | -0,0538 |
0,2 | -0,8000 | -0,3200 | -0,1707 | -0,1024 | -0,0655 | -0,0437 | -0,0300 | -0,0210 |
0,3 | -0,7000 | -0,2450 | -0,1143 | -0,0600 | -0,0336 | -0,0196 | -0,0118 | -0,0072 |
0,4 | -0,6000 | -0,1800 | -0,0720 | -0,0324 | -0,0156 | -0,0078 | -0,0040 | -0,0021 |
0,5 | -0,5000 | -0,1250 | -0,0417 | -0,0156 | -0,0063 | -0,0026 | -0,0011 | -0,0005 |
0,6 | -0,4000 | -0,0800 | -0,0213 | -0,0064 | -0,0020 | -0,0007 | -0,0002 | -0,0001 |
0,7 | -0,3000 | -0,0450 | -0,0090 | -0,0020 | -0,0005 | -0,0001 | 0,0000 | 0,0000 |
0,8 | -0,2000 | -0,0200 | -0,0027 | -0,0004 | -0,0001 | 0,0000 | 0,0000 | 0,0000 |
0,9 | -0,1000 | -0,0050 | -0,0003 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
1,0 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
1,1 | 0,1000 | -0,0050 | 0,0003 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
1,2 | 0,2000 | -0,0200 | 0,0027 | -0,0004 | 0,0001 | 0,0000 | 0,0000 | 0,0000 |
1,3 | 0,3000 | -0,0450 | 0,0090 | -0,0020 | 0,0005 | -0,0001 | 0,0000 | 0,0000 |
1,4 | 0,4000 | -0,0800 | 0,0213 | -0,0064 | 0,0020 | -0,0007 | 0,0002 | -0,0001 |
1,5 | 0,5000 | -0,1250 | 0,0417 | -0,0156 | 0,0062 | -0,0026 | 0,0011 | -0,0005 |
1,6 | 0,6000 | -0,1800 | 0,0720 | -0,0324 | 0,0156 | -0,0078 | 0,0040 | -0,0021 |
1,7 | 0,7000 | -0,2450 | 0,1143 | -0,0600 | 0,0336 | -0,0196 | 0,0118 | -0,0072 |
1,8 | 0,8000 | -0,3200 | 0,1707 | -0,1024 | 0,0655 | -0,0437 | 0,0300 | -0,0210 |
1,9 | 0,9000 | -0,4050 | 0,2430 | -0,1640 | 0,1181 | -0,0886 | 0,0683 | -0,0538 |
2,0 | 1,0000 | -0,5000 | 0,3333 | -0,2500 | 0,2000 | -0,1667 | 0,1429 | -0,1250 |
Продолжение таблицы 1.2
x i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
0,1 | -0,0430 | -0,0349 | -0,0285 | -0,0235 | -0,0196 | -0,0163 | -0,0137 | -0,0116 |
0,2 | -0,0149 | -0,0107 | -0,0078 | -0,0057 | -0,0042 | -0,0031 | -0,0023 | -0,0018 |
0,3 | -0,0045 | -0,0028 | -0,0018 | -0,0012 | -0,0007 | -0,0005 | -0,0003 | -0,0002 |
0,4 | -0,0011 | -0,0006 | -0,0003 | -0,0002 | -0,0001 | -0,0001 | 0,0000 | 0,0000 |
0,5 | -0,0002 | -0,0001 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
0,6 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
0,7 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
0,8 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
0,9 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
1,0 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
1,1 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
1,2 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
1,3 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
1,4 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
1,5 | 0,0002 | -0,0001 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
1,6 | 0,0011 | -0,0006 | 0,0003 | -0,0002 | 0,0001 | -0,0001 | 0,0000 | 0,0000 |
1,7 | 0,0045 | -0,0028 | 0,0018 | -0,0012 | 0,0007 | -0,0005 | 0,0003 | -0,0002 |
1,8 | 0,0149 | -0,0107 | 0,0078 | -0,0057 | 0,0042 | -0,0031 | 0,0023 | -0,0018 |
1,9 | 0,0430 | -0,0349 | 0,0285 | -0,0235 | 0,0196 | -0,0163 | 0,0137 | -0,0116 |
2,0 | 0,1111 | -0,1000 | 0,0909 | -0,0833 | 0,0769 | -0,0714 | 0,0667 | -0,0625 |
Семейство
характеристик ряда функции представлено
на рисунке 1.3.
Рисунок
1.3 – Семейство характеристик
Из рисунка 1.3 следует, что для вычисления функции следует выбрать i не из диапазона ( -∞ , +∞ ), а на интервале ( 0 , +∞ ).
Будем считать, что общая ошибка вычислений в компьютере обуславливается двумя погрешностями:
Для нашего случая длина слова составляет 28 бит.
log228 = 4
Следовательно,
формат машинного слова будет иметь
вид, который представлен на рисунке 1.4.
Рис.
1.4 – Формат машинного слова
Для
расчета погрешности
выполним суммирование членов ряда
из таблицы 1.2 в соответствии с ростом
i (см. таблицу 1.3).
Таблица 1.3 – значение ln(x)
x sum | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
0,1 | -0,9000 | -1,3050 | -1,5480 | -1,7120 | -1,8301 | -1,9187 | -1,9870 | -2,0408 |
0,2 | -0,8000 | -1,1200 | -1,2907 | -1,3931 | -1,4586 | -1,5023 | -1,5323 | -1,5532 |
0,3 | -0,7000 | -0,9450 | -1,0593 | -1,1194 | -1,1530 | -1,1726 | -1,1843 | -1,1916 |
0,4 | -0,6000 | -0,7800 | -0,8520 | -0,8844 | -0,9000 | -0,9077 | -0,9117 | -0,9138 |
0,5 | -0,5000 | -0,6250 | -0,6667 | -0,6823 | -0,6885 | -0,6911 | -0,6923 | -0,6928 |
0,6 | -0,4000 | -0,4800 | -0,5013 | -0,5077 | -0,5098 | -0,5105 | -0,5107 | -0,5108 |
0,7 | -0,3000 | -0,3450 | -0,3540 | -0,3560 | -0,3565 | -0,3566 | -0,3567 | -0,3567 |
0,8 | -0,2000 | -0,2200 | -0,2227 | -0,2231 | -0,2231 | -0,2231 | -0,2231 | -0,2231 |
0,9 | -0,1000 | -0,1050 | -0,1053 | -0,1054 | -0,1054 | -0,1054 | -0,1054 | -0,1054 |
1,0 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
1,1 | 0,1000 | 0,0950 | 0,0953 | 0,0953 | 0,0953 | 0,0953 | 0,0953 | 0,0953 |
1,2 | 0,2000 | 0,1800 | 0,1827 | 0,1823 | 0,1823 | 0,1823 | 0,1823 | 0,1823 |
1,3 | 0,3000 | 0,2550 | 0,2640 | 0,2620 | 0,2625 | 0,2623 | 0,2624 | 0,2624 |
1,4 | 0,4000 | 0,3200 | 0,3413 | 0,3349 | 0,3370 | 0,3363 | 0,3365 | 0,3365 |
1,5 | 0,5000 | 0,3750 | 0,4167 | 0,4010 | 0,4073 | 0,4047 | 0,4058 | 0,4053 |
1,6 | 0,6000 | 0,4200 | 0,4920 | 0,4596 | 0,4752 | 0,4674 | 0,4714 | 0,4693 |
1,7 | 0,7000 | 0,4550 | 0,5693 | 0,5093 | 0,5429 | 0,5233 | 0,5351 | 0,5279 |
1,8 | 0,8000 | 0,4800 | 0,6507 | 0,5483 | 0,6138 | 0,5701 | 0,6001 | 0,5791 |
1,9 | 0,9000 | 0,4950 | 0,7380 | 0,5740 | 0,6921 | 0,6035 | 0,6718 | 0,6180 |
2,0 | 1,0000 | 0,5000 | 0,8333 | 0,5833 | 0,7833 | 0,6167 | 0,7595 | 0,6345 |
Продолжение таблицы 1.3
x sum | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
0,1 | -2,0839 | -2,1187 | -2,1473 | -2,1708 | -2,1904 | -2,2067 | -2,2204 | -2,2320 |
0,2 | -1,5681 | -1,5789 | -1,5867 | -1,5924 | -1,5966 | -1,5998 | -1,6021 | -1,6039 |
0,3 | -1,1960 | -1,1989 | -1,2007 | -1,2018 | -1,2026 | -1,2030 | -1,2034 | -1,2036 |
0,4 | -0,9149 | -0,9156 | -0,9159 | -0,9161 | -0,9162 | -0,9162 | -0,9163 | -0,9163 |
0,5 | -0,6930 | -0,6931 | -0,6931 | -0,6931 | -0,6931 | -0,6931 | -0,6931 | -0,6931 |
0,6 | -0,5108 | -0,5108 | -0,5108 | -0,5108 | -0,5108 | -0,5108 | -0,5108 | -0,5108 |
0,7 | -0,3567 | -0,3567 | -0,3567 | -0,3567 | -0,3567 | -0,3567 | -0,3567 | -0,3567 |
0,8 | -0,2231 | -0,2231 | -0,2231 | -0,2231 | -0,2231 | -0,2231 | -0,2231 | -0,2231 |
0,9 | -0,1054 | -0,1054 | -0,1054 | -0,1054 | -0,1054 | -0,1054 | -0,1054 | -0,1054 |
1,0 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 | 0,0000 |
1,1 | 0,0953 | 0,0953 | 0,0953 | 0,0953 | 0,0953 | 0,0953 | 0,0953 | 0,0953 |
1,2 | 0,1823 | 0,1823 | 0,1823 | 0,1823 | 0,1823 | 0,1823 | 0,1823 | 0,1823 |
1,3 | 0,2624 | 0,2624 | 0,2624 | 0,2624 | 0,2624 | 0,2624 | 0,2624 | 0,2624 |
1,4 | 0,3365 | 0,3365 | 0,3365 | 0,3365 | 0,3365 | 0,3365 | 0,3365 | 0,3365 |
1,5 | 0,4055 | 0,4054 | 0,4055 | 0,4055 | 0,4055 | 0,4055 | 0,4055 | 0,4055 |
1,6 | 0,4704 | 0,4698 | 0,4701 | 0,4699 | 0,4700 | 0,4700 | 0,4700 | 0,4700 |
1,7 | 0,5324 | 0,5295 | 0,5313 | 0,5302 | 0,5309 | 0,5304 | 0,5308 | 0,5305 |
1,8 | 0,5940 | 0,5833 | 0,5911 | 0,5854 | 0,5896 | 0,5864 | 0,5888 | 0,5870 |
1,9 | 0,6611 | 0,6262 | 0,6547 | 0,6312 | 0,6507 | 0,6344 | 0,6481 | 0,6365 |
2,0 | 0,7456 | 0,6456 | 0,7365 | 0,6532 | 0,7301 | 0,6587 | 0,7254 | 0,6629 |
Из
формата компьютерного слова
следует:
A = 222 – 1 = 4 194 303 – максимальное число в мантиссе.
B
= 24 – 1 = 15 – максимальный порядок.
Максимальное
число Imax = AE + B = A*2B:
Imax
= 0,4 194 303 * 215 = 13 743,8 920 704
Необходимо определить значение аргумента x при котором Imax = ln(x). Функция принимает значения <10 при x<14 000, следовательно x = Imax =
= 13 743,8 920 704 удовлетворяет условию.
Минимальное
значение будет определяться единичным
битом в разряде мантиссы:
Imin
= –1 * 2-22 * 2-15 = –1 * 2-37
Введем
ограничения на погрешность
.
Находим
ряд погрешностей
для разных значений
i:
(1.2)
Из соотношений 1.2 следует, что заданный уровень погрешности не превышается при вычислении значения функции на основании 2 членов ряда.
Допустим, что у меня получилось, что при i=15, для x=8. Для меньших x можно брать меньшие i.
Для оптимизации по скорости для расчета меньших значений x надо брать из сохраненной таблицы значений imax для сохранения погрешности .
Погрешность
можем не учитывать, т.к. для функции
ln(x) значение аргумента x ограничивается
размерностью разрядной сетки. Следовательно:
Δобщ
= Δ1 + Δ2 = Δ1.
1.3
Проектирование системы команд
Анализ
параметров алгоритмов, как правило,
выполняется с использование
языковых и программных средств.
С этой целью каждой вершине ГСА
решаемой задачи ставится в соответствие
команда машины. После этого выполняется
расширение набора команд с использованием
заданных методов адресации и
варьирования поля КОП. Полученная система
дополняется командами
Блок-схема
алгоритма расчета функции ln(
Информация о работе Разработка архитектуры специализированного микрокомпьютера