- Aplicații
- Origine
- Model
- Arhitectură modificată Harvard
- Cum funcționează arhitectura Harvard?
- Adăugări în arhitectură
- Adrese de memorie
- Sistem de memorie
- Avantaj
- Nivel de protecție
- Viteză mai mare
- Dezavantaje
- Complexitate și costuri mai mari
- Putin folos
- Utilizarea greșită a spațiului de memorie
- Referințe
Arhitectura Harvard este o configurație a calculatorului în care datele și instrucțiunile unui program sunt localizate în celule separate de memorie, care pot fi abordate în mod independent.
Adică este termenul folosit pentru un sistem de calculator care conține două zone separate: pentru comenzi sau instrucțiuni și pentru date. Prin urmare, funcția principală a acestei arhitecturi este de a stoca datele separate fizic, oferind diferite căi de semnal pentru instrucțiuni și date.
Sursa: De la Nessa los - Lucrare proprie, CC BY-SA 3.0, commons.wikimedia
În această arhitectură, atât formatul cât și suportul acestor două segmente ale sistemului pot fi inegale, deoarece cele două părți sunt alcătuite din două structuri separate.
Unele exemple de arhitecturi Harvard implică sisteme computerizate timpurii, unde instrucțiunile de program ar putea fi pe un singur suport, de exemplu, pe carduri de pumn, iar datele stocate ar putea fi pe un alt mediu, de exemplu, pe benzi magnetice.
Aplicații
Acest tip de arhitectură are o aplicație largă în produsele de procesare video și audio. Cu fiecare instrument de procesare video și audio, se poate vedea figura arhitecturii Harvard.
Dispozitive analogice Procesoarele Blackfin sunt dispozitivul special în care și-a găsit utilizarea principală. În alte produse pe bază de cipuri electronice, arhitectura Harvard este de asemenea folosită pe scară largă.
Cu toate acestea, majoritatea computerelor folosesc arhitectura von Neumann și folosesc memoriile de memorie CPU pentru a obține o suprapunere.
Origine
Lucrările efectuate la Universitatea Harvard în anii 1940 sub conducerea lui Howard Aiken au creat un computer original bazat pe relee, numit Harvard Mark I, care este termenul de la care a apărut conceptul de arhitectură Harvard.
Acest computer a folosit unități de memorie separate pentru a stoca date și instrucțiuni. Apoi s-a înregistrat o dezvoltare semnificativă cu această arhitectură.
Aiken a încurajat utilizarea memoriilor separate pentru date și instrucțiuni ale programului, cu autobuze separate pentru fiecare.
Arhitectura originală Harvard a stocat de obicei instrucțiuni pe benzi perforate și date pe contoarele electromecanice.
Stocarea datelor acestor mașini timpurii a fost completă în cadrul unității centrale de procesare. Pe de altă parte, nu au dat acces pentru ca instrucțiunile să fie stocate ca date. Un operator a trebuit să încarce programele.
O arhitectură Harvard poate prelucra date și executa instrucțiuni în același timp, deoarece fiecare dintre ele are propriul bus de adrese.
Model
Acest model este caracterizat prin faptul că autobuzele de informații și stocarea sunt separate fizic pentru datele și codul programului.
Deoarece autobuzele funcționează în mod autonom, datele și instrucțiunile de program pot fi obținute în același timp, îmbunătățind astfel viteza față de proiectarea autobuzului unic.
Prin urmare, modelul Harvard se dovedește a fi mai complex. Cu toate acestea, faptul că autobuzele evită în mod independent blocajul produs de arhitectura von Neumann.
Un computer poate fi mai rapid pentru un circuit cu o anumită complexitate, deoarece căutarea instrucțiunilor și accesarea datelor nu trebuie să lupte pentru un singur bus de memorie.
Pentru a funcționa există două adrese de memorie. Prin urmare, există un registru de memorie pentru instrucțiunile mașinii și un alt registru de memorie pentru date.
Spre deosebire de arhitectura von Neumann, care folosește un autobuz pentru a muta atât instrucțiuni cât și date în memorie, arhitectura Harvard folosește o zonă de memorie pentru date și alta pentru instrucțiuni.
Arhitectură modificată Harvard
În computerele actuale nu există dezagregare fizică a zonelor de memorie utilizate de programe și date. Din acest motiv, s-ar putea spune că tehnologic au o arhitectură Von Neumann.
Cu toate acestea, arhitectura Harvard modificată servește pentru a reprezenta cel mai bine calculatoarele de astăzi.
Deși unitățile de procesare actuale partajează memoria, ele au anumite elemente, cum ar fi instrucțiuni unice, care împiedică datele să se încurce cu instrucțiuni. Aceasta se numește arhitectură modificată Harvard.
Astfel, arhitectura Harvard modificată are două autobuze separate, una pentru cod și alta pentru date, însă memoria în sine este un element împărtășit fizic.
Controlerul de memorie este locul unde se află modificarea, deoarece acest dispozitiv este cel care gestionează memoria și modul în care ar trebui să fie utilizat.
Modelele moderne de computer sunt acceptate de arhitectura modificată Harvard. Sunt utilizate în microcontrolere și în procesarea digitală a semnalului.
Cum funcționează arhitectura Harvard?
Arhitectura Harvard are diferite zone de adresă de memorie pentru program și pentru date.
Acest lucru duce la capacitatea de a proiecta un circuit în așa fel încât un bus și un circuit de control pot fi utilizate pentru a gestiona fluxul de informații din memoria programului și unul separat pentru a gestiona fluxul de informații către memoria de date.
Utilizarea autobuzelor separate înseamnă că este posibil ca un program să fie preluat și executat fără a fi întrerupt de transferul ocazional de date în memoria de date.
De exemplu, într-o versiune simplă a acestei arhitecturi, unitatea de recuperare a programului ar putea fi ocupată preluând următoarea instrucțiune din secvența de programe și în paralel efectuând o operațiune de transfer de date care ar fi putut face parte din instrucțiunile anterioare ale programului. .
La acest nivel, arhitectura Harvard are o limitare, deoarece în general nu este posibil să introduceți codul programului în memoria de date și să îl executați de acolo.
Adăugări în arhitectură
Multe variante existente mai complicate pot fi adăugate formei simple a arhitecturii Harvard.
O adăugare obișnuită este adăugarea unui cache de instrucțiuni în magistrala de date a programului, permițând unității de execuție a instrucțiunilor acces mai rapid la următorul pas din program, fără a fi nevoie să mergi la memoria mai lentă pentru a ajunge la pas. a programului de fiecare dată când este necesar.
Adrese de memorie
Un computer de arhitectură Harvard are diferite zone de instrucțiuni și adrese de date: adresa de instrucțiune 1 nu este aceeași zonă cu adresa unu.
Adresa instrucțiunii ar putea conține o valoare de douăzeci și patru de biți, în timp ce adresa de date se poate indica un octet de opt biți, care nu face parte din acea valoare de douăzeci și patru de biți.
Sistem de memorie
Întrucât există o zonă de memorie separată pentru instrucțiuni și date, care separă atât semnalele cât și stocarea memoriei codului și datelor, acest lucru face posibilă accesarea fiecărui sistem de memorie simultan.
Avantaj
- Există mai puține șanse de corupție în transmisie, deoarece datele și instrucțiunile sunt transferate prin autobuze diferite.
- Datele și instrucțiunile sunt accesate în același mod.
- Permite diferite suporturi de stocare pentru instrucțiuni și date. De exemplu, puteți pune instrucțiunile în ROM ieftin și datele în memoria RAM scumpă.
- Cele două amintiri pot utiliza dimensiuni de celule diferite, făcând astfel utilizarea eficientă a resurselor.
- Are o lățime de bandă mai mare a memoriei, care este mai previzibilă având memorii separate pentru instrucțiuni și date.
Nivel de protecție
În cazul sistemelor care nu au o unitate de gestionare a memoriei, acesta oferă un nivel suplimentar de protecție, deoarece datele nu pot fi pornite ca cod, expunând sistemul la numeroase probleme, cum ar fi revărsarea tamponului.
Acesta este motivul pentru care este popular în cazul sistemelor mici încorporate, cum ar fi cuptorul cu microunde sau un ceas.
Viteză mai mare
Arhitectura Harvard poate citi o instrucțiune și, de asemenea, accesa memoria de date simultan la o viteză rapidă.
Oferă performanțe mai mari, deoarece permite obținerea simultană a datelor și a instrucțiunilor pentru a fi stocate în amintiri separate și a călători prin diferite autobuze.
O arhitectură Harvard va ajuta, în general, un computer cu un anumit nivel de complexitate să ruleze mai repede decât o arhitectură Von Neumann, atât timp cât nu este necesar să partajați resurse între memoriile de cod și date.
Dacă limitările pinului sau alți factori forțează utilizarea unui singur autobuz pentru a accesa ambele spații de memorie, este posibil ca aceste beneficii să fie în mare parte anulate.
Dezavantaje
Complexitate și costuri mai mari
Problema cu arhitectura Harvard este complexitatea și costul ei mari, deoarece în loc de un autobuz de date, acum sunt necesare două.
Producerea unui computer cu două autobuze este mult mai scumpă și necesită mai mult timp la fabricare. Este nevoie de o unitate de control pentru două autobuze, care este mai complicată și consumatoare de timp și costisitoare.
Aceasta înseamnă o implementare mai complexă pentru producători. Este nevoie de mai mulți pini pe procesor, o placă de bază mai complexă și trebuie să dubleze cipuri de memorie RAM, precum și un design de cache mai complex.
Putin folos
Arhitectura Harvard nu este utilizată pe scară largă, ceea ce face mai dificilă implementarea. Acesta este motivul pentru care este rar utilizat în afara procesorului.
Cu toate acestea, această arhitectură este uneori folosită în cadrul procesorului pentru a-și gestiona memoria cache.
Utilizarea greșită a spațiului de memorie
Atunci când există spațiu liber în memoria de date, acesta nu poate fi utilizat pentru a stoca instrucțiuni și invers.
Prin urmare, amintirile specifice care sunt dedicate fiecăruia dintre ele trebuie să fie echilibrate cu atenție în fabricarea lor.
Referințe
- Diferențe de listă (2019). Diferența dintre Von Neumann și Harvard Architecture? Luate de la: listdifferences.com.
- Revista PC (2019). Definiția: Harvard architecture. Luat de la: pcmag.com.
- Techopedia (2019). Arhitectura Harvard. Preluat de la: plafonpedia.com.
- Scott Thornton (2018). Care este diferența dintre arhitecturile Von-Neumann și Harvard? Sfaturi pentru microcontroler. Luate de la: microcontrollertips.com.
- Wikipedia, enciclopedia gratuită (2019). Arhitectura Harvard. Preluat de la: en.wikipedia.org.
- Programatorul nebun (2019). Diferența dintre Von Neumann și Harvard Architecture. Luat de la: thecrazyprogrammer.com.