一:基本概念
1. 定义
- 计算机体系结构:计算机的概念性结构和功能属性
- 计算机组织:计算机体系结构的逻辑实现
- 计算机实现:计算机组织的物理实现
2. 计算机体系结构的分类
(1)按处理机的数量分类
- 单处理系统:利用一个处理单元与其他外部设备结合起来
- 并行处理和多处理系统:将两个以上的处理机连接起来,彼此通信协调
- 分布式处理系统:物理上远距离和松耦合的多计算机系统
(2)按并行程度分类
按指令流和数据流的数量分类
- 单指令流 单数据流
- 多指令流 单数据流
- 单指令流 多数据流
- 多指令流 多数据流
基于硬件并行程度分类
- 处理机级
- 处理机中的算逻单元级
- 每个算逻单元级的逻辑门电路级
二:指令系统
1. 定义
一个处理器支持的指令和指令的字节级编码称为指令集体系结构
2. 分类
- 堆栈
- 累加器
- 寄存器组:可以保持计算的值或变量,加快程序的运行
- ALU指令的操作数
- 三操作数:两个源操作数+一个目的操作数
- 二操作数:一个操作数既是源操作数也是目的操作数
- ALU指令中属于存储器地址的操作数个数
- ALU指令的操作数
3. 发展
(1)CISC 复杂指令集计算机
增强指令的功能,用更复杂的指令取代用程序完成的功能。
- 指令集过于庞大
- 机器处理速度慢
- 设计复杂
(2)RISC 精简指令集计算机
减少指令总数和简化指令功能,提高指令的执行速度,使指令能单周期进行。
- 重叠寄存器窗口技术
- 优化编译技术
- 超流水线及超标量技术
- 硬布线逻辑与微程序结合
(3)优化
优化目标
- 静态使用频度:程序还未运行时对程序中出现的指令以及指令串的统计百分比
- 减少存储空间
- 动态使用频度:程序运行中对程序中出现的指令以及指令串的统计百分比
- 减少执行时间
优化方式
- 面向高级程序语言:缩小高级语言与机器语言之间的语义差距,缩短编译时间
- 面向操作系统:缩小操作系统与体系结构之间的语义差距,缩短操作系统运行时间
4. 指令控制方式
(1)顺序方式
各条机器指令之间顺序串行执行,同时机器指令内部的微操作也是顺序串行执行。
- 控制简单
- 速度慢
(2)重叠方式
把解释指令分解为分析指令和执行指令两个部分。在执行第i条指令的同时,可以开始分析第i+1条指令
- 速度较快
- 会产生冲突、转移等问题
(3)流水方式
把并行性或并发性嵌入到计算机系统的一种形式,把解释指令分解为取指令、编译指令、取操作数、执行指令等多个部分
流水线的种类
- 级别
- 部件级
- 处理机级
- 系统级
- 功能
- 单功能流水线
- 多功能流水线
- 连接方式
- 静态流水线
- 动态流水线
- 反馈回路
- 线性流水线
- 非线性流水线
- 流动顺序
- 同步流水线
- 异步流水线
- 数据表示
- 标量流水线
- 向量流水线
流水的处理——相关
局部性相关:
多条指令访问同一主存同一寄存器,要求先写后读。只影响流水线的某些工作,并不会改变指令内容
- 推后法:写入后再读
- 通路法:直接经过通路读取结果
全局性相关:
转移指令与后面的指令存在关联,无法同时解释。可能会改变指令内容
- 猜测转移分支:猜测转移不成功,程序继续执行
- 加快和提前形成条件码:简化条件转移的处理
- 加快短循环程序的处理
流水的技术
- 超流水线:每条流水线进行细化,增加级数、提高主频,使得每个机器周期能完成多个操作,用时间换空间
- 超标量:多条流水线同时处理,用空间换时间
- 超长指令字:时间更快,时间频率更高
流水的指标
吞吐率:单位时间内流水线处理机流出的结果数。(如果子过程时间不一致,则吞吐率为最长子过程的倒数)
建立时间:流水线达到最大吞吐率所用的时间
三:并行处理
- 存储器操作并行
- 处理器操作步骤并行:流水线处理机
- 处理器操作并行:阵列处理机
- 指令、任务并行:多处理机
阵列处理机(单指令流多数据流)
通过资源重复实现并行:将多个处理单元按一定方式连成阵列,在单个控制部件的控制下,对自己分配的数据进行处理,并行完成操作
并行处理机(单指令流多数据流,多指令流多数据流)
- 共享存储器:若干个共享的存储器构成统一的并行处理机存储器,通过互联网络共享
- 分布式存储器:多个处理器单元通过互联网络连接,附属的存储器保存数据
多处理机(多指令流多数据流)
多台处理机构成系统,每个处理机都有自己的控制部件,共享存储设备
集群
多个计算机连在一起工作
四:存储系统
1. 层次结构
- CPU内部的通用寄存器组
- CPU内部的高速缓存
- CPU外部的缓存
- 主板上的主存储器
- 主板外的联机磁盘
- 主板外的脱机磁带、光盘
2. 分类
(1)位置
- 内存:也叫主存,存放当前运行的程序和数据
- 外存:也叫辅存,存放不需要运行的大量信息
(2)构成材料
- 磁存储器
- 半导体存储器
- 光存储器
(3)工作方式
- 读写存储器:RAM
- 只读存储器:ROM、PROM、EPROM、EEPROM
- ROM:固定内容
- PROM:可编程内容
- EPROM:使用紫外线可擦除可编程内容
- EEPROM:使用电擦除
- FLASH:闪存
(4)访问方式
- 按地址访问
- 按内容访问
(5)寻址方式
- 随机寻址:RAM
- 顺序寻址:SAM(磁带)
- 直接寻址:DAM(磁盘)
3. 相联存储器
把数据或它的一部分作为关键字,按顺序写入信息,读出时并行将该关键字与存储器的每一单元进行比较,找出所有相同的数据字
(1)组成
- 输入检索寄存器:存放关键字
- 屏蔽寄存器:屏蔽其他字段
- 比较器:将关键字与每一个存储单元比较
- 字比较器:2m
- 位比较器:2m×N
- 匹配存储器:记录比较的结果
- 地址寄存器:编译地址
- 数据寄存器:存储数据
(2)应用
- 高速缓存
- 虚拟存储器中作为段表、页表、快表
- 数据库
4. 高速缓存
(1)特点
- 位于CPU和主存之间
- 容量小
- 速度快
(2)组成
- 存储部分:存放主存的部分拷贝信息
- 控制部分:判断CPU请求的信息是否在缓存中
- 命中,直接在缓存寻址
- 未命中:按照原则,把主存的信息块放入或置换缓存
(3)地址映像方法
将CPU的主存地址转换为缓存地址
1:直接映像
主存块与缓存块分为多个区,区之间对应关系固定。
- 若主存区号与缓存中记录的主存区号相同,则命中
- 通过主存块号获取缓存块号
- 通过主存块内地址+缓存块号获取数据
特点
- 简单
- 灵活性差
2:全相联映像
主存和缓存分为大小相同的多个块,块之间可以随意对应
- 块的大小=2快内地址位数
- 主存块的个数=主存大小÷块大小,表示主存块号需要使用(log2主存块个数)位
- 缓存块的个数=缓存大小÷块大小,表示缓存块号需要使用(log2缓存块个数)位
- 相联存储器需要的单元个数=缓冲块个数,每个单元的位数=(log2主存块个数)位
- 若主存的主存块号与相联存储器的主存块号相同则命中
- 通过主存块号获取对应的缓存块号
- 通过块内地址+缓冲块号获取数据
特点:
- 灵活
- 无法直接获取缓存记录的主存块号,速度慢
3:组相联映像
缓存分为多个块,同时再将块分为多个组。主存分为多个区,每个区也分多个组。组之间采用直接映像,组内的块采用全相联映像。
- 若主存组号与缓存中记录的主存组号相同,则命中
- 若主存的主存块号与相联存储器的主存块号相同则命中
- 通过块内地址+缓冲块号获取数据
(4)替换算法——提高命中率
- 随机替换算法
- 先进先出算法
- 近期最少使用算法
- 优化替换算法
(5)性能分析
目标
达到较高的命中率,存储系统具有最短的平均访问时间。
- 命中率:A
- 缓存命中,存取时间:T1
- 主存访问时间:T2
- 失效访问时间:T3=T2-T1
- CPU的加权平均访问时间T
- 缓存和主存同时启动:T=T1+T3×(1-A)
- 缓存未命中再访问主存:T=T1+T2×(1-A)
性能因素
- 提高缓存容量:会提高命中率,但也会增加成本和增加命中时间
- 提高缓存的相联度
- 选择恰当的块容量
5. 虚拟缓存
虚拟存储器是一种逻辑存储器,实质是对物理存储设备的逻辑化。用户通过虚拟地址访问主存,其实通过CPU的MMU将虚拟地址转换为物理地址后访问主存
6. 外缓存器
(1)磁表面存储器(硬盘)
组成
- 盘片:存储信息
- 驱动器:驱动磁头查找磁道,驱动盘片旋转
- 控制器:接收主机的命令并控制驱动器的读写操作
- 接口
结构
- 盘片组:多个盘片组成,每个盘片配有独立磁头。相同磁道构成一个圆柱面
- 磁道:盘片上的多个同心圆,最外为0,向内叠加编号。沿径向单位距离的磁道数称为道密度。
- 扇区:磁道沿圆周等分为多个段,每段为一个扇区,每个扇区存放数据块。磁道单位可记录的位数称为位密度。里圈磁道的位密度比外圈磁道的位密度高
分类
- 固定磁头
- 移动磁头固定盘片
- 移动磁头可换盘片
- 温盘
容量
柱面数A
磁道数B
扇区数C
字节数D
内圆周长E
最大位密度F
- 非格式化容量:磁盘存储的总位数=A×B×E×F
- 格式化容量:扇区数据区容量的总和=A×B×C×D
(2)光表面存储器(光盘)
分类
- 只读:CD-ROM
- 只写一次:WORM
- 可擦除光盘
特点
- 保存时间长
- 记录密度高
- 存储容量大
(3)固态硬盘
介质
- 闪存
- DRAM
特点
- 读写快
- 质量轻
- 价格昂贵
- 难恢复
7. 磁盘阵列技术
多台磁盘存储器组成一个快速、大容量、高可靠的外存子系统。常见的为廉价冗余磁盘阵列RAID。
- RAID-0:无容错能力
- RAID-1:使用镜像容错
- RAID-2:使用海明码容错
- RAID-3:减少检验的磁盘个数
- RAID-4:各个磁盘独立读写
- RAID-5:没有检验磁盘
- RAID-6:两级数据冗余
8. 存储域网络SAN
服务器与多个存储器连接为网络
- 解决服务器的容量问题
- 方便共享文件,提高辅存利用率
- 实现分布式存储系统的集中管理
五:输入输出技术
1. 内存与接口的编址方法
(1)独立编址
内存地址与接口地址完全独立,相互隔离,访问数据的指令也不相同。
- 易于编程
- 接口的指令过少
(2)统一编址
内存地址和接口地址统一在一个公共的地址空间
- 用于内存的指令也可以用于接口
- 内存地址不连续
2. 程序控制外设的方法
(1)直接程序控制
CPU执行程序控制外设的输入输出
- 无条件传送:外设总是准备好的
- 程序查询方式:CPU通过查询判断外设是否准备好
(2)中断方式
CPU无需等待和查询IO,IO准备好后,通过中断请求信号通知CPU,CPU保存现场并返回到中断程序继续执行,完成数据交换后再返回到刚刚被打断的程序继续执行。
- 多中断信号线法:每个中断源都有属于自己的一个中断请求信号线
- 中断软件查询法:CPU检测到中断请求信号后,转入到中断服务程序查询中断源
- 菊花链法(硬件查询法):所有的IO模块共享中断请求线,中断确认信号在IO模块间以链式相连,当CPU检测到中断请求信号后发出中断确认信号,在IO模块上链式查找
- 总线仲裁法:IO设备需要获取总线控制权,才可以发出中断请求。
- 中断向量表法:用一个表保存中断源的入口地址,当IO发出中断请求信号后,由中断控制器获取中断号,查找表获得入口地址,同时把信号发送给CPU
中断优先级控制
- CPU优先响应优先级最高的中断源
- 当CPU在服务中断源的过程中,有更高优先级的中断源发出请求时,CPU应该服务更高优先级的中断源,服务结束后再返回继续服务
(3)直接内存存取
数据在内存与IO设备间直接成块传送,只需要CPU在过程开始前发出命令和过程结束后通过中断或轮询处理即可。此时DMA占用总线,CPU无法使用总线
DMA调度
- 中央处理器停止法
- 总线周期分时法
- 总线周期挪用法
过程
- 外设向DMA提出请求
- DMA向CPU提出请求
- CPU进行响应,放弃总线
- DMA开始占用总线,向外设发出响应信号
- 传送数据
- 传送完毕,DMA撤销对CPU的请求,CPU重新占用总线
(4)通道
通道,又称作IO处理机,分担了CPU的一部分功能,对外设统一管理,完成外设与主存的数据传送。
外围处理机PPU
专用处理机,根据主机的IO命令,完成数据传送。
六:总线结构
1. 定义
总线是计算机的设备之间传输信息的公共数据通道,总线上的设备共享
2. 分类
(1)数据总线DB
- 作用:传送数据信息
- 方向:是双向的。CPU既可以通过DB从内存或输入设备读取数据,也可通过DB将数据写入输出设备或内存。
- DB宽度决定CPU交换数据的位数(X位总线可以交换X位数据)
(2)地址总线AB
- 作用:传送地址信息,指出内存单元或IO设备。
- 方向:是单向的
- AB宽度决定CPU的最大寻址能力(X位总线可以访问2X个地址)
(3)控制总线CB
- 作用:传送控制信号、时序信号、状态信息等
- 方向:局部单向,整体双向
3. 常见总线
- ISA总线:支持16位IO设备
- EISA总线:支持32位IO设备
- PCI总线:内总线,与CPU相对独立,并行单向传输,奇偶校验
- PCI express:点对点串行连接
- SCSI:连接软硬盘、光盘、扫描仪等
- 前端总线FSB:连接CPU与北桥芯片
- RS-232C:外总线,串行传输
- SATA:主板和存储设备是数据传输
- 通用串行总线USB:即插即用,热插拔
- IEEE-1394:外总线,高速串行传输
- IEEE-488:位并行,字节串行,双向异步传输