SMP

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

De ce este utilizata incascadarea controllerelor de intreruperi?

//Un controller de intreruperi este cel care gestioneaza acele intreruperi vectorizate, care are un numar de N linii de intrerupere si o linie de int prin care semnalizeaza microprocesorului ca au aparut oricare din acele N intreruperi pe care le gestuioneaza. Acel N este limitat. Daca vreau mai mult decat acel N, fac incascadarea, cresterea numarului de linii prin care se semnalizeaza sursele intreruperilor vectorizate. 8259 are 8 linii, pot sa am 2 niveluri de cascadare catre acele 8 linii, as putea sa cascadez alte 8 linii si astfel teoretic sa fac 8*8 = 64 surse de intreruperi. Mai mult de 2 niveluri nu accepta ciclul magistrala de preluare al vectorului de intreruperi. //Incascadarea controllerelor de intreruperi determina cresterea numarului de celule supravegheate si implicit a numarului de circuite ce se pot adauga microprocesorului. De exemplu: 8259 are 8 linii de intreruperi, incascadarea cu inca un circuit 8259 determina cresterea la 64 de linii (8*8).

Utilizarea semnalului ALE la 8086.

ALE = semnal de comanda pentru memorarea adresei semnalului ALE ce apare in cazul in care microprocesorul are magistrala de comanda multiplexata (8086, 8186, 8286). Este semnalul care apare in cazul in care procesorul are magistrala multiplexata, adica doar la 8086, 8186, la 8286 si la restu modelelor nu se mai gaseste magistrala de comanda multiplexata. Se genereaza adresa, apoi cu ajutorul semnalului ALE un buffer de pe magistrala retine adresa, iar mai apoi magistrala poate sa schimbe starea in date. ALE este semnalul de comanda al bufferelor, care retine adresa ca eu sa pot schimba adresa din starea liniilor din magistrala multiplexata in data.

Segmentarea la procesul 8086. Avantaje, limitari.

Avantaje: Mecanismul de segmentare la 8086 permite transformarea adresei interne pe 16 biti in adrese externe pe 20 de biti. Principalul avantaj este reprezentat de accesarea unui mega extern in loc de 64k. Limitari: • Exista doar 4 registre de segment: CS, SS, DS, ES => deci se pot utiliza doar 4 ferestre in spatiul de un mega. • Dimensiunea segmentelor este mereu fixa. • Nu ofera protectie la suprascrierea/suprapunerea segmentelor.

Explicati rolul bitului G in cazul procesorului 80386. (Ce a fost introdus in descriptorul de segment nou la 80386?)

Bitul G (de granularitate) prevazut in descriptorul de segment permite cresterea limitei de segment de la un mega (G = 0 - dimensiunea maxima FFFFF H) la un giga (G = 1 - dimensiunea maxima FFFFF 000 H). Ofera granularitate prin care pot sa redimensionez foarte mult segmentul (acesta poate sa fie mai mare de 2^32). Bitul G face ca limita sa fie shiftata la stanga cu 4 pozitii, si in loc ca dimensiunea maxima a segmentului sa fie egala cu 2^32, pot sa am 2^36, in functie daca G este 1 sau 0.

Explicati in ce consta problema decodificarii adresei pe magistrala sistem?

Ca magistrala de adrese sa functioneze corect, fiecare circuit conectat este necesar sa fie activat, dar in plaja de adrese in care este mapat de magistrala sistem. Decodificarea adresei pe magistrala sistem inseamna de fapt generarea unor semnale de tip chip-select, de adresare selectiva, pentru circuite in plaja de adrese caruia apartine respectivul circuit.

Ce elemente noi aduce modul protejat la microprocesorul 8286? / De ce a fost necesara introducerea modului protejat la microprocesorul 8286?

Cea mai puternica modificare aparuta la 80286 care devine activa in modul protejat este modificarea mecanismului de segmentare prin introducerea descriptorului de segment. Registrele de segment nu mai contin adresa de segment, ci contin un pointer catre un descriptor aflat fie in tabela globala, fie in tabela locala, de descriptori. Descriptorul introduce doua lucruri importante, partea de securitate in ceea ce priveste accesul la memorie (drepturi de acces) si partea cu limita, adica o flexibilitate prin posibilitatea dimensionarii segmentelor.

Rolul registrelor de segment la microprocesorul 8086

Cele patru registre permit functionarea mecanismului de segmentare. Acestea contin 16 biti din adresa de inceput a celor 4 segmente. Registrul de segment shifteaza la stanga cu 4 pozitii binare si se completeaza cu 0. Deci registrul de segment contine adresa de inceput a celor 4 registre cu care se lucreaza in cazul lui 8086. ES - Extra segment - folosinta lasata la latitudinea programatorului CS - indica segmentul continand programul curent DS - indica segmentul unde sunt definite variabilele SS - indica segmentul ce contine stiva

Ce moduri de transfer permite circuitul 8237?

Command request - Compressed Timing, Rotating Priority, Fixed Priority Mode request - Read, Write, Verify

Ce componenta a magistralei sistem este puternic specifica fiecarui procesor in parte? De ce?

Componente ale magistralei sistem: magistrala de date, magistrala de adrese si magistrala de comenzi. Specificatia magistralelor de date si de adrese este aceeasi la fiecare microprocesor, se emit date, respectiv adrese. Magistrala de comenzi este proprie fiecarui procesor in parte. Fiecare arhitectura are implementat un mod propriu de a gestiona ciclurile magistrale, de a comunica cu perifericele, cu circuitele de memorie, samd.

Ce rol are stiva interna in cazul circuitelor 80x87? Deoarece

Deoarece coprocesorul matematic nu lucreaza cu memoria si nu are registre interne, operanzii si rezultatul sunt stocate in stiva interna. Instructiunile acceseaza datele prin referirea unuia dintre registre sau prin operatii de push/pop.

Comparatie intre transferul unui octet de la o adresa para si de la o adresa impara in cazul microprocesorului 8086?

Deoarece memoria este pe 16 biti si transferul se face pentru un singur octet, atat octetul de la adresa para, cat si octetul de la adresa impara vor fi teoretic la aceeasi adresa, diferenta intre partea LOW si partea HIGH o face BUS HIGH ENABLE (BHE).

Metode de detectie a erorilor de memorie.

Detectia erorilor de memorie se poate face utilizand registrul de flaguri de paritate (PF). Acesta poate depista doar erori simple, determinate de modificarea unui singur bit. Pentru verificari mai avansate se pot utiliza biti de paritate pentru un intreg bloc de cuvinte (cuvantul de paritate dintr-un bloc de memorie - detectia erorilor multiple si corectarea erorilor simple).

Ce legatura exista intre dimensiunea magistralei de adrese si memoria maxim adresabila / cantitatea maxima de memorie dintr-un sistem?

Dimensiunea magistralei de adrese ofera plaja de adrese, spatiul maxim adresabil. In conjunctie cu magistrala de date se poate determina memoria maxim adresabila.

Care este diferenta dintre procesoarele superpipeline si superscalare?

Filozofia de impartire a executiei unei instructiuni in mai multe trepte de executie functioneaza atata timp cat acele faze sunt foarte bine echilibrate in timp. Daca o treapta este foarte lenta, atunci impartirea este ineficienta. Procesoarele superpipeline realizeaza impartirea treptei lente in subtrepte de durata mai mica, in timp ce procesoarele superscalare realizeaza o dublare a acestei instructiuni din punct de vedere hardware.

Ce rol are harta memoriei in cadrul proiectarii mecanismului de decodificare a adreselor pe magistrala sistem?

Harta memoriei imi arata adresa de inceput si adresa de sfarsit a circuitelor mapate in spatiul de adresare sistem si are rolul de a permite sa identific cum variaza liniile de adresa pentru a genera acea logica de chip-select, de a extrage functia logica de selectie pentru fiecare circuit in parte, in functie de variatia adreselor in plaja caruia apartine respectivul circuit.

Ce se intelege prin situatia de hazard in cazul functionarii unui procesor pipeline?

