A Neumann-kör rövid története. Klasszikus számítógép-architektúra és Neumann-elvek

A tudomány és a technológia minden területén van néhány alapvető gondolat vagy elv, amely meghatározza annak tartalmát és fejlődését. A számítástechnikában az ilyen alapvető gondolatok szerepét egymástól függetlenül megfogalmazott elvek játszották - John von Neumann amerikai matematikus és fizikus (1903-1957) és a szovjet tudós, Szergej Lebegyev (1902-1974). Ezek az elvek határozzák meg a számítógép alapvető felépítését.

Úgy tartják, hogy az első elektronikus számítógépet, az ENIAC-ot 1946-ban gyártották az Egyesült Államokban. Az ENIAC 18 000 vákuumcsőből és 1500 reléből állt, és 30 tonnát nyomott. Ő és kréta fel 20 regisztert, amelyek mindegyike tartalmazhat egy 10 bites decimális számot. Briliáns elemzése erős és gyengeségeit Az ENIAC projektet a Princeton Institute for Advanced Study "Electronic Computing Device Logikai tervezésének előzetes megbeszélése" című jelentésében ismertették (1946. június). Ez a jelentés, amelyet a kiváló amerikai matematikus, John von Neumann és kollégái, a Princeton Institute-ban, G. Goldstein és A. Burks állítottak össze, egy új elektronikus számítógép projektjét mutatta be. Az ebben a jelentésben kifejtett gondolatok Neumann-elvek néven ismertek.

Az elméleti számítástechnika megalapítóiról szólva két tudományos vívmányt is meg kell említeni: a logikai algebrát és az algoritmusok elméletét. A logikai algebrát George Boole angol matematikus fejlesztette ki a 19. század közepén, és a formális logika matematikai módszerének tekintette. Fejlesztés elektronikus számítógépek kétállású elektronikai elemeken lehetővé tette a „boole logika” széles körű alkalmazását számítógépes áramkörök tervezésében. A 20. század 30-as éveinek első felében olyan matematikai munkák jelentek meg, amelyekben bebizonyosodott minden, automata segítségével algoritmikusan feldolgozható probléma megoldásának alapvető lehetősége. Ezt a bizonyítékot E. Post angol matematikus 1936-ban megjelent munkái tartalmazták. (George Boole (1815-1864), Alan Turing (1912-1954)).

A Szovjetunióban az elektronikus számítógépek létrehozására irányuló munka egy kicsit később kezdődött. Az első szovjet elektronikus számítógépet Kijevben gyártották 1953-ban. MESM-nek (kis elektronikus számítógép) hívták, főtervezője pedig Szergej Lebegyev akadémikus, a BESM (nagy elektronikus számítógép) sorozat számítógépeinek terveinek szerzője. A MESM projektben Szergej Lebegyev – Neumanntól függetlenül – az elektronikus számítógépek tervezésére vonatkozó elképzelésekhez jutott, mint Neumann.

A „Neumann-elvek” lényege a következő volt:

1. A számítógép egy összekapcsolt processzort (aritmetikai egységet és vezérlőeszközt), memóriát és I/O eszközt tartalmaz.

2. Az elektronikus elemeken alapuló számítógépeknek bináris számrendszerben kell működniük, nem pedig decimális számrendszerben.

3. A program, valamint a számok, amelyekkel a számítógép működik, bináris kódban vannak írva, vagyis a parancs reprezentációs formájában és a számok azonos típusúak.

4. A programnak az egyik számítógépblokkban kell elhelyezkednie - egy véletlen hozzáférésű tárolóeszközben. A program és az adatok megosztott memóriában (Princeton architektúra) lehetnek.

5. A fizikai megvalósítás nehézségei egy nagy sebességű, nem illékony ill nagy memória hierarchikus memóriaszervezést igényelnek. A program a fő memóriából fut, és a nem felejtő másodlagos memóriában tárolódik ( mágneses lemezek). A fájl egy adattípus példányainak azonosító halmaza, amely egy adott programban teljesen le van írva, a programon kívül, a külső memóriában található, és speciális műveletekkel érhető el a program számára.

6. A számítógép aritmetikai-logikai egysége (ALU) összeadási, eltolási és logikai műveleteket végrehajtó áramkörök alapján épül fel. A művelet eredményén kívül az ALU számos eredményattribútumot (jelzőt) generál, amelyek egy feltételes vezérlés átviteli parancs végrehajtásakor elemezhetők.

A számítógép-architektúra doktrínájának alapjait von Neumann fektette le 1944-ben, amikor részt vett a világ első csöves számítógépének, az ENIAC-nak a megalkotásában. A Pennsylvaniai Egyetemen az ENIAC-on dolgozva, von Neumann és kollégái, John William Mauchly, John Eckert, Herman Goldstein és Arthur Burks közötti számos megbeszélés során felmerült egy fejlettebb gép, az EDVAC ötlete. Kutatás az ENIAC építésével párhuzamosan folytatódott az EDVAC munkája.

Az "Első EDVAC jelentés" nyomtatott példányának első oldala

1945 márciusában a logikai architektúra alapelveit formalizálták a „First Draft Report on EDVAC” nevű dokumentumban, amely az Egyesült Államok Hadseregének Ballistic Laboratory számára készült, amelynek pénzét az ENIAC megépítésére és az EDVAC fejlesztésére fordították. A jelentést, mivel csak tervezet volt, nem publikálásra, hanem csak a csoporton belüli terjesztésre szánták, de Herman Goldstein, az amerikai hadsereg projektfelügyelője megismételte ezt a tudományos munkát, és elküldte a tudósok széles körének. felülvizsgálat. Mivel a dokumentum első oldalán csak Neumann neve szerepelt, a dokumentumot olvasóknak az a hamis benyomása támadt, hogy ő a szerzője a műben szereplő összes gondolatnak. A dokumentum elegendő információt tartalmazott ahhoz, hogy az olvasók az EDVAC-hoz hasonló saját számítógépeiket is megépíthessék ugyanazon elvek alapján és ugyanazzal az architektúrával, amely ennek eredményeként „von Neumann architektúra” néven vált ismertté.

A második világháború és az ENIAC-on végzett munka 1946 februári befejezése után a mérnökökből és tudósokból álló csapat felbomlott, John Mauchly, John Eckert úgy döntött, hogy üzleti tevékenységbe kezd, és kereskedelmi alapon számítógépeket hoz létre. Von Neumann, Goldstein és Burks telephelyre költözött, ahol úgy döntöttek, hogy létrehozzák saját, az EDVAC-hoz hasonló „IAS-gép” számítógépüket, és kutatási munkára használják. 1946 júniusában „Az elektronikus számítástechnikai eszköz logikai tervezésének előzetes megfontolása” című, ma már klasszikusnak számító cikkben felvázolták a számítógépek felépítésének alapelveit. Azóta több mint fél évszázad telt el, de a benne foglalt rendelkezések ma is érvényesek. A cikk meggyőzően alátámasztja a felhasználást kettes számrendszer számok ábrázolására, de korábban minden számítógép decimális formában tárolta a feldolgozott számokat. A szerzők bemutatták a bináris rendszer előnyeit a technikai megvalósításban, az aritmetikai és logikai műveletek végrehajtásának kényelmét és egyszerűségét. Ezt követően a számítógépek elkezdték feldolgozni a nem numerikus típusú információkat - szöveget, grafikát, hangot és egyebeket, de az adatok bináris kódolása még mindig információs alap bármilyen modern számítógép.

A bináris kóddal működő gépek mellett voltak és vannak ma is hármas gépek. A hármas számítógépeknek számos előnye és hátránya van a bináris számítógépekkel szemben. Az előnyök közé tartozik a gyorsaság (az összeadási műveletek kb. másfélszer gyorsabban hajthatók végre), a bináris és a terner logika jelenléte, az előjeles egészek szimmetrikus ábrázolása (a bináris logikában vagy két nulla lesz (pozitív és negatív), vagy olyan szám lesz, amelynek nincs ellentétes előjelű párja). Hátránya, hogy a megvalósítás bonyolultabb a bináris gépekhez képest.

Egy másik forradalmi ötlet, amelynek fontosságát nehéz túlbecsülni, a „tárolt program” elve. Kezdetben a programot úgy állítottuk be, hogy jumpereket telepítettek egy speciális javítópanelre. Ez nagyon munkaigényes feladat volt: például az ENIAC gép programjának megváltoztatása több napot vett igénybe, miközben maga a számítás nem tarthatott tovább néhány percnél - a lámpák, amelyekből rengeteg volt, meghibásodtak. A program azonban nullák és egyesek gyűjteményeként is tárolható, és ugyanabban a memóriában, mint az általa feldolgozott számok. A program és az adatok közötti alapvető különbség hiánya lehetővé tette, hogy a számítógép a számítások eredményeinek megfelelően programot alakítson ki magának.

Az elsőre jellemző volt a végrehajtható parancsok és programok adott halmazának jelenléte számítógépes rendszerek. Ma hasonló kialakítást alkalmaznak a számítástechnikai eszköz tervezésének egyszerűsítésére. Így az asztali számológépek elvileg olyan eszközök, amelyek fix programkészlettel rendelkeznek, amelyek végrehajthatók. Matematikai számításokhoz használhatók, de szövegszerkesztéshez és számítógépes játékokhoz, megtekintéshez szinte lehetetlen. grafikus képek vagy videót. Az ilyen típusú eszközök firmware-ének megváltoztatása szinte teljes átdolgozást igényel, és a legtöbb esetben lehetetlen. A korai számítógépes rendszerek átprogramozása azonban még megtörtént, de óriási kézi munkát igényelt az új dokumentáció elkészítése, a blokkok, eszközök visszakapcsolása, átépítése stb.

A tárolás ötlete mindent megváltoztatott számítógépes programok megosztott memóriában. Bevezetése idejére a végrehajtható utasításkészleteken alapuló architektúrák alkalmazása, a számítási folyamat ábrázolása, mint a programban írt utasítások végrehajtási folyamata, óriási mértékben megnövelte a számítástechnikai rendszerek adatfeldolgozási rugalmasságát. Az adatok és utasítások megtekintésének ugyanaz a megközelítése tette egyszerűvé a programok megváltoztatását.

Von Neumann elvei

Az emlékezet homogenitásának elve

A parancsok és adatok ugyanabban a memóriában vannak tárolva, és kívülről megkülönböztethetetlenek a memóriában. Csak a felhasználás módja alapján ismerhetők fel; vagyis egy memóriacellában ugyanaz az érték használható adatként, parancsként és címként, csak attól függően, hogy milyen módon érhető el. Ez lehetővé teszi, hogy ugyanazokat a műveleteket hajtsa végre a parancsokkal, mint a számokkal, és ennek megfelelően számos lehetőséget nyit meg. Így a parancs cím részének ciklikus változtatásával lehetőség nyílik az adattömb egymást követő elemeinek elérésére. Ezt a technikát parancsmódosításnak nevezik, és a modern programozás szempontjából nem üdvözlendő. Hasznosabb a homogenitás elvének egy másik következménye, amikor az egyik programból egy másik program végrehajtása eredményeként kaphatunk utasításokat. Ez a funkció a fordítás alapja – a programszöveg fordítása nyelvről magas szint egy adott számítógép nyelvére.

