计算机硬件基础总结

计算机系统体系结构

计算机体系结构是程序员所看到的计算机属性,包括计算机的逻辑结构和功能特征,硬软件之间的关系,设计思想与体系结构。

  • 计算机体系结构分类

按处理机数分类

  1. 单处理系统
  2. 并行处理与多处理系统
  3. 分布式处理系统

按并行程度分

  1. flynn分类法(根据指令流数据流分类):单指令流单数据流SISD,单指令多数据流SIMD,多指令单数据MISD,多指令多数据MIMD
  2. 冯泽云分类法:根据计算机系统在单位时间内能够处理的最大二进制位数分类(字串位串,字并位串,字串位并,字并位并)
  3. Handle分类法:基于硬件并行程度的计算方法。
  4. kuck分类法:根据指令流,执行流的多少进行分类。
  • 冯诺伊曼机

计算机硬件系统遵循冯诺伊曼机设计的体系结构,由运算器,存储器,寄存器,输入设备和输出设备组成。
运算器,控制器,寄存器组成CPU。
控制器由指令寄存器(IR),程序计数器(PC),地址寄存器(AR),数据寄存器(DR),指令译码器等组成
运算器由算数算数逻辑单元(ALU),通用寄存器等组成

指令系统

指令:计算机可以识别和执行的命令。
微操作:执行指令时,每个不见完成的基本操作。
指令系统: 计算机系统中可执行的指令集合。

  • 指令格式

指令由操作码和地址码组成。由零地址指令,单地址指令,等等
操作码:表示指令的操作性质及功能。可分为定长编码,变长编码。
地址码:指出指令的操作数据。

  • 寻址方式
  1. 立即寻址:指令中直接给出操作码
  2. 直接寻址:指令中给出的是操作码地址或所在寄存器地址
  3. 间接寻址:给出的是操作码地址的地址。
  4. 变址寻址:给出的地址,需与特定的地址值相加,得到操作码地址。
  • CISC 和 RISC指令集

CISC 复杂指令集计算机

指令数目多。
指令为可变长的指令。
指令控制器复杂。
有较丰富的寻址方式提供给用户。
编程相对容易,因为其可用的指令多,编程方式比较灵活。

RISC 精简指令集计算机

指令数目少。
指令格式规整。
指令控制器简单。
寻址方式使用尽可能少的寻址方式简化实现逻辑,提高效率。
实现与CISC相同的功能一般编程量更大。

RISC 流水线结构

  1. 超流水线技术:增加流水线级数。
  2. 超标量技术: 采用多条流水线同时执行。
  3. 超长指令字:将多条指令连在一起执行,以增加运算速度。

CPU结构

中央处理单元(CPU)由运算器,控制器,寄存器组和内部总线等构成

  • CPU指令的执行过程
  1. 取指令
  2. 取操作数
  3. 执行操作

指令周期: 完成一条指令所需的时间(取指令,分析指令,执行指令所花费的时间)
机器周期: 每个阶段所需的时间。
时钟周期: 时钟频率的倒数。

指令周期由若干个机器周期组成,每个机器周期由若干个时钟周期组成。

总线周期: CPU从存储器或I/O端口存期一字节所需的时间

  • CPU的主要性能指标

主频(时钟频率): CPU运算和处理数据的速度。
字长: CPU单位时间内能一次处理二进制数的位数。
缓存: CPU与主存之间的高速存储器,速度接近CPU。

  • 流水线

流水线: 将指令分解为多个小步骤,并让若干条不同指令的各个操作步骤重叠,从而实现若干条指令的并行处理,达到程序加速运行的目的。
流水线执行的总时间主要取决于流水线步骤中最长时间的那段操作。

  • 流水线的性能指标

吞吐率: 单位时间内可以处理的任务数(指令数)。
加速比: 串行模式的工作速度/流水线模式的工作速度。
效率: 流水线各段处于工作时间的时空区/流水线中各段总的时空区。

存储系统

存储系统基础

按存储应用分类

主存储器(随机存储器,只读存储器)
只读存储器:MROM,PROM,EPROM,E^2PROM
快擦型存储器 Flash Memory
辅存
Cache

