Curs 2 Flashcards

Metode pentru operații de I/E (50 cards)

1
Q

Cum sunt transferate datele între UCP și
modulul de I/E ?

A

Datele sunt transferate sub controlul direct al UCP.

1) Fiecare operație de transfer necesită
execuția unei secvențe de instrucțiuni de
către UCP

2) Transferul se realizează între un registru al UCP și un registru al dispozitivului de I/E

3) Dispozitivul de I/E nu are acces direct la
memoria principală

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

Descrie execuția unei operații de I/E:

A

1) UCP transmite o comandă modulului de I/E

2) Modulul de I/E execută acțiunea respectivă și setează biții corespunzători în registrul de stare

3) UCP trebuie să testeze periodic starea
modulului de I/E pentru a detecta terminarea operației

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

Cum comunica UCP, memoria și dispozitivele de I/E ?

A

Acestea comunică prin magistrala sistem.

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

Cum este realizata conectarea unui dispozitiv de intrare/iesire (I/E) la magistrala unui sistem?

A

Dispozitivul de I/E este conectat la magistrală
printr-un port de I/E → registru adresabil

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

Care sunt tehnicile de adresare utilizate atunci cand UCP, memoria principala si sistemul de I/E partajeaza aceeasi magistrala?

A

Atunci când UCP, memoria principală și
sistemul de I/E partajează aceeași magistrală, sunt posibile două tehnici de adresare:
1) Adresare cu mapare în memorie
2) Adresare izolată

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

Descrieti adresarea cu mapare în memorie

A

1) Exista un singur spatiu de adrese comun atat pentru locatiile de memorie, cat si pentru dispozitivele de intrare/iesire (I/E).
2) Unitatea Centrala de Prelucrare (UCP) acceseaza registrele de stare si de date ale modulelor de I/E ca si cum ar fi locatii de memorie.
3) Se folosesc aceleasi instructiuni pentru accesarea memoriei si a dispozitivelor de I/E, fara a fi necesare instructiuni speciale pentru operatiile de intrare/iesire.

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

Care este rolul liniilor de control RD și WR?

A

Liniile de control RD și WR se utilizează pentru a iniția fie un ciclu de acces la memorie, fie un transfer de I/E

(vezi SIE METODE IE-1 slide 9)

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

Descrieti adresare izolată:

A

1) Spațiul adreselor de I/E este separat de cel al memoriei

2) Magistrala trebuie să conțină:
Linii de citire și de scriere pentru memorie
Linii de comandă pentru intrare și ieșire

3) O instrucțiune cu referire la memorie activează linia de control MRD sau MWR

4) UCP trebuie să execute instrucțiuni separate de I/E pentru a activa liniile IORD și IOWR

(vezi SIE METODE IE-1 slide 11)

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

Prin ce instructiuni pot fi implementate operatiile de intrare/iesire (I/E) programate?

A

I/E programate pot fi implementate prin cel
puțin două instrucțiuni de I/E
IN, OUT (Intel)

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

De ce trebuie UCP sa testeze starea dispozitivului de intrare/iesire (I/E)?

A

Pentru a preveni pierderea informațiilor sau
un timp de execuție nedefinit, UCP trebuie să testeze starea dispozitivului de I/E

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

Ce transmite UCP pentru executia unei instructiuni de intrare/iesire (I/E)?

A

Pentru execuția unei instrucțiuni de I/E, UCP
transmite:
O adresă: modulul de I/E și dispozitivul periferic
O comandă de I/E

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

Care sunt Tipurile de comenzi de I/E?

A

1) Control: pentru activarea unui periferic și
specificarea operației de executat

2) Test: pentru testarea condițiilor de stare
asociate cu un modul de I/E și perifericele
acestuia

3) Citire: pentru obținerea unui octet sau
cuvânt de la periferic

4) Scriere: pentru transmiterea unui octet sau cuvânt la periferic

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

Ce trebuie sa faca UCP pentru fiecare cuvant citit atunci cand transfera un bloc de date de la un periferic in memorie?

A

Pentru fiecare cuvânt citit, UCP trebuie să
rămână într-un ciclu de testare a stării

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

Cate locații și câte adrese de i/E sunt in adresare cu mapare în memorie si in cea izolata și adresele acestora?

A

512 locații de memorie (0x000 - 0x1FF)
512 adrese de I/E (0x200 - 0x3FF)

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

Performanța sistemului este redusă în
mod semnificativ, deoarece:

A

1) UCP trebuie să aștepte până când perifericul devine disponibil, iar apoi să execute transferul printr-o secvență de program
2) Rata de transfer este limitată de viteza cu
care UCP poate testa și deservi dispozitivele
de I/E

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

Ce este o intrerupere?

A

1) Întreruperea este suspendarea execuției unui program de către un semnal extern UCP sau de către un eveniment intern
2) Suspendarea programului se produce la
terminarea execuției instrucțiunii curente
3) UCP este eliberat de sarcina de a testa
starea dispozitivelor de I/E
4) Sursele de întreruperi pot fi externe sau
interne UCP

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

