计算机组成原理
计算机系统基础
摩尔定律
单位面积集成电路上的警惕u管数量每18个月都会翻番。
超算TOP500
TOP500是对全球已安装超级计算机运算速度的权威排行榜。
- 从1993年起,由TOP500国际组织以实测计算速度为基准,每半年发布一次。
- Top500用Linpack基准程序对高性能计算机进行测试,取前500最优质系统在Top500网站上公布。
- Linpack:求解100个线性方程的计算机程序用于对高性能计算机进行基准测试.
计算机分层结构

计算机属性包括:
- 数据的表示形式
- 寻址方式
- 内部寄存器组
- 指令集
- 中断系统
- 处理器工作状态及切换
- 存储系统
- 输入输出结构
- 信息保护及特权
- 高性能设计
计算机组成的设计主要包括:
- 数据通路的宽度
- 专用部件的设置
- 各功能部件的并行程度
- 各种操作的相容性与互斥性
- 控制机构的组成方式
- 缓冲与排队技术的应用
- 预估和预判方法
- 高可靠性的技术
计算机实现就是计算机组成的物理实现。
包括处理机、主存等部件的物理结构,器件的集成度和速度,模块,插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等它着眼于器件技术和微组装技术,其中器件技术在实现技术中占主导作用。利用具体的集成电路芯片、电子元器件、部件插头、插座等等,根据计算机组成的逻辑设计:实现物理计算机。
体系结构、组成、实现的关系
具有相同计算机体系结构的计算机因为速度要求不同,可以采用不同的计算机组成。
例如,取指令、译码、取操作数、运算、存结果可以在时间上顺序方式进行,也可以让它们在时间上按重叠方式进行以提高执行速度。
一种计算机组成可以采用不同的额计算机实现。
例如,主存器件可以采用SRAM芯片,也可以采用DRAM芯片可以采用大规模集成电路单个芯片,也可以采用中小规模集成电路进行构建。显然,这取决于性能价格比的要求与器件技术的现状。
计算机的基本组成


软件硬件的逻辑等价性
任何操作、指令可以由硬件完成,也可以由软件来完成,取决于器件价格、速度、可靠性、存储容量、变更周期等因素。
软件硬化。如整数乘除法指令、浮点运算指令处理字符串指令等等,改为直接由硬件完成。
软件固化。现在已经可以把许多复杂的、常用的程序制作成所谓固件。甚至通过硬件直接解释执行高级语言的语句而不需要先经过编译程序的处理,即“固化”转“硬化”。
冯诺依曼计算机

工作原理(程序存储控制原理)
- 将计算机要完成的任务用指令描述,并编程程序。
- 将程序存在存储器中。
- 在控制器的控制下,从存储器中逐条取指令并执行。
- 程序执行的结果即实现了计算机要完成的任务。
冯诺伊曼原理
- 指令像数据一样存放在存储器,并像数据一样处理
- 使用二进制
- 使用程序存储控制方式工作

计算机分类
Flynn分类法
Fynn分类法是按照计算机在执行程序的过程中信息流的特征进行分类的。
- 指令流(IS)-机器执行的指令序列,它由存储器流入控制单元(CU)
- 数据流(DS)–由指令流所使用的数据包括输入数据、中间数据和结果。数据在处理单元(PU)中进行处理。
- 控制流:(CS)—指令流进入CU,由CU产生一系列的控制流。(信号),在控制流的控制下完成指令的功能。

a. 单指令单数据
b. 单指令多数据
c. 多指令单数据
d. 多指令多数据
计算机性能描述
属性
CPU字长:指CPU一次能处理数据的位数.
字长↑→CPU能处理的数据的精度高
主频:即时钟脉冲的频率.
主频↑→CPU工作节拍↑,机器运算速度↑主存容量:由CPU地址总线的根数n决定,
2^n带宽均衡性:计算机的最重要的性能指标–运算速度也常用带宽衡量,即数据流的最大速度和指令的最大吞吐量.按”木桶”理论,整体的性能取决于最差环节的性能
软硬件配置与性价比:
- 软硬件配置:含外设的配置,指令系统及OS功能强弱,I/F友好性及有无其它支持软件和应用软件等
- 性能价格比P/C越高越好
RASIS特性:五大功能
可靠性、可用性、可维护性、完整性、安全性
兼容性
友好性与环保性
基准测试程序
- TPC-C:对系统在线处理事务的能力进行评价,以每分钟处理新订单个数(tpmC为单位)。
- TPC-H:对系统在线数据库资料的查询能力进行评价。以每小时完成查询的数量。
- SPECweb2005:用于评价系统同时响应http连接的最大数量。
SPEC jApp Server2004:用于评价系统基于ava平台每秒钟所完成的iava操作的最大数量。 - SPECCPU2000:用于对特定程序包执行时的评估。
- Linpack:在每秒钟内,利用高斯消元法求解一元N次线性方程组的次数来评价系统的性能。
- HPCC:利用双精度矩阵乘法、傅立叶变换并行矩阵转置等七个子项全面评价系统的性能。
- SAPSD:测试系统的响应时间及每小时完成的定单数,用以衡量系统同时执行应用程序及数据库的能力。
速度指标
- 每秒钟执行指令的百万条数MIPS
- 每秒钟执行浮点数的百万次操作的数量
- MFLOPS吞吐量
- 响应时间
- CPU时间,一个程序任务完成cpu所用的时间。
- 处理器数量
系统性能计算
执行时间(响应时间),定义为一个任务从开始到完成所用的时间或计算机完成一个任务所用的总时间。
吞吐量,定义为在给定时间内(并行)完成的总任务数。

Amdahl定律
内容:计算机系统中某部件由于采用某种更快的执行方式使系统性能改进后,整个系统性能的提高与该执行方式的使用频率或占总执行时间的比例有关。
Amd定义了加速比,即

加速比就是计算机改进后比改进前快了多少倍。
应用:改善“系统瓶颈”问题,用于系统改进之后性能提升的测试。
加速比取决于两个因素:
- 可改进部分在原系统执行时间中所占的比例,称为可改进比例,表示为$f_e(<=1)$
- 可改进部分改进后性能提升的程度,称为部件加速比,表示为$r_e (>=1)$
假设改进的系统执行时间为$T_0$,改进后的为$T_n$,则
$T_n = T_0(1-f_e + f_e / r_e)$。
若加速比用$S_p$表示,则有$S_p = \frac{1}{1-f_e+f_e/r_e}$
若有多个部件改进,则可表示为$\frac{1}{1-\sum f_e+\sum (f_e / r_e)}$。
数据的机器级表示和运算
数据表示与数据编码的有关概念
- 计算机可表示的数据:
- bit b
- Byte B
- word,字长 根据cpu的位数决定
- 计算机需要表示和处理的数据:
- 指令
- 正数、负数,整数,小数,实数
- 文字、字符,声音、图像、视频
数据编码
$35 = (100011)_2,0.8125=(0.1101)_2$
- 数据表示:指的是能由机器硬件直接识别和引用的数据类型。由硬件实现的数据类型
- 数据结构:面向计算机系统软件、面向应用领域所需处理的数据类型。由软件实现的数据类型。
- 目标:最大限度满足应用要求、最简化的方法实现。
- 实现:通过数据表示和软件映象相结合方法实现。数据表示是数据类型的子集。
数据表示的确定实质上是软、硬件的取舍问题。数据结构和数据表示是软、硬件的界面