软件设计师教程
软件设计师教程(一)计算机系统知识-计算机系统基础知识
计算机体系结构
- 软件设计师教程
- 计算机体系结构的发展
- 计算机系统结构概述
- 计算机体系结构分类
- 指令系统
- 指令集体系结构的分类
- CISC和RISC
- 指令的流水处理
- 阵列处理机、并行处理机和多处理机
- 阵列处理机
- 并行处理机
- 多处理机
- 其他计算机
- 存储系统
- 存储器的层次结构
- 存储器的分类
- 位置分类
- 构成材料
- 工作方式
- 访问方式
- 寻址方式
- 相连存储器
- 高速缓存
- 组成
- 映像方法
- 替换算法
- Cache的性能分析
- 多级Cache
- 虚拟存储器
- 外存储器
- 磁表面存储器
- 光盘存储器
- 固态硬盘
- 磁盘阵列技术
- 存储域网络
- 输入/输出技术
- 微型计算机最常用的内存与接口的编址方法
- 内存与接口地址独立编址
- 内存与接口地址统一编址
- 直接程序控制
- 无条件传送
- 程序查询方式
- 中断方式
- 中断方法
- 中断优先级控制
- 直接存储器存取方式
- 输入/输出处理机(IOP)
- 总线结构
- 总线的分类
- 常见总线
计算机体系结构的发展
计算机系统结构概述
计算机体系结构 ⇒ 计算机的概念性结构和功能属性
计算机组织 ⇒ 计算机体系结构的逻辑实现,包括机器内的数据流和控制流的组成以及逻辑设计等(常称为计算机组成原理)
计算机实现 ⇒ 计算机组织的物理实现
计算机体系结构分类
宏观处理器数量 ⇒ 单处理系统 + 并行处理系统 + 多处理系统 + 分布式处理系统
微观按并行程度 ⇒ Flynn分类 + 冯泽云分类 + Handler分类 + Kuck分类
指令系统
一个处理器支持的指令和指令的字节级编码称为指令集体系结构(ISA),不同的处理器族支持不同的指令集体系结构。
指令集体系结构的分类
系统结构的观点:
1> 操作数在CPU中的存储方式,即操作数从主存取出后保存在什么地方。
2> 显式操作数的数量,即在典型的指令中有多少个显式命名的操作数。
3> 操作数的位置,即任一个ALU指令的操作数否放在主存中,如何定位。
4> 指令的操作,即在指令集中提供哪些操作。
5> 操作数的类型和大小。
按暂存机制分类:
1> 堆栈
2> 累加器
3> 寄存器组
CISC和RISC
CISC 进一步增强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬化,大多数计算机都属于CISC。 ---- 复杂指令集计算机
弊端:
- 指令集过分庞杂
- 微程序技术是CISC的重要支柱,每条复杂指令都要通过执行一段解释性微程序才能完成,这就需要多个CPU周期,从而降低了机器的处理速度
- 指令系统过分庞大 ⇒ 高级语言编译程序选择目标指令的范围很大 ⇒ 编译程序本身冗长、复杂,不高效
- 强调完善的中断控制 ⇒ 动作繁多、设计复杂、研制周期长
- 芯片设计难,芯片种类增多,出错几率增大
RISC 减少指令总数和简化指令功能降低硬件设计的复杂度,使指令能单周期执行,通过优化编译提高指令的执行速度,采用硬布线控制逻辑优化编译程序。
- 重叠寄存器窗口技术
- 优化编译技术
- 超流水线及标量技术、
- 硬布线逻辑与微程序相结合在微程序技术中
优化
对大量机器语言目标代码及其执行情况进行了统计,优化目标代码。
指令的流水处理
指令控制方式 ⇒ 顺序方式、重叠方式、流水方式
流水线的种类
级别 ⇒ 部件级、处理机级 以及 系统级
功能 ⇒ 单功能、多功能
连接 ⇒ 静态、动态
是否有反馈回路 ⇒ 线性、非线性
流动顺序 ⇒ 同步、异步
数据表示 ⇒ 标量、向量
相关处理 ⇒ 局部相关和全局相关
多条指令对同一主存单元或寄存器的“先写后读”的要求,就出现了局部相关 ⇒ 局部相关解决 ⇒ 推后法和通路法 ⇒ 推后就是直到我指令写完后,在读取。 通路法就是设置相关专用通路,就不必先把运算结果写入相关存储单元,再读出使用,直接通过相关通路使用运算结果
转移指令与其后面的指令存在关联,不能同时解释。执行转移指令时,可能会改动指令缓冲器中预取到的指令内容,从而会造成流水线吞吐率和效率下降 ⇒ 全局性相关 ⇒ 猜测转移分支、加快和提前形成条件码、加快短循环程序的处理。
首先猜一波,直接猜转移不成功,猜对了,就直接把命令加载好了。
尽早获得条件码以便对流水线简化条件转移的处理。
流水线采用特殊措施加快循环程序的处理
RISC ⇒ 超流水线、超标量以及超长指令字
吞吐率是指单位时间内流水处理机流出的结果数,单位时间内执行的指令数。
阵列处理机、并行处理机和多处理机
并行性 同时性和并发性。 同时就是同一时刻发生,并发就是统一时间间隔连续发生。
并行处理 ⇒ 存储器操作并行、处理器操作步骤并行、处理器操作并行、指令、任务、作业并行
阵列处理机
单指令流多数据流计算机,通过资源重复实现并行性。
并行处理机
SIMD和MIMD都是典型的并行计算机
SIMD 有共享存储器和分布式存储器两种形式,共享存储器构成同一的并行处理机存储器,通过互联网络ICN为整个并行系统的所有处理单元共享。分布式存储器含有多个同样结构的处理单元,通过寻径网络ICN以一定的方式相互连接。
多处理机
由多台处理机组成的系统,每台处理机有属于自己的控制部件,可以执行独立程序,共享一个主存储器和所有的外部设备。
其他计算机
集群。
存储系统
存储器的层次结构
存储器的分类
位置分类
内存和外存
构成材料
磁存储器、半导体存储器和光存储器
工作方式
读/写存储器和只读存储器
访问方式
地址访问存储器和内容访问存储器
寻址方式
随机存储器、顺序存储器和直接存储器
相连存储器
相连存储器是一种按内容访问的存储器。就跟字典一样,找的时候好找。
高速缓存
存放当前最活跃的程序和数据
组成
映像方法
在CPU工作中,送出的是主存单元的地址,而应从Cache存储器中读写信息。需要将主存地址转换成Cache存储器的地址。
直接映像 全相联映像 组相联映像
替换算法
增加缓存的命中率
随机替换算法、先进先出替换法、近期最少使用算法、优化替换算法
Cache的性能分析
命中率是重要指标
Cache容量越大,命中率越高
多级Cache
多层次缓存,离cpu近的最快
虚拟存储器
一种逻辑存储器,实质将对物理存储设备进行逻辑化处理,并将统一的逻辑视图呈现给用户。
外存储器
磁表面存储器
硬盘,容量较大,速度较快
光盘存储器
容量大、信息保存时间长,存取速度慢
固态硬盘
容量也大,速度快,价格贵
磁盘阵列技术
多个磁盘组成的外存子系统
存储域网络
把一个或多个服务器与存储设备连接起来,每个存储设备可以是多样化的,构成了存储域网络。
输入/输出技术
微型计算机最常用的内存与接口的编址方法
内存与接口地址独立编址
内存与接口地址统一编址
直接程序控制
无条件传送
程序查询方式
有针对性地为外设提供输入输出服务
中断方式
CPU不会时时刻刻盯着数据传送任务是否完成,完成后会给CPU发出中断信号。
中断方法
- 多中断信号线法
- 中断软件查询法
- 菊花链法
- 总线仲裁法
- 中断向量表法
中断优先级控制
- 多个中断源同时中断服务,响应优先级最高的
- 中断嵌套,允许优先级插队
直接存储器存取方式
输入/输出处理机(IOP)
具有特殊功能的处理器,分担了CPU一部分功能,可以实现对外围设备的同一管理,完成外围设备与主存之间的数据传送。
总线结构
计算机设备和设备之间传输信息的公共数据通道。
总线的分类
数据总线,传送数据信息,双向
地址总线,传送CPU发出的地址信息,单向
控制总线,传送控制信号、时序信号和状态信息等
常见总线
- ISA总线
- EIEA总线
- PCI总线
- PCI Express总线
- 前端总线
- RS-232C
- SCSI总线
- SATA
- USB
- IEEE-1394
- IEEE-488总线