Célzási elv

Szerkezetileg a fő memória számozott cellákból áll, és bármely cella bármikor elérhető a processzor számára. A parancsok és adatok bináris kódjait szavaknak nevezett információs egységekre osztják és memóriacellákban tárolják, és ezek eléréséhez a megfelelő cellák - címek - számát használják.

Programvezérlési elv

Az algoritmus által a probléma megoldására előírt összes számítást vezérlőszavak - parancsok sorozatából álló program formájában kell bemutatni. Minden parancs előír valamilyen műveletet a számítógép által megvalósított műveletek halmazából. A programparancsok a számítógép szekvenciális memóriacelláiban vannak tárolva, és természetes sorrendben, azaz a programban elfoglalt helyük sorrendjében hajtódnak végre. Ha szükséges, speciális parancsokkal ez a sorrend módosítható. A programparancsok végrehajtási sorrendjének megváltoztatására vonatkozó döntés vagy a korábbi számítások eredményeinek elemzése alapján, vagy feltétel nélkül történik.

A tervek szerint az első, Neumann-architektúra szerint épített számítógép az EDVAC (Electronic Discrete Variable Automatic Computer) lett volna – az egyik első elektronikus számítógép. Elődjétől, az ENIAC-tól eltérően ez egy bináris, nem pedig decimális alapú számítógép volt. Az ENIAC-hez hasonlóan az EDVAC-ot is a Pennsylvaniai Egyetemen fejlesztették ki az Egyesült Államok Hadseregének Ballisztikai Kutatólaboratóriuma számára John Presper Eckert és John William Mauchly vezette mérnökök és tudósok csapata egy matematikus aktív közreműködésével, de az EDVAC-t csak 1951-ben indították el. a megbízható számítógépes memória létrehozásával kapcsolatos technikai nehézségekre és a fejlesztőcsapatban tapasztalható nézeteltérésekre. Más kutatóintézetek az ENIAC és az EDVAC projekt megismerése után már jóval korábban meg tudták oldani ezeket a problémákat. Az első számítógépek, amelyek megvalósították a Neumann-architektúra főbb jellemzőit:

  1. prototípus – Manchester Small Experimental Vehicle – Manchesteri Egyetem, Egyesült Királyság, 1948. június 21.;
  2. EDSAC – Cambridge-i Egyetem, Egyesült Királyság, 1949. május 6.;
  3. Manchester Mark I – Manchesteri Egyetem, Egyesült Királyság, 1949;
  4. BINAC – USA, 1949. április vagy augusztus;
  5. CSIR Mk 1
  6. EDVAC – USA, 1949. augusztus – ténylegesen 1952-ben indult;
  7. CSIRAC – Ausztrália, 1949. november;
  8. SEAC – USA, 1950. május 9.;
  9. ORDVAC – USA, 1951. november;
  10. IAS gép – USA, 1952. június 10.;
  11. MANIAC I – USA, 1952. március;
  12. AVIDAC – USA, 1953. január 28.;
  13. ORACLE – USA, 1953 vége;
  14. WEIZAC - Izrael, 1955;
  15. SILLIAC – Ausztrália, 1956. július 4.

A Szovjetunióban az első teljesen elektronikus számítógép, amely közel állt Neumann elveihez, a Lebegyev által épített MESM volt (a kijevi alapján), amely 1951 decemberében átment az állami átvételi teszteken.

A Neumann-építészet szűk keresztmetszete

A program- és adatmemória buszának megosztása a Neumann-architektúra szűk keresztmetszetéhez vezet, nevezetesen a processzor és a memória közötti sávszélesség korlátozásához a memória mennyiségéhez képest. Mivel a programmemória és az adatmemória nem érhető el egyszerre, áteresztőképesség A processzor-memória csatorna és a memória sebessége jelentősen korlátozza a processzor sebességét - sokkal jobban, mintha a programokat és az adatokat különböző helyeken tárolnák. Mivel a processzor sebessége és a memóriakapacitás sokkal gyorsabban nőtt, mint a köztük lévő sávszélesség, a szűk keresztmetszet komoly problémává vált, és a processzorok minden új generációjával egyre súlyosabbá válik [ ] .

Ez a probléma A gyorsítótárazási rendszerek fejlesztésével oldják meg, ami viszont bonyolítja a rendszer architektúráját és növeli a mellékhibák kockázatát (például 2017-ben Meltdown és Spectre sérülékenységeket fedeztek fel, amelyek évtizedek óta jelen voltak a modern processzorokban, de korábban nem fedezték fel, mert a modern számítástechnikai rendszerek összetettségére és különösen a gyorsítótárral való kölcsönhatásaikra).

A "von Neumann architektúra szűk keresztmetszet" kifejezést John Backus 1977-ben találta meg "Megszabadulhat a programozás a Neumann-stílustól?" című előadásában. , amelyet a Turing-díj átadásakor olvasott

Az Egyesült Államok és Olaszország tudósai 2015-ben jelentették be egy prototípus mémprocesszor létrehozását (magyar memprocesszor) Neumanntól eltérő architektúrával és annak lehetőségével, hogy teljes problémák megoldására használják fel.

