Datorarkitektur

Inom datorteknik är datorarkitektur den konceptuella utformningen och den grundläggande operativa strukturen för ett datorsystem. Det är de tekniska ritningarna och den funktionella beskrivningen av alla konstruktionskrav (särskilt hastigheter och sammankopplingar), det är hur man utformar och implementerar olika delar av en dator - med stort fokus på hur den centrala processorenheten (CPU) fungerar internt och hur den får tillgång till adresser i minnet.

Det kan definieras som vetenskapen och konsten att välja och koppla ihop hårdvarukomponenter för att skapa datorer som uppfyller funktionella, prestanda- och kostnadsmässiga mål.

Datorarkitektur omfattar minst tre huvudsakliga underkategorier:

  1. Instruktionsuppsättningsarkitektur (ISA) är den abstrakta modell av ett datorsystem som ses av en programmerare av maskinspråk (eller assembleringsspråk), inklusive instruktionsuppsättningen, minnesadresslägen, processorregister samt adress- och dataformat.
  2. Mikroarkitektur, även känd som datororganisation, är en lägre nivå, en detaljerad beskrivning av systemet som är tillräcklig för att fullständigt beskriva hur alla delar av datasystemet fungerar och hur de är sammankopplade och samverkar för att genomföra ISA. Storleken på en dators cache är till exempel en organisatorisk fråga som i allmänhet inte har något med ISA att göra.
  3. Systemdesign som omfattar alla andra hårdvarukomponenter i ett datorsystem, t.ex:

·         Systemförbindelser, t.ex. datorbussar och växlar.

·         Minneskontroller och hierarkier.

·         Mekanismer för att avlasta CPU:n, t.ex. direkt minnesåtkomst.

·         Frågor som multiprocessing.

När både ISA och mikroarkitektur har specificerats måste själva datorsystemet konstrueras i hårdvara. Denna konstruktionsprocess kallas implementering. Genomförandet är vanligtvis en hårdvaruteknisk konstruktionsprocess.

Genomförandet kan delas upp i tre, men inte helt separata delar:

  • Logiskt genomförande: Utformning av block som definieras i mikroarkitekturen, huvudsakligen på registeröverförings- och grindnivåerna.
  • Genomförande av kretsar: Transistornivå: Utformning på transistornivå av grundläggande element (grindar, multiplexer, flip-flops etc.) samt av vissa större block (ALU:er, cacheminnen etc.) som av prestandaskäl kan implementeras på denna nivå, eller till och med på en lägre fysisk nivå.
  • Fysiskt genomförande: De olika kretsarna placeras i en chipplan eller på ett bräde, och ledningarna som förbinder dem läggs ut.

När det gäller CPU:er kallas hela implementeringsprocessen ofta för CPU-design; det kan också vara en familj av relaterade CPU-designs, t.ex. RISC och CISC.

Fler underdefinitioner

Vissa datorarkitekter använder sig av mer detaljerade underkategorier:

  • Makroarkitektur: Arkitektoniska lager som är mer abstrakta än mikroarkitektur, till exempel ISA.
  • Arkitektur för instruktionsuppsättning (ISA): Enligt definitionen ovan.
  • UISA (Microcode Instruction Set Architecture): En familj av maskiner med olika mikroarkitekturer på hårdvarunivå kan ha en gemensam mikrokodarkitektur och kallas därför UISA.
  • Montering ISA: En smart assembler kan omvandla ett abstrakt assemblerspråk som är gemensamt för en grupp av CPU:er till något annorlunda maskinspråk för olika CPU-implementationer.
  • Synlig makroarkitektur för programmerare: Språkverktyg på högre nivå, t.ex. kompilatorer, kan definiera ett definierat gränssnitt för programmerare som använder dem, genom att abstrahera skillnader mellan underliggande ISA, UISA och mikroarkitekturer; till exempel definierar standarderna för C, C++ och Java tre olika definierade programmeringsgränssnitt.
  • Pin-arkitektur: Den uppsättning funktioner som en mikroprocessor förväntas tillhandahålla ur en hårdvaruplattforms synvinkel. Till exempel signaler som processorn förväntas sända ut under utförandet av en instruktion.

Exempel på datorarkitekturer

  • x86, som tillverkas av Intel och AMD.
  • SPARC, tillverkad av Sun Microsystems och andra.
  • PowerPC, tillverkad av Apple, IBM och Motorola.

Relaterade sidor

Frågor och svar

F: Vad är datorarkitektur?


S: Datorarkitektur är den konceptuella utformningen och den grundläggande operativa strukturen för ett datorsystem. Den omfattar tekniska ritningar och funktionella beskrivningar av alla konstruktionskrav, t.ex. hastigheter och sammankopplingar, för att skapa datorer som uppfyller prestanda, kostnad och funktionella mål.

F: Vilka är de tre huvudsakliga underkategorierna av datorarkitektur?


S: De tre huvudsakliga underkategorierna av datorarkitektur är instruktionssatsarkitektur (ISA), mikroarkitektur (även kallad datororganisation) och systemdesign.

F: Vad innebär ISA?


S: Arkitektur för instruktionsuppsättning (ISA) innebär en abstrakt modell av ett datorsystem som ses av en programmerare av maskinspråk eller assembleringsspråk. Detta omfattar instruktionsuppsättningen, minnesadresslägen, processorregister samt adress- och dataformat.

F: Vad innebär mikroarkitektur?


S: Mikroarkitektur innebär en detaljerad beskrivning av systemet på lägre nivå som är tillräcklig för att fullständigt beskriva hur alla delar av datasystemet fungerar och hur de är sammankopplade och interagerar med varandra för att genomföra ISA.

F: Vad innebär systemdesign?


S: Systemdesign omfattar alla andra hårdvarukomponenter i ett datorsystem, t.ex. systemförbindelser som datorbussar och växlar, minneskontroller, mekanismer för avlastning av CPU:n som direktåtkomst till minnet, frågor om multiprocessing osv.

F: Hur delas genomförandet upp i tre delar?


S: Genomförandet kan delas upp i logiskt genomförande som omfattar utformning av block som definieras i mikroarkitekturen på registeröverförings- eller grindnivå, kretsgenomförande som omfattar konstruktion på transistornivå för grundläggande element eller större block, och fysiskt genomförande som omfattar ritning av fysiska kretsar, placering av olika kretsdelar på en chipplan eller ett kretskort, och ledningsdragning för att koppla ihop dem.

AlegsaOnline.com - 2020 / 2023 - License CC3