文章目录
- 计算机组成与体系结构 概述
- 计算机系统概述
- 计算机系统的组成
- 计算机层次结构
- 计算机性能评价
计算机组成与体系结构 概述
计算机系统概述
计算机系统的组成
计算机的基本部件:
- 运算器:ALU、GPRs(通用寄存器组)、标志寄存器等;
- 存储器:存储阵列、地址译码器、读写控制电路;
- 总线:数据(MDR)、地址(MAR)和控制线;
- 控制器:对指令译码生成控制信号;
冯诺伊曼结构:运算器、控制器、存储器、输入设备和输出设备五个基本部件组成。
-
存储器同时存放数据和指令,形式上没有区别;
-
内部以二进制表示指令和数据,每条指令由操作码和地址码两部分组成;
-
采用“存储程序”的工作方式。
“存储程序”工作方式:冯诺依曼结构的最重要的思想,指任何计算机完成的工作都要先悲编写成程序,然后将程序和原始数据送入主存并启动执行。一旦程序被启动,计算机应能在不需操作人员干预下,自动完成逐条取出指令和执行指令的任务。
计算机层次结构
- 最终用户工作:在应用程序层面,看到的是应用程序虚拟机,只知道如何使用相应的 应用程序;
- 应用程序开发人员:在程序设计语言层面工作,看到的是高级语言虚拟机,只要会使用各种程序设计语言编程;
- 系统维护人员:在操作系统层面工作,看到的是操作系统虚拟机,只要知道系统中的命令和工具如何使用;
- 系统程序员(OS和编译器开发人员):工作在计算机逻辑结构层面(ISA层次),看到的是汇编语言虚拟机;
ISA(指令集体系结构):ISA 是一种规约,规定了如何使用硬件;是软/硬件的交界面;
- 常分为复杂指令集运算(CISC)和精简指令集运算(RISC) ;
计算机性能评价
计算机的性能指标:
- 完成任务所需要的时间:如响应时间、执行时间、等待时间或时延;
- 单位时间所完成的任务:如吞吐率、带宽;
不同应用场合用户关心的性能不同,如:
- 要求吞吐率高的场合:多媒体应用;
- 要求响应时间短的场合:事务处理系统;
- 要求吞吐率高且响应时间短的场合:ATM、服务器;
通常把用户感觉到的响应时间分成以下两个时间:
- CPU 时间:指 CPU 真正花在程序执行上的时间,又分为:
- 用户 CPU 时间:用来运行用户代码的时间;
- 系统 CPU 时间:为了执行用户程序而需要运行操作系统程序的时间;
- 其他时间:指等待 I/O 操作完成或 CPU 花在其他用户程序的时间;
基本的性能评价标准是:CPU 的执行时间 ,即执行程序中每条指令的时间。
CPI :平均每条指令所花费的 CPU 周期数
CPU 执行时间的计算
CPU执行时间
=
指令条数
/
程序数
×
CPI
×
时钟周期
\text{CPU执行时间}=\text{指令条数}/\text{程序数}\times\text{CPI}\times\text{时钟周期}
CPU执行时间=指令条数/程序数×CPI×时钟周期
CPU time = Seconds Program = Instructions Program × Cycles Instructions × Seconds Cycles \text{CPU time}=\frac{\text{Seconds}}{\text{Program}} =\frac{\text{Instructions}}{\text{Program}} \times\frac{\text{Cycles}}{\text{Instructions}} \times\frac{\text{Seconds}}{\text{Cycles}} CPU time=ProgramSeconds=ProgramInstructions×InstructionsCycles×CyclesSeconds
例:程序P在机器A上运行需10 s, 机器A的时钟频率为400MHz。 现在要设计一台机器B,希望该程序在B上运行只需6 s;机器B时钟频率的提高导致了其CPI的增加,使得程序P在机器B上时钟周期数是在机器A上的1.2倍。机器B的时钟频率达到A的多少倍才能使程序P在B上执行速度是A上的10/6=1.67倍?
解:程序 P 在机器 A 上的时钟周期数为:
10
s
×
400
MHz
=
4000
M
10\text{s}\times 400\text{MHz}=4000M
10s×400MHz=4000M
B 机器的时钟频率为:
1.2
×
4000
M
/
6
s
s
=
800
MHz
1.2 \times 4000\text{M}/6s\text{s}=800\text{MHz}
1.2×4000M/6ss=800MHz
MIPS 定点指令执行速度:Million Instruction Per Second
MFLOPS 浮点操作速度:Million Floating-point Operations Per Second
Benchmarks 基准测试程序:专门用来进行性能评价的一组程序,通过运行实际负载赖反应计算机的性能。
- 缺陷:对基准测试程序进行特殊优化,可以得到不当的性能评测结果;