Arhitectura Harvard

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Schema schemei arhitecturii Harvard.

Arhitectura Harvard , în informatică , este un tip de arhitectură hardware digitală pentru computer în care există o separare între memoria care conține datele și cea care conține instrucțiunile . Termenul denota inițial arhitectura computerului Harvard Mark I , un computer bazat pe releu care stoca instrucțiuni pe o bandă perforată în timp ce datele erau stocate într-un contor electromecanic de 23 de cifre. Această mașină nu a fost echipată cu o unitate de stocare a datelor: acestea au fost stocate în întregime de CPU și încărcarea și salvarea lor a fost un proces efectuat manual acționând pe contoare.

Astăzi, majoritatea procesoarelor implementează căi de semnal separate din motive de performanță, dar implementează de fapt o arhitectură Harvard modificată, astfel încât să poată susține sarcini precum încărcarea unui program din memoria discului ca date și rularea acestuia.

Detaliu al memoriei

Într-o arhitectură Harvard, amintirile pentru date și instrucțiuni pot fi, de asemenea, diferite, cu tehnologii și timing de implementare diferite, în special în unele sisteme lățimea adreselor sau lățimea cuvântului instrucțiunilor este mai mare decât cea a datelor și în în alte sisteme, programele sunt stocate într-o memorie read-only ( ROM ), în timp ce datele sunt în mod normal într-o memorie read-write ( RAM ).

Diferențe cu arhitectura clasică a lui von Neumann

Într-o arhitectură clasică von Neumann , CPU citește instrucțiuni și date din memorie folosind aceeași magistrală, astfel încât atunci când CPU încarcă o instrucțiune nu poate încărca date în același timp. Într-o arhitectură Harvard, procesorul poate accesa independent date și instrucțiuni, deoarece acestea sunt separate și stocate în memorii separate. Prin urmare, o arhitectură Harvard poate efectua mai multe sarcini în paralel, deoarece poate paralela operațiile de citire și scriere a memoriei. Creșterea vitezei este contracarată de prezența unor circuite mai complexe în interiorul procesorului.

Utilizări

Memoria cache partajată L2
L3 cache partajată

În computerele moderne, cele două arhitecturi sunt de obicei prezente. Instrucțiunile și datele sunt de obicei stocate în aceeași memorie de masă. Datele și instrucțiunile citite din memoria externă de masă sunt stocate într-o memorie internă de lucru numită „memorie principală” care folosește memorii DRAM dinamice de mare capacitate, dar mult mai lent decât executarea instrucțiunilor în sine. În plus față de aceste amintiri există și amintiri cu capacitate limitată, dar foarte rapide SRAM , care nu sunt vizibile pentru software, numite cache care stochează un subset al memoriei principale și precis instrucțiunile și datele cele mai frecvent utilizate și adiacente (vezi operațiunea cache ) , pentru a accelera accesul la aceste informații. Pot exista diferite niveluri ale acestor cache care pot adopta ambele arhitecturi, numite „unificate” care stochează instrucțiuni și date în aceeași cache (arhitectură von Neumann) sau „separate”, instrucțiuni pe I-Cache și date pe D-cache (arhitectură Harvard). De obicei, cache-urile L3 sunt unificate, cache-urile L2 unificate / separate și cache-urile L1 separate. Arhitectura Harvard crește paralelismul de execuție a procesorului, permițând accesul la instrucțiunile ulterioare (pre-preluare, acces timpuriu) în paralel cu accesarea și executarea datelor referitoare la instrucțiunile anterioare (căi de acces independente separate).

Arhitectura Harvard este adesea utilizată în procesoare specializate, cum ar fi DSP-uri pentru procesarea datelor audio sau video. De exemplu, procesorul Blackfin al Analog Devices folosește arhitectura Harvard.

În plus, multe microcontrolere utilizate în aplicații industriale utilizează această arhitectură. De exemplu, controlerele PIC fabricate de Microchip Technology Inc și controlerele AVR fabricate de Atmel Corporation se bazează pe arhitectura Harvard. Aceste procesoare se caracterizează prin faptul că au o memorie mică disponibilă pentru date și instrucțiuni și utilizează arhitectura Harvard și arhitectura RISC pentru a putea executa majoritatea instrucțiunilor într-un singur ciclu de ceas. Separarea fluxurilor permite acestor procesoare să aibă lungimi de cuvinte diferite pentru date și instrucțiuni, exploatând în același timp mai puțini tranzistori (microprograma trăiește într-un ROM destul de mare). De exemplu, microcontrolerele PIC au o magistrală de date pe 8 biți, dar o magistrală de instrucțiuni de 12/14 sau chiar 16 biți. În acest fel pot încărca o singură instrucțiune și o constantă cu o singură încărcare din memorie într-un singur ciclu de ceas. De exemplu, alte arhitecturi RISC, cum ar fi arhitectura ARM, trebuie să utilizeze de obicei două instrucțiuni pentru a încărca o constantă.

Elemente conexe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT