piasecki,Podstawy techniki cyfrowej i mikroprocesorowej I,pytania i odpowiedzi egzamin

background image

1.Co to jest procesor, jak się je wykonuje?

Procesor:
- urządzenie cyfrowe
- sekwencyjnie przetwarza informacje w sposób zadany z zewnątrz. (potrafi pobierać dane z pamięci,

interpretować je i wykonywać jako rozkazy)

- wykonywany zwykle jako układ scalony zamknięty w hermetycznej obudowie, często posiadający

złocone wyprowadzenia (stosowane ze względu na własności stykowe tego metalu)

- jego sercem jest monokryształ krzemu, na który naniesiono techniką fotolitografii szereg warstw

półprzewodnikowych, tworzących, w zależności od zastosowania, sieć od kilku tysięcy do

kilkuset milionów tranzystorów

Mikroprocesor
- układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji, wykonany w

technologii mikroelektronicznej.

- zdolny do wykonywania operacji cyfrowych według dostarczonych mu instrukcji
- klasyfikacja według długość słowa na którym wykonywane są operacje (8, 16, 32, 64-bitowe)
- składają się z zespołów połączonych ze sobą wewnętrzną magistralą danych:

zespołu rejestrów jednostki centralnej
układu sterowania (

CU

) z rejestrem rozkazów i dekoderem rozkazów

jednostki arytmetyczno-logiczna (

ALU

)

2.Co to jest system mikroprocesorowy?

System mikroprocesorowy - system do realizacji dowolnego zadania dającego się sprawdzić i do
przetwarzania wektorów informacji cyfrowej. W skład takiego systemu wchodzi sprzęt elektroniczny i
oprogramowanie.
Typowy system mikroprocesorowy składa się z:

mikroprocesora
pamięci operacyjnej RAM
pamięci stałej ROM
układów wejścia/wyjścia
układów sterujących przepływem informacji między tymi elementami.

3.Co to jest informacja, kod? Jak koduje się informacje w systemach mikroprocesorowych?

Informacja - indywidualna lub grupowa interpretacja otrzymanego ciągu sygnałów, musi zawsze
opisywać stan jakiejś dziedziny.
System mikroprocesorowy wymaga przedstawienia informacji w postaci cyfrowej – wszystkie dane
przedstawiane są w postaci ciągu liczb. W systemach cyfrowych liczby reprezentowane są w dwójkowym
systemie pozycyjnym.Podstawową porcją danych jest bajt, natomiast elementarną jednostką danych jest
bit(bajt składa się z 8 bitów).
Informacje nie-liczbowe wymagają określenia funkcji przekształcającej je w wartości liczbowe.

4.Opisz reprezentacje liczb (całkowite ze znakiem i bez, stałoprzecinkowe, zmiennoprzecinkowe)

W systemach mikroprocesorowych n - bitowe liczby całkowite mogą być traktowane jako:
- liczba całkowita bez znaku <0;

1

2

n

>

- liczba całkowita ze znakiem (kod U2) <-

1

2

n

;

1

2

n

-1>

liczba ujemna w kodzie U2 – najstarszy bit to 1.
liczba dodatnia w U2 – najstarszy bit to 0.

- liczba stałoprzecinkowa – najmłodszy bit ma wagę

( )

n

½

, gdzie n jest całkowite i większe od zera.

Reprezentacja x3 x2 x1 x0 , p1 p2 p3 p4 przedstawiona jest następująco:

3

2

2

2

1

2

0

2 ,

( )

1

½

( )

2

½

( )

3

½

( )

4

½

- liczba zmiennoprzecinkowa – część liczby to mantysa, część to wykładnik:
n = (-1)^znak * 2^(wykładnik – wykładnik bazowy) * 1.mantysa

5.Co to jest program?

background image

Program - zbiór elementarnych rozkazów, których wykonanie realizuje zadanie. Program zapisywany jest
w pamięci. Programowanie procesora polega na podziale złożonego i ogólnie określonego zadania na
elementarne polecenia możliwe do wykonania w procesorze.

6.Wyjaśnij pojęcia – kod maszynowy, assembler, mnemonik, operand

Kod maszynowy – zbiór elementarnych rozkazów realizowalnych przez procesor
Assembler – program, który tłumaczy z języka asemblera na kod maszynowy(asemblacja),

odpowiednikiem w językach wysokiego poziomu jest kompilacja

Mnemonik – skrótowy zapis czynności oraz argumentów w postaci czytelnej dla człowieka,

wykorzystywany w rozkazach wykonywalnych przez procesor.

Operand – argument instrukcji, operandem może być np. liczba, rejestr

7.Podstawowe elementy składowe mikroprocesora, wymień ich zadania

Układ sterowania – zapewnia taktowanie wszystkich elementów składowych mikroprocesora, pobiera z

pamięci i dekoduje kolejne rozkazy programu w określonym porządku, kieruje rozkazy do
wykonania przez ALU, steruje pracą rejestrów, pobiera i zapisuje z i do pamięci

przetwarzane dane, wysyła sygnały niezbędne do współpracy z układami pamięci oraz wejścia/wyjścia.
Rejestry – przechowywanie danych wejściowych przetwarzanych przez ALU i wyników tego

przetwarzania, zliczanie powtórzeń fragmentu programu, wskazywanie miejsca w pamięci

z/do

którego należy pobrać/zapisać dane, przechowywanie danych o bieżącym stanie procesora.

Jednostka arytmetyczno-logiczna(ALU) - układ cyfrowy wykonujący działania arytmetyczne i logiczne

(dodawanie, odejmowanie, AND, OR, przesunięcia bitowe), podstawowa jednostka

