Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz] Procesor ma architekturę rejestr-pamięć. Wskaż rozkazy spoza listy tego procesora. bgt offset or [Rx], Ry add Rx, [Ry], Rz load A, [Rx, Rz] Aktualizacja linii bufora pamięci podręcznej o organizacji wielodrożnej (blokowoskojarzeniowej) następuje w trybie allocate on write. Chybienie podczas zapisu: wywołuje efekt migotania wymusza wymianę linii powoduje zapis linii do bufora zapisu jest skutkiem błędnej prognozy skoku powoduje przestój potoku powoduje zmianę markowania linii Aktualizacja linii bufora pamięci podręcznej o organizacji wielodrożnej (blokowoskojarzeniowej) następuje w trybie allocate on write. Jeżeli wszystkie linie są wypełnione, to chybienie podczas zapisu: wymusza wymianę linii jest skutkiem błędnej prognozy skoku powoduje unieważnienie bufora powoduje zapis argumentu do pamięci głównej (RAM) Aktualizacja linii bufora pamięci podręcznej o organizacji blokowo-skojarzeniowej (wielodrożnej) następuje w trybie no allocate on write. Chybienie podczas odczytu: zawsze wymusza wypełnienie linii powoduje unieważnienie linii powoduje przestój potoku powoduje zmianę markowania linii Aktualizacja linii bufora pamięci podręcznej o organizacji asocjacyjnej następuje w trybie "no allocate on write". Chybienie podczas odczytu po uprzednim unieważnieniu całego bufora: Powoduje unieważnienie linii chybionej Powoduje zmianę markowania przypadkowej linii Wymusza wypełnienie linii, jeśli nie jest to zakazane Powoduje przestój potoku
Sterownik bufora pamięci podręcznej o organizacji blokowo-skojarzeniowej (wielodrożnej) działa w trybie allocate on write". Jeśli wszystkie linie są wypełnione, to wymiana linii następuje wskutek: Chybienia podczas zapisu Błędnej prognozy skoku Wywołania procedury jak wyżej. Trafienia podczas odczytu Sterownik bufora pamięci podręcznej o organizacji asocjacyjnej działa w trybie no allocate on write". Jeśli niektóre linie są unieważnione, to skutkiem chybienia podczas odczytu jest: Unieważnienie linii chybionej Wypełnienie jednej z unieważnionych linii Usunięcie jednej spośród unieważnionych linii Przestój potoku Linie bufora pamięci podręcznej z odwzorowaniem bezpośrednim są aktualizowane w trybie allocate on write", a bufor jest całkowicie wypełniony. Chybienie podczas zapisu: Wymusza wymianę linii Powoduje unieważnienie linii docelowej Powoduje blokadę bufora zapisu Powoduje przestój potoku Linie bufora pamięci podręcznej z odwzorowaniem bezpośrednim są aktualizowane w trybie no allocate on write. Wymiana linii jest skutkiem: chybienia podczas zapisu zapełnienia bufora zapisu chybienia podczas odczytu pobrania antycypowanego błędnej prognozy skoku Statyczna prognoza rozgałęzień (skoków): musi by wykonana w fazie pobierania kodu jest oparta na przesłankach statystycznych jest weryfikowana podczas dekodowania jest skuteczna dla skoku bezwarunkowego jest skuteczna dla rozkazu skoku pośredniego jest skuteczna średnio dla 90% skoków w przód jest nieskuteczna dla skoku warunkowego Dynamiczna prognoza rozgałęzień (skoków): jest weryfikowana w etapie wykonania jest oparta na historii skoku musi poprzedzać dekodowanie rozkazu jest skuteczna dla rozkazu powrotu (RET) jest nieskuteczna dla rozkazu skoku w przód jest weryfikowana podczas dekodowania może być połączona z prognozą statyczną Bufor prognozy skoków BTB jest aktualizowany: po wykonaniu każdego skoku warunkowego podczas prognozy wykonania podczas wykonania rozkazu skoku
przed wykonaniem rozkazu skoku podczas dekodowania rozkazu skoku zgodnie z regułą 90/50 Linia bufora BTB zawiera następujące informacje: adres rozkazu skoku adres względny skoku bity używalności tej linii kod rozkazu skoku bit kierunku skoku (w przód/ w tył) kod prognozy skoku adres docelowy skoku bit obecności kodu skoku w pamięci bity historii skoku bit prognozy statycznej Skutkiem trafienia w buforze prognozy skoków BTB jest: wykonanie rozkazu skoku aktualizacja linii bufora obliczenie adresu docelowego skoku ustalenie warunku zmiana bitu kierunku skoku (w przód/w tył) Skutkiem chybienia w buforze prognozy skoku (BTB) jest: wykonanie skoku zmiana bitu kierunku skoku (w przód/w tył) obliczenie adresu docelowego skoku wypełnienie lub wymiana linii bufora Maksymalny rozmiar wirtualnej przestrzeni adresowej zależy od: rozmiaru strony rozmiaru wskaźników adresowych (nie jestem pewny) dopuszczalnej liczby procesów zakresu relokacji rozmiaru bufora TLB pojemności pamięci wtórnej (dysku) rozmiaru przestrzeni rzeczywistej pojemności pamięci głównej maksymalnego rozmiaru partycji Rozmiar logicznej przestrzeni adresowej zależy od: dopuszczalnej liczby procesów rozmiaru wskaźników adresowych rozmiaru segmentów maksymalnego rozmiaru partycji W bloku aktywacji funkcji na stosie są umieszczone: adres powrotu wskaźnik powiązania dynamicznego wskaźnik powiązania statycznego zmienne globalne poprzedni stan wskaźnika stosu
kod rozkazu powrotu RET wskaźniki struktur lokalnych tryb adresowania słowo stanu procesora zmienne lokalne lub wskaźniki W bloku sterującym (PCB) każdego aktywnego procesu przechowywane są: stos programowy pełny kontekst procesora rozmiar zbioru roboczego procesu wskaźnik rekurencji procesu wskaźnik powiązania procesu kontekst pamięci każdego procesu zbiór roboczy procesu minimalny kontekst procesora wskaźnik zagnieżdżenia procesu wskaźnik kontekstu pamięci Pełny kontekst pamięci procesu jest przechowywany (nie mam pojęcia, jakie są dobre odp): w rejestrach procesora w odwróconej tablicy stron w buforze TLB w partycji przydzielonej procesowi w pamięci głównej w pamięci wtórnej na stosie programowym w pamięci podręcznej Minimalny kontekst procesora aktywnego procesu zawiera: Pełny kontekst procesora Wskaźnik zagnieżdżenia procesu Słowo stanu procesora Stan rejestru akumulatora Charakterystycznymi cechami architektury klasy RISC są: duża liczba rejestrów rozbudowane tryby adresowania niewielka liczba rozkazów ustalony rozmiar kodu rozkazu specjalne rejestry adresowe proste tryby adresowania specjalne rozkazy dostępu do pamięci Charakterystycznymi cechami architektury klasy CISC są: użycie rejestru akumulatora rozbudowane tryby adresowania niewielka liczba rozkazów jednolita struktura kodów rozkazów ograniczona używalność rejestrów stosowa architektura procesora zmienny rozmiar kodu rozkazu
W formacie zmiennoprzecinkowym pojedynczej precyzji liczbami znormalizowanymi są: zero (1)1001,101 w U2 3,14159 2^( 131) 1 NaN 2,73 2^129 W formacie zmiennoprzecinkowym pojedynczej precyzji liczbami zdenormalizowanymi są: zero 1+ ^(-1) 3,24159^(-5) 32^(-2031) 16^41 (2^164) 2^ 131 W formacie zmiennoprzecinkowym podwójnej precyzji liczbami znormalizowanymi są: NaN -1 e = 2,718282 8^44 (2^132) W formacie zmiennoprzecinkowym podwójnej precyzji liczbami zdenormalizowanymi są: zero 3,14159^ 5 2^( 1031) 0,00000000000001 π ^ 1 = 0,318309 2^( 1131) Przerwania nieprecyzyjne są skutkiem: braku strony w pamięci żądań obsługi we/wy wyjątków programowych krytycznych błędów sprzętu Przerwania precyzyjne są skutkiem: braku strony w pamięci wyjątków programowych podwójnych błędów transmisji na magistrali żądań obsługi we/we żądań transmisji DMA krytycznych błędów sprzętu Żądanie obsługi we/wy może byś sygnalizowane jako: Przerwanie precyzyjne Wyjątek programowy
Żądanie transmisji DMA Błąd jednostki zmiennoprzecinkowej jest sygnalizowany jako: przerwanie precyzyjne wyjątek programowy wywołanie systemowe Skutkiem braku danej strony w pamięci jest: wyjątek przerwanie nieprecyzyjne przerwanie niemaskowalne przerwanie programowe Przerwanie programowe jest: Synchroniczne z programem Skutkiem braku strony w pamięci Skutkiem wystąpienia wyjątku Skutkiem normalizacji wyniku dzielenia zmiennoprzecinkowego może być: Skutkiem normalizacji wyniku mnożenia zmiennoprzecinkowego może być: Skutkiem normalizacji wyniku dodawania zmiennoprzecinkowego może być: utrata dokładności Skutkiem normalizacji wyniku odejmowania zmiennoprzecinkowego może być: NaN Deskryptor ramki strony w odwróconej tablicy stron zawiera: bity obecności, używalności i zapisu adres rzeczywisty ramki numer strony wirtualnej rozmiar ramki (raczej nie) Deskryptor ramki strony w pełnej tablicy stron zawiera: Bity obecności, używalności i zapisu Uprawnienia dostępu do strony Skrót wirtualnego numeru (adresu) strony Numer (adres) ramki strony w pamięci głównej Deskryptor strony w buforze tablicy stron (TLB) zawiera: Bity obecności, używalności i zapisu
Skrót rzeczywistego numeru strony Pełny wirtualny numer strony Adres partycji, na której zlokalizowana jest strona Adres strony na dysku Wskaźnik wypełnienia strony Wyjątek jest skutkiem: braku strony na dysku błędu programowego żądania obsługi we/wy Wystąpienie nadmiaru w dodawaniu w kodzie uzupełnieniowym U2 jest sygnalizowane jako: przeniesienie równe 0 wskaźnik znaku równy 0 wystąpienie wyjątku przeniesienie równe 1 *** Tych poniżej nie jestem pewny *** Przekroczenie zakresu w odejmowaniu w kodzie znak-moduł jest sygnalizowane: jako przeniesienie równe 1 jako bit znaku równy 1 jako wskaźnik nadmiaru równy 1 gdy znaki argumentów są jednakowe Przekroczenie zakresu w dodawaniu i odejmowaniu w kodzie uzupełnieniowym U2 sygnalizuje: wskaźnik znaku wskaźnik nadmiaru wskaźnik przeniesienia przeniesienie równe 0 Przekroczenie zakresu w dodawaniu i odejmowaniu w naturalnym kodzie binarnym sygnalizuje: wskaźnik znaku wskaźnik nadmiaru wskaźnik przeniesienia przeniesienie równe 1