Computerarchitektur bezieht sich sowohl auf den Entwurf der externen Schnittstellen eines Computers (Befehlssätze) als auch auf die interne Implementierung eines Computers (Mikroarchitektur). Ziel dieser Entwurfsentscheidungen ist es, Geschwindigkeit, Energieeffizienz, Größe oder Kosten zu optimieren und gleichzeitig die übrigen Einschränkungen zu erfüllen.