Lásd még

Megjegyzések

  1. Neumann János. Az EDVAC-ról szóló jelentés első tervezete (határozatlan) . Pennsylvaniai Egyetem (1945. június 30.).
  2. Jurij Polunov. Szerző!!! // PC Week/Russian Edition. - 2006. - 20. szám (530).
  3. Cragon, H. G. Számítógép architektúra és megvalósítás. - Cambridge University Press, 2000. - P. 2. - 238 p. - ISBN 978-0-521-65168-4.
  4. , p. 255.
  5. Burks A. W., Goldstine H. H., Neumann J. Előzetes megbeszélés egy elektronikus számítástechnikai műszer logikai kialakításáról. - Institute for Advanced Study, Princeton, N.J., 1946. július.

· Bináris kódolási elv

· Ennek az elvnek megfelelően a számítógépbe bekerülő összes információt bináris jelek (bináris számjegyek, bitek) segítségével kódolják, és szavaknak nevezett egységekre osztják.

· Az emlékezet homogenitásának elve

· A programok és az adatok ugyanabban a memóriában vannak tárolva. Ezért a számítógép nem tesz különbséget az adott memóriacellában tárolt adatok között – szám, szöveg vagy parancs. A parancsokkal ugyanazokat a műveleteket hajthatja végre, mint az adatokkal.

· A memória címezhetőségének elve

· Szerkezetileg a fő memória számozott cellákból áll; Bármely cella bármikor elérhető a processzor számára. Ez magában foglalja a memóriaterületek elnevezésének lehetőségét, így a bennük tárolt értékeket később a program végrehajtása során a hozzárendelt nevek segítségével hozzá lehet férni vagy megváltoztatni.

· Szekvenciális programvezérlési elv

· Feltételezi, hogy a program parancsok halmazából áll, amelyeket a processzor automatikusan egymás után hajt végre egy bizonyos sorrendben.

· Az építészeti merevség elve

· A topológia, az architektúra és a parancslista megváltoztathatatlansága működés közben.

· Az ezen elvekre épülő számítógépek a Neumann-számítógépek közé tartoznak.

· Ezen elvek legfontosabb következménye, hogy a program már nem volt a gép állandó része (mint például egy számológép). Lehetővé vált a program egyszerű megváltoztatása. De a felszerelés természetesen változatlan és nagyon egyszerű.

· Összehasonlításképpen, az ENIAC számítógép programját (amelynek nem volt tárolt programja) a panelen található speciális jumperek határozták meg. A gép újraprogramozása egy napnál több időt vehet igénybe (az áthidalókat másképp állítsa be). És bár a modern számítógépekre szánt programok megírása évekbe telhet, néhány perces merevlemezre telepítés után több millió számítógépen működnek.

·

· A Neumann-gép tárolóeszközből (memóriából) - memóriából, aritmetikai-logikai eszközből - ALU-ból, vezérlőeszközből - CU-ból, valamint bemeneti és kimeneti eszközökből áll.

· A programok és adatok a beviteli eszközről egy aritmetikai logikai egységen keresztül kerülnek a memóriába. Minden programparancs a szomszédos memóriacellákba íródik, és a feldolgozásra szánt adatok tetszőleges cellákban tárolhatók. Minden program esetében az utolsó parancsnak a shutdown parancsnak kell lennie.

· A parancs egy jelzésből áll, hogy milyen műveletet kell végrehajtani (az adott hardveren lehetséges műveletek közül) és azon memóriacellák címeiből, ahol a megadott műveletet végrehajtani kívánt adatok tárolják, valamint a program címét. cella, ahová az eredményt be kell írni (ha a memóriába kell menteni).


· Az aritmetikai logikai egység az utasítások által meghatározott műveleteket hajtja végre a megadott adatokon.

· Az aritmetikai logikai egységből az eredmények a memóriára vagy a kimeneti eszközre kerülnek. A memória és a kimeneti eszköz közötti alapvető különbség az, hogy a memóriában az adatok számítógép általi feldolgozásra alkalmas formában tárolódnak, és kényelmes módon jutnak el a kimeneti eszközökhöz (nyomtató, monitor stb.). egy személy számára.

· A vezérlőegység a számítógép minden részét vezérli. A vezérlőkészüléktől a többi készülék a „mit kell tenni” jeleket, a többi eszköztől pedig a vezérlőegység információt kap az állapotukról.

· A vezérlőkészülék tartalmaz egy speciális regisztert (cellát), amelyet „programszámlálónak” neveznek. A program és az adatok memóriába való betöltése után a program első utasításának címe beírásra kerül a programszámlálóba. A vezérlőegység kiolvassa a memóriából a memóriacella tartalmát, amelynek címe a programszámlálóban van, és egy speciális eszközbe - a „Parancsregiszterbe” helyezi. A vezérlőegység meghatározza a parancs működését, „megjelöli” a memóriában azokat az adatokat, amelyek címe a parancsban meg van adva, és vezérli a parancs végrehajtását. A műveletet az ALU vagy a számítógépes hardver végzi.

· Bármely parancs végrehajtása hatására a programszámláló eggyel változik, és így a program következő parancsára mutat. Ha olyan parancsot kell végrehajtani, amely nem az aktuális mellett van, hanem bizonyos számú cím választja el az adotttól, akkor egy speciális ugróparancs tartalmazza annak a cellának a címét, amelyre a vezérlést át kell adni. .

