1. 计算机系统由软件和硬件两部分组成
-
软件分为
- 系统软件 :主要来用管理整个计算机系统,使资源得到合理调度,高效运行
- 应用软件 :用户根据任务编写的程序
-
层次结构
计算机的解题过程
源程序 -----> 翻译成机器语言程序 -----> 运行 ---> 输出结果-
一级结构 :用机器码去编写程序
二级结构 :汇编的发展
符号代替指令 或者 数据所在存储单元的地址
M2被称为虚拟机
- 三级结构 :高级语言的出现
将高级语言翻译成机器语言程序的软件称为翻译程序。
翻译程序有两种 :编译程序 和 解释程序
编译程序是将用户编写的高级程序语言程序(源程序)的全部语句一次全部翻译成机器语言程序
解释程序是将源程序的一条语句翻译成对应于机器语言的一条语句,并且立刻执行,接着翻译下一条
-
四级结构 :不难看出软件的发展,使实际机器M1 向上延伸构成了各种虚拟机机器,同理M1内部也可以向下延伸而形成下一级的微程序M0。机器M0是直接将机器M1中的每一条指令翻译成一组微指令,即构成一个微程序。
-
多级层次结构
-
计算机的基本组成
冯诺依曼 计算机特点- 计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成。
- 指令和数据以同等地位存放于存储器内,并可按地址寻访。
- 指令和数据均用二进制表示。
- 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来操作数在存储器中的位置。
- 指令在存储器中按顺序存放。
-
机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。
- 运算器用来完成算术运算和逻辑运算,并将运算的结果暂存在运算器内。
- 存储器用来存放数据和程序。
- 控制器用来控制、指挥程序和数据的输入、运行以及处理运算结果。
- 输入设备用来将人们熟悉的信息转换为机器能识别的信息形式,常见的有键盘、鼠标等。
-
输出设备可将机器运算结果转换为人们熟悉的信息形式,如打印机输出、显示器输出等。
由于运算器和控制器在逻辑关系和电路结构上联系十分紧密,尤其在大规模集成电路制作工艺出现后,这两大部件往往集成在同一芯片上,因此,通常将它们合起来统称为中央处理器(Central Processing Unit,CPU)。把输入输出设备简称为 I/O 设备(Input/Output Equip-ment)。
现代计算机可认为由三大部分组成:CPU、I/O设备、主存储器
CPU与主存储器合起来可称为主机,I/O设备又可称为外部设备。
- 算术逻辑单元ALU,用来完成算术逻辑运算
- 控制单元(Control Unit,CU)用来解释存储器中的指令,并发出各种操作系统命令来执行指令。
ALU、CU 是CPU的核心部件
- I/O 设备也受CU控制,用来完成相应的输入、输出操作。
-
计算机的工作步骤
- 解题过程
可以用指令来描述
一般指令为16位,不同机器可能是不一样的
前6位为操作码 后10位为地址码
-
工作过程
- 主存储器 :简称(主存或者内存)由存储体M、各种逻辑部件及控制电路组成。
- 存储体由许多存储单元组成
- 存储单元由许多存储元组成
- 存储元里面可以存放1或者0
- 存储字长可以是8位、16位、32位等
- MAR(Memory Address Register)是存储器地址寄存器,用来存放准备访问的存储单元地址,其位数对应存储单元的个数
- MDR(Memory Data Register)是存储器数据寄存器,用来存放从存储体某单元取出的代码或准备往某存储单元存入的代码,其位数与存储字长相等
- 运算器
-
最少包含3个寄存器和一个算术逻辑单元
-
- 控制器 :由程序计数器(Program Counter,PC)、指令寄存器(Instruction Register,IR)、控制单元(CU)组成
- PC用来存放当前欲执行指令的地址。(它与主存的MAR之间有一条直接通路,且具有自动加1的功能,即可自动形成下一条指令的地址。)
- IR用来存放当前的指令,IR的内容来自主存的MDR。
- IR中的操作码(OP(IR))送至CU,记做OP(IR)-> CU,用来分析指令。
- 其地址码(Ad(IR))作为操作数的地址送至存储器的MAR,记做Ad(IR)-> MAR。
- CU用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用于控制所有被控对象。
- I/O
- I/O子系统包括各种I/O设备及其相应的接口
- I/O设备都由I/O接口与主机联系
- 它接受CU发出的各种控制命令,并完成相应的操作
- 主存储器 :简称(主存或者内存)由存储体M、各种逻辑部件及控制电路组成。
- 解题过程
-
机器字长
- 机器字长是指CPU一次能处理的位数,通常与CPU的寄存器位数有关。字数越长,数表示的范围越大,精度也越高。
- 机器字长对硬件造价也有较大的影响。它将直接影响加法器、数据总线、存储字长的位数
-
存储容量
- 存储容量 = 主存容量 + 辅存容量
- 主存容量 = 主存中存放二进制代码的总位数(= 存储单元个数 × 存储字长)
- MAR的位数反映了存储单元的个数,例如:16位,2^16 = 65536,表示有65536个存储单元,即64K
- MDR的位数反映了存储字长,例如字长为32位。
- 存储容量 = 2^16 × 32 = 2^21 = 2M位
-
运算速度
- 速度与 主频、执行什么样的操作、主存本身的速度(取指、取数快)等有关
- 采用吉普森法
Tm = ∑(i=1……n)fi ti - fi 为第i种指令占全部操作的百分比
- ti 为第i种指令的执行时间
- Tm为机器运行速度
- 采用吉普森法
- 现代机器的运算速度普遍采用单位时间内执行指令的平均条数来衡量,并用MIPS(Million In-struction Per Second,百万条指令每秒)作为计量单位。或用FLOPS(Floating Point Operation Per Second,浮点)
- 速度与 主频、执行什么样的操作、主存本身的速度(取指、取数快)等有关