现代计算机硬件的五大组成部分:
运算器 ALU
控制器 CU
存储器 主存和辅存
输入设备
输出设备
其中运算器和控制器构成CPU,CPU和存储器构成主机,输入设备和输出设备构成IO设备
复杂系统的管理方法:
层次化:将复杂系统进行模块的分割
模块化:各个子模块有明确的功能和接口
规则化:各个子模块容易重用
指令格式:操作码+地址码
存储器
存储器中保存着机器的指令,数据等。
存储器的基本组成:存储体、MAR和MDR。
存储体由一个个的存储单元组成,每个存储单元存放着一串二进制代码,一个存储单元存储着一个存储字,存储字的长度称为存储字长,为每个存储单元赋予一个地址,存储单元的访问是根据地址来进行访问的。
MAR(存储器地址寄存器) 反映存储单元的个数。
MDR(存储器数据寄存器) 反映存储字长,MDR保存着刚从存储器中取出来要送至CPU的数据,或者是刚从CPU搬运过来,即将放入存储单元的数据,因此MDR的长度就是存储字长。
打个比方,比如现在MAR=4,MDR=8,代表着这个存储器中有2^4 = 16个存储单元,每个存储单元中的数据长度为8位。
运算器
ALU(算数逻辑单元,运算器的核心)
ACC(累加寄存器)
X(寄存器)
MQ(寄存器)
控制器
控制器的功能:解释指令,保证指令按序执行
完成一条指令包含三个步骤:取指令,分析指令和执行指令
取指令这一步骤需要用到PC(程序计数器),保存着当前要执行的指令的地址
分析指令需要用到IR(指令寄存器),IR存放着当前欲执行的指令
执行指令的部分使用的是CU
主机完成一条指令的过程
以取数指令为例
1、取指令:首先把PC保存的地址送到MAR,MAR送到存储体,把指令取出后存到MDR,然后MDR把数据送到IR
2、分析指令:把IR寄存器中的指令送到CU,由CU进行分析
3、执行指令:由于这里的指令是取数指令,IR寄存器中数据保存着目标数的地址,所以由IR开始,将地址送到MAR,然后MAR送至存储体,然后存储体把数据送到MDR,再把数据从MDR送至ACC寄存器。
以存数指令为例:
前两步和前面一样
3、IR寄存器中要保存的目标地址送到MAR,然后MAR送至存储体,告知即将有数据存储在该地址,之后ACC把数据送到MDR,再把数据从MDR送到存储体。