- Îmbunătățirea arhitecturii
- Origine
- Model
- - Unitate centrală de procesare (CPU)
- Unitate aritmetică logică
- Unitatea de comandă
- Înregistrări
- - Memorie
- - Iesire intrare
- - Autobuz
- Cum funcționează arhitectura von Neumann?
- Caută
- decodifica
- Alerga
- Pentru stoc
- Bottleneck
- Avantaj
- Dezvoltarea sistemelor de operare
- Dezavantaje
- Referințe
Arhitectura von Neumann este un design teoretic, astfel încât un computer poate avea un program memorat intern, servind ca bază pentru aproape toate computerele care sunt realizate în prezent.
O mașină von Neumann constă dintr-o unitate centrală de procesare, care include o unitate logică aritmetică și o unitate de control, plus o memorie principală, stocare secundară și dispozitive de intrare / ieșire.
Sursa: David strigoi - Lucrare proprie, Domeniu public, commons.wikimedia.org
Această arhitectură presupune că fiecare calcul extrage date din memorie, le prelucrează și apoi le trimite înapoi în memorie.
Într-o arhitectură von Neumann, aceeași memorie și aceeași magistrală sunt utilizate pentru a stoca atât datele cât și instrucțiunile care execută un program.
Îmbunătățirea arhitecturii
Deoarece datele și memoria programelor nu pot fi accesate în același timp, arhitectura von Neumann este predispusă la blocaje și la slăbirea performanței calculatorului. Acest lucru este cunoscut sub numele de gâtul de sticlă von Neumann, unde puterea, performanța și costul sunt afectate.
Una dintre modificările aduse a presupus regândirea cât de multe date trebuie de fapt trimise în memorie și cât pot fi stocate local.
În acest fel, în loc să trebuiască să trimiți totul în memorie, mai multe memorii de memorie cache și proxy pot reduce fluxul de date de la cipurile procesoare către diferite dispozitive.
Origine
În 1945, după al doilea război mondial, doi oameni de știință au ridicat în mod independent modul de a construi un computer mai maleabil. Unul dintre ei era matematicianul Alan Turing, iar celălalt era omul de știință la fel de talentat John Von Neumann.
Britanicul Alan Turing a fost implicat în fisurarea codului Enigma din Parcul Bletchley, folosind computerul „Colossus”. Pe de altă parte, americanul John Von Neumann lucrase la Proiectul Manhattan pentru construirea primei bombe atomice, care necesita o mare cantitate de calcule manuale.
Până atunci, calculatoarele de război erau mai mult sau mai puțin „programate” prin reconectarea întregii mașini pentru a îndeplini o sarcină diferită. De exemplu, primul computer numit ENIAC a luat trei săptămâni pentru a se reconecta pentru a face un calcul diferit.
Noul concept a constat în faptul că într-o memorie nu numai că datele trebuiau stocate, ci și programul care prelucra acele date ar trebui să fie stocate în aceeași memorie.
Această arhitectură de programe stocate intern este cunoscută sub denumirea de arhitectură „Von Neumann”.
Această idee inedită a însemnat că un computer cu această arhitectură ar fi mult mai ușor de reprogramat. Într-adevăr, programul însuși ar fi tratat la fel ca datele.
Model
Fundația principală a modelului Von Neumann este gândul că programul este stocat intern într-o mașină. Unitatea de memorie conține datele și codul programului. Proiectarea arhitecturii constă din:
Sursa: De la UserJaimeGallego - Acest fișier este derivat de la Von Neumann Architecture.svg, CC BY-SA 3.0, commons.wikimedia.org
- Unitate centrală de procesare (CPU)
Circuitul digital este responsabil de executarea instrucțiunilor unui program. Se mai numește procesor. CPU conține ALU, unitatea de control și un set de registre.
Unitate aritmetică logică
Această parte a arhitecturii este implicată numai în efectuarea operațiunilor aritmetice și logice asupra datelor.
Vor fi disponibile calculele obișnuite de adunare, înmulțire, împărțire și scădere, dar vor fi de asemenea disponibile comparații de date precum „mai mare decât”, „mai puțin decât”, „egal cu”.
Unitatea de comandă
Acesta controlează funcționarea dispozitivului ALU, a memoriei și a dispozitivelor de intrare / ieșire a computerului, instruindu-le cum să acționeze pe instrucțiunile din programul pe care tocmai l-ați citit din memorie.
Unitatea de control va gestiona procesul de mutare a datelor și programelor în și din memorie. De asemenea, va avea grijă să execute instrucțiunile programului, pe rând sau secvențial. Aceasta include ideea unui registru care să dețină valorile intermediare.
Înregistrări
Sunt zone de stocare de mare viteză pe procesor. Toate datele trebuie stocate într-un registru înainte de a putea fi procesate.
Registrul de adrese de memorie conține locația de memorie a datelor care trebuie accesate. Registrul de date de memorie conține datele care sunt transferate în memorie.
- Memorie
Calculatorul va avea memorie care poate reține date, precum și programul care prelucrează aceste date. În computerele moderne această memorie este memoria RAM sau principală. Această memorie este rapidă și accesibilă direct de către procesor.
RAM este împărțită în celule. Fiecare celulă constă dintr-o adresă și conținutul acesteia. Adresa va identifica în mod unic fiecare locație din memorie.
- Iesire intrare
Această arhitectură permite să surprindă ideea că o persoană trebuie să interacționeze cu mașina, prin dispozitivele de intrare-ieșire.
- Autobuz
Informațiile trebuie să curgă între diferitele părți ale computerului. Într-un computer cu arhitectura von Neumann, informațiile sunt transmise de la un dispozitiv la altul de-a lungul unui autobuz, conectând toate unitățile procesorului la memoria principală.
Magistrala de adrese poartă adrese de date, dar nu de date, între procesor și memorie.
Busul de date transportă date între procesor, memorie și dispozitive de intrare-ieșire.
Cum funcționează arhitectura von Neumann?
Principiul relevant al arhitecturii von Neumann este că atât datele cât și instrucțiunile sunt stocate în memorie și tratate la fel, ceea ce înseamnă că instrucțiunile și datele sunt direcționale.
Funcționează folosind patru pași simpli: găsiți, decodați, executați, stocați, numiți „ciclul mașinii”.
Instrucțiunile sunt obținute de procesor din memorie. CPU apoi decodează și execută aceste instrucțiuni. Rezultatul este stocat din nou în memorie după finalizarea ciclului de execuție a instrucțiunilor.
Caută
În acest pas, instrucțiunile sunt obținute din memoria RAM și în cache pentru accesul unității de control.
decodifica
Unitatea de control decodifică instrucțiunile astfel încât unitatea aritmetică logică să le poată înțelege, apoi le trimite la unitatea de aritmetică logică.
Alerga
Unitatea logică aritmetică execută instrucțiunile și trimite rezultatul înapoi în cache.
Pentru stoc
Odată ce contorul programului indică oprire, rezultatul final este descărcat în memoria principală.
Bottleneck
Dacă o mașină Von Neumann dorește să efectueze o operație cu date în memorie, aceasta trebuie transferată prin autobuz la CPU. După efectuarea calculului, rezultatul trebuie mutat în memorie prin intermediul aceluiași autobuz.
Gâtul de îmbuteliere Von Neumann are loc atunci când datele introduse sau eliminate din memorie trebuie să piardă în timp ce se finalizează operația de memorie curentă.
Adică, dacă procesorul tocmai a finalizat un calcul și este gata să efectueze următorul, trebuie să scrie calculul finalizat, care ocupă autobuzul, în memorie înainte de a putea prelua date noi din memorie, care folosesc și același bus.
Acest blocaj s-a agravat de-a lungul timpului, deoarece microprocesoarele și-au mărit viteza și, pe de altă parte, memoria nu a avansat atât de repede.
Avantaj
- Unitatea de control preia date și instrucțiuni în același mod din memorie. Prin urmare, proiectarea și dezvoltarea unității de control este simplificată, fiind mai ieftină și mai rapidă.
- Datele de pe dispozitivele de intrare / ieșire și memoria principală sunt preluate în același mod.
- Organizarea memoriei este realizată de programatori, ceea ce permite utilizarea întregii capacități de memorie.
- Gestionarea unui singur bloc de memorie este mai simplu și mai ușor de realizat.
- Proiectarea cipului de microcontroler este mult mai simplă, deoarece o singură memorie va fi accesată. Cel mai important lucru despre microcontroler este accesul la RAM și în arhitectura von Neumann acesta poate fi utilizat atât pentru stocarea datelor, cât și pentru stocarea instrucțiunilor programului.
Dezvoltarea sistemelor de operare
Principalul avantaj de a avea aceeași memorie pentru programe și date este că programele pot fi procesate ca și cum ar fi date. Cu alte cuvinte, puteți scrie programe ale căror date sunt alte programe.
Un program ale cărui date sunt un alt program nu este altceva decât un sistem de operare. De fapt, dacă programele și datele nu erau permise în același spațiu de memorie, așa cum se întâmplă în arhitectura von Neumann, sistemele de operare nu ar fi putut fi niciodată dezvoltate.
Dezavantaje
Deși avantajele depășesc cu mult dezavantajele, problema este că există o singură magistrală care conectează memoria la procesor, astfel încât o singură instrucțiune sau element de date pot fi aduse la un moment dat.
Aceasta înseamnă că este posibil ca procesorul să fie nevoit să aștepte mai mult pentru sosirea datelor sau a instrucțiunilor. Aceasta este cunoscută sub numele de gâtul de sticlă von Neumann. Deoarece CPU este mult mai rapid decât magistrala de date, aceasta înseamnă că este adesea inactiv.
- Datorită procesării secvențiale a instrucțiunilor, implementarea paralelă a programului nu este permisă.
- Prin împărtășirea memoriei există riscul ca o instrucțiune să fie scrisă peste alta din cauza unei erori în program, care determină blocarea sistemului.
- Unele programe defecte nu pot elibera memorie atunci când sunt terminate cu aceasta, ceea ce ar putea determina computerul să înghețe din cauza memoriei insuficiente.
- Datele și instrucțiunile împărtășesc același bus de date, deși viteza cu care trebuie să fie preluate fiecare este de obicei foarte diferită.
Referințe
- Inginerie semiconductoare (2019). Von Neumann Architecture. Luat de la: semiengineering.com
- Scott Thornton (2018). Care este diferența dintre arhitecturile Von-Neumann și Harvard? Sfaturi pentru microcontroler. Luate de la: microcontrollertips.com.
- Predați TIC (2019). Mașina Von Neumann. Luat de la: instruction-ict.com.
- Informatică (2019). Von Neumann Architecture. Luate de la: computerscience.gcse.guru.
- Aflați IT cu Mr C (2019). Mașina Von Neumann. Luat de la: Learnitwithmrc.co.uk.
- Media de stat solid (2017). Cum funcționează calculatoarele? Arhitectura Von Neumann. Luat de la: solidstateblog.com.