Arhitectura calculatoarelor se referă la o serie de idei similare în domeniul informaticii și tehnologiei. La nivel de software, se referă la sistemele de limbaj de asamblare care conectează diferitele părți ale hardware-ului computerului într-un singur sistem funcțional. Când se ocupă de hardware, se aplică în mod egal metodelor de creare și utilizare a hardware-ului și procesului de construire a componentelor computerului. Fiecare dintre aceste definiții descrie un proces similar – ideea de a începe cu un sistem informatic nefuncțional și de a-l face funcțional -, dar toate privesc procesul dintr-un punct de vedere diferit.
Versiunea software a arhitecturii computerului este probabil cea mai dificilă de înțeles pentru o persoană netehnică. Un sistem informatic efectuează mii de sarcini la un moment dat, care nu au nimic de-a face cu ceea ce face utilizatorul. Aceste sarcini formează baza sistemelor computerului. Poate fi mutarea informațiilor din memoria pe termen scurt în memoria pe termen lung sau verificarea timpului cu o sarcină programată pentru a vedea dacă este timpul pentru activare.
Toate aceste funcții ale arhitecturii computerului se bazează pe codul mașinii pentru a înțelege modul în care sunt conectate diferitele părți ale mașinii. Acest cod creează un model de bază al hardware-ului computerului pe care programele cu funcționare superioară îl folosesc pentru a accesa lucruri precum timpul procesorului și adresele de memorie. Acest model de cod de mașină definește structura sistemului din punctul de vedere al software-ului.
Prima versiune hardware a arhitecturii computerului este forma utilizată pentru a crea modelul software. Această formă de arhitectură se concentrează pe modul în care diferite părți ale mașinii vor trimite și primi date pentru a lucra împreună. De exemplu, dacă un modul de memorie dorește că informațiile sunt formatate într-un mod specific, este important ca procesorul să le trimită în acel format, astfel încât datele să poată fi stocate. Dacă diferitele părți ale computerului nu pot comunica între ele, sistemul nu va funcționa.
Cealaltă versiune hardware a arhitecturii computerului se concentrează pe piese individuale de hardware. Această metodă impune designerilor să se uite la o piesă individuală și să determine cum va funcționa. Aproape fiecare bucată de hardware de calculator conține o serie complexă de instrucțiuni pentru manipularea datelor, primirea instrucțiunilor și emiterea comenzilor. Toate acestea au loc în hardware, necesitând un limbaj și un sistem de comandă complet realizat. În esență, fiecare piesă hardware funcționează ca un computer foarte specializat.
Deoarece fiecare dintre aceste definiții vorbește despre o fațetă diferită a arhitecturii computerelor, toate ajung să se potrivească frumos. În primul rând, un designer se uită la piesele individuale ale hardware-ului și determină modul în care funcționează. În continuare, piesele sunt puse împreună pentru a forma un sistem hardware. În cele din urmă, codul mașinii este folosit pentru a conecta acele sisteme împreună, astfel încât programele să poată interacționa cu hardware-ul.