计算机组成原理
概论
高级语言 又称算法语言,面向解决实际问题所用的算法,瞄准处理问题和解题过程的程序
汇编语言 是对计算机机器语言进行符号化处理的结果,再增加一些方便程序设计而实现的扩展功能 在汇编语言中,可以用英文或缩写替代二进制的指令代码,更容易记忆和理解
机器语言 是计 算机硬件能直接识别和运行的指令的集合,是二进制码组成的指令 程序最小的执行单元是指令。
翻译程序 将高级语言翻译成机器语言程序的软件
- 编译程序 将用户编写的高级语言程序的全部语句一次全部翻译成机器语言程序
- 解释程序 将源程序的一条语句翻译成对应于机器语言的一条语句,并且立即执行
计算机体系结构 是指那些能够别程序员所见到的计算机系统属性,即概念性的结构和功能特性
计算机组成 是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说透明的硬件细节
冯·诺依曼计算机
- 计算机由运算器、存储器、控制器、输出和输入五设备五大部件组成
- 指令和数据以同等地位存放在存储器内,并可以按地址寻访
- 指令和数据均用二进制数表示
- 指令有操作码和地址码组成,操作码用来表示操作的属性,地址码用来表示操作数在存储器中的位置 (在操作数这个字段中可以放操作数本身,也可以放操作地址,还可以放操作地址的计算方法)
- 指令在存储器内按顺序存放,通常指令是顺序执行的,在特定的条件下,可以根据运算结果或设定的条件改变执行顺序
- 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成(所以有了总线)
CUP Central Processing Unit
ALU Arithmetic Logic Unit 算术逻辑单元,用来完成算术逻辑运算
- ACC Accumulator 累加器
- MQ Multiplier_Quotient Register 乘商寄存器
- X 操作数寄存器
CU Control Unit 控制单元 用来解释存储器中的指令,并发出各种操作命令来执行指令
- PC Program Counter 用来存放当前欲执行的指令地址,和MAR有通路
- IR Instruction Register 用来存放当前指令,从MDR中读取到的指令
- CU Control Unit 用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用以控制所有被控制的对象
一条指令执行包括三个过程:取址、分析、执行
- 取址:命令寄存器读出一条指令
- 分析:对指令分析,指出该完成什么操作,并按照寻址特征指明操作数的地址
- 执行:根据操作数所在的地址以及指令的操作码完成某种操作
MM Main Memory
- MAR Memory Address Register 存储器地址寄存器:用来存放访问单元的地址,位数代表存储单元的个数。
- MDR Memory Data Register 存储器数据寄存器:用来存放从存取体某单元取出的代码或者准备往某存储体存入的代码
现在的CPU中集成了MAR和MDR
机器字长 指CPU一次能够处理数据的位数,通常与寄存器的位数有关
存储容量 = 存储单元个数(MAR) × 存储字长(MDR)
运算速度 用单位时间内执行命令的平均条数来衡量,并用MIPS(Million Instruction Per Second)作为计量单位
CPI Cycle Per Instruction 执行一条指令所需要的的时钟周期(机器主频的导数)
FLOPS Float Point Operation Per Second 每秒浮点运算次数
总线
单总线多总线之间的变化: