因为缺乏计算机组成知识,所以来这儿补补
----------------------------------------------------------
第一章
程序性能决定因素:
算法
软件系统
IO系统
计算机体系结构中的设计思想
面向摩尔定律设计
抽象简化设计
加速经常事件
并行提高性能
流水线
预测
存储层次
冗余提高可能性
指令
计算机硬件能够理解并遵从的命令
汇编器
将指令由助记符形式翻译成二进制形式的程序
汇编语言
用助记符形式表示的机器指令
使用高级语言的优势:
程序员可以用更自然的语言思考
提高程序员的生产率
提高了程序相对于计算机的独立性
输入设备
为计算机提供信息的装置
输出设备
将计算结果输出给用户或者其它计算机的设备
五大部件: IO;存储;数据通路(ALU);控制器
集成电路
一种集合了几十个甚至上亿个晶体管的设备
中央处理单元
也称为处理器,处理器是计算机中最活跃的部分、它包括数据通路和控制器、能完成数据相加、数据测试、按结果发出控制信号使IO设备做出动作等操作。
控制器
负责指挥ALU、存储器和IO按照程序指令正常执行
内存
程序运行时的存储空间,同时还存储程序运行所用的数据
易失性存储也叫主存储
非易失性存储也叫辅助存储
闪存由于体型代替了磁盘
两次运行该不会指的是上电-掉电-上电吧?
联网计算机的优点:
局域网
用于在一定区域内传输的网络
广域网
一种可以跨越大陆数百公里的网络
SRAM(Cache),易失性存储器;时间最短最快;最贵的一集
DRAM,易失性存储器;近似访问时间几乎相同;动态随机访问存储器;比SRAM便宜
flash,非易失性存储器;近似访问时间比DRAM慢;速度大于磁盘;比DRAM便宜
磁盘存储,非易失性存储器;时间比FLASH慢;速度小于FLASH;比FLASH便宜
答:3/5/4
计算机性能评价
首先要对性能定义
PC用户对降低响应时间感兴趣;数据管理者感兴趣提高带宽和吞吐率
响应时间/执行时间
性能度量
挂钟时间也叫响应时间/运行时间,他们都表示完成一项任务所需要的总时间
系统性能
空载系统的响应时间
CPU性能
用户CPU时间
本章重点放在CPU性能上
无;a;c;
7秒(大约)
用户和设计者标准不同,如何将这些标准统一?
基本指标应该是CPU执行时间:
指令性能
因为CPU时间和程序有关,程序浪费时间与否和指令数量有关,所以拿指令数量来度量CPU时钟周期数也是一种方法:CPI(指令平均时钟周期数)
不同任务,不同指令需要的时间可能不同,CPI指的是平均值
性能👉执行时间👉CPU执行周期数👉指令数量 · CPI
指令数和CPI很难测量,但是我们确定了CPU执行时间和主频,我们可以知一求一
我们可以使用体系结构仿真器:求出指令书还有CPI以及性能损失源
一般情况下:指令数不依赖于计算机的具体实现
但是CPI与计算机的实现有关,与应用程序有关,还是有很大不同的
CPI根据指令分布的不同而变化
多核处理器就是 内含多个 子处理器 的 大处理器
为什么程序员编写显式并行程序很难?
1.并行编程以提高性能为目的,会增加编程难度
2.为了发挥并行硬件速度,程序员必须将应用划分为每个核上有相同任务量的任务积累,并同时完成,减少调度开销
谬误
小结
练习题