GCSE Arhitectura Von Neumann (14-16 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
A-Level Contemporary Processors (16-18 ani)
- O prezentare editabilă a lecției în PowerPoint
- Documente de recapitulare editabile
- Un glosar care acoperă terminologiile cheie ale modulului
- Măștile mentale 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
Termenul Arhitecturi de calculatoare se referă la un set de reguli care indică modul în care software-ul și hardware-ul computerului sunt combinate împreună și modul în care acestea interacționează pentru a face un computer funcțional, în plus, arhitectura calculatorului specifică, de asemenea, care sunt tehnologiile pe care calculatorul este capabil să le gestioneze.
Arhitectura calculatoarelor este o specificație, care descrie modul în care software-ul și hardware-ul interacționează împreună pentru a produce o platformă funcțională.
Când o persoană se gândește la cuvântul „arhitectură”, mintea umană se va gândi, probabil, la asamblarea clădirilor sau a caselor, mai mult, având în vedere același principiu, arhitectura calculatoarelor implică construcția unui sistem informatic la nivel intern și extern.
Există trei categorii principale în arhitectura calculatoarelor:
- Proiectarea sistemului:
- Proiectarea sistemului este reprezentată de părțile hardware, care include multiprocesoarele, controlorii de memorie, CPU, procesoarele de date și accesul direct la memorie. Proiectarea sistemului poate fi considerată ca fiind sistemul propriu-zis al calculatorului.
- Arhitectura setului de instrucțiuni:
- Aceasta se învârte în jurul procesorului. Ea include capacitățile și funcțiile procesorului, în plus, include și formatele de date ale procesorului, limbajul de programare și tipurile de registre și instrucțiuni ale procesorului, care sunt folosite de programatorii de calculatoare.
- Procesorul este partea dintr-un calculator, care face ca un program să ruleze, fie că a fost sistemul de operare sau o aplicație precum Photoshop.
- Microarhitectura:
- Microarhitectura unui sistem va defini elementele de stocare/căile de date și modul în care acestea vor fi implementate în arhitectura setului de instrucțiuni, microarhitectura este, de asemenea, responsabilă pentru procesarea datelor.
Toate acestea se vor îmbina într-o anumită ordine pentru a face sistemul funcțional.
Ce este arhitectura von Neumann?
În 1945, John von Neumann, care era matematician la acea vreme, a aprofundat studiul conform căruia, un calculator ar putea avea o structură simplă fixă și totuși să poată executa orice tip de calcul fără modificări hardware. Aceasta cu condiția ca computerul să fie programat în mod corespunzător cu instrucțiuni adecvate, în care să fie capabil să le execute.
Primul progres al lui von Neumann a fost denumit „transfer de control condiționat”, care a permis ca o secvență de program să fie întreruptă și apoi repornită în orice moment, în plus, acest progres a permis ca datele să fie stocate împreună cu instrucțiunile în aceeași unitate de memorie.
Acest lucru a fost benefic pentru că, dacă se doreau instrucțiuni, acestea pot fi modificate aritmetic în același mod ca și datele.
Arhitectura von Neumann descrie un model de proiectare pentru un calculator digital cu program memorat care încorporează doar o singură unitate de procesare și o singură structură de stocare separată, care va conține atât instrucțiuni cât și date.
Arhitectura von Neumann se referă la una care păstrează atât datele cât și instrucțiunile programate în memoria RAM (Random Access Memory) cu citire-scriere.
Caracteristicile arhitecturii von Neumann
După cum s-a menționat mai sus, arhitectura von Neumann se bazează pe faptul că datele programului și datele instrucțiunilor sunt stocate în aceeași unitate de memorie. Acest lucru poate fi denumit și „conceptul de program stocat”.
Această concepție este încă utilizată în calculatoarele produse în zilele noastre:
Unitatea centrală de procesare (CPU):
- Universitatea centrală de procesare este un circuit electronic, care execută instrucțiunile programului de calculator.
- Unitatea centrală de procesare poate fi denumită și microprocesor sau procesor.
În cadrul unității centrale de procesare, există ALU, CU și registrele, care sunt descrise mai detaliat mai jos:
Unitatea de control:
- Controlează funcționarea ALU, a memoriei și a intrărilor/ieșirilor, instruindu-le cum să răspundă la instrucțiunile din programul pe care tocmai l-a citit și interpretat din unitatea de memorie. Unitatea de control dirijează operațiile procesorului prin executarea următoarelor sarcini:
- Coordonarea și controlul activităților CPU
- Gestionarea fluxului de date între alte componente și CPU
- Recunoașterea și acceptarea următoarei instrucțiuni
- Decodificarea instrucțiunilor
- Stocarea datelor rezultate înapoi într-o unitate de memorie
Unitatea aritmetică și logică (ALU):
- Permite efectuarea de operații logice și aritmetice, cum ar fi adunarea și scăderea.
- (Operatorii logici sunt: AND, OR, NOT, XOR)
Unitatea de memorie:
- Constituie memoria RAM, care este partiționată și constă dintr-o adresă și conținutul acesteia, care sunt în formă binară.
- RAM (Random Access Memory) este un tip de memorie rapidă, spre deosebire de hard disk-uri, este, de asemenea, direct accesibilă de către CPU.
- Existența RAM într-un CPU, îi permite acestuia să funcționeze mult mai rapid și, prin urmare, mai eficient.
Registre:
- Bloc mic din CPU care constă din celule de memorie de mare viteză care stochează datele înainte de a fi procesate, toate operațiile logice, aritmetice și de deplasare au loc aici.
- Registrul este format din 5 componente
- Contor de program (PC): Păstrează adresa următoarei instrucțiuni care urmează să fie executată
- Acumulator (AC): Zona de stocare în care sunt stocate rezultatele logice și aritmetice
- Registrul de adrese de memorie (MAR): Păstrează adresa unei locații a datelor care urmează să fie citite sau scrise
- Registrul de date de memorie (MDR): Locație de stocare temporară care stochează datele care au fost citite sau datele care mai trebuie scrise
- Current Instruction Register (CIR): Zona în care se execută instrucțiunea curentă. Operația este împărțită în operand și opcode.
- Operand: Conține date sau adresa datelor (unde se va efectua operația)
- Opcode: Specifică tipul de instrucțiune care va fi executată
Busuri:
- Este un set de fire paralele, care conectează componentele (două sau mai multe) din interiorul CPU. În cadrul CPU, există trei tipuri de magistrale, iar toate acestea sunt denumite magistrale de sistem. Tipurile de autobuze sunt: Bus de date, Bus de control și Bus de adrese.
- Bus de date: Acest autobuz este denumit un autobuz bidirecțional, ceea ce înseamnă că „biții” pot fi transportați în ambele sensuri. Acest autobuz este utilizat pentru a transporta date și instrucțiuni între procesor, unitatea de memorie și intrarea/ieșirea.
- Bus de adresă: Transmite adresa de memorie care specifică locul de unde trebuie trimise sau recuperate datele relevante. (Busul de adrese nu transportă datele, ci doar adresa)
- Bus de control: Acesta este, de asemenea, un bus bidirecțional utilizat pentru a transmite „semnale de control”/comandări de la unitatea centrală (și semnale de stare de la alte componente) pentru a controla și coordona toate activitățile din cadrul calculatorului.
Intrare/ieșiri:
- Informații transmise de utilizator/informații primite de utilizator.
Avantaje și dezavantaje ale arhitecturii von Neumann
Avantaje | Dezavantaje |
Unitatea de control recuperează instrucțiuni și date în același mod dintr-o unitate de memorie. Acest lucru simplifică dezvoltarea și proiectarea unității de control | Executările paralele ale programelor nu sunt permise din cauza procesării instrucțiunilor în serie |
Avantajul de mai sus ar însemna, de asemenea, că datele din memorie și din dispozitive sunt accesate în același mod. Prin urmare, creșterea eficienței | Numai un singur „bus” poate fi accesat la un moment dat. Acest lucru are ca rezultat faptul că procesorul este inactiv (deoarece este mai rapid decât un autobuz de date) Acest lucru este considerat a fi gâtul de îmbulzeală von Neumann |
O caracteristică avantajoasă este că programatorii au controlul asupra organizării memoriei | Deși faptul că atât instrucțiunile cât și datele sunt stocate în același loc poate fi privit ca un avantaj în ansamblu. Acest lucru poate duce însă la rescrierea peste ea, ceea ce duce la pierderea de date, din cauza unei erori într-un program |
Dacă un program defectuos nu reușește să elibereze memoria atunci când nu are nevoie de ea (sau nu termină cu ea), poate provoca blocarea calculatorului, ca urmare a insuficienței memoriei disponibile |
Von Neumann bottleneck
Pe măsură ce procesoarele și calculatoarele au avut de-a lungul anilor o creștere a vitezei de procesare, iar îmbunătățirile aduse memoriei au crescut în ceea ce privește capacitatea, mai degrabă decât viteza, acest lucru a dus la apariția termenului „von Neumann bottleneck”. Acest lucru se datorează faptului că unitatea centrală de procesare petrece o mare cantitate de timp în inactivitate (nu face nimic), în timp ce așteaptă ca datele să fie preluate din memorie. Indiferent cât de rapid este procesorul, acest lucru depinde în cele din urmă de rata de transfer, de fapt, dacă procesorul este mai rapid, acest lucru înseamnă doar că va avea un timp mai mare de „inactivitate”.
Aproapele de depășire a acestui blocaj includ:
- Caching:
- Date care sunt mai ușor de accesat în memoria RAM, mai degrabă decât stocate în memoria principală. Tipul de date stocate aici va fi tipul de date, care este frecvent utilizat.
- Prefetching:
- Transportul unor date în memoria cache înainte ca acestea să fie solicitate. Acest lucru va accelera accesul în cazul unei solicitări a datelor.
- Multithreading:
- Gestionarea mai multor solicitări în același timp în fire de execuție separate.
- Noi tipuri de memorie RAM:
- Cum ar fi DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory).
- Acest tip de RAM activează ieșirea atât pe frontul descendent cât și pe frontul ascendent al ceasului de sistem, în loc de doar pe frontul ascendent.
- Aceasta poate dubla potențial ieșirea.
- RAMBUS:
- Un subsistem care conectează controlerul RAM, memoria RAM și magistrala (calea) care leagă RAM de microprocesor și de dispozitivele din calculator care o utilizează.
- Procesare în memorie (PIM):
- PIM integrează un procesor și o memorie într-un singur microcip.
Ce este arhitectura Harvard?
Arhitectura Harvard este denumită astfel după computerul bazat pe releu „Harvard Mark I”, care a fost un computer IBM din cadrul Universității Harvard.
Computerul stoca instrucțiunile pe „bandă perforată” (24 de biți lățime), în plus, datele erau stocate în contoare electromecanice. Unitatea centrală de procesare a acestor sisteme de calculatoare timpurii conținea în întregime stocarea datelor și nu oferea acces la stocarea instrucțiunilor sub formă de date.
Arhitectura Harvard este un tip de arhitectură care stochează datele și instrucțiunile separat, divizând astfel unitatea de memorie.
Unitatea centrală de procesare a unui sistem cu arhitectură Harvard are posibilitatea de a prelua date și instrucțiuni simultan, datorită faptului că arhitectura are magistrale separate pentru transferurile de date și preluarea de instrucțiuni.
Caracteristicile arhitecturii Harvard
Ambele tipuri de arhitecturi conțin aceleași componente, însă principala diferență constă în faptul că, într-o arhitectură Harvard, preluările de instrucțiuni și transferurile de date pot fi preformate în același timp (simultan) (deoarece sistemul are două magistrale, una pentru transferuri de date și una pentru preluări de instrucțiuni).
Avantajele și dezavantajele arhitecturii Harvard
Avantaje | Dezavantaje |
Datorită faptului că instrucțiunile și datele sunt transferate în autobuze diferite, aceasta înseamnă că există șanse mai mici de corupere a datelor | Memoria dedicată fiecăruia (date și instrucțiuni) trebuie să fie echilibrată de la producător. Pentru că dacă există memorie de date liberă, aceasta nu poate fi folosită pentru instrucțiuni și invers |
Instrucțiile și datele pot fi accesate în același mod | Dar acest avantaj (spre stânga) are ca rezultat o arhitectură mai complexă, deoarece necesită două magistrale. Ceea ce înseamnă că este nevoie de mai mult timp pentru fabricare și face ca aceste sisteme să fie mai scumpe |
Arhitectura Harvard oferă o performanță ridicată, deoarece această arhitectură permite un flux simultan de date și instrucțiuni. Acestea sunt păstrate în memorii separate și circulă prin magistrale separate | Această arhitectură însă, în ciuda performanțelor ridicate, este foarte complexă, în special pentru producătorii de plăci de bază, pentru a fi implementată |
Există o lățime de bandă mai mare a memoriei care este mai previzibilă, datorită faptului că arhitectura are memorii separate pentru instrucțiuni și date | Deși, așa cum s-a menționat mai sus, pentru a obține avantajul din stânga, arhitectura Harvard necesită o unitate de control pentru două magistrale. Ceea ce crește complexitatea și face dezvoltarea mai dificilă. Toate acestea măresc prețul sistemului |
Arhitectura Harvard modificată
Arhitectura Von Neumann vs. Arhitectura Harvard:
Arhitectura Von Neumann | Arhitectura Harvard |
Bazat pe conceptul de calculator cu program memorat | Bazat pe modelul de calculator bazat pe releu Harvard Mark I |
Utilizează aceeași adresă de memorie fizică pentru instrucțiuni și date | Utilizează adrese de memorie separate pentru instrucțiuni și date |
Procesoarele au nevoie de două cicluri de ceas pentru a executa o instrucțiune | Procesorul are nevoie doar de un ciclu pentru a finaliza o instrucțiune |
Arhitectura von Neumann constă într-o concepție mai simplă a unității de control, ceea ce înseamnă că este necesară o dezvoltare mai puțin complexă. Acest lucru înseamnă că sistemul va fi mai puțin costisitor | Arhitectura Harvard unitatea de control constă în două magistrale, ceea ce duce la un sistem mai complicat. Acest lucru se adaugă la costul de dezvoltare, rezultând un sistem mai scump |
Nu pot fi preformate în același timp preformări de instrucțiuni și transferuri de date | Preluări de instrucțiuni și transferuri de date pot fi preformate în același timp |
Utilizate în laptopuri, calculatoare personale și stații de lucru | Utilizate în procesarea semnalelor și în microcontrolere |
Arhitectura Harvard modificată:
O arhitectură Harvard pură suferă de dezavantajul că trebuie prevăzut mecanismul de a separa încărcarea de programul ce urmează a fi executat în memoria de instrucțiuni, lăsând astfel toate datele ce urmează a fi operate în memoria de date.
Cu toate acestea, sistemele moderne din zilele noastre folosesc o tehnologie de numai citire pentru memoria de instrucțiuni și o tehnologie de citire/scriere pentru aceeași memorie.
Aceasta permite unui sistem să permită executarea unui program preîncărcat de îndată ce se aplică alimentarea cu energie electrică.
Cu toate acestea, datele vor fi într-o stare necunoscută, prin urmare nu pot furniza programei valori predefinite.
Soluția la această problemă este de a furniza instrucțiuni în limbaj de mașină, astfel încât conținutul memoriei de instrucțiuni să poată fi citit ca și cum ar fi date, precum și de a furniza o cale hardware.
Majoritatea adopțiilor arhitecturii Harvard din zilele noastre este o formă modificată, aceasta pentru a slăbi separarea strictă între date și cod, menținând în același timp o performanță ridicată a accesului simultan la date și instrucțiuni a arhitecturii Harvard originale.
Arhitectura Harvard modificată este o variație a arhitecturii Harvard originale. Cu toate acestea, diferența dintre cele două constă în faptul că arhitectura modificată permite ca conținutul memoriei de instrucțiuni să fie accesat ca date.
Cele trei modificări principale aplicate unei arhitecturi Harvard modificate sunt:
- Arhitectura cu cache divizat:
- Mult asemănătoare cu arhitectura von Neumann, această modificare construiește o ierarhie de memorie cu cache-uri CPU pentru instrucțiuni și date la niveluri inferioare ale ierarhiei.
- Arhitectura „Instruction-memory-as-data”:
- Această modificare permite accesul la conținutul memoriei de instrucțiuni ca date. Acest lucru poate fi realizat deoarece datele nu pot fi executate direct ca instrucțiuni.
- (Deși există o dezbatere dacă aceasta poate fi numită sau nu arhitectură Harvard „modificată”)
- Arhitectura memorie de date ca instrucțiuni:
- Executarea instrucțiunilor preluate din orice segment de memorie, spre deosebire de arhitectura Harvard, care poate executa numai instrucțiuni preluate din segmentul de memorie de program.
Rezumat și fapte
Arhitectura von Neumann a reprezentat un mare progres față de calculatoarele controlate prin program, care au fost folosite în anii 1940. Astfel de computere erau programate prin setarea inserării unor cabluri și comutatoare de patch-uri pentru a direcționa datele și semnalele de control între diferite seturi funcționale.
În timp ce, în prezent, majoritatea sistemelor de calculatoare împart aceeași memorie atât pentru date, cât și pentru instrucțiuni de program.
Unitatea centrală de procesare dintr-un sistem cu arhitectură Harvard are posibilitatea de a prelua date și instrucțiuni simultan, datorită faptului că arhitectura are magistrale separate pentru transferurile de date și preluarea de instrucțiuni.
Ce este arhitectura von Neumann?
Arhitectura von Neumann se referă la o arhitectură care păstrează atât datele cât și instrucțiunile programate în memorie RAM (Random Access Memory) de citire-scriere.
Caracteristicile arhitecturii von Neumann:
- Unitatea centrală de procesare (CPU)
- Unitatea de control
- Unitatea aritmetică și logică (ALU)
- Unitatea de memorie
- Registre:
- Contor de program (PC)
- Acumulator (AC)
- Registrul de adrese în memorie (MAR)
- Registrul de date în memorie (MDR)
- Registrul de instrucțiuni curente (CIR)
- Busuri:
- Bus de date
- Bus de adrese
- Bus de control
- Intrare/ieșiri
Avantaje:
- Mai puțin costisitoare/complexă în comparație cu arhitectura Harvard
- Eficientă
Dezavantaje:
- Von Neumann Bottleneck
- Cazuri mai mari de pierdere de date
Ce este arhitectura Harvard?
- Arhitectura Harvard este un sistem de calculatoare care conține două zone separate pentru date și comenzi/instrucțiuni.
- Arhitectura Harvard este un tip de arhitectură, care stochează datele și instrucțiunile separat, divizând astfel unitatea de memorie.
Avantaje:
- Câteva șanse mai mici de corupere a datelor
- Performanțe ridicate
- Lărgime de bandă mai mare a memoriei
Dezvantaje:
- Complex
- Costisitoare
Arhitectura Harvard modificată:
Arhitectura Harvard modificată este o variație a arhitecturii Harvard originale. Cu toate acestea, diferența dintre cele două constă în faptul că arhitectura modificată permite ca conținutul memoriei de instrucțiuni să fie accesat ca date.
Cele trei modificări principale aplicate la o arhitectură Harvard modificată sunt:
- Arhitectura split-cache
- Arhitectura de memorie de instrucțiuni ca și date
- Memoria de date ca și date
- .arhitectură de instrucțiuni
- https://www.techopedia.com/definition/19737/harvard-architecture
- https://tdck.weebly.com/uploads/7/7/0/5/77052163/03_-_harvard_architecture_comparison.pdf
- https://getrevising.co.uk/grids/von-neumann-architecture
- http://differencebetween.net/technology/difference-between-von-neumann-and-harvard-architecture/
- http://differencebetween.net/technology/difference-between-von-neumann-and-harvard-architecture/
- https://en.wikipedia.org/wiki/Von_Neumann_architecture
- https://www.geeksforgeeks.org/computer-organization-von-neumann-architecture/
- https://www.techopedia.com/definition/32480/von-neumann-architecture
- http://www.computinghistory.org.uk/det/3665/John-von-Neumann/
- https://www.computerscience.gcse.guru/theory/von-neumann-architecture
- https://en.wikipedia.org/wiki/Modified_Harvard_architecture
- https://www.edaboard.com/threads/harvard-vs-modified-harvard-architechture.111764/
.