5.16学习

主存储器构成:存储体、MAR(存放地址)、MDR(存放数据)

存储体由一个个存储单元构成,每个地址对应一个存储单元

        存储单元:存放一串二进制代码

        存储字:存储单元中存储的二进制代码组合

        存储字长:存储单位中二进制代码位数(bit位数)

        存储元:构成存储单位,一个存储元存储1bit

存储体:数据在存储体中按地址存储

MAR(二进制表示):位数表示存储单元的个数,若有四位数,则有2**4个存储单元

MDR:位数=存储字长=二进制代码位数,若MDR=16,则一个字=16bit

运算器构成:ACC、MQ、ALU、X

ACC:累加器,存放操作数或运算结果

MQ:乘除运算中存放操作数或结果

X:存放操作数(被=-x%数)

ALU(核心):算数逻辑单位,通过内部电路对操作数进行逻辑运算、算术运算

控制器:CU、IR、PC

CU(核心):控制单位,分析指令给出控制信号

IR:指令寄存器,存放执行的指令

PC:程序计数器,存放下一条指令地址,会自动+1

完成一条指令步骤:

计算机工作过程

假设执行一条简单指令

int y = 0;

int a = 2, b = 3, c = 1;

y = a *b + c;
工作过程:首先PC会指向第一条指令的存储地址并传输给MAR,MAR的值(MAR)则为该指令在主存里的地址,通过MAR传输给存储体读取相应地址对应的指令并输出给MDR,此时(MDR)= 指令(操作码+地址码),随后MAR将指令传输给IR进行指令存放,随后IR将指令的操作码传给CU进行分析,而CU分析操作码以后则根据不同指令做出不同控制行为:

1.若是取数指令,则PC指向的存储地址加一,将指令的地址码传递给MAR,随后(MAR)会传入存储体,取出对应数据并输出到MDR,使得(MDR)= 要取出的数据,MDR将数据传输至ACC存储;

2.若是加减法指令,则PC指向的存储地址加一,将指令的地址码传递给MAR,随后(MAR)会传入存储体,取出对应数据并输出到MDR,使得(MDR)= 要取出的数据,随后(MDR)传输至X中,CU控制ALU对ACC与X中存储的数据进行加减法,将最后得到的数据存储在ACC中;

3.若是乘除法指令,则PC指向的存储地址加一,将指令的地址码传递给MAR,随后(MAR)会传入存储体,取出对应数据并输出到MDR,使得(MDR)= 要取出的数据,随后(MDR)会传输到MQ中,(ACC)会传输到X中,通过ALU对X和XQ中的数据进行乘除法运算,并将所得结果放置在ACC中存储。另:若乘法结果过大,则需要XQ辅助存储。

4.若是存数指令,则PC指向的存储地址加一,将指令地址值传递给MAR,随后(MAR)传入存储体,ACC存储的值传递给MDR,随后(MDR)与(MAR)传入存储体,此时MAR对应的地址就存储了MDR对应的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值