Pytania i zadania przykładowe z "Architektury systemów komputerowych"
Część I
(kwiecień 2004)
Pytania mają charakter przykładowy i nie obejmują całego materiału wymaganego do kolokwium
A. Podstawowe zasady działania komputera
Omówić podstawowe zasady wykonywania programu przez procesor.
Omówić podstawowe tryby pracy procesora Pentium.
W jaki sposób zmienia się zawartość wskaźnika instrukcji (E)IP procesora Pentium w trakcie wykonywania różnych typów rozkazów.
Scharakteryzować grupę instrukcji procesora określanych jako operacje bitowe.
Na czym polega koncepcja programu przechowywanego w pamięci w modelu von Neummana?
Jaką rolę w trakcie wykonywania programu pełnią rejestry systemowe CS, DS, SS?
B. Kodowanie danych i instrukcji
Omówić różne rodzaje kodowania liczb binarnych w komputerze.
W jaki sposób w procesorze Pentium sygnalizowane jest wystąpienie nadmiaru w operacjach dodawania, odejmowania, mnożenia i dzielenia na liczbach stałoprzecinkowych?
Na czym polegają różnice w sposobie przechowywania liczb w pamięci znane jako mniejsze niżej i mniejsze wyżej?
Omówić technikę porównywania liczb stałoprzecinkowych stosowaną w procesorach Pentium.
Co oznacza termin wartości specjalne używany w kontekście koprocesora arytmetycznego.
Omówić zasady wykonywania operacji arytmetycznych na liczbach wielokrotnej długości.
W jakim celu kod instrukcji poprzedza się przedrostkiem chwilowej zmiany segmentu?
W jaki sposób deklaruje się etykiety i zmienne rozkazu w programie asemblerowym?
C. Mechanizmy adresowania
W jaki sposób procesory Pentium obliczają adres efektywny i fizyczny instrukcji (w trybie rzeczywistym)?
Jakie zalety ma architektura segmentowa procesora?
Omówić podstawowe koncepcje modyfikacji adresowych.
Porównać wyznaczanie adresu efektywnego za pomocą instrukcji LEA i operatora OFFSET.
W jakim celu stosowany jest współczynnik skali w modyfikacjach adresowych?
Jaka wartość zostanie wprowadzona do rejestru DX po wykonaniu podanego niżej fragmentu programu
d2 SEGMENT
linie dw 421, 422, 443, 442, 444, 427, 432
— — — — — — — — — —
polacz SEGMENT
ASSUME cs: polacz, ds: d2
— — — — — — — — — —
mov si, OFFSET linie + 2
mov bx, 4
mov dx, [bx] [si]
7. Co to jest Globalna Tablica Deskryptorów ?
D. Programowanie w asemblerze
1. Omówić trzy podstawowe formaty wierszy źródłowych w asemblerze.
2. Jaką rolę pełnią dyrektywy w programie asemblerowym.
3. Jak należy rozumieć termin licznik lokacji w kontekście programu asemblerowego?
4. Porównać standardy: Pascal, StdCall i Standard C.
E. Operacje stosu i podprogramy
Jaką rolę w operacjach wykonywanych na stosie pełnią rejestry SS i (E)SP?
W jaki sposób rozkazy PUSH i POP wpływają na stan wskaźnika stosu (E)SP?
Jakie konwencje przekazywania parametrów stosują podprogramy systemowe BIOSu i DOSu?
Omówić zasady działania rozkazu CALL
Dlaczego wiele programów generowanych przez kompilatory języków wysokiego poziomu używa stosu do przechowywania wartości zmiennych?
F. Lista instrukcji procesora
Omówić bitowe operacje logiczne wykonywane przez instrukcje procesora.
Jak zmieni się zawartość rejestru EBX po wykonaniu rozkazu XOR EBX, 3
Napisać krótki fragment programu, którego wykonanie spowoduje wygenerowanie przez procesor wyjątku „nadmiar przy dzieleniu”.
G. Sterowanie pracą urządzeń zewnętrznych
Omówić podstawowe koncepcje komunikacji komputera z urządzeniami zewnętrznymi.
Omówić podstawowe elementy systemu przerwań stosowanego w komputerach PC.
Wyjaśnić co oznacza termin "przestrzeń adresowa portów".
Wyjaśnić co oznacza termin priorytet przerwania.
Jaką rolę w komunikacji z urządzeniami zewnętrznymi pełni obszar współadresowalny pamięci.
W jakich okolicznościach używa się przerwań niemaskowalnych?
Podać podstawowe zasady tworzenia procedur obsługi przerwań sprzętowych.
Podać zasady wyświetlania znaków w trybie tekstowym poprzez bezpośredni zapis do pamięci ekranu.
8
1