En dator består av både hårdvara och mjukvara. Hårdvaran inkluderar de fysiska komponenterna som processorn, minnet, lagringsenheterna och olika ingångs- och utgångsenheter. Mjukvaran omfattar operativsystemet och olika program som körs på datorn.
Å andra sidan är ett datorsystem en mer omfattande term som inkluderar själva
datorn samt alla de tillhörande kringutrustningar som skärm, tangentbord, mus, skrivare, scanner, webbkamera och så vidare. Dessa komponenter arbetar tillsammans för att skapa en komplett upplevelse av användning av datorn. Så, datorn tillsammans med dess kringutrustning bildar ett datorsystem.
Datorns arkitektur
Datorns arkitektur refererar till hur datorns hårdvara och mjukvara samverkar som ett integrerat system. Sedan 1940-talet har begreppet datorsystem följt den modell som formulerades av matematikern John von Neumann.
Neumanns datorarkitektur utgör en konceptuell ram som illustrerar hur en dator fungerar. Denna typ av dator är programmerbar och kapabel att bearbeta information, generera resultat och bevara dem. En sådan dator är uppbyggd av tre huvudsakliga hårdvarusystem:
- En central processorenhet (CPU) som inkluderar en styrenhet, en aritmetisk-logisk enhet (ALU), register (små områden för snabb lagring) och en programräknare (Program Counter).
- Ett primärt minnessystem som rymmer program som styr datorns funktioner och hanterar data.
- Ett in- och utmatningssystem (I/O-system) som hanterar kommunikationen mellan datorn och dess omgivning, inklusive enheter som tangentbord, mus, skärm, och andra externa enheter.
Genom att förstå och följa Neumanns arkitektur kan utvecklare och ingenjörer konstruera effektiva och fungerande datorsystem.
Hur fungerar en Von Neumann-datormodell?
En Von Neumann-datormodell har förmågan att utföra sekventiella instruktionsexekveringar, det vill säga att instruktioner utförs en efter en. Dock inkluderar modellen en enstaka väg, antingen fysiskt eller logiskt, mellan primärminnet och CPU:ns styrenhet (Control Unit), vilket resulterar i växling mellan instruktions- och exekveringscykler. Denna enda väg, som delas för instruktioner och data, kallas ofta för Von Neumann flaskhalsen.
En Von Neumann-datormodell utför program i cykler som består av stegen Fetch – Decode – Execute samt Store. Arbetsprocessen kan beskrivas på följande sätt:
- Hämtning (Fetch): Styrenheten (Control Unit) hämtar nästa programinstruktion från minnet med hjälp av en programräknare som bestämmer var instruktionen finns lagrad.
- Avkodning (Decode): Instruktionen avkodas till ett format som den aritmetisk-logiska enheten (ALU) kan förstå och hantera.
- Utförande (Execute): Alla nödvändiga data och koder för att genomföra instruktionen hämtas från minnet och placeras i register inom CPU:n. Här utförs den faktiska beräkningen eller operationen.
- Lagring (Store): Efter att instruktionen har utförts, placeras resultatet från ALU:n i lämpliga register eller i minnet, beroende på instruktionens natur.
Genom att följa dessa steg möjliggör Von Neumann-datormodellen en strukturerad och sekventiell bearbetning av instruktioner och data. Det är dock viktigt att vara medveten om flaskhalseffekten på grund av den enskilda vägen mellan primärminnet och styrenheten. Detta har lett till utvecklingen av olika arkitekturer som försöker överkomma detta begränsade bandbreddsproblem.
Systembuss
De metalliska trådarna på ett moderkort som fungerar som kopplingar kallas ”buss” och de binder samman hårdvarukomponenter såsom processorn, minnet, hårddisken med mera. Eftersom all hårdvara i en dator samarbetar som ett enhetligt system, används termen ”systembuss”. Datorns systembuss består av tre viktiga delar: Kontrollbuss, Adressbuss och Databuss.
- Databussen ansvarar för att överföra data mellan huvudminnet och CPU-registren (och vice versa).
- Adressbussen innehåller adressen till de data som för närvarande är tillgängliga på databussen.
- Kontrollbussen transporterar nödvändiga styrsignaler som styr hur informationsöverföringen ska genomföras.
Genom att hantera dessa tre typer av signaler (data, adresser, styrsignaler) möjliggör systembussen en samordnad och effektiv kommunikation mellan de olika delarna av datorn. Detta säkerställer att data och instruktioner kan flyttas korrekt och i rätt ordning mellan processorn, minnet och andra komponenter, vilket är avgörande för datorns prestanda och funktion.