在计算机工程中,计算机体系结构是计算机系统的概念设计和基本运行结构。它是对所有设计要求(特别是速度和互连)的技术图纸和功能描述,它是如何设计和实现计算机的各个部分--主要集中在中央处理单元(CPU)的内部运行方式和如何访问内存中的地址。
它可以被定义为选择和互连硬件组件以创建满足功能、性能和成本目标的计算机的科学和艺术。
计算机架构至少包括三大子类。
- 指令集架构,即ISA,是机器语言(或汇编语言)程序员所看到的计算系统的抽象模型,包括指令集、内存地址模式、处理器寄存器以及地址和数据格式。
- 微观架构又称计算机组织结构,是一个较低的层次,是对系统的详细描述,它足以完整地描述计算系统各部分的运行情况,以及它们之间如何相互连接和相互操作,以实现ISA。例如计算机的缓存大小,就是一个组织问题,一般与ISA无关。
- 系统设计,包括计算机系统中的所有其他硬件组件,如:
· 系统互连,如计算机总线和交换机。
· 内存控制器和层次结构。
· 直接访问内存等CPU卸载机制。
· 多处理等问题。
一旦ISA和微架构都被指定,实际的计算系统就需要设计成硬件。这个设计过程称为实现。实现通常是一个硬件工程设计过程。
实施可以进一步分解为三块,但不完全独立。
- 逻辑实现。设计在微架构中定义的块,主要是在寄存器传输和门级。
- 电路实现。基本元件(门、多路复用器、触发器等)以及一些较大的模块(ALU、高速缓存器等)的晶体管级设计,出于性能考虑,可在这一级甚至在较低的物理级别上实现。
- 物理实现。物理电路被画出来,不同的电路元件被放置在芯片平面图或电路板上,连接它们的电线被布线。
对于CPU来说,整个实现过程通常称为CPU设计;也可以是相关的CPU设计家族,如RISC和CISC。