第1章计算机系统概论
1.1计算机系统简介
1.1.1 计算机软、硬件的概念
硬件:计算机的实体部分,看得见摸得着的各种电子元器件。
软件:由实现编制的具有各类特殊功能的程序组成,看不见摸不着。
1.1.2 计算机系统的层次结构
1.现代计算机的解题步骤:
2.计算机系统的层次结构:
一级层次:早期计算机只有机器语言(即用0、1代码表示的语言),用户必须用二进制0、1代码来编写程序(即机器语言)。
二级层次:符号式的程序设计语言,即汇编语言。它用符号ADD、SUB、MUL、DIV等分别表示作加、减、乘、除等操作,并用符号表示指令或数据所在存储空间的地址。
三级层次:高级语言,接近于人们使用习惯的语言,如FORTRAN、BASIC、PASCAL、C等。
四级层次:由于软件的发展,使实际机器M1向上延申构成了各种虚拟机器。
M1机器内部也可向下延申而形成下一级的微程序机器M0。
M0机器是直接将M1机器中每一条机器指令翻译成一组微指令,即构成一个微程序。
实际上,在实际机器M1与虚拟机器M2之间,还有一级虚拟机器,它是由操作系统软件构成的。
1.1.3 计算机体系结构和计算机组成
计算机体系结构(有无乘法指令):程序员所见到的计算机系统的属性,概念性的结构与功能特性(指令系统、数据类型、寻址技术、I/O机理)
计算机组成(如何实现乘法指令):实现计算机体系结构所体现的属性(具体指令的实现)
1.2 计算机的基本组成
1.2.1冯.诺伊曼型计算机
冯.诺伊曼提出了“存储程序”和“采用二进制编码”的思想、新型计算机五大组成部件和逻辑设计。
现代计算机都是建在冯.诺伊曼提出的“存储程序”和“程序控制”的理论基础上的。其特点是:
.计算机由五大部件组成
.指令和数据以同等地位存于存储器内,并可按地址寻访
.指令和数据用二进制表示
.指令由操作码和地址码组成
.指令按顺序存放,自动执行
.以运算器为中心
1.2.2计算机的硬件框图
冯.诺伊曼计算机硬件框图—以运算器为中心
输入设备:将信息转换成机器能识别的形式
输出设备:将结果转换成人们熟悉的形式
存储器:存放数据和程序
控制器:指挥程序运行
运算器:算数运算、逻辑运算
现代计算器硬件框图--以存储器为中心
现代计算机组成框图
现代计算机可认为由三大部分组成:CPU、I/O设备、主存储器MM(Main Memory) 。
CPU与MM合起来又可称作主机,I/O设备可叫做外部设备。
1.2.3计算机的工作步骤
1.上机前的准备
.建立数学模型
.确定计算方法
.编制解题程序
编程举例:计算a*x2+bx+c程序清单:
2.计算机的工作过程
ALU:Arithmetic logic unit ,算术逻辑单元
ACC:Accumulator,累加器
MQ:multiplier-quotient register,乘商寄存器
CU:Control Unit,控制单元
IR:Instruction Register,指令寄存器
PC:Program Counter,程序计数器
MAR: Memory Address Register,存储器地址寄存器
MDR:Memory Data Register,存储器数据寄存器
- 存储器的基本组成
存储体——存储单元——存储元件(0/1)
大楼——房间——床位(无人/有人)
.存储单元:存放一串二进制代码
.存储字:存储单元中二进制代码的组合
.存储字长:存储单元中的二进制代码的位数
.按地址寻访:每一个存储单元赋予一个地址号
MAR:存储器地址寄存器,反应存储单元的个数
MDR:存储器数据寄存器,反应存储字长
设 MAR=4位,MDR=8位
存储单元个数24,存储字长8
2.运算器的基本组成和操作过程
.包括3个寄存器(现代计算机内部往往设有通用寄存器组)和1个算术逻辑单元(ALU)
.ACC:累加器,MQ:乘商寄存器,X:操作数寄存器
.不同的运算,所存放的操作数类别各不相同
.加法操作过程
.减法操作过程
.乘法操作过程
.除法操作过程
- 控制器的基本组成
- 主机完成一条指令的过程
. 以取数指令为例
. 以存数指令为例
1.3 计算机硬件的主要技术指标
1.3.1机器字长
.CPU一次能处理数据的位数,与CPU中的寄存器位数有关。
.字长越长,数的表示范围也越大,精度也越高。
.机器字长也会影响机器的运算速度。如果CPU字长较短,又要运算位数较多的数据,需要经过两次或多次的运算才能完成,这样势必影响整机的运行速度。
.机器字长对硬件的造价也有较大的影响。
.直接影响加法器(或ALU)、数据总线以及存储字长的位数。
.机器字长的确定不能单从精度和数的表示范围来考虑。
1.3.2存储容量
.存放二进制信息的总数量
1.3.3运算速度
普通法
.用完成一次加法或乘法所需要的时间来衡量运算速度(早期使用、不合理
吉普森(Gibson)法
.综合考虑每条指令的执行时间以及它们在全部操作中所占的百分比
.TM为机器运行速度
.fi为第i种指令占全部操作的百分比数
.ti为第i种指令的执行时间
现代计算机的运行速度
CPI:Cycle Per Instruction,执行一条指令所需要的时钟周期数
MIPS:Million Instructions Per Second,每秒执行的百万条指令数
主频:每秒的时钟频率,即每秒产生多少时钟周期数
MIPS:主频/CPI
CPU的性能(CPU执行时间)取决于三要素:主频、CPI、指令条数
CPU执行时间=CPU的时钟周期数/主频=指令条数*CPI/主频