-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
1/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
2/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
3/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
4/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
5/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
6/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
7/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
8/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
9/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
10/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
11/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
12/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
13/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
14/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
15/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
16/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
17/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
18/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
19/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
20/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
21/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
22/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
23/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
24/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
25/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
26/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
27/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
28/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
29/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
30/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
31/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
32/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
33/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
34/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
35/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
36/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
37/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
38/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
39/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
40/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
41/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
42/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
43/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
44/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
45/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
46/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
47/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
48/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
49/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
50/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
51/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
52/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
53/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
54/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
55/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
56/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
57/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
58/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
59/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
60/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
61/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
62/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
63/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
64/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
65/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
66/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
67/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
68/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
69/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
70/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
71/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
72/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
73/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
74/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
75/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
76/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
77/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
78/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
79/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
80/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
81/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
82/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
83/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
84/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
85/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
86/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
87/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
88/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
89/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
90/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
91/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
92/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
93/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
94/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
95/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
96/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
97/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
98/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
99/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
100/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
101/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
102/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
103/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
104/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
105/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
106/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
107/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
108/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
109/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
110/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
111/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
112/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
113/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
114/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
115/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
116/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
117/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
118/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
119/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
120/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
121/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
122/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
123/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
124/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
125/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
126/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
127/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
128/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
129/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
130/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
131/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
132/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
133/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
134/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
135/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
136/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
137/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
138/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
139/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
140/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
141/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
142/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
143/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
144/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
145/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
146/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
147/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
148/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
149/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
150/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
151/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
152/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
153/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
154/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
155/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
156/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
157/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
158/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
159/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
160/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
161/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
162/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
163/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
164/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
165/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
166/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
167/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
168/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
169/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
170/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
171/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
172/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
173/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
174/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
175/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
176/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
177/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
178/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
179/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
180/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
181/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
182/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
183/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
184/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
185/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
186/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
187/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
188/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
189/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
190/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
191/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
192/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
193/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
194/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
195/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
196/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
197/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
198/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
199/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
200/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
201/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
202/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
203/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
204/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
205/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
206/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
207/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
208/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
209/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
210/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
211/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
212/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
213/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
214/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
215/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
216/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
217/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
218/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
219/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
220/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
221/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
222/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
223/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
224/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
225/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
226/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
227/431
19-1
RAD UPRAVLJAKE JEDINICE
19.1 Mikrooperacije
Ciklus donoenja Indirektni ciklus Ciklus prekida Izvrni ciklus Instrukcijski ciklus
19.2 Upravljanje procesorom
Funkcionalni zahtevi Upravljaki signali Primer upravljakih signala Unutranja organizacija procesoraIntel 8085
19.3 Oiena implementacija
Ulazi upravljake jedinice Logika upravljake jedinice
19.4 Dodatna literatura
19.5 Kljuni pojmovi, kontrolna pitanja i problemi
Kljuni pojmovi Kontrolna pitanjaProblemi
POGLAVLJE
DEO 6 U PRAVLJAKA JEDINICA
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
228/431
19-2 POGLAVLJE 19 / RAD UPRAVLJAKE JEDINICE
U poglavlju 12 istakli smo da skup mainskih instrukcija prolazi dug put prema pro-cesoru. Ukoliko znamo skup mainskih instrukcija, to znai da razumemo ta ope-rativni kodovi rade i razumemo reime adresiranja i ukoliko znamo skup registara vidljivih korisniku, tada znamo koje funkcije procesor mora da izvri. To nije sve.Moramo poznavati spoljni interfejs, to je najee magistrala, i to kako se upravljaprekidima. Kada nam je to jasno, pojavljuje se sledei spisak elemenata neophodnihda bi se odredilo funkcionisanje procesora:
1. operacije (operativni kodovi),2. reimi adresiranja,3. registri,4. interfejs U/I modula,5. interfejs memorijskog modula,6. struktura obrade prekida.
Iako uopten, ovaj spisak je prilino potpun. Stavke od 1 do 3 definisane su sku-pom instrukcija. Stavke 4 i 5 obino su definisane odreivanjem sistemske magistrale.
Stavka 6 delimino je definisana sistemskom magistralom, a delimino tipom podrkekoju procesor nudi operativnom sistemu.Ovaj spisak od est stavki mogao bi se nazvati funkcionalni zahtevi za procesor.
Oni odreuju ta procesor mora da radi. Time smo se najvie bavili u drugom i tre-
KLJUNE TEZE Izvravanje instrukcije obuhvata izvravanje niza potkoraka, koji se uopteno
nazivaju ciklusi. Na primer, izvravanje se moe sastojati od ciklusa donoenja,indirektnog ciklusa, izvrnog ciklusa i ciklusa prekida. Sa druge strane, svaki odovih ciklusa sainjen je od niza jo osnovnijih operacija, koje se nazivaju mikro-operacije. Jedna mikrooperacija uopteno obuhvata prenos izmeu registara,prenos izmeu registra i spoljne magistrale ili jednostavnu operaciju aritmeti-ko-logike jedinice.
Upravljaka jedinica procesora obavlja dva zadatka: (1) dovodi do toga da pro-cesor izvrava mikrooperacije po pravilnom redosledu koji je odreen progra-mom koji se izvrava i (2) generie upravljake signale koji dovode do toga da se
sve mikrooperacije izvre. Upravljaki signali koje generie upravljaka jedinica izazivaju otvaranje i zatva-
ranje logikih kola, to za posledicu ima prenos podataka u registre i iz regista-ra, kao i rad aritmetiko-logike jedinice.
Jedna od tehnika za implementiranje upravljake jedinice poznata je kao oi-ena implementacija, u kojoj je upravljaka jedinica kombinatorno kolo. Njeniulazni signali, odreeni tekuom mainskom instrukcijom, pretvaraju se u skupizlaznih upravljakih signala.
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
229/431
em delu. Sada nas zanima to kako se ove funkcije izvravaju ili, jo tanije, kako seupravlja razliitim delovima procesora da bi se te funkcije obavile. Stoga, nau panjuusmeravamo ka upravljakoj jedinici, koja upravlja radom procesora.
19.1 MIKROOPERACIJE Ve smo videli da se rad raunara, prilikom izvravanja programa, sastoji od nizainstrukcijskih ciklusa, sa jednom mainskom instrukcijom po ciklusu. Naravno,moramo se podsetiti da redosled instrukcijskih ciklusa nije obavezno isti kao iredosled
pisanja instrukcija od kojih je program sainjen, zbog postojanja instrukcija grananja.Ovde je re o izvravanjuvremenskog redosleda instrukcija.
Dalje smo videli da se svaki instrukcijski ciklus sastoji od odreenog broja jedno-stavnijih celina. Jedna od pogodnih podela je podela na ciklus donoenja, indirektni
ciklus, izvrni ciklus i ciklus prekida, pri emu se samo ciklus donoenja i izvrniciklus obavezno deavaju.Za projektovanje upravljake jedinice neophodno je da dodatno ralanimo
ovu podelu. Pri razmatranju protone obrade u poglavlju 12, uvideli smo da je daljadekompozicija mogua. U stvari, videemo da svi manji ciklusi obuhvataju niz koraka,od kojih svi obuhvataju registre procesora. Ove korake nazvaemomikrooperacije . Pre-fiks mikro oznaava injenicu da je svaki korak veoma jednostavan i da obavlja malotoga. Na slici 19.1 prikazan je meusobni odnos izmeu razliitih pojmova o kojimasmo govorili. Ukratko da ponovimo, izvravanje programa sastoji se od izvravanjainstrukcija jedne za drugom. Sve instrukcije izvravaju se tokom instrukcijskog ciklusakoji se sastoji od kraih potciklusa (npr. ciklusa donoenja, indirektnog ciklusa, izvr-nog ciklusa, ciklusa prekida). Izvravanje svakog od potciklusa obuhvata jednu ili viekraih operacija, to jest, mikrooperacija.
Mikrooperacije su najmanje mogue, ili atomske, operacije procesora. U ovomodeljku, istraiemo mikrooperacije kako bismo razumeli to da se dogaaji u bilo kominstrukcijskom ciklusu mogu opisati kao niz takvih mikrooperacija. Koristie se jedno-stavan primer. U ostatku ovog poglavlja pokazaemo kako znanje o mikrooperacijamaslui kao smernica za projektovanje upravljake jedinice.
Izvravanje programa
Instrukcijski ciklus Instrukcijski ciklusInstrukcijski ciklus
Ind. ciklus Izvrni ciklus Ciklus prekidaCiklus don.
OP OP OPOPOP
Ciklus don. = Ciklus donoenjaInd. ciklus = Indirektni ciklus
OP = operacije
Slika 19.1Elementi od kojih se sastoji izvravanje programa
19.1 / MIKROOPERACIJE 19-3
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
230/431
19-4 POGLAVLJE 19 / RAD UPRAVLJAKE JEDINICE
Ciklus donoenjaPoeemo razmatranjem ciklusa donoenja koji se odvija na poetku svakog instruk-cijskog ciklusa i dovodi do toga da se instrukcija preuzme iz memorije. Za potrebenaeg razmatranja, pretpostaviemo organizaciju opisanu na slici 12.6. Ukljuena su
etiri registra: memorijski adresni registar (Memory Address Register, MAR): povezan sa adre-
snim linijama sistemske magistrale; odreuje adresu u memoriji za operacijuitanja ili upisivanja;
memorijski bafer registar (Memory Buffer Registar , MBR): povezan sa linijompodataka sistemske magistrale; sadri vrednosti koje treba upisati u memorijuili poslednju vrednost uitanu iz memorije;
programski broja (Program Counter , PC): dri adresu sledee instrukcije koju
treba doneti; instrukcijski registar (Instruction Registar , IR): dri poslednju donetu instrukciju.
Pogledajmo redosled dogaaja za ciklus donoenja sa take gledita registara pro-cesora i koje posledice ima na njih. Primer je prikazan na slici 19.2. Na poetku ciklusadonoenja, adresa sledee instrukcije koja treba da se izvri nalazi se u programskombrojau (PC); u ovom sluaju, adresa je 1100100. Prvi korak je da se ta adresa preme-sti i memorijski adresni registar (MAR) poto je to jedini registar povezan sa adresnimlinijama sistemske magistrale. Drugi korak je uvoenje instrukcije. eljena adresa (uMAR registru) smeta se na adresnu magistralu, upravljaka jedinica izdaje komanduza uitavanje (READ) upravljakoj magistrali i rezultat se pojavljuje na magistralipodataka i kopira se u memorijski bafer registar (MBR). Takoe, neophodno je dapoveamo vrednost PC registra za 1 da bismo bili spremni za sledeu instrukciju.Poto ove dve akcije (uitavanje iz memorije, dodavanje 1 u PC registar) ne utiu jedna na drugu, moemo ih obaviti istovremeno da bismo utedeli vreme. Trei korak je premetanje sadraja MBR registra u instrukcijski registar (IR). Time se oslobaaregistar MBR za upotrebu tokom mogueg indirektnog ciklusa.
0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
MAR
MBR
PC
IR
AC
(a) P oetak
0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0MAR
MBR
PC
IR
AC
(c) Drugi korak
0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0MAR
MBR
PC
IR
AC
(b) Prvi korak
0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0MAR
MBR
PC
IR
AC
(d) Trei korak
Slika 19.2Redosled dogaaja, ciklus donoenja
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
231/431
Prema tome, jednostavan ciklus donoenja se, u stvari, sastoji od tri koraka i etirimikrooperacije. Svaka mikrooperacija obuhvata premetanje podataka u registar iliiz njega. Sve dok ta pomeranja nemaju uticaja jedno na drugo, nekoliko njih moese obaviti u jednom koraku, tedei vreme. Simbolino, ovaj niz dogaaja moemonapisati na sledei nain:
t1: MAR (PC)
t2: MAR memorija
PC (PC) + I
t3: IR (MBR)
gde je I duina instrukcije. Neophodno je da damo neka dodatna objanjenja o ovome.Pretpostavka je da postoji generator takta koji sinhronizuje operacije i koji proizvodiravnomerno rasporeene vremenske impulse. Svaki impuls generatora takta odreuje
jedinicu vremena. Prema tome, sve jedinice vremena isto traju. Svaka mikrooperacijamoe se obaviti u toku jedne jedinice vremena. Oznake (t1, t2, t3) predstavljaju uzasto-pne jedinice vremena. Zapravo, imamo:
prvu jedinica vremena: premetanje sadraja PC registra u MAR registar; drugu jedinica vremena: premetanje sadraja memorijske lokacije odreene
MAR registrom u MBR registar; sadraj PC poveava se za I ; treu jedinica vremena: premetanje sadraja MBR registra u IR registar.
Primeujete da se druga i trea mikrooperacija deavaju tokom druge jedinice vre-
mena. Trea mikrooperacija mogla bi da se grupie sa etvrtom bez uticaja na opera-ciju donoenja:
t1: MAR (PC)
t2: MAR memorija
t3: PC (PC) + I
IR (MBR)
Grupisanje mikrooperacija mora da potuje sledea dva jednostavna pravila:
1. mora se potovati pravilan redosled dogaaja; tako da mikrooperacija (MAR (PC)) mora prethoditi mikrooperaciji (MBR memorija) poto operacija uita- vanja memorije koristi adresu u MAR registru;
2. moraju se izbei preklapanja; ne treba pokuavati sa uitavanjem i upisivanjem uisti registar u istoj jedinici vremena poto bi rezultat mogao biti nepredvidiv; naprimer, mikrooperacije (MBR memorija) i (IR MBR) ne bi trebalo da sedese tokom iste jedinice vremena.
Konano, trebalo bi skrenuti panju na to da jedna od mikrooperacija obuhvatasabiranje. Da bi se izbeglo udvostruavanje elektronskih kola, ovo sabiranje moglobi se obaviti aritmetiko-logikom jedinicom. Korienje aritmetiko-logike jedinicemoe da znai dodatne mikrooperacije, to zavisi od funkcionalnosti aritmetiko-lo-
19.1 / MIKROOPERACIJE 19-5
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
232/431
19-6 POGLAVLJE 19 / RAD UPRAVLJAKE JEDINICE
gike jedinice i organizacije procesora. O tome emo u ovom poglavlju govoriti netokasnije..
Korisno je porediti dogaaje opisane u ovom i narednim pododeljcima sa slikom3.5. Mada na toj slici mikrooperacije nisu uzete u obzir, ova rasprava pokazuje mikro-operacije neophodne za izvravanje potciklusa instrukcijskog ciklusa.
Indirektni ciklusPoto je instrukcija doneta, sledei korak je donoenje izvornih operanda. Nastavlja- jui sa naim jednostavnim primerom, pretpostavimo da instrukcija ima format sa jednom adresom, koja dozvoljava direktno i indirektno adresiranje. Ukoliko instruk-cija navodi indirektnu adresu, tada izvrnom ciklusu prethodi indirektni ciklus. Tokpodataka donekle se razlikuje od onog naznaenog na slici 14.7 i obuhvata sledeemikrooperacije:
t1: MAR (IR(adresa))
t2: MBR memorija
t3: IR(adresa) (MBR(adresa)
Polje adrese u instrukciji prenosi se u MAR registar. On se zatim koristi za dono-enje adrese operanda. Konano, polje adrese IR registra se aurira iz MBR registra,tako da sada sadri direktnu umesto indirektne adrese.
IR registar je sada u istom stanju kao da indirektno adresiranje nije ni korieno ispreman je za izvrni ciklus. Na trenutak emo preskoiti ovaj ciklus i razmotriemo
ciklus prekida.Ciklus prekidaPo zavretku izvrnog ciklusa, vri se provera kako bi se ustanovilo da li se dogodioneki od dozvoljenih prekida. Ukoliko je tako, dogaa se ciklus prekida. Priroda ovogciklusa veoma se razlikuje od jednog do drugog procesora. Prikazujemo veoma jedno-stavan niz dogaaja, onako kako su prikazani na slici 14.8. Imamo:
t1: MBR (PC)
t2: MAR adresa_uvanja
PC adresa_rutine
t3: memorija (MBR)
U prvom koraku, sadraj PC registra prenosi se u MBR registar, tako da se moesauvati za povratak iz prekida. Zatim se u MAR registar uitava adresa na kojoj jesauvan sadraj PC registra, a u PC registar se uitava adresa poetka rutine za obraduprekida. Ove dve akcije mogu biti zasebne mikrooperacije. Meutim, poto veinaprocesora nudi vie tipova i/ili nivoa prekida, moda e biti potrebna jedna ili viedodatnih mikrooperacija kako bi se dobile adresa_uvanja i adresa_rutine pre nego
to se prenesu u MAR i PC registre, respektivno. U svakom sluaju, kada se to obavi,
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
233/431
poslednji korak je skladitenje u memoriju MBR registra, koji sadri staru vrednostPC registra. Procesor je sada spreman da otpone sledei instrukcijski ciklus.
Izvrni ciklus
Ciklus donoenja, indirektni ciklus i ciklus prekida su jednostavni i predvidivi. Svioni obuhvataju male, nepromenljive nizove mikrooperacija i, u svim sluajevima, istemikrooperacije ponavljaju se svaki put ispoetka.
Ovo ne vai za izvrni ciklus. Za procesor sa N razliitih operacionih kodova,postoji N razliitih redosleda po kojima se mikroperacije mogu odvijati. Razmotrimonekoliko hipotetikih primera.
Prvo, razmatramo instrukciju sabiranja:
ADD R1, X
kojom se sadraj lokacije X dodaje u registar R1. Mogue je da se desi sledei nizmikrooperacija:
t1: MAR (IR(adresa))
t2: MBR memorija
t3: R1 (R1) + (MBR)
Poinjemo sa registrom IR koji sadri instrukciju za sabiranje, ADD. U prvomkoraku, deo IR registra sa adresom unosi se u MAR registar. Zatim se uitava memorij-ska lokacija na koju se ta adresa poziva. Konano, aritmetiko logika jedinica sabira
sadraje registara R1 i MBR. Ponavljamo, ovo je pojednostavljen primer. Mogue je dabudu potrebne dodatne mikrooperacije za izvlaenje reference registra iz IR i modaza smetanje ulaza i izlaza aritmetiko logike jedinice u neke meuregistre.
Razmotrimo dva sloenija primera. Uobiajena instrukcija je poveanje vrednostii preskakanje ukoliko je vrednost nula:
ISZ X
Sadraj lokacije X poveava se za 1. Ukoliko je rezultat 0, preskae se sledeainstrukcija. Mogui redosled mikrooperacija je:
t1: MAR (IR(adresa))
t2: MBR memorija
t3: MBR (MBR) + 1
t4: memorija (MBR)
Ukoliko ((MBR) = 0) tada (PC (PC) + I)
Ovde je uvedeno neto novo, a to je uslovna akcija. Registar PC se poveava uko-liko je (MBR) = 0. Ova provera i akcija mogu se izvesti u jednoj mikrooperaciji. Pri-meujete takoe da se ova mikrooperacija moe izvriti tokom iste jedinice vremena
tokom koje se aurirana vrednost u MBR registru ponovo skladiti u memoriju. Na kraju, razmotrimo instrukciju za pozivanje potprograma. Kao primer, razmo-trimo instrukciju za grananje i uvanje adrese:
19.1 / MIKROOPERACIJE 19-7
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
234/431
19-8 POGLAVLJE 19 / RAD UPRAVLJAKE JEDINICE
BSA X
Adresa instrukcije, koja sledi posle instrukcije BSA, uva se u lokaciji X, a izvr-avanje se nastavlja na lokaciji X + I. Sauvana adresa kasnije e biti iskoriena zapovratak. Ovo je jednostavna tehnika za pozivanje potprograma. Dovoljne su sledee
mikrooperacije:t1: MAR (IR(adresa))
MBR (PC)
t2: PC (IR(adresa))
memorija (MBR)
t3: PC (PC) + I
Adresa u PC registru na poetku instrukcije je adresa sledee instrukcije u nizu.Ona se uva u adresi naznaenoj u IR registru. Ova druga adresa se takoe poveavada bi se obezbedila adresa instrukcije za sledei instrukcijski ciklus.
Instrukcijski ciklus Ve smo videli da se svaka faza instrukcijskog ciklusa moe dekomponovati u niz ele-mentarnih mikrooperacija. U naem primeru, postoji po jedan niz mikrooperacija zaciklus donoenja, indirektni ciklus i ciklus prekida, a za izvrni ciklus postoji jedan nizmikrooperacija za svaki operacioni kd.
Da bismo upotpunili sliku, potrebno je da poveemo niz mikrooperacija, i to jeuinjeno na slici 19.3. Uvodimo novi 2-bitni registar pod nazivomkd instrukcijskogciklusa ( Instruction Cycle Code , ICC). Registar ICC oznaava stanje procesora u smi-slu u kom delu ciklusa se procesor nalazi:
00: ciklus donoenja,01: indirektni ciklus,10: izvrni ciklus,11: ciklus prekida.
Na kraju svakog od ova etiri ciklusa, vrednost ICC registra postavlja se na odgo- varajuu vrednost. Posle indirektnog ciklusa uvek sledi izvrni ciklus. Posle ciklusaprekida uvek sledi ciklus donoenja (videti sliku 12.4). to se tie ciklusa donoenja iizvrnog ciklusa, sledei ciklus zavisi od stanja sistema.
Prema tome, dijagram toka na slici 19.3 definie potpuni niz mikrooperacija, kojizavisi samo od redosleda instrukcija i vrste i naina pojavljivanja prekida. Naravno,ovo je pojednostavljeni primer. Dijagram toka stvarnog procesora bio bi mnogo slo-eniji. U svakom sluaju, stigli smo do one take u naoj raspravi u kojoj se rad pro-cesora definie kao obavljanje niza mikrooperacija. Razmotriemo kako upravljaka jedinica dovodi do izvravanja tog niza.
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
235/431
ICC 00
ICC 00ICC 11
ICC 10
ICC 10 ICC 01
ICC?
Postavljanjeprekida
Operacionikd
Uitavanjeadrese
Donoenjeinstrukcije
Indirektnoadresiranje?
Prekid zaomogueni
prekid?
11 ( prekid ) 00 ( donoenje )
10 ( izvravanje ) 11 indirektni
Izvravanjeinstrukcije
Da Ne
Ne Da
Slika 19.3Dijagram toka instrukcijskog ciklusa
19.2 UPRAVLJANJE PROCESOROM
Funkcionalni zahteviRezultat nae analize u prethodnom odeljku je da smo dekomponovali ponaanje ilifunkcionisanje procesora u elementarne operacije, nazvane mikrooperacije. Svoe-njem operacija procesora na njihov najosnovniji nivo, moemo tano da definiemota je to to upravljaka jedinica mora izazvati da se desi. Prema tome, moemodefinisati funkcionalne zahteve za upravljaku jedinicu: one funkcije koje upravljaka jedinica mora da obavlja. Definisanje ovih funkcionalnih zahteva je osnova za projek-tovanje i primenu upravljake jedinice.
Sa tim informacijama, osnovne osobine upravljake jedinice dobiemo postup-
kom koji podrazumeva:1. definisanje osnovnih elemenata procesora,2. opisivanje mikrooperacija koje procesor obavlja,3. odreivanje funkcija koje upravljaka jedinica mora da obavi kako bi izazvala iz-
vravanje mikrooperacija. Ve smo sproveli korake 1 i 2. Pogledajmo ukratko ta smo dobili. Prvo, osnovni
funkcionalni elementi procesora su sledei: aritmetiko-logika jedinica,
registri, unutranje putanje podataka, spoljne putanje podataka, upravljaka jedinica.
19.2 / UPRAVLJANJE PROCESOROM 19-9
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
236/431
19-10 POGLAVLJE 19 / RAD UPRAVLJAKE JEDINICE
Malo podseanja trebalo bi da vas ubedi da je ovo potpun spisak. Aritmetiko-logika jedinica je po funkciji sr procesora. Registri se koriste za uvanje podatakaunutar procesora. Neki procesori sadre informacije stanja, neophodne za upravljanjeredosledom instrukcija (npr. re stanja programa). Drugi sadre podatke koji odlazedo ili stiu iz aritmetiko logike jedinice, memorije i izlazno / ulaznih modula. Unu-tranje putanje podataka koriste se za premetanje podataka izmeu registara i izmeuregistra i aritmetiko-logike jedinice. Spoljne putanje podataka povezuju registre samemorijom i U/I modulima, obino preko sistemske magistrale. Upravljaka jedinicapokree dogaanje operacija unutar procesora.
Izvravanje programa sastoji se od operacija koje obuhvataju ove elemente proce-sora. Kao to smo ve videli, ove operacije sastoje se od niza mikrooperacija. Potoproui odeljak 19.1, italac bi trebalo da uvidi da sve mikrooperacije spadaju u jednuod sledeih kategorija:
prenoenje podataka iz jednog registra u drugi, prenoenje podataka iz registra u spoljni interfejs (npr. sistemsku magistralu), prenoenje podataka iz spoljanjeg interfejsa u registre, izvravanje aritmetike ili logike operacije, korienjem registra za ulaz i izlaz.
Sve mikrooperacije neophodne za obavljanje jednog instrukcijskog ciklusa, uklju-ujui sve mikrooperacije za izvravanje svih instrukcija iz skupa instrukcija, spadajuu jednu od ovih kategorija.
Sada moemo biti malo odreeniji kada govorimo o nainu na koji upravljaka jedinica funkcionie. Upravljaka jedinica obavlja dva osnovna zadatka:
sekvenciranje: upravljaka jedinica dovodi do toga da procesor prolazi krozniz mikrooperacija po pravilnom redosledu koji zavisi od programa koji seizvrava;
izvravanje: upravljaka jedinica pokree obavljanje svih mikrooperacija.
Ovo je funkcionalni opis onog ta upravljaka jedinica radi. Klju kako uprav-ljaka jedinica radi je u korienju upravljakih signala.
Upravljaki signali Ve smo definisali elemente od kojih se procesor sastoji (aritmetiko-logika jedinica,registri, putanje podataka) i mikrooperacije koje se obavljaju. Da bi upravljaka jedi-nica obavljala svoju funkciju, ona mora da ima ulaze koji joj omoguavaju da odredistanje sistema i izlaze koji joj omoguavaju da upravlja ponaanjem sistema. Njima sespolja opisuje upravljaka jedinica. Iznutra, upravljaka jedinica mora da ima logikakola neophodna da bi obavila svoje funkcije sekvenciranja i izvravanja. Raspravu otome kako upravljaka jedinica radi iznutra ostavljamo za odeljak 19.3 i poglavlje 20.U preostalom delu ovog odeljka govoriemo o meusobnom delovanju izmeu uprav-ljake jedinice i ostalih elemenata procesora.
Na slici 19.4 dat je opti model upravljake jedinice, na kome su prikazani sviulazi i izlazi. Ulazi su sledei:
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
237/431
Upravljaka jedinica
Instrukcijski registar
Markeri
Generatortakta
Upravljaki signaliunutar procesora
Upravljaki signali saupravljake magistrale
Upravljaki signali kaupravljakoj magistrali
U p r a v
l j a k a m a g i s t r a
l a
Slika 19.4Blok dijagram upravljake jedinice
Generator takta: pomou njega upravljaka jedinica vodi rauna o vremenu;upravljaka jedinica izaziva izvravanje jedne mikrooperacije (ili skup isto- vremenih mikrooperacija) za svaki impuls generatora takta; ovo se ponekadnaziva vreme ciklusa procesora ili vreme ciklusa generatora takta;
instrukcijski registar: operacioni kd tekue instrukcije koristi se za odreiva-nje koje mikrooperacije se obavljaju tokom izvrnog ciklusa;
markeri: neophodni su upravljakoj jedinici da bi odredila status procesora iizlaz prethodnih operacija aritmetiko-logike jedinice; na primer, za instruk-ciju poveanja i preskoka ukoliko je vrednost nula (ISZ) upravljaka jedinicae poveati PC registar ako je postavljen nulti marker;
upravljaki signali sa upravljake magistrale: upravljaki deo sistemske magistraleobezbeuje signale za upravljaku jedinicu, kao to su signali prekida ili potvrda.
Izlazi su:
upravljaki signali unutar procesora: postoje dva tipa oni koji izazivaju pre-metanje podataka iz jednog registra u drugi i oni koji aktiviraju odreenefunkcije aritmetiko-logike jedinice;
upravljaki signali ka upravljakoj magistrali: takoe postoje dva tipa uprav-ljaki signali ka memoriji i upravljaki signali ka U/I modulima.
Novi element koji je uveden na ovoj slici je upravljaki signal. Koriste se tri tipaupravljakih signala: oni koji aktiviraju neku funkciju aritmetiko-logike jedinice, onikoji aktiviraju putanju podataka i oni koji su signali na spoljnoj sistemskoj magistraliili drugim spoljnim interfejsima. Svi ovi signali se u krajnjoj liniji primenjuju nepo-sredno kao binarni ulazi na pojedinana logika kola.
Razmotrimo jo jednom ciklus donoenja da bismo videli kako upravljaka jedi-nica odrava upravljanje. Upravljaka jedinica vodi rauna o tome gde se nalazi u
instrukcijskom ciklusu. U datoj taki, ona zna da e posle toga biti izvren ciklusdonoenja. Prvi korak je prenoenje sadraja PC registra u MAR registar. Upravljaka jedinica to radi aktiviranjem upravljakog signala koji otvara logika kola izmeubitova registara PC i MAR. Sledei korak je uitavanje rei iz memorije u MBR regi-
19.2 / UPRAVLJANJE PROCESOROM 19-11
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
238/431
19-12 POGLAVLJE 19 / RAD UPRAVLJAKE JEDINICE
star i poveanje PC registra. Upravljaka jedinica to radi slanjem sledeih upravljakihsignala istovremeno:
upravljaki signal koji otvara logika kola, omoguavajui da se sadraj MARregistra smesti na magistralu adresa;
upravljaki signal uitavanja memorije na upravljakoj magistrali; upravljaki signal koji otvara logika kola, omoguavajui da se sadraj magi-
strale podataka sauva u MBR registru; upravljaki signal u logiko kolo koje dodaje 1 sadraju PC registra i rezultat
ponovo unosi u PC registar.Posle toga, upravljaka jedinica alje upravljaki signal koji otvara logika kola
izmeu registara MBR i IR.Time se okonava ciklus donoenja, osim u jednoj stvari: upravljaka jedinica
mora da odlui da li da posle toga izvri indirektni ciklus ili izvrni ciklus. Da bi to
odluila, ona ispituje IR registar kako bi videla da li je napravljena indirektna refe-renca na memoriju.
Indirektni ciklus i ciklus prekida rade na slian nain. Za izvrni ciklus, uprav-ljaka jedinica poinje ispitivanjem operacionog koda i, na osnovu toga, odluujekojim redosledom e biti izvrene mikrooperacije izvrnog ciklusa.
Primer upravljakih signalaDa bismo ilustrovali funkcionisanje upravljake jedinice, razmotrimo jednostavan pri-mer (slika 19.5). To je jednostavan procesor sa jednim akumulatorom. Naznaene
su putanje podataka izmeu elemenata. Upravljake putanje za signale koji potiu izupravljake jedinice nisu prikazane, ali zavreci upravljakih signala obeleeni su kaoCi i naznaeni kruiem. Upravljaka jedinica prima ulaze iz generatora takta, instruk-cijskog registra i markera. Sa svakim ciklusom generatora takta, upravljaka jedinica
MBR
M A R
PC
AC
Generatortakta
IR
Upravljaka jedinica
Upravljakisignali
Upravljakisignali ALU
C3
C2
C4
C10
C5
C8 C 1
C0
C12
C13
C7C6
C9
C11
Slika 16.5Putanje podataka i upravljaki signali
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
239/431
oitava sve svoje ulaze i emituje skup upravljakih signala. Upravljaki signali odlazedo tri razliita odredita:
putanje podataka: upravljaka jedinica kontrolie unutranji tok podataka; naprimer, prilikom donoenja instrukcije, sadraj memorijskog bafer registra pre-nosi se u instrukcijski registar; za sve putanje koje se kontroliu postoji logikokolo (naznaeno kruiem na slici); upravljaki signal iz upravljake jediniceprivremeno otvara logiko kolo da dozvoli prolazak podataka;
aritmetiko-logika jedinica: upravljaka jedinica kontrolie rad aritmetiko-logike jedinice pomou skupa upravljakih signala; ovi signali aktiviraju razli-ite logike ureaje i kola unutar aritmetiko-logike jedinice;
sistemska magistrala: upravljaka jedinica alje upravljake signale na uprav-ljake linije sistemske magistrale (npr. uitavanje memorije).
Upravljaka jedinica mora uvek da zna gde se nalazi u instrukcijskom ciklusu.Koristei to znanje, i itajui svoje ulaze, upravljaka jedinica emituje niz upravljakihsignala koji izazivaju deavanje mikrooperacija. Ona koristi impulse generatora taktada bi odredila vremenski redosled dogaaja, ostavljajui vreme izmeu dogaaja dabi se nivoi signala stabilizovali. U tabeli 19.1 navedeni su upravljaki signali koji supotrebni za neke od nizova mikrooperacija opisanih ranije. Zbog jednostavnosti puta-nje podataka i kontrole za poveanje PC registra i za uitavanje nepromenljivih adresau registre PC i MAR nisu prikazane.
Tabela 19.1Mikrooperacije i upravljaki signali
Mikrooperacije Redosled dogaanja Aktivni upravljakisignalit1: MAR (PC) C2
Ciklus donoenja: t2: MBR memorija PC (PC) + 1
C5, CR
t3: IR (MBR) C4
t1: MAR (IR(adresa)) C8
Indirektni ciklus: t2: MBR memorija C5, CR
t3: IR(adresa) (MBR(adresa)) C4
t1: MBR (PC) C1
Ciklus prekida: t2: MAR adresa-uvanja PC adresa-rutine
t3: memorija (MBR) C12, Cw
CR = upravljaki signal za itanje sa sistemske magistraleCW = upravljaki signal za upisivanje na sistemsku magistralu
Vredi podrobnije prouiti osnovnu prirodu upravljake jedinice. Upravljaka jedi-
nica je mehanizam koji pokree itav raunar. Ona to radi samo na osnovu znanja otome koje se instrukcije izvravaju i prirodi rezultata aritemtikih i logikih operacija(npr. pozitivno, prekoraenje itd.). Ona nikada ne vidi podatke koji se obrauju ili
19.2 / UPRAVLJANJE PROCESOROM 19-13
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
240/431
19-14 POGLAVLJE 19 / RAD UPRAVLJAKE JEDINICE
stvarno dobijene rezultate. Uz to, ona kontrolie sve sa samo nekoliko upravljakihsignala ka odreenim takama u procesoru i nekoliko upravljakih signala ka sistem-skoj magistrali.
Unutranja organizacija procesora Na slici 19.5 naznaena je upotreba razliitih putanja podataka. Potrebno je razjasnitisloenost ovog tipa organizacije. Za to e se obino koristiti neka vrsta unutranjegrasporeda magistrala, kakva je predloena na slici 14.2.
Korienjem unutranje magistrale procesora, slika 19.5 moe se preurediti onakokako je prikazano na slici 19.6. Jedna unutranja magistrala povezuje aritmetiko-lo-giku jedinicu i sve registre procesora.
Upravljaka jedinica
Adresnelinije
Linijepodataka
Upravljaka jedinica
IR
PC
MAR
MBR
AC
Y
Z
U n u t r a
n j a m a g
i s t r a l a p r o c e s o r a
Slika 19.6Procesor sa unutranjom magistralom
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
241/431
Za premetanje podataka iz svakog registra na magistralu i sa magistrale obezbe-ena su logika kola i upravljaki signali. Dodatni upravljaki signali kontroliu pre-nos podataka na i sa sistemske (spoljne) magistrale i rad aritmetiko-logike jedinice.
Dva nova registra, obeleena Y i Z, dodata su u organizaciju. Oni su neophodniza ispravan rad aritmetiko-logike jedinice. Kada se izvrava operacija koja obuhvatadva operanda, jedna se moe dobiti iz unutranje magistrale, ali se drugi mora dobitiiz nekog drugog izvora. Registar AC bi se mogao koristiti u tu svrhu, ali se time ogra-niava fleksibilnost sistema i verovatno ne bi funkcionisalo sa procesorom sa viestru-kim registrima opte namene. Registar Y obezbeuje privremeno mesto za uvanjeostalih ulaza. Aritmetiko-logika jedinica je kombinatorno kolo (pogledajte poglav-lje 11) bez unutranjeg skladita. Stoga, im upravljaki signal aktivira neku funkcijuaritmetiko-logike jedinice, ulaz u aritmetiko-logiku jedinicu pretvara se u izlaz.Prema tome, izlaz aritmetiko-logike jedinice ne moe se direktno povezati sa magi-stralom poto bi taj izlaz trebalo ponovo vratiti u ulaz. Registar Z obezbeuje privre-meno izlazno skladite. Takvim reenjem, operacija dodavanja vrednosti iz memorijeu AC registar trebalo bi da ima sledee faze:
t 1: MAR (IR(adresa))
t 2: MBR memorija
t 3: Y (MBR)
t 4: Z (AC) + (Y)
t 5: AC (Z)
Mogue su i drugaije organizacije, ali se, uopteno, koristi neka vrsta unutranjemagistrale ili skupa unutranjih magistrala. Korienje zajednikih putanja podatakapojednostavljuje emu meusobnih veza i upravljanje procesorom. Drugi praktinirazlog za korienje unutranje magistrale jeste uteda prostora. Posebno u sluajumikroprocesora, koji zauzima samo kvadratnog ina pareta silikona, kada se pro-stor koji zauzimaju veze izmeu registara mora to vie smanjiti.
Intel 8085Da bismo ilustrovali neke od koncepata koje smo do sada analizirali u ovom poglavlju,razmotriemo procesor Intel 8085. Njegova organizacija prikazana je na slici 19.7.Postoji nekoliko kljunih komponenata koje nisu jasne same po sebi:
elektronski prekida za poveanje / smanjenje adrese: logiko kolo koje moedodati 1 na ili oduzeti 1 od sadraja pokazivaa steka ili programskog brojaa;time se tedi vreme poto se izbegava upotreba aritmetiko-logike jedinice u tusvrhu;
upravljanje prekidima: ovaj modul upravlja viestrukim nivoima signala prekida; upravljanje serijskim U/I: ovaj modul predstavlja interfejs prema ureaju koji
razmenjuje podatke 1 bit odjednom.
U tabeli 19.2 opisani su spoljni ulazni i izlazni signali procesora 8085. Oni supovezani sa spoljnom sistemskom magistralom. Ovi signali predstavljaju interfejsizmeu procesora 8085 i ostatka sistema (slika 19.8).
19.2 / UPRAVLJANJE PROCESOROM 19-15
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
242/431
19-16 POGLAVLJE 19 / RAD UPRAVLJAKE JEDINICE
S l i k a
1 9
. 7 B l o k d i j a g r a m
p r o c e s o r a
I n t e l 8 0 8 5
8 - b i t n a u n u t r a
n j a m a g
i s t r a l a p o
d a t a k a
U p r a v
l j a n j e p r e
k i d i m a
U p r a v l
j a n j e
s e r i j s k i m
U / I
m o d u
l o m
I N T R
C l k O u t
N a p a j a n
j e
5 V
G N D X 1 X 2
H L D A
R e s e
t o u t
A L E
S 0 S 1
R e a d y
I N T A
H o l
d
R e s e
t i n
R S T 6 . 5
T R A P
R S T 5 . 5
R S T 7 . 5
S I D
S O D
( 8 )
A k u m u l a t o r
( 8 )
P r i v r . r e g i s t a r
( 8 )
M a r
k e r
e l . p
r e k i d a a
( 8 )
I n s t r u
k c i j s k i
r e g i s t a r
D e k o d e r
i n s t r u
k c i j a i
k o d o v a n j e
c i k l u s a
p r o c e s o r a
D e k o d e r
i n s t r u
k c i j a i
k o d o v a n j e
c i k l u s a
p r o c e s o r a
( 8 ) B r e g .
( 8 )
C r e g .
( 8 ) D r e g .
( 8 )
E r e g .
( 8 ) H r e g .
( 8 )
L r e g .
( 1 6 )
p o k a z i v a
s t e k a
( 1 6 )
p r o g r a m s k
i b r o
j a
( 8 )
A d r e s n
i b a f e r
( 8 )
A d r e s n
i b a f e r
A D
7
A D
0
M a g
i s t r a l a
A 1 5
A 8
M a g i s
t r a l a a d r e s a
E l e k
t r o n s
k i ( 1 6 )
p r e k
i d a z a p o v e
a n j e /
s m a n
j e n j e a d r e s e
N i z
r e g i s t a r a
R D W R
I O / M
C l k
G e n
C o n
t r o l
S t a t u s
V r e m e n s k o u s
k l a
i v a n
j e i u p r a v l
j a n j e D
M A
R e s e
t
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
243/431
Tabela 19.2Spoljni signali procesora Intel 8085
Signali adresa i podatakaGornja adresa (A15-A8)
Gornjih 8 bitova 16-bitne adrese.
Adresa/podaci (AD7-AD0)Donjih 8 bitova 16-bitne adrese ili 8 bitova podataka. Ovim multipleksiranjem smanjuje se broj pinova.
Serijski ulaz podataka (Serial Input Data, SID)
Jednobitni ulaz prilagoen ureajima koji podatke prenose serijski (jedan po jedan bit).
Serijski izlaz podataka (Serial Output Data, SOD)
Jednobitni izlaz prilagoen ureajima koji podatke primaju serijski.
Vremenski i upravljaki signaliCLK (OUT)
Sistemski generator takta. Svaki ciklus predstavlja jedno T stanje. CLK signal odlazi do periferijskihipova i sinhronizuje njihovo vreme.
X1, X2
Ovi signali stiu iz spoljanjeg kristala ili drugog ureaja za upravljanje unutranjim generatorom takta.
Ukljuivanje elektronskog prekidaa adresa (Address Latch Enabled, ALE)
Javlja se tokom prvog dela impulsa sistemskog generatora takta u ciklusu procesora i na osnovu njegaperiferijski ipovi uvaju linije adresa. Njime se omoguava da moduli adresa (npr. memorija, U/I) prepoznajuda su adresirani.
Status (S0, S1)
Upravljaki signali koji se koriste da bi se naznailo da li se odvija operacija itanja ili upisivanja.
IO/M
Koristi se da bi se U/I modulima i memoriji omoguile operacije itanja i upisivanja.
Kontrola itanja (RD)
Ukazuje na to da li se izabrana memorija ili U/I modul ita i da li je magistrala podataka raspoloiva zaprenos podataka.
Kontrola upisivanja (WR)
Ukazuje na to da li se podaci na magistrali podataka upisuju u izabranu memorijsku lokaciju ili U/Imodul.
Simboli koje pokreu memorija i U/I moduliHold
Zahteva od procesora da prepusti kontrolu i da koristi spoljnu sistemsku magistralu. Procesor e okonatiizvravanje instrukcija prisutnih u IR registru i zatim ui u stanje mirovanja, tokom koga procesor ne unosisignale u upravljaku magistralu ili magistralu adresa i podataka. Tokom stanja mirovanja, magistrala se moekoristiti za operacije za direktno pristupanje memoriji.
Hold Acknowledge (HOLDA)
Ovaj izlazni signal upravljake jedinice potvruje prijem signala HOLD i pokazuje da je magistralapostala dostupna.
READY
Koristi se za sinhronizaciju procesora sa sporijim memorijskim i U/I ureajima. Kada adresiraniureaj potvrdi da je spreman (READY), procesor moe da nastavi sa ulaznom (DBIN) ili izlaznom (WR)operacijom. Inae, procesor prelazi u stanje ekanja dok odreeni ureaj ne bude spreman.
(nastavlja se )
19.2 / UPRAVLJANJE PROCESOROM 19-17
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
244/431
19-18 POGLAVLJE 19 / RAD UPRAVLJAKE JEDINICE
Signali koji se odnose na prekideTRAP
Ponovo pokree prekide (RST 7.5, 6.5, 5.5).
Zahtev za prekid (INTR)
Spoljni ureaj koristi ovih pet linija da bi procesoru poslao zahtev za prekid. Procesor nee ispotovatiovaj zahtev ukoliko je u stanju mirovanja ili su prekidi onemogueni. Prekid se potuje samo po okonanjuinstrukcije. Prekidi su poreani po opadajuem prioritetu.
Potvrda prijema zahteva za prekid (INTA)
Potvruje prijem zahteva za prekid.
Inicijalizacija procesoraRESET IN
Dovodi do toga da se sadraj PC registra postavi na nulu. Procesor nastavlja izvravanje od lokacije nula.
RESET OUT
Potvrda da je procesor vraen na poetno stanje. Ovaj signal se moe iskoristiti za vraanje u poetnostanje ostatka sistema.
Napajanje i uzemljenjeVCC
Napajanje +5 volti.
VSS
Elektrino uzemljenje.
Upravljaka jedinica se prepoznaje po tome to ima dve komponente obeleene(1) dekoder instrukcija i kodovanje mainskog ciklusa i (2) vremensko usklaivanjei upravljanje. Raspravu o prvoj komponenti odlaemo za sledei odeljak. Sutinaupravljake jedinice je modul za vremensko usklaivanje i upravljanje. Ovaj modulobuhvata generator takta i za svoje ulaze prihvata tekue instrukcije i neke spoljanjeupravljake signale. Njegov izlaz se sastoji od upravljakih signala za ostale kompo-nente procesora i upravljakih signala spoljanjoj sistemskoj magistrali.
Vremensko usklaivanje operacija procesora sinhronizuje generator takta, a kontro-lie ih upravljaka jedinica upravljakim signalima. Svaki instrukcijski ciklus podeljen jena jedan do pet mainskih ciklusa ; a svaki mainski ciklus je podeljen na tri do pet stanja .Svako stanje traje jedan ciklus generatora takta. Tokom jednog stanja procesor izvrava jednu ili skup istovremenih mikrooperacija odreenih upravljakim signalima.
Broj mainskih ciklusa je za istu instrukciju nepromenjiv, ali se razlikuje od jednedo druge instrukcije. Mainski ciklusi se definiu da budu jednaki broju pristupanjamagistrali. Prema tome, broj mainskih ciklusa za neku instrukciju zavisi od togakoliko puta procesor mora da komunicira sa spoljanjim ureajima. Na primer, ako seneka instrukcija sastoji od dva 8-bitna dela, tada su potrebna dva mainska ciklusa zadonoenje te instrukcije. Ako instrukcija obuhvata jednobajtnu operaciju sa memori- jom ili U/I ureajima, tada je za izvravanje potreban trei mainski ciklus.
Na slici 19.9 dat je primer vremenskog usklaivanja procesora 8085, pri emu je prikazana vrednost spoljanjih upravljakih signala. Naravno, u isto vreme, uprav-
Tabela 16.2 Nastavak
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
245/431
ljaki signal generie interne upravljake signale koji upravljaju internim prenosimapodataka. Na dijagramu je prikazan instrukcijski ciklus za instrukciju OUT. Neop-hodna su tri mainska ciklusa (M1, M2, M3). Tokom prvog, donosi se OUT instrukcija.Tokom drugog mainskog ciklusa donosi se druga polovina instrukcije, koja sadribroj U/I ureaja izabranog za izlaz. Tokom treeg ciklusa, sadraj AC registra upisujese u izabrani ureaj preko magistrale podataka.
40
39
38
37
36
35
34
33
32
31
30
2928
27
26
25
1
2
3
4
5
6
7
8
9
10
11
1213
14
15
16
2417
2318
2219
2120
X 1 X 2
Reset out
SOD
SID
Trap
RST 7.5
RST 6.5
RST 5.5
INTR
INTA
AD 0 AD 1 AD 2 AD 3 AD 4
Vcc
HOLD
HLDA
CLK (out)
Reset in
Ready
IO/M
S1 Vpp
RD
WR
S0 A 15 A 14 A 13 A 12
AD 5 A 11 AD 6 A 10
AD 7 A 9 Vss A 8
Slika 19.8Konfiguracija pinova procesora Intel 8085
Impulsni signal ukljuivanja elektronskog prekidaa adresa (ALE) iz upravljake jedinice pokree sve mainske cikluse. Impuls ALE pobuuje spoljna kola. Tokomstanja vremenskog usklaivanja T1 mainskog ciklusa M1, upravljaka jedinica postav-lja IO/M signal kojim naznaava da je to memorijska operacija. Takoe, upravljaka jedinica izaziva da se sadraj PC registra smesti na adresnu magistralu (A 15 do A 8)i magistralu adresa/podataka (AD7 do AD0). Na zadnjoj ivici impulsa ALE, ostalimoduli na magistrali pamte adresu.
19.2 / UPRAVLJANJE PROCESOROM 19-19
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
246/431
19-20 POGLAVLJE 19 / RAD UPRAVLJAKE JEDINICE
S l i k a
1 9
. 9 D i j a g r a m
v r e m e n s k o g u s
k l a
i v a n
j a O U T i n s t r u
k c i j e z a p r o c e s o r
I n t e l 8 0 8 5
3 M H z
C L K
A 1 5
A
8
A D 7
A
D 0
A L E
T 1
M 1
M 2
M 3
T 2
T 3
T 4
T 1
T 2
T 3
T 1
T 2
T 3
P C O u t
W Z O u t
I n s t r
I R
X
P C O u t O
U T b y t e
P C L
P C H
P C H
I N S T R
I N S T R
I N S T R
I N S T R
A C C U M
I O P O R T
P C
1
P C
P C
1
P C b y t e Z
, W
A
P o r t
R D
W R
I O / M
D o n o
e n j e
i n s t r u
k c i j e
i t a n j e m e m o r
i j e
U p i s i v a n
j e i z l a z a
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
247/431
Tokom stanja vremenskog usklaivanja T2, adresirani memorijski modul smetasadraj adresirane memorijske lokacije na magistralu adresa/podataka. Upravljaka jedinica postavlja RD signal da bi naznaio uitavanje, ali eka do T3
da iskopirapodatke sa magistrale. Time se memorijskom modulu daje vreme da podatke smestina magistralu i da se stabilizuju nivoi signala. Zavrno stanje, T
4, je stanje mirovanja
magistrale tokom koga procesor dekoduje instrukciju. Preostali mainski ciklusi odvi- jaju se na slian nain.
19.3 OIENA IMPLEMENTACIJA Razmotrili smo upravljaku jedinicu to se tie njenih ulaza, izlaza i funkcija. Posve-tiemo se temi implementacije upravljake jedinice. Za to se koriste razne tehnike. Veina od njih spada u jednu od dve kategorije:
oiena implementacija, mikroprogramirana implementacija.Oiena implementacija upravljake jedinice znai da je ona, u sutini, kombina-
torno kolo. Njeni ulazni logiki signali pretvaraju se u skup izlaznih logikih signala,koji predstavljaju upravljake signale. Taj pristup istraujemo u ovom odeljku. Mikro-programirana implementacija je predmet poglavlja 17.
Ulazi upravljake jedinice Na slici 19.4 upravljaka jedinica je predstavljena onako kako smo do sada o njoj govo-rili. Kljuni ulazi su instrukcijski registar, generator takta, markeri i signali upravljake
magistrale. U sluaju markera i signala upravljake magistrale, svaki pojedinani bitobino ima neko znaenje (npr. prekoraenje). Druga dva ulaza, meutim, nisu direk-tno korisni za upravljaku jedinicu.
Prvo emo razmotriti instrukcijski registar. Upravljaka jedinica, koristei ope-racioni kd, izvrava razliite akcije (izdavanje razliitih kombinacija upravljakihsignala) za razliite instrukcije. Da bismo pojednostavili logiku upravljake jedinice,potreban nam je jedinstven logiki ulaz za svaki operacioni kd. Ovaj zadatak moeda obavi dekoder , koji za svaki kodovani ulaz proizvodi poseban izlaz. U optem slu-aju, dekoder e imati n binarnih ulaza i 2n binarnih izlaza. Svaki od 2n razliitih
oblika izlaza aktivira poseban jedinstven izlaz. Primer je dat u tabeli 19.3. Dekoderza upravljaku jedinicu bie obino mnogo sloeniji od ovoga da bi se uzeli u obziroperacioni kodovi promenljive duine. Primer digitalne logike koja se koristi za imple-mentaciju dekodera prikazan je u poglavlju 11.
Deo upravljake jedinice sa generatorom takta izdaje neprekidne nizove impulsakoji se ravnomerno ponavljaju. Ovo je korisno za merenje trajanja mikrooperacija. Usutini, perioda impulsa generatora takta mora biti dovoljno duga da bi se omoguiloprostiranje signala du putanja podataka i kroz elektronska kola procesora. Meu-tim, kao to smo ve videli, upravljaka jedinica emituje razliite upravljake signaleu razliitim vremenskim trenucima unutar istog instrukcijskog ciklusa. Prema tome,potreban nam je i broja kao ulaz u upravljaku jedinicu, sa razliitim upravljakimsignalima koji se koriste za T1, T2 i tako dalje. Na kraju instrukcijskog ciklusa, uprav-ljaka jedinica mora da pobudi broja tako da ga ponovo inicijalizuje na T1.
19.3 / OIENA IMPLEMENTACIJA 19-21
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
248/431
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
249/431
Instruskcijski registar
Dekoder
Upravljaka jedinica Markeri
Generatorvremenskih
impulsa
Tn
Generatortakta
T2
T1
I0 I1 Ik
C0 C1 Cm
Slika 19.10Upravljaka jedinica sa dekodovanim ulazima
Uz ova dva objanjenja, upravljaka jedinica moe se predstaviti onako kako jedato na slici 19.10.
Logika upravljake jediniceDa bismo definisali oienu implementaciju upravljake jedinice, ostaje nam jo darazmotrimo unutranju logiku upravljake jedinice koja proizvodi izlazne upravljakesignale u zavisnosti od svojih ulaznih signala.
U sutini, za svaki upravljaki signal mora da se razvije Bulov izraz za taj signalu funkciji odreenog ulaza. Ovo je najbolje objasniti pomou primera. Razmotrimoponovo na jednostavan primer prikazan na slici 19.5. U tabeli 19.1 smo videli redo-sled mikrooperacija i upravljake signale koji su nam neophodni za kontrolu tri odetiri faze instrukcijskog ciklusa.
Razmotrimo samo jedan upravljaki signal, C5. Ovaj signal izaziva uitavanjepodataka sa spoljne magistrale podataka u MBR registar. U tabeli 19.1 vidimo da se
koristi dva puta. Definiimo dva nova upravljaka signala, P i Q, koji imaju sledeatumaenja:
PQ = 00 ciklus donoenja PQ = 01 indirektni ciklus PQ = 10 izvrni ciklus PQ = 11 ciklus prekida
Tada sledei Bulov izraz definie C5:
5 2 2C P Q T P Q T= +
Drugim reima, upravljaki signal C5 pojavie se tokom druge jedinice vremena zaciklus donoenja i indirektni ciklus.
19.3 / OIENA IMPLEMENTACIJA 19-23
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
250/431
19-24 POGLAVLJE 19 / RAD UPRAVLJAKE JEDINICE
Ovaj izraz nije potpun. Upravljaki signal C5 takoe je potreban tokom izvrnogciklusa. Za na jednostavan primer, pretpostaviemo da postoje samo tri instrukcijekoje itaju iz memorije: LDA, ADD i AND. Sada C5 moemo definisati kao:
5 2 2 2C =P Q T +P Q T +P Q (LDA+ADD+AND) T
Ovaj postupak moe se ponoviti za sve upravljake signale koje procesor generie.Rezultat bi bio skup Bulovih jednaina koje definiu ponaanje upravljake jedinice, asamim tim i procesora.
Da bi sve povezala, upravljaka jedinica mora da kontrolie status instrukcijskogciklusa. Kao to je ve napomenuto, na kraju svakog potciklusa (donoenja, indirek-tnog, izvrnog, prekida), upravljaka jedinica izdaje signal koji dovodi do toga da segenerator impulsa ponovno inicijalizuje i izda T1. Upravljaka jedinica mora takoe dapostavi odgovarajue vrednosti registara P i Q, ime definie sledei ciklus koji trebada se izvri.
italac treba da bude svestan injenice da je u savremenim sloenim procesorimabroj Bulovih jednaina potrebnih za definisanje upravljake jedinice veoma veliki.Zadatak implementiranja kombinatornog kola koje zadovoljava sve ove jednainepostaje izuzetno teak. Posledica je da se obino koristi jednostavnije reenje, poznatokao mikroprogramiranje . Ono je predmet sledeeg poglavlja.
19.4 DODATNA LITERATURA U velikom broju udbenika obrauju se osnovni principi na kojima upravljaka jedi-nica funkcionie; u sledea dva je to posebno detaljno objanjeno.
FARH04 Farhat, H. Digital Design and Computer Organization . Boca Raton, FL: CRC Press, 2004.MANO04 Mano, M. Logic and Computer Design Fundamentals . Upper Saddle River, NJ; Prentice Hall,
2004.
19.5 KLJUNI POJMOVI, KONTROLNA PITANJAI PROBLEMI
Kljuni pojmoviupravljaka magistralaupravljaka putanja
upravljaki signalupravljaka jedinica
oiena implementacijamikrooperacije
Kontrolna pitanja19.1 Objasnite razliku izmeu redosleda po kome se pie i redosleda po kome se neka instrukcija
izvrava.
19.2 Kakav je odnos izmeu instrukcija i mikrooperacija?19.3 Koju ukupnu funkciju obavlja upravljaka jedinica procesora?19.4 Navedite tri koraka koji nas dovode do dobijanja optih osobina upravljake jedinice.
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
251/431
19.5 Koje osnovne zadatke obavlja upravljaka jedinica?19.6 Napravite spisak sainjen od tipinih ulaza u upravljaku jedinicu i izlaza iz nje.19.7 Navedite tri tipa upravljakih signala.19.8 Ukratko objasnite ta znai oiena implementacija upravljake jedinice.
Problemi19.1 Imate aritmetiko-logiku jedinicu koja moe da sabira svoja dva ulazna registra i moe lo-
giki da komplementira bitove bilo kojeg ulaznog registra, ali ne moe da oduzima. Brojevise skladite predstavljeni komplementom dvojke. Navedite koje mikrooperacije upravljaka
jedinica mora da izvri da bi sprovela oduzimanje.19.2 Prikaite mikrooperacije i upravljake signale na isti nain kao u tabeli 19.1 za procesor na
slici 19.5 za sledee instrukcije: uitavanje u akumulator, skladitenje vrednosti u akumulator, sabiranje sa sadrajem u akumulatoru,
logiko AND sa sadrajem akumulatora, skok, skok ukoliko je sadraj AC = 0, komplementiranje sadraja akumulatora.
19.3 Pretpostavimo da kanjenje prostiranja du magistrale i kroz aritmetiko-logiku jedinicu saslike 19.6 iznosi 20 i 100 ns, respektivno. Vreme potrebno registru da prekopira podatke samagistrale je 10 ns. Koliko vreme treba ostaviti za:a. Prenoenje podataka iz jednog registra u drugi?b. Poveanje vrednosti programskog brojaa?
19.4 Napiite niz mikrooperacija potrebnih za strukturu magistrale prema slici 19.6 za dodavanjebroja u AC registar kada je taj broj:a. neposredni operand,b. operand sa direktnom adresom,c. operand sa indirektnom adresom.
19.5 Stek se primenjuje onako kako je prikazano na slici 19.11 (pogledajte dodatak O u kome segovori o stekovima. Pokaite redosled mikrooperacija za:a. uklanjanje poslednjeg elementa steka,b. dodavanje novog elementa u stek.
19.5 / KLJUNI POJMOVI, KONTROLNA PITANJA I PROBLEMI19-25
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
252/431
20-1
POGLAVLJE
M IKROPROGRAMIRANJE
20.1 Osnovni koncepti
Mikroinstrukcije Mikroprogramirana upravljaka jedinica Wilkesovo upravljanje Prednosti i mane
20.2 Sekvenciranje mikroinstrukcija
Razmatranje dizajna Tehnike sekvenciranja Generisanje adrese Sekvenciranje mikroinstrukcija LSI-11
20.3 Izvravanje mikroinstrukcija
Razvrstavanje mikroinstrukcija Kodovanje mikroinstrukcija LSI-11 izvravanje mikroinstrukcija Izvravanje mikroinstrukcija IBM 3033
20.4 TI 8800
Format mikroinstrukcija Mikrosekvencer Registri aritmetiko-logike jedinice
20.5 Dodatna literatura
20.6 Kljuni pojmovi, kontrolna pitanja i problemi
Kljuni pojmovi Kontrolna pitanjaProblemi
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
253/431
20-2 POGLAVLJE 20 / MIKROPRAGRAMIRANJE
Izraz mikroprogram prvi je smislio M. V. Wilkes ranih 50-ih godina prolog veka[WILK51]. Wilkes je predloio reenje za izradu upravljake jedinice kojim se organi-zaciono i sistemski izbegavala sloenost oiene implementacije. Ta ideja zaintigrirala je mnoge istraivae, ali tada je izgledalo da nikad nee biti praktino primenjenapoto je zahtevala brzu, relativno jeftinu upravljaku memoriju.
Prikaz razvoja mikroprogramiranja dat je u asopisu Datamation u njegovomizdanju iz februara 1964. U to vreme nije bilo mikroprogramiranih sistema u iro-koj upotrebi, a u jednom od lanaka [HILL64] u najkraim crtama navedeno je tadapopularno miljenje da je budunost mikroprogramiranja pomalo maglovita. Nijedan
od vodeih proizvoaa nije pokazao oigledno zanimanje za ovu tehniku mada su je verovatno svi istraivali.
Situacija se dramatino promenila za samo nekoliko meseci. IBM-ov System/360pojavio se u aprilu, a svi osim najveih modela bili su mikroprogramirani. Mada jeserija 360 poranila u odnosu na pojavu poluprovodnike ROM memorije, predno-sti mikroprogramiranja bile su dovoljno velike da nateraju IBM da napravi taj potez.Mikroprogramiranje je postalo popularna tehnika za primenu upravljake jediniceCISC procesora. Poslednjih godina mikroprogramiranje se manje koristi, ali je i daljealat dostupan projektantima raunara. Na primer, kao to smo ve videli, na procesoru
Pentium 4, mainske instrukcije se pretvaraju u format nalik RISC instrukcijama, odkojih se veina izvrava bez korienja mikroprogramiranja. Meutim, neke instruk-cije se izvravaju koristei mikroprogramiranje.
20.1 OSNOVNI KONCEPTI
Mikroinstrukcijeini se da je upravljaka jedinica relativno jednostavan ureaj. Ipak, implementacija uprav-ljake jedinice kao ureaja za meusobno povezivanje osnovnih logikih elemenata nijelak zadatak. Prilikom projektovanja mora se voditi rauna o logici za sekvencijalno prola-enje kroz mikrooperacije, za izvravanje mikrooperacija, za interpretiranje operacionihkodova i za donoenje odluka na osnovu markera aritmetiko-logike jedinice. Teko jeprojektovati i testirati takav deo hardvera. tavie, dizajn je relativno krut. Na primer, kon-strukcija se teko menja ukoliko neko zaeli da doda novu mainsku instrukciju.
KLJUNE TEZE Alternativa oienoj upravljakoj jedinici je mikroprogramirana upravljaka jedi-
nica, u kojoj je logika koja upravlja upravljakom jedinicom odreena mikropro-
gramom. Mikroprogram se sastoji od niza instrukcija u mikroprogramskom jeziku.Radi se o veoma jednostavnim instrukcijama koje odreuju mikrooperacije. Mikroprogramirana upravljaka jedinica je relativno jednostavno logiko kolo koje
moe (1) sekvencijalno da prolazi kroz mikroinstukcije i (2) generie upravljakesignale za izvravanje svih mikroinstrukcija.
Kao i u oienoj upravljakoj jedinici, ovi upravljaki signali koje generiu mikroin-strukcije koriste se za pokretanje prenosa izmeu registara i operacije aritmetiko-lo-gike jedinice.
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
254/431
17.1 / ORIGIN 20-3
Drugu mogunost, koja se ve koristi u mnogim CISC procesorima, predstavlja imple-mentacija mikroprogramirane upravljake jedinice.
Razmotrimo jo jednom tabelu 20.1. Pored toga to koriste upravljake signale, svemikrooperacije opisane su simbolikom notacijom. Ova notacija previe podsea na nekiprogramski jezik. U stvari, to i jeste jezik, poznat kaomikroprogramski jezik . Svaka linijaopisuje skup mikrooperacija koje se deavaju istovremeno i poznata je kaomikroinstruk-cija . Sekvenca instrukcija poznata je kaomikroprogram ili firmver . Ovaj poslednji izrazukazuje na injenicu da je mikroprogram negde na sredini izmeu hardvera i softvera.Mnogo je lake projektovati firmver nego hardver, ali je mnogo tee napisati firmverskimikroprogram nego softverski program.
Na koji nain moemo iskoristiti koncept mikroprogramiranja za implementacijuupravljake jedinice? Poite od toga da sve to upravljaka jedinica treba da uradi, zasve mikrooperacije, jeste da generie skup upravljakih signala. Prema tome, za bilo kojumikrooperaciju, svi upravljaki signali koji potiu iz upravljake jedinice su ili ukljueni iliiskljueni. Ovo se moe, naravno, predstaviti binarnim ciframa za svaku upravljaku liniju.Stoga, mogli bismo napravitiupravljaku re u kojoj svaki bit predstavlja jednu upravljakuliniju. Tako bi svaka mikrooperacija mogla biti predstavljena razliitim rasporedom jedi-nica i nula u upravljakoj rei.
Pretpostavimo da poreamo niz upravljakih rei koje predstavljaju niz mikroopera-cija koje izvrava upravljaka jedinica. Moramo znati da ova sekvenca mikrooperacija nijenepromenljiva. Ponekad imamo indirektni ciklus, ponekad ne. Stoga, smestimo nae uprav-ljake rei u memoriju, pri emu svaka re ima svoju jedinstvenu adresu. Sada dodajmopolje adrese svakoj upravljakoj rei, naznaavajui poloaj sledee upravljake rei koja e
biti izvrena ukoliko su ispunjeni odreeni uslovi (npr. indirektni bit u instrukciji pozivanjamemorije je 1). Takoe, dodajemo nekoliko bitova kojima uspostavljamo taj uslov.
Rezultat je poznat kao horizontalna mikroinstrukcija , iji je primer prikazan na slici20.1a. Format mikroinstrukcije ili upravljake rei je sledei. Postoji jedan bit za svakuupravljaku liniju unutar procesora i jedan bit za svaku upravljaku liniju sistemske magi-strale. Postoji polje uslova koje naznaava uslov pod kojim se vri grananje i postoji poljesa adresom mikroinstrukcije koja se vri ukoliko doe do grananja. Takva mikroinstrukcijainterpretira se na sledei nain:
1. Za izvravanje ove mikroinstrukcije, ukljui sve upravljake linije naznaenebitom 1; ostavi sve upravljake linije naznaene bitom 0. Dobijeni upravljakisignali dovee do toga da se izvre jedna ili vie mikrooperacija.
2. Ukoliko uslov koji navode uslovni bitovi nije taan, izvri sledeu mikroinstrukcijuu nizu.
3. Ukoliko je uslov koji navode uslovni bitovi taan, izvrava se sledea mikroin-strukcija navedena u polju adrese.
Na slici 20.2 prikazano je kako se ove upravljake rei ili mikroinstrukcije mogu pore-ati u upravljakoj memoriji . Mikroinstrukcije u svakoj rutini izvravaju se sekvencijalno.
Svaka rutina zavrava se grananjem ili instrukcijom skoka koja oznaava gde se ide poslenje. Postoji posebna rutina izvrnog ciklusa ija je jedina svrha da naznae da se posle togaizvrava neka od mainskih instrukcijskih rutina (AND, ADD i tako dalje), zavisno odaktuelnog operacionog koda.
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
255/431
20-4 POGLAVLJE 20 / MIKROPRAGRAMIRANJE
Adresa mikroinstrukcijeUslov skoka
Kodovi funkcije
(a) Horizontalna mikroinstrukcija
(b) Vertikalna mikroinstrukcija
Adresa mikroinstrukcijeUslov skoka bezuslovni nulti prekoraenje indirektni bit Upravljaki signali sistemske magiUpravljaki signali unutar proceso
Slika 20.1 Tipini formati mikroinstrukcija
Skok do indirektnog ili izvrnog ciklusa
Rutinaciklusadonoenja
Rutinaindirektnogciklusa
Rutinaciklusaprekida
AND rutina
ADD rutina
IOF rutina
Poetak izvrnog ciklusa
Skok do izvrnog ciklusa
Skok do ciklusa donoenja ili prekida
Skok do ciklusa donoenja ili prekida
Skok do ciklusa donoenja ili prekida
Skok do ciklusa donoenja
Skok do rutine operacionog koda
Slika 20.2 Organizacija upravljake memorije
-
7/24/2019 Organizacija i Arhitektura Raunara 9th William Stallings Prevod Sr
256/431
17.1 / ORIGIN 20-5
Upravljaka memorija sa slike 20.2 predstavlja skraeni opis potpunog nainarada upravljake jedinice. Njime se definie niz mikrooperacija koji se izvrava tokomsvakog ciklusa (donoenja, indirektnog, izvrnog, prekida) i utvruje redosled izvra- vanja tih ciklusa. Ako nita drugo, ovakvo obeleavanje moe biti korisno sredstvo zadokumentovanje funkcionisanja upravljake jedinice za odreeni raunar. Ali vie jeod toga. To je nain na koji se implementira upravljaka jedinica.
Mikroprogramirana upravljaka jedinicaUpravljaka jedinica na slici 20.2 sadri program koji opisuje ponaanje upravljake jedinice. Iz toga sledi da bismo mogli da implemetiramo upravljaku jedinicu jedno-stavnim izvravanjem tog programa.
Na slici 20.3 prikazani su kljuni elementi takve implementacije. Skup mikroin-strukcija uva se uupravljakoj memoriji . Upravljaki registar adresa sadri adresu sle-dee instrukcije koju treba proitati. Kada se mikroinstrukcija uita iz upravljakememorije, prenosi se u upravljaki bafer registar . Levi deo ovog registra (videti sliku20.1a) povezan je sa upravljakim linijama koje proistiu iz upravljake jedinice.Prema tome, uitavanje mikroinstrukcije iz upravljake jedinice je isto to iizvravanj