02. 计算机的演变和性能
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
十进制的(非二进制) 20个10位(十进制数)累加器 通过开关和插拔电缆实现编程 18000个真空管 30吨 1500平方英尺(ca. 140平米) 功率:140Kw 每秒5000次加法运算 主频100 kHz
冯· 诺伊曼/图灵
程序存储 普林斯顿高级研究院的IAS
提高互连带宽
更高的总线速率 总线分层
I/O设备
频繁I/O操作的外设 高数据吞吐量 处理器和外设之间传送数据的问题 解决方法:
Caching Buffering 更高速的互连总线 更精巧的总线结构 多处理器
典型I/O设备数据速率
关键是平衡
处理器部件 主存储器 I/O设备 互连结构
芯片组织和体系结构的改进
提高处理器的硬件速度
减小处理器芯片上逻辑门的尺寸,时钟频率提升
提高Cache的容量和速度
处理器芯片的专用Cache
改变处理器组织和体系结构
提高指令的有效执行速度 并行
提高时钟频率和逻辑密度的问题
功耗
时钟频率和逻辑密度的提高增加了功耗 散热困难
一些物理极限正在接近
新的方向—多核
同一芯片上安置多个处理器
共享大的Cache
软件若有效,处理器数量的加倍几乎能使性能加 倍 使用两个较为简单的处理器,而不是一个更复杂 的处理器 IBM POWER4
计算机性能指标(1)
时钟频率 & 时钟周期
时钟频率 = 1 / 时钟周期
CPI (average Cycles Per Instruction)
平均每指令周期数 一条指令往往需要多个时钟周期
计算机性能指标(2)
直觉上来说,说一台机器在执行程序时有更好的 性能是因为它执行时间更短。 一个可能的性能指标
性能 = 1 / 执行时间
机器A比机器B快n倍,说明:
RC(Resistive Capacitive)延迟
延迟随RC之积的增长而增长 互连线更细,电阻更高 线排列更紧密,电容更高
内存延迟(latency) 解决方法
强调改善组织和体系结构
增加Cache容量
两级或三级Cache 更高集成度的芯片
集成更多的Cache,提高了Cache访问速度
穿孔卡处理设备 1953 – IBM 701
IBM的第一台程序存储计算机 科学计算
1955 – IBM 702
商业应用
700/7000系列
晶体管
1947由贝尔实验室发明晶体管 硅 固态器件 晶体管取代真空管 更小的体积 更低廉的价格 发热量更少
Pentium将10%的芯片面积用作Cache Pentium 4则提升至约50%
更复杂的处理逻辑
指令并行执行 流水线
不同指令的不同阶段并行执行
超标量
多条指令流水
收益递减
处理器内部组织的高度复杂
能实现高度的并行性 更大的性能增益变得困难
Cache所带来的好处越来越有限 提高时钟频率带来功耗问题
n = 性能A / 性能B
= 执行时间B / 执行时间A
计算机性能指标(3)
CPU执行时间
T:CPU执行时间 I:程序指令数 CPI:平均每指令周期数 C:每周期所耗时间(秒)
T = I x CPI x C
指令类型和CPI
某个程序有n种类型的指令:
Ci:类型为i的指令数 CPIi:类型为i的指令的所需的平均执行周期数 CPI = 总的执行周期数 / 总的指令数 总的执行周期数 = ∑Ci·CPIi 总的指令数 = ∑Ci
基于晶体管的计算机
第二代计算机 NCR&RCA率先使用晶体管生产小型机器 IBM 7000 DEC – 1957
PDP - 1
微电子技术
微小的电子技术 逻辑门、内存位元及其互联构成的计算机 装配在硅片上
历代计算机
真空管 1946-1957 晶体管 1958-1964 小规模集成电路 1965起
性能设计(提高执行速度)
流水线 片载Cache 转移预测 数据流分析 推测执行
性能平衡
处理器和主存储器速度的不匹配
解决办法
提高一次读取的数据位数
使DRAM接口”更宽”而不是”更深”
改进DRAM接口
使用Cache
减少存储器访问频度
更复杂,更高效的Cache
MIPS
每秒百万指令数(Million Instructions Per Second) MIPS = I / (T x 106) = I / (I x CPI x C x 106) = 时钟频率 / (CPI x 106)
MFOLPS
每秒百万浮点指令数(Million FLOatingPoint Operations Per Second) MFOLPS = 浮点指令数 / (执行时间 x 106)
单芯片100,000,000个晶体管以上
摩尔定律
Gordon Moore:集成电路的集成度每一/两 年翻一番
后来修正为每18个月翻一番
集成度增加的同时,单芯片成本几乎不变 高集成->电路短,提高了速度 更小的体积 更小的能耗和更低的冷却需求 更少的片外互连,增加了可靠性
单芯片100个晶体管以下
中等规模集成电路 到1971
单芯片100 - 3000个晶体管
大规模集成电路 1971 – 1977
单芯片3000 – 100,000个晶体管
超大规模集成电路 1978 – 1991
单芯片100,000 – 100,000,000个晶体管
Ultra large scale integration 1991 –
IAS的结构
商用计算机
1947年 埃克特-莫克利计算机公司 UNIVAC I (Universal Automatic Computer) 美国国家统计局委托制造 成为Sperry-Rand公司的一部分 UNIVAC II (20世纪50年代后期)
更快 更多的存储器
IBM
程序和数据都存放在主存储器中 ALU执行二进制运算 控制器翻译内存中的指令并执行 控制器操纵输入/输出设备
冯· 诺伊曼机的结构
IAS的具体参数
1000 x 40bit 字
二进制 2 x 20bit 指令
寄存器组
存储缓冲寄存器(MBR) 存储器地址寄存器(MAR) 指令寄存器(IR) 指令缓冲寄存器(IBR) 程序计数器(PC) 累加器(AC) 乘商寄存器(MQ)
CPU晶体管数量的增长
IBM 360系列
1964,IBM7000系列牢牢占据市场 代替了(但不兼容)7000系列 第一个计算机系列,具有以下特征
相同或相似的指令集 相同或相似的操作系统 更高的速度 更多的I/O端口 更大的存储器容量 更高的成本
DELeabharlann Baidu PDP - 8
ENIAC — 背景
Electronic Numerical Integrator And Computer 宾夕法尼亚大学 莫克利和埃克特 武器的射程和弹道表 史于1943年 1946年完成
未能在战争中派上用场
一直使用到1955年
ENIAC
ENIAC — 具体参数
1964 第一个小型机 不需要室内空调 可以放置在实验室工作台上 16,000美元
$100k+的IBM 360
原始设备制造商(OEM) 总线结构
DEC PDP – 8的总线结构
半导体存储器
1970,Fairchild(仙童公司)生产 大小相当于单个磁芯的芯片 大小:256位 非破坏性读取 更高的速度 不断提高的容量/不断降低的价格
冯· 诺伊曼/图灵
程序存储 普林斯顿高级研究院的IAS
提高互连带宽
更高的总线速率 总线分层
I/O设备
频繁I/O操作的外设 高数据吞吐量 处理器和外设之间传送数据的问题 解决方法:
Caching Buffering 更高速的互连总线 更精巧的总线结构 多处理器
典型I/O设备数据速率
关键是平衡
处理器部件 主存储器 I/O设备 互连结构
芯片组织和体系结构的改进
提高处理器的硬件速度
减小处理器芯片上逻辑门的尺寸,时钟频率提升
提高Cache的容量和速度
处理器芯片的专用Cache
改变处理器组织和体系结构
提高指令的有效执行速度 并行
提高时钟频率和逻辑密度的问题
功耗
时钟频率和逻辑密度的提高增加了功耗 散热困难
一些物理极限正在接近
新的方向—多核
同一芯片上安置多个处理器
共享大的Cache
软件若有效,处理器数量的加倍几乎能使性能加 倍 使用两个较为简单的处理器,而不是一个更复杂 的处理器 IBM POWER4
计算机性能指标(1)
时钟频率 & 时钟周期
时钟频率 = 1 / 时钟周期
CPI (average Cycles Per Instruction)
平均每指令周期数 一条指令往往需要多个时钟周期
计算机性能指标(2)
直觉上来说,说一台机器在执行程序时有更好的 性能是因为它执行时间更短。 一个可能的性能指标
性能 = 1 / 执行时间
机器A比机器B快n倍,说明:
RC(Resistive Capacitive)延迟
延迟随RC之积的增长而增长 互连线更细,电阻更高 线排列更紧密,电容更高
内存延迟(latency) 解决方法
强调改善组织和体系结构
增加Cache容量
两级或三级Cache 更高集成度的芯片
集成更多的Cache,提高了Cache访问速度
穿孔卡处理设备 1953 – IBM 701
IBM的第一台程序存储计算机 科学计算
1955 – IBM 702
商业应用
700/7000系列
晶体管
1947由贝尔实验室发明晶体管 硅 固态器件 晶体管取代真空管 更小的体积 更低廉的价格 发热量更少
Pentium将10%的芯片面积用作Cache Pentium 4则提升至约50%
更复杂的处理逻辑
指令并行执行 流水线
不同指令的不同阶段并行执行
超标量
多条指令流水
收益递减
处理器内部组织的高度复杂
能实现高度的并行性 更大的性能增益变得困难
Cache所带来的好处越来越有限 提高时钟频率带来功耗问题
n = 性能A / 性能B
= 执行时间B / 执行时间A
计算机性能指标(3)
CPU执行时间
T:CPU执行时间 I:程序指令数 CPI:平均每指令周期数 C:每周期所耗时间(秒)
T = I x CPI x C
指令类型和CPI
某个程序有n种类型的指令:
Ci:类型为i的指令数 CPIi:类型为i的指令的所需的平均执行周期数 CPI = 总的执行周期数 / 总的指令数 总的执行周期数 = ∑Ci·CPIi 总的指令数 = ∑Ci
基于晶体管的计算机
第二代计算机 NCR&RCA率先使用晶体管生产小型机器 IBM 7000 DEC – 1957
PDP - 1
微电子技术
微小的电子技术 逻辑门、内存位元及其互联构成的计算机 装配在硅片上
历代计算机
真空管 1946-1957 晶体管 1958-1964 小规模集成电路 1965起
性能设计(提高执行速度)
流水线 片载Cache 转移预测 数据流分析 推测执行
性能平衡
处理器和主存储器速度的不匹配
解决办法
提高一次读取的数据位数
使DRAM接口”更宽”而不是”更深”
改进DRAM接口
使用Cache
减少存储器访问频度
更复杂,更高效的Cache
MIPS
每秒百万指令数(Million Instructions Per Second) MIPS = I / (T x 106) = I / (I x CPI x C x 106) = 时钟频率 / (CPI x 106)
MFOLPS
每秒百万浮点指令数(Million FLOatingPoint Operations Per Second) MFOLPS = 浮点指令数 / (执行时间 x 106)
单芯片100,000,000个晶体管以上
摩尔定律
Gordon Moore:集成电路的集成度每一/两 年翻一番
后来修正为每18个月翻一番
集成度增加的同时,单芯片成本几乎不变 高集成->电路短,提高了速度 更小的体积 更小的能耗和更低的冷却需求 更少的片外互连,增加了可靠性
单芯片100个晶体管以下
中等规模集成电路 到1971
单芯片100 - 3000个晶体管
大规模集成电路 1971 – 1977
单芯片3000 – 100,000个晶体管
超大规模集成电路 1978 – 1991
单芯片100,000 – 100,000,000个晶体管
Ultra large scale integration 1991 –
IAS的结构
商用计算机
1947年 埃克特-莫克利计算机公司 UNIVAC I (Universal Automatic Computer) 美国国家统计局委托制造 成为Sperry-Rand公司的一部分 UNIVAC II (20世纪50年代后期)
更快 更多的存储器
IBM
程序和数据都存放在主存储器中 ALU执行二进制运算 控制器翻译内存中的指令并执行 控制器操纵输入/输出设备
冯· 诺伊曼机的结构
IAS的具体参数
1000 x 40bit 字
二进制 2 x 20bit 指令
寄存器组
存储缓冲寄存器(MBR) 存储器地址寄存器(MAR) 指令寄存器(IR) 指令缓冲寄存器(IBR) 程序计数器(PC) 累加器(AC) 乘商寄存器(MQ)
CPU晶体管数量的增长
IBM 360系列
1964,IBM7000系列牢牢占据市场 代替了(但不兼容)7000系列 第一个计算机系列,具有以下特征
相同或相似的指令集 相同或相似的操作系统 更高的速度 更多的I/O端口 更大的存储器容量 更高的成本
DELeabharlann Baidu PDP - 8
ENIAC — 背景
Electronic Numerical Integrator And Computer 宾夕法尼亚大学 莫克利和埃克特 武器的射程和弹道表 史于1943年 1946年完成
未能在战争中派上用场
一直使用到1955年
ENIAC
ENIAC — 具体参数
1964 第一个小型机 不需要室内空调 可以放置在实验室工作台上 16,000美元
$100k+的IBM 360
原始设备制造商(OEM) 总线结构
DEC PDP – 8的总线结构
半导体存储器
1970,Fairchild(仙童公司)生产 大小相当于单个磁芯的芯片 大小:256位 非破坏性读取 更高的速度 不断提高的容量/不断降低的价格