Arhitectura Harvard
On ianuarie 24, 2022 by adminGCSE Computer Architecture (14-16 ani)
- O prezentare editabilă a lecției în PowerPoint
- Documente de recapitulare editabile
- Un glosar care acoperă terminologiile cheie ale modulului
- Topic mindmaps pentru vizualizarea conceptelor cheie
- Cartete flash imprimabile pentru a-i ajuta pe elevi să se implice în reamintirea activă și încrederea-repetiție bazată pe încredere
Un chestionar cu cheia de răspuns însoțitoare pentru a testa cunoștințele și înțelegerea modulului
A-Level Caracteristicile procesatorilor contemporani (16-18 ani)
- O prezentare editabilă a lecției în PowerPoint
- Documente de recapitulare editabile
- Un glosar care acoperă terminologiile cheie ale modulului
- Hărți mentale tematice pentru vizualizarea conceptelor cheie
- Cartete flash imprimabile pentru a-i ajuta pe elevi să se angajeze în reamintire activă și încredere-.repetiție bazată pe încredere
Un chestionar cu cheia de răspuns însoțitoare pentru a testa cunoștințele și înțelegerea modulului
INTRODUCERE
Microcontrolerele utilizează, în general, două tipuri de arhitectură.
- Arhitectura Von Neumann
- Arhitectura Harvard
Arhitectura Von Neumann constă din unitatea de control, unitatea aritmetică și logică, intrare/ieșire și registre.
În arhitectura Von Neumann, care este folosită de multe microcontrolere, spațiul de memorie se află pe același magistrală și astfel instrucțiunile și datele intenționează să folosească aceeași memorie. Folosește conceptul de calculator cu programe stocate.
Arhitectura Harvard este formată din unitatea logică aritmetică, memoria de date, intrare/ieșire, memoria de date, memoria de instrucțiuni și unitatea de control.
Arhitectura Harvard, are memorie separată pentru date și instrucțiuni. În acest fel, atât instrucțiunile, cât și datele pot fi preluate în același timp, ceea ce o face confortabilă pentru utilizatori.
În arhitectura Harvard, instrucțiunile sunt utilizate în memoria de numai citire, iar datele sunt utilizate în memoria de citire-scriere.
Arhitectura Harvard este utilizată în principal cu CPU, dar uneori este utilizată cu memoria principală, deoarece este puțin complexă și costisitoare.
Dimensiunea memoriei atât pentru instrucțiuni, cât și pentru date este diferită în cazul arhitecturii Harvard. Programele nu pot fi niciodată rulate automat, iar organizarea memoriei nu se află în mâinile utilizatorului. Putem examina diferitele caracteristici ale arhitecturii Harvard în acest articol.
EXEMPLE DE ARHITECTURĂ HARVARD
Un exemplu de arhitectură Harvard este reprezentat de primele sisteme Mainframe de calculatoare în care instrucțiunile sunt stocate pe un suport de programare, cum ar fi cartelele perforate, iar datele sunt stocate pe celălalt [suport de programare, cum ar fi benzile. Rezultatele Arhitecturii Harvard sunt imaginile lor corespunzătoare.
Mașinile de flux de date și mașinile de reducere sunt, de asemenea, exemple de Arhitectură Harvard. Ele prezintă o rată mare de paralelism, ceea ce înseamnă că rezultatele din date și instrucțiuni pot fi obținute în același timp.
Computerele cuantice pot fi, de asemenea, citate ca un exemplu de arhitectură Harvard. Diferența dintre alte calculatoare și calculatorul cuantic constă în timpul de care au nevoie pentru a finaliza o sarcină și ordinea în care își prioritizează temporizările.
Mașinile Enigma care au fost folosite în războaiele mondiale urmează, de asemenea, arhitectura Harvard,
Încă un alt exemplu principal de arhitectură Harvard este PROCESORUL DIGITAL DE SEMNALE, care depinde în principal de conceptul de arhitectură Harvard. Să vedem, cum funcționează DSP-ul în detaliu.
PROCESOR DE SEMNALE DIGITALE
- Procesoarele de semnale digitale sunt folosite pentru a transmite date în flux și sunt folosite pentru a prelua mai multe instrucțiuni în același timp, folosind o arhitectură de memorie specializată și o memorie separată pentru date și program.
- DSP-urile manipulează matematic procedurile care preiau aspecte din lumea reală, cum ar fi audio, video, voce, presiune și, le digitalizează.
- Ele sunt, de asemenea, utilizate pentru a efectua operații matematice cum ar fi Adăugarea, scăderea, înmulțirea și, divizarea. Prelucrarea semnalelor este esențială deoarece informațiile pe care acestea le conțin trebuie să fie afișate și analizate astfel încât să poată fi convertite într-un alt semnal, în formatul pe care utilizatorii îl cer, astfel încât să le găsească interesante.
- Convertoarele analogice-digitale își asumă sarcina de a converti aspectele de mai sus în semnale digitale în termeni de 0 și 1. DSP-ul preia apoi semnalul digitizat și le procesează.
- Preia semnalele digitizate și le convertește din nou în semnale analogice folosind Convertor analogic-digital, făcându-le utile pentru lumea reală. Viteza cu care au loc toate aceste procese este foarte mare.
- Să vedem cum funcționează procesorul de semnal digital pe dispozitivele Mp3. În general, acesta preia intrările prin intermediul receptoarelor și le convertește într-un semnal digital (sub formă de 0 și 1) folosind Convertizorul Analog-Digital. După faza de conversie, se realizează codificarea, iar fișierul codificat este astfel salvat în memorie.
- Urmează faza de decodificare, în care fișierul ar fi luat din memorie, convertit în semnale analogice cu ajutorul convertorului digital-analogic și, apoi, ieșirea este recepționată prin sistemul de difuzoare. Acesta este procesul care are loc în dispozitivul Mp3. Acesta îndeplinește, de asemenea, funcții complexe, cum ar fi controlul volumului, editarea frecvențelor și, așa mai departe.
- Un DPS poate fi folosit de calculator pentru a controla lucruri precum eficiența, transmiterea etc. Semnalele trec mai întâi prin faza de procesare și apoi prin faza de transmisie. Teleconferința utilizează semnale telefonice pentru a transmite linii audio și video. Calitatea semnalelor ar putea fi manipulată sau improvizată pentru a apărea mai bine în ochii utilizatorului. Aceasta va fi invizibilă pentru ochii utilizatorului. Exemplu, anularea ecoului la telefoane.
- Deși semnalele din lumea reală pot fi procesate în mod analogic, aceste semnale procesate digital pot fi transmise cu viteză mare și sunt foarte precise.
COMPONENTELE DIN INTERIORUL UNUI DSP
Procesorul de semnale digitale este format din următoarele părți:
Memoria programului:
Utilizează datele procesate și stochează programul în interiorul memoriei. Este în general nevolatilă. În această memorie de program se folosește memoria flash, unde reprogramarea este posibilă cu ajutorul unei interfețe hardware. Iar memoria de program utilizează în general conceptul de stivă.
Memoria de date:
Memoria de date se numește memorie cu acces aleatoriu. Este un loc temporar pentru stocarea variabilelor și constantelor în timpul execuției programului. Cantitatea de memorie care este RAM, variază de la un microcontroler la altul.
Motor de calcul:
Realizează operații matematice și colectează date și programe din locurile lor respective. Colectează instrucțiuni din memoria de programe și, de asemenea, colectează date din memoria de date.
Intrare/ieșire:
Tehnica utilizată pentru a transfera date de la un dispozitiv extern și un microcontroler se numește intrare/ieșire. Utilizatorul comunică cu microcontrolerul prin intermediul Input/Output. Utilizatorii introduc datele lor prin intermediul tastaturii dispozitivului de intrare și colectează datele de ieșire dorite de la imprimantele sau de pe hard-discurile dispozitivului extern. Aceste dispozitive de intrare/ieșire se numesc periferice și sunt cele mai comune dispozitive care sunt utilizate în sistemul microcontroler.
ARHITECTURA PROCESORULUI DIGITAL DE SEMNALE
ARHITECTURA SOFTWARE:
Seturile de instrucțiuni utilizate în DSP sunt neregulate. În timp ce seturile de instrucțiuni obișnuite sunt folosite în operațiile obișnuite ale unui calculator, seturile DSP sunt folosite în operații matematice specializate.
Programele de asamblare sunt în general puse în biblioteci pentru reutilizare, în schimb, alte mașini folosesc metode de compilare pentru a stoca algoritmii esențiali. Multe programe utilizate în DSP sunt, în general, scrise de mână, pentru a facilita programarea ușoară.
Instrucțiunile de date includ diverse operații, cum ar fi instrucțiuni aritmetice, instrucțiuni booleene, instrucțiuni logice și, instrucțiuni de flux.
Fluxul programului constă în arhitectura pipeline și acumulatori multipli.
ARHITECTURA HARDWARE:
Arhitectura hardware constă în componentele fizice ale unui sistem. În general, acestea oferă spațiul necesar pentru ca alte sisteme să încapă în dispozitiv și, de asemenea, evaluează celelalte componente software. Ele oferă, de asemenea, spațiu pentru utilizarea eficientă a componentelor software. Ele combină diferitele sectoare ale ingineriei pentru a lucra împreună și pentru a dezvolta noi mașini și arhitecturi.
Cu toate acestea, trebuie să ne dăm seama că componentele hardware nu pot funcționa corect fără ajutorul componentelor software. Dacă luăm un avion modern, de exemplu, trebuie să folosim coduri software încorporate pentru a-l face să funcționeze eficient.
ARHITECTURA MEMORIEI:
Procesoarele de semnale digitale sunt utilizate în general pentru rularea datelor și folosesc tehnici de memorie specializate pentru a prelua date și instrucțiuni separat pe căi diferite (conceptul de arhitectură Harvard), iar datele și instrucțiunile sunt preluate pe același magistrală, așa cum se utilizează în arhitectura Von Neumann.
Memoria utilizează uneori memoria cache pentru a cunoaște operațiile de întârziere.
MEMORIE VIRTUALĂ:
DSP-urile nu utilizează în general memoria virtuală deoarece se bazează pe operații multitasking. Operațiile care utilizează memoria virtuală folosesc în general conceptul de comutare de concept care s-a dovedit că mărește latența.
DSP-uri moderne
Procesoarele moderne de semnal digital dau rezultate și mai bune. Acest lucru se datorează concepției de nivel scăzut, a cache-ului avansat etc.
Care DSP poate avea viteze diferite. Există multe procesoare de semnal digital cu viteză redusă, concepute pentru a îndeplini sarcini specifice.
XMOS produce multe procesoare cu micro nucleu. Acestea sunt ușor de programat folosind limbajul C.
SEVA este DSP-ul modern care folosește structura MAC.
Analog Devices folosește sistemul DSP bazat pe SHARC.
Microchip Technologies sunt folosite în PIC 24 de imagini.
Majoritatea DSP-urilor folosesc valori aritmetice fixe. DSP-urile flotante ar putea deveni nule în cazul unor valori dinamice. Mulți proiectanți de produse folosesc DSP-uri flotante, dacă se gândesc că dispozitivul ar trebui să fie eficient din punct de vedere al costurilor, precum și în schimbul unui software fiabil pentru sisteme hardware costisitoare.
DPS-urile moderne sunt în general folosite în algoritmi ușor de implementat.
PROS ȘI CONTRA DSP-urilor
PROS:
- Sunt foarte precise. Ieșirile lor au o precizie ridicată în comparație cu dispozitivele analogice.
- Reorganizarea dispozitivelor analogice s-ar putea dovedi foarte dificilă. În procesoarele digitale de semnal, este ușor, deoarece codul se flashează în câteva secunde, făcându-l astfel confortabil pentru utilizatori.
- Algoritmii de nivel înalt pot fi implementați folosind metode specifice.
- Costul de implementare în procesoarele digitale de semnal este mult mai mic în comparație cu procesoarele analogice.
- Procesoarele DSP pot fi coborâte cu ușurință în comparație cu alte procesoare.
- Procesoarele DSP pot fi, de asemenea, operate offline, ceea ce le face accesibile pentru a fi transportate cu ușurință.
CONS:
- Este destul de complex, deoarece utilizează convertoare. ADC (Analog to Digital Converter) și DAC (Digital to Analog Converter).
- Care DSP are dispozitive hardware și software separate. Astfel, DSP-urile nu pot fi utilizate fără o pregătire adecvată.
- Este necesară o lățime de bandă mai mare pentru transmisia digitală decât pentru cea analogică.
- IC-urile trebuie utilizate cu prudență, deoarece sunt foarte scumpe.
- Trebuie să stăpânim clar conceptele, deoarece unitatea de control care este prezentă este mai complexă și reproiectarea ar fi o muncă anevoioasă.
FAPTE DESPRE ARHITECTURA HARVARD
- Arhitectura Harvard accelerează viteza procesorului. Deoarece datele și instrucțiunile sunt stocate în magistrale separate, ea este foarte avantajoasă pentru mulți utilizatori.
- Arhitectura Harvard urmează aranjamentul „Pipeline”. Dacă execuția unei instrucțiuni este în curs de desfășurare, cealaltă instrucțiune ar fi preluată din memorie. Acest lucru permite suprapunerea instrucțiunilor, astfel încât rata de execuție crește considerabil.
- RISC (Reduced Instruction Set Computer) și CISC (Complex Instruction Set Computer) sunt metodologiile utilizate în arhitectura Harvard. În microcontrolerul RISC, datele au o lățime de 8 biți, în timp ce instrucțiunile au o lățime de 12 sau 16 biți. Astfel, totul este executat deodată, ceea ce duce la creșterea performanțelor.
- În CISC atât datele cât și instrucțiunile au o lățime de 8 biți. Acestea au în general peste 200 de instrucțiuni. Dar acestea nu pot fi executate la un moment dat, ci mai degrabă preluate simultan.
- Unitatea de execuție este formată din 2 unități aritmetice și logice, 1 shifter, 1 multiplicator, acumulatori, etc. Astfel, ele pot executa operații aritmetice într-un mod stabil și cu un paralelism excelent.
- Multe microcontrolere folosesc, de asemenea, Lookup Table. (LUT). Acestea au fost utilizate în scopuri de modulație.
- Din moment ce datele și instrucțiunile sunt stocate în magistrale separate, există foarte puține șanse de corupție.
- Datele care utilizează modul Read-Only și instrucțiunile care utilizează modul Read-Write sunt operate în același mod. De asemenea, acestea pot fi accesate în mod similar.
- În general, vor fi prezente două memorii, una pentru date și cealaltă pentru instrucțiuni, acestea au dimensiuni diferite ale celulelor, ceea ce face ca utilizarea resurselor să fie foarte eficientă.
- Lărgimea de bandă care este utilizată pentru memorie este mai previzibilă.
- În general, acestea oferă performanțe ridicate deoarece datele și magistralele sunt păstrate în memorii separate și circulă pe magistrale diferite.
- Accesul paralel la date și instrucțiuni poate fi menținut.
- Programarea nu ar mai fi necesară deoarece există magistrale separate pentru date și instrucțiuni.
- Programatorii pot proiecta unitatea de memorie în funcție de cerințele lor.
- Unitatea de control primește datele și instrucțiunile dintr-o singură memorie. Astfel, simplifică arhitectura unității de comandă.
- Memoria de date neocupată nu poate fi utilizată de instrucțiuni, iar memoria de instrucțiuni liberă nu poate fi utilizată de date. Memoria dedicată fiecărei unități trebuie echilibrată cu atenție.
- Programul nu poate fi scris de mașină de una singură ca în arhitectura Von Neumann.
- Unitatea de control necesită mai mult timp pentru a fi dezvoltată și este mai scumpă.
- Există 2 magistrale în această arhitectură. Ceea ce înseamnă că placa de bază va fi mai complexă, ceea ce, la rândul său, înseamnă că vor exista două memorii RAM și, prin urmare, tinde să aibă un design cache foarte complex. Acesta este motivul pentru care este folosit mai ales în interiorul procesorului și nu în afara acestuia.
- Producția calculatorului cu 2 magistrale necesită mai mult timp pentru a fi fabricat și este din nou la fel de scump ca și unitatea de control.
- Acesta are mai mulți pini pe circuitele sale integrate. Prin urmare, este foarte dificil de implementat.
- Nu este utilizat pe scară largă, astfel încât dezvoltarea lui ar fi pe muchie de cuțit.
- Nu face cea mai mare parte din Unitatea Centrală de Procesare, întotdeauna.
- Bazele: Se bazează pe modelul de calculator Harvard I.
- Memorie: Are memorie separată pentru date și instrucțiuni. Astfel, fiecare sistem de pe memorie poate fi accesat simultan.
- Procesarea instrucțiunilor: În arhitectura Harvard, procesarea instrucțiunilor poate fi finalizată într-o singură fază dacă conductele se află în locurile lor corespunzătoare.
- Cost: Unitatea de control în arhitectura Harvard necesită mai mult timp pentru a fi dezvoltată și este mai scumpă.
- Utilizări: Sunt utilizate în principal în microcontrolere și procesoare de semnale digitale.
- Instrucțiile sunt mai largi decât datele. În acest caz, dacă instrucțiunile ar fi procesate separat, ele pot conduce la un rezultat mai fiabil. În timp ce, dacă sunt puse în aceeași celulă cu datele, ele tind să se suprapună, provocând astfel erori.
- Ar trebui să fim atenți dacă cache-urile sunt Read-Only. Acest lucru se datorează faptului că, în cazul în care cache-urile au opțiunea de citire-scriere, dezvoltarea lor ar putea necesita mai mult timp și ar putea fi, de asemenea, complexă.
- Ar trebui să aibă o lățime de bandă separată pentru o optimizare mai bună.
- Foarte eficient în cazul Compilatoarelor „JIT”, Just in Time, unde penalizarea copy-paste ar fi ofensată, metaprogramarea este prezentă și este disponibil și codul de auto-modificare.
- Unde aspectul de programare ar fi principala preocupare. Pentru că în cazul microcontrolerelor ar fi dificil de proiectat și dezvoltat alte variante, deoarece plăcile de bază din interiorul lor ar fi complexe de înțeles și s-ar dovedi a fi o sarcină plictisitoare în ansamblu.
- Procesoarele integrate pot fi dezvoltate deoarece sunt destinate să aibă caracteristici care, la rândul lor, favorizează schimbul încrucișat pe ambele părți, dacă au lățimi de bandă mari de memorie și o legătură de adrese plate.
- Se implementează conceptul de stivă. Unitatea de adresare nu ar trebui să se complice, deoarece este posibil să trebuiască să ruleze cel puțin 2 căi în paralel. Contorul de program și pointerul de stivă ar fi prezente. Registrele care sunt prezente în pointeri pot fi incrementate sau decrementate.
- Câteva procesoare de semnal digital utilizează conceptul „LIFO”. Ultimul intrat primul ieșit. Aceasta se mai numește și stivă hardware. În acest fel, putem să împingem și să scoatem stiva mai repede, prin urmare nu necesită utilizarea magistralelor de adrese.
VANTAJE ȘI DEZAVANTAJE ALE ARHITECTURII HARVARD
VANTAJE:
DEZAVANTAJE:
SUMAR DE ARHITECTURĂ HARVARD
Deci, ar trebui să optăm pentru utilizarea arhitecturii Harvard dacă,
CONCLUZIE:
Acum, am discutat în detaliu despre arhitectura Harvard. Am văzut, de asemenea, toate avantajele și dezavantajele arhitecturii Harvard. Exemplele au fost discutate pentru a fi mai clare pentru ochii utilizatorului. Astfel, trebuie să ne asigurăm că, stăpânim complet arhitectura pentru a obține cele mai bune rezultate ale acesteia. De asemenea, ar trebui să ne fie clar în ce instanță ar trebui să folosim arhitectura Harvard și Von Neumann și să folosim eficient ceea ce folosim. Nu ezitați să postați orice comentariu și să împărtășiți și sugestii pentru a discuta mai mult!!!
- https://en.wikipedia.org/wiki/Harvard_architecture
- https://tdck.weebly.com/uploads/7/7/0/5/77052163/03_-_harvard_architecture_comparison.pdf
- https://www.google.com/search?q=advantages+of+harvard+architecture&safe=strict&tbm=isch&source=iu&ictx=1&fir=sJHdbNlHdCfBnM%253A%252C3B-t13LzqLeqjM%252C_&vet=1&usg=AI4_-kQJCxwrxhCUXW7xWDgGIGpD3yUVAA&sa=X&ved=2ahUKEwinsPip1tfpAhVIwKQKHYUXCdsQ9QEwCnoECAUQHA#imgrc=g1JuuAOnXWWyKM&imgdii=jUPAKYHNfW-wyM
- https://www.sciencedirect.com/topics/engineering/harvard-architecture
.
Lasă un răspuns