今天,我们继续更新【程序员进阶系列】专题,冰河带你从零入坑程序员。接下来,我们一起聊聊计算机的结构和体系分类。
文章已收录到:
https://github.com/sunshinelyz/technology-binghe
https://gitee.com/binghe001/technology-binghe
计算机结构主要由运算器、控制器、存储器、输入设备和输出设备组成。简化的结构图如下图所示。
接下来,我们再看看看其详细的结构图如下所示。
其中,主存储器又叫做内存储器,也就是内存;辅助存储器又叫做辅存,也就是外存储器,例如磁盘;CPU的核心部件为运算器和控制器。
CPU由运算器、控制器、寄存器组和内部总线组成。
运算器包含:算术逻辑单元、累加寄存器、数据缓冲寄存器、状态条件寄存器。
控制器包含:程序计数器、指令寄存器、指令译码器、时序部件。
首先,我们先来看一个在计算机领域中,对计算机的体系结构进行分类的一种经典方法,就是Flynn分类法,Flynn分类法将计算机分成单指令流单数据流、单指令流多数据流、多指令流单数据流、多指令流多数据流。
具体信息如下表所示。
一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的格式如下所示。
其中,操作码部分指出了计算机要执行什么性质的操作,例如,加法、减法、取数、存数等。地址码字段需要包含各操作数的地址及操作结果的存放地址等,从其地址结构的角度可以分为三地址指令、二地址指令、一地址指令和零地址指令。
例如,执行a+b=c操作时,就是使用的三地址指令。此时如下所示。
例如,执行a+=b操作时,执行的就是二地址指令,此时如下所示。
例如,执行a++操作时,执行的就是一地址指令,此时如下所示。
例如,宕机就是零地址指令。
总体来说,寻址方式可以分为:立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址。
CISC和RISC分别表示复杂指令集系统和精简指令集系统,具体信息如下表所示。
如何比较CISC和RISC,分哪些维度?
指令数量、指令使用频率、存执方式、寄存器、流水线支持、高级语言支持。
领取专属 10元无门槛券
私享最新 技术干货