主存储器
主存储器分为三部分:存储体 + RAM + ROM
从主存储器读取数据操作:CPU将地址发送给RAM,RAM根据地址在存储体中找到对应地址的数据,之后将数据传递给ROM,之后ROM将数据返回给CPU。
从主存储器写入数据操作:CPU将地址和数据分别传递给主存储器中的RAM和ROM,之后将数据写入存储体对应的地址。
存储体结构
运算器
ACC MQ X 都是存储数据的,ACC是累加器,MQ是乘商寄存器,X是通用寄存器。
ALU是算术逻辑单元。
控制器
CU是控制单元,是控制器的核心,加减乘除操作由他管理。
IR是指令寄存器,存放当前执行的指令。
PC是程序计数器。
计算机的工作过程
高级语言会被转化成机器语言,存放到主存储器中。
- 执行第一条指令
最开始PC的值是0,PC将地址0传递给MAR,MAR之后会到存储体中找到地址是0的数据,之后将数据传递给MDR,这个数据本质上就是指令,然后MDR将这个指令传递给IR,此时IR中有了这个指令,之后IR将指令的操作码传递给CU,CU分析之后,知道了这是一个“取数”的指令,之后IR将指令的地址码传递给MAR,经过一系列操作,将数据传递给MDR,最后MDR将数据存储到ACC中。
- 执行第二条指令
区别在于:
MDR得到的数据会存储到MQ中,然后将被乘数从ACC中转移到X中,之后经过ALU进行乘法操作,将MQ和X中的数据相乘,最后将乘积存储到ACC中。
- 执行第三条指令
加法指令:MDR中的数据相当于是加数,加数存储到X寄存器中,被加数存储在ACC中,之后两数进行加法运算。
计算机系统的层次结构
java等高级语言会抓变成汇编语言,如果程序中调用了系统的库函数的话,会经过系统调用,之后会变成机器语言,机器语言会变成为微程序机器语言。