Dati exemple de surse de întrerupere

A

1) Echipamentele periferice → transferuri

2) Memoria virtuală → transferul unor pagini

3) Circuite hardware de supraveghere a
funcționării normale a sistemului: detectarea erorilor de memorie, a căderii tensiunii

4) Evenimente software interne: depășiri,
împărțiri la zero, instrucțiuni inexistente sau
privilegiate

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

Cum funcționează procesul de tratare a unei întreruperi într-un UCP atunci când se activează semnalul de control IREQ?

A

Pentru întreruperea UCP se activează un
semnal de control IREQ (Interrupt Request)
(Este setat un indicator de întrerupere)

La recunoașterea cererii de întrerupere,
UCP:
Activează un semnal de achitare a
întreruperii IACK (Interrupt Acknowledge)

Execută o subrutină de tratare a întreruperii,
asociată sursei de întrerupere

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

Care sunt pașii implicați în transferul controlului la subrutina de tratare a întreruperii într-un UCP?

A

Pentru transferul controlului la subrutina
de tratare a întreruperii:

1) UCP identifică sursa întreruperii

2) UCP determină adresa subrutinei de tratare corespunzătoare sursei întreruperii

3) UCP salvează contorul de program PC și alte informații de stare

4) UCP încarcă adresa subrutinei de tratare în contorul de program PC

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

Care sunt metodele prin care UCP determină adresa subrutinei de tratare a întreruperii și care este diferența între întreruperile ne-vectorizate și cele vectorizate?

A

UCP determină adresa subrutinei de tratare a întreruperii prin două metode, în funcție de tipul de întrerupere:

Întreruperi ne-vectorizate:
Adresa subrutinei de tratare este fixă în memorie, iar UCP cunoaște această locație dinainte.

Întreruperi vectorizate:
Adresa subrutinei de tratare este furnizată de către sursa întreruperii sub forma unui vector de întrerupere, care indică locația corespunzătoare în memorie.

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

Cum sunt înregistrate cererile de întrerupere într-un UCP?

A

Cererile de întrerupere sunt înregistrate într-un registru al cererilor de întrerupere, care păstrează o evidență a tuturor cererilor provenite de la surse diferite.

22
Q

Ce rol joacă registrul măștilor de întrerupere în controlul surselor de întrerupere?

A

Registrul măștilor de întrerupere gestionează bistabilii mască, care permit controlul individual asupra surselor de întrerupere.

23
Q

Care sunt principalele probleme întâmpinate în gestionarea cererilor de întrerupere simultane?

A

O problemă majoră este identificarea sursei de întrerupere, deoarece UCP trebuie să recunoască exact care sursă a generat cererea.

O altă problemă este alegerea întreruperii care va fi deservită, mai ales când există mai multe cereri simultane, ceea ce poate duce la conflicte de prioritate.

Pentru a rezolva aceste probleme, UCP folosește un sistem de prioritizare și selecție a cererilor pentru a asigura un răspuns eficient la fiecare întrerupere.

24
Q

Tehnici pentru identificarea sursei de
întrerupere:

A

1) Linii multiple de întrerupere
2) Interogare software
3) Conectarea dispozitivelor în lanț (interogare hardware)
4) Arbitrajul de magistrală

