计算机总体概述

概述:计算机组成原理是一门关于计算机如何能够将各种硬件进行设计来解决进行计算的一门科学。

计算机组成原理是建立在硬件电路之上

计算机的发展
  1. 计算机系统 : 由硬件与软件组成
硬件的发展
  1. 电子管时代
  2. 晶体管时代
  3. 集成电路时代
早期冯诺依曼
  1. 提出了存储程序,事先将指令与数据输入进存储器,然后按照规定的顺序执行
  2. 包括输入设备,输出设备,运算器,控制器,存储设备
  3. 早期的冯诺依曼计算机是以运算器为核心
  4. 指令与数据有同等的地位位于存储器,用二进制来表示
  5. 指令由操作码和地址码组成

缺点:以运算器为中心的结构,每次输入的数据都需要经过运算器转存到存储器

现代计算机结构
  1. 以储存器为中心
  2. CPU = 运算器 + 控制器
  3. 分为 主机 + I/O设备
  4. 主机 = CPU + 主存

各个硬件

主存储器

主存储器 = 存储体 + MAR + MAR

存储体
  1. 数据与指令在存储体中按照地址存储
  2. 分为存储单元
  3. 存储字长:存储单元二进制代码的长度
MAR
  1. 存储地址寄存器
  2. 位数反映了存储体的存储单元的个数
MDR
  1. 存储数据寄存器
  2. 位数 = 存储字长
运算器

在这里插入图片描述

  1. ACC :累加器:用于存放操作数或者运算结果
  2. MQ : 乘商寄存器,在乘除运算中用于存放操作数或者运算结果
  3. X : 通用操作数寄存器,用于存放操作数
  4. ALU:算术逻辑单元,通过电路实现算术运算
控制器
  1. CU : 控制单元,分析指令,给出控制信号
  2. IR : 指令寄存器 , 存放当前执行的指令
  3. PC : 程序计数器 , 存放下一条指令的地址 , 有自动加一的功能
一条指令的执行完成
  1. PC : 取指令
  2. IR : 存放要执行的指令
  3. CU : 分析IR中的指令,执行指令
计算机工作过程
int a = 2 , b = 3 , c = 1 , y= 0;
int main()
{
    y = a * b + c;
}

编译后形成这样的机器代码在主存中

在这里插入图片描述

执行过程
  1. 初始 (PC) = 0,指向第一条指令的地址

  2. (PC)->MAR , 所以(MAR) = 0,去存储体中寻找0号地址的数据

  3. M(MAR) -> MDR(M表示主存储器) ,将数据存入MAR中,导致(MDR)= 000001 0000000101

  4. (MDR)->IR = 000001 0000000101, 通过数据总线将指令存放到IR中 , 前6位送往CU(控制单元中)

  5. OP(IR) - > CU ,CU控制单元分析得知,这是一个取数指令

  6. Ad(IR)->MAR , 然后将数字的地址送往MAR(地址寄存器), (MAR) = 5

  7. 5 号地址正好是a = 2 ,送往(MDR)= 2

  8. (MDR)->ACC = 2, MDR中的数据送往ACC(累加寄存器中)

  9. 接下来执行指令的操作类似,但有个别不同

  10. 5 号地址正好是a = 2 ,送往(MDR)= 2

  11. (MDR)->ACC = 2, MDR中的数据送往ACC(累加寄存器中)

  12. 接下来执行指令的操作类似,但有个别不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

觅你风川间!!!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值