obliczeniowa
Sterownik magistrali – współpraca z magistralą danych i magistralą adresową, przekazywanie rozkazów.

8.Jak działa stos, do czego jest używany?

Stos - liniowa struktura danych, w której dane dokładane są na wierzch stosu i z wierzchołka stosu są
pobierane. Elementy stosu poniżej wierzchołka stosu można wyłącznie obejrzeć, aby je ściągnąć, trzeba
najpierw po kolei ściągnąć to, co jest nad nimi.
Może być używany do odwrócenia kolejności przetwarzania danych.

9.Rodzaje rejestrów w 8086

Blok rejestrów składa się z 4 par rejestrów 8 – bitowych, oraz 4 rejestrów 16-bitowych.
Rejestry danych:

AX lub AH, AL - rejestr akumulatora
BX lub BH, BL - rejestr bazowy
CX lub CH, CL - rejestr zliczający
DX lub DH, DL - rejestr danych

Rejestry wskaźnikowe:

SP - wskaźnik stosu
BP - wskaźnik bazy
DI - rejestr adresu przeznaczenia
SI - rejestr adresu źródłowego

Rejestry segmentowe:

CS – segment kodu
DS – segment danych
SS – segment stosu
ES – segment danych

background image

Rejestry specjalne:

IP – wskaźnik rozkazów
FR – rejestry znaczników

10. Mechanizm obliczania adresu efektywnego w 8086
Adres efektywny obliczany jest na podstawie wartości rejestru segmentowego i przesunięcia:
Adres = segment*16 + przesunięcie

11. Co to są tryby adresowania?

Tryby adresowania - sposoby w jaki mogą zostać dostarczone argumenty poleceń do ALU.

12. Jakie tryby adresowania udostępnia 8086?

• Adresowanie za pomocą rejestru

– Dana znajduje się w rejestrze procesora
– Zwarte, najszybsze
– np. polecenie dodania dwu rejestrów

• Adresowanie natychmiastowe

– Dana jest stałą liczbą umieszczoną w kodzie programu
– np. polecenie dodania liczby 13 do wartości rejestru AX

• Adresowanie bezpośrednie

– Dana znajduje się w pamięci w segmencie danych a przesunięcie zawarte jest w kodzie programu

• Adresowanie pośrednie przez rejestr

– Dana znajduje się w pamięci w segmencie danych a przesunięcie zawarte jest w jednym z

rejestrów: BP, BX, SI lub DI

• Adresowanie łańcuchów

– wykorzystywane przy przetwarzaniu ciągów danych
– przesunięcie w adresie danych źródłowych zawarte w SI
– przesunięcie w adresie danych wynikowych zawarte w DI
– po wykonaniu elementarnego polecenia wartości SI i DI ulegają zmianie

• Adresowanie bezpośrednie portu we/wy

– adres portu zawarty w kodzie programu (0-255)

• Adresowanie pośrednie portu we/wy

– adres portu zawarty w rejestrze DX

13. Opisz fazy wykonania rozkazów programu w 8086

[Rozkazy operujące na ciągach słów posługują się rejestrami indeksowymi. Rejestry SI i DI zawierają
adresy efektywne pierwszego słowa odpowiednio w ciągu źródłowym i wynikowym. Po każdej transmisji
wartości rejestrów indeksowych są automatycznie inkrementowane lub dekrementowane w zależności od
ustawienia bitu DF w rejestrze znaczników. Rozkazy operujące na rejestrach WE/WY zawierają adres
WE/WY (adres natychmiastowy) lub posługują się zawartością rejestru DX (adresowanie pośrednie).]

Istnieje 5 faz cyklu pracy procesora, w zależności od rodzaju rozkazu w jednym cyklu mogą wystąpić
maksymalnie cztery z nich.
- pobranie – kod rozkazu zostaje pobrany z pamięci do zestawu rejestrów tworzących kolejkę rozkazów,

skąd trafi do rejestru rozkazów IR procesora;

- dekodowanie – w tej fazie rozkaz jest dekodowany i ustalane są (jeśli wymaga tego typ rozkazu)

połączenia arytmometru z rejestrami, które mają dostarczyć argumentów operacji;

- odczyt – jeśli rozkaz wymaga argumentu z pamięci operacyjnej, to zostaje obliczony jego adres, a

następnie argument jest odczytywany i wprowadzany do procesora;

- wykonanie – w tej fazie operacja zdefiniowana rozkazem jest wykonywana;

background image

- zapis – jeśli wynik operacji ma być umieszczony w pamięci operacyjnej, to zostaje obliczony adres i

wykonany zapis do pamięci.

Podstawowy cykl roboczy jednostki wykonawczej rozpoczyna się kiedy rozkaz po opuszczeniu kolejki
trafia do rejestru rozkazów, gdzie jest dekodowany. Układy dekodujące inicjują wykonanie.

14. Do czego służą (podaj przykłady każdego z rodzajów) i jaki mają wpływ na rejestry, dane w

pamięci, słowo stanu procesora rozkazy w procesorze 8086:

14.1. przesłania danych - MOV
- przesłanie danej z rejestru do rejestru lub pamięci. Instrukcja mov przesyła daną pomiędzy dwoma

miejscami. Oba argumenty muszą być tego samego rozmiaru.

- Przykłady:

