ako_teoria.doc

(162 KB) Pobierz
Opracowanie przykładowych pytań z „Organizacji Komputerów”

              lina_m@o2.pl                            17/06/03

 

Opracowanie przykładowych pytań z  „Organizacji Komputerów”

 

Odpowiedzi na wszystkie pytania są ze skryptu. Samą teorią ciężko jest zaliczyć (trzeba mieć max plus przynajmniej częściowo rozwiązane jedno z zadań). Właściwie wszystkie z tych pytań pojawiły na egzaminach w zeszłym roku (2002).

 

Tekst pisany w taki sposób => oznacza info dodatkowe nie znajdujące się w skrypcie

                                                        A na niebiesko komentarze

 

A. Podstawowe zasady działania komputera

 

1. Omówić podstawowe zasady wykonywania programu przez procesor.

 

              A – pobranie rozkazu

              B – dekodowanie rozkazu

              C – obliczanie adresu                                              

F – wyznaczenie położenia

                     efektywnego kolejnej instrukcji do wykonania

              D – obliczanie adresu

                     fizycznego

              E – wykonanie rozkazu                                         

 

A – rozkaz jest pobierany z pamięci podręcznej lub jeśli się tam nie znajduje to jest pobierany  z pamięci

      operacyjnej

B – rozkaz dekodowany jest na język zrozumiały dla procesora

C – obliczana jest odległość od adresu bazowego czyli offset (przesunięcie) który w tym przypadku jest

       równy (E)IP

D – obliczany jest adres fizyczny = zawartość rejestru segmentowego CS * 16 + (E)IP

E – wykonanie rozkazu

F – wyznaczane jest położenie kolejnej instrukcji do wykonania

              Jeżeli wykonana instrukcja była nie sterująca ( nie zmieniła kolejności wykonywania

              Rozkazów) to:

                            (E)IP = (E)IP + <liczba bajtów aktualnie wykonywanej instrukcji>

              Jeżeli wykonana instrukcja była warunkowa to (E)IP zmienia się w zależności od testowanego

warunku:

              Gdy spełniony to:

(E)IP = (E)IP + <liczba bajtów aktualnie wykonywanej instrukcji> + <zawartość pola adresowego instrukcji>

Gdy nie spełniony to:

                            (E)IP = (E)IP + <liczba bajtów aktualnie wykonywanej instrukcji>

 

              Jeżeli wykonywana instrukcja jest sterującą bezwarunkową to:

(E)IP = (E)IP + <liczba bajtów aktualnie wykonywanej instrukcji> + <zawartość pola adresowego instrukcji>

 

2. Porównaj własności różnych rodzajów pamięci stosowanych w komputerach

A. pamięć RAM

·          Po wyłączeniu zasilania informacje są tracone

·          Wyróżniamy dwa typy pamięci RAM:

o          Dynamiczne (DRAM)

-           Podstawowa komórka pamięci zawiera tranzystor i kondensator

-           Niska cena, niski pobór mocy, duży stopień scalenia

-           Stosowana jako pamięć operacyjna (główna) w komputerze

 

o          Statyczne (SRAM)

-           Podstawowa komórka pamięci zawiera przerzutnik

-           Drogie, duży pobór mocy, mniejszy stopień scalenia niż DRAM

-           Stosowana jako pamięć podręczna cache w komputerze

B. pamięci stałe ROM

·          Po wyłączeniu napięcia informacje nie są tracone

·          Typy pamięci ROM:

o          ROM – zawartość pamięci u ustalana podczas produkcji nie można jej zmienić

o          PROM – jednokrotnie programowalna przez użytkownika poprzez przepalanie ścieżek

   wewnątrz matrycy

o          EPROM – pamięć wielokrotnie programowalna, kasowanie przez naświetlanie

ultrafioletem

o          EEPROM – pamięć programowalna i kasowana na drodze elektrycznej pozwala to na

                                                  Np. wprowadzenie nowej wersji BIOS

o          FLASH – odmiana EEPROM. Pamięć błyskowa. Może zastępować pamięć masową

                w komputerach przenośnych, aparatach cyfrowych, telefonach komórkowych.

