一、计算机系统概述
(一)、计算机系统概述
计算机系统的多层次结构
硬联逻辑:这是计算机的内核,由门、触发器等逻辑电路组成。
微程序级:这一级的机器语言由微指令集,程序员用微指令编写的微程序一般直接由硬件执行。
传统机器级:这一级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。
操作系统级:从操作系统的基本功能来看,一方面它要直接管理传统机器中的软硬件资源,另一方面它又是传统机器的延伸。
汇编语言级:这一级的机器语言是汇编语言,完成汇编语言翻译的程序称为汇编程序。
高级语言级:这一级的机器语言就是各种高级语言,通常用编译程序来完成高级语言翻译的工作。
应用语言级:这一级是为了使计算机满足某种用途而专门设计的,因此,这一级的机器语言就是各种面向问题的应用语言。
(二)、存储系统
1,层次化存储体系
时间局部性:指程序中的某条指令一旦执行,不久后该指令可能再次执行,典型原因是由于程序中存在着大量的循环操作。
工作集理论:工作集是进程运行时被频繁访问的页面集合。
2,Cache
Cache的功能:提高CPU数据输入输出的速率,突破冯诺依曼瓶颈,即CPU与存储系统间数据传送带宽。
在计算机的存储系统中,Cache是除寄存器以外,访问速度最快的层次。
Cache对程序员来说是透明的。
使用Cache改善系统性能的依据是程序的局部性原理。
时间局部性和空间局部性
直接相联映像:硬件电路较简单,但冲突率很高。
全相联映像:电路难于设计和实现,只适用于小容量的Cache,冲突率较低。
组相联映像:直接相联与全相联的这种。
直接相联映像:
全相联映像:
组相联映像:
3,磁盘管理
存取时间=寻道时间+等待时间,寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间。
读取磁盘数据的时间应包括以下三个部分:
(1)找磁道的时间。
(2)找块(扇区)的时间,即旋转延时时间。
(3)传输时间。
先来先服务(FCFS)
最短寻道时间优先(SSTF)
扫描算法(SCAN)
循环扫描算法(CSCAN)
二、计算机体系结构
(一)、Flynn分类法
(二)、CISC与RISC
复杂指令集计算机(CISC,Complex Instruction Set Computers)
精简指令集计算机(RISC,Reduced Instruction Set Computers)
X86使用的是复杂指令集(CISC),ARM使用的是精简指令集(RISC)
(三)、流水线技术
相关参数计算:流水线执行时间计算、流水线吞吐率、流水线加速比等。
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。
流水线的吞吐率(Through Put rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。计算流水线吞吐率的最基本公式如下:
流水线最大吞吐率:
完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比。计算流水线加速比的基本公式如下:
三、系统配置与性能评价
(一)、性能指标
平均每条指令的平均时钟周期个数(CPI,Clock Per Instruction)
每(时钟)周期运行指令条数(IPC,instruction Per Clock)
百万条指令每秒(MIPS,Million Instructions Per Second)
每秒百万个浮点操作(MFLOPS,Million Floating-point Operations Per Second)
响应时间(RT,Response Time)
(二)、性能评价方法
时钟频率法:以时种频率高低衡量速度。
指令执行速度法:表示机器运算速度的单位是MIPS。
等效指令速度法(Gibson mix,吉普森混合法):通过各类指令在程序中所占的比例()进行计算得到的。特点:考虑指令比例不同的问题。
数据处理速率法(PDR,Processing Data Rate):PDR值的方法来衡量机器性能,PDR值越大,机器性能越好。PDR=L/R 特点:考虑CPU+存储
综合理论性能法(CTP,Composite Theoretical Performance):CPT用MTOPS(Million Theoretical Operations Per Second,每秒百万次理论运算)表示。CTP的估算方法是,首先计算出处理每个计算单元的有效计算率,再按不同不同字长加以调整,得出该计算单元的理论性能,所有组成该处理部件的计算单元的理论性能之和即为CTP。
基准程序法:把应用程序中用得最多、最频繁的那部分核心程序作为评估计算机性能的标准程序,称为基准测试程序(benchmark)。基准程序法是目前一致承认的测试系统性能的较好方法。
【测试精准度排名】真实的程序 > 核心程序 > 小型基准程序 > 合成基准程序
Dhrystone基准程序:它是一个综合性的整数基准测试程序,是为了测试编译器和CPU 处理整数指令和控制功能的有效性,人为地选择一些典型指令综合起来形成的测试程序。
Linpack基准程序:它是国际上最流行的用于测试高性能计算机系统浮点性能的测试。
Whetstone基准程序:它是用Fortran语言编写的综合性测试程序,主要由执行浮点运算、功能调用、数组变址、条件转移和超越函数的程序组成。
SPEC基准程序:一种是测试计算机完成单项任务有多快,称为速度测试;另一种是测试计算机在一定时间内能完成多少项任务,称为吞吐率测试。
TPC基准程序:TPC(Transcaction Processing Council,事务处理委员会)基准程序用以评测计算机在事务处理、数据库处理、企业管理与决策支持系统等方面的性能。该基准程序的评测结果用每秒完成的事务处理数TPC来表示。
TPC-A基准程序规范用于评价在OLTP环境下的数据库和硬件的性能;
TPC-B测试的是不包括网络的纯事务处理量,用于模拟企业计算环境;
TPC-C测试的是联机订货系统;
TPC-D、TPC-H和TPC-R测试的都是决策支持系统,其中TPC-R允许有附加的优化选项;
TPC-E测试的是大型企业信息服务系统;
TPC-W是基于Web应用的基准程序,用来测试一些通过Internet进行市场服务和销售的商业行为,所以TCP-W可以看作一个服务器的测试标准。
四、可靠性
(一)、可靠性指标
(二)、可靠性计算