MOV reg, reg ;przesłanie danej między rejestrami
MOV mem, reg ;przesłanie danej z rejestru do pamięci
MOV reg, mem ;przesłanie danej z pamięci do rejestru
MOV reg, stała ;załadownie rejestru stałą
MOV mem, stała ;załadowanie pamięci stałą
MOV reg, seg ;przeslanie danej z rejestru segmentowego do rejestru
MOV mem, seg ;przesłanie danej z rejestru segmentowego do pamięci
MOV seg, reg ;przeslanie danej z rejestru do rejestru segmentowego
MOV seg, mem ;przesłanie danej z pamięci do rejestru segmentowego
MOV reg, spc1 ;przesłanie danej z rejestru specjalnego procesora do rejestru 32 bitowego
MOV spc1, reg ;przesłanie danej z rejestru 32 bitowego do rejestru specjalnego procesora

Znaczniki bez zmian.

14.2. operacji na stosie
- PUSH – umieszczenie danej na stosie

Zastosowanie: przesłanie słowa na szczyt stosu.
Składnia:
PUSH reg/mem = prześlij 16-bitową wartość z rejestru lub pamięci na szczyt stosu
PUSH stała = prześlij stała na stos
Znaczniki bez zmian.

- POP – zdjęcie danej ze stosu

Zastosowanie:pobranie słowa lub podwójnego słowa ze szczytu stosu, a następnie
modyfikacja wskaźnika stosu.
Składnia:
POP reg/mem = pobranie danej ze szczytu stosu do rejestru albo miejsca w pamięci

SP (rejestr wskaźnikowy) jest wskaźnikiem stosu, który wskazuje adres ostatniego zapisanego słowa
na stosie. Jego zawartość jest automatycznie inkrementowana lub dekrementowana w zależności od
wykonywanej operacji (POP, PUSH).

14.3. arytmetyczne
Realizowane przez ALU na podstawie danych z rejestrów lub dostarczonych przez CU
Modyfikują wartości znaczników.
- C – przeniesienie
- A – przeniesienie pomiędzy połówkami bajtu
- S – znak, ustawiany zgodnie z najstarszym bitem wyniku operacji arytmetycznej
- Z – zero, ustawiany gdy wynik operacji arytmetycznej jest równy zero
- P – parzystość, ustawiany gdy wśród 8 najmłodszych bitów wyniku jest parzysta ilość 1
- O – nadmiar, ustawiany gdy wynik operacji ma zbyt dużą liczbę bitów aby zmieścił się bez utraty
informacji

background image

Przykłady:

ADD - dodawanie – 2 argumenty (jeden może być adresem)

np. ADD AX, BX AX=AX+BX

ADC – dodawanie z przeniesieniem – 2 argumenty (jeden może być adresem) używane gdy

dodajemy liczby wielobajtowe
Np. ADC AX, BX AX=AX+BX+C

INC – zwiększenie o 1, nie modyfikuje znacznika C

Np. INC AX AX=AX+1

SUB – odejmowanie, 2 argumenty, jeden może być adresem

Np. SUB AX, BX AX=AX-BX

SBB – odejmowanie z pożyczką, 2 argumenty, jeden może być adresem, używane przy

dejmowaniu liczb wielobajtowych
Np. SBB AX, BX AX=AX-AX-C

DEC – zmniejszenie o 1, 1 argument, nie modyfikuje C

Np. DEC AX AX=AX-1

MUL – mnożenie bez znaku, 1 argument, modyfikuje znaczniki C, O, reszta nieokreślona

Np. 8 bitów: MUL BL AX=AL*BL
16 bitów: MUL BX (DX,AX)=AX*BX

IMUL – mnożenie liczb ze znakiem (przykłady te same tylko zamiast MUL jest IMUL)
CMP – porównanie, 2 argumenty, jeden może być adresem, znaczniki jak przy SUB tylko

wartość rejestrów nie ulega zmianie

DIV – dzielenie bez znaku, 1 argument, znaczniki nieokreślone

Np. 8 bitów: DIV BL AL.=AX/BL, AH=reszta
16 bitów: DIV BX AX=(DX,AX)/BX, DX=reszta

IDIV – dzielenie ze znakiem, wszystko tak jak zwykłe dzielenie

14.4. operacji na kodzie BCD
AAA – uporządkowanie po dodawaniu
AAS – uporządkowanie po odejmowaniu
AAM – uporządkowanie po mnożeniu
AAD – uporządkowanie po dzieleniu
DAA – dziesietne uporządkowanie po dodawaniu
DAS – dziesiętne uporządkowanie po odejmowaniu

14.5. przesunięć i obrotów
przesunięcia –modyfikują znacznik C oraz O jeśli przy SAR zmienił się znak liczby
SAR – przesunięcie arytmetyczne w prawo, zachwuje znak liczby
SHR – przesunięcie logiczne w prawo
SAL – przesunięcie arytmetyczne w lewo, zachwuje znak liczby
SHL – przesunięcie logiczne w lewo
Np. SHL AX,3 – przesunięcie o 3 bity w lewo
Obroty:

ROL – obrót w lewo
ROR – obrót w prawo
Np. ROL AL.,3 oznacza obrót w lewo o 3 bity
RCL – obrót ze znacznikiem C w lewo
RCR – obrót ze znacznikiem C w prawo

14.6. operacji logicznych
AND, OR, XOR operacja wykonywana na każdym bicie argumentów z osobna
Modyfikuje znaczniki S, Z, P, O, C
NOT negacja wszystkich bitów, nie neguje znaczników
TEST to samo co AND tylko nie zmienia wartości rejestrów

background image

14.7. przeniesienia sterowania
powodują zmiany sekwencyjności wykonania programu poprzez zmiany wartości rejestru IP lub
CS:IP, są wykonywane przez CU
Skok bezwarunkowy – JMP
Krótki: IP=IP+A
Bliski: IP=DISP
Daleki: nowe wartości IP i CS