o          NVRAM – połączenie SRAM z EEPROM

3. Omówić podstawowe tryby pracy procesora Pentium

A. tryb rzeczywisty

·          Podstawowy tryb każdego komputera. (naśladuje i w pewnym stopniu rozszerza funkcje procesora 8086/88)

·          Tryb 8 lub 16 – bitowy, adresy są 20 – bitowe

·          Współpracuje z pamięcią operacyjną zawierającą 220 bajtów (pozwala na adresowanie obszaru 1 MB )

·          Adres fizyczny obliczany według wzoru :

adres fizyczny = zawartość rejestru segmentowego * 16 + offset

·          Może wykonywać operacje 32 – bitowe

·          Nie występują mechanizmy ochrony

·          Wykonywany program ma dostęp do wszystkich instrukcji procesora

·          Charakterystyczny dla środowiska DOS

B. tryb chroniony (tryb wirtualny)

·          Tryb 32 – bitowy wprowadzony w procesorze 286, a w postaci rozwiniętej w 386. dalsze rozszerzenia wprowadzono w 486 i Pentium.

·          Rozmiar fizycznej przestrzeni adresowej wynosi 4 GB (w nowszych typach procesorów Pentium (Pro i następne) liczba linii adresowych zwiększona do 36 co oznacza, że rozmiar fizycznej przestrzeni adresowej wynosi 64 GB)

·          Bardziej skomplikowana metoda wyznaczania adresu fizycznego (obejmuje mechanizm stronicowania i segmentacji. Adres zostaje przekształcony przez specjalne tablice segmentów (GDT) na adres liniowy a ten z kolei przez mechanizm stronicowania na adres fizyczny)

·          Ma podtryb udający tryb rzeczywisty (V86)

·          Dostępne mechanizmy wielozadaniowości, stosowane są mechanizmy ochrony i odmienne sposoby adresowania niż w rzeczywistym.

·          Programy mają różne poziomy uprzywilejowania i w zależności od tego parametru mają dostęp do większej lub mniejszej ilości rozkazów procesora (system operacyjny jest najbardziej uprzywilejowany)

·          Charakterystyczny dla systemu Windows

C. tryb wirtualny V86

·          Specjalny rodzaj trybu chronionego wprowadzony w 386 i rozwinięty w Pentium

·          Powstał by uniknąć kłopotliwego przełączania trybów, które mogło stworzyć zagrożenie dla spójności systemu (opartego na trybie chronionym). [ btw trzeba by było za każdym razem przeprogramować sterownik przerwań ]

·          W trybie V86 procesor zachowuje się, z punktu wykonywanego programu, prawie dokładnie tak samo jak w trybie rzeczywistym

·          może wykonywać operacje 32-bitowe

·          kilka programów wywoływanych w trybie V86 ma tą samą przestrzeń adresową [ mechanizm stronicowania odwzorowuje ją w różne obszary pamięci fizycznej ]

·          służy do uruchamiania programów dosowych w środowisku Windows

4. W jaki sposób zmienia się zawartość wskaźnika instrukcji (E)IP procesora Pentium w trakcie wykonywania różnych typów rozkazów?

rozkazy nie sterujące – nie naruszają kolejności wykonywanych rozkazów. Po wykonaniu takiego rozkazu następnym wykonywanym będzie rozkaz bezpośrednio przylegający do niego w pamięci

(E)IP jest wyznaczane na podstawie wzoru:

(E)IP = (E)IP + <liczba bajtów aktualnie wykonywanej instrukcji>

rozkazy sterujące warunkowe – sprawdzają czy wynik ma oczekiwane własności  (czy spełnia zadany warunek) w zależności od tego wyznaczana jest wartość (E)IP:

 

1. Gdy spełniony to:

(E)IP = (E)IP + <liczba bajtów aktualnie wykonywanej instrukcji> + <zawartość pola adresowego instrukcji>

2. Gdy nie spełniony to:

                            (E)IP = (E)IP + <liczba bajtów aktualnie wykonywanej instrukcji>