Hazardul reprezinta un conflict intre instructiuni privind accesul la resurse. Acesta poate fi generat de: • proiectare - daca executia nu este complet pipeline, secventa urmatoare de instructiuni nu poate fi emisa la perioade ale ceasului - rezolvare prin replicare • tipul resurselor (de ex: registrele care nu sunt multiport) Situatiile de hazard sunt acele situatii neprevazute care perturba functionarea fireasca a procesorului pipeline, aparand astfel penalizari de timp. Poate exista hazard structural; in cazul in care exista un conflict de resurse, hazard de date in care exista o interdependenta de operanzi intre instructiuni, hazard de comanda sau de control care se datoreaza instructiunilor de salt.

Dimensiunea operandului este aceeasi in cazul circuitelor 8086 si 8087? Explicati de ce?

In cazul celor doua circuite dimensiunea operanzilor nu este aceeasi. 8086 are operandul pe 16 biti, in timp ce coprocesorul matematic poate ajunge la operanzi de 80 de biti in virgula mobila. Coprocesorul matematic ocupandu-se de conversia operanzilor la transferul in/din microprocesor. 8086 lucreaza doar cu intregi, 8087 lucreaza cu intregi, BCD, cu semn, fara semn, floating point.

Adresarea unui cuvant de 16 biti, memorat la adresele A000 si a unui alt cuvant memorat la A001. Comparati aceste doua situatii.

In cazul in care cuvantul este memorat pe adresa para (A000), el este aliniat, deci se face un singur transfer de magistrala pe 16 biti. In cazul in care cuvantul este memorat pe adresa impara (A001), el este nealiniat, adica porneste de pe partea de HIGH la adresa A000 si se sfarseste pe partea de LOW la adresa A001. Transferul unui cuvant de 16 biti de la A001 necesita doua cicluri masina, fiecare transferand care un cuvant pe 8 biti, odata pe partea de HIGH de la A000 si odata pe partea de LOW de la A001.

Care este diferenta dintre modul minimal si cel maximal la 8086.

In modul minimal 8086 putea face singur fata pe magistrala, sa genereze toate semnalele de comanda. Modul maximal era necesar in momentul in care doream sa introducem in sistem coprocesorul matematic 8087 (sa lucreze cu microprocesorul) si pentru a face rost de linii de comunicare cu acesta, introduceam un controller de magistrala care prelua din functiile de generare a semnalelor de comanda a lui 8086 si ii lasa 8 pini liberi sa comunice cu coprocesorul matematic. 8 pini ai microprocesorului 8086 isi schimba functionalitatea pentru a putea comunica cu coprocesorul. 5 pini devin pini de comunicatie cu coprocesorul matematic, iar 3 pini (s0, s1, s2) multiplexeaza functionalitatea celor 8 pini din modul minimal.

Ce informatii din codul original nu se pot reface prin procesul de dezasamblare?

In urma procesului de dezasamblare, macro-urile (sunt luate si inlocuite peste tot in cod), numele variabilelor (dispar in cod masina si devin locatii de memorie), comentariile, numele de proceduri (CALL procedura devine CALL adresa), constantele, etichetele si apelurile de functii nu se pot reface (cu siguranta nu se poate obtine codul original).

In ce consta problema generata de instructiunile de salt in cazul pipeline? Instructiunile

Instructiunile de salt in cazul executiei pipeline genereaza hazard de comanda sau de control. In loc ca instructiunea imediat urmatoare instructiunii de salt sa se execute, trebuie executata alta instructiune. Cand se ajunge in treapta de executie a instructiunii de salt este posibil sa fie necesara golirea structurii pipeline pentru a introduce alte instructiuni rezultand penalizari de timp, scaderea performantelor de executie paralela a instructiunilor.

Care sunt si care este rolul instrumentelor de depanare a programelor?

Instrumentele de depanare a programelor au rolul de a creea un ajutor pentru programator in dezvoltarea unui progream. Breakpoint, programtrace. Toate sunt elemente esentiale in partea de dezvoltare a programului si toate necesita suport hardware (registre interne de breakpoint).

Ce sunt si ce rol au intreruperile nemascabile?