Instrukcja skoku JMP ma trzy różne wersje, które różnią sie miedzy sobą tylko zasięgiem skoku.
Zakres skoków krótkich wynosi od -128 do 127 bajtów.
Skoki warunkowe – (przykłady, oczywiście nie musicie znać wszystkich, to byłaby już przesada i to
spora)

Testy po operacjach arytmetycznych na liczbach bez znaku:
JB/JNAE - jeśli mniejsze/nie większe i nie równe (CF=1)
JAE/JNB - jeśli większe lub równe/nie mniejsze (CF=0)
JBE/JNA - jeśli mniejsze lub równe/nie większe (CF=1 i ZF=1)
JA/JNBE - jeśli mniejsze/nie większe i nie równe (CF=0 ZF=0)

Testy po operacjach arytmetycznych na liczbach ze znakiem:
JL/JNGE - jeśli mniejsze / nie większe i nie równe (SF<>OF)
JGE/JNL - jeśli większe lub równe / nie mniejsze (SF=OF)
JLE/JNG - jeśli mniejsze lub równe / nie większe (ZF=1 lub SF <>OF)
JG/JNLE jeśli większe / nie mniejsze i nie równe (ZF=0 lub SF =OF)

Testy równości:
JE/JZ - jeśli równe /zero (ZF=1)
JNE/JNZ - nieśli nie równe zero (ZF=0)

Testy znaku:
JS - jeśli ujemne (SF=1)
JNS - jeśli dodatnie (SF=0)

Testy przeniesienia:
JC - jeśli wystąpiło przeniesienie
JNC - jeśli nie wystąpiło przeniesienie

Testy nadmiaru:
JO - jeśli wystąpił nadmiar
JNO - jeśli nie wystąpił nadmiar

Testy parzystości:
JP/JPE - jeśli parzyste (PF=1)
JNP/JPO - jeśli nie parzyste (PF=0)

Pętle:

LOOP pętla bezwarunkowa, tylko krótkie skoki, zmniejszenie CX, tylko gdy CX różne od 0
LOOPE, LOOPZ, LOOPNE, LOOPNZ zmniejszenie CX, tylko krótkie skoki, zachodzi gdy
CX różne od 0 oraz dla LOOPE, LOOPZ: Z=1; LOOPNE, LOOPNZ: Z=0

CALL – wywołanie podprogramu, bliskie i dalekie, przed przeniesieniem sterowania w nowe
miejsce adres rozkazu bezpośrednio następującego po CALL jest dokładany na stos

RET – powrót z podprogramu, bliski IP = wartość ze stosu, daleki CS:IP = dwa słowa ze
stosu

background image

14.8. operacji na łańcuchach
Po wykonaniu modyfikują odpowiednio wartości rejestrów SI, DI
Składają się z przedrostka REP, REPE, REPZ, REPNE, REPNZ (zmniejszają CX o 1 po wykonaniu
rozkazu; REP używany z MOVS i STOS, oznacza powtarzanie rozkazu gdy CX różne od zera;
REPE – powtarzanie gdy zgodność;
REPZ – powtarzanie gry zero;
REPNE – powtarzanie gdy brak zgodności;
REPNZ – powtarzanie gdy zero)
i rozkazu łańcuchowego

MOVS – przepisanie spod DS:[SI] do ES:[DI],
CMPS – porównanie DS:[SI] do ES[DI],
SCAS – porównanie kolejnych elementów ES:[DI] z wartością z AX (AL),
LODS – AX (AL) = DS:[SI],
STOS – ES:[DI] = AX (AL.)

15. Omów szybkość wykonania rozkazów przez procesor 8086.

W zależności od wersji mikroprocesor 8086 może być taktowany zegarem o częstotliwości 5, 8 lub 10
MHz. Czas wykonania rozkazu zależy od rodzaju rozkazu i użytego trybu adresowania.
Czas obliczania adresu efektywnego:

- bezpośrednie 6 clk
- bazowe, indeksowe bez przesunięcia 5 clk
- bazowe, indeksowe z przesunięciem 9 clk
- bazowo-indeksowe bez przesunięcia 7 clk (BP+DI, BX+SI) lub 8 clk (BP+DI, BX+DI)
- bazowo-indeksowe z przesunięciem o 11 clk (BP+DI+DISP, BX+SI+DISP) lub 12 clk

(BP+DI+DISP, BX+DI+DISP)

Czas wykonywania rozkazów:

- CBW, CLC, REP 2 clk
- MOV 2 clk (rejestry), 8 clk (rejestr-pamięć), 10 clk (akumulator-pamięć)
- ADD 3 clk (rejestry), 9 clk + AE (rejestr-pamięć)
- JZ 16 clk gdy skok, 4 clk gdy brak skoku
- XLAT 11 clk
- MUL (16-bit) 118-113 clk
- DIV (16-bit) 144-162 clk

16. Co to są procesory CISC i RISC?

CISC (Complex Instruction Set Computer) – architektura procesora wykorzystująca złożoną listę
rozkazów. Charakterystyczne dla tego typu architektury jest to, że na wykonanie jednej instrukcji potrzeba
więcej niż jednego cyklu zegarowego.

RISC (Reduced Instruction Set Computer) – architektura procesora o uproszczonej liście rozkazów o
stałej długości. W jednym cyklu zegarowym można zawsze wykonać co najmniej jedną instrukcję. Dzięki
rozbiciu przetwarzania rozkazu na kilka prostych etapów, które mogą być wykonane przez proste
autonomiczne jednostki, łatwiej można skonstruować CPU z większą częstotliwością zegara taktującego.

17. Do czego służy pamięć?

Do przechowywania programu lub danych przez określony czas.

18. Jak klasyfikujemy pamięci?

Ze względu na trwałość:

- ulotne
- nielotne