25
Descrieti tehnica liniilor multiple de întrerupere
Linii multiple de întrerupere între UCP și modulele de I/E: Soluția cea mai simplă Nu este practic să se dedice un număr prea mare de linii ale magistralei sau de pini ai procesorului pentru liniile de întrerupere De obicei, la fiecare linie vor fi conectate mai multe module de I/E
26
Descrieti thenica de interogare software (“polling”)
Interogare software (“polling”): Atunci când UCP detectează o întrerupere, execută o subrutină de tratare a întreruperii Se interoghează modulele de I/E pentru a determina modulul generator al întreruperii Pentru interogare se poate utiliza o linie de comandă separată (de ex., TEST I/E) Fiecare modul de I/E poate conține un registru de stare adresabil
27
Descrieti thenica de Interogare hardware
Se utilizează un lanț de dispozitive (“daisy chain”) Toate modulele de I/E partajează o linie comună de cerere de întrerupere La detectarea unei cereri de întrerupere, UCP activează un semnal de achitare a întreruperii Linia de achitare a întreruperii este înlănțuită prin modulele de I/E Semnalul de achitare se propagă prin modulele de I/E până când ajunge la un modul solicitant Acest modul răspunde prin plasarea unui vector de întrerupere pe magistrala de date UCP utilizează vectorul ca un pointer la subrutina de tratare pentru modul Avantaj: nu este necesară execuția unei subrutine generale de tratare a întreruperii
28
Descrieti tehnica Arbitrajului de magistrală
Utilizează întreruperile vectorizate Un modul de I/E trebuie să preia mai întâi controlul asupra magistralei pentru a putea activa semnalul de cerere a întreruperii La detectarea întreruperii, UCP activează semnalul de achitare a întreruperii Modulul care a efectuat cererea își plasează vectorul pe liniile de date
29
Descrieti cazul cererilor simultane
În cazul cererilor simultane, este necesar un sistem de priorități Periferice rapide → prioritate înaltă Stabilirea priorității întreruperilor simultane se poate realiza prin software sau prin hardware
30
Descrieti Metoda software:
Identificarea sursei de prioritate maximă se realizează prin interogare Există o subrutină comună de tratare, care interoghează sursele de întrerupere Ordinea în care sunt interogate sursele determină prioritatea lor Dezavantaj: în cazul unui număr mare de surse, timpul necesar interogării crește
31
Descrieti Metoda hardware:
Un controler de întrerupere acceptă cereri de întrerupere de la mai multe surse și determină cererea cu prioritatea maximă Fiecare sursă de întrerupere are un vector propriu de întrerupere
32
Descrieti Conectarea în paralel a liniilor de întrerupere
Se utilizează un registru al cererilor de întrerupere RINT Biții acestuia sunt setați separat de cererile de întrerupere ale fiecărui dispozitiv Prioritatea este stabilită în funcție de poziția biților din registru Registrul măștilor de întrerupere RM permite controlul (dezactivarea) stării fiecărei cereri de întrerupere
33
Cum sunt gestionate cererile de întrerupere când liniile sunt conectate în paralel?
Cererile de întrerupere sunt înregistrate într-un registru RINT, iar biții acestuia sunt setați separat de cererile fiecărui dispozitiv. Prioritatea este stabilită în funcție de poziția biților din registru.
34
Ce rol joacă registrul măștilor de întrerupere în gestionarea cererilor?
Registrul măștilor de întrerupere (RM) permite controlul și dezactivarea stării fiecărei cereri de întrerupere, oferind posibilitatea de a masca sursele de întrerupere.
35
Ce funcție îndeplinește codificatorul prioritar în sistemul de întreruperi?
Codificatorul prioritar implementează funcția de prioritate, generând doi biți ai vectorului de întrerupere care sunt transferați la UCP prin buffere cu trei stări.
36
Cum se validează transferul vectorului de întrerupere?
Validarea bufferelor se face prin semnalul IACK de la UCP și prin bistabilii IST (stare întrerupere) și IEN (validare întrerupere).
37
Cum sunt conectate dispozitivele care pot genera cereri de întrerupere într-un sistem cu conectare în serie?
Dispozitivele sunt conectate în lanț, fiecare având o intrare PI (Priority In) și o ieșire PO (Priority Out). Dispozitivul cu prioritatea maximă este plasat în prima poziție.
38
Care este caracteristica liniei de cerere de întrerupere într-un sistem cu conectare în serie?
Linia de cerere a întreruperii este comună pentru toate dispozitivele, iar conexiunea este realizată printr-un cablu SAU, permițând astfel întreruperea oricărui dispozitiv din lanț.
39
Care este dezavantajul principal al I/E programate și al I/E prin întreruperi și cum îl rezolvă DMA?
Dezavantajul este că UCP este ocupată cu operațiile de I/E; DMA rezolvă această problemă prin transfer direct între memoria internă și sistemul de I/E, fără implicarea continuă a UCP.
40
Ce este necesar pentru realizarea transferurilor prin DMA?
Este necesar un modul suplimentar numit controler DMA.
41
Care sunt cele două metode de transfer prin DMA și cum funcționează?
Prima metodă este suspendarea operațiilor UCP și realizarea unui transfer “în rafală” (necesar de exemplu pentru discuri magnetice); UCP devine inactivă pe perioade mai lungi. A doua metodă este “furtul de ciclu” (“cycle stealing”), unde transferurile DMA se fac în pauzele când UCP nu accesează memoria, reducând interferența cu activitatea UCP, dar și rata de transfer.
42
Ce informatii sunt transmise controlerului DMA in secventa de initializare?
Directia transferului (citire sau scriere), adresa dispozitivului de I/E, adresa de inceput din memorie si numarul de octeti/cuvinte de transferat.
43
Ce face UCP dupa ce transmite controlerului DMA secventa de initializare?
UCP elibereaza magistrala si poate executa alte operatii.
44
Ce face controlerul DMA dupa terminarea transferului?
Genereaza o cerere de intrerupere catre UCP.
45
Ce inseamna semnalele DMAREQ si DMAACK in procesul de transfer DMA?
DMAREQ este cererea controlerului pentru acces la magistrala DMAACK este confirmarea UCP ca magistrala a fost eliberata.
46
Ce se intampla daca registrul DC ajunge la 0?
Controlerul DMA elibereaza magistrala si trimite o cerere de intrerupere catre UCP.
47
De ce a fost nevoie de procesoare de I/E (PIE)?
Pentru ca furturile de ciclu DMA saturau magistrala si UCP petrecea timp in asteptare.
48
Ce sunt procesoarele de I/E (PIE)?
Module de I/E avansate care pot executa programe de I/E din memorie, cu un set de instructiuni specializat.
49
Cum comunica UCP cu PIE?
Prin semnalele DMAREQ, DMAACK, ATN (Attention) si IREQ (Interrupt Request).
50