按数据的存取方式分类

随机存取存储器(RAM): CPU可以对存储器中的数据随机存储,与信息所处的物理位置无关。
只读存储器(ROM): 信息固定在存储器内,只可读出,不能修改。
顺序存取存储器(SAM): 只能按某种顺序存取,存取时间的长短与信息在存储体上的物理位置相关。
直接存取存储器(DAM): 当需要存取信息时,直接指向整个存储器中的某个范围,然后在这个范围内顺序检索,找到目的地后再进行读写操作。
相联存储器(CAM): 基于数据内容进行访问的存储设备。当写入数据时,CAM能够自动选择一个未使用的空单元进行储备;读出数据时,使用数据的一部分内容进行检索地址。

存储器相关计算

存储容量: 存储器存放数据的总位数。 = 存储单元数 * 单元的位数
存取时间: CPU给出有效的存储器地址启动一次存储器读写操作,到完成操作的总时间。
存取周期: 连续两次启动存储器所需的最小时间间隔.

高速缓存

高速缓冲存储器(Cache): 把程序正在使用的部分放在一个高速缓存中,解决CPU与主存速度不匹配的问题,高速缓存速度与CPU相当。

映射策略:

  1. 直接映像: 主存块只能存放在Cache的相同块中。
  2. 全相联映像: 主存任何一块数据可以调入Cache的任一块中。
  3. 组相联映像: 结合直接映像和全相联映像。

RAID

RAID: 独立磁盘冗余阵列,利用磁盘阵列控制器和一组磁盘组成一个可靠的,高速的,大容量的逻辑硬盘。

RAID概念

条带: 将连续数据分成若干个大小相同的数据块,将每块数据分别存入阵列中不同磁盘相同位置上的方法。
条带长度: 一个横跨过的扇区或块的个数或者字节容量。条带长度 = 条带深度 * 条带经过的所有磁盘数。
条带深度: 一个条带在单块磁盘上所占的区域(Segment)。条带深度就是一个Segment所包含数据块或者扇区的个数或者字节容量。
条带宽度: 可以同时读,写条带数量,等于RAID中的物理硬盘数量。

硬盘存储器与网络存储

硬盘存储器

硬盘: 由一个或多个铝制或者玻璃制的碟片组成的存储器。
机械硬盘: 由盘片,磁头,接口,缓存,传动部件,主轴马达等组成。
硬盘物理参数:
盘片: 硬盘由许多个盘片组成,每个盘片由两个面,每面都有一个读写磁头。
磁道(head): 每个盘面都被划分为数目相等的磁道,且外缘从“0”开始编号。
柱面(Cylinder): 相同编号的磁道形成一个圆柱,称为柱面。磁盘的柱面数与单个盘面上的磁道数是相等的。
扇区(Sector): 每个盘片上的每个磁道又被划分为若干个扇区。
硬盘其他参数:
硬盘容量: 指硬盘能存储数据的数据量大小。硬盘容量 = 柱面数 * 磁道数 * 扇区数 * 512B。
硬盘转速: 硬盘主轴电机的转动速度,单位RPM(每分钟盘片转动次数)。
硬盘缓存: 硬盘与外部总线交换数据的暂时存储数据的场所。
平均访问时间: 硬盘磁道找到目标数据的平均时间。
平均寻道时间: 硬盘从一个磁道移动到另一个磁道所需要的平均时间。
SMART技术: 自检测,分析及报告技术。检测各硬件,预设安全值,并设置预警。
硬盘种类: SATA,SAS,固态。

网络存储

直连式存储(DAS): 存储设备直接连接到服务器上,存储设备只与一台独立的主机连接。
网络附属存储(NAS): 单独为网络数据存储开发的一种文件服务器来连接所有的存储设备。数据存储至此不再是服务器的附属设备,而成为网络的一个组成部分。
存储区域网络及其协议(SAN): 用于将多个计算机系统连接到存储设备和子系统。
面向对象的存储(OSD)

可靠性与系统性能评测

容错