background image

Ze względu na możliwość zmiany informacji:

- do zapisu i odczytu
- tylko do odczytu

Ze względu na sposób dostępu:

- dostęp swobody
- dostęp sekwencyjny

19. Parametry pamięci.

- pojemność i organizacja
- czas dostępu
- szybkość
- napięcie pracy, moc strat

20. Omów budowę, cechy charakterystyczne, klasyfikację i sposób działania pamięci:

20.1. SRAM
Półprzewodnikowa ulotna pamięć statyczna o dostępie swobodnym, możliwy zapis i odczyt.
Złożona z szeregu komórek, w skład których wchodzi po 6 tranzystorów MOS. Praktycznie brak
poboru prądu przy pracy statycznej. Szybka praca – czas dostępu 0,4ns. Duży koszt jednostkowy.
Odczyt: stan wysoki na linii słów dołącza przerzutnik do linii bitów umożliwiając odczyt.
Zapis: wymuszenie stanów na obu liniach bitów wraz z uaktywnieniem linii słów powoduje zmianę
stanu przerzutnika zgodnie z bieżącym stanem linii bitów.

20.2. DRAM
Pamięć ulotna do zapisu i odczytu. Jednostkowo najtańsze.
W pamięci DRAM każdy bit informacji przechowywany jest w postaci ładunku elektrycznego w
kondensatorze typu trench (duża pojemność, mała powierzchnia). Połączenie z kondensatorem jest
włączane i wyłączane za pomocą tranzystora polowego.
Zapis: ładowanie kondensatora do napięcia na linii bitów. Ze względu na upływność kondensatora
konieczne jest cykliczne odświeżanie – ponowny zapis (co 65 ms).
Odczyt: Zmiana napięcia na wstępnie naładowanej linii bitów. Polega na detekcji zmian napięcia na
linii bitów po uaktywnieniu linii słowa. Zaraz po odczycie konieczne jest ponowne zapisanie
danych, ponieważ odczyt zmienia ładunek na kondensatorze.
Czas dostępu wyższy niż SRAM.

20.3. ROM
Pamięć nieulotna, tylko do odczytu. Zawartość ustalana na etapie projektowania masek do
wykonania układu scalonego. Zawiera stałe dane potrzebne do działania urządzenia, które muszą
być zachowane nawet przy braku zasilania.

20.4. PROM
Pamięć nieulotna, tylko do odczytu, programowana jednorazowo poprzez przepalanie połączeń
między ścieżkami w specjalnym programatorze.

20.5. EPROM
Pamięć nieulotna z pływającą bramką. Zbudowana z tranzystorów MOS z pływającą bramką.
Programowalna elektrycznie, kasowana przez naświetlanie UV. Trwałość 10-20 lat. Ładowanie
bramki pływającej przez wstrzykiwanie gorących nośników. Rozładowywanie bramki pływającej
przez naświetlanie UV jonizujące izolator bramki.

20.6. EEPROM
Nieulotna pamięć programowalna i kasowalna elektrycznie, zbudowana z tranzystorów MOS z
pływającą bramką. Żywotność

6

3

10

10

cykli zapisu. Ładowanie i rozładowywanie bramki

pływającej przez emisję polową.

background image

20.7. FLASH
Nieulotna pamięć programowalna i kasowalna elektrycznie, zbudowana z tranzystorów MOS z
pływającą bramką. Jest odmianą EEPROM w której zapis i odczyt odbywa się blokami danych co
zwiększa wydajność i żywotność.

20.8. FRAM
Pamięć nieulotna wykorzystująca ferroelektryk. Zapis przez polaryzację elektryczną
ferromagnetyka. Nieulotność zapewniona przez trwałą polaryzację ferromagnetyka. Prędkość
działania zbliżona do DRAM. Wysoka żywotność –

16

10

cykli zapisu.

21. Porównaj DRAM i SRAM

Parametr

DRAM

SRAM

Czas dostępu

60-70 ns

0,4 ns

Koszt jednostkowy

niski

wysoki

Budowa

prosta

skomplikowana

Odświeżanie

konieczne

niekonieczne

Odczyt i zapis

skomplikowany

nieskomplikowany

22. Porównaj EEPROM i FRAM

Parametr

EEPROM

FRAM

Budowa

pływająca bramka

ferroelektryk(PZT)

Mechanizm polaryzacji

bramki

emisja polowa

trwała polaryzacja

ferroelektryka

Żywotność

6

3

10

10

cykli

16

10

cykli

Szybkość

wolne

szybkie

Koszt

niski

bardzo wysoki

23. Porównaj EPROM i EEPROM

Parametr

EEPROM

EPROM

Ładowanie/rozładowanie

bramki

emisja polowa /emisja polowa

wstrzykiwanie gorących

nośników / UV

Żywotność

6

3

10

10

cykli

10-20 lat

24. Porównaj ROM i PROM

Parametr

ROM

PROM

Zawartość pamięci

ustalana na etapie produkcji programowana jednorazowo

Zapis/odczyt

tylko odczyt

tylko odczyt

25. Co to jest magistrala? Klasyfikacja magistral, podaj przykłady.

Magistrala jest to podsystem zapewniający przesyłanie danych oraz często zasilanie pomiędzy elementami
składowymi systemu mikroprocesorowego bądź pomiędzy systemami.
Umożliwia komunikowanie się pomiędzy więcej niż dwoma elementami używając tego samego zestawu
połączeń.

Magistrale możemy podzielić ze względu na sposób realizacji połączenia na:

- równoległe, szeregowe;
- synchroniczne, asynchroniczne;
- niezbalansowane, różnicowe;
- full-duplex (transmisja w dwie strony jednocześnie), half-duplex (transmisja w jedna stronę w

danym czasie)

