二、计算机系统概论
1.计算机系统简介
1.1 计算机系统的软硬件概念
计算机系统是由软硬件组成,软件与硬件之间由操作系统连接。
硬件:
运算器ALU、控制器CU、存储器、输入设备、输出设备
软件:
系统软件、应用软件
1.2 计算机系统的层次结构
1.3 计算机组成原理和计算机体系结构
计算机体系结构:偏概念、属性
计算机组成原理:计算机如何计算实现计算机体系结构实现的属性,偏硬件。
2.计算机的基本组成
2.1 计算机的组成
典型的冯.诺伊曼计算机是以运算器为中心的,但是现代计算机已经转换为以存储器为中心。
运算器:完成逻辑运算和算术运算,并将运算的结果暂时存放在运算器中
存储器:用来存放数据和程序
控制器:用来控制、指挥程序和数据的输入输出以及运算结果的处理
输入设备:把外界信息转换为机器所能识别的信息,比如键盘、鼠标
输出设备:把机器计算出的结果转成人能识别的信息形式,比如显示器、打印机输出。
2.2 计算机工作原理
1.上机前的准备
- 建立数学模型
- 确定计算方法
- 编写程序(机器指令)
机器指令=操作码(6位)+地址码(10位)
运算器:
ACC:Accumulator,累加寄存器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。
ALU:Arithmetic Logic Unit,算术逻辑运算单元,为运算器的核心部件,其功能是进行算术、逻辑运算。
MQ:Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。
X:此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;
控制器:
PC:Program Counter,程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址。
IR:Instruction Register,指令寄存器,其功能是存放当前正在执行的指令。
CU:Control Unit,控制单元(部件),为控制器的核心部件,其功能是产生微操作命令序列。
主存储器:
MAR:Memory Address Register,存储器地址寄存器,在主存中用来存放欲访问的存储单元的地址。
MDR:Memory Data Register,存储器数据缓冲寄存器,在主存中用来存放从某单元读出、或要写入某存储单元的数据。
I/O:
Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送。
3. 计算机系统结构的分类方法之一-Flynn分类法
- 指令流:机器执行的指令序列
- 数据流:指令调用的数据序列
Flynn按照数据流和指令流的不同组织方式,将计算机系统结构分为四类
4.指令系统
4.1 指令的基本概念
指计算机执行某种操作的命令,是计算机运行的最小功能单位。
一台计算机的所有指令的集合叫指令系统或指令集。
一台计算机只能执行自己指令系统中的指令,不能执行其他系统的指令。
4.2 指令的格式
一条指令就是一句机器语言,是一组有意义的二进制代码。
一条指令=操作码字段+地址码字段
操作码:用户要做什么,停机中断、求反求补、加减乘除等
地址码:存放操作地址和操作结果的地址,从地址结果角度考虑,指令可分为三地址指令、二地址指令、一地址指令、零地址指令。
4.3 常见数据寻址方式
采用不同的寻址方式的目的是找到操作数。
将地址的前四位提出来作为寻址特征,区分寻址方式。
4.3.1立即寻址方法
形式地址A就是操作数本身,又称为立即数,一般采用补码形式,#是特征
一条指令的执行:
取指令访存1次,执行指令访存0次(因为取指令时候一起将操作数取到)
优点:指令执行阶段不访问主存,指令执行时间短
缺点:A的位数限制了立即寻址的范围。如A的位数为n,且立即数采用补码时,可表示-2n-1~2n-1-1
4.3.2直接寻址方式
形式地址A存放是操作数的地址EA,A=EA
取指令访存1次,执行指令访存1次(不考虑存结果)
优点:简单,指令执行只访一次主存,不需要计算操作数的位置。
缺点:A的位数限制了操作数的寻址范围。
4.3.3间接寻址方式
形式地址A存放的是操作数的地址的地址,A=(A)
取指令 存访2次
执行指令 存访2次(不考虑存放结果,取指令,取出新地址,取出新地址所对应的值(操作数))
缺点:多次访问
优点:扩充了寻址范围
如果是 一次间接寻址 形式地址存放就是操作数的地址
4.3.4寄存器寻址方式
形式地址存放的是操作数所在的寄存器的编号,EA=Ri。寄存器里面存放操作数。
一条指令的执行:取指令访存1次,执行指令访存0次。
优点:指令执行阶段不访问主存,访问寄存器、指令字短、执行速度快、可以支持向量\矩阵运算
缺点:寄存器价格贵,计算机内部寄存器数量有限
4.3.5 寄存器间接寻址方式
形式地址存放的是寄存器的编号,指定编号的寄存器里存放的又是操作数在主存单元存放的地址。EA=(Ri)
一条指令的执行:
取指令访存1次;执行指令访存1次。
特点:比一般间接寻址快,
4.3.6 相对寻址
相对寻址:把程序计算器的内容PC+形式地址A形成操作码的有效地址。
EA=(pc)+A,A是相当于PC所指地址的偏移量,也就是下一条指令与操作数之间的相对距离。可正可负,用补码表示。
当前指令地址1000,若当前指令字长为2B,则pc+2。
4.3.7 变址寻址
变址寻址:有效地址EA=形式地址A+变址寄存器IX的内容相加。EA=(IX)+A
变址寻址是面向用户的,在程序执行过程中,变址寄存器的内容可由用户改变(IX作为偏移量),形式地址A不变(作为基地址)
操作数地址等于变址寄存器的内容加偏移量。
CISC
是指增强原有指令的功能,设置更为复杂的新指令实现软件功能的硬化,这类计算机称为复杂指令系统计算机(Complex Instruction Set Computer)
RISC
减少指令的种类和简化指令的功能,旨在提高指令的执行速度,这类计算机称为精简指令系统计算机(Reduced Instruction Set Computer)