Datorarkitektur är en konceptuell modell av ett datorsystem, förkroppsligad i dess komponenter, deras interaktion med varandra och miljön, inklusive principerna för dess design och utveckling [1] [2] . Implementeringsaspekter (som tekniken som används för att implementera minne ) är inte en del av arkitekturen [3] .
Det finns flera nivåer av datororganisation (datorarkitektur), från två eller flera: [3]
Nivå 0 Den digitala logiska nivån är maskinens hårdvara , bestående av grindar . Se även logiska element (spärrar), vippor , register . Nivå 1 Mikroarkitektonisk nivå, tolkning (firmware) eller direkt exekvering. Elektroniska kretsar kör maskinberoende program. Uppsättningen av processorregister bildar det lokala minnet. Se även aritmetisk logikenhet , styrenhet . Dess uppgift är att tolka kommandon på nivå 2 (kommandoarkitektur). För närvarande, på instruktionsarkitekturnivån, finns det vanligtvis enkla instruktioner som exekveras i en cykel (såsom i synnerhet RISC-maskiner). Nivå 2 Kommandosystemsarkitekturnivå , översättning ( assembler ) . Nivå 3 Operativsystemnivå , översättning (assembler). Detta är en hybridnivå: en del av kommandona tolkas av operativsystemet och den andra delen tolkas av firmware. Se även virtuellt minne , filer . Nivå 4 Assembly språknivå, översättning ( kompilator ). Den fjärde nivån och över används för att skriva applikationsprogram , från första till tredje systemprogram . Program i människovänlig form översätts till språket på nivå 1-3. Nivå 5 Språk på hög nivå . Program på högnivåspråk översätts vanligtvis till nivå 3 och 4.Den första dokumenterade datorarkitekturen var i en korrespondens mellan Charles Babbage och Ada Lovelace , som beskrev analysmotorn. När han skapade Z1-datorn 1936 beskrev Konrad Zuse sina framtida projekt i två patentansökningar. [4] Två andra tidiga och viktiga exempel:
John von Neumanns papper från 1945, det första utkastet till en EDVAC- rapport , som beskrev organisationen av logiska grindar;
En mer detaljerad föreslagen elektronisk kalkylator av Alan Turing för en automatisk datormotor, också 1945, som citerade en artikel av John von Neumann.
Termen "arkitektur" i datorlitteratur kan spåras tillbaka till verk av Lyle R. Johnson, Friedrich P. Brooks, Jr. och Mohammad Usman Khan. De var alla medlemmar av maskinorganisationsavdelningen, vid IBMs huvudforskningscenter 1959. Johnson hade möjlighet att skriva sin egen forskningsartikel om Stretch-superdatorn utvecklad av IBM vid Los Alamos National Laboratory (då känt som Los Alamos Science Laboratory). För att beskriva detaljnivån för att diskutera en överdådigt dekorerad dator, noterade han att hans beskrivning av format, instruktionstyper, hårdvarualternativ och hastighetsförbättringar var på nivån "systemarkitektur" - en term som verkade mer användbar än "maskinorganisation". ."
Därefter började Brooks, designern av stretch, ett kapitel i den andra boken (Designing a Computer System: The Stretch Project, red., W. Buchholz, 1962) genom att skriva:
"Datorarkitektur, liksom arkitektur, är konsten att identifiera behoven hos användaren av en struktur och sedan designa för att på bästa sätt möta dessa behov inom ekonomiska och tekniska begränsningar."
Brooks fortsatte med att hjälpa till att utveckla IBM System/360 (nu kallad IBM zSeries) raden av datorer, där "arkitektur" blev ett substantiv för "vad användaren behöver veta". [5]
De tidigaste datorarkitekturerna designades på papper och byggdes sedan direkt in i den slutliga hårdvaruformen. Senare datorarkitekturprototyper byggdes fysiskt som ett transistor-transistor-logiksystem (TTL) såsom 6800 och de beprövade PA-RISC-prototyperna och korrigerades innan de gick vidare till den slutliga hårdvaruformen. Med början på 1990-talet är nya datorarkitekturer typiskt "byggda", testade och inställda i någon annan datorarkitektur i en datorarkitektursimulator; eller inuti FPGA som en mjuk mikroprocessor; Eller båda - innan du gör det slutliga hårdvaruformuläret. [6]
Ordböcker och uppslagsverk | |
---|---|
I bibliografiska kataloger |
|