top 25 computer architecture interview questions
Lista celor mai frecvente întrebări și răspunsuri la interviuri despre arhitectura computerelor pentru a vă ajuta să vă pregătiți pentru următorul interviu:
Ești un aspirant care se pregătește pentru un interviu de arhitectură computerizată? Doriți să străluciți în acest domeniu și să deveniți un expert? Plănuiți să vă stăpâniți abilitățile în arhitectura computerelor? Nu vă faceți griji, deoarece sunteți la locul potrivit acum!
Arhitectura computerelor a câștigat o importanță extraordinară în această eră digitală. Implementarea, funcționalitatea și organizarea oricărui sistem de calculatoare sunt explicate în detaliu cu multe seturi de reguli și metode.
Deoarece se realizează prin implementarea cheie a arhitecturii computerelor, este considerată una dintre principalele discipline pe care studenții trebuie să le înțeleagă în ingineria computerelor.
Definiția unică a fiecărei arhitecturi definește capacitățile computerului și modelele de programare aferente. Cu toate acestea, nu definește implementarea.
Dacă sunteți în căutarea unui loc de muncă în arhitectura calculatoarelor, atunci trebuie să fiți bine versat cu întrebările de interviuri despre arhitectura computerelor. Întrebarea la interviu variază în funcție de profilurile postului. Iată câteva întrebări care vă vor ajuta să vă pregătiți pentru interviu și să îl transmiteți cu brio.
Ce veți învăța:
Lista celor mai importante întrebări de interviu pentru arhitectura computerelor
Întrebări de bază pentru interviu
Q # 1) Ce înțelegeți prin termenul Arhitectura computerelor?
(imagine sursă )
Răspuns: Arhitectura computerelor este specificația detaliată despre modul în care un set de standarde legate de hardware și software interacționează între ele pentru a crea un sistem de calcul sau o platformă.
Concis, se referă la proiectarea unui sistem informatic și compatibilitatea acestuia cu tehnologiile. Este ca arta de a determina de ce au nevoie utilizatorul, tehnologia și sistemul și apoi de a crea standarde logice și modele bazate pe nevoile de mai sus.
Q # 2) Este diferită Arhitectura computerelor de o organizație de calculatoare?
Răspuns:
Arhitectura calculatorului | Organizarea computerelor |
---|---|
Implică logică. | Implică componente fizice. |
Este modul în care hardware-ul este conectat pentru a crea un sistem computerizat. | Este designul computerului și comportamentul perceput de utilizator. |
Arhitectura computerului este conexiunea dintre software și hardware. | Într-un sistem, gestionează conexiunea unei componente. |
Face ușoară înțelegerea funcțiilor sistemului. | Acesta mapează toate unitățile dintr-un sistem, interconectarea și dispunerea lor. |
Registrele, instrucțiunile și modurile de adresare fac parte din arhitectură. | Realizarea arhitecturii computerelor este organizarea. |
Arhitectura este pe primul loc în proiectarea sistemelor informatice. | Baza unei organizații este arhitectura. |
Se ocupă de probleme la nivel înalt de modele. | Se ocupă de probleme de proiectare de nivel scăzut. |
Q # 3) Cunoașteți componentele de bază utilizate de un microprocesor? Explica.
(imagine sursă )
Răspuns:
Microprocesorul utilizează în mod normal trei componente de bază:
- Liniile de adresare sunt unul dintre elementele majore ale unui microprocesor, deoarece este important pentru referirea la adresa corectă a unui singur bloc.
- Liniile de date sunt elementele care mențin principalele criterii pentru transferul de date pentru un microprocesor.
- Ținta prelucrării datelor vine după finalizarea adresării și transferului de date. Cipurile IC sunt vitale pentru procesarea datelor într-un microcip.
Q # 4) Care sunt diferitele întreruperi într-un sistem cu microprocesor?
Răspuns:
Există trei tipuri de întreruperi:
- Întreruperi externe care provin de la dispozitive de intrare / ieșire externe.
- Întreruperi interne sunt rezultatul oricărei excepții cauzate de programul în sine.
- Software-ul întrerupe apar numai în timpul executării unei instrucțiuni. Scopul principal al acestor întreruperi este de a comuta modurile de la utilizator la supraveghetor.
Q # 5) Care sunt componentele comune ale unui microprocesor?
(imagine sursă )
Răspuns: Unitățile de control, unitățile I / O, memoria cache, ALU și registrele sunt unele dintre componentele comune ale unui microprocesor.
Întrebări tehnice
Q # 6) Ce știți despre MESI?
Răspuns: MESI este unul dintre protocoalele de coerență a cache-urilor extrem de populare bazate pe Invalidate care acceptă cache-urile de scriere. Deoarece a fost dezvoltat la Universitatea din Illinois la Urbana-Champaign, este, de asemenea, denumit protocolul Illinois.
Inițial, a fost utilizată memoria cache de scriere care a cauzat pierderea lățimii de bandă uriașe. Memoria cache de scriere a devenit populară deoarece gestionează în mod eficient și corect lățimea de bandă din sistem. Protocolul MESI menține o etapă numită etapă murdară care indică sistemului că datele din acest cache sunt diferite de datele stocate în memoria cache principală.
Q # 7) Sunteți conștient de Pipelining?
(imagine sursă )
Răspuns: Pipelining este una dintre cele mai populare tehnici utilizate de un microprocesor avansat, care este utilizat în principal atunci când mai multe instrucțiuni intră în sistem. Acumulează instrucțiuni de la procesor printr-o conductă și permite stocarea și executarea instrucțiunilor într-un proces ordonat.
Procesul este împărțit în etape și fiecare dintre ele este conectat într-o structură asemănătoare țevii. Se folosește acolo unde mai multe instrucțiuni sunt suprapuse în timpul execuției.
La fel ca într-o companie producătoare de mașini, fiecare setare de linii imense de asamblare și brațe robotizate îndeplinesc anumite sarcini. După ce o sarcină este finalizată, mașina merge mai departe la brațul următor.
Q # 8) Ce știți despre coerența cache-ului?
(imagine sursă )
Răspuns: Coerența sau regularitatea datelor stocate în memoria cache se numește coerență cache. Este imperativ ca memoria distribuită partajată (DSM) sau sistemele multiprocesor să mențină coerența memoriei cache și a memoriei.
Gestionarea memoriei cache este structurată astfel încât datele să nu fie pierdute sau suprascrise. Puteți utiliza diferite tehnici pentru a menține coerența cache-ului, care include snarfing, snooping și coerență bazată pe director.
Un sistem DSM utilizează un protocol de coerență prin imitarea acestor tehnici pentru menținerea consistenței și este esențial pentru operațiunile sistemului. Coerența memoriei cache necesită două lucruri, adică propagarea scrierii și serializarea tranzacțiilor.
În orice cache, modificările aduse datelor trebuie diseminate către alte copii ale acelei linii cache din cache-urile peer. Așa face propagarea scrierii. Sarcina serializării tranzacțiilor este de a vă asigura că orice lucru care este citit sau scris într-o singură locație de memorie este văzut de toți procesoarele în aceeași ordine.
Q # 9) Spuneți-ne despre dorul de cache.
Răspuns: Uneori, există o încercare eșuată de a scrie sau citi o parte a datelor din cache. Această lipsă are ca rezultat o latență mai mare în memoria principală. Există trei tipuri de lipsă de cache, adică rece sau obligatorie, capacitate și lipsă de conflict.
Miss-ul rece sau obligatoriu începe cu un cache gol și este cea mai importantă referință la un bloc de memorie. Puteți face referire la acesta ca la un hotel gol în care primul oaspete nu a sosit încă. O lipsă de capacitate apare atunci când memoria cache nu are suficient spațiu pentru a conține toate blocurile pe care doriți să le utilizați. Este ca un hotel în care vrei să stai, dar nu are loc liber.
Pierderea conflictului se întâmplă atunci când aceeași locație primește două blocuri, dar nu are suficient spațiu pentru ambele. Într-un exemplu ușor, este ca și cum ar fi trebuit să stați la etajul al treilea al unui hotel, dar toate camerele de la etaj sunt ocupate și nu există loc pentru dvs.
Q # 10) Ce știți despre memoria virtuală?
(imagine sursă )
Răspuns: Computerul dvs. folosește memorie pentru a încărca sistemul de operare și a rula programele, iar cantitatea de memorie reală, adică RAM, este finită. Astfel, există șanse să rămâneți fără memorie, mai ales atunci când rulați prea multe programe simultan.
Aici este utilă memoria virtuală. Mărește memoria disponibilă pe computer prin mărirea „spațiului de adrese”, adică locurile din memorie unde puteți stoca date. Folosește spațiul pe hard disk pentru alocarea de memorie suplimentară.
Cu toate acestea, unitatea de disc este mai lentă în comparație cu memoria RAM, prin urmare, trebuie să mapați datele stocate în memoria virtuală înapoi la memoria reală de utilizat. Memoria virtuală permite computerului să ruleze mai multe programe decât poate.
Q # 11) Care sunt cele 5 etape ale conductei DLX?
Răspuns: DLX este o arhitectură de procesor RISC. A fost proiectat de David A. Patterson și John L. Hennessy. Arhitectura sa a fost aleasă pe baza observațiilor primitivelor cele mai frecvent utilizate în programe.
Cele 5 etape ale sale includ:
- Stocare operand CPU
- Operanzi expliciți
- Operațiune
- Locație
- Tipul și dimensiunea operanzilor
Q # 12) Spuneți-ne despre mașinile Superscalar și mașinile VLIW.
(imagine sursă )
Răspunsuri: Procesorul suprascalar este un procesor care implementează paralelism la nivel de instrucțiuni într-un singur procesor. Poate executa mai multe instrucțiuni în timpul unui ciclu de ceas. Distribuie simultan instrucțiuni multiple către diferite unități de execuție de pe procesor.
Astfel, permite un randament mai mare în comparație cu alții să fie posibil la o rată de ceas dată.
VLIW sau instrucțiunea foarte lungă se referă la o arhitectură CPU care este proiectată pentru a profita de ILP sau de paralelism la nivel de instrucțiuni, dar cu complexități hardware minime. Abordarea VLIW execută operațiunea în paralel, care se bazează pe un program fix care este determinat atunci când programele sunt compilate.
Q # 13) Ce este predicția sucursalei și cum poate controla pericolele?
(imagine sursă )
Răspuns: Într-o unitate de procesare a informației care procesează o conductă, un dispozitiv de control al predicției ramurilor generează o adresă pentru predicția ramurilor. Această adresă este utilizată pentru a verifica instrucțiunile care sunt executate speculativ.
Dispozitivul are o primă unitate de stocare a adresei de returnare care stochează adresa de returnare pentru predicție. Apoi, există o unitate de stocare pentru a doua adresă de returnare care stochează o adresă de returnare care este generată pe baza rezultatului unei execuții a instrucțiunii de apel.
Există, de asemenea, o unitate de stocare pentru o adresă de predicție de sucursală care trimite o adresă de returnare a predicției stocată ca adresă de predicție a sucursalei și stochează adresele de predicție a sucursalei care sunt trimise.
Când adresa de returnare este generată după executarea unei instrucțiuni de ramificare care diferă de adresa de predicție a ramurii, atunci conținutul care este stocat în unitatea de stocare pentru a doua adresă de returnare este duplicat în unitatea de stocare pentru prima adresă de returnare.
Q # 14) Puteți calcula numărul de seturi date cu dimensiunea și modul său într-un cache?
Răspunsuri: În ierarhia stocării primare, un cache transportă liniile cache colectate în seturi. Cache-ul poate fi numit asociativ k-way dacă fiecare set conține k linii. O cerere de date are o adresă care specifică poziția datelor solicitate.
Puteți plasa o singură dată de linie cache de dimensiunea bucății de la nivelul inferior într-un singur set. Adresa sa decide setul în care poate fi plasat. Cartarea dintre seturi și adrese trebuie să aibă o implementare rapidă și ușoară. Pentru implementarea rapidă, doar o parte din adresă alege setul.
Dupa aceea, o adresă de solicitare este separată în trei fragmente, după cum se arată mai jos:
- O poziție specifică într-o linie cache este identificată printr-o parte offset.
- Setul care are datele solicitate este identificat de o parte set.
- Trebuie să existe o parte a etichetei salvate împreună cu datele sale în fiecare linie cache pentru a distinge diferitele adrese care ar putea fi introduse în set.
Q # 15) Cum găsiți un bloc într-o memorie cache?
Răspuns: Eticheta blocului este înregistrată de fiecare loc din cache împreună cu datele sale. Locul din cache poate fi neocupat, deci menține de obicei un bit valid.
Astfel, pentru a găsi blocul în cache:
- Determinați locul sau setul de locuri utilizate în indexul adresei blocului.
- Verificați dacă este setat un bit valid pentru fiecare locație și comparați eticheta cu acel bloc de adrese în paralel pentru toate locurile dintr-un set.
Q # 16) Ce este un mod de adresare?
(imagine sursă )
Răspuns: În cele mai centrale unități de procesare, există o caracteristică a arhitecturii setului de instrucțiuni numite moduri de adresare.
Diversele moduri de adresare sunt explicate într-o anumită arhitectură set de instrucțiuni și aceste moduri definesc modul în care instrucțiunile ML din arhitectura dată recunosc operanzii fiecărei instrucțiuni.
Modurile de adresare specifică modul de calculare a adresei efective de memorie a unui operand cu utilizarea informațiilor păstrate în registre sau / și constante deținute în cadrul unei instrucțiuni ML sau în altă parte.
Q # 17) Spuneți-ne despre Aliasing.
Răspuns: Aliasing, în lumea computerelor, descrie o circumstanță în care puteți accesa locația datelor în memorie prin nume simbolice separate în program. Astfel, schimbând datele printr-un singur nume, puteți modifica implicit valorile corelate cu fiecare nume aliasat.
Acest lucru s-ar putea ca programatorul să nu fi anticipat. Prin urmare, programele devin dificil de optimizat, înțeles și analizat.
Q # 18) Care este diferența dintre întreruperile software și hardware?
Răspuns:
Software-ul se întrerupe | Întreruperi hardware |
---|---|
Acestea pot fi invocate cu ajutorul instrucțiunilor INT. | Acestea sunt cauzate de dispozitive externe, în special defecțiuni hardware. |
Este sincron. | Este asincron. |
Este cauzat de orice sistem intern al computerului. | Se întâmplă când semnalul procesorului provine de la un dispozitiv sau hardware extern. |
Acesta este adesea rezultatul fie unei condiții excepționale în procesor, fie a unei instrucțiuni speciale din setul de instrucțiuni. | Este rezultatul interferențelor externe, fie de la periferice, utilizatori, printr-o rețea sau alte dispozitive hardware. |
PC incrementat. | PC-ul nu este incrementat. |
Are cea mai mare prioritate. | Are cea mai mică prioritate. |
Q # 19) Vrei să faci alte sarcini, dar CPU-ul este ocupat. Propuneți o soluție.
Răspuns: Voi crea o întrerupere care nu poate fi mascată și apoi voi da instrucțiunea de salt subrutinei esențiale.
eșantion de cazuri de testare în testarea software-ului
Q # 20) Ce știi despre Latches? Care sunt diferitele tipuri de zăvoare?
Răspuns: Zăvorul, cunoscut și sub denumirea de multivibrator bistabil datorită celor două stări stabile ale activului ridicat și activ activ, este un tip de circuit logic. Printr-o bandă de feedback, deține datele, acționând astfel ca un dispozitiv de stocare.
Atâta timp cât aparatul rămâne activ, dispozitivul de blocare poate stoca un bit de date. Latch-ul poate modifica instantaneu datele stocate odată ce activarea este declarată.
Tipuri de zăvoare:
- SR sau setarea / resetarea zăvorului, aparatul asincron, funcționează independent pentru a controla semnalele. Se face în funcție de set-state și reset-input.
- Gates SR Latch este zăvorul care transportă a treia intrare. Această intrare trebuie să fie activă pentru ca setările / resetările intrărilor să funcționeze.
- Blocarea D sau blocarea datelor elimină șansa condițiilor de intrare nedorite.
- Zăvorul Gated D este conceput prin efectuarea unor modificări în zăvorul SR închis. Modificarea făcută este că intrarea de resetare trebuie schimbată la setul invertor.
- Zăvorul JK este similar cu zăvorul RS. Acesta cuprinde două intrări, adică J și K. Când intrările de blocare JK sunt mari, ieșirea este obligată să comute.
- Zăvorul T se formează atunci când intrările de zăvor JK sunt scurtcircuitate. T latch comută ieșirea atunci când intrarea latch este mare.
Q # 21) Spune-ne ceva despre Flip Flops.
(imagine sursă )
Răspuns: La fel ca zăvorul, un flip flop este un circuit electronic. Poartă două stări stabile care pot stoca date binare. Prin aplicarea diverselor intrări, puteți schimba datele stocate. La fel ca zăvoarele, este elementul de bază al sistemelor electronice și digitale ale computerelor, în comunicații și multe alte sisteme.
Q # 22) Explicați diferențele dintre zăvoare și flip-flops.
Răspuns:
Încuietori | Papuci flip-flop |
---|---|
Aceste blocuri pot fi construite din porți logice. | În timp ce zăvoarele sunt folosite pentru a construi aceste blocuri. |
Verifică intrările continuu și modifică ieșirea în consecință. | Flip-flop face același lucru, dar numai la ora stabilită de semnalul de ceas. |
Zăvoarele sunt sensibile la durata impulsului și atunci când comutatorul este pornit, acesta poate primi și trimite datele. | Este sensibil la schimbarea semnalului. Transferul de date poate avea loc numai într-un singur moment. Nu puteți schimba datele până când semnalul nu se va schimba în continuare. Acestea sunt utilizate ca registre. |
Activarea funcției de intrare este la ce funcționează. | Funcționează pe impulsuri de ceas. |
Q # 23) Ce știți despre sistemul de operare în timp real?
Răspuns: Cunoscut și ca sistem de procesare a datelor, sistemul de operare în timp real necesită un interval de timp extrem de mic pentru procesarea și răspunsul la intrări. Timpul necesar pentru a răspunde și afișa informațiile actualizate solicitate se numește timp de răspuns.
Folosim în timp real când cerințele de timp pentru operarea unui procesor sau pentru fluxul de date sunt rigide. Într-o aplicație dedicată, putem folosi sistemul în timp real ca dispozitiv de control. Acest sistem trebuie să aibă constrângeri de timp definitive și fixe, altfel se va simți.
Q # 24) Diferența dintre scriere înapoi și scriere prin cache.
Răspuns:
Scrieți înapoi cache | Scrie prin cache |
---|---|
Memorarea cache diferă de scriere până când linia cache a fost utilizată pentru citire. La rândul său, aceasta pune un semn de întrebare asupra integrității sale, mai ales atunci când mulți procesoare accesează aceleași date folosind cache-ul său intern. | Scrierea prin cache cache pentru fiecare scriere, prin urmare este considerată mai bună în integritate. |
Economisește multe cicluri de scriere sau de memorie, oferind astfel o performanță bună. | În comparație cu memoria cache de scriere, nu oferă o performanță atât de bună. |
Q # 25) De ce ar trebui să te angajăm?
Răspuns: În răspunsul la această întrebare, spuneți-le cât de dedicați ești muncii tale. Vorbește despre modul în care ai învățat lucruri noi în timpul carierei tale și despre cât de bine ai învățat din greșelile tale. Prezentați un exemplu în care ați performat excepțional de bine.
Oferiți-le o imagine a tipului de angajat pe care îl caută.
Concluzie
Acestea sunt unele dintre cele mai populare întrebări de interviu pentru arhitectura computerelor. A fi pregătit cu întrebările frecvente vă va crește șansele de a șterge interviul.
Cunoștințele dvs. despre acest subiect nu numai că vă vor ajuta să aveți încredere în interviu, ci și să le oferiți răspunsuri exacte.
Sperăm că această listă de întrebări de interviuri despre arhitectura computerelor ți-a fost de ajutor !!
Lectură recomandată
- Întrebări și răspunsuri la interviu
- Cele mai bune 25 de întrebări și răspunsuri de interviu pentru testarea agilă
- Întrebări și răspunsuri la interviuri de testare ETL
- Câteva întrebări și răspunsuri dificile de testare manuală
- 25+ Cele mai populare întrebări și răspunsuri la interviurile ADO.NET
- Top 25 de întrebări de interviu cu asistență tehnică cu răspunsuri
- Top 25 Întrebări și răspunsuri la interviuri de testare funcțională
- Întrebări de interviu cu răspunsuri Spock (Cele mai populare)