「计组」计算机的基本组成

冯·诺依曼计算机的特点

  1. 五大部件组成 运算器 控制器 存储器 输入\出设备
  2. 指令和数据以同等地位存于存储器,可按地址寻访
  3. 指令和数据用二进制表示
  4. 指令由操作码和地址码组成
  5. 存储程序
  6. 以运算器为中心

记: 冯·诺依曼计算机以运算器为中心,运算器会成为瓶颈

现代计算机硬件框图

drawing

存储器的基本组成

drawing

存储体 - 存储单元 - 存储元件(0/1)

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

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

存储字长 存储单元中二进制代码的

*每个存储单元赋予一个地址

存储器地址寄存器 MAR 反映存储单元的个数

存储器数据寄存器 MDR 反应存储字长

运算器基本组成及操作过程

drawing

基本组成

算术逻辑单元 ALU

累加寄存器 ACC (Accumulator)
乘商寄存器 MQ (Multiplier-Quotient Register)
操作数寄存器 X

不同运算,各个计算器所放操作数类别

ACCMQX
加法被加数和加数
减法被减数差减数
乘法乘积高位乘数 & 乘积地位被乘数
除法被除数余数除数

操作过程

加法操作的过程
drawing

[ ] 表示 地址里所存的内容
指令 加法 (状态码) M(地址码 存放所加数据)

初态 ACC 被加数

[M] → \rightarrow X

[ACC] +[X] → \rightarrow ACC

减法操作的过程
drawing

指令 减法 (状态码) M(地址码 存放所加数据)

初态 ACC 被减数

[M] → \rightarrow X

[ACC] - [X] → \rightarrow ACC

乘法操作的过程
drawing

指令 乘 M

初态 ACC 被乘数

[M] → \rightarrow MQ

[ACC] → \rightarrow X

0 → \rightarrow ACC // 乘法通过累加和移位方式实现,需要寄存器保存累加数据所以清零

[X] x [MQ] → \rightarrow ACC // MQ (ACC高位 ,MQ 低位,//表示链接关系)

记:
先后关系 先把 [ACC] --> X 后 才能 实现乘法 [X] x [MQ] --> ACC // MQ
可以互换的操作 [M] --> MQ 与 [ACC] --> X
控制器控制操作的先后

除法操作的过程
drawing

指令 除 M

初态 ACC 被除数

[M] → \rightarrow X

[ACC] ÷ [X] → \rightarrow MQ

余数在 ACC 中

控制器的基本组成

控制器的功能
解释指令
保证指令的按序执行

控制器的基本组成

drawing

操作控制器 CU (Control Unit)

程序计数器 PC(Program Counter) 指定下一条执行程序在主存中的地址 具有计数功能(PC) + 1 → \rightarrow PC

指令寄存器 IR(Instruction Register) 存放当前欲执行的指令

整个控制器的运行逻辑是先按照程序计数器所指出的指令地址,从内存中取出一条指令到指令寄存器IR,然后指令译码器ID对指令进行分析,之后操作控制器根据指令的功能向有关部件发出控制命令,执行控制指令的操作。完成操作之后,程序计数器加1,再重复执行上述操作。

完成一条指令步骤
PC
IR
CU
完成一条指令
取指令
分析指令
执行指令
主机完成一条指令的过程

以取数指令为例

请添加图片描述
过程

  1. PC 把欲取指令的地址 发送给MAR — 取指令
  2. MAR 把欲取指令的地址 发送给 存储体
  3. 在控制单元CU控制下在存储体指定的存储单元下取这条指令送到 MDR 中
  4. 在控制单元CU控制下把 MDR 中的地址放入IR
  5. IR中存放的指令操作码部分发送到 CU,CU 对指令进行分析发出相应的控制信号完成相应的指令操作 — 分析指令
  6. CU控制 把IR中地址码部分送入到MAR — 执行指令
  7. MAR再送到存储体 , 告诉存储体要储存的数据的地址是多少
  8. 在控制单元CU控制下在存储体指定的存储单元下取这条指令送到 MDR 中
  9. 送到 ACC

以存数指令为例请添加图片描述
过程

  1. PC 把欲取指令的地址 发送给MAR
  2. MAR 把欲取指令的地址 发送给 存储体
  3. 在控制单元CU控制下在存储体指定的存储单元下取这条指令送到MDR中
  4. 在控制单元CU控制下把 MDR 中的地址放入IR中 – 取指令
  5. IR中存放的指令操作码部分发送到 CU,CU 对指令进行分析发出相应的控制信号完成相应的指令操作
  6. CU控制 把IR中地址码部分送入到MAR
  7. MAR再送到存储体 , 告诉存储体要储存的数据的地址是多少
  8. ACC 中 的数据存到存储体中 7 中的那个地址之中

计算 a x 2 + b x + c ax^2+bx+c ax2+bx+c 程序的运行过程

  • 将程序通过输入设备送至计算机
  • 程序首地址 —> pc
  • 启动程序运行
  • 执行相关指令
    1. 取指令 PC --> MAR --> M(存储体里的地址) --> MDR --> IR , (PC)+1 --> PC
    2. 分析指令 OP(IR) --> CU
      OP()操作码 Ad() 地址码
    3. 执行指令 Ad(IR) --> MAR --> M --> MDR --> ACC
      MAR MDR 接口寄存器
  • 打印结果
  • 停机
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值