kolo nasze questions skrypt AKO wyklad 11 = zaliczenie egzaminu

Xeo DarkSide kontra Dziadzio ;)

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

Program przechowywany jest w pamięci ściśle współdziałającej z procesorem (model von

Neumanna), a jego wykonywanie polega na przekazywaniu kolejnych ciągów zero-jedynkowych do

układu sterowania procesora, który to wytwarza odpowiednie sygnały i kieruje je do odpowiednich

podzespołów w celu wykonania wymaganej operacji.

Cykl rozkazowy:

- pobranie rozkazu wskazywanego przez rejestr EIP (IP w trybie 16-bitowym)

- dekodowanie rozkazu

- obliczanie adresu efektywnego argumentu

- pobranie argumentu z pamięci

- wykonanie rozkazu

- zapisanie wyniku do pamięci

- wyznaczenie położenia następnego rozkazu

2.W jaki sposób zmienia się zawartość wskaźnika instrukcji EIP w procesorach klasy IA-32 w trakcie wykonywania różnych

typów rozkazów.

Rozkazy sterujące - zmieniają rejestr EIP w standardowy sposób, lub też dodają lub odejmują konkretną liczbę, aby

'przeskoczyć' do odpowiedniego rozkazu. JeŜeli warunek testujący jest spełniony to EIP+= (liczba bajtów wykonywanego

rozkazu + zawartość pola adresowego instrukcji),

jeŜeli warunek nie został spełniony to EIP zmienia się w tradycyjny sposób.

Rozkazy niesterujące - rejestr EIP zwiększa się o liczbę bajtów aktualnie wykonywanego rozkazu (w trakcie jego

wykonywania).

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

Operacja bitowa- wykonanie operacji na konkretnych bitach operandów nie wpływa na pozostałe bity.

a) Bitowe operacje logiczne:

Operacje dwuargumentowe:

AND - bitowy iloczyn logiczny (wynik 1, gdy oba bity są równe 1)

OR - bitowa suma logiczna (wynik 1, gdy jeden z bitów jest równy 1)

XOR- bitowa suma modulo dwa (wynik 1, gdy oba bity są róŜne)

PowyŜsze operacje zerują znaczniki CF oraz OF i ustawiają ZF, SF, PF.

Operacje jednoargumentowe:

NOT - bitowa negacja (negowanie wszystkich bitów, nie zmienia znaczników)

Inne:

TEST - wyznacza iloczyn logiczny operatorów, ustawia znaczniki, lecz nie zapisuje wyniku

Przydatne rozkazy:

BT (bit test)- przesyła wskazany bit do CF

BTS (bit test and set) - przesyła wskazany bit do CF a następnie ustawia go na 1.

BTR(bit test and reset) - przesłanie wskazanego bitu do CF a następnie ustawienie go na 0

BTC(bit test and complement) - przesłanie zawartości bitu do CF a następnie jego zanegowanie

Pierwszy operand - słowo lub podwójne słowo zawierający modyfikowany bit

Drugi operand - zawiera numer bitu, który ma być zmodyfikowany.

b) Przesunięcia bitowe

Przesunięcie logiczne - przesunięcie bitów na sąsiednie pozycje, bity wychodzące są tracone

(wpisywane do znacznika CF).

SHL - przesunięcie logiczne (arytmetyczne) w lewo.

SHR - przesunięcie logiczne (arytmetyczne) w prawo.

Przesunięcie arytmetyczne - podobne do logicznych, zawartość rejestru jako liczba ze znakiem

SAL - przesunięcie arytmetyczne w lewo; ustawia znacznik OF, uŜywany do mnoŜenia przez potęgę

dwójki.

SAR - przesunięcie arytmetyczne w prawo; bit znaku jest powielany, bity wychodzące wpisywane są do CF, uŜywany

do dzielenia przez potęgi dwójki

Przesunięcie cykliczne (obrót) – jw., z tym, Ŝe bity wychodzące są wprowadzane z drugiej strony

ROL - przesunięcie cykliczne w lewo.

ROR - przesunięcie cykliczne w prawo.

RCL - przesunięcie cykliczne w lewo z wykorzystaniem CF (wychodząca wartość najpierw jest

wpisywana do CF a następnie zwracana po drugiej stronie)

RCR - przesunięcie cykliczne w prawo z wykorzystaniem CF (jw.)

4. Omówić róż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

5. 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

6. 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)

7. Dlaczego procesor w trakcie wykonywania rozkazu dodawania ADD ustawia jednocześnie dwa znaczniki nadmiaru CF i

OF?

Jeżeli wynik operacji nie mieści się w argumencie docelowym ustawiony zostaje znacznik przeniesienia CF. Przy przekroczeniu

zakresu ustawia się także znacznik nadmiaru OF.

8. W jakich przypadkach (w architekturze Intel 32) zamiast rozkazów mnożenia i dzielenia można zastosować rozkazy SAL i

SAR?

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.

