接上节内容继续
0x00 存储系统
首先要记得是存储层次:
如果仔细的分可以按下面的分法
- 第一层:寄存器堆
- 第二层:先行缓冲站
- 第三层:高速缓冲存储器
- 第四层:主存储器
- 第五层:联机存储器
- 第六层:脱机存储器
第1-3层在CPU芯片内部,第4层主存储器在主板上,第5层在机箱内(硬盘),第6层依靠手工挂载(VCD.DVD.磁带.刻录机等)
寻址空间
指的是程序猿可以使用的存储器容量、即每个程序的大小,2的多少多少次方
Pentium处理机的寻址空间为4GB,与实际配置的存储器容量无关
存储容量
实际物理存储器大小,通常用KB.MB.GB等表示
0x01 其他性能
这里内容不多,详细请看图
0x02 价格标准
1.价格与性能的关系:
- 摩尔定理
2.硬件与软件的价格比例
硬件在计算机系统价格中所占比例在下降,软件比例在上升
0x03 计算机系统的设计技术
1.设计者的任务
- 系统结构设计
- 硬件实现技术
- 应用或市场需求
- 性能优化
- 实现复杂性
- 性能价格比
2.软硬件取舍
软硬件的关系:理论上有两种极端方法
软件与硬件实现具有以下特点
硬件实现:速度快、成本高、灵活性差、占用内存少
软件实现:速度低、复制费用低、灵活性好、占用内存多
可以从以下几个因素考虑软硬件的取舍
- 价格因素
- 改进性能考虑
强调一点,很重要
从改进性能来考虑的话,基本方法是:加快经常性事件的执行速度
计算机一个重要的定量性定理是——Amdahl定律:
系统中某一部件由于采用更快的执行方式后,整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关
人们的目标当然事加速比越高越好,但是事实不可能,它存在一个极限值
3、改进性能的主要途径有
面向目标代码改进
方法:用一条指令替代一串指令——根据计算结果改进、根据统计数据改进、增加运算型指令
比如8086即通过库函数(一串指令)来完成浮点数的运算,或者增加协处理器面向高级语言和编译程序改进
方法:增强对高级语言和编译程序支持的指令功能
例如条件码在并行计算机中呗取消,OF(溢出)/ZF(零)面向操作系统改进
4.软件兼容性:软件相对于硬件越来越贵
一般要做到向后兼容(必须),向上兼容尽量做到
向前和向下兼容可以暂时不考虑
1、系列机方法
系列机定义:具有相同的系统结构,但组成和实现技术不同的一系列计算机系统
采用系列机的优点和缺点
2、模拟与仿真方法
3、统一高级语言
4、目标代码的并行编译(动态代码转换和静态重编译)
计算机设计的过程
- 由上向下
- 由下向上
- 中间开始(比较好的实现)
冯诺依曼结构
1、特点:CPU为中心,集中控制
存储字长固定、由指令形式的低级机器语言驱动、指令顺序执行、运算器为中心
2、现代机的改进
存储程序不变、从CPU为中心更改为存储器为中心,总线结构,分散控制
3、非冯计算机
从传统的指令驱动型改变为数据驱动型,即数据流计算机
目前提高速度空间已经不大,最终都将往多核方向发展
0x04 计算机系统的分类
佛林分类法
根据指令如何驱动数据可以分四类:
- 单指令流单数据流SSID
- 单指令流多数据流SIMD
- 多指令流单数据流MISD(实际不存在,只在理论中)
- 多指令流多数据流MIMS