rozkazy sterujące bezwarunkowe - naruszają kolejność wykonywania rozkazów. Przekazują sterowanie w inne miejsce programu. (E)IP wynosi wtedy:

(E)IP = (E)IP + <liczba bajtów aktualnie wykonywanej instrukcji> + <zawartość pola adresowego instrukcji>

5. Scharakteryzować grupę instrukcji procesora określanych jako operacje bitowe.

Rozkazy operacji bitowych można podzielić na następujące grupy:

·          operacje boolowskie

·          testowanie i modyfikacja bitów

·          przeszukiwania bitów

·          rotacji i przesunięć

·          warunkowego zapisu jedynki do bajtu

AND – za pomocą tej instrukcji i odpowiedniej „maski” można wyodrębniać poszczególne bity

TEST – właściwie jest odmianą AND z tą różnicą że nigdzie nie zapisuje wyniku operacji and

tylko ustawia znaczniki w zależności od otrzymanego wyniku

XOR – przydatna gdy chcemy zanegować w liczbie binarnej tylko określone bity

OR – do ustawiania określonych bitów

NOT – zamienia wszystkie bity w liczbie na przeciwne

Te instrukcje ustawiają znaczniki ZF, SF, PF (CF i OF są zerowane)

BT, BTS, BTR, BTC – są operacjami na pojedynczych bitach

SHR (dla l. Ze znakiem SAR) – przesuwa bity w prawo. Najstarszy bit ustawiany na 0. za jej pomocą możemy realizować dzielenie przez wielokrotność 2

SHL (dla l. Ze znakiem SAL) – przesuwa bity w lewo. Najmłodszy bit ustawiany na 0. za jej pomocą możemy realizować mnożenie przez wielokrotność 2.

ROR – przesuwa wszystkie bity w prawo o określoną liczbę pozycji. Najmłodszy bit kopiowany do CF

ROL – przesuwa wszystkie bity w lewo o określoną liczbę pozycji. Najstarszy bit kopiowany do CF

RCL, RCR, SHRD, SHLD

B. Kodowanie danych i instrukcji

1. Omówić rożne rodzaje kodowania liczb binarnych w komputerze.

Kodowanie liczb całkowitych bez znaku :

              - zwyczajny system binarny

Kodowanie liczb całkowitych ze znakiem :

-     system znak-moduł

-     system U2

Kodowanie w systemie BCD:

-     upakowany

-     nieupakowany

kodowanie liczb zmiennoprzecinkowych:

-     postać mantysa wykładnik

2. w jaki sposób w procesorze Pentium sygnalizowane jest wystąpienie nadmiaru w operacjach dodawania, odejmowania, mnożenia i dzielenia na liczbach stałoprzecinkowych?

Dodawanie – ustawiane są znaczniki OF (liczby ze znakiem) lub CF (liczby bez znaku)

Odejmowanie – ustawiane są znaczniki OF (liczby ze znakiem) lub CF (liczby bez znaku)

Mnożenie – wynik mnożenia jest zawsze podwójnej długości więc rozkazy mnożenia nie powodują nadmiaru.

Dzielenie – nadmiar przy dzieleniu generuje wyjątek procesora zwany nadmiarem co zazwyczaj powoduje natychmiastowe zakończenie działania programu

3. Na czym polegają róznice w sposobie przechowywania liczb w pamięci znane jako mniejsze niżej i mniejsze wyżej?

Mniejsze niżej – młodsza część liczby zapisywana jest pod niższym adresem niż starsza

Mniejsze wyżej – młodsza część liczby zapisywana jest pod wyższym adresem niż starsza

4.Omówić technikę porównywania liczb stałoprzecinkowych stosowaną w procesorach Pentium.

CMP – instrukcja porównująca ustawia znaczniki ZF i CF ale nigdzie nie zapisuje wyniku operacji (odejmowanie)

Za pomocą instrukcji odejmowania ustawia znaczniki ZF i CF i zapisuje wynik operacji.

Jeżeli ZF=1 i CF=0 to są  np. bx=cx

Jeżeli ZF=0 i CF=0 to są        bx>cx

Jeżeli ZF=0 i CF=1 to są        bx<cx

