早期冯诺依曼机器
( 首次提出“存储程序”概念 )
特点:
- 计算机由5大部件组成
- 指令和数据以同等地位存于存储器,可按地址寻访
- 指令和数据用二进制表示
- 指令由操作码和地址码组成
- 存储程序
- 以运算器为中心
现代计算机的结构
现代计算机是以存储器为中心 , CPU = 运算器 + 控制器
计算机组成原理中的主机和生活中所了解的主机是不同的。
这里的主机指的是 CPU + 主存储器
结构可表示为:
冯诺依曼结构与现代计算机结构的主要区别在于:
- 冯诺依曼结构是以运算器为中心
- 现代计算机结构是以存储器为中心
主存储器的基本组成
存储地址寄存器(Memory Address Register)、存储数据寄存器(Memory Data Register)、存储体
存储单元:每个存储单元存放一串二进制代码
存储字(word):存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数
存储元:即存储二进制的电子元件,每个存储元可存1bit
- MAR的位数与存储单元的个数相关,如果为 n 位,则有 2^n^ 个存储单元
- MDR的位数与存储字长有关,如果为 n 位,则可以存放 n bit (此时即 1 word = n bit)
大概的运行过程是:MAR得到地址,从存储体中获取到相映地址的数据,暂存到 MDR 中。
运算器的基本组成
ACC: 累加器,用于存放操作数,或运算结果
MQ: 乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。
X: 通用的操作数寄存器,用于存放操作数。
ALU: 算数逻辑单元,通过内部复杂的电路实现算术运算、逻辑运算。
加 | 减 | 乘 | 除 | |
---|---|---|---|---|
ACC | 被加数、和 | 被减数、差 | 乘积高位 | 被除数、余数 |
MQ | 乘数、乘积低位 | 商 | ||
X | 加数 | 减数 | 被乘数 | 除数 |
控制器的基本组成
**CU**(Control Unit):控制单元,分析指令,给出控制信号
**IR**(Instruction Register):指令寄存器,存放当前执行的指令
**PC**(Program Counter):程序计数器,存放下一条指令的地址,有自动加 1 的功能
计算机工作的过程
int main(){
int a=3,b=2,c=1,y=0;
y=a*b+c;
}