计算机系统的基本概念
1. 计算机系统简介
计算机系统层次:
- 高级语言---->汇编程序
- 汇编语言---->机器程序
- 操作系统
- 一条机器指令对应一个微程序,将机器指令翻译成若干条微指令
- 硬件执行微指令
2. 计算机的基本组成
冯诺依曼计算机的特点:
- 由五大部件组成:
- 指令和数据以同等地位存于存储器中,可按地址寻访
- 指令和数据用二进制表示
- 指令 = 操作码 + 地址码
- 提出存储程序
- 运算器为中心
但是现代计算机不一定都满足上述特点:
- 某些部件进行合并
- cache中指令和数据在不同存储器中,按内容寻访 …
问题:
- 以运算器为中心
- 层次不清
改进:
- 以存储器为中心
- 现代计算机硬件框图
3. 计算机的工作步骤
数据都已存在了存储器中,
- 要有取数指令将x放到运算器的累加器ACC中,
- 再进行乘法指令由累加器中的数据和存储器中的a相乘
指令格式:
1.存储器的基本组成
- 存储体是大楼,存储单元是一个个房间,存储元件是房间中的若干个床位
- 存储元件只有0、1两种状态
- 存储单元:房间里所有床位
- 存储字:存储单元中0、1的组合(房间里所有床位有无人的组合)
- 存储字长:存储字的长度
- 每个存储单元被赋予一个地址号,然后根据这个地址号来寻访这个存储单元
- 主存中除了存储体外还有寄存器(MAR、MDR)
- MAR:保存存储单元的地址或编号。MAR存储的位数反应存储单元个数:位数能形成多少个不同的地址如4位能形成2的4次方个不同地址,所以存储单元有16个
- MDR:保存从存储体取出的数据或要存入存储体的数据。它的位数反应了存储字长。如下图长方体
2. 运算器
-
运算器完成算术、逻辑运算,核心部件为ALU
-
为了能够对运算数据进行保存,于是在运算器中添加了两个寄存器ACC、X用来保存参与运算的数据,ACC还用来保存运算后的结果
-
由于乘法运算相乘后位数变多、除法运算会有商和余数,所以还需要一个寄存器MQ保存乘法结果的低位和商,也叫乘商寄存器(保存乘数和商)
-
加法过程:
一个加数经过取数指令放在ACC中
执行加法指令,根据指令中的地址码M到存储器中找到另一个加数放入X中
两个加数在ALU中完成加运算
将结果保存到ACC中
-
乘法过程
乘法在ALU中是通过累加和移位来完成的
一个乘数开始是在ACC中,另一个放在MQ中,但两数要进行乘法运算,需要将ACC中的乘数放到X中
需要将累加的操作数存到ACC中,所以还需要对ACC设为0
最后将结果高位放到ACC中,低位放到MQ中
3. 控制器
功能:解释指令、保证指令的按序执行
完成一条指令(解释指令)分三步:
- 取指令:在PC中根据欲执行指令地址取出指令
- 将取出的指令放到IR(指令寄存器)中,分析操作码、地址码
- 在CU控制下按序执行指令,CU根据IR中的操作码和地址码到存储体中取数据
4. 完成指令的过程
4. 计算机的技术指标