Dla liczb ze znakiem sprawdza się zawartość znaczników ZF, OF, SF

Dla liczb bez znaku ZF, CF

Za pomocą instrukcji bitowych. Te instrukcje ustawiają znaczniki ZF, SF, PF (CF i OF są zerowane).

5.Wyznaczyć wartość dziesiętną 32-bitowej liczby zmiennoprzecinkowej:

0100 0000 1111 1000 0000 0000 0000 0000

0 | 100 0000 1 | 111 1000 0000 0000 0000 0000

bit znaku => 0 (nr 31) – więc liczba jest dodatnia

8-bitowy wykładnik => 1000 0001 => 129 ->

23-bitowa mantysa => 1111 0000 0000 0000 0000 000 => część ułamkowa liczby =>15

z warunku normalizacji wynika że 1£ liczba*2 –k < 2

1.15*2 129-127 = 1.15*22 = 1.15*4 = 4,6

6. Co oznacza termin wartości specjalne w kontekście koprocesora arytmetycznego

·          Są to liczby generowane w wyniku błędu.

·          Są to liczby, które nie mogą być przedstawione w zwykły sposób.

·          W koprocesorze matematycznym przyjęto że wszystkie liczby , których pole wykładnika zawiera same zera lub same jedynki traktowane są jako wartości specjalne.

·          Wartości specjalne mogą być argumentami obliczeń jak zwykłe liczby.

7. Jakie rodzaje zaokrąglenia stosuje się w koprocesorze arytmetycznym?

RC – rodzaj zaokrąglenia

W kierunku liczby najbliższej (RC = 00) – jako zaokrąglenie przyjmowana jest wartość najbliższa nieskończenie dokładnemu wynikowi

W kierunku zera (RC = 11) – polega na obcięciu (zignorowaniu) dodatkowych bitów

W górę (RC = 10) i w dół (RC = 01) – używane w metodzie obliczeń jako arytmetyk przedziałów. Metoda ta polega na dwukrotnym wykonywaniu każdego obliczenia. Za jednym razem z zaokrągleniem w górę a za drugim w dół. W rezultacie otrzymujemy górną i dolną granicę odpowiedzi.

8. Wyjaśnić na czym polega technika niedomiaru stopniowanego, stosowana w koprocesorze arytmetycznym.

Technika polega na tym, że liczby zbyt małe, by przedstawić je w odpowiednim formacie są traktowane jako wartości specjalne. Wartości te są kodowane poprzez liczby, których pole wykładnika zawiera same zera. W odniesieniu do takich liczb przyjęto następujące założenia:

·          wykładnik zawierający same zera traktowany jest wtedy jakby zawierał liczbę 000...001

·          w rozpatrywanym przypadku najbardziej znaczący (niejawny) bit mantysy zawiera 0

Poprzez zmniejszenie dokładności mantysy można rozszerzyć wykładnik w kierunku bardziej ujemnych wartości.

Liczby zmiennoprzecinkowe z wykładnikiem zawierającym same 0 i mantysą różną od zera nazywane są liczbami zdenormalizowanymi.

9. Omówić zasady wykonywania operacji na liczbach wielokrotnej długości.

Dodawanie – realizowane przy użyciu instrukcji ADD lub ADC. ADD dodaje do siebie dwa argumenty, a wynik umieszcza w pierwszym z nich. Jeżeli wynik operacji nie mieści się w argumencie docelowym

ustawiony zostaje znacznik przeniesienia CF. ADC służy do dodawania liczb wielobajtowych. Pozwala w trakcie dodawania uwzględnić przeniesienie powstałe w przypadku dodawania młodszych bajtów.

Instrukcji ADD i ADC ustawiają znaczniki:

·          nadmiaru OF (nadmiar przy dodawaniu)

·          znaku SF – zgodnie ze znakiem wyniku

·          zera ZF jeżeli wynik operacji = 0

·          parzystości PF gdy w wyniku jest parzysta liczba jedynek

·          przeniesienia CF gdy ustawiany był najmłodszy bit argumentu

·          przeniesienia pomocniczego AF (gdy prz...

Zgłoś jeśli naruszono regulamin