大家好,欢迎阅读《计算机组成原理》
的系列文章,本系列文章主要教内容是从零学习计算机组成原理
,内容通俗易懂,大家好好学习吧!!!
更多的优质内容,请点击以下链接查看哦~~
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
深入学习计算机组成原理文章体系
文章目录
- 架构回顾
- 主存储器的基本组成
- 运算器的基本组成
- 控制器的基本组成
架构回顾
我们上一节介绍的计算机组成架构主要是根据冯诺依曼的架构体系设计的,今天我们来对其内部的组件做一个深入的介绍。
主存储器的基本组成
首先来看主存储器:
组成部分
:
-
存储体
:由一系列的存储元件构成的,可以存放0或者1。 -
MAR(Memory Address Register)
:存储地址寄存器MAR是一个专门用于 存储主存储器地址 的寄存器。
当 CPU需要从主存储器中读取数据时,它将需要读取的内存地址写入MAR中。MAR将 指示主存储器中特定单元的位置,使得CPU能够准确地访问所需的数据。
-
MDR(Memory Data Register)
:存储数据寄存器MDR是一个用于 存储从主存储器中读取或写入的数据 的寄存器。
当 CPU从主存储器中读取数据时,该数据将被存储在MDR中;当 CPU向主存储器写入数据时,数据将首先被放入MDR中,然后 传输到相应的内存地址。
MAR和MDR之间的配合
通常是这样的:
- CPU通过将要访问的内存地址写入MAR,指示所需数据的位置;
- 然后,主存储器根据MAR中的地址提供相应的数据,将数据传输到MDR;
- 最后,CPU将从MDR中读取数据或将数据写入MDR,完成与主存储器的数据交互。
存储体的详解
:
存储体的大致结构是这个样子的。
以下是详细介绍:
存储单元
:每个存储单元存放一串二进制代码存储字
(word):存储单元中二进制代码的组合存储字长
:存储单元中二进制代码的位数存储元
:存储二进制的电子元件,每个存储元可存1bit
与前面的MDR和MAR结合使用:
- MAR=4位 ————> 总共有2^4个存储单元
- MDR=116位 ————> 每个存储单元可存放16bit,一个
字word
=16bit。
运算器的基本组成
接下来我们介绍运算器的基本组成:
运算器是用于 实现算术运算(加减乘除)和逻辑运算(与或非) 的计算机组件。
它有以下组成部分:
-
ACC
:累加器,用于存放操作数,或运算结果。 -
MQ
:乘除寄存器,在乘,除运算时,用于存放操作数或运算结果。 -
X
:通用的操作数寄存器,用于存储操作数。 -
ALU
:算术逻辑单元,通过内部复杂的电路实现算术运算,逻辑运算。运算器中的ALU通常由一组 逻辑门电路和寄存器组成。它接收来自控制器的指令和操作数,并执行相应的运算操作。ALU通过内部的电路逻辑和运算单元,在一个时钟周期内完成对操作数的处理,并将结果传递给寄存器或其他部件。
控制器的基本组成
控制器也是不可或缺的一部分:
CU(Control Unit)
:控制单元,分析指令,给出控制信号。IR(Instruction Register)
:指令寄存器,存放当前执行的指令。PC(Program Counter)
:程序计数器,存放下一条指令地址,有自动加一的功能。
计算机完成一条指令是由以下三个步骤完成的:
- 取指令(PC):先由程序计算器取下一条指令。
- 分析指令(IR):取出的指令放入指令寄存器当中。
- 执行指令(CU):最后由控制单元分析指令。