CPU根据不同的指令周期来区分以二进制形式存放的指令和操作数
计算机的机器字长不固定,可能是8\16\32
8位计算机:每次可以处理8位二进制数
16位表示地址:可以存储216个地址
冯诺依曼机:
主机(CPU/主存储器) CPU(运算器/控制器)
外设(IO设备/辅存储器) IO设备(输入设备/输出设备)
MAR(地址寄存器):放地址,位数与PC长度相等
MDR(数据寄存器):放数据,位数与存储字长相等
PC(程序计数器):放当前欲执行指令的地址
IR(指令寄存器):存放当前的指令
OP():取操作码
Ad():取地址码
M(MAR):取存储单元中的数据
(ACC)…:取相应寄存器中的数据
PC、状态寄存器、通用寄存器程序员可见,不透明
IR、MAR、MDR在CPU内部,程序员不可见,透明
运算器的核心是算术逻辑单元(ALU)
程序运行流程:
编译链接:源程序(编译程序)→汇编(汇编程序)→目标程序(链接程序)→可执行程序,运行快
解释程序:解释一句后就提交计算机执行一句,运行慢
寄存器对汇编不透明,汇编程序员可以对寄存器进行操作
实际软件的运行情况全面代表计算机性能
指令系统向后兼容指时间上向后兼容,即后面得系统可以使用前面系统的指令
软件和硬件逻辑上是等效的而非等价的
相联存储器(按内容寻址的存储器):可按内容寻址,也可按地址寻址。
CPU时钟周期=1/主频,主频:每秒能有多少个时钟周期,通常以Hz为单位,1Hz表示每秒1次
CPU执行时间=CPU时钟周期数/主频=(指令条数 x CPI)/主频
CPI(Clock cycle Per Instruction),执行一条指令所需要的时钟周期数
CPI=TC/IC (IC[instrution counter]表示某个程序的所有指令的条数;tc表示执行某个程序所花费的时钟周期)
时钟频率不会影响CPI,时钟频率快了,指令还是要这么多时钟频率才能完成,只不过完成的时间缩短了,但需要消耗的时钟频率是不变的,CPI和系统结构、指令集、计算机组织有关
标志系统性能的是综合数据如MIPS(每秒执行多少百万条指令)、MFLOPS(每秒执行多少百万次浮点运算)等,而不单是时钟频率、主存容量之类的,如果是科学计算为主的计算机就是MFLOPS,因为科学计算主要以浮点型运算为主。
MIPS=主频/CPI