计算机中的架构可以理解为计算机系统的骨架和蓝图,它从多个层面规定了计算机系统的组成、工作方式以及各部分之间的关系,主要包括指令集架构、系统架构、微架构等方面,以下是具体介绍:
指令集架构(Instruction Set Architecture,ISA)
-
定义:指令集架构是计算机硬件与软件之间的接口,规定了计算机能够执行的指令集合、指令格式、操作数类型、寄存器组织、寻址方式以及存储结构等。它是程序员或编译器编写程序时所面对的抽象机器,决定了计算机的基本功能和性能特征。
-
作用:指令集架构为软件开发提供了统一的规范和接口,使得软件能够在不同厂家生产的符合相同指令集的硬件上运行,保证了软件的可移植性和兼容性。同时,它也是硬件设计的基础,硬件工程师根据指令集来设计处理器的内部结构和逻辑电路,以实现对指令的高效执行。
-
举例:如前面提到的 RISC-V、X86、ARM 等都属于不同的指令集架构。X86 架构有丰富的指令集,能进行复杂的运算和操作;而 RISC-V 架构则以简洁、可定制为特点。
系统架构(System Architecture)
-
定义:系统架构描述的是整个计算机系统的整体布局和组成结构,包括处理器、存储器、输入输出设备、总线等各个子系统之间的连接方式和协同工作机制,它侧重于从宏观层面规划计算机系统的各个组成部分如何相互配合,以实现系统的整体功能。
-
作用:合理的系统架构能够优化系统资源的利用,提高系统的性能、可靠性和可扩展性。例如,通过设计高效的总线结构,可以实现各部件之间快速的数据传输;采用层次化的存储架构,可以在满足系统性能需求的同时,降低存储成本。
-
举例:常见的计算机系统架构有基于冯・诺依曼架构和哈佛架构的系统。冯・诺依曼架构采用存储程序和程序控制的思想,将程序和数据存储在同一存储器中;哈佛架构则将程序和数据分开存储,有独立的程序总线和数据总线,适用于对实时性要求高的场景。
微架构(Microarchitecture)
-
定义:微架构也称为处理器架构,是指处理器内部的具体实现方式,它描述了处理器的各个功能单元(如运算器、控制器、寄存器堆等)的设计、组织以及它们之间的连接和交互方式,是在指令集架构的基础上,对处理器进行的更细致、更具体的硬件设计。
-
作用:微架构决定了处理器执行指令的效率和性能。通过优化微架构,可以提高处理器的时钟频率、增加指令并行度、减少指令执行周期等,从而提升处理器的整体性能。不同的微架构在功耗、面积、成本等方面也会有不同的表现,硬件设计人员需要根据具体的应用需求和设计目标来选择合适的微架构。
-
举例:英特尔的酷睿系列处理器采用了不同的微架构,如 Skylake、Cascade Lake 等。这些微架构在缓存设计、流水线深度、核心数量等方面都有所不同,以满足不同市场和应用场景对处理器性能的需求