9. W jakiej sytuacji w trakcie wykonywania rozkazu sterującego (skoku), procesor ignoruje zawartość pola adresowego tego

rozkazu?

Gdy warunek skoku nie jest spełniony.

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

0100 0000 1111 1000 0000 0000 0000 0000

Bit znaku = 0

Wykładnik = 100 0000 1 = 129

Mantysa = 111 1000 0000 0000 0000 0000 = .5 + .25 + .125 + .0625 = .9375

Uwzględniając przesunięcie wykładnika o 127 i niejawną jedynkę w mantysie, daje to 1.9375 * 2^2 = 7.75

11. Czym różnią się instrukcje koprocesora arytmetycznego FLD, FST?

FLD – ładowanie na wierzchołek stosu koprocesora liczby zmiennoprzecinkowej pobranej z lokacji pamięci lub ze stosu

koprocesora.

FST – przesyłanie zawartości wierzchołka stosu do lokacji pamięci lub do innego rejestru stosu koprocesora.

12.

13.

14. jaki sposób instrukcje PUSH i POP wpływają na stan wskaźnika stosu (E)SP?

Instrukcja PUSH powoduje zmniejszenie wartości (E)SP o 4 (ZAWSZE, niezależnie czy dane są 16 czy 32bit).

Instrukcja POP zwiększa wartość (E)SP o 4(ZAWSZE, niezależnie czy dane są 16 czy 32bit).

15. W jaki sposób można usunąć ze stosu trzy liczby 32-bitowe nie używając instrukcji POP?

Przesuwając wskaźnik stosu w górę o 3*4:

add esp, 12

16. Omówić specyfikę i zastosowanie instrukcji grup SSE. SSE – zestaw instrukcji wykonujących działania na liczbach zmiennoprzecinkowych.

 Równoległe operacje na czterech 32 – bitowych liczbach zmiennoprzecinkowych

 Przeznaczone głównie do zastosowań grafiki komputerowej

 Realizują koncepcję SIMD

 Dla SSE zdefiniowano 8 rejestrów 128 – bitowych i zawierających 4 liczby zmiennoprzecinkowe

 Instrukcje mogą wykonywać działania na danych upakowanych (4 liczby) lub skalarnych (zestaw danych zawiera jedną

liczbę na najmniej znaczących bitach)

17. Omówić podstawowe koncepcje komunikacji komputera z urządzeniami zewnętrznymi.

Komunikacją komputera z urządzeniami zewnętrznymi zajmują się specjalne układy pośredniczące, które dopasowują

standardy sygnałowe procesora i płyty głównej do specyficznych wymagań poszczególnych urządzeń. Od strony procesora

komunikacja odbywa się poprzez zapis/odczyt rejestrów zainstalowanych na układach wejścia/wyjścia (zwanych czasem

sterownikami lub kontrolerami). Układy te znajdują się na kartach rozszerzeń lub na płycie głównej. Stosowane są dwie metody

dostępu do tych rejestrów:

-współadresowalne układy we/wy – rejestry udostępniane są jako zwykłe komórki pamięci w przestrzeni adresowej pamięci, np.

komunikacja z pamięcią ekranu

-izolowane we/wy – rejestry urządzenia dostępne są w odrębnej przestrzeni adresowej zwanej przestrzenią adresową we/wy lub

przestrzenią portów; do przesyłania danych z i do takich układów służą rozkazy IN i OUT

Zlecenie, by urządzenie wykonało pewną operację wymaga zazwyczaj podjęcia wielu działań, kolejno sprawdzenia stanu

urządzenia, wysłanie poleceń do urządzenia, zgromadzenie danych w buforze, przesłanie danych, sprawdzenie wykonania

danych metodą przeglądania (odpytywania) lub oczekiwanie na przerwanie.

18.

19. Jaką rolę w komunikacji z urządzeniami zewnętrznymi pełni obszar współadresowalny pamięci.

Jest to jedna z metod dostępu do zawartości rejestrów układów wejścia/wyjścia (sterowników, kontrolerów). Rejestry urządzenia

są udostępniane jako zwykłe komórki pamięci w przestrzeni adresowej pamięci. Stosując tą metodę można odczytywać i

zapisywać rejestry urządzenia tak samo jak zwykłe komórki pamięci np. za pomocą rozkazu MOV. W taki sposób działa np.

pamięć ekranu w trybie tekstowym.

20. Dlaczego metoda przeglądania (odpytywania) stosowana jest głównie w systemach, w któ®ych występuje niewielkie

obciążenie procesora?

Ponieważ jest to metoda niezbyt efektywna;

21. Omówić sposób odwzorowania zawartości pamięci ekranu (w trybie tekstowym) na postać tekstu wyświetlanego na

ekranie.

Znaki wyświetlane na ekranie w trybie tekstowym są odwzorowaniem obszaru pamięci od adresu fizycznego B800H. Każdy

