基本概念
计算机系统的组成
1)计算机系统由”硬件”和”软件”两大部分组成;计算机性能的好坏,取决于软件和硬件功能的总和;
2)硬件:计算机系统的实体部分,由看得见摸得着的电子元件组成;
3)软件:事先编制的具有特定功能的程序;
4)固件:将某种特定功能的软件持久化到只读存储器中;
5)计算机软件通常可以分为两类:系统软件和应用软件;
6)系统软件:用来对整个计算机进行调度、管理、监视及服务的各种软件;
7)应用软件:用户在各自系统中开发和应用的各种程序;
机器字长
1)CPU一次能够处理的数据的位数,和CPU寄存器的位数相关;
2)字长越长,数的表示范围越大,精度越高;
3)字长越短,统一操作需要运算的次数可能会增加,故字长会影响机器的运算速度;
4)直接影响ALU、数据总线宽度、存储字长的位数;
区别:机器字长,指令字长,存储字长
机器字长:CPU一次能处理的数据的位数;
指令字长:机器指令二进制代码的总位数;
存储字长:存储单元中存放二进制代码的总位数;
存储容量
1)包括主存容量和辅存容量;
2)主存容量:主存中存放二进制代码的总位数;即:
$$ 存储容量=存储单元个数*存储字长 $$
3) 主存中MAR的位数反映了存储单元的个数;MDR的位数反映了存储字长;
运算速度
Gibson法
考虑每条指令的执行时间以及指令在全部操作中的占比;求加权平均数;
$$ T_m=\sum_{i=1}^{n}f_{i} t_{i} $$
$T_{m}$:机器的运行速度;
$F_{i}$:第i种指令占全部操作的百分比数;
$T_{i}$:第i中指令的执行时间;
MIPS
MIPS(Millon Instruction Per Second,百万条指令每秒):单位时间内执行指令的平均条数;
CPI
CPI(Cycle Per Instruction):执行一条指令所需要的时钟周期,机器主频的倒数;
FLOPS
FLOPS(Floating Point Operation Per Second):每秒浮点运算次数;
问:计算机体系结构和计算机组成原理的区别?
计算机体系结构,属于What,描述计算机概念性的结构和功能;
计算机组成原理,属于How,描述如何实现计算机体系结构所描述的结构和功能;
计算机系统的组成
多层结构计算机系统
冯·诺依曼计算机结构特点(运算器为中心的计算机结构)
1) 计算机由运算器,存储器,控制器,输入设备,输出设备五大部分组成;
2) 指令和数据以同等的地位存放于存储器内,并可按地址寻访;
3) 指令和数据均用二进制数表示;
4) 指令由操作码和地址码组成;操作码表示操作类型;地址码表示操作数在存储器中的位置;
5) 指令在存储器中按顺序存放;通常,指令是顺序执行的,特定条件下,可根据运算结果/设定条件改变执行顺序;
6) 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成;
总结:冯·诺依曼计算机基于存储程序原理(数据和程序都以等同的地位存放到存储器中),特点是按照地址访问并顺序执行指令;
存储器为中心的计算机结构
问:以运算器为中心和以存储器为中心有何异同?
相同点:各个设备的操作都由控制器统一调度;
不同点:数据流向不同,以控制器为中心的计算机,外设和存储器的数据交互由运算器进行中转;而以存储器为中心的计算机,外设和存储器的数据交互无须经过运算器中转;
计算机硬件设备功能
1)运算器:用来完成算数运算和逻辑运算,暂存中间运算结果;
2)存储器:用来存放数据和程序;
3)控制器:用来控制程序和数据的输入、运行,处理运算结果;
4)输入设备:将人类熟悉的信息形式转换为机器能识别的信息形式,如:键盘、鼠标等;
5)输出设备:将机器运算结果转换为人类熟悉的信息形式,如:打印机输出、显示器输出等;
6)运算器和控制器逻辑紧密,集成在一起,称*处理器;
7)输入设备和输出设备统称为I/O设备;
8)现代计算机有三大部分组成:CPU,I/O设备,主存储器;CPU和主存储器合称为主机;I/O设备称为外部设备;
计算机硬件设备
主存储器
1)由存储体M、各种逻辑部件、控制电路等组成;
2)存储单元:存储体由许多存储单元组成;
3)存储基元:一个存储单元包含若干个存储元件;每个存储原件能够存放一位二进制数,0/1;
4)存储字&存储字长:一个存储单元能够存放一串二进代码,称为存储字;二进制代码的位数称为存储字长;
5)存储字可以表示一个二进制数、字符串、指令等;
6)地址号:每个存储单元都有一个编号,称为地址号;
7)访存:主存的工作方式就是按照存储单元的地址号实现对存储字各位的读写;
8)指令和数据都由存储单元的地址号反映,故访问一条指令和一条数据的操作可以视作是相同的,能够通过一套控制线路完成;
9)MAR&MDR:为了实现按地址访问的方式,主存中需要两个寄存器MAR和MDR;
10)MAR:memory address register,存放将要访问的存储单元地址,位数对应存储单元的个数;
11)MDR:memory data register,存放要读写某存储单元的数据,位数与存储字长相等;
12)存储字长、机器字长、指令字长的长度可不相同,但必须是字节的整数倍;
运算器
1)运算器至少由3个寄存器和一个算数逻辑单元组成(ALU)组成;
2)寄存器包括:ACC(Accumulator,累加器)、MQ(Multiplier-Quotient Register,乘商寄存器)、X(操作数寄存器);
3)在完成不同运算时,寄存器存放的操作数类别各不相同;
控制器
1)控制各个部件自动、协调工作,包括取指,分析,执行三个阶段;
2)取指阶段:命令存储器读出一条指令;
3)分析阶段:分析指令要进行的操作以及操作数的地址;
4)执行阶段:根据指令的操作码和操作数地址完成操作;
5)控制器由PC(Program Counter,程序计数器),IR(Instruction Register,指令寄存器),CU(控制单元)组成;
6)PC:存放将要执行的指令地址,与主存的MAR有直接通路;具有自增功能,能够自动形成下一条指令的地址;
7)IR:存放当前要执行的指令,内容来自主存的MDR;指令由操作码和操作数地址组成;操作码被送入到CU(OP(IR)->CU),操作数被送入到MAR(Ad(IR)->MAR);
8)CU:分析当前指令需要完成的操作,发出微操作命令序列,控制所有被控对象;
I/O
1) 包括I/O设备和接口;
2) I/O设备通过I/O接口与主机联系,接受CU的控制;
计算机的工作过程
指令执行流程
以ADD M(M为主存地址)指令为例,执行流程如下:
1)取指过程:PCMARMMDRIR;
2)分析过程:OP(IR)CU;
3)执行过程:Ad(IR)MARMMDRIRX;
ACCALU;XALU;
ALUACC
计算机工作过程
计算机的工作过程实质就是不断从存储器中逐条取出指令,送至控制器,经分析后由CU发出各种命令,指挥各部件完成各种操作,直至全部指令执行结束;