Intreruperile nemascabile (NMI) sunt o alta categorie de intrerupere care semnalizeaza aparitia unui eveniment de o gravitate mare in sistem, probleme cu sursa de alimentare, cu circuite de memorie si sunt semnalizate de un semnal de intrerupere distinct. La alte intreruperi, cum ar fi cele vectorizate, pot dezactiva intreruperile din program, pot sa le ignor, de aceea se face acea discutie in 2 pasi in care mai intai semnalizez si daca microprocesorul e de acord ii transmit vectorul, daca nu reactioneaza nu ii transmit vectorul, deci programula ales sa ignore intr vectorizate. In cazul celor nemascabile, microprocesorul e obligat sa raspunda. O astfel de cerere suspenda executia programului aflat in rulaj indiferent de acesta. De obicei acestea sunt generate de functionarea anormala a hardware-ului; au linie separata, nmi, intotdeauna voi avea raspuns la ele.

Explicati modul de functionare a intreruperilor vectorizate.

Intreruperile vectorizate sunt acele intreruperi care sunt semnalizate microprocesorului pe o singura linie. Dupa acceptarea tratarii intreruperii de catre microprocesor se transmite un vector care identifica intreruperea care a generat respectiva semnalizare. Intreruperile vectorizate reprezinta o colectie de intreruperi care sunt semnalizate printr-o singura linie. Oricare intrerupere vectorizata ar aparea, comunicarea cu microprocesorul se face in 2 pasi: mai intai se semnalizeaza faptul ca a aparut o intrerupere (INTR = 1), dupa care se transmite vectorul de intrerupere care specifica clar ce intrerupere a aparut. Cand procesorul accepta rezolvarea intreruperii, acesta trimite ACK (INTA devine 1). Este de fapt multiplexarea unei colectii de surse de intreruperi pe o singura linie.

De ce este necesar mecanismul de DMA?

Mecanismul DMA (Direct Memory Acces) este necesar pentru a mari viteza de scriere/citire in/din memorie, fara a mai solicita lucrul cu procesorul. Aceasta tehnica este utilizata in special de porturile I/O pentru a grabi folosirea acestora, transfer porturi I/O - memorie sau memorie - memorie => rata de transfer mare. Pe tot parcursul unui ciclu DMA microprocesorul nu face nimic.

Care este diferenta intre memoria RAM statica si dinamica? (SRAM si DRAM)

Memoria RAM statica este construita pe 4 tranzistoare, in timp ce memoria DRAM este construita cu un singur condensator. Astfel densitatea elementelor electronice pentru implementarea unei celule pe pastila de siliciu este de 4 ori mai mica pentru DRAM fata de SRAM, DRAM necesita cicluri periodice de refresh pentru a putea mentine nivelul logic (nu pierde informatie). Memoria DRAM adica dimensiunea unei celule de memorie este mai mica, este de dimensiuni mai mari, mai lenta, mai consumatoare de energie, necesita ciclu de refrash, de obicei memorie principala. Memoria SRAM consum mic de energie, viteza de acces mult mai mare, de obicei registrele interne si memoria CACHE onchip esTe RAM static.

Cu ce difera segmentarea in modul real de segmentarea in modul protejat la 80286?

Modul real al microprocesorului 80286 asigura compatibilitatea cu microprocesorul 8086, de aceea segmentarea se face ca si la acesta, registrul de segment continand adresa de segment (cei mai semnificativi 16 biti de la inceputul adresei). Modul protejat schimba aceasta tehnica, registrul de segment continand un selector (pointer) ce indica catre un descriptor aflat in una din cele 2 tabele de descriptori in care toate informatiile despre segmentul respectiv le gasesc in acel descriptor. Descriptorul introduce 2 lucruri importante, partea de securitate in ceea ce priveste accesul la memorie, partea cu limita, adica o flexibilitate prin posibilitatea dimensionarii segmentelor.

Cum se justifica necesitatea „alinierii" datelor stocate in memorie.

Necesitatea linierii datelor stocate in memorie se justifica prin optimizarea transferurilor pe magistrala. Daca transferul se face mai intai pe partea de HIGH, iar mai apoi pe partea de LOW din urmatorul cuvant este total ineficient atat in ceea ce priveste transferul magistralei, cat si organizarea datelor in memorie.

Ce se intelege prin notiunea de lungime a unui cuvant pentru un microprocesor?