16) Szerkezet és architektúra számítástechnikai rendszer

A rendszer (a görög systema szóból - egész, részekből álló vegyület) olyan elemek összessége, amelyek kölcsönhatásba lépnek egymással, bizonyos integritást, egységet alkotva.
A számítástechnikai rendszer egy vagy több számítógép vagy processzor gyűjteménye, szoftver információs és számítási folyamatok közös megvalósítására szervezett perifériák.
Megkülönböztető tulajdonság A VS a számítógépekkel kapcsolatban több olyan számítógép jelenléte, amelyek párhuzamos feldolgozást valósítanak meg.
A repülőgép létrehozásakor lefektetett alapvető tervezési elvek:
munkalehetőség különböző módok;
szerkezetének modularitása a műszaki és szoftver, amely lehetővé teszi a számítástechnikai rendszerek tökéletesítését és korszerűsítését alapvető változtatások nélkül;
műszaki és szoftveres megoldások egységesítése és szabványosítása;
hierarchia a folyamatmenedzsment megszervezésében;
a rendszerek adaptációs, önbeigazító és önszerveződő képessége;
a szükséges szolgáltatás biztosítása a felhasználók számára a számítások elvégzése során
Céljuk szerint a repülőgépeket felosztják
egyetemes,
probléma-orientált
specializált.
Az univerzálisak a problémák széles skálájának megoldására szolgálnak. A probléma-orientáltakat egy bizonyos problémakör megoldására használják egy viszonylag szűk területen. A speciálisak a problémák egy szűk osztályának megoldására összpontosítanak
A repülőgép típusától függően különböznek egymástól
több gép
többprocesszoros.
Egy számítástechnikai rendszer akár teljes számítógépekre (többgépes számítógép), akár egyedi processzorokra (többprocesszoros számítógépre) épülhet.
Számítógép vagy processzor típusa szerint megkülönböztetik őket
homogén - azonos típusú számítógépek vagy processzorok alapján épül fel.
heterogén rendszerek – magában foglalja Különféle típusok számítógépek vagy processzorok.
Földrajzilag a repülőgépeket a következőkre osztják:
koncentrált (minden komponens egymás közelében található);
elosztott (az alkatrészek jelentős távolságra helyezkedhetnek el, pl. számítógépes hálózatok);
A repülőgépelemek irányításának módszerei szerint megkülönböztetik őket
központosított,
decentralizált
vegyes vezérléssel.

A repülőgép működési módjának megfelelően a beépített rendszerek
működőképes
nem működő ideiglenes módok.
Ezenkívül a repülőgépek szerkezetileg is lehetnek
egyszintű (az adatfeldolgozásnak csak egy általános szintje van);
Többszintű (hierarchikus) struktúrák. A hierarchikus számítógépes rendszerekben a gépek vagy processzorok az információfeldolgozás különböző szintjei között vannak elosztva, egyes gépek (processzorok) szakosodhatnak bizonyos funkciók elvégzésére.
A számítási rendszer felépítése.
A repülőgép felépítése integrált elemek és azok kapcsolatai összessége. A számítógép elemei egyedi számítógépek és processzorok.
A leírt többszintű struktúrában a fegyveres erők klasszikus von Neumann szervezetét valósítják meg, és egy előre összeállított program szerint szekvenciális információfeldolgozást foglalnak magukban.
Számítástechnikai rendszerek felépítése. Számítógépes rendszerarchitektúrák osztályozása.
A rendszerarchitektúra a használathoz elengedhetetlen rendszertulajdonságok halmaza.
A számítógép architektúrája annak valamilyen általános szintű leírása, beleértve a felhasználói programozási képességek, parancsrendszerek, címzési rendszerek, memóriaszervezés stb.
Klasszikus architektúra (von Neumann architektúra) - egy aritmetikai-logikai egység (ALU), amelyen az adatfolyam áthalad, és egy vezérlőeszköz (CU), amelyen a parancsfolyam - a program - halad át. Ez egy egyprocesszoros számítógép.
Többgépes számítástechnikai rendszer. Itt több, egy számítási rendszerben lévő processzornak nincs közös véletlen hozzáférésű memória, de mindegyiknek megvan a sajátja (helyi). A többgépes rendszerben minden számítógép klasszikus architektúrával rendelkezik, és az ilyen rendszereket meglehetősen széles körben használják.
A legkorábbi és leghíresebb a számítógépes rendszerarchitektúrák osztályozása, amelyet M. Flynn javasolt 1966-ban.

