计算机组成原理复习(2)——计算机体系结构

版权声明:本文为博主原创,未经博主允许不得转载。 https://blog.csdn.net/weixin_36904568/article/details/89678051

一:基本概念

1. 定义

  • 计算机体系结构:计算机的概念性结构和功能属性
  • 计算机组织:计算机体系结构的逻辑实现
  • 计算机实现:计算机组织的物理实现

2. 计算机体系结构的分类

(1)按处理机的数量分类

  • 单处理系统:利用一个处理单元与其他外部设备结合起来
  • 并行处理和多处理系统:将两个以上的处理机连接起来,彼此通信协调
  • 分布式处理系统:物理上远距离和松耦合的多计算机系统

(2)按并行程度分类

按指令流和数据流的数量分类
  • 单指令流 单数据流
  • 多指令流 单数据流
  • 单指令流 多数据流
  • 多指令流 多数据流
基于硬件并行程度分类
  • 处理机级
  • 处理机中的算逻单元级
  • 每个算逻单元级的逻辑门电路级

二:指令系统

1. 定义

一个处理器支持的指令和指令的字节级编码称为指令集体系结构

2. 分类

  • 堆栈
  • 累加器
  • 寄存器组:可以保持计算的值或变量,加快程序的运行
    • 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:直接映像

主存块与缓存块分为多个区,区之间对应关系固定。

  1. 若主存区号与缓存中记录的主存区号相同,则命中
  2. 通过主存块号获取缓存块号
  3. 通过主存块内地址+缓存块号获取数据
特点
  • 简单
  • 灵活性差
2:全相联映像

主存和缓存分为大小相同的多个块,块之间可以随意对应

  • 块的大小=2快内地址位数
  • 主存块的个数=主存大小÷块大小,表示主存块号需要使用(log2主存块个数)位
  • 缓存块的个数=缓存大小÷块大小,表示缓存块号需要使用(log2缓存块个数)位
  • 相联存储器需要的单元个数=缓冲块个数,每个单元的位数=(log2主存块个数)位
  1. 若主存的主存块号与相联存储器的主存块号相同则命中
  2. 通过主存块号获取对应的缓存块号
  3. 通过块内地址+缓冲块号获取数据

特点:

  • 灵活
  • 无法直接获取缓存记录的主存块号,速度慢
3:组相联映像

缓存分为多个块,同时再将块分为多个组。主存分为多个区,每个区也分多个组。组之间采用直接映像,组内的块采用全相联映像。

  1. 若主存组号与缓存中记录的主存组号相同,则命中
  2. 若主存的主存块号与相联存储器的主存块号相同则命中
  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调度
  • 中央处理器停止法
  • 总线周期分时法
  • 总线周期挪用法
过程
  1. 外设向DMA提出请求
  2. DMA向CPU提出请求
  3. CPU进行响应,放弃总线
  4. DMA开始占用总线,向外设发出响应信号
  5. 传送数据
  6. 传送完毕,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:位并行,字节串行,双向异步传输

猜你喜欢

转载自blog.csdn.net/weixin_36904568/article/details/89678051