Реферат: Алгоритм решения задач - Refy.ru - Сайт рефератов, докладов, сочинений, дипломных и курсовых работ

Алгоритм решения задач

Рефераты по информатике » Алгоритм решения задач

Содержание


Введение

1 Алгоритм решения функциональной задачи

2 Выбор системы команд специализированной ЭВМ

3 Форматы команд и операндов

4 Содержательные графы микропрограмм операций АЛУ

5 Разработка объединенной микропрограммы работы АЛУ

6 Закодированные алгоритмы микропрограмм

7 Проектирование управляющего автомата

Введение


Целью курсового проектирования является закрепление знаний по курсу: «Организация ЭВМ и систем» , полученных в результате изучения лекционного курса и выполнения лабораторного практикума.

Объектом курсового проектирования является процессор специализированной ЭВМ.

В процессоре выделяют устройство, в котором выполняются все основные (арифметические и логические) операции. Это устройство называют арифметико-логическим устройством (АЛУ). Если все основные операции выполняются за один такт (это имеет место в большинстве современных микропроцессоров), АЛУ является частью операционного автомата процессора; если же некоторые или все основные операции выполняются алгоритмически за много тактов, АЛУ имеет собственное устройство управления.

Разработка процессора специализированной ЭВМ включает в себя следующие этапы:

Разработка алгоритма решения функциональной задачи.

Выбор системы команд специализированной ЭВМ.

Определение форматов команд и операндов.

Разработка алгоритмов микропрограмм выполнения минимально необходимого набора операций АЛУ.

Разработка объединенной микропрограммы работы АЛУ.

Разработка структурной схемы операционного автомата АЛУ.

Разработка управляющего автомата АЛУ.

1 Алгоритм решения функциональной задачи


Укрупненный алгоритм решения поставленной задачи представлен на рисунке 1.1. Алгоритм вычисления функций F приведен соответственно на рисунке 1.2.


Рис.1.1 Укрупненный алгоритм


Для вычисления функции F можно воспользоваться степенным рядом:

Функция Arth(x) разлагается [3] в степенной ряд:


Этот ряд сходится при |x|<1, . Сумму ряда удобно находить с помощью рекуррентных соотношений. Общий член ряда выражается в данном случае через предыдущий член ряда с помощью равенства:



2 Выбор системы команд специализированной ЭВМ

Для двухадресной системы команд без признака засылки основные операции над двумя операндами будут выглядеть так:

,

где

А1 – первый адрес в команде;

А2 – второй адрес в команде;

* - обозначение операции.

Введем обозначение:

N . Наименование операции . X . Y

X – первый операнд и результат операции.

Y – второй операнд (если он не участвует, то ставится -).

Для двухадресной системы команд без признака засылки программа будет выглядеть так:

Часть команд в этой программе имеют два адреса, а часть – один адрес, поэтому и система команд ЭВМ должна состоять из одноадресных и двухадресных команд.

3 Форматы команд и операндов

Будем считать, что оперативная память (ОП) состоит из 256 ячеек длиной в один байт каждая.

Двухадресная система команд без признака засылки содержит 13 различных наименований команд, для кодирования которых поле КО должно иметь 4 разряда.

Поскольку в данном случае имеются одноадресные команды и двухадресные команды, для их различия введено одноразрядное поле кода длины команды (КДК) и принято считать: КДК=1 - для одноадресных и КДК=0 - для двухадресных команд.

Разряды 5-7 первого байта всех команд здесь не используются. Формат команд приведен на рисунке 3.1.

В качестве операнда будет использоваться 16-разрядное слово, запятая считается фиксированной перед старшим разрядом, а ОП оперирует с однобайтовыми словами. Формат операнда в ОП представлен на рисунке 3.2:

Такой операнд загружается за два обращения к ОП, здесь старшие разряды операнды и знак содержатся в первом байте, а младшие разряды – во втором.


4 Содержательные графы микропрограмм операций АЛУ

