(二)计算机系统之现代计算机结构模型及工作原理

现代计算机结构模型

GPRs:general purpose register set 【通用寄存器组】
PC:program counter 【程序计数器】
MAR:memory address register 【存储器地址寄存器】
MDR:memory data register 【存储器数据寄存器】
MAR与MDR跟总线相连,属于总线接口部件。
IR:instruction register 【指令寄存器】

cpu想到存储器取指令,必须先把指令的地址送给存储器,并且把读信号(即红颜色的控制器传输出来的)送到控制线上,告诉存储器读取哪一个地方的信息,读出来的信息通过数据线送到MDR:若是指令,送到IR;若是数据,送到寄存器(GPRs),然后再送到ALU进行运算;或者MDR的数据直接送到ALU进行计算
在这里插入图片描述

计算机如何执行程序?

①前:数据和指令实现存档在存储器中,每条指令和每个数据都有其地址,指令按序存放,指令由OP、ADDR字段组成,程序起始地址置PC。

先对OP操作码进行译码,译码译出来时加、减等等操作类型,然后根据ADDR地址(指出操作数在哪个主存单元里面)到存储器(存储器地址)或者寄存器(寄存器编号)取出操作数,进行指定的操作,结果放在相应的存储器或者存储单元里面。


(1)根据PC取指令
(2)指令译码
(3)取操作数
(4)指令执行
(5)回写结果
(6)修改PC的值
继续执行下一条指令

指令和数据

程序启动前,指令和数据都存放再存储器中,形式上没有差别,都是0/1序列

采用“存储程序”工作方式:
程序由指令组成,程序被启动后,计算机能自动取出一条一条的指令执行,在执行过程中无需人的干预。

指令中需给出的信息:
操作性质(操作码)
源操作数1 或/和 源操作数2 (立即数、寄存器编号、存储地址)
【单目运算:取反取负,只有一个操作数】
目的操作数地址(寄存器编号、存储地址)
存储地址的描述与操作数的数据结构有关!
若在寄存器,给出寄存器编号;若在主存里面,给出存储器地址。

猜你喜欢

转载自blog.csdn.net/CarmenIsOK/article/details/89340975