Curs 2 Flashcards
Metode pentru operații de I/E (50 cards)
Cum sunt transferate datele între UCP și
modulul de I/E ?
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ă
Descrie execuția unei operații de I/E:
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
Cum comunica UCP, memoria și dispozitivele de I/E ?
Acestea comunică prin magistrala sistem.
Cum este realizata conectarea unui dispozitiv de intrare/iesire (I/E) la magistrala unui sistem?
Dispozitivul de I/E este conectat la magistrală
printr-un port de I/E → registru adresabil
Care sunt tehnicile de adresare utilizate atunci cand UCP, memoria principala si sistemul de I/E partajeaza aceeasi magistrala?
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ă
Descrieti adresarea cu mapare în memorie
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.
Care este rolul liniilor de control RD și WR?
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)
Descrieti adresare izolată:
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)
Prin ce instructiuni pot fi implementate operatiile de intrare/iesire (I/E) programate?
I/E programate pot fi implementate prin cel
puțin două instrucțiuni de I/E
IN, OUT (Intel)
De ce trebuie UCP sa testeze starea dispozitivului de intrare/iesire (I/E)?
Pentru a preveni pierderea informațiilor sau
un timp de execuție nedefinit, UCP trebuie să testeze starea dispozitivului de I/E
Ce transmite UCP pentru executia unei instructiuni de intrare/iesire (I/E)?
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
Care sunt Tipurile de comenzi de I/E?
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
Ce trebuie sa faca UCP pentru fiecare cuvant citit atunci cand transfera un bloc de date de la un periferic in memorie?
Pentru fiecare cuvânt citit, UCP trebuie să
rămână într-un ciclu de testare a stării
Cate locații și câte adrese de i/E sunt in adresare cu mapare în memorie si in cea izolata și adresele acestora?
512 locații de memorie (0x000 - 0x1FF)
512 adrese de I/E (0x200 - 0x3FF)
Performanța sistemului este redusă în
mod semnificativ, deoarece:
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
Ce este o intrerupere?
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
Dati exemple de surse de întrerupere
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
Cum funcționează procesul de tratare a unei întreruperi într-un UCP atunci când se activează semnalul de control IREQ?
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
Care sunt pașii implicați în transferul controlului la subrutina de tratare a întreruperii într-un UCP?
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
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?
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.
Cum sunt înregistrate cererile de întrerupere într-un UCP?
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.
Ce rol joacă registrul măștilor de întrerupere în controlul surselor de întrerupere?
Registrul măștilor de întrerupere gestionează bistabilii mască, care permit controlul individual asupra surselor de întrerupere.
Care sunt principalele probleme întâmpinate în gestionarea cererilor de întrerupere simultane?
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.
Tehnici pentru identificarea sursei de
întrerupere:
1) Linii multiple de întrerupere
2) Interogare software
3) Conectarea dispozitivelor în lanț (interogare hardware)
4) Arbitrajul de magistrală