teoriav2(aktualny) Flashcards

Zdać ten piękny przedmiot

1
Q

Opisać cykl potwierdzenia przyjęcia oraz gdzie znajduje się adres procedury obsługi przerwania
maskowalnego dla urządzenia (Z80) pracującego w trybie 2

A

Która linia jest testowana?
Sygnały INT

Kiedy jest testowana przez procesor?
Podczas narastającego zbocza ostatniego taktu ostatniego cyklu maszynowego poprzedniego rozkazu.
// Pod warunkiem, że to nie jest EI ani DEI -||-

Wymienić warunki przyjęcia przerwania
Nie wykonuje się przerwanie niemaskowalne (NMI = 1), IFF1 = 1, BUSREQ = 1

Scharakteryzować krótko cykl przyjęcia przerwania.
Jeśli sygnał INT jest aktywny poziomem 0, procesor zeruje rejestry IFF1 i IFF2 i generuje specjalny cykl M1
(zamiast MREQ uaktywnia się IORQ), po którym następują dwa takty oczekiwania. W tym czasie ustalany jest
wektor przerwań i zostaje on wystawiony na magistralę. Następnie liczony jest adres procedury obsługi
przerwania i wykonuje się skok. PC idzie na stos.

Podać jak wyliczyć adres procedury przyjęcia przerwania i jak ta procedura powinna się kończyć. (tryb 2)
Urządzenie zewnętrzne wystawia na magistralę dolną połowę adresu procedury obsługi przerwania. Górna
połowa jest w programowalnym rejestrze I. Dodatkowo, najmłodszy bit na magistrali danych jest ignorowany,
przy obliczaniu adresu zawsze == 0 (wynika to z dwubajtowej organizacji rozkazów). Procedura obsługi powinna
kończyć się rozkazami EI, RETI

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Opisać cykl potwierdzenia przyjęcia oraz gdzie znajduje się adres procedury obsługi przerwania
niemaskowalnego dla urządzenia (Z80) pracującego w trybie 2

A

Która linia jest testowana?
Sygnały NMI

Kiedy jest testowana przez procesor?
Podczas narastającego zbocza ostatniego taktu ostatniego cyklu maszynowego poprzedniego rozkazu.
// Pod warunkiem, że to nie jest EI ani DEI -||-

Wymienić warunki przyjęcia przerwania
wystarcza /BUSRQ=1

Scharakteryzować krótko cykl przyjęcia przerwania
iff2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Układ DMA zgłasza sygnał żądania /BUSREQ. Czy cykl potwierdzenia bezpośredniego dostępu
do magistrali w Z80 (BUSACK):

A

Nie może pojawić się po ostatnim cyklu maszynowym w rozkazie? NIE.
Nie może pojawić się po każdym cyklu maszynowym w rozkazie? NIE.
Nie może pojawić się przed potwierdzeniem przyjęcia cyklu przerwania niemaskowalnego? NIE.
Nie może pojawić się przed potwierdzeniem przyjęcia cyklu przerwania maskowalnego? NIE.
Nie może pojawić się po wykonaniu rozkazu HALT? NIE.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Kiedy może pojawić się cykl potwierdzenia przyjęcia przerwania maskowalnego?

A

Bezwarunkowo po każdym cyklu maszynowym rozkazu. NIE.
Po każdym cyklu maszynowym w rozkazie, jeśli IFF1 i IFF2 = 1. NIE.
Po ostatnim cyklu maszynowym w rozkazie, jeżeli /BUSRQ = 1. TAK.
Po ostatnim cyklu maszynowym w rozkazie, jeżeli /BUSRQ jest aktywny. NIE.
Po ostatnim cyklu maszynowym rozkazu EI, jeżeli znajduje się na końcu procedury obsługi przerwania. NIE.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Kiedy może pojawić się cykl potwierdzenia przyjęcia przerwania niemaskowalnego?

A

Bezwarunkowo po każdym cyklu maszynowym rozkazu. NIE.
Po każdym cyklu maszynowym w rozkazie, jeśli IFF1 i IFF2 = 1. NIE.
Po ostatnim cyklu maszynowym w rozkazie, jeżeli /BUSRQ jest aktywny. NIE.
Po pierwszym cyklu maszynowym w rozkazu EI jeżeli znajduje się na końcu procedury obsługi przerwania. NIE
Po ostatnim cyklu maszynowym w rozkazie, jeżeli spełniony jest tylko warunek IFF1=1 IFF2=1. NIE.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Czy układ Z80 – DMA ma możliwość pracy w trybie przesyłu pamięć – pamięć?

A

Tak

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Czy cykl maszynowy M1 występuje zawsze tylko w pierwszym cyklu rozkazu Z80?

A

Nie, są rozkazy potrzebujące dwóch lub więcej cykli M1 (np. do odczytania prefiksów opkodu).
Przykładem może być rozkaz RLC A który ma M1 w 1. i 2. cyklu (jako rozkaz przesunięcia bitowego ma przed
właściwym opkodem prefiks CB ).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Z jakimi pamięciami dynamicznymi może bezpośrednio współpracować Z80?

A

Żadnymi, wymaga układu, który będzie generować RAS/CAS itd.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Czy procesor Z80 może współpracować z każdym typem pamięci dynamicznych? Jeśli tak, to z
jakimi?

A

Tak, jeśli zapewni się zewnętrzny układ odświeżania.
W szczególnym przypadku układ odświeżania nie jest potrzebny, jeżeli pamięć jest o organizacji w której jest 7
wierszy (z tego co pamiętam Paduch raz wspomniał na ćwiczeniach o pamięciach 64kB o organizacji 7x9).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Kiedy może pojawić się cykl potwierdzenia bezpośredniego dostępu do magistrali w Z80
(BUSACK)?

A