Числа представляются в 16-разрядном формате, старший (нулевой) разряд используется для представления знака числа, для операции сложения используется модифицированный дополнительный код, поэтому регистр RG имеет 17 разрядов (0:16) (поле RG(1:16) – для хранения первого слагаемого), регистр RG1 имеет 16 разрядов RG1(0:15) – для второго слагаемого, одноразрядному полю признака переполнения изначально присвоено нулевое значение, при операции сложения слагаемые помещаются по младшим разрядам, результат (сумма) помещается в поле RG(1:16), прибавление константы означает прибавление 1 к младшему разряду слова.

Содержательный алгоритм сложения представлен на рисунке 4.1:


Рисунок 4.1 – Алгоритм операции сложения


Описание слов, использованных в микропрограмме сложения, представлены в таблице 4.1:


Таблица 4.1

Тип Слово Пояснение
ILO RG(0:16) Слагаемое (Сумма)
IL RG1(0:16) Слагаемое
ILO ПП Признак переполнения

Содержательный алгоритм вычитания представлен на рисунке 4.2:

Рисунок 4.2 – Алгоритм вычитания


Описание слов, использованных в микропрограмме вычитания представлены в таблице 4.2:

Таблица 4.2

Тип Слово Пояснение
ILO RG(0:16) Уменьшаемое (разность)
IL RG1(0:16) Вычитаемое
ILO ПП Признак переполнения

Содержательный алгоритмы умножения и деления представлены на рисунках 4.3 и 4.4:

Описания слов, использованных в микропрограммах представлены в таблицах 4.3 и 4.4:

Таблица 4.3

Тип Слово Пояснение
ILO RG(0:16) Множитель, произведение
IL RG1(0:16) Множимое
L RG2(0:16) Множитель, произведение
L СТ(1:4) Счетчик циклов

Таблица 4.4

Тип Слово Пояснение
ILO RG(0:16) Делимое, остаток, частное
IL RG1(0:16) Делитель
L RG2(0:16) Частное
L СТ(1:4) Счетчик
ILO ПП Признак переполнения

Содержательные алгоритмы умножения на 2 и нахождения абсолютной величины числа представлены на рисунке 4.5 и 4.6, а описания слов, использованных в микропрограммах – в таблице 4.5 и 4.6:


Рисунок 4.5 – Алгоритм операции «умножение на 2»


Рисунок 4.6 – Алгоритм приведения абсолютной величины числа


Таблица 4.5

Тип Слово Пояснение
ILO RG(2:16) Операнд
ILO ПП Признак переполнения

Таблица 4.6

Тип Слово Пояснение
ILO RG(0:1) Операнд

Содержательный алгоритм микропрограммы специальной функции Arth(x) представлен на рисунке 4.7, здесь до начала выполнения программы регистру RG4 присваивается значение X. Описания слов, использованных в микропрограмме – в таблице 4.7:


Таблица 4.7

Тип Слово Пояснение
ILO RG(0:16)

Переменная x,n,b,a,F множитель, произведение, делимое,

остаток, частное, слагаемое, сумма,

уменьшаемое, разность

IL RG1(0:15)

Переменная F,b,a

константа,

Множимое, делитель, слагаемое, вычитаемое

L RG2(0:16) Множитель, произведение, частное
L RG3(0:15) Переменная F
L RG4(0:15) Переменная x,a,b
L RG5(0:15) Переменная n
L CT(1:4) Счетчик
ILO ПП Признак переполнения

Теперь необходимо составить схему укрупненного алгоритма, используя уже полученную микропрограмму вычисления функции Arth(x). Предполагается, что переменные x1, x2 и x3 перед началом выполнения программы уже будут загружены соответственно в регистры RG4, RG3 и RG5. Данная схема алгоритма представлена на рисунке 4.8:


Рисунок 4.8 – Схема алгоритма


В таблице 4.8 представлено описание слов, использованных в программе. Так как описание слов для микропрограммы вычисления специальной функции было представлено в таблице 4.7, здесь приводится описание только тех слов, которые принимали значения отличные от тех, что использовались в алгоритме на рисунке 4.7.


Таблица 4.8

Тип Слово Пояснение
ILO RG(0:16)

