计算机系统 = 硬件 + 软件
intel创始人摩尔提出,集成电路上可容纳的晶体管数目,大约每隔18个月就会提升一倍,性能也随之提升一倍
1、微型计算机向着更微型化、网络化、高性能、多用途方向发展
2、巨型机向着更巨型化、超高速、并行处理、智能化方向发展
存储程序:将指令以二进制代码的形式实现输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束
计算机中,软件和硬件在逻辑上是等效的
冯诺依曼计算机的特点:
1、计算机由五大部件组成
2、指令和数据以同等地位存于存储器、可按地址寻访
3、指令和数据用二进制表示
4、指令由操作码和地址码组成
5、存储程序
6、以运算器为中心
现代计算机的特点**:以主存储器(内存)为中心**
存储体:由一个个存储单元组成,存储单元地址从0开始,大小和MDR一样
MAR(Memory Address Register):存储地址寄存器
MDR(Memory Data Register):存储数据寄存器
ACC(Accumulator):累加器,用于存放操作数,或运算结果
MQ(Multiple-Quotient Register):乘商寄存器,在乘除运算时,用于存放操作数或运算结果
ALU(Arithmetic and Logic Unit):算数逻辑单元,通过内部复杂电路实现算数运算、逻辑运算,运算器的核心部件
X:通用的操作数寄存器,用于存放操作数
CU(Contol Unit):控制单元,分析指令,给出控制信号
IR(Instruction Register):指令寄存器,存放当前执行的指令
PC(Program Counter):程序计数器,存放下一条指令地址,有自动加一功能
有c语言程序如下:
int a = 2,b = 3,c = 1,y = 0;
void main(){
y = a * b + c;
}
编译后装入主存:
1、根据PC(程序计数器)中存放的下一条指令地址,从主存中获取指令(操作码和地址码)放到IR(指令寄存器)中
2、然后IR将指令的前6个bit(操作码)发送到CU(控制单元),CU对指令进行分析
3、000001)是一个取数指令,通过地址码到主存中取到相应的操作数放到ACC(累加器)中
4、(000100)是一个乘法指令,通过地址码到内存中取到另一个乘数放到MQ(乘商寄存器)中,再将ACC中的值放到X(通用寄存器)中,然后CU控制ALU(算术逻辑单元)进行乘法运算,ALU将X和MQ中存储的两个数进行乘法运算并将结果放到ACC中(如果结果过大,则使用MQ辅助存储)