background image

Przykłady:
- np. magistrale pamięci, magistrale danych, itp.
- równoległa – porcje danych przesyłane są jednocześnie zestawem równoległych połączeń, z których
każde odpowiada za przesłanie określonego bitu
- szeregowa – bity danych przesyłane kolejno np. RS232-asynchroniczna
- równoległa z multipleksowaniem – bity przesyłane kolejno przez zestaw połączeń równoległych, z
których każdy odpowiada na przesłanie określonego bitu

26. Co to jest magistrala lokalna? Podaj i omów przykład.

Magistrala służąca do łączenia elementów bezpośrednio współpracujących z mikroprocesorem.
Magistrala lokalna składa się z:

- sygnału zegarowego
- linii adresowych
- linii danych
- linii R/W określającej czy CPU żąda zapisu czy odczytu
- linii M/IO określającej czy CPI żąda komunikacji z pamięcią czy urządzeniem we/wy
- linii pomocniczych

Przykład:
Magistrala lokalna wykorzystywana przy współpracy mikrokontrolera Atmega8515 z pamięcią SRAM.
Jest to magistrala multipleksowana, młodsze 8 bitów jest współdzielone pomiędzy dane i adres.
Wykorzystywany jest zatrzask sterowany sygnałem ALE.

27. Architektura Harvard i Von Neumanna.

Architektura Harvard:

- osobne magistrale danych i programu
- mogą różnić się parametrami (szerokość, typ pamięci)
- większa złożoność
- (zmodyfikowany Harvard) możliwość taktowania zawartości pamięci programu jako dane tylko do

odczytu

Architektura

von Neumann:

- wspólna magistrala danych i programu
- prostsza architektura systemu mikroprocesorowego
- magistrala staje się wąskim gardłem (pobranie rozkazu i danej z pamięci jednocześnie jest

niemożliwe)

28. Co to jest logika 3-stanowa, jak działa bufor 3-stanowy?

Logika 3-stanowa – istnienie trzeciego stanu logicznego – stanu wysokiej impedancji (Z)
(stany: - , 0 , + ; lub stany 0, 1, Z)
bufor 3-stanowy - jest podstawowym elementem budowy układu z logiką 3-stanową – przy nieaktywnym
wejściu Z normalnie przekazuje na wyjście stan podany na jego wejście logiczne. Wyjście bufora może
sterować kolejnymi bramkami logicznymi dołączonymi do tego wyjścia. Gdy wejście Z jest aktywne
wyjście bufora jest przełączane w stan wysokiej impedancji wyjściowej.

29. Jak jest realizowane uniwersalne wejście – wyjście?

Współpraca systemu mikroprocesorowego z urządzeniami zewnętrznymi, których nie można obsłużyć
przy pomocy układów bezpośredniego wejścia/wyjścia wymaga zastosowania uniwersalnych lub
specjalizowanych układów sprzęgających (określenie uniwersalne/specjalizowane określa czy dany układ
wejścia/wyjścia może być przystosowany do współpracy z wieloma różnorodnymi urządzeniami
zewnętrznymi czy jest dedykowany do jednego ściśle określonego urządzenia/zastosowania).
Uniwersalne układy wejścia/wyjścia dzieli się na dwie podstawowe grupy–układy równoległe
(przesyłanie na wielu liniach całych słów binarnych) i układy szeregowe (przesyłanie na jednej linii
kolejnych bitów słowa binarnego w takt sygnału zegarowego). Wiele układów wejścia/wyjścia
uniwersalnych i specjalizowanych to układy programowalne tzn. takie, w których sposób działania nie jest

background image

całkowicie określony przez rozwiązania sprzętowe (połączenia wewnątrz układu scalonego). Układy ten
wymagają procedury inicjującej, czyli wysłania przez mikroprocesor odpowiednich słów sterujących,
które zdeterminują sposób działania danego modułu.

30. W jaki sposób procesor współpracuje z wieloma urządzeniami za pomocą magistrali lokalnej?

Urządzenia podłączone są do magistrali lokalnej i dekodera. Za pomocą dekodera wybierane jest
odpowiednie urządzenie do/z którego ma nastąpić przesłanie danych lub adresu. Urządzenia I/O
wprowadza się za pomocą mapowania. Urządzenia I/O są obsługiwane przez polecenia przesłania danych
do urządzeń I/O i adresowane przez użycie przestrzeni adresowej I/O.

31. W jaki sposób procesor może komunikować się z urządzeniami wejścia-wyjścia za pomocą

magistrali lokalnej?

Polecenie OUT – rozkaz powoduje przesłanie danej z AX lub AL. Do urządzenia we/wy. Wykonanie
polecenia powoduje wystawienie na linię adresową numeru portu, na linię danych danej i ustawienie linii
M/

Ι

Ο

i

WR

w stan niski.

Polecenie IN – rozkaz powoduje przesłanie danej z urządzenia we/wy do AX lub AL. Powoduje
wystawienie na linię adresową numeru portu i ustawienie linii M/

Ι

Ο

w stan niski, linii

WR

w stan

wysoki, a następnie odczyt danej z magistrali danych.

32. Co to jest mapowanie do przestrzeni adresowej pamięci operacyjnej?

Urządzenia I/O zostały podłączone i komunikacja z nimi odbywa się przez wymianę danych w przestrzeni
adresowej mikroprocesora. Odwołania do adresów tych urządzeń spowoduje wymianę danych z nimi. To
jest tzw. mapping.

33. Co to jest port?

Port - linia we/wy z wewnętrznym buforowaniem. Rozróżniamy porty szeregowe i równoległe. Fizycznie
realizowane jako jedno z wyprowadzeń w kości mikrokontrolera.

