写点什么

图解计算机结构与体系分类!!

用户头像
冰河
关注
发布于: 2021 年 02 月 01 日
图解计算机结构与体系分类!!

写在前面


今天,我们继续更新【程序员进阶系列】专题,冰河带你从零入坑程序员。接下来,我们一起聊聊计算机的结构和体系分类。


文章已收录到:


https://github.com/sunshinelyz/technology-binghe


https://gitee.com/binghe001/technology-binghe


计算机结构


计算机结构主要由运算器、控制器、存储器、输入设备和输出设备组成。简化的结构图如下图所示。



接下来,我们再看看看其详细的结构图如下所示。


其中,主存储器又叫做内存储器,也就是内存;辅助存储器又叫做辅存,也就是外存储器,例如磁盘;CPU 的核心部件为运算器和控制器。


CPU 由运算器、控制器、寄存器组和内部总线组成。



运算器包含:算术逻辑单元、累加寄存器、数据缓冲寄存器、状态条件寄存器。



  • 算术逻辑单元(ALU):数据的算术运算和逻辑运算。

  • 累加寄存器(AC):通用寄存器,为 ALU 提供一个工作区,用于暂存数据。

  • 数据缓冲寄存器(DR):写内存时,暂存指令或数据。

  • 状态条件寄存器(PSW):存储状态标志和控制标志,有时也可以将状态条件寄存器归为控制器部分。


控制器包含:程序计数器、指令寄存器、指令译码器、时序部件。


  • 程序计数器(PC):存储下一条要执行的指令的地址。

  • 指令寄存器(IR):存储即将执行的指令。

  • 指令译码器(ID):对指令中的操作码字段进行分析解释。

  • 时序部件:提供时序控制信号。


计算机体系结构分类


首先,我们先来看一个在计算机领域中,对计算机的体系结构进行分类的一种经典方法,就是 Flynn 分类法,Flynn 分类法将计算机分成单指令流单数据流、单指令流多数据流、多指令流单数据流、多指令流多数据流。



具体信息如下表所示。



指令的基本概念


一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的格式如下所示。


其中,操作码部分指出了计算机要执行什么性质的操作,例如,加法、减法、取数、存数等。地址码字段需要包含各操作数的地址及操作结果的存放地址等,从其地址结构的角度可以分为三地址指令、二地址指令、一地址指令和零地址指令。


三地址指令



例如,执行 a+b=c 操作时,就是使用的三地址指令。此时如下所示。



二地址指令



例如,执行 a+=b 操作时,执行的就是二地址指令,此时如下所示。



一地址指令



例如,执行 a++操作时,执行的就是一地址指令,此时如下所示。



零地址指令



例如,宕机就是零地址指令。


寻址方式


总体来说,寻址方式可以分为:立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址。



  • 立即寻址:操作数直接在指令中,速度快,灵活性差。

  • 间接寻址:指令中存放的是操作数的地址。

  • 间接寻址:指令中存放了一个地址,这个地址对应的内容是操作数的地址。

  • 寄存器寻址:寄存器存放操作数。

  • 寄存器内存放的是操作数的地址。


CISC 与 RISC


CISC 和 RISC 分别表示复杂指令集系统和精简指令集系统,具体信息如下表所示。



如何比较 CISC 和 RISC,分哪些维度?


指令数量、指令使用频率、存执方式、寄存器、流水线支持、高级语言支持。


  • CISC:复杂、指令数量多,频率差别大、多寻址。

  • RISC:精简、指令数量少。操作寄存器,单周期,少寻址,多通用寄存器,流水线,


好了,今天就到这儿吧,我是冰河,大家有啥问题可以在下方留言,也可以加我微信:sun_shine_lyz,我拉你进群,一起交流技术,一起进阶,一起牛逼~~


发布于: 2021 年 02 月 01 日阅读数: 1124
用户头像

冰河

关注

公众号:冰河技术 2020.05.29 加入

Mykit系列开源框架发起者、核心架构师和开发者,《海量数据处理与大数据技术实战》与《MySQL开发、优化与运维实战》作者。【冰河技术】微信公众号作者。

评论

发布
暂无评论
图解计算机结构与体系分类!!