Переменная x1, x2,X делимое,

остаток, частное,

уменьшаемое, разность

абсолютная величина числа

IL RG1(0:15)

Переменная x2, x3

константа, делитель, вычитаемое

L RG3(0:15) Переменная x2
L RG4(0:15) Переменная x1, X
L RG5(0:15) Переменная x3

5 Разработка объединенной микропрограммы работы АЛУ


Процессор состоит из АЛУ и УЦУ.

В объединенном списке микроопераций, используемых в микропрограммах минимального набора операций АЛУ, для унификации формы записи различных операций и форматов одноименных слов следует по сравнению с рисунком 4.3 изменить три микрооперации:

для вершины 2 вместо микрооперации RG2 := RG нужно использовать микрооперацию RG2 := RG(1:16).0;

для вершины 6 вместо микрооперации RG2(1:15):=R1(RG (15).RG2(1:15)) – использовать микрооперацию RG2(1:15):=R1(RG(16).RG2(1:16);

вместо микрооперации RG(0):=1 в вершине 11 – использовать микрооперацию RG(0:1):=11.

Благодаря этим изменениям значение числовой части результата каждой операции присваивается полю RG(2:16) слова RG, а нулевой и первый разряды этого слова используются для представления знака числа. Появляется возможность считать, что перед началом каждой операции над двумя операндами в АЛУ значение первого операнда присваивается полю RG(1:16) слова RG, а значение второго операнда – слову RG1. При выполнении этого условия перед началом сложения и вычитания необходимо произвести присваивание RG(0) := RG(1), перед началом умножения нужно осуществить передачу RG2 := RG(1:16).0, а перед делением – микрооперации RG2(0):= RG(1) и RG(0:1):= 00.


В таблице 5.1 приведен список логических условий, используемых в микропрограммах:

Таблица 5.1

Обозначение Лог. Условие Тип операции
X1 RG(0)

Сложение и

Вычитание

X2 RG1(0)
X3 RG(1)
X4 RG2(15) Умножение
X5 CT=0
X6 RG2(1)
X7 RG1(0)RG2(0) Деление
X8 RG2(16) Умножение на «2»
X9 RG(2) Вычисление функции Arth(x)
X10 RG(0:16)

В таблице 5.2 приведен список микроопераций, используемых в микропрограммах:

Таблица 5.2

Микрооперации Тип операции
Y1 RG(0):=RG(1) Сложение
Y2

RG(2:16):= RG(2:16) +

Y3 RG:=RG+RG1(1:15)
Y4

RG:=RG+11. RG1(1:15)+

Y5 ПП:=1
Y6 RG1(0):= RG1(0) Вычитание
Y7 RG2:=RG(1:16).0 Умножение
Y8 RG:=0
Y9 CT:=1510
Y10 RG2(1:16):=R1(RG(16).RG2(1:16))
Y11 RG(1:16):=R1(0.RG(1:16))
Y12 CT:=CT-1
Y13

RG:=RG+

Y14 RG(0:1):=11
Y15 RG2(0):=RG(1) Деление
Y16 RG(2:16):=L1( RG(2:16).0)
Y17 CT:=0
Y18 RG2(1:16):=0
Y19 RG2(1:16):=L1(RG2(1:16). RG(0))
Y20 RG:=RG2(1:15)
Y21 RG(0:1):=00 Выделение абсолютной величины числа
Y22 RG3:=RG4 Вычисление функции Arth(x)
Y23

RG5:=

Y24 RG:=RG4
Y25 RG1:=RG
Y26 RG4:=RG
Y27 RG:=RG5
Y28 RG4:=RG1
Y29

RG1:=

Y30

RG5:=RG5+

Y31 RG:=RG3

В приложениях 1, 2 и 3 приведена соответственно схема объединенной микропрограммы работы АЛУ, закодированная схема объединенной микропрограммы работы АЛУ и структурная схема операционного автомата.


6 Закодированные алгоритмы микропрограмм

Закодированные алгоритмы сложения, вычитания, умножения, деления, умножения на «2» и выделения абсолютной величины числа представлены соответственно на рисунках 6.1, 6.2, 6.3, 6.4, 6.5 и 6.6:

7 Проектирование управляющего автомата

Формат микрокоманды при вертикальном кодировании имеет формат, представленный на рисунке 7.1:

Формат команды с принудительной адресацией представлен на рисунке 7.2:

Алгорим формирования исполнительного адреса обращения к микропрограммной памяти (МПП) представлен на рисунке 7.3:


Рисунок 7.3 – Алгоритм формирования адреса


В таблице 7.1 приведены все микрооперации, расположенные в микропрограммной памяти, где адрес A0 - переход по «истина»:

Таблица 7.1

Логичеcкий адрес МК в МПП Формат микрокоманды
Операционная зона Адресная зона
Y X(1..l) A0 A1
0 Y0
1
1 Y31
2
2 Y33
3
3 Y15
4
4 Y21
5
5 Y4
6
6
X1 23 7
7 Y16


8 Y9
9
9 Y18
10
10
X1 12 11
11 Y4
13
12 Y3
13
13 Y19
14
14 Y16
15
15 Y12
16
16
X5 17 10
17 Y20
18
18
X8 19 20
19 Y13


20
X7 22 21
21 Y21
24
22 Y14
24
23 Y5
24
24 Y25
25
25 Y24
26
26 Y6
27
27 Y1
28
28
X1 29 30
29 Y2
30
30
X2 32 31
31 Y3
33
32 Y4
33
33
X1 35 34
34
X2 36 38
35
X2 37 36
36 Y5
38
37 Y2
38
38 Y26
39
39 Y21
40
40 Y34
41
41 Y6
42
42 Y1
43
43
X1 44 45
44 Y2
45
45
X2 47 46
46 Y3
48
47 Y4
48
48
X1 50 49
49
X2 51 53
50
X2 52 51
51 Y5
53
52 Y2
53
53
X1 0 54
54 Y22
55
55 Y23
56
56 Y24
57
57 Y25
58
58 Y7
59
59 Y8
60
60 Y9
61
61
X4 62 63
62 Y3
63
63 Y10
64
64 Y11
65
65 Y12
66
66
X5 67 61
67
X6 68 69
68 Y13
69
69
X7 70 71
70 Y14
71
71 Y26
72
72 Y27
73
73
X9 75 74
74 Y16
76
75 Y5
76
76 Y6
77
77 Y1
78
78
X1 79 80
79 Y2
80
80
X2 82 81
81 Y3
83
82 Y4
83
83
X1 85 84
84
X2 86 88
85
X2 87 86
86 Y5
88
87 Y2
88
88 Y25
89
89 Y24
90
90 Y28
91
91 Y7
92
92 Y8
93
93 Y9
94
94
X4 95 96
95 Y3
96
96 Y10
97
97 Y11
98
98 Y12
99
99
X5 100 94
100
X6 101 102
101 Y13
102
102
X7 103 104
103 Y14
104
104 Y25
105
105 Y24
106
106 Y28
107
107 Y29
108
108 Y1
109
109
X1 110 111
110 Y2
111
111
X2 113 112
112 Y3
114
113 Y4
114
114
X1 116 115
115
X2 117 38
116
X2 118 117
117 Y5
119
118 Y2
119
119 Y25
120
120 Y24
121
121
X10 122 158
122 Y15
123
123 Y21
124
124 Y4
125
125
X1 142 126
126 Y16
127
127 Y9
128
128 Y18
129
129
X1 131 130
130 Y4
132
131 Y3
132
132 Y19
133
133 Y16
134
134 Y12
135
135
X5 136 129
136 Y20
137
137
X8 138 139
138 Y13
139
139
X7 141 140
140 Y21
143
141 Y14
143
142 Y5
143
143 Y30
144
144 Y31
145
145 Y32
146
146 Y1
147
147
X1 148 149
148 Y2
149
149
X2 150 151
150 Y3
152
151 Y4
152
152
X1 154 153
153
X2 155 157
154
X2 156 155
155 Y5
157
156 Y2
157
157

71
158 Y0



16