34. Omów mechanizm przerwań (sposoby zgłaszania, priorytety, typy przerwań)

Przerwanie sprzętowe to asynchroniczny sygnał wysyłany przez urządzenie I/O oznaczające potrzebę
obsłużenia zdarzenia, jakie zaszło w tym urządzeniu.
Przerwanie programowe jest generowane przez wykonanie rozkazu wywołania przerwania w trakcie
wykonywania programu oznaczające przeniesienie sterowania. Użycie przerwań zwiększa efektywność
współpracy CPU z I/O.
Zgłaszanie przerwania następuje poprzez zmianę stanu logicznego na linii przerwań. Może to być:

- zmiana stanu logicznego z niskiego na wysoki i odwrotnie
- utrzymanie poziomu logicznego (przerwanie wywołane poziomem)
- wysłanie polecenia po magistrali

Przerwania maskowalne i niemaskowalne używa się przy współpracy z urządzeniami we/wy lub
urządzeniami kontrolującymi pracę systemu mikroprocesorowego. Przerwania mogą też służyć do
zgłaszania zdarzeń przy komunikacji pomiędzy CPU w systemach wieloprocesorowych.
W przypadku, gdy więcej niż jedno przerwanie czeka na wykonanie, wykonywane jest najpierw to o
wyższym priorytecie.

35. Jak zrealizowano przerwania w 8086?

8086 posiada dwa wyprowadzenia służące do zgłaszania przerwań:
- NMI – niemaskowalne, na które procesor reaguje zawsze o ile jest prawidłowo zgłoszone (przetrzymanie

w stanie aktywnym przez minimum 2 clk)

- INTR – maskowalne, którego realizacja zależy od flagi I w słowie stanu procesora. Zgłaszane poziomem
Procedura obsługi przerwania to podprogram umieszczony w pamięci operacyjnej mikroprocesora. Na
końcu podprogramu znajduje się polecenie powrotu z obsługi przerwania IRET. Tablica wektorów

background image

przerwań to obszar pamięci operacyjnej o adresach 00000h-0003FFh. Zawiera 256 4-bajtowych
elementów, z których każdy jest adresem procedury obsługi przerwania.
W chwili przyjęcia przerwania zgłaszane jest przyjęcie przerwania przez linię INTA. W czasie trwania
niskiego poziomu na INTA urządzenie I/O musi wysterować 8 młodszych bitów magistrali danych po
czym INTA wraca w stan wysoki. Słowo stanu mikroprocesora i CS:IP są dokładane na stos. Sterowanie
zostaje przeniesione do procedury obsługi przerwania. Jej adres pobierany jest z tablicy wektorów
przerwań – numer wektora odpowiada liczbie odczytanej z młodszych 8 bitów z szyny danych.
Umożliwia to wykonanie różnych procedur obsługi przerwań w przypadku zgłaszania ich przez różne
urządzenia. W trakcie obsługi przerwania przyjmowanie kolejnych zgłoszeń przerwań maskowalnych jest
zawieszone.

36. Jakie funkcje pełni programowalny sterownik przerwań?

Współpracuje z mikroprocesorem za pośrednictwem magistrali lokalnej.
Kolejkuje zgłoszenia zgodnie z ich priorytetami i zgłasza je procesorowi.
Umożliwia maskowanie poszczególnych linii zgłaszania przerwań.
Urządzenia I/O zgłaszają przerwania przez jedna z 8 możliwych linii przerwań.
• Jest to układ programowalny przez porty I/O

– programowane są priorytety przerwań
– przy zgłaszaniu przerwania 3 młodsze bity odpowiadają numerowi przerwania, zawartość 5

starszych można programować

– można maskować poszczególne linie zgłaszania przerwań
– można wywoływać programowo zadziałanie 8259A tak, jak przy zgłoszeniu przerwania z

zewnątrz

• Układy 8259A można łączyć kaskadowo aż do 8 sztuk tworząc układ przyjmujący do 64 przerwań o
różnych priorytetach

37. Kiedy stosujemy DMA?

W przypadku systemów mikroprocesorowych, w których należy zwiększyć efektywność urządzeń I/O
operujących na większych porcjach danych. DMA – Direct Memory Access.

38. Jak działa DMA?

Za sterowanie wymianą danych pomiędzy urządzeniami I/O a pamięcią operacyjną odpowiedzialny jest
specjalny sterownik DMA. Posiada on jeden lub więcej rejestrów pamiętających adres i przestrzeń
adresową źródła danych i przeznaczenia danych, ilość przesyłanych danych i postęp ich przesyłania.
Sterownik DMA dokonuje przesyłania danych z wykorzystanie, magistrali lokalnej współdzieląc ją z
CPU. Poprzez transfer DMA uzyskuje się możliwość realizacji programu przez CPU w trakcie przesyłania
danych. Układ DMA musi współdzielić czasowo magistralę lokalną z CPU Wykorzystywany jest sygnał
HOLD procesora.

39. Omów mechanizm działania pamięci wirtualnej.

Mechanizm pamięci wirtualnej pozwala na używanie przez mikroprocesor większej przestrzeni adresowej,
niż pojemność pamięci operacyjnej. W przypadku złożonych, wielozadaniowych systemów operacyjnych,
mechanizmy pamięci wirtualnej umożliwiają wyodrębnienie obszarów pamięci, które ma do dyspozycji
każdy proces z osobna.
Pamięć wirtualna działa na zasadzie przedefiniowania adresów pamięci tak, aby "oszukać" procesy i dać
im wrażenie pracy w ciągłej przestrzeni adresowej. Systemy korzystające z tej techniki ułatwiają
tworzenie rozbudowanych aplikacji oraz poprawiają wykorzystanie fizycznej pamięci RAM.