Notiunea de lungime de cuvant are o semnificatie duala, putand sa reprezinte fie dimensiunea registrelor interne, fie dimensiunea magistralei de date. Cele doua dimensiuni pot fi egale sau nu, depinzand de caracteristicile microprocesorului (arhitectura). Notiunea cuvantului intern face referire la dimensiunea registrelor, la dimensiunea operanzilor cu diverse atribute logice interne, iar dimensiunea cuvantului intern se refera la dimensiunea operanzilor cu care poate lucra microprocesorul. Notiunea de cuvant extern face referire la dimensiunea magistralei de date. Nu e mereu acelasi lucru, deoarece exista procesoare care lucreaza intern e X biti si extern cam la jumatate.

Este accelerata executia unei instructiuni in cazul unui microprocesor pipeline? De ce?

Nu este accelerata executia unei singure instructiuni, deoarece timpul de executie nu poate fi modificat. In cazul in care sunt doua sau mai multe instructiuni, timpul scade, deoarece instructiunile sunt executate prin suprapunere si astfel la terminarea executiei unei instructiuni o alta instructiune poate fi executata in proportie de (de ex) 50%.

Ierarhizarea in sisteme de memorie. Definire. Functii. Avantajele ierarhizarii.

Prin ierarhizarea memoriei se construieste teoretic o piramida de memorie foarte apropiata de microprocesor. • Registrii si Mem Cache level 1 - interne, rapide, dimensiuni mici, foarte apropiate de microprocesor Cache lever 2 (Microprocesor/sistem), Cache level 3, Memorie principala - externe, mai lente, dimensiune din ce in ce mai mare Cache level 3, Memorie principala, Memorie secundara - sistem Memorie de mare capacitate - sistem/extern • Ierarhizarea memoriei permite accelerarea accesului microprocesorului la informatie.

Ce rol au standardele ISA si PCI in arhitectura unui sistem de calcul?

Principalele roluri: modularitatea sistemului, flexibilitatea in ceea ce priveste arhitectura in dezvoltarea ulterioara, scalabilitatea sistemului. Exista mai multe tipuri de magistrale, iar scopul lor este acela de a obtine performante mai bune prin cresterea vitezelor interne/iesire. Standardele rezolva problema compatibilitatii si au ca avantaj, odata definita schema de conexiuni, usurinta de a adauga ndispozitive noi la sistem. Magistrala ISA are viteza mica si se conecteaza ei echipamente periferice lent (canalul serial, paralele); intial era de 8 biti, iar de la modelul 80286, care se putea transfera simultan pe 16 biti pe magistrala I/O, ISA se adapteaza la 16 biti. (ex: EISA - 32 biti) Magistrala PCI are rol in izolarea acelor module/extensii de magistrala sistem prin intermediul unui controller care permite teoretic ca o eroare a acelor module sa fie izolata de restul sistemului.

Care sunt principalele deosebiri intre macro-uri si proceduri in cadrul programelor in limbaj de asamblare?

Procedurile necesita utilizarea instructiunii CALL pentru a face apelul (saltul) si a instructiunii pe RET pentru a realiza intoarcerea, deci ele nu sunt repetate la fiecare referinta in cod. Macro-urile sunt inlocuite cu un bloc de instructiuni de fiecare data cand sunt gasite in instructiuni. Macro-urile prezinta probleme cu etichetele si salturile.Pentru macro-uri pot sa imi impun parametrii de apelare, ceea ce procedurile nu au, toti parametrii se transmit prin intermediul registrelor.

Ce se intelege prin cod reentrant?

Reprezinta caracteristica unui cod de a fi suspendat si reluat fara a-i altera executia. Este absolut necesar ca codul din programul principal sa fie reentrant si sa poata salva contextual programului. In cazul microprocesoarelor exista multe biblioteci ce nu au cod reentrant, aparand astfel probleme.

Ce se intelege prin arhitectura pipeline in cazul microprocesoarelor?

Reprezinta o metoda de crestere a performantei globale a unui procesor. Exploateaza paralelismul la nivelul instructiunii prin suprapunerea proceselor de executie a instructiunilor. Arhitectura pipeline este o tehnica care presupune suprapunerea instructiunilor accelerand executia acestora, fiecare instructiune aflandu-se intr-un anumit stadiu de executie.

Care este rolul magistralei sistem de interconectare in cadrul unui sistem de calcul? Exemple.

