导图社区 计算机硬件基础
这是一篇关于计算机硬件基础的思维导图,内容有计算机结构、流水线技术、主存储器、高速缓冲存储器、辅助存储器。
编辑于2022-03-13 17:39:59第12章 计算机硬件基础知识
计算机结构
一、计算机的硬件组成
计算机硬件系统是依照冯·诺依曼所设计的体系结构, 即计算机由运算器、控制器、存储器、输入设备和输出设备五大部件组成。
运算器和控制器组成中央处理器(CPU)。
控制器负责依次访问程序指令,进行指令译码,并协调其他设 备,通常由程序计数器(PC)、指令寄存器、指令译码器、状态/ 条件寄存器、时序发生器、微操作信号发生器组成
程序计数器(PC):是用于存放下一条指令所在单元的地址。
指令寄存器(IR):存放当前从主存读出的正在执行的一条指令。
指令译码器:分析指令的操作码,以决定操作的性质和方法。
例:计算机在一个指令周期的过程中,为从内存读取指令操作码, 首先要将(A)的内容送到地址总线上。 A.指令寄存器(IR) B.通用寄存器(GR) C.程序计数器(PC) D.状态寄存器(PSW)
运算器负责完成算术、逻辑运算功能,通常由ALU(算术逻辑 单元)、寄存器、多路转换器、数据总线组成。
总线是CPU、内存、输入、输出设备传递信息的公用通道,主机 的各个部件通过总线相连,外部设备通过相应的接口电路与总线 相连,从而形成了计算机硬件系统。 系统总线包含三种不同功能的总线:
●数据总线 (Data Bus,DB) 用于传送数据信息 /双向 ●地址总线 (Address Bus,AB) 专门用来传送地址 /单向 ●控制总线 (Control Bus,CB) 传送控制信号和时序信
DMA
DMA(Direct Memory Access)控制器是一种在系统内部转移数据的独特外设,可以将其视为一种能够通过一组专用总线将内部和外部存储器与每个具有DMA能力的外设连接起来的控制器。它之所以属于外设,是因为它是在处理器的编程控制下来 执行传输的。
二、CPU特性
●指令周期:取出并执行一条指令所需的时间 ●总线周期:指CPU通过总线对存储器或I/O端口进行一次访问 (存取一个字节)所需的时间,也称为主振周期。 ●时钟周期:也称为振荡周期,是计算机中最基本的、最小的时 间单位。定义为时钟脉冲的倒数。 (i5 2.6GHz)
它们之间的关系:一个指令周期可以划分为一个或多个总线周期, 根据指令的不同,需要的总线周期也不同;而一个总线周期又可 分为几个时钟周期,通常是4个时钟周期,有些计算机可能不同。
1、计算总线数据传输速率 总线数据传输率=时钟频率/每个总线包含的时钟周期×每个总线 周期传送的字节数
例如:某系统总线的一个总线周期包含3个时钟周期,每个总线 周期中可以传送32位数据。若总线的时钟频率为33MHz,则总线 的带宽(即传输速度)应该是多少? 根据上述公式得出:33MHz/3×32b=11M×32b =11M×4B = 44MB/S f=1/T,T是周期。(其中f是指赫兹,T是指以秒为单位) 赫兹是国际单位制中频率的单位,它具体是指每秒中的周期性变动重复次数的计量。
2、计算系统速度(通常是指令/秒、事务项/秒)
计算每秒执行的指令数的关键,在于找出平均每条指令需要多少 个总线周期,然后将总线周期数(时钟频率/每个总线包含的时 钟周期数)除以这个平均周期数,就可以计算出来。 但通常不同的指令需要的总线周期数是不同的,这就需要有各种 指令需要的总线周期数,以及指令的频度,通过计算得出。 每秒指令数=时钟频率/每个总线包含的时钟周期数/指令平均占用 总线周期数
三、指令系统基础
指令由操作码和地址码两个部分组成的。 ●操作码指出该指令要完成什么操作 ●地址码提供原始的数据
在指令系统中用来确定如何提供操作数或提供操作数地址的方式 称为寻址方式和编址方式。 操作数可以采用以下四种寻址方式
●立即寻址:直接给出操作数而非地址。 ●直接寻址:直接给出操作数地址或所在寄存器号(寄存器寻址) ●间接寻址:给出的是指向操作数地址的地址。 ●变址寻址:给出的地址需与特定的地址值累加从而得出操作数 地址
例:在机器指令的地址字段中,直接指出操作数本身的寻址方式 称为( ) 。 A.隐含寻址 B.寄存器寻址 C.立即寻址 D.直接寻址
四、RISC与CISC
●为提高操作系统的效率,人们最初选择向指令系统中添加更多更复杂的指令来实现,导致指令集越来越大。这种类型的计算机称为复杂指令集计算机(CISC)。 ●对指令数目和寻址方式做精简,指令的指令周期相同,采用流水线技术,指令并行执行程度更好,这就是精简指令集计算机(RISC)
计算机执行程序的时间P由三方面因素决定: ●编译后产生的机器指令数 I ●执行每条指令所需的平均周期数CPI ●每个机器周期时间T 它们的关系是: P=I x CPI x T RISC正是通过简化指令的途径使计算机结构更合理,减少指令执 行周期数,提高运算速度的。虽然RISC编译后产生的机器指令数 I 增多了,但指令所需的周期数(CPI)和每个周期时间(T)都减少。
2019年上半年网络工程师考试上午真题7在以下关于RISC(精简指令集计算机)技术的叙述中,错误的是( B ) A. 指令长度固定、指令种类尽量少B. 指令功能强大、寻址方式复杂多样C. 增加寄存器数目以减少访存次数D. 用硬布线电路实现指令解码,快速完成指令译码 )。
RISC的英文全称为“Reduced Instruction Set Computer”,中文即“精简指令集计算机”。RISC构架的指令格式和长度通常是固定的(如ARM是32位的指令)、且指令和寻址方式少而简单、大多数指令在一个周期内就可以执行完毕。
流水线技术 流水线技术是指在程序执行时,多条指令重叠进行操作的一种任 务分解技术。把一个任务分解为若干顺序执行的子任务,不同的 子任务由不同的执行机构来负责执行,而这些执行机构可以同时 并行工作。
I1、C1、P1的执行必须严格按照I1,C1,P1的顺序; 而 C1与 I2,P1与 C2、I3 是可以同时执行的。
(1)计算执行时间 假定有某种类型的任务,可分成N个子任务,每个子任务需要时间t,则完成该任务所需的时间为N×t。 若以传统的方式,完成k个任务所需的时间是kNt。 使用流水线技术,花费的时间是Nt+(k-1)t。 注意,如果每个子任务所需的时间不同,其时间取决于执行顺序中最慢的那一个。
若指令流水线把一条指令分为取指令、分析和执行三部分 ,三部分的时间分别是取指令2ns,分析2ns,执行1ns。最长的 是2ns,因此100条指令全部执行完毕所需要的时间是: (2ns+2ns+1ns)+(100-1) x2ns=203ns
①流水线的吞吐率 指在单位时间内流水线所完成的任务数量或输出的结果数量。 n为任务数,Tk是处理完成n个任务所用的时间 例1的吞吐率为 100×109 /203=4.93×108/s
②加速比 是指不采用流水线的执行时间/采用流水线的执行时间。 用来衡量并行系统或程序并行化的性能和效果。 例1中的加速比为 500/203=2.46 (如果不采用流水线,则执行100条指令需要500 ns)
2018年上半年网络工程师考试上午真题9流水线的吞吐率是指单位时间流水线处理的任务数,如果各段流水的操作时间不同,则流水线的吞吐率是( )的倒数。 A. 最短流水段操作时间B. 各段流水的操作时间总和C. 最长流水段操作时间D. 流水段数目乘以最长流水段操作时间 试题答案:C试题解析:流水线处理机在执行指令时,把执行过程分为若干个流水段,若各流水段需要的时间不同,则流水线必须选择各级中时间较大者为流水段的处理时间。流水线的吞吐率是指单位时间流水线处理机输出的结果的数目,因此流水线在理论上的最大吞吐率为一个流水段周期的倒数,即最长流水段操作时间的倒数。
(2)影响流水线的主要因素
●转移指令:因为前面的转移指令还没有完成,流水线无法 确定下一条指令的地址,因此也就无法向流水线中添加这 条指令。 ●共享资源访问的冲突:后一条指令需要使用的数据,与前 一条指令发生冲突,或者相邻的指令使用了相同的寄存器 ●响应中断:当有中断请求时,流水线也会停止。对于这种 情况有两种响应方式:
主存储器 存储器是计算机系统中的记忆设备,用来存放程序和数据。 计算机中全部信息,包括输入的原始数据、计算机程序、中间运 行结果和最终运行结果都保存在存储器中。 存储器分为: ●寄存器 ●Cache(高速缓冲存储器) ●主存储器 ●辅存储器
一、存储器的存取方式
顺序存取
直接存取
随机存取
相关存取(属随机存取)
二、存储器的性能
存取时间:对于随机存取而言,就是完成一次读/写所花的时 间;对非随机存取,就是将读/写装置移动到目的位置所花的 时间
存储器带宽:每秒能访问的位数。通常存储器周期是纳秒级 (ns)。计算公式是:1/存储器周期×每周期可访问的字节数。 例如:存储器周期是200ns,每个周期可访问4B,则带宽 =1s/200ns×(4Bx8)=160Mbps。
数据传输率:每秒输入/输出的数据位数。 对于随机存取而言,传输率R=1/存储器周期。 例:地址编号从80000H到BFFFFH且按字节编址的内存容量为 ( B )KB,若用16K*4bit的存储芯片够成该内存 ,共需( C )片。 A.128 B.256 C.512 D.1024 A.8 B.16 C.32 D.64
三、主存储器
(1)主存储器的种类
1.RAM:随机存储器,可读/写,只能暂存数据,断电后数据丢失。 □SRAM:静态随机存储器,在不断电时信息能够一直保持,读 写速度快,生产成本高,多用于容量较小的高速缓冲存储器。 □DRAM:动态随机存储器,需要定时刷新以维持信息不丢失, 读写速度较慢,集成度高,生产成本低,多用于容量较大的 主存储器。
2.ROM:只读存储器,出厂前用掩膜技术写入,常用于存放BIOS和 微程序控制。
3.PROM:可编程ROM,只能够一次写入,需用特殊电子设备进行 写入。
4.EPROM:可擦除的PROM,用某种方法可擦去信息,可写入多次。
5.E2PROM:电可擦除EPROM,可以写入,但速度慢。
6.闪速存储器(Flash Memory):其特性介于EPROM与E2PROM之间。 但不能进行字节级别的删除操作。
7.CAM(相联存储器):CAM是一种特殊的存储器,是一种基于 数据内容进行访问的存储设备。其速度比基于地址进行读写的方 式要快
(2)主存储器的组成
实际的存储器是由一片或多片存储器配以控制电路构成。其容量 为W x B,W是存储单元( word,字)的数量,B表示每个word由多 少bit(位)组成。如果某一芯片规格为w x b,则组成WxB的存储 器需要用(W/w)×(B/b)个芯片。
(3)主存储器的地址编码 主存储器(内存)采用随机存取方式,需对每个数据块进行编码, 而在主存储器中,数据块是以word为单位来标识的,即每个字一 个地址,通常采用十六进制表示。
例1:内存按字节编址,从A1000H到B13FFH的区域的存储容量 为( )KB A.32 B.34. C.65 D.67
Cache(高速缓冲存储器)
高速缓冲存储器是位于主存与CPU之间的一级存储器, 由静态存 储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于 CPU的速度。但其成本更高,因此Cache的容量要比内存小得多。 Cache存储了频繁访问内存的数据
2019年下半年网络工程师考试上午真题13在CPU内外常设置多级高速缓存(Cache),其主要目的是() A. 扩大主存的存储容量 B. 提高CPU访问主存数据或指令的效率 C. 扩大存储系统的容量 D. 提高CPU访问外存储器的速度试题答案:B试题解析:由于在CPU与存储系统之间存在着数据传送带宽的限制,因此在其中设置了 Cache(高速缓冲存储器,简称高速缓存,通常传输速度比主存更快),以提高整体效率,但由于其成本更高,因此Cache的容量要比主存小得多。
(1) Cache原理、命中率、失效率使用Cache改善系统性能的主要依据是程序的局部性原理。
命中率、失效率 Cache的访问命中率为h(通常1-h就是Cache的失效率),Cache的 访问周期时间是t1,主存储器的访问周期时间是t2,则整个系统 的平均访存时间就是:t3=h x t1+(1-h)x t2
例:某流水线计算机主存的读/写时间为100ns,有一个指令和数 据合一的Cache,该Cache的读/写时间为10ns,取指令的命中率 为98%,取数据的命中率为95%。在执行某类程序时,约有1/5指 令需要存/取一个操作数。假设指令流水线在任何时候都不阻 塞,则设置Cache后,每条指令的平均访存时间约为多少?
(2) Cache存储器的映射机制 分配给Cache的地址存放在一个相联存储器(CAM)中。CPU发生 访存请求时,会先让CAM判断所要访问的数据是否在Cache中, 如果命中就直接使用。这个判断的过程就是Cache地址映射,这 个速度应该尽可能快。
1、直接映射 是一种多对一的映射关系,但一个主存块只能够复制到Cache的 一个特定位置上去。 Cache的行号 i 和主存的块号 j 有函数关系: i = j % m(其中m为Cache总行数)
例:某Cache容量为16KB(可用14位表示),每行的大小为16B (即可用4位表示),则说明其可分为1024行(可用10位表示)。 主存地址的低4位为Cache的行内地址,中间10位为Cache行号。 如果内存地址为1234E8F8H,那么最后4位就是1000(对应十六进 制数的最后一位),而中间10位,则应从E8F(1110 1000 1111)中 获取,得到10 1000 1111 。内存地址为1234E8F8H的单元装入的 Cache地址为10 1000 1111 1000。
2、全相联映射 将主存中任一主存块能映射到Cache中任意行(主存块的容量等 于Cache行容量)。 根据主存地址不能直接提取Cache页号,而是需 要将主存块标记与Cache各页的标记逐个比较, 直到找到标记符合的页(访问Cache命中),或 者全部比较完后仍无符合的标记(访问Cache失 败)
3、组相联映射 是前两种方式的折中方案。它将Cache中的块再分成组,各组之 间是直接映像,而组内各块之间则是全相联映像。 主存地址=区号+组号+组内块号+块内地址号
例:容量为64块的Cache采用组相联方式映射,字块大小为128个 字,每4块为一组。若主存容量为4096块,且以字编址,那么主 存地址应该为多少位?主存区号为多少位? 首先根据主存块与Cache块的容量必须一致,得出内存块大小也 是128个字,因此共有128x4096个字,即2^19 (2^7x2^12)个字,因此需 19位主存地址;其中:块内地址号为7位,以表示128个字。一组 为4块,则组内块号用2位表示。Cache容量为64块,共分16组, 故 组号需要4位地址表示。剩余的即为区号,为6位。
(3) Cache淘汰算法 当Cache数据已满,并且出现未命中情况时,就要淘汰一些老的 数据,更新一些新的数据进入Cache 。选择淘汰哪些数据的方法 就是淘汰算法。常见的方法有三种: 随机淘汰算法 先进先出淘汰算法( FIFO) 最近最少使用淘汰算法(LRU) 其中平均命中率最高的是LRU算法。
(4) Cache存储器的写操作 在使用Cache时,需要保证其数据与主存一致,因此在写Cache时 就要考虑与主存间的同步问题,通常使用以下三种方法: 写直达:当Cache写命中时,Cache与主存同时发生写修改。 写回:当CPU对Cache写命中时,只修改Cache的内容而不立即 写入主存,当此行被换出才写回主存 标记法:数据进入Cache后,有效位置1;当CPU对该数据修改时, 数据只写入主存并将该有效位置0。当要从Cache中读取数据时 要测试其有效位,若为1则直接从Cache中取数,否则从主存中 取数
辅助存储器与RAID
一、磁带存储器 磁带是一种顺序存取的设备。 特点:存储容量大,价格便宜。适合数据的备份存储。
二、磁盘存储器
三、RAID(独立磁盘冗余阵列)
把多个相对便宜的磁盘组合起来,成为一个磁盘组,配合数据分 散排列的设计,提升数据的安全性和整个磁盘系统效能。 ●利用多磁盘来提高数据传输率; ●通过数据冗余与校验实现可靠性。 RAID应用的主要技术:分块技术、交叉技术和重聚技术。
(1) RAID 0级(无冗余和无校验的数据分块) RAID 0原理是把连续的数据分散到多个磁盘上存取,数据请求被 多个磁盘并行执行,每个磁盘执行属于自己的那部分数据请求。 这种数据上的并行操作充分利用总线的带宽,显著提高磁盘整体 存取性能。
(2) RAID 1级(磁盘镜像阵列) 由磁盘对组成,每个工作盘都有其对应的镜像盘,上面保存着与 工作盘完全相同的数据拷贝,具有最高的安全性,但磁盘空间利 用率只有50%。RAID 1主要用于存放系统软件、数据及其他重要 文件
(3) RAID 2级(采用纠错海明码的磁盘阵列) RAID 2采用海明码纠错技术,用户增加校验盘来提供纠错和验错 功能,磁盘驱动器组中的第1个、第2个、第4个......第2n个磁盘驱 动器是专门的校验盘,用于校验和纠错,其余的用于存放数据。 RAID2最少要三台磁盘驱动器方能运作。
(4) RAID 3级(采用带奇偶校验码的并行传送) RAID 3把数据分成多个“块”,按照奇偶校验算法存放在N+1个 硬盘上,实际数据占用的有效空间为N个硬盘的空间总和,第N+1 个硬盘上存储的数据是校验容错信息。
(5) RAID 4级 (带奇偶校验码的独立磁盘结构) RAID4和RAID3很像,不同的是,它对数据的访问是按数据块进行 的(一个数据块是一个完整的数据集合,比如一个文件就是一个典 型的数据块。一个数据块存储在一个磁盘上),也就是按磁盘进行 的,每次是一个盘。RAID 4使用一块磁盘作为奇偶校验盘,每次 写操作都需要访问奇偶盘,这时奇偶校验盘成为写操作的瓶颈。
(6) RAID 5级(无独立校验盘的奇偶校验码磁盘阵列) RAID 5把数据和奇偶校验信息存储到组成RAID5的各个磁盘上,并 且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。 当RAID5的一个磁盘数据损坏后,利用剩下的数据和相应的奇偶 校验信息去恢复被损坏的数据。 RAID5磁盘空间利用率较高:(N-1)/N
例:假如有 3 块容量是 80G 的硬盘做 RAID 5 阵列,则这个 RADI 5 的容量是( );而如果有 2 块 80G 的盘和 1 块 40G 的盘,此时 RAID 5 的容量是( )。 A、240G B、160G C、80G D、40G A、40G B、80G C、160G D、200G