40. Pamięć podręczna (przyczyny stosowania, ogólna zasada działania, asocjacyjność, strategie
odczytu i zapisu)
Stosuję się ją do rozwiązania problemu zmniejszenia średniego czasu dostępu do pamięci operacyjnej przy
zachowaniu ekonomicznej opłacalności, ze względu na dużo szybsze działanie procesora niż pamięci
operacyjnej. Pamięć podręczna ma krótki czas dostępu.

background image

Procesor pobierając dane z pamięci sprawdza najpierw, czy nie znajdują się one w pamięci podręcznej.
Jeśli nie, pobiera je z pamięci głównej.
Odczytane dane zostają zapisane w pamięci podręcznej. (kasowanie najstarszych danych lub analiza
statystyczna odwołań do pamięci)
Gdy dane zostają zapisane do pamięci podręcznej muszą one zostać również przepisane do pamięci
głównej. (dana jest zapisywana od razu do pamięci głównej lub najpierw do cache a do pamięci głównej z
opóźnieniem)
Asocjacyjność – ograniczenia na swobodę wykorzystania komórek pamięci podręcznej wprowadzone w
celu uproszczenia zarządzania tą pamięcią.
Gdy nie ma ograniczeń pamięć nazywamy w pełni asocjacyjną, gdy jest ściśle określona reguła
przyporządkowująca adresy w cache mówimy o asocjacyjności 1stopnia. Kompromisem między
złożonością a wydajnością jest cache o asocjacyjności stopnia 2-4.

41. Przetwarzanie potokowe (zasada działania, zalety, wady)

Polega na rozbiciu procedury przetwarzania wstępnego, wykonania i przetwarzania wyników wykonania
polecenia na etapy realizowane przez niezależne od siebie jednostki wykonawcze.
Prowadzi do równoległego przetwarzania więcej niż jednego polecenia w danej chwili, co zwiększa
wydajność CPU.

42. Przewidywanie skoków (zasada działania, strategie)

W celu wyeliminowania unieważniania rozkazów pobranych i wstępnie przetworzonych na
wcześniejszych etapach potoku, na etapie pobrania poleceń zmienia się kolejność pobieranych i
dekodowanych poleceń zgodnie z wynikiem przewidywanego skoku.
W przypadku skoków bezwarunkowych jest to proste, w przypadku skoków warunkowych stosuje się
następujące strategie:

- trywialna – skok warunkowy nie będzie wykonany
- statyczna – skok wstecz będzie wykonany, w przód nie
- przewidywania oparte na statycznej analizie wykonania skoków

Pamięć cache wraz ze specjalna jednostką CPU wykorzystuje się do przewidywania adresów skoków.

43. Superskalarność (zasada działania, zalety, ograniczenia, VLIW)

Procesy superskalarne wprowadzają nie tylko przesunięcie w czasie etapów przetwarzania poleceń ale też
możliwość równoległego wykonania tych samych etapów. Wymaga to zbudowania jednostek
wykonawczych w CPU.
Wydajność procesora superskalarnego rośnie ale nie proporcjonalnie do liczby zdublowanych torów
wykonawczych. Nie można zrównoleglić wykonania poleceń, które zależą od siebie.
Można to usprawnić analizując zależności pomiędzy poleceniami i zmienić kolejność ich wykonania.
VLIW – bardzo długie słowo poleceń
Ustalenie równoległości wykonania dobywa się na etapie kompilacji programu. Kompilator optymalizuje
kod maszynowy w taki sposób aby jak najlepiej wykorzystać możliwości procesora.

44. Wielordzeniowość i wieloprocesorowość mikroprocesorów

Współczesne systemy operacyjne umożliwiają rozdzielenie wykonywanych zadań na większą liczbę
procesorów niż 1.
Konstruuje się procesory wielordzeniowe, zawierające więcej niż 1 kompletny mikroprocesor. W
zależności od rozwiązania procesory te mogą współdzielić magistralę lub pamięć podręczną 2 lub 3
poziomu.


Wyszukiwarka

Podobne podstrony:
Tomasz Piasecki Podstawy techniki cyfrowej i mikroprocesorowej algebra boolea
mazurkiewicz,Podstawy techniki cyfrowej i mikroprocesorowej I, opracowanie zagadnień
Pytania i odpowiedzi Egzamin zawodowy technik hotelarstwa CZĘŚĆ 2 20 pytań
Pytania i odpowiedzi egzamin zawodowy 11 czerwiec Technik hotelarstwa CZĘŚĆ 1 50 PYTAŃ
4 Podstawy techniki cyfrowej, Podstawy techniki cyfrowej
Ochrona Środowiska w Energetyce – PYTANIA I ODPOWIEDZI Z EGZAMINU
Anna Zielińska - Podstawy prawne pracy socjalnej (pytania do egzaminu), Pedagogika UW
Kopia Podstawy nauki o przedsiebiorstwie turystycznym, pytania do egzaminu - licencjat HIT WSETINS
Podstawy nauki o przedsiebiorstwie turystycznym, pytania do egzaminu - licencjat HIT WSETINS
notatek pl fizyka pytania i odpowiedzi egzamin
Pytania i odpowiedzi z egzaminu żywienia zwierząt, Zootechnika SGGW, semestr IV, Żywienie
Pytania i odpowiedzi egzamin statax
Metodologia Pytania i odpowiedzi egzamin
LABORATORIUM TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ moje
Pytania i odpowiedzi-egzamin ochrona, Ochrona Osob

więcej podobnych podstron