容错: 当系统发生故障时也能提供服务。
可用性: 任何给定的时候都能及时工作。
安全性: 系统偶然出现故障能正常工作不造成任何灾难。
可维护性: 发生故障的系统被恢复的难易程度。
故障: 造成错误的原因。可分为按发生周期(暂时故障,间歇故障,持久故障),按性质(崩溃行故障,遗漏性故障,延时和响应故障,随机故障)。

提高系统可靠性方法:

  1. 非容错方法(避错): 以预防为主,是保障可靠性的主要方法。
  2. 容错方法: 在有故障发生时,仍能保障系统正常工作。

系统可靠性分析

平均无故障时间(Mean Time to Failure,MTTF): MTTF指系统无故障运行的平均时间,取所有从系统开始正常运行到发生故障之间的时间段的平均值。

平均修复时间(Mean Time to Repire, MTTR): MTTR指系统从发生故障到维修结束之间的时间段的平均值。
平均失效间隔(Mean Time Between Failure, MTBF): MTBF指系统两次故障发生时间之间的时间段的平均值。
失效率: 单位时间内失效元件和元件总数的比率。

系统可分为: 串联系统,并联系统,模冗余系统。

输入/输出技术

程序控制方式

程序控制方式可以分为:

  1. 无条件传送: 假定外设已准备好,随时无条件接收CPU的I/O指令。
  2. 程序查询: 条件传送,通过CPU执行程序。

中断方式

中断机制: CPU无需定期查询输入/输出系统状态,转而处理其他事物。当I/O系统完成后,发出中断通知CPU,CPU保存正在执行的程序现场,然后转入I/O中断服务程序完成数据交换;在处理完毕后,CPU将自动返回原来的程序继续执行。(为了解决程序控制方式CPU效率较低问题)

中断响应时间: 收到中断请求,停止正在执行的指令,保存执行程序现场的时间。

DMA方式

DMA: 在需要时替代CPU作为总线主设备,不受CPU干预,控制I/O设备与系统主存之间的直接数据传输。
DMA传输过程:

  1. 进行DMA时,DMAC(DMA Controler)接替CPU控制总线。
  2. DMAC传送地址信号和控制信号,实现外设与内存的数据交换。
  3. 数据交换完毕,CPU重新接管系统总线。
    DMAC获取系统总线的控制权可以采用的方式:
  4. CPU暂停: CPU交出控制权直到DMA操作结束。
  5. 周期窃取: CPU空闲时暂时放弃总线,插入一个DMA周期。
  6. 共享: CPU不使用系统总线时,则由DMAC传输。

输入/输出处理机(IOP)

  1. 选择传送: 连接多台快速I/O,但一次只能使用一台。
  2. 字节多路: 连接慢速I/O设备,交叉方式传递数据。
  3. 数据多路通道: 综合选择传送,字节多路的优点。

总线结构

总线: 计算机各种功能部件之间传送信息的公共通信干线。

总线分类

数据总线: 双向传输数据。DB宽度决定每次CPU和计算机其他设备的交换位数。
地址总线: 只单向传输CPU发出的地址信息,指明与CPU交换信息的内存单元。AB宽度决定CPU最大寻址能力。
控制总线: 传送控制信号,时序信号和状态信息等。每一根线功能确定,传输信息方向固定,每一根线单向传输信息,整体双向传递信息。

总线定义

总线频率: 总线实际工作频率,一秒钟传输数据的次数;是总线工作速度的一个重要参数,工作频率越高,速度越快。
总线周期: 指CPU从存储器或I/O端口存取一字节所需的时间。
总线带宽: 总线数据传输的速度。
总线宽度: 总线一次传输的二进制位的位数。

内部总线

内部总线: 在CPU内部,寄存器之间和ALU与控制部件之间传输数据所用的总线。

系统总线

系统总线: 连接计算机各功能部件而构成一个完整的计算机系统。是计算机各插件板与系统板之间的总线。
ISA,EISA,PCI,PCI-Express

外部总线

外部总线: 计算机和外部设备之间的总线。
RS-232-C,IEEE-488,USB,IEEE-1394,SATA

参考文献

  1. 网络操作系统,2019,机械工业出版社
  2. 软件设计师5天修炼