Специализированный компьютер
Курсовая работа, 18 Мая 2015, автор: пользователь скрыл имя
Описание работы
Проектированиекомпьютеров специального назначения является одной из важнейших задач, стоящих перед разработчиками цифровой аппаратуры. Основное назначение спецкомпьютеров – это отработка определенного класса алгоритмов в некоторой заданной проблемно-ориентированной области. В частности, большой класс вычислительных систем используется в блоках управления механическими подвижными платформами в целях коррекции их траектории движения. Эффективность решения нетривиальных задач при этом во многом зависит от качества бортовых компьютеров и их программного обеспечения, входящих в состав управляемых объектов.
Содержание работы
ВВЕДЕНИЕ3
1. РАЗРАБОТКА АРХИТЕКТУРЫ СПЕЦИАЛИЗИРОВАННОГО
КОМПЬЮТЕРА6
1.1. Анализ известных реализаций спецкомпьютеров, формирование
требований к разрабатываемому компьютеру6
1.2. Исследование арифметической функции, решаемой
специализированным компьютером8
1.3. Проектирование системы команд12
1.4. Проектирование ЗУ микрокомпьютера 19
1.5. Разработка обобщенной структуры микроЭВМ на основе системы команд 23
2. ПРОЕКТИРОВАНИЕ ОСНОВНЫХ СТРУКТУРНЫХ КОМПОНЕНТОВ
СХЕМЫКОМПЬЮТЕРА28
2.1. Разработка схемы блока обработки данных28
2.2. Разработка устройства управления32
2.3. Разработка системы ввода-вывода данных35
3. ПРОЕКТИРОВАНИЕ ВНУТРЕННЕГО ИНТЕРФЕЙСА КОМПЬЮТЕРА39
3.1. Включение системы прерываний в схему устройства управления
спецкомпьютера39
3.2. Проектирование системы прямого доступа к памяти40
4. РАЗРАБОТКА МИКРОПРОГРАММНОГО ОБЕСПЕЧЕНИЯ42
4.1. Формат микрокоманды. Микропрограммная интерпретация команд
компьютера42
4.2. Разработка микропрограмм арифметических операций51
4.3. Разработка служебного микропрограммного обеспечения53
ЗАКЛЮЧЕНИЕ59
ЛИТЕРАТУРА60
Файлы: 5 файлов
~$$Схема электрическая принципиальная.~vsd
— 4.00 Кб (Скачать файл)~$$Схема электрическая структурная.~vsd
— 4.00 Кб (Скачать файл)Пояснительная записка.docx
— 1.05 Мб (Скачать файл)
Для расчета погрешности выполним суммирование членов ряда в табл. 1.2 в соответствии с ростом номеров i в табл. 1.3.
Таблица 1.3.
x\i |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
0,5 |
0,625 |
0,6667 |
0,6823 |
0,6885 |
0,6911 |
0,6923 |
0,6928 |
0,693 |
3 |
0,6667 |
0,8889 |
0,9877 |
1,037 |
1,0634 |
1,078 |
1,0864 |
1,0912 |
1,0941 |
4 |
0,75 |
1,0313 |
1,1719 |
1,251 |
1,2984 |
1,3281 |
1,3472 |
1,3597 |
1,368 |
5 |
0,8 |
1,12 |
1,2907 |
1,3931 |
1,4586 |
1,5023 |
1,5323 |
1,5532 |
1,5681 |
6 |
0,8333 |
1,1806 |
1,3735 |
1,494 |
1,5744 |
1,6302 |
1,6701 |
1,6992 |
1,7207 |
7 |
0,8571 |
1,2245 |
1,4344 |
1,5693 |
1,6619 |
1,728 |
1,7765 |
1,813 |
1,8407 |
8 |
0,875 |
1,2578 |
1,4811 |
1,6277 |
1,7302 |
1,805 |
1,8611 |
1,9041 |
1,9375 |
9 |
0,8889 |
1,284 |
1,5181 |
1,6741 |
1,7851 |
1,8673 |
1,93 |
1,9787 |
2,0172 |
10 |
0,9 |
1,305 |
1,548 |
1,712 |
1,8301 |
1,9187 |
1,987 |
2,0408 |
2,0839 |
Из формата компьютерного слова следует, что максимальное значение функции с учетом разрядности мантиссы М=18 и порядка Р=15 определится формулой:
218-1= 262 143
xmax=0, 262143·215= 8589,901824 (1.3)
Данному значению функции соответствует максимальное численное значение аргумента ymax=20,396 (по условиям задачи оставляем xmax=10).
Минимальное значение будет определяться единичным битом в младшем разряде мантиссы с учетом порядка:
xmin=-1·2-18·2-15=-1·2-23.
Расчеты по формуле (1.1) показывают, что значению функции (1.3), соответствует максимальное значение i=27.
Следует, однако, заметить, что процесс расчета 27-х членов ряда задача длительная и не всегда обоснованная. В связи с этим предположим, что допустимая погрешность вычислений равна . Тогда для аргумента x можно записать соотношение:
(1.5)
На основании ряда (1.1) при x=2 имеем:
0,5+0,125+0,0417+0,0156+…
Таким образом, ввод данных в спецкомпьютер должен сопровождаться обращением к служебной таблице 1.3 с определением числа вычислительных циклов, необходимых для расчета функции ln(x) для конкретного x. В простейшем случае число членов ряда выбирается равным 27.
Тогда по формуле (1.5) найдем ряд погрешностей для значений i лежащих в интервале [0;10] и занесём значения в таблицу1.4.
Таблица 1.4.
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.4 следует, что заданный уровень погрешности вычислений при x=2 не превышается, если расчет функции осуществляется на основании 6 членов ряда.
Погрешность, вносимая ограниченностью разрядной сетки (с учетом бесконечной длины значения функции), будет определяться разностью между эталонным значением ln(x), в нашем случае равным ln(10), и значением, размещаемым в 24-разрядной сетке компьютера:
Из (1.7) следует, что, то есть может не учитываться как погрешность для данного класса функций.
В целом, для решения каждой конкретной задачи может быть использовано несколько схем расчета. При этом для каждого алгоритма определяется точность представления результатов и максимальное время вычисления наиболее неблагоприятного параметра. Предпочтение конкретному способу решения задачи отдается в зависимости от поставленной цели управления.
- Проектирование системы команд
Анализ параметров алгоритмов, как правило, выполняется с использование языковых и программных средств. С этой целью каждой вершине ГСА решаемой задачи ставится в соответствие команда машины. После этого выполняется расширение набора команд с использованием заданных методов адресации и варьирования поля КОП. Полученная система дополняется командами управления работой компьютера, командами ввода-вывода и другими управляющими словами, позволяющими получить требуемые режимы работы компьютера.
Рассмотрим блок-схему алгоритма расчета функции ln(x) в соответствии с формулой (1.1) рис. 1.4. и исследуем методику решения поставленной задачи.
Основной недостаток алгоритма состоит в длительном формировании результата с учетом повторных вычислений операции возведения в степень xy. Выполним модернизацию алгоритма и избавимся от операции возведения в степень xy. Система команд устанавливается путем расстановки возле каждой вершины ГСА мнемонического обозначения команды. Модифицированная ГСА представлена на рисунке 1.5.
В полученной выше граф-схеме удалось избежать долговременных повторных вычислений в команде возведения в степень и заменить её на умножение с накоплением. Общая таблица команд для вычисления ln(x) при этом принимает вид таблицы 1.5.
Рис. 1.4. Блок-схема алгоритма расчета функции ln(x)
№ |
Команда |
Операнды |
1 |
MOV |
Ri, M |
2 |
MUL |
Ri, Rj |
3 |
DIV |
Ri, Rj |
4 |
SUM |
Ri, Rj |
5 |
SUB |
Ri, Rj |
6 |
INC |
Ri |
7 |
JNZ |
метка |
8 |
JMP |
метка |
Рис. 1.5. Блок-схема модернизированного алгоритма расчёта функции ln(x)
Для контроля функционирования ОЗУ требуется реализовать служебное программное обеспечение – тест ОЗУ. Заданный в данном курсовом проекте алгоритм теста ОЗУ «Обращение по прямому и дополняющему адресам»является линейным и используется, как правило, для предварительной оценки ОЗУ на отсутствие катастрофических неисправностей.
Полная блок-схема алгоритма теста ОЗУ «Обращение по прямому и дополняющему адресам» выглядит следующим образом (рис. 1.6.).
Итак, базовая система команд без учета команд служебного и специального ПО будет содержать 8 управляющих слов.
Рис. 1.6. Блок-схема алгоритма теста ОЗУ «Обращение по прямому и дополняющему адресам»
Расширим систему команд за счет некоторых команд условного перехода (Jg, Jl), а также способов адресации операндов:
прямая адресация,
непосредственная адресация,
автоинкрементная адресация,
относительная адресация.
Таблица 1.6.
Способ адресации |
Команда Move | |||||
прямая |
память – регистр Ri | |||||
относительная |
память (через регистр базы и смещение) – регистр Ri | |||||
непосредственная |
константа – регистр Ri | |||||
регистровая |
регистр Ri – регистр Rj |
Таблица 1.7.
Способ адресации |
Команда Div | |||||
прямая |
Дм в регистре Ri – Дт в памяти | |||||
относительная |
Дм в регистре Ri – Дт в памяти (через регистр базы и смещение) | |||||
непосредственная |
Дм в регистре Ri – Дт задаётся явно | |||||
автоинкремент |
Дм в регистре Ri – Дт в памяти (автоинкр. через Rj) | |||||
регистровая |
Дм в регистре Ri – Дт в регистре Rj |
Форматы команд Mul, Sum, Sub аналогичны Div.
В приведенных форматах команд имеет место следующая интерпретация полей: КОП – поле кода операции базовой команды; mod – модификатор команды, определяющий способ использования регистров общего назначения при адресации ОЗУ; Ri– регистр источник и приемник пересылаемого операнда; Rj – регистр косвенной адресации.
Таблица 1.8.
Способ адресации |
Команда Inc | |||
регистровая |
Инкрементируется содержимое регистра Ri |
Таблица 1.9.
Способ адресации |
Команды Jz (Jg, Jl) метка Jz – переход, если результат операции равен нулю, Jg– результат больше нуля, Jl – меньше нуля | ||||
прямая |
Условный переход по адресу, хранящемуся в памяти | ||||
относительная |
Условный переход по адресу, хранящемуся в памяти (через регистр базы и смещение) | ||||
непосредственная |
Условный переход по адресу, задаваемому явно |