· Az osztályozás alapja a szál fogalma, amely egy processzor által feldolgozott elemek, parancsok vagy adatok sorozata. A parancsfolyamok és adatfolyamok száma alapján Flynn az architektúrák négy osztályát különbözteti meg: SISD, MISD, SIMD, MIMD.
SISD (egyetlen utasításfolyam / egyetlen adatfolyam) - egyetlen utasításfolyam és egyetlen adatfolyam. Ebbe az osztályba tartoznak elsősorban a klasszikus szekvenciális gépek, vagy egyébként a Neumann-típusú gépek, például a PDP-11 vagy a VAX 11/780. Az ilyen gépekben csak egy parancsfolyam van, az összes parancsot egymás után dolgozzák fel, és minden parancs egy műveletet indít egy adatfolyamon. Nem számít, hogy a pipelining segítségével növelhető az utasításfeldolgozási sebesség és az aritmetikai sebesség – mind a skaláris funkcionális egységekkel rendelkező CDC 6600, mind a pipelines CDC 7600 ebbe az osztályba tartozik.
SIMD (egy utasításfolyam / többszörös adatfolyam) - egyetlen utasításfolyam és több adatfolyam. Az ilyen típusú architektúrákban egy parancsfolyam marad meg, amely az előző osztálytól eltérően vektorparancsokat tartalmaz. Ez lehetővé teszi, hogy tegyen egyet aritmetikai művelet közvetlenül sok adat - vektorelem felett. A vektoros műveletek végrehajtásának módja nincs meghatározva, így a vektorelemek feldolgozása történhet akár processzormátrixszal, mint az ILLIAC IV-ben, vagy egy pipeline segítségével, mint például a CRAY-1 gépben.
MISD (több utasításfolyam / egyetlen adatfolyam) - többszörös utasításfolyam és egyetlen adatfolyam. A definíció azt jelenti, hogy az architektúrában számos processzor található, amelyek ugyanazt az adatfolyamot dolgozzák fel. Azonban sem Flynn, sem a számítógép-architektúra más szakértői még nem tudtak meggyőző példával szolgálni egy olyan valós számítástechnikai rendszerre, amelyre épül. ezt az elvet. Számos kutató szállítógépeket tulajdonít ennek

1946-ban D. von Neumann, G. Goldstein és A. Berks közös cikkükben új elveket vázoltak fel a számítógépek felépítésére és működésére vonatkozóan. Ezt követően ezen elvek alapján állították elő a számítógépek első két generációját. Néhány változás történt a későbbi generációkban, bár Neumann elvei ma is érvényesek.

Valójában Neumannnak sikerült összefoglalnia sok más tudós tudományos fejleményeit és felfedezéseit, és ezek alapján valami alapvetően újat megfogalmazni.

Programvezérlési elv: egy program a processzor által meghatározott sorrendben végrehajtott parancsok halmazából áll.

A memória homogenitásának elve: a programok és az adatok ugyanabban a memóriában vannak tárolva.

Célzási elv: Szerkezetileg a fő memória számozott cellákból áll. Bármely cella bármikor elérhető a processzor számára.

A fenti elvekre épülő számítógépek Neumann típusúak.

Ezen elvek legfontosabb következménye, hogy a program már nem volt a gép állandó része (mint például egy számológép). Lehetővé vált a program egyszerű megváltoztatása. Összehasonlításképpen, az ENIAC számítógép programját (amelynek nem volt tárolt programja) a panelen található speciális jumperek határozták meg. A gép újraprogramozása egy napnál több időt vehet igénybe (az áthidalókat másképp állítsa be). És bár a modern számítógépekre szánt programok megírása évekbe telhet, de több millió számítógépen működnek, a programok telepítése nem igényel jelentős időbefektetést.

A fenti három alapelv mellett Neumann a bináris kódolás elvét javasolta - A bináris számrendszert az adatok és parancsok ábrázolására használják (az első gépek a decimális számrendszert használták). De a későbbi fejlesztések megmutatták a nem hagyományos számrendszerek használatának lehetőségét.

1956 elején S.L. akadémikus kezdeményezésére. Sobolev, a Moszkvai Egyetem Mechanikai és Matematikai Karának Számítási Matematika Tanszékének vezetője, a Moszkvai Állami Egyetem számítástechnikai központjában elektronikai tanszéket hoztak létre, és egy szeminárium kezdett dolgozni azzal a céllal, hogy egy digitális számítógép gyakorlati példáját hozzanak létre. egyetemeken, valamint ipari vállalkozások laboratóriumaiban és tervezőirodáiban való használatra szánják. Olyan kis számítógépet kellett kifejleszteni, amely könnyen megtanulható és használható, megbízható, olcsó, ugyanakkor sokféle feladatban hatékony. Részletes tanulmány egy év alatt az akkoriban rendelkezésre álló számítógépekről és technikai lehetőségeket végrehajtásuk oda vezetett nem szabványos megoldás hogy a létrehozott gépben ne egy bináris, hanem egy hármas szimmetrikus kódot alkalmazzanak, kiegyensúlyozott számrendszert megvalósítva, amit D. Knuth húsz évvel később talán a legelegánsabbnak, és ahogy később ismertté vált, amelynek előnyei a következők: K. Shannon azonosította 1950-ben. Ellentétben az általánosan elfogadottal modern számítógépek A 0, 1 számokkal rendelkező bináris kód, amely számtanilag alacsonyabb, mivel nem lehet benne negatív számokat közvetlenül ábrázolni, a -1, 0, 1 számokkal rendelkező hármas kód biztosítja az előjeles számok aritmetikájának optimális felépítését. A hármas számrendszer ugyanazon a számkódolási elven alapul, mint a modern számítógépekben alkalmazott bináris rendszer, de a súly én A benne lévő harmadik pozíció (számjegy) nem 2 i, hanem 3 i. Sőt, maguk a számjegyek nem kétjegyűek (nem bitek), hanem háromjegyűek (trites) - a 0 és az 1 mellett lehetővé tesznek egy harmadik értéket is, ami szimmetrikus rendszerben -1, ami miatt mindkettő pozitív és a negatív számok egységesen ábrázolhatók. Az N n-trites egész szám értékét az n-bites egész szám értékéhez hasonlóan határozzuk meg:

ahol a i ∈ (1, 0, -1) az i-edik számjegy értéke.

