计算机基本组成及其内部元件细节随笔

本文介绍计算机基本组成及内部工作原理,包括存储器、运算器、控制器等核心部件的详细功能与交互流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本文主要讲述计算机的基本组成(硬件部分)以及内部元件的相关细节


一、计算机体系结构

冯诺依曼体系结构:

以运算器为中心:

在这里插入图片描述
这里我们可以将整个部分看做一家工厂:

输入设备 -- > 进货部门
运算器 -- > 加工部门
存储器 -- > 仓库
控制器 -- > 指挥总裁
输出设备 -- > 出售

运算器原本应该是只做运算相关的操作,但是从图中可以看出,基本所有的操作都经过了运算器,就好比工厂进货部门原可以直接将原材料存放到仓库,但是这里必须要先转交给加工部门,再由加工部门存放到仓库,出售过程也是如此。使得运算器在进行运算的负荷下还要进行其他的相关操作。可想而知,在效率性能方面都会有所下降!

而现代计算机借此演变:

以存储器为核心:

在这里插入图片描述
现代计算机往往将运算器将控制器集成在一个芯片中,也就是现代CPU :运算器 + 控制器;

二、内部元件细节

1.存储器(这里只谈论主存,不考虑辅存)

主存:
在这里插入图片描述

MAR(Memory Address Register) : 存储地址寄存器
MDR(Memory Data Register) : 存储数据寄存器
存储单元:存放一串二进制代码

MAR地址寄存器找到的就是存储体中的地址,而MDR数据寄存器对应的就是存储单元中存储的二进制数

比如一个取数操作:CPU通过MAR地址寄存器中的地址信息去存储体中定位到相应的位置,将地址中存放的数据取出来,存放到MDR中,再交给CPU;
同样,对于一个存数操作:CPU将地址告诉MAR,再将地址告诉MDR,将一个数据存放到存储体中的相应位置。

整个过程与我们平时快递取件相同:
首先我们要告诉店员取件以及取件号,店员通过取件号在快递货架上找到快递,在返回放到柜台上,我们再从柜台取走快递。这个过程中,我们就相当于计算机CPU,店员相当于MAR,快递货架相当于存储体,放置快递的柜台相当于MDR。

2.运算器内部细节

在这里插入图片描述

MQ : 乘商寄存器,主要用于乘除操作,操作数的存放
ACC : 累加器,主要用于加减操作,操作数的存放
ALU :主要用于做运算(核心部件,成本也最高)
X : 通用寄存器,存放操作数

3.控制器的内部细节

在这里插入图片描述

CU : 控制单元,指令分析,给其它组件发出控制信号
IR : 指令寄存器,存放当前执行的指令
PC :程序计数器,存放下一条指令的地址,有自动加一功能

4.例子:执行一条指令的流程

在这里插入图片描述
执行 Y = A * B 操作

  1. PC = 0,指向第一条指令的存储地址,这里可以对应存储体的类图。
  2. PC --> MAR ,使得MAR = 0,PC自动加1
  3. 通过MAR定位到存储体(0)的位置
  4. MAR --> MDR ,将对应位置的二进制码取出,存放到MDR
  5. MDR --> IR ,IR 就等于一串二进制码,包含两个部分,一部分二进制数会传递给CU分析这是什么指令,另一部分二进制数是地址,用于通过MAR找到存储体中的数据。对应6、7两步
  6. IR --> CU ,指令的操作码送到CU,CU分析得知这是一个取数指令
  7. IR --> MAR ,指令的地址码送到MAR
  8. MAR --> MDR,由MAR再次定位到存储体,找到要进行操作的数据,取出到MDR
  9. MDR --> ACC ,将要操作的数据存放到ACC累加器
  10. 后续取B的值也是一样了,不过在CU分析的时候,会得到这是一个乘法指令,并将操作数存到MQ中
  11. ACC --> X ,将ACC中的值存放到X通用寄存器中
  12. (MQ)* (X) --> ACC ,ALU运算器进行乘法操作,再将运算后的值存放到ACC
  13. 在进行存数指令,同理即可!

总结

本文简单的介绍了计算机的基本组成——由存储器 、到控制器、到运算器的内部工作细节。水平尚浅,不恰当之处还请指正!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值