408计算机组成原理-计算机的功能部件及指令执行过程的描述,总结归纳

计算机的功能部件及指令执行过程,初学计组感觉有些混乱,在此梳理,教材是王道

计算机的功能部件:
传统的冯诺依曼计算机与现代计算机的功能部件是相同的,有五个功能部件–输入设备、输出设备、存储器、运算器以及控制器。

输入设备:
主要功能:将程序和数据以机器所能识别和接受的信息形式输入计算机。常用的输入设备:键盘、鼠标、扫描仪、摄像机等

输出设备:
主要功能:将计算机处理的结果以人们所能接受的形式或其他系统所要求的信息形式输出。常用的输出设备:显示器、打印机等。

计算机的输入和输出设备–input/output,简称I/O设备。

存储器:
是计算机的存储部件,用来存放程序和数据。计算机的存储器分为主存储器(主存)和辅助存储器(辅存)。
主存储器的工作方式是按照存储单元的地址进行存取,可按照静态数组的存储方式理解。

主存储器的基本组成:存储体、地址寄存器、数据寄存器和时序控制逻辑。

存储体:存放二进制信息,由许多存储单元组成,每个存储单元包含若干存储元件,存储元件内存储的是一位二进制的代码0或1。因此存储单元可存储一串二进制代码,这一串代码被称为存储字(word),称这串代码的位数为存储字长,存储字长可以是1B或是字节的偶数倍。

地址寄存器(memory address register, MAR):存放访存地址,用于寻址。其位数对应着存储单元的个数。比如:MAR有10位,则存储单元有2的十次方=1024个。

注意:1B=8bit,B与b是不同的,注意区分。

数据寄存器(memory data register, MDR):暂存要从存储器中读或写的信息,位数与存储字长相等,一般为字节的二次幂的整数倍。
eg:MAR=4位—共有2的四次方个存储单元
MDR=16位—每个存储单元可存放16bit,1个字(word)=16bit

MAR和MDR虽然是存储器的一部分,但在现代这二者是存在于CPU中的。

时序控制逻辑:产生存储器操作所需的各种时序信号。

运算器:
是计算机的执行部件,用于进行算术运算和逻辑运算。

运算器的核心是算术逻辑单元(Arithmetic and Logical Unit, ALU),通过内部复杂的电路实现算术运算、逻辑运算。
运算器也包括很多通用寄存器,用于暂存操作数和中间结果,有三个寄存器是必须具备的:
ACC:累加器,用于存放操作数或运算结果
MQ:乘商寄存器,在乘除运算时,用于存放操作数或运算结果
X:通用的操作数寄存器,用于存放操作数。通常情况需要多个X,但理论上1个X就够了。

控制器:
是计算机的指挥中心,由其指挥各部件自动协调地进行工作,也负责解析存储器里存储的指令。控制器由程序计数器(Program Counter, PC)、指令寄存器(Instruction Register, IR)和控制单元(Control Unit, CU)组成。

PC用来存放当前欲执行指令的地址,可以自动加1以形成下一条指令的地址。
IR用来存放当前的指令,其内容来自MDR。
CU是最核心的部件,可以分析指令并给出控制信号。

一般将运算器和控制器集成到一个芯片上,称为中央处理器CPU,CPU和主存储器共同构成主机,除了主机之外的其他硬件装置统称为外部设备,外设。

完成一条指令:
取指令–PC
分析指令–IR
执行指令–CU

指令执行过程的描述:
程序中的第一条指令的地址放在PC中,根据PC取出第一条指令。
1 取指令:
PC–>MAR–>M–>MDR–>IR
M为存储体。根据PC的内容,获取MAR,即数据的位置,MAR的内容直接送到地址线上,M根据地址线上的地址和信号,从指定存储单元读出指令,送到数据线上,MDR从数据线接收到指令信息,传送到IR中。此时IR的信息含有操作码和地址码。

2 分析指令:
OP(IR)–>CU
OP: operate, OP(IR)即获取指令中的操作码,CU根据操作码生成控制信号,送到不同的执行部件。

3 执行指令:
Ad(IR)–>MAR–>M–>MDR–>ACC
Ad(IR):获取指令中的地址码,根据地址码经过MAR-M-MDR获取到操作数,传给ACC。

此时拥有一个操作码和一个操作数,比如: 一个加号和一个2。
若下一条指令为加法,则前几步都相同,执行指令:
Ad(IR)–>MAR–>M–>MDR
(MDR)–>X
(ACC)+(X)–>ACC 上条指令中acc的值加上这条指令中x的值,再传给acc
这里加上的括号,代表使用此时寄存器中的内容/值

注意:每取完一条指令,需要为下一条指令做准备,即形成下一条指令的地址:(PC)+1–>PC

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值