Tietokonearkkitehtuuri kuvaa tietokoneen rakenteen erikseen määriteltyinä komponentteina ja niiden välisinä suhteina.[1]
Tavallisin arkkitehtuuri on ns. Von Neumannin arkkitehtuuri, jossa muisti on jaettu eri osien kesken. Toinen tunnettu on ns. Harvardin arkkitehtuuri, joka erottelee ohjelmakomennot ja datan erillisiin muistiavaruuksiin.
Arkkitehtuurien käsittelemät osat ovat nykyisin mikroprosessorien sisäistä arkkitehtuuria useissa tapauksissa kuten erilliset rekisterit.
Useimmat tietojenkäsittelytieteilijät ovat samaa mieltä, että tietotekniikassa on ollut neljä selkeästi erotettavaa paradigmaa tai aikakautta:[2]
Myöhemmin ovat tulleet muun muassa klusteroidut ratkaisut.[2]
Flynn esitteli vuonna 1966 Flynnin taksonomian, jonka mukaan arkkitehtuuri voidaan jakaa neljään luokkaan: SISD, SIMD, MISD ja MIMD. Perinteiset von Neumannin arkkitehtuurin mukaiset yhden suorittimen tietokoneet ovat SISD-järjestelmiä. Rinnakkaisesti suorittavat ovat SIMD- tai MIMD-järjestelmiä. D. J. Kuck esitti vuonna 1978 laajennuksen Flynnin taksonomiaan, jonka myötä olisi 16 arkkitehtuuriluokkaa.[2]
Tietokoneet voidaan jakaa muistin kytkentätavan eli muistiarkkitehtuurin mukaan: UMA (uniform memory access), NUMA (non-uniform memory access) ja COMA (cache-only memory access).[2]
Tietotekniikan kasvuun ja yleistymiseen liitetään massavalmistettujen mikroprosessorien edullisuus, sekä kaksi muuta tekijää: assembly-kielen vähentyminen helpotti yhteensopivuutta; ja standardoitujen valmistajista riippumattomien käyttöjärjestelmien kuten Unixin ja Linuxin käyttö laski kustannuksia samalla pienentäen riskejä uusien arkkitehtuurien julkaisemiseen. Muutokset mahdollistivat yksinkertaisemmat RISC-suorittimet, joiden julkaisu nosti suorituskykytasoa, ja matkapuhelimissa sekä energian käyttö että piisirun pinta-ala vaikuttivat RISC-pohjaisen ARM-suorittimen dominointiin.[3]