计算机体系结构有哪些:实操中常用的主流架构分类与落地形态
初学计算机体系结构有哪些的时候,我一度被教材里繁杂的理论分类绕得头昏脑涨,书本上笼统的划分根本对接不上实际装机、程序调试的场景,直到跟着导师做硬件适配项目,一次次实操踩试,才摸清楚了真正落地使用的各类计算机体系结构。
最先接触、也是日常民用设备最普及的,是冯·诺依曼架构。绝大多数普通电脑、家用台式机、笔记本都是这套架构。这套架构的核心是存储程序、顺序执行,数据和指令统一存放在存储器里,处理器按照固定顺序逐条读取执行。之前调试普通PC的程序时,很明显能感受到它的运行特点,单一指令流按序执行,遇到复杂运算时,不会自主并行处理,一旦代码逻辑嵌套过多,运行卡顿、延迟升高的问题就会立刻显现。也是因为这个特性,它适配日常办公、影音、普通软件开发等简单场景,性价比高、兼容性极强,是民用设备的绝对主流。
和它形成鲜明对比的,是哈佛架构。最开始分不清这两种架构的区别,直到做嵌入式开发实训,用到单片机设备,才直观感受到差异。哈佛架构最核心的改动,就是把指令存储和数据存储完全拆分,拥有独立的指令总线和数据总线,读取指令和读写数据可以同时进行。当时写单片机控制程序,同样的简单控制逻辑,在冯·诺依曼架构的设备上运行有轻微延迟,换到哈佛架构的芯片上,响应速度直接翻倍。这类架构基本只用在嵌入式芯片、DSP数字信号处理器、物联网设备上,针对性极强,专门适配高频、实时性要求高的轻量化运算场景。
精简指令集架构,也就是RISC架构,是我在接触服务器和移动端设备后频繁接触到的类型。之前一直误以为高端设备都是复杂指令集,后来拆解调试手机处理器、云端轻量化服务器才发现,现在的移动端芯片、国产服务器芯片大多采用RISC架构。它的指令集简单、规整,单条指令执行速度快,硬件设计功耗更低,不需要冗余的运算模块。前段时间适配ARM架构的程序,明显感受到它的优势,同等功耗下,设备续航和持续运行稳定性远超传统PC架构设备,唯一的短板就是对部分复杂桌面软件兼容性较差。
复杂指令集架构CISC,是传统桌面电脑的核心架构。老式台式机、英特尔、AMD的桌面处理器,全部基于这套架构。它内置的指令数量极多,能直接适配各类复杂的桌面程序、大型软件和游戏,不需要额外编译适配。但实操中能明显发现弊端,大量冗余指令会占用处理器资源,很多复杂指令使用率极低,却一直占用硬件空间,导致处理器功耗高、发热量大,长时间高负载运行时,设备降频卡顿的情况十分常见。
还有一种小众但专业领域必不可少的并行处理架构,我只在一次超算实训中接触过。这套架构抛弃了单核顺序执行的模式,搭载多个独立处理器核心,可同时分流处理海量运算任务。当时参与气象模拟运算测试,普通架构设备跑完全部数据需要近一小时,并行处理架构的超算设备,几分钟就完成了全部运算。
这类架构几乎不会用于民用设备,只服务于超级计算机、人工智能算力集群、航空航天运算等超高算力需求场景,硬件成本和运维难度都极高。
试过这么多架构的适配和调试工作后,现在选型适配程序时,会先根据设备场景锁定架构类型,再针对性调整代码逻辑。