Pytanin przykładowe z "Architektury systemów komputerowych"
(marzec 2006)
Pytania mają charakter przykładowy i nic obejmują całego materiału wymaganego do kolokwium
A. Podstawowe zasady działania komputera
1. Omówić koncepcję programu w modelu komputera wg von Neumanna.
2. Wyjaśnić znaczenie terminu lista rozkazów procesora.
3. Na czym polega różnica między pamięcią fizyczną i pamięcią wirtualną w komputerze?
4. Jaką rolę w trakcie wykonywania programu przez procesor pełni wskaźnik instrukcji (licznik rozkazów)?
5. W jaki sposób zmienia się zawartość wskaźnika instrukcji w trakcie wykonywania różnych typów rozkazów.
6. Omówić funkcje dwóch dowolnych znaczników spośród zainstalowanych w rejestrze znaczników (rejestrze flag).
7. Omówić podstawowe elementy architektury koprocesora arytmetycznego.
n. Kodowanie danych i instrukcji
1. Omówić różne rodzaje kodowania liczb binarnych w komputerze.
2. Podać w przybliżeniu zakresy liczb, które mogą kodowane w postaci binarnej jako liczby bez znaku na 16 lub 32 bitach.
3. W jaki sposób w procesorze Pentium sygnalizowane jest wystąpienie nadmiaru w operacjach
dodawania, odejmowania? P-$ </ó{*
4. Przedstawić w postaci graficznej schemat konwersji liczb 32-bitowych zapisanych w pamięci wg reguły mniejsze niżej (ang. little endian) na postać mniejsze wyżej (ang. big endian).
o 5. Omówić technikę porównywania liczb stałoprzecinkowych stosowaną w procesorach Pentium.
6. Dlaczego obliczenia na liczbach stałoprzecinkowych są kłopotliwe jeśli działania wykonywane są na wartościach bardzo dużych i bardzo małych?
7. Co oznacza termin wartości specjalne używany w kontekście koprocesora arytmetycznego.
8. Omówić format 32-bitowych liczb zmiennoprzecinkowych (pole mantysy zawiera 23 bity, pole wykładnika zawiera 8 bitów-).
9. Omówić zasady wykonywania operacji arytmetycznych na stałoprzecinkowych liczbach wielokrotnej długości.
10. Dlaczego w formatach liczb zmiennoprzecinkowych zgodnych z normą 754 nic występuje bit znaku wykładnika. , ■ ,, . . .
a II. Jakie wady i zalety ma kodowanie znaków w systemie Unicode? 1 *'*2*4/6//*
HU - ** ({a
ffoyrt
'{'l6k uz 2^7 yliiUntirti )/u t
ifićlyłs ' /——------
CjjCł(iij ( •1//« (c/jr(^taU(‘i rtŁ.
k(<'e ó&Ue w* u*** U<lr y w^a/CiU C4,ry*c+ic&\ cUrufoye&t.
4F.Sf.Pf‘f f. F'CF t O
c t c I
C. Mechanizmy adresowania
1. Omówić podstawowe zusady modyfikacji adresowych. Wyjaśnić zasady adresowania pośredniego.
2.
3. Jaka wartość zostanie wprowadzona do rejestru DX |>o wykonaniu podanego niżej fragmentu
programu |
0& -? ji i | ||
dane3a linie dw |
SEGMENT 421. 422. 443. 442.(444/427, 432 |
00 -> 46ś:< OD -) 31 bii | |
połącz ASSUME |
SEGMENT es połącz, ds dane3a |
by -/ h/6,/ |
ił |
mov |
OSi. OFFSET linie ♦ 4 |
W -/ i |
iUcć |
mov mov |
ebx, 4 dx. jebx| [esi] |
t) T ~l ?Gb. '{ |
(te t,W |
ry/7
4*4-
m
ł). Programowanie w asem
(CfiiJ, >
bierze
1. Wyjaśnić na czym polega różnica między językiem maszynowym a językiem asemblera.
2. Omówić dyrektywy używane do definiowania danych na poziomic asemblera.
3. Co oznacza znak „7” podany zamiast wartości danej w kodzie asemblerowym?. t 4. Dlaczego rozkaz add (cdij. 3 jest traktowany przez asembler jako błędny?
Jak należy rozumieć termin licznik lokacji w kontekście programu asemblerowego?
Jakie działania wykonuje asembler w pierwszym i diugim przebiegu ascmblacji?
W jaki sposób asembler oblicza pola adresowe rozkazów sterujących (skokowych)?
Napisać rozkaz w asemblerze realizujący operację sumowania: AX *- AX + [0040026AH]
MA a>! >,JJ 1 W f
E. Operacje stosu i podprogramy
I. W jaki sposób interpretuje się zawartość rejestru wskaźnika stosu ESP w procesorze Pentium?
Co oznacza sformułowanie: "stos rośnie w kierunku malejących adresów"?
Omówić drogi i sposoby przekazywania parametrów do podprogramów.
Omówić zasady działania rozkazów CALL i RET.
W jakim celu rozkaz wywołania podprogramu pozostawia ślad na stosie?
Dlaczego wiele programów generowanych przez kompilatory języków wysokiego poziomu używa stosu do przechowywania wartości zmieiutych lokalnych?
7. Jaką rolę w trakcie odczytywania wartości parametrów przekazanych do podprogramu pełni pomocniczy wskaźnik stosu EBP?
8. Na czym polegają różnice standardów wywoływania podprogramów: Pascal, C i StdCail ? ,iV| t f
9. W jaki sposób w programie wywołuje się funkcje usługowe systemu operacyjnego? ’ c<iS(
10. Wyjaśnić znaczenie terminu interfejs programowania aplikacji.
II. Omówić podstaw owe zasady programowania mieszanego (hybrydowego).
PUO^cvS s><«*<<,
F. Lista' rozknzów pfoccsbra ‘ “ 1
-faC444« trf /JHrihtt,* ii*,-,
. Sltwu/yfrj (e / f j
1. Czym rozmą się rozkazy sterujące warunkowe od bezwarunkowych?
2. Scharakteryzować grupę rozkazów procesora określanych jako operacje bitowe. - ąw
3. Jak zmieni się zawartość rejestru EBX po wykonaniu rozkazu XOR EBX. 7
4. Omówić tccluńkę wyodrębniania zawartości pól bitowych.
5. Czym różnią się przesunięcia cykliczne od logicznych?
6. W jaki sposób kodowane są mnemoniki (skróty literowe) rozkazów wykonujących działania na liczbach zmiennoprzecinkowych.
nst'.
-T
- 'ó
- Ht
OK
*cą
H/C'
•ml
Wf
<r(
l
tią
tu
■a-c io*/+je