认识计算机主机箱各部件,认识各个硬件部件(计算机组成原理4)

计算机组成原理

认识各个硬件部件

视频链接地址:

https://www.bilibili.com/video/BV1BE411D7ii?from=search&seid=6420326887479343502

前言

在本篇中,你将掌握

主机的三大部分:主存储器、运算器、控制器的组成

主机的工作流程(注:工作流程可参照视频学习,效果更好)

1 主存储器

51886de5c05f3af0a91f8a52f5cf2b6c.png

主存储器中用于存放数据的叫做存储体,还有两个寄存器 MAR(存储地址寄存器)和 MDR(存储数据寄存器)。

注:现在的计算机通常把MAR、MDR也集成在CPU内

4b8fb12f66e7d833962a8f24b0615b13.png

存储体:数据在存储体内按地址存储。

存储单元:一整个存储体会被分成多个存储单元,

存储字:每一个存储单元会存放一串二进制代码,每个单元里存储的二进制代码称为一个存储字(word), 存储字长:而每个存储字包含的二进制个数就叫做存储字长。

存储元:用于存储二进制的电子元件叫存储元,每个存储元可存1bit。

因此,MAR位数 = 反映了存储单元个数,MDR位数 = 存储字长。如MAR = 4位,那么有2

4

2^424个存储单元;MDR = 16位,那么每个存储单元可存放16bit,一个字(word)= 16bit。

注意,1个字节(Byte)= 8 bit,而一个字到底有多少bit要看主存储器中MDR的位数。在描述时,通常以1B代表一个字节,1b表示1bit。

2 运算器

695939db414ff337e9dff014511bb0ab.png

运算器,用于实现算术运算和逻辑运算。

一个运算器最主要的部件有:

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

MQ:乘商寄存器,在乘、除运算时,用于存放操作数,或运算结果

X:通用的操作数寄存器,用于存放操作数

ALU:算数逻辑单元,内部集成复杂电路实现算数运算、逻辑运算

3 控制器

6c91c03f825c7688d7f32a3686a27efc.png

控制器,指挥程序运行。

控制器中有三个必不可少的部件:

CU:控制单元,分析指令,给出控制信号

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

PC:程序计数器,存放下一条指令地址,有自动加1功能

对于计算机而言,最主要的就是执行代码,代码也就是一条一条的指令,完成一条指令需要:

取指令 ,根据PC的指令地址取出指令

分析指令 , 从PC取出的指令会放到IR中

执行指令 , CU分析这条指令要做什么

别称,前两阶段被称为取指,最后一个阶段称为执行。

4 工作过程

1828a6c92878b0b61157421af6e38857.png

上述的定义是抽象不容易理解的,因此让我们看一个例子来辅助学习理解。

比如我们可以用C语言写这样一段程序

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

void main(){

y = a * b + c;

}

编译装入主存的形式如上图,主存地址0-4存放了指令,5-8存放了数据。

09fdc2fa99ab2f3dd9221c5ff6715f1f.png

具体而言,指令和数据都被存放在了上图的存储体中

初:(PC) = 0,指向第一条指令的存储地址

#1:(PC) -> MAR,导致(MAR)= 0

#2:M(MAR)-> (MDR),导致(MDR) = 000001 0000000101

#3:(MDR)-> IR,导致(IR)= 000001 0000000101

#4:前六位的操作码会被送到CU,CU分析后得知,这是“取数”的指令

#5 Ad(IR)-> MAR,指令的地址码送到MAR,导致(MAR)= 5

#6 M(MAR)-> MDR,导致(MDR)= 0000010000000101 = 2

#7 (MDR)-> ACC,导致(ACC) = 0000010000000101 = 2

取指令(#1-#3)、分析指令(#4)、执行取数指令(#5-#7),执行顺序如下

8d09a94bdc68106c6c3247844bedbde0.png

CPU区分指令和数据的依据:指令周期的不同阶段

5 小结

02e673c264fbee4479d1938f075ffa81.png

本篇小结,主机 = 主存 + 运算器 + 控制器,和三个部分的重要组成,对于主存的存储体中的各个概念是核心(以及字和字节的区别)、对于运算器核心部分是ALU、控制器的核心部件是CU,及其工作过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值