计算机系统
软件
高级语言
由编译器编译成汇编语言
汇编语言
将汇编语言翻译成机器语言
操作系统
用机器语言解释操作系统
硬件
机器语言
用微指令解释机器指令
微指令系统
由硬件直接执行微指令
冯诺依曼计算机以“存储程序”为基础
特点
五大组成部件
运算器
存储器
控制器
输入设备
输出设备
指令和数据以同等地位存于存储器,可按地址寻访
指令与数据用二进制表示
指令由操作码和地址码组成
操作码六位、地址码十位
指令在存储器内按顺序存放
以运算器为中心
问题
既然指令与数据以同等地位存于存储器,并都可以按地址寻访,那么如何区分从存储器中取出的是指令还是数据?
计算机的硬件框图
冯诺依曼计算机结构框图
典型的冯诺依曼计算机以运算器为中心
改进后以存储器为中心
现代计算机结构框图
硬件
主机
CPU
运算器
控制器
主存
存储器
I/O设备
辅存
存储器
输入设备
输出设备
现代计算器以存储器为中心
计算机的工作过程
组成
存储器
基本组成
MAR
存储器地址寄存器,反映存储单元的个数
地址寄存器用于存放欲访问的存储单元的地址,简称MAR,反映存储单元的个数,地址寄存器有n位,存储单元有2^n个
MDR
存储器数据寄存器,反映存储字长
数据寄存器用于存放从存储体某存储单元中取出的代码或准备往某存储单元存入的代码,简称MDR,其位数与存储字长相等;如数据寄存器的位数是8位,则存储字长的位数为8;
存储单元
用于存放一串二进制代码
每一个存储单元赋予一个地址号,按地址寻访
存储字
存储单元中二进制代码的组合
存储字长
存储单元中二进制代码的位数
存储容量
存储器内二进制信息的位数
设MAR=4位,MDR=8位,那么存储单元个数16,存储字长8,存储容量为16×8bit
运算器
运算器是计算机的数据处理中心,完成各种算术运算、逻辑运算、移位操作等功能;
ACC累加器
MQ乘商寄存器
X操作数寄存器
ALU算术逻辑单元
各种运算
加法
被加数和结果放在ACC累加器
加数放在X操作数寄存器
指令分为操作码和地址码,操作码表示为+,地址码代表的是加数,初态时累加器中存放有被加数,在累加器中操作完,就放在累加器
减法
被减数和结果放在ACC累加器
减数放在X操作数寄存器
乘法
乘积高位放在ACC累加器
乘数和乘积低位放在MQ乘商寄存器
被乘数放在操作数寄存器X
初态时,ACC中存放被乘数,将指令中指向的乘数存放到MQ乘商寄存器中,将ACC中的被乘数放到X操作寄存器中,给ACC赋值为0,X操作寄存器中的被乘数与MQ乘商计算值中的值通过算术逻辑单元进行乘法运算,最后乘积高位放在ACC寄存器中,乘积低位放在MQ乘商寄存器中
除法
被除数和余数放在ACC累加器
商放在MQ乘商寄存器
除数放在X操作数寄存器
初态时,ACC中存放被除数,将指令地址码指向的除数存储到X操作数寄存器中,通过ALU算术逻辑单元进行除法操作,余数放在ACC中,商在MQ乘商寄存器中;
控制器
控制指令的读出、解释和执行,中断事件的处理等等
组成
指令部件
程序计数器PC
存放当前待执行指令所在地址
指令寄存器IR
寄存当前的执行指令
执行指令来自主存的MDR数据寄存器
指令译码器ID
解释现行指令,产生相应的控制电位
时序部件
产生计算机运行所需的时序信号
微操作信号发生器
产生执行指令的微操作控制信号
工作流程
程序是有序指令的集合,用来解决某一特定问题
完成一条指令
取指令
PC存放当前欲执行指令的地址
具有计数功能
分析指令
IR存放当前欲的指令
执行指令
计算机的工作过程就是周而复始的取指令、分析指令、执行指令的过程
以取数指令为例
取指令
将PC程序计数器中的欲执行指令的地址传递到MAR存储器地址寄存器中
根据MAR存储器地址寄存器指定存储器的存储单元
将存储单元中的指令送至MDR存储器指令寄存器
将MDR存储器指令寄存器中的指令传递到IR指令寄存器中
分析指令
将IR指令寄存器中的操作码送至指令译码器,分析操作码
执行指令
根据MAR存储器地址寄存器的地址,指定存储器的存储单元K
将存储体中的数据传递到MDR
将MDR中的数据传递至ACC
CPU一次能处理的数据的位数,通常与CPU中寄存器的位数有关
字长位数越多,精度越高,运算速度也越快
字长通常是8的整数倍,使能存放整数个字符的编码,例如字长为8、16、32、64位等等
存放二进制信息的总位数
主存容量
存储单元个数×存储字长
字节数
辅存容量
字节数
衡量方法
平均运算速度Vm——指令平均运算速度
计算机每秒钟执行指令的条数
单位:MIPS,百万条指令每秒
求法:先求平均运算时间——平均指令周期T,然后得出平均运算速度为1/T
每秒浮点运算次数FLOPS
每秒所执行的浮点运算次数
觉得这样看着不舒服的可以私聊我要一下思维导图;