1960 áprilisában a „Setun” nevű számítógép prototípusának osztályközi tesztjeit végezték el. E tesztek eredményei alapján a „Setun”-t a lámpa nélküli elemeken alapuló univerzális számítógép első működő modelljeként ismerték el, amelyet a „ nagy teljesítmény, kellő megbízhatóság, kis méretek és könnyű karbantarthatóság, a hármas szimmetrikus kód természetességének köszönhetően a „Setun” valóban univerzális, könnyen programozható és nagyon hatékony számítástechnikai eszköznek bizonyult, amely pozitívan bevált, különösen, mint technikai eszközöket számítógépes matematikát tanít több mint harminc egyetemen. És a Légierő Mérnöki Akadémián. Zsukovszkijt először a „Setun”-ban hajtották végre automatizált rendszer számítógépes képzés.

Neumann elvei szerint a számítógép a következőkből áll:

· aritmetikai logikai egység - ALU(eng. ALU, Aritmetikai és logikai egység), amely aritmetikai és logikai műveleteket végez; vezérlőeszköz -UU, amelyet a programok végrehajtásának megszervezésére terveztek;

· tárolóeszközök (tároló), beleértve véletlen hozzáférésű memória (RAM - elsődleges memória) és külső tárolóeszköz (ESD); kb fő memória adatok és programok tárolásra kerülnek; a memóriamodul sok számozott cellából áll, mindegyik cella tartalmazhat egy bináris számot, amely akár parancsként, akár adatként értelmezhető;

· nál nél bemeneti/kimeneti eszközök, amelyek adatátvitelre szolgálnak a számítógép és a külső környezet között, amely különböző perifériás eszközökből áll, beleértve a másodlagos memóriát, kommunikációs berendezéseket és terminálokat.

Interakciót biztosít a processzor (ALU és vezérlőegység), a fő memória és a bemeneti/kimeneti eszközök között rendszerbusz .

A Von Neumann számítógép-architektúra klasszikusnak számít, a legtöbb számítógép erre épül. Általában, amikor az emberek a Neumann-architektúráról beszélnek, akkor a processzormodul fizikai elválasztását értik a programtól és az adattároló eszközöktől. A számítógépes programok megosztott memóriában való tárolásának ötlete lehetővé tette a számítógépek univerzális eszközökké alakítását, amelyek sokféle feladat elvégzésére képesek. A programok és adatok a beviteli eszközről egy aritmetikai logikai egységen keresztül kerülnek a memóriába. Minden programparancs a szomszédos memóriacellákba íródik, és a feldolgozásra szánt adatok tetszőleges cellákban tárolhatók. Minden program esetében az utolsó parancsnak a shutdown parancsnak kell lennie.

A mai számítógépek túlnyomó többsége Neumann-gép. Az egyetlen kivétel bizonyos típusú rendszerek párhuzamos számítástechnika, amelyben nincs programszámláló, nem valósul meg a klasszikus változókoncepció, és vannak más lényeges alapvető különbségek a klasszikus modellhez képest (például streaming és redukciós számítógépek). Nyilvánvalóan jelentős eltérés következik be a Neumann-architektúrától az ötödik generációs gépek ötletének kidolgozása következtében, amelyben az információfeldolgozás nem számításokon, hanem logikus következtetéseken alapul.

2.2 Parancs, parancsformátumok

A parancs egy olyan elemi művelet leírása, amelyet a számítógépnek végre kell hajtania.

A csapat felépítése.

A parancs írásához lefoglalt bitek száma a hardvertől függ konkrét modell számítógép. Ebben a tekintetben az általános esetre egy konkrét csapat felépítését vesszük figyelembe.

Általában a parancs a következő információkat tartalmazza:

Ø a végrehajtott művelet kódja;

Ø utasítások operandusok vagy címeik meghatározásához;

Ø utasítások a kapott eredmény elhelyezéséhez.

Minden adott gépnél meg kell adni az utasításban az egyes címekhez és a műveleti kódhoz lefoglalt bináris bitek számát, valamint magukat a tényleges műveleti kódokat. Az utasítás bitjeinek száma, amelyeket egy gép összeállításakor annak minden egyes címéhez lefoglalnak, meghatározza a külön címmel rendelkező gépi memóriacellák számának felső határát: ha egy utasításban a címet n bit képviseli, akkor a gyors hozzáférésű memória. nem tartalmazhat több mint 2n cellát.

A parancsok végrehajtása szekvenciálisan történik, a végrehajtható program kezdőcímétől (belépési pontjától) kezdve, minden további parancs címe eggyel nagyobb, mint az előző parancs címe, ha az nem ugrásparancs volt.

A modern gépekben az utasítások hossza változó (általában két-négy bájt), a változó címek megadásának módjai nagyon változatosak.

A parancs cím része például a következőket tartalmazhatja:

Operandus;

operandus címe;

Operandus címe (az a bájtszám, amelyből az operandus címe található) stb.

Nézzük meg a lehetséges opciók felépítését többféle parancstípushoz.

Három címes parancsok.

Kétcímes parancsok.

Legyen 53 az összeadási művelet kódja.

Ebben az esetben a három címből álló parancsstruktúra így néz ki:

· Háromcímes parancsok.

A parancsvégrehajtási folyamat a következő szakaszokra oszlik:

A következő utasítást a memóriacellából választjuk ki, melynek címét a programszámláló tárolja; a számláló tartalma megváltozott, és most sorrendben tartalmazza a következő parancs címét;

A kiválasztott parancs továbbításra kerül a vezérlőeszközre a parancsregiszterbe;

A vezérlőeszköz visszafejti a parancs címmezőjét;