znak wyświetlany na ekranie opisany jest przez 2 bajty: bajt parzysty zawiera kod ASCII znaku, a nieparzysty atrybut, czyli

sposób wyświetlania (kolor tła, kolor litery, miganie). Pamięć ekranu składa się z 4000 bajtów (80 kolumn x 25 linii, każdy znak

zajmuje 2 bajty).

22. Jakie czynności podejmuje procesor po nadejściu sygnału przerwania?

W procesorach Pentium po wystąpieniu przerwania sprzętowego, bezpośrednio przed uruchomieniem programu obsługi

przerwania na stosie zapisywany jest ślad, który umożliwia powrót do przerwanego programu.

Program obsługi przerwania kończy instrukcja IRET, która powoduje wznowienie wykonywania przerwanego programu poprzez

odtworzenie rejestrów (E)IP, CS, i (E)FLAGS, na podstawie śladu zapamiętanego na stosie.

23. Porównać charakterystyczne elementy architektury RISC i CISC.

CISC

 lista rozkazów zawiera 100 – 250 pozycji, wśród których są rozkazy realizujące złożone funkcje

 dostępna jest duża liczba trybów adresowania

 czas wykonania rozkazów zmienia się w dość dużych granicach (w zależności od skomplikowania)

 realizacja rozkazów oparta jest na technice mikroprogramowania

RISC

 niewiele trybów adresowania

 formaty rozkazów są stałej długości (łatwe do zdekodowania)

 dostęp do pamięci tylko przy użyciu rozkazów load i store

 duży zbiór rejestrów ogólnego przeznaczenia

 rozkazy wykonują operacje na argumentach zapisanych w rejestrach

 sterowanie wykonywaniem rozkazów realizowane jest układowo

 intensywne wykorzystanie przetwarzania potokowego

24.

25. W jaki sposób zasada lokalności wiąże się z pamięcią podręczną?

Obserwacje statystyczne wielu programów wskazują, że w jednostce czasu (np. w ciągu 1 ms) program odwołuje się tylko do

stosunkowo niewielkiej liczby komórek pamięci, zawierających rozkazy i dane; wobec tego najczęściej używane dane i rozkazy

można umieścić w niezbyt dużej, ale bardzo szybkiej pamięci statycznej, z której procesor może odczytywać (i zapisywać)

informacje bez nadmiernie długiego oczekiwania. Wynika z tego, że pobierając dane do pamięci podręcznej, warto pobierać od

razu całe bloki pamięci, gdyż istnieje znaczne prawdopodobieństwo wykorzystania także sąsiednich komórek. Pozwala to na

zredukowanie konieczności wymiany informacji między procesorem a pamięcią główną, co z kolei wiąże się ze zwiększeniem

wydajności systemu.

26. Omówić przyczyny utrudniające realizację przetwarzania potokowego w procesorach.

 potrzeba równoczesnego dostępu do tego samego obszaru pamięci przez różne podzespoły, powodująca zamrożenie

potoku do czasu rozwiązania konfliku, co prowadzi do zwiększenia liczby cykli potrzebnych do realizacji rozkazu,

 zależności danych powodujące konieczność oczekiwania rozkazów na zakończenie działania rozkazu poprzedniego;

w znacznej mierze mogą być wyeliminowane przez odpowiednie szeregowanie rozkazów:

o odczyt po zapisie – odczyt danych może być zrealizowany dopiero w momencie zakończenia operacji

zapisu danego rejestru

o zapis po odczycie – zapis danych może być zrealizowany dopiero w momencie zakończenia czytania

rejestru

o zapis po zapisie – operacje zapisu muszą zostać wykonane w odpowiedniej kolejności

 rozkazy skoków warunkowych mogą zmienić kolejność wykonywania instrukcji, unieważniając rozkazy, które zostały

już pobrane i rozpoczęło się ich przetwarzanie, a potok musi być zapełniony nowym strumieniem rozkazów. W celu

uniknięcia takich sytuacji, wprowadza się predykcję skoków (patrz H10), dodatkowe bufory potoków lub

programowanie bez użycia skoków.

 przerwania i wyjątki przerywają wykonanie programu, zmuszając procesor do wyczyszczenia potoku na takiej samej

zasadzie jak skoki warunkowe.


Wyszukiwarka

Podobne podstrony:
AKO Wyklad 12 11 11 id 53978 Nieznany (2)
WTS II Skrypt z wykładów 11
AKO Wykład 12 11 11
wyklad 11
WYKŁAD 11 SPS 2 regulatory 0
wyklad 11 toksyczno niemetali
BUD OG wykład 11 3 Geosyntetyki
Psychometria 2009, Wykład 11, Inwentarz MMPI
BUD OG wykład 11 1 Tworzywa sztuczne
Wyklad 11 2010
Wyklad 2 11
F II wyklad 11 30 04 12
chem wykład 11
Chemia fizyczna wykład 11
6 Miedzynarodowy transfer wyklad 11 04 2012 id 43355

więcej podobnych podstron