计算机组成原理学习笔记 1

前言

文章为自己在观看视频预习计算机组成原理后写的笔记,在笔记中不可避免会出现错误,请读者见谅和反馈。

注:文章中出现的图片来至王道考研的视频


计算机硬件的基本组成

知识结构图:
计算机硬件的基本组成结构图

早期冯诺依曼机

冯·诺依曼提出“存储程序”的概念:

  • 将指令以二进制代码的形式事先输入计算机的主存储器(即内存)中,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。

早期冯诺依曼机结构:

  • 早期冯诺依曼机结构

在计算机系统中,软件和硬件在逻辑上是等效的。
因为对于同一个功能来说,既可以用软件来实现,也可以用硬件来实现,只不过成本和效率有所不同。

冯诺依曼计算机的特点:

  1. 计算机由五大部件组成(输入设备输出设备存储器控制器运算器)
  2. 指令和数据以同等地位存于存储器,可按地址寻访
  3. 指令和数据用二进制表示
  4. 指令由操作码和地址码组成
  5. 存储程序
  6. 以运算器为中心(输入/输出设备与存储器之间的数据传送通过运算器完成)

现代计算机

现代计算机结构:

  • 现代计算机结构

现代计算机以存储器为中心

CPU = 运算器 + 控制器

现代计算机结构简要图:

  • 现代计算机结构简要图
  • 部件的关系
  • 注意区分这里的主机和我们日常生活中所说的主机
  • 主存指的是“运行内存”,辅存一般指的是“硬盘”或“机身存储”

各个硬件的工作原理

主存储器的基本组成

主存储器构成:

  • 主存储器结构
  • MAR(Memory Address Register):存储地址寄存器
  • MDR(Memory Data Register):存储数据寄存器

存储体:像一个大货柜,里面有很多个存储柜(存储单元),存储柜存储着一个个“数据”,每个存储柜都有一个唯一的“编号”——地址。

  • 存储体结构
  • 存储单元:每个存储单元存放一串二进制代码
  • 存储字(word):存储单元中二进制代码的组合
  • 存储字长:存储单元中二进制代码的位数
  • 存储元:即存储二进制的电子元件,每个存储元可存1bit

MAR:存储的内容就是这个数据的“编号”,这样就可以根据MAR里面存储的“编号”找到对应的数据了。
MAR位数反映存储单元的个数

MDR:相当于一个中转站,你想要从存储体取出的数据会被放到MDR中暂存(只是存储体中这个数据的一个副本,存储体中的这个数据还在),CPU就可以从MDR这里取走这个数据;
存数据进入存储体也是一样,MDR暂存CPU想要存入的数据,然后存储器就可以把MDR中的数据存入存储体中。
MDR位数 = 存储字长

运算器的基本组成

构成及说明:

  • 运算器的构成及说明

控制器的基本组成

构成及说明:

  • 控制器的构成及说明

完成一条指令的过程:

  1. 取指令:根据PC里的指令地址,从内存中取出对应的指令,并把取出的指令放到IR中
  2. 分析指令:CU分析IR中指令的功能
  3. 执行指令:CU控制其他部件配合完成指令的具体执行

计算机的工作过程

//c语言语句
void main()
{
	int a = 2, b = 3, c = 1, y = 0;		//1
	y = a * b + c;		//2
}

把这段代码编译装入主存:

  • 在这里插入图片描述
  • 在这里,存储字长为16bit

工作过程(重点)
示意图
这里只解释一条指令的工作过程中,完整的过程可以自行查找,这里简要了解一下过程就可以了

初始:(PC) = 0,指向第一条指令的存储位置。( (PC)表示PC的内容)

  1. (PC)写入MAD,导致(MAD) = 0
  2. 主存储器根据MAR找到0号地址对应的数据0号地址数据
  3. 主存储器把上一步找到的数据放到MDR中,导致(MDR) = 000001 0000000101
  4. MDR中的这条指令通过数据总线,放入到IR中,导致(IR) = 000001 0000000101
  5. 指令的操作码000001传送到CU,CU分析后得知这是“取数”指令
  6. 指令的地址码0000000101送到MAR,导致(MAR) = 5
  7. 主存储器根据MAR找到5号地址对应的数据5号地址数据
  8. 主存储器把上一步找到的数据放到MDR中,导致(MDR) = 0000000000000010 = 2
  9. MDR中的数据传送到ACC中,导致(ACC) = 0000000000000010 = 2

取指令:(1 ~ 4),完成后PC自动加1,指向下一条指令
分析指令:(5)
执行指令:(6 ~ 9)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值