Po ostatnim cyklu maszynowym w rozkazie. TAK
Po każdym cyklu maszynowym w rozkazie. TAK.
Tylko wtedy, jeżeli nie było zgłoszenia przerwania niemaskowalnego. NIE.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Czy układ 8237 może współpracować z procesorem Z80?

A

Tak

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Czy cykl maszynowy M1 może występować też w drugim cyklu rozkazu Z80

A

Tak

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Czy mikrokomputer 8051 zawiera układ zliczający impulsy zegarowe?

A

Tak, ma dwa timery 16-bitowe (choć mogą działać także w trybach 8- i 13-bitowych).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Czy Z80CTC może bezpośrednio współpracować z układem 8255 z wykorzystaniem przerwań?

A

Tak.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Który z sygnałów sterujących w procesorze Z80 przerywających działanie programu głównego
ma najwyższy priorytet?

A

RESET

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wymień cykle maszynowe procesora Z80:

A

● Cykl pobrania i dekodowania kodu operacji (cykl M1)
● Cykl odczytu z pamięci
● Cykl zapisu do pamięci
● Cykl odczytu z układu wejścia/wyjścia
● Cykl zapisu do układu wejścia/wyjścia
● Cykl przyjęcia żądania dostępu do magistrali
● Cykl przyjęcia przerwania maskowalnego
● Cykl przyjęcia przerwania niemaskowalnego
● Cykl zatrzymania (po wykonaniu rozkazu HALT)
● Cykl wznowienia (wyjście ze stanu HALT)
● Cykl zerowania (sygnałem RESET)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Który z mikrokontrolerów / mikroprocesorów posiada układ zliczający impulsy zegarowe? Do wyboru: 8051, 8052, AVRATMEGA 128.

A

Wszystkie, AVR też.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Czy układ 8237 ma możliwość pracy w trybie kaskadowym?

A

Tak

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Jaki powinien być maksymalny czas dostępu do pamięci RAM, aby mogły z pełną szybkością z
Z-80 10 Mhz?

A

Ma być mniejszy niż 2 T, czyli 0,2 μs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Jaki powinien być maksymalny czas dostępu do pamięci ROM, aby mogły z pełną szybkością z
Z-80 10 Mhz?

A

Ma być mniejszy niż 1,5 T, czyli 0,15 μs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Jaki powinien być maksymalny czas dostępu urządzeń zewnętrznych, aby mogły z pełną
szybkością z Z-80 10 Mhz?

A

Ma być mniejszy niż 2,5 T, czyli 0,25 μs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Czy Z-80 może bezpośrednio współpracować z każdym typem pamięci dynamicznych o
pojemności 32kB/64kB?

A

RAS i CAS generujemy sobie sami, więc nie. Poza tym, jeżeli pamięć ma organizację z inną liczbą wierszy niż 7,
konieczne będzie zapewnienie zewnętrznego układu odświeżania.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Czy standardowo układ 8237A ma możliwość przesyłania danych 32-bitowych?

A

Tak, dla wszystkich typów przesyłów. NIE
Tak, ale pomiędzy urządzeniami zewnętrznymi 32-bitowymi i pamięcią 32-bitową. NIE.
Nie, bo to układ 8-bitowy. TAK

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Czy standardowo układ 8237A ma możliwość przesyłania danych 16-bitowych?

A