A vezérlőegységtől érkező jelek alapján az operandusok értékeit kiolvassák a memóriából, és speciális operandusregiszterekbe írják az ALU-ba;

A vezérlőegység visszafejti a műveleti kódot, és jelet ad az ALU-nak, hogy hajtsa végre a megfelelő műveletet az adatokon;

A művelet eredménye ebben az esetben a memóriába kerül (egycímes és kétcímes számítógépekben a processzorban marad);

Az összes korábbi műveletet a STOP parancs eléréséig hajtja végre.

2.3 A számítógép mint automata

"Elektronikus digitális gépek programvezérelt a diszkrét információ-átalakítók egyik legelterjedtebb típusának, az úgynevezett diszkrét vagy digitális automatának egy példája” (Glushkov V.M. Synthesis of digital automata)

Bármely számítógép automatikusan működik (legyen szó nagy vagy kicsi számítógépről, személyi számítógépről vagy szuperszámítógépről). Ebben az értelemben a számítógép, mint automata leírható az ábrán látható blokkvázlattal. 2.1.

Az előző bekezdésekben egy számítógép blokkvázlatát vettük figyelembe. Alapján blokk diagramm számítógép és a gépi áramkör, összehasonlíthatjuk a gépáramkör blokkjait és a számítógép blokkdiagramjának elemeit.

A következőket tartalmazza a gép végrehajtó elemként:

Aritmetikai-logikai eszköz:

· memória;

· információbeviteli/kimeneti eszközök.

A gép vezérlőeleme a vezérlőberendezés, amely valójában biztosítja automatikus mód munka. Mint már említettük, a modern számítástechnikai eszközökben a fő végrehajtó elem egy processzor vagy mikroprocesszor, amely ALU-t, memóriát és vezérlőeszközt tartalmaz.

A gép segédeszközei lehetnek mindenféle kiegészítő eszköz, amely javítja vagy bővíti a gép képességeit.

John von Neumann (1903-1957) - amerikai matematikus, aki jelentős mértékben hozzájárult az első számítógépek létrehozásához és a használatukra szolgáló módszerek kidolgozásához.

Ő volt az, aki lefektette a számítógép-architektúra doktrínájának alapjait, csatlakozva a világ első csőalapú számítógépének, az ENIAC-nak a megalkotásához 1944-ben, amikor a tervezést már kiválasztották.

A munka során, G. Goldsteinnel és A. Berks kollégáival folytatott számos megbeszélés során Neumann János egy alapvetően új számítógép ötletét fogalmazta meg. 1946-ban a tudósok felvázolták a számítógépek felépítésének alapelveit a ma már klasszikusnak számító „Egy elektronikus számítástechnikai eszköz logikai tervezésének előzetes megfontolása” című cikkben.

Azóta több mint fél évszázad telt el, de a benne foglalt rendelkezések ma is érvényesek. Sotnikov V.N., Popov A.M. Számítástechnika és matematika jogászoknak. - M., 2012. 226. o

A cikk meggyőzően alátámasztja a bináris rendszer használatát a számok ábrázolására, hiszen korábban minden számítógép decimális formában tárolta a feldolgozott számokat. A szerzők bemutatták a bináris rendszer előnyeit a technikai megvalósításban, az aritmetikai és logikai műveletek végrehajtásának kényelmét és egyszerűségét. számítástechnikai számítógépes bináris

Később a számítógépek elkezdték feldolgozni a nem numerikus típusú információkat - szöveget, grafikát, hangot és egyebeket, de a bináris adatkódolás még mindig minden modern számítógép információs alapját képezi.

Egy másik forradalmi ötlet, amelynek fontosságát nehéz túlbecsülni, a Neumann által javasolt „tárolt program” elv.

Kezdetben a programot úgy állítottuk be, hogy jumpereket telepítettek egy speciális javítópanelre. Ez nagyon munkaigényes feladat volt: például az ENIAC gép programjának megváltoztatása több napig tartott, miközben maga a számítás nem tarthatott tovább néhány percnél - a lámpák, amelyekből rengeteg volt, meghibásodtak .

Neumann volt az első, aki felismerte, hogy egy program nullák és egyesek sorozataként is tárolható, ugyanabban a memóriában, mint a feldolgozott számok. A program és az adatok közötti alapvető különbség hiánya lehetővé tette, hogy a számítógép a számítások eredményeinek megfelelően programot alakítson ki magának.

Neumann János nemcsak a számítógép logikai felépítésének alapelveit terjesztette elő, hanem javaslatot is tett annak szerkezetére, amelyet a számítógépek első két generációja során reprodukáltak. Mishin A.V. Információs technológia szakmai tevékenységben. - M.: Akadémia, 2012. 161. o

A fő blokkok Neumann szerint a vezérlőegység (CU) és az aritmetikai-logikai egység (ALU), általában kombinálva CPU, amely általános célú regisztereket (GPR) is tartalmaz - az információk köztes tárolására a feldolgozás során; memória, külső memória, bemeneti és kimeneti eszközök. Meg kell jegyezni, hogy a külső memória abban különbözik a bemeneti és kimeneti eszközöktől, hogy az adatok az űrlapon kerülnek bevitelre kényelmes a számítógépe számára, de a közvetlen emberi érzékelés számára hozzáférhetetlen.

Neumann János elvei alapján felépített számítógép-architektúra.

A folytonos vonalak nyilakkal jelzik az információáramlás irányát, a szaggatott vonalak a vezérlőjeleket.



Betöltés...
Top