前言:学习计算机组成原理之各个部件的工作原理
主存储器
存储体
主存储器中用于存放数据的是存储体,存储体保存许多的存储单元
存储单元又包含了许多的存储元件(或称存储基元、存储元),每个存储元件能寄存一位二进制代码
一个存储单元能存储一串二进制代码,这串二进制代码为一个存储字
这一串二进制代码中的二进制的位数我们称为存储字长(常见字长为16位、32位、64位)
存储单元:每个存储单元存放一串二进制代码
存储字(word):存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数(通常是8bit的整数倍)
存储元:即存储二进制的电子元件,每个存储单元可存1bit
MAR(Memory Address Register)存储地址寄存器
用于存放欲访问的存储单元的地址,其位数对应存储器单元的个数(如RAM位数为10位,则存储单元的个数为2^10^个,也就是1024个存储单元,记为1K),其位数与存储字长相等
MDR(Memory Address Register)存储数据寄存器
用于存放从存储体某单元取出的代码或者存放准备存入存储体的代码,其位数与存储字长相等
易混淆:1个字节(byte) = 8bit
1B = 1个字节,1b = 1个bit
运算器的基本组成
用于实现算数运算、逻辑运算
ACC(Accumulator)累加器
存储算数运算的操作数,同时也用于存放运算的结果
MQ(Multiplier-Quotient Register)乘商寄存器
存储乘法运算的结果和除法运算的余数,只有在乘除法运算中才有使用
当进行运算后的数据很大,ACC已经放不下的话,MQ会辅助存储数据(存储乘法运算的低位)
X通用操作数寄存器
用于存放操作数
ALU算数逻辑单元(核心)
通过内部复杂的电路实现算数运算,逻辑运算
加减乘除操作
==注意:不同机器的运算器结构是不同的。本文中的运算器可将运算结果从ACC当中送至存储体中的MDR中,而存储体的操作数也可以从MDR中送存至运算器中的ACC、MQ和X。但有的机器用MDR取代X寄存器==
控制器的基本组成
CU(Control Unit)控制单元
分析指令,给出控制信号
IR(Instruction Register)指令寄存器
存放当前执行指令
PC(Program Counter)程序计数器
存放下一条指令地址,有自动加1功能
完成一条指令有三个步骤:取指令、分析指令、执行指令;分别与PC、IR、IU有关