Tak, dla wszystkich typów przesyłów. NIE
Tak, ale pomiędzy urządzeniami zewnętrznymi 32-bitowymi i pamięcią 32-bitową. NIE.
Nie, bo to układ 8-bitowy. TAK

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Jaka jest maksymalna wielkość pamięci danych, którą można dołączyć do procesora AVR Atmega 128?
Atmegą 128 można zaadresować 64 KB zewnętrznej pamięci RAM, czyli można jej podłączyć teoretycznie bardzo dużo, zależy jak sprytnie ją sobie będziemy stronicować (nie ma ograniczenia co do liczby rejestrów stron, więc można by powiedzieć, że nieskończoność (a jak zrobić nieskończony adres?). Trzeba pamiętać, że nie wszystkie AVRy mają możliwość podłączenia zewnętrznej pamięci.
26
Ilu bitowy jest adres odświeżania w Z80
Rejestr odświeżania jest 8-bitowy, jednak tylko młodsze 7 bitów jest automatycznie inkrementowane. Najstarszy bit, jeśli jest potrzebny, może być obsługiwany programowo
27
Jak uzyskać odpowiednik sygnału RFSH w 8052 i AVR?
8052 - PSEN albo ALE | AVR - ALE
28
Co to jest zmodyfikowana architektura Harvard?
Magistrale pamięci rozkazów i danych są połączone, ale bloki te występują pod różnymi zakresami adresów. Taka architektura występuje np. w 8052.
29
Jakie rejestry są związane z każdym wejściem w AVR?
PORTx - wyjściowy PINx - wejściowy, z niego czytamy DDRx - każdy bit ustawia odpowiedni pin portu na wejście lub wyjście x = A, B, C.. itd.000
30
Jaka jest minimalna częstotliwość zegara dla 8052 a jaka dla AVR? (dla AVR uzasadnij)
8052 - 1Mhz - 16MHz (minimalnie 1Mhz) - ma wbudowaną wewnętrzną pamięć dynamiczną, która wymaga odświeżania AVR - 0Hz - pamięci wewnętrzne mają budowę statyczną, zegar można podawać nawet "z palca"
31
Kiedy testowane są wejścia BUSREQ, NMI i INT
NMI i INT są pod koniec realizacji cyklu wykonywania rozkazu (zbocze narastające ostatniego taktu ostatniego cyklu rozkazu), ale BUSREQ jest testowany pod koniec każdego cyklu maszynowego - jeśli jest wtedy aktywny, to wykonywanie rozkazu zostaje zawieszone
32
Czym grozi zbyt długi czas trwania trybu dostępu do pamięci?
Wyparowaniem danych z pamięci dynamicznej, na skutek rozładowania kondensatorów.
33
Ile można maksymalnie dołączyć do procesora AVR ATMEGA128 zewnętrznej pamięci?
ROM -> wcale | RAM -> 64kB
34
Ile można maksymalnie dołączyć do procesora rodziny 8052 zewnętrznej pamięci?
ROM -> 64kB | RAM -> 64kB
35
Czym różni się komórka pamięci statycznej od komórki pamięci dynamicznej?
Pamięć dynamiczna wymaga odświeżania, statyczna nie. Statyczna ma budowę przerzutnikową a dynamiczna zbudowana jest z tranzystora i kondensatora. Pamięć dynamiczną trzeba odświeżać, ponieważ kondensator ulega rozładowaniu poprzez nieidealny izolator.
36
Jakiego trybu adresacji używa rozkaz NEG; RST 56h; JP 1000; JR 256; Bit 5,(HL); itd. ?
NEG - niejawne ; RST 56h - stronicy zerowej? ; JP 1000 - skok pod adres 1000 ; JR 256 - względne ; Bit 5,(HL) - bitowe Możliwe tryby adresowania w Z80: ○ rejestrowe: ld a,b ○ natychmiastowe: ld a,25 ○ pośrednie: ld a, (8120h) ○ bezpośrednie ld (1000), A (dopisane - z wykładu zielińskiego) ○ rejestrowe pośrednie: ld a,(hl) ○ bazowe (indeksowe): ld a, (ix+20h) ○ implikowane: neg (operuje na akumulatorze) ○ pojedynczych bitów: res 0, a (resetuj bit 0 akumulatora) ○ stronicy zerowej: rst 8 (chyba tylko reset używa tego trybu)
37
Do mikrokontrolera AVR podłączono zewnętrzną pamięć EPROM. Czy procesor zawsze pobiera rozkazy z tej pamięci?
Niestety brak jest możliwości dołożenia zewnętrznej pamięci programu. Procesor nie pobiera rozkazów.
38
Podać jakie słowa sterujące należy wysłać i jakiej kolejności dla zaprogramowania portu A układu 8255 aby osiągnąć jego identyczny sposób działania jak dla portu A układu Z80 PIO (z przerwaniami). Tryb pracy PIO Tryb 0
Zapis do rejestru sterującego: Wybór trybu 1 i ustawienie portu A jako wyjściowy. Ustawianie bitów PC: Odblokowanie przerwania ustawiając bit INTE A.
39
Podać jakie słowa sterujące należy wysłać i jakiej kolejności dla zaprogramowania portu A układu 8255 aby osiągnąć jego identyczny sposób działania jak dla portu A układu Z80 PIO (z przerwaniami). Tryb pracy PIO Tryb 1
Zapis do rejestru sterującego: Wybór trybu 1 i ustawienie portu A jako wejściowy. Ustawianie bitów PC: Odblokowanie przerwania ustawiając bit INTE A.
40
Podać jakie słowa sterujące należy wysłać i jakiej kolejności dla zaprogramowania portu A układu 8255 aby osiągnąć jego identyczny sposób działania jak dla portu A układu Z80 PIO (z przerwaniami). Tryb pracy PIO Tryb 2
Zapis do rejestru sterującego: Wybór trybu 2. | Ustawianie bitów PC: Odblokowanie obu przerwań.
41
Podać jakie słowa sterujące należy wysłać i jakiej kolejności dla zaprogramowania portu A układu 8255 aby osiągnąć jego identyczny sposób działania jak dla portu A układu Z80 PIO (z przerwaniami). Tryb pracy PIO Tryb 3 MASK FF
MASK FF oznacza zablokowanie przerwań dla wszystkich linii portu w PIO w trybie bitowym. Zapis do rejestru sterującego: Wybór trybu 0 i ustawienie portu A jako wyjściowy. Ustawianie bitów PC: Zablokowanie przerwania zerując bit INTE A.
42
Podać jakie słowa sterujące należy wysłać i jakiej kolejności dla zaprogramowania portu A układu 8255 aby osiągnąć jego identyczny sposób działania jak dla portu A układu Z80 PIO (z przerwaniami). Tryb pracy PIO Tryb 3 MASK 00
Zapis do rejestru sterującego: Wybór trybu 0 i ustawienie portu A jako wejściowy. Ustawianie bitów PC. Odblokowanie przerwań ustawiając bit INTE A (mask 00, oznacza odblokowanie przerwań w trybie bitowym na PIO dla wszystkich linii)
43
Podać jakie słowa sterujące należy wysłać i jakiej kolejności dla zaprogramowania portu A Z80PIO aby osiągnąć jego identyczny sposób działania jak dla portu A układu 8255 PIO (bez przerwań). Tryb 0 - wyjście
Wybór portu A na pinie A/~B Wybór trybu 3 Ustawienie kierunku: wszystkie piny na wyjście (0x00) Słowo sterujące przerwaniami: blokada dla całego portu
44
Podać jakie słowa sterujące należy wysłać i jakiej kolejności dla zaprogramowania portu A Z80PIO aby osiągnąć jego identyczny sposób działania jak dla portu A układu 8255 PIO (bez przerwań). Tryb 0 - wejście
Wybór portu A na pinie A/~B Wybór trybu 3 Ustawienie kierunku: wszystkie piny na wejście (0xFF) Słowo sterujące przerwaniami: blokada dla całego portu
45
Podać jakie słowa sterujące należy wysłać i jakiej kolejności dla zaprogramowania portu A Z80PIO aby osiągnąć jego identyczny sposób działania jak dla portu A układu 8255 PIO (bez przerwań). Tryb 1 - wyjście
Wybór portu A na pinie A/~B Wybór trybu 0 Blokada przerwań
46
Podać jakie słowa sterujące należy wysłać i jakiej kolejności dla zaprogramowania portu A Z80PIO aby osiągnąć jego identyczny sposób działania jak dla portu A układu 8255 PIO (bez przerwań). Tryb 1 - wejście
Wybór portu A na pinie A/~B Wybór trybu 1 Blokada przerwań
47
Podać jakie słowa sterujące należy wysłać i jakiej kolejności dla zaprogramowania portu A Z80PIO aby osiągnąć jego identyczny sposób działania jak dla portu A układu 8255 PIO (bez przerwań). Tryb 2 - wej/wyj
Wybór portu A na pinie A/~B Wybór trybu 2 Blokada przerwań
48
Czy mikroprocesor 8051 może pracować bez zewnętrznego oscylatora lub generatora?
Nie
49
Czy cykl rozkazowy 8051 trwa 10 taktów zegarowych
Nie, trwa 12
50
Czy port P0 w trybie wyjściowym w 8051 wymaga zewnętrznych oporników pull-up?
Tak. Port P0 nie jest wyposażony we wbudowane rezystory podciągające (w przeciwieństwie do P1, P2 i P3)
51
Czy port P1 w trybie wyjściowym w 8051 wymaga zewnętrznych oporników pull-up?
Nie
52
Czy sygnał ALE oznacza rozpoczęcie cyklu odczytu zewnętrznej pamięci ROM?
Nie, oznacza to sygnał /PSEN
53
Czy port P2 w 8051 wystawia młodszy bajt adresu zewnętrznego pamięci ROM?
Nie, wystawia starszy bajt
54
Czy poprawny czas trwania sygnału RESET wynosi 2 takty zegarow
Nie, wynosi 2 cykle MASZYNOWE, czyli 24 takty zegarowe
55
Czy bity 8051 mogą być ustawiane jednocześnie P2.1 jako wejściowy a P2.0 jako wyjściowy?
Tak, można dać na raz pod P2.1 przycisk i pod P2.0 diodę
56
Czy mikroprocesor 8051 posiada wewnętrzny układ przerwań
Zależy jak to rozumieć, ale raczej TAK
57
Czy port P3 w trybie UART realizuje elektryczny standard RS232?
Nie
58
przestrzeń adresowa zewnętrznej pamięci ROM w 8051 wynosi 64kB
Tak
59
Czy przestrzeń adresowa zewnętrznej pamięci RAM w 8051 wynosi 64kB?
Tak
60
Czy sygnał PSEN oznacza rozpoczęcie cyklu zapisu zewnętrznej pamięci RAM
Nie, PSEN służy do operacji na pamięci programu, pamięć danych obsługują sygnały WR i RD.
61
Czy rozkaz movx kontrolera 8051 służy do adresacji zewnętrznego ROM
Nie, rozkaz ten służy do adresacji zewnętrznego RAMu
62
Czy bity 8051 mogą być ustawiane jednocześnie P3.1 jako wejściowy a P3.0 jako wyjściowy
Tak.
63
Czy wszystkie rozkazy w 8051 mają stałą liczbę taktów zegarowych równe 12
Nie, są rozkazy z liczbą 24 lub 48
64
Czy kontroler 8051 posiada własny układ przerwań
Tak
65
Jakie znaczniki rej. Flag ustawia rozkaz DJNZ kontrolera 8051
Rozkaz DJNZ nie ustawia żadnych znaczników rej. flag
66
Czym różni się zapis A i ACC w rozkazach kontrolera 8051?
‘A’ to akumulator bezpośrednio, a ‘ACC’ to adres akumulatora(w zasadzie rejestru specjalnego zawierającego akumulator, ale jak zwał tak zwał).
67
Co oznacza rozkaz MOV A,#12
Przenosi do akumulatora liczbę 12.
68
Czy w procesorze Z80 można zatrzymać pracę układu w trakcie trwania dowolnego cyklu maszynowego? Odpowiedź uzasadnić
Tak. W początkowym okresie konstrukcji układu mikroprocesorowego przydatny może być mechanizm pracy krokowej podłączony do wejścia WAIT. W przypadku mikroprocesora Z-80 umożliwia on zatrzymywanie realizacji programu nawet w trakcie każdego cyklu maszynowego. Dzięki takiemu rozwiązaniu można dowolnie długo obserwować stany poszczególnych sygnałów w układzie.
69
Czy w mikrosterownikach rodziny 8051 procedura obsługi przerwania może rozpoczynać się w dowolnym miejscu pamięci programu? Odpowiedź uzasadnić
Nie. W mikrokontrolerach z rodziny 8051 każdemu z przerwań jest przyporządkowany stały adres procedury obsługi przerwania. Adresy procedur są umieszczone na początku przestrzeni pamięci programu według ściśle określonego porządku
70
Czy adres fizyczny 12345678h mógł powstać z adresu logicznego 1234h:5678h w trybie wirtualnym? Jeśli nie, to czemu? Jeśli tak, to jakie warunki muszą być spełnione? Założyć, że układ stronicowania jest wyłączony.
Tak, jeśli segment wskazywany przez selektor 1234h zaczyna się od adresu 12340000h. Po dodaniu offsetu 5678h uzyskamy adres logiczny 12345678h, równy adresowi fizycznemu. Jeśli mamy tryb wirtualny i wyłączony układ stronicowania, to mówimy o płaskim modelu pamięci. W odróżnieniu od trybu rzeczywistego wartość 1234h nie jest segmentem ale selektorem segmentu, czyli wskazuje na jakiś deskryptor segmentu, w którym zapisana jest wartość od której zaczyna się segment. 5678h jest to offset wewnątrz segmentu
71
Która metoda wymiany danych - przerwania czy DMA - jest szybsza? Odpowiedź uzasadnić. Założyć, że zastosowane sterowniki przerwań i DMA są na podobnym poziomie rozwoju technologicznego
Szybsza jest metoda DMA (Direct Memory Access). Kontroler DMA (DMAC – Direct Memory Access Controller) pracuje całkowicie niezależnie od procesora. Oddzielne magistrale zapewniają całkowitą „przezroczystość” jego pracy. Dane z wewnętrznych pamięci mogą być odczytywane bądź zapisywane równocześnie, gdy odczytuje te dane bądź zapisuje procesor.
72
Mikroprocesor 8086 napotkał instrukcję od koprocesora 8087, który rozpoczął jej wykonywanie. Jakie będzie zachowanie mikroprocesora w przypadku, gdy następna instrukcja jest dla (uzasadnić) : Koprocesora Procesora głównego
Koprocesor - procesor będzie czekał na zakończenie obsługi bieżącej instrukcji przez koprocesor. Procesora głównego - Procesor wykona swoją instrukcje nie czekając na koprocesor
73
Czy w procesorze 80486 tablica wektorów przerwań (w trybie RZECZYWISTYM) może znajdować się w dowolnym miejscu pamięci? Jeśli nie, to dlaczego? Jeśli tak, to jakie będą konsekwencje?
Tak - Wystarczy zmienić zawartość rejestru IDTR. Konsekwencje: wszystkie programy zakładają że tablica wektorów przerwań znajduje się na samym dole pamięci więc jak będą chciały przejąć obsługę przerwania, to właśnie tam zajrzą i tam namieszają. Jedyna różnica to taka że się nic nie stanie, program nie dostanie przerwania i najprawdopodobniej przestanie odpowiadać na cokolwiek w oczekiwaniu na przerwanie lub w najlepszym wypadku zwróci błąd np. timeout'a . Jest też możliwość że ktoś bezpośrednio piszący po pamięci zamaże tablicę wektorów i wtedy wszystko się posypie
74
Czy programista, pisząc program dla rozbudowanego systemu opartego na 8051, musi mieć świadomość, że w układzie jest pamięć wewnętrzna i zewnętrzna w przypadku: pamięci danych pamięci programu
pamięć danych - tak, ponieważ występują inne rozkazy | pamięć programu - Nie, licznik sam przeskakuje
75
Czy w mikrosterownikach AVR procedura obsługi przerwania może rozpoczynać się w dowolnym miejscu pamięci programu? Odpowiedź uzasadnić
Nie - Procedura obsługi danego przerwania umieszczona jest na stałe w pamięci programu i przeznaczone są na nią dwa bajty, czyli jeden rozkaz (tzw. wektor). Biorąc pod uwagę fakt, że z procedury obsługi przerwania należy wrócić za pomocą rozkazu RETI nie zostaje nam więcej miejsca na pozostałe instrukcje (chyba, że następne przerwanie jest niewykorzystywane), więc musimy umieszczać w wektorze danego przerwania instrukcję skoku do miejsca w pamięci programu gdzie jest umieszczona właściwa procedura obsługi tego przerwania (składająca się często z wielu rozkazów) zakończona rozkazem RETI
76
Zdefiniować pojęcia i podać przykłady przerwania i wyjątku. Podać i krótko opisać rodzaje wyjątków w procesorze 80486[wersja 1].
Wyjątki i przerwania są wymuszonym przekazaniem wykonania do procedury obsługi przerwania lub wyjątku. Przerwania są używane do obsługi zdarzeń zewnętrznych w stosunku do procesora, np. żądanie obsługi urządzeń peryferyjnych. ● maskowalne ● niemaskowalne Wyjątki generowane są przez procesor i są związane z aktualnie wykonywaną instrukcją. ● Wykrywane przez procesor; są one sklasyfikowane jako: niepowodzenia, potrzaski, załamania (np. dzielenie przez zero, dostęp do strony pamięci nieznajdującej się w pamięci RAM, itp.). ● Programowe wyjątki przez instrukcje INT0, INT 3, INT n
77
Wymienić podstawowe grupy rozkazów w mikroprocesorach
``` ● Przemieszczania danych ● Manipulujące stosem ● Konwersji typów ● Arytmetyki binarnej ● Porównywania ● Logiczne ● Przekazania sterowania (instrukcje skoku) ```
78
Omówić działanie portu szeregowego w mikroprocesorze 8051 [*]
Piny P3.0 (RXD) i P3.1 (TXD) mogą pełnić rolę portu transmisji szeregowej. W praktyce poprzez te dwa wyprowadzenia można przesyłać informację (bajty i bity) z oraz do procesora z innych układów cyfrowych w sposób szeregowy, tzn. bit po bicie. Miejscem, z którego wysyła się wspomniane dane – bajty, lub do którego one trafiają po transmisji z zewnątrz jest specjalny rejestr, znajdujący się pod adresem 99h w pamięci wewnętrznej danych procesora w obszarze rejestrów specjalnych SFR. Rejestr ma nazwę SBUF, a zapisać go można tak samo jak każdy inny rejestr, np. instrukcją zapisu poprzez wskaźnik Ri: MOV SBUF, @R1 W przypadku, kiedy wcześniej ustawiliśmy parametry transmisji i uruchomiliśmy port szeregowy, taki zapis spowoduje automatyczne wytransmitowanie bajtu, który wcześniej znajdował się pod adresem wskazywanym przez rejestr indeksowy R1. W przypadku odbioru danej, po zakończeniu transmisji odebrany bajt informacji będzie automatycznie umieszczony w rejestrze SBUF, a fakt zajścia takiego zdarzenia zostanie zasygnalizowany w programie automatycznie. Dzięki temu będziemy wiedzieć, że w rejestrze SBUF czeka na odczytanie gotowa odebrana dana. Przesyłanie to może odbywać się na dwa sposoby: ·Synchronicznie − wtedy pin P3.0 pełni role dwukierunkowej magistrali szeregowej, po której przesyłane są dane, zaś pin P3.1 generuje sygnał taktujący, pełniąc rolę zegara. ·Asynchronicznie − z góry zadajemy prędkość transmisji pomiędzy naszym procesorem 8051 a innym, zewnętrznym układem (np. łączem RS232c komputera PC). W takim przypadku końcówka P3.0 − RXD pełni rolę odbiornika przesyłanych szeregowo danych (pierwsza litera symbolu “R” oznacza receive − ang. odbiór), zaś końcówka P3.1 − TXD nadajnika (“T” − transmit − ang. nadawanie).
79
Omówić zasadę stronicowania na przykładzie mikroprocesora 80486. (bez dokładnego opisu TLB) [*]
Procesory 80386 i nowsze pracujące w trybie chronionym umożliwiają dowolne mapowanie adresów logicznych na adresy fizyczne – mechanizm ten nazywany jest stronicowaniem (ang. paging). Adresy logiczne obejmują całą przestrzeń adresową procesora, czyli 4 GB, niezależnie od tego, ile w rzeczywistości w komputerze zainstalowano pamięci. Zadaniem systemu operacyjnego jest odpowiednie mapowanie adresów logicznych na adresy pamięci fizycznej, co pozwala zwykłym programom użytkowym przez cały czas działania odwoływać się do tych samych adresów logicznych. Jeśli włączone jest stronicowanie, wówczas cała pamięć (4 GB) dzielona jest na bloki – strony o rozmiarach 4 kB; w procesorach Pentium i nowszych możliwe jest także używanie stron o rozmiarach 4 MB. Gdy program odwołuje się do pamięci, podaje adres właściwej komórki pamięci. Adres ten jest 32-bitową liczbą, która składa się z trzech części: 1. indeks w katalogu stron (liczba 10-bitowa), 2. indeks w tablicy stron (liczba 10-bitowa), 3. przesunięcie w obrębie strony (liczba 12-bitowa). Katalog stron zawiera wskaźniki do tablic stron, tablice stron przechowują adresy fizyczne stron. (System operacyjny może zarządzać wieloma katalogami i tablicami stron). Zatem pierwsza część adresu wybiera z katalogu stron tablicę stron. Druga część adresu wybiera pozycję z tablicy stron, która wyznacza fizyczny adres konkretnej strony. Przesunięcie jest adresem lokalnym w obrębie wybranej strony. Zatem adres fizyczny, na który zamapowano adres logiczny, wyznaczany jest z dwóch składników: adresu fizycznego strony i przesunięcia. Ponieważ uzyskiwanie dostępu do pamięci w celu odczytania informacji o stronie jest czasochłonne, dlatego procesory posiadają pamięć podręczną (ang. TLB, Translation Lookaside Buffer), w której pamiętane są ostatnio wyznaczone adresy fizyczne stron. TLB przechowuje 32, 64, 256 lub więcej pozycji. Każda pozycja w tablicy stron przechowuje pewne dodatkowe informacje dotyczące strony pamięci, także te przydatne w realizacji pamięci wirtualnej: ·Bit obecności (ang. present) – mówi czy strona znajduje się w pamięci fizycznej. Gdy system operacyjny usuwa stronę z pamięci, tzn. zapisuje ją na dysk, zeruje ten bit. Jeśli program odwoła się do strony nieobecnej w pamięci procesor generuje wyjątek i wówczas system operacyjny wczytuje z dysku uprzednio zapisaną tam zawartość strony. ·Bit użycia (ang. accessed) – jest ustawiany przez procesor, gdy nastąpi odwołanie do danej strony. System operacyjny zwalnia pamięć zapisując nieużywane strony pamięci na dysku. Wartość zerowa bitu użycia oznacza brak odwołań do strony i jest sygnałem dla systemu, że może być przeniesiona na dysk. Ustawiony bit użycia zabezpiecza stronę przed przeniesieniem na dysk. ·Bit modyfikacji (ang. dirty lub modified) – jest ustawiany podczas zapisu danych. Jeżeli dana strona jest usuwana z pamięci, to w przypadku ustawienia bitu modyfikacji musi być zapisana na dysk. Wartość zerowa bitu modyfikacji oznacza, że strona w pamięci oraz strona na dysku jest taka sama, więc podczas usuwania strony z pamięci nie ma konieczności zapisywania jej na dysk.
80
Opisać zasadę działania jądra RISC mikroprocesora Pentium Pro.
W Pentium Pro instrukcje zostają sprzętowo przetworzone (dokonywana jest translacja) na mikrooperacje ukierunkowane na operacje zapisz/czytaj, przypominające podstawowe operacje architektury typu RISC. Rozkazy są rozkładane na mikrooperacje dzięki dekoderom prostym i złożonym. Dzięki mikrooperacjom wszystkie poziomy potoku można było wykonac trochę prościej (w sensie mniejszej liczby poziomów tranzystorów). Pozwala to na zwiększenie częstotliwości zegara o 33% bez zmiany technologii.
81
Omówić zasadę i podać przykłady zwiększenia obciążalności magistral mikroprocesorów.
Pomiędzy procesor a pozostałe urządzenia należy wpiąć dodatkowe bufory ("drivery prądowe”). Na magistralach jednokierunkowych (np. adres, czy linie sterujące) bufory jednokierunkowe (np. układ 541), na magistralach dwukierunkowych (np. dane) bufory dwukierunkowe (np. układ 245) i należy zbudować układ sterujący kierunkiem bufora - na podstawie stanów linii /RD, /WR, /PSEN, czy /M1. Jeżeli w układzie jest więcej hostów (np. DMA) to należy zapewnić odłączenie się procesora od magistrali na poziomie tych buforów - np. w procesorze Z80, wykorzystać sygnał /BUSACK i podpiąć go do wejść /G włączonych buforów.
82
Opisać zasadę działania systemów uruchomieniowych dla systemów mikroprocesorowych.
Najbardziej uniwersalnym systemem uruchomieniowym jest emulator. Systemy mikrokomputerowe są trudniejsze w uruchamianiu niż programy uruchamiane na komputerach osobistych. W większości przypadków nie posiadają wygodnego i przejrzystego wyświetlacza i wielostykowej klawiatury co utrudnia wprowadzanie informacji oraz przeglądanie stanu rejestrów i pamięci urządzenia. Emulator jest jednym z najstarszych narzędzi uruchomieniowych dla takich systemów. Jest jedynym urządzeniem, które zastępuje mikroprocesor własnym i dzięki temu daje projektantowi możliwość pełnej kontroli zarówno nad tworzonym oprogramowaniem jak i nad pozostałą sprzętową częścią projektu. Za pomocą wyrafinowanych technik monitoruje wszystko co dzieje się w układzie dając pełny wgląd w działanie poszczególnych operacji. Jest mostem pomiędzy docelowym urządzeniem a komputerem osobistym, na którym tworzone jest oprogramowanie. /////////////////////////////////////////////////////////////// podsumowanie ● emulator ○ nadzoruje uruchomienie na rzeczywistym sprzęcie ○ nie zawsze daje możliwość debugowania wszystkiego ● symulator ○ całkowicie software’owa symulacja hardware’u ○ można debugować absolutnie wszystko ○ nie zawsze wszystko działa jak w rzeczywistym układzie
83
Opisać zasadę działania i elementy funkcjonalne mikroprocesorów.
``` Większość mikroprocesorów zawiera następujące podzespoły: ·jednostkę arytmetyczno-logiczną ALU ·akumulator A ·licznik rozkazów PC ·zestaw rejestrów roboczych Ri ·rejestr rozkazów IR ·wskaźnik stosu SP ·układy sterowania CU (tutaj by się jeszcze zasada działania przydała) ```
84
Zilustrować i omówić sposób dołączania zewnętrznej pamięci RAM i ROM do mikrokomputera jednoukładowego serii 8048.
Procesor adresuje pamięć programu 10..12bitami (w zależności od modelu: 8048, 8049, 8050), a pamięć danych 8bitami. 8 młodszych bitów adresu należy złapać z szyny danych na sygnale ALE (jak w 8051), 4 starsze dla programu wychodzą portami P20...P23. Czytanie programu na /PSEN, sterowanie RAM /RD i /WR (jak w 8051).
85
Omówić budowę i zastosowania układów typu 8253
Układ 8253 jest programowalnym licznikiem i często oznaczany jest, jako PIT (Programmable Interval Timer). omputerze zadanie zegara, generatora tonu, zapewniając przy tym prawidłowe (jeśli chodzi o czas) odświeżanie dynamicznego RAM-u. PIT (programmable interrupt - timer) zawiera trzy, niezależne od siebie 16-bitowe liczniki (liczące wstecz), wyposażone we własne wejścia - Gate oraz Clock, jak i wyjścia (OUT). Licznik 0 stosowany jest do generowania przerwania (IRQ 0), wykorzystywanego dla zegara systemowego w komputerach typu 8088/86.Odświeżanie dynamicznego RAM-u sterowane jest przez licznik 1, który (co 15 ms) przetwarza kanał DMA na 0. Licznik 2 odpowiedzialny jest za generowanie tonu i - w przeciwieństwie do innych liczników - może być również używany do innych celów. Stany liczników zapisywane są w trzech adresach rejestru (Counter-Address). Dla ich zaadresowania stosowane są kanały adresujące A0 i A1. Zapis i odczyt odbywa się za pomocą linii /WR oraz /RD. Układ uaktywniany jest przez ustawienie wartości Low na sygnale pinu /CS. Sygnał ten generowany jest przez odpowiedni układ dekodujący adresy. Przewody danych D0 do D7 połączone są bezpośrednio z magistralą danych, ponieważ bufor danych (Data Bus Buffer) może być ustawiony w stan wysokiej impedancji przez: /CS = High (Tri-State). Przez odpowiednie wejście GATE licznik jest uruchamiany, zatrzymywany lub cofany. Takt doprowadzany jest przez wejście CLK. W momencie, kiedy licznik osiąga wartość 0, na wyjściu pojawia się OUT.
86
Omówić mechanizm nasycenia w technologii MMX. Jakie typy danych wprowadzono w tej technologii?
MMX wprowadził nowe typy danych, w języku angielskim nazwane packed, czyli dosłownie spakowane, upakowane; w języku polskim lepszym terminem oddającym ich charakter jest wektor i macierz lub tablica. Owo „spakowanie” polega na traktowaniu danych 64-bitowych jako składających się z pewnej liczby odrębnych komórek o tej samej wielkości: 8 × 8 bitów (packed byte), 4 × 16 bitów (packed word), 2 × 32 bity (packed dword), 1 × 64 bity (quad word). Gdy wykonywane są działania na typach wektorowych („spakowanych”), ta sama operacja wykonywana jest dla wszystkich komórek jednocześnie. Np. jeśli dodawane są dwa wektory 8 × 8 bitów, to pojedynczy rozkaz wykonuje osiem operacji dodawania danych 8-bitowych i zapisywane jest osiem wyników 8-bitowych. W przypadku niektórych rozkazów istotne jest rozróżnienie, czy operuje się na liczbach całkowitych bez znaku (ang. unsigned) czy ze znakiem (ang. signed). Arytmetyka nasyceniowa – jeśli wynik przekracza zakres jaki może pomieścić dany typ danych, to zapisywana jest wartość skrajna. Np. bajt bez znaku może przechowywać liczby z zakresu od 0 do 255 i jeśli do bajta o wartości 230 zostanie dodane 100, to wynikiem będzie 255, ponieważ 330 przekracza dopuszczalny zakres.
87
Zdefiniować pojęcia i podać przykłady przerwania i wyjątku. Podać i krótko opisać rodzaje wyjątków w procesorze 80486[wersja 2].
Przerwanie – sygnał powodujący zmianę przepływu sterowania, niezależnie od aktualnie wykonywanego programu. Pojawienie się przerwania powoduje wstrzymanie aktualnie wykonywanego programu i wykonanie przez procesor kodu procedury obsługi przerwania. Przerwania dzielimy na: a) Sprzętowe: ·Zewnętrzne - komunikacja z urządzeniami zewnętrznymi jak klawiatura. ·Wewnętrzne (tzw. wyjątki) - zgłaszane przez procesor dla sygnalizowania sytuacji wyjątkowych. b) Programowe - komunikacja z systemem operacyjnym. Wyjątek - mechanizm kontroli przepływu występujący w mikroprocesorach oraz we współczesnych językach programowania służący do obsługi zdarzeń wyjątkowych, a w szczególności sytuacji błędnych. Wyjątki można podzielić na kilka podstawowych rodzajów: ·Niepowodzenia (ang. fault) ·Błędy nienaprawialne (ang. abort) ·Pułapki (ang. trap) Przykładami zgłaszanych wyjątków są: dzielenie przez zero, dostęp do strony pamięci nieznajdującej się w pamięci RAM, itp.
88
Segmentacja w trybie wirtualnym
Segmentacja pamięci polega na podziale pamięci komputera na obszary o określonych atrybutach zwane segmentami. Procesom przydzielane są segmenty, ale uzyskują one jedynie identyfikatory tych segmentów. Kontrolując rozdzielność zbiorów przydzielonych segmentów, zapewniane jest unikanie konfliktów dostępu do tego samego obszaru pamięci przez różne procesy. Do przechowywania identyfikatorów segmentów wykorzystywane są w systemach wielozadaniowych: ● wspólna globalna tablica deskryptorów (GDT – global descriptor table) ● tablica deskryptorów przerwań (IDT – interrupt descriptor table) ● lokalne tablice deskryptorów (LDT – local descriptor table) Wiele funkcji segmentacji pamięci zaimplementowano już w rodzinie architektur x86, w której do przechowywania identyfikatorów segmentów przewidziano początkowo 4 rejestry segmentowe: ● rejestr segmentu kodu (CS – code segment) ● rejestr segmentu stosu (SS – stack segment) ● rejestr segmentu danych (DS – data segment) ● pomocniczy rejestr segmentu (ES) ● później dodano 2 pomocnicze rejestry FS i GS
89
Architektura i magistrala PCI
PCI pasuje głównie dla zastosowań multimedialnych i gromadzenia dużych ilości danych na HDD. Niezależna od typu procesora W czasie wymiany danych przez PCI do magistrali podłączone są dwa urządzenia: inicjator połączenia - INITIATOR i urządzenie docelowe - SLAVE. Teoretycznie PCI może pracować z zegarem 66 MHz. – transfer do 132Mb/s. Przesył danych dzieli się na dwie fazy: adresowania - wybierany jest przez Inicjatora Slave i następuje uzgodnienie rodzaju transmisji i fazę danych - wymiana danych. Cechy charakterystyczne PCI : urządzenia na magistrali są niezależne od procesora, dzięki czemu obciążenie CPU jest prawie znikome, PCI teoretycznie może obsłużyć do 256 urządzeń, można stosować przesyły łańcuchowe dla zapisu i odczytu, magistrala może zmieniać szerokość - 32 lub 64 bity, przy zegarze 33 MHz czas dostępu jest rzędu 60 ns (jak w DRAM), występuje kontrola parzystości adresu i danych. • 32 bitowa szyna danych i adresowa • zdefiniowane jest również 64-bitowe rozszerzenie magistrali • praca w trybie burst • częstotliwość taktowania do 66 Mhz • przepustowość dla szyny 32 bitowej: 132 Mb/s • przepustowość dla szyny 64 bitowej: 264 Mb/s
90
Różnice Pentium i Pentium Pro.
Usprawnienia wprowadzone w pentium pro: 1. Zastosowanie jądra RISC z 14-stopniowym potokiem. Rozkazy architektury IA-32 są tłumaczone na tzw. mikrooperacje przypominające rozkazy procesorów RISC. Spowodowało to przyspieszenie o 30% bez zmiany technologii. 2. Wprowadzenie możliwości niesekwencyjnego (niekolejnego) wykontwania instrukcji. Rozkazy po przetłumaczeniu na mikrooperacje trafiają do kolejki. Z kolejki są pobierane do wykonania te rozkazy, które mają dostępne argumenty i które mogą być wykonane przed innymi. Potok dzieli się na 3 sekcje: a. 8-stopniowa sekcja IN ORDER b. 3-stopniowa sekcja OUT OF ORDER c. 3-stopniowa sekcja IN ORDER Wykonywanie rozkazów w sekcji OUT OF ORDER jest _sterowane_przepływem_danych_. 3. Dłuższa tablica przewidywania rozgałęzień - 512 lokacji i 4 bity historii. Dzięki temu współczynnik trafień wzrósł z 80% do 90%. 4. Umieszczenie w jednej obudowie procesora i pamięci cache L2 (256 lub 512 KB - 15,5 lub 31 mln tranzystorów). Cache L2 może pracować z pełną szybkością magistrali procesora. 5. Udoskonalenie jednostki zmiennoprzecinkowej - pełna potokowość. 6. Wprowadzenie magistrali transakcyjnej. Procesor może zainicjować do 8 operacji zapisu i odczytu i odbierać dane, gdy urządzenia będą gotowe. 7. Umieszczenie wewnątrz procesora modułów arbitrażu pozwalających budować systemy 4-procesorowe bez dodatkowych układów zewnętrznych. 8. Zmniejszenie napięcie zasilania. Z procesora wyprowadzono sygnały umożliwiające sterowanie napięciem zasilania (przewidziano dalsze zmniejszanie napięcia zasilania w następnych procesorach).