Vad är datorarkitektur?
Datorarkitektur avser ett antal liknande idéer inom datavetenskap och teknikområdet. På mjukvarunivå hänvisar det till de samlingsspråksystem som ansluter de olika delarna av datorns hårdvara till ett enda fungerande system. När det gäller hårdvara gäller det lika för metoderna för att skapa och använda hårdvara och processen för att konstruera datorkomponenter. Var och en av dessa definitioner beskriver en liknande process - idén att börja med ett icke fungerande datorsystem och göra det funktionellt - men de ser alla på processen ur ett annat perspektiv.
Programvaruversionen av datorarkitektur är förmodligen den svåraste för en icke-teknisk person att förstå. Ett datorsystem utför tusentals uppgifter vid en viss tidpunkt som inte har något att göra med vad användaren gör. Dessa uppgifter utgör grunden för datorns system. Det kan vara att flytta information från kortvarigt till långtidsminne eller kontrollera tiden mot en schemalagd uppgift för att se om det är dags för aktivering.
Alla dessa datorarkitekturfunktioner förlitar sig på maskinkod för att förstå hur de olika delarna av maskinen är anslutna. Denna kod skapar en grundläggande plan för datorns hårdvara som högre fungerande program använder för att komma åt saker som processortid och minnesadresser. Den här maskinkodsplanen definierar systemets struktur ur programvarans synvinkel.
Den första maskinvaruversionen av datorarkitektur är den form som används för att skapa mjukvarubesök. Denna form av arkitektur centrerar på hur olika delar av maskinen kommer att skicka och ta emot data för att arbeta tillsammans. Om en minnesmodul till exempel vill ha information formaterad på ett specifikt sätt är det viktigt att processorn skickar den i det formatet så att data kan lagras. Om de olika delarna av datorn inte kan kommunicera med varandra fungerar inte systemet.
Den andra hårdvaruversionen av datorarkitektur fokuserar på enstaka hårdvara. Denna metod kräver att designers tittar på en enskild bit och bestämmer hur den kommer att fungera. Nästan varje datormaskinvara innehåller en komplex serie instruktioner för att manipulera data, ta emot instruktioner och utfärda kommandon. Allt detta sker inom hårdvaran, vilket kräver ett fullt realiserat språk- och kommandosystem. I huvudsak fungerar varje hårdvara som en mycket specialiserad dator.
Eftersom var och en av dessa definitioner talar om en annan aspekt av datorarkitektur, hamnar de alla fint ihop. Först tittar en designer på de enskilda delarna av hårdvaran och avgör hur de fungerar. Därefter sätts bitarna samman för att bilda ett hårdvarusystem. Slutligen används maskinkoden för att ansluta dessa system på ett sådant sätt att program kan interagera med hårdvaran.