Rolul principal al magistralelor de sistem de interconectare este reprezentat de modularitatea sistemului. Acestea au rol si in flexibilitatea in ceea ce priveste arhitectura in dezvoltarea ulterioara, scalabilitatea sistemului. Pentru PCI are rol si in izolarea acelor module/extensii de magistrala sistem prin intermediul unui controller care permite ca o eroare a acelor module sa fie izolata de restul sistemului. Exemple: PCI, ISA, EISA, VESA, AGP.

Deosebiri intre modul de adresare a memoriei si modul de adresare a prototipurilor I/O (Input/Output) la microprocesoare 8086.

Spatiul de adresare al dispozitivelor I/O este teoretic distinct fata de spatiul de adresare al memoriei. Adresarea porturilor I/O nu foloseste mecanismul de segmentare. Pe magistrala de comenzi se afla instructiuni diferite in functie de modul de adresare folosit (MOV; IN/OUT).

Tehnica de gestiune a memoriei de tip overlay. Avantaje si dezavantaje.

Tehnica de gestiune a memoriei de tip overlay permite executarea unui program de dimensiune mai mare decat memoria microprocesorului, tehnica gestionata in totalitate de programator. • Avantaje: Permite rularea de dimensiune mare intr-un spatiu de memorie mic; permite spargerea in subblocuri care nu sunt dependente intre ele Dezavantaje: • Faptul ca toata sarcina de a incarca si de a descarca un bloc pica pe spatele programatorului. De asemenea, nu exista suport hardware pentru gestiunea acestora. • Problema generata de minimimzarea operatiilor de minimizare si evacuare (swapping) din memoria principala.

Ce reprezinta timpul de latenta in servirea unei intreruperi?

Timpul de latenta este timpul de cand o intrerupere este semnalizata si pana cand este lansat interrupt subrutinei + timpul de tratare efectiv al intreruperii. Este timpul in care raspunde sistemul in tratarea respectivei intreruperi, este foarte important pentru ca imi da o dimensiune, imi da timpul de raspuns in ceea ce priveste stimulii externi acelui sistem, timpul de tratare si de raspuns in cazul aparitiei unei intreruperi hardware externe. //Timpul cerut de servirea unei cereri de intrerupere depinde de operatiile necesare tratarii evenimentului extern ce a cauzat intreruperea precum si intarzierea intre activarea cererii si inceputul activitatii rutinei de tratare. Aceasta intarziere este o particularitate a microprocesorului si se numeste timp de latenta.

De ce tehnica de set-associative se considera o combinatie intre fully-associative si direct-mapped?

Toate cele 3 tehnici sunt tehnici de functionare a memoriei CACHE. Privind memoria ca pe o matrice cu linii si coloane, tehnica asociativa realizeaza o impartire a acesteia pe orizontala, in timp ce tehnica direct-mapped realizeaza o impartire pe verticala. Set-associative, pentru a micsora dimensiunea de indecsi in memoria cache, realizeaza o impartire pe orizontala pentru fiecare bloc de memorie in subblocuri si face si un logaritm pe verticala (de adrese). Fiecare locatie din memoria cache are un tag, in cazul direct-mapped acest tag este asociat cu un numar de locatii de memorie privite pe coloane, la fully-associative acest tag este teoretic asociat cu o bucatica din fiecare adresa, o selectie pe coloane, iar set-associative ia acel tag, selecteaza si o adresa si o bucata din respectiva adresa.

Care sunt principalele elemente sintactice ce pot forma un program in limbaj de asamblare?

Variabile, macro-uri, functii, proceduri, comentarii, etichete, directive de asamblare. Coduri ale instructiunilor cod masina, etichete, alias-uri pentru codurile numerice ale setului de instructiuni, comentarii, directivele de asamblare (care nu sunt nici comentarii, nici instructiuni, sunt diverse instructiuni pentru procesul de asamblare, de exemplu ORG, directivele de asamblare conditionata - IF - in functie de tipul de instructiuni asambleaza un anumit cod).


Ensembles d'études connexes

Environmental systems and societies ch. 3 & 4

View Set

Chemistry Chapter 8: Acids and Bases

View Set

ITC 283 Lesson 11, "Configuring Updates"

View Set

Ch. 10 Leading, Managing, Delegating

View Set

CHAPTER 8 Land and water in the Midwest

View Set