
计算机硬件组成-运算、控制、存储、输入/输出设备
关于操作系统硬件组成中具体详情的学习笔记
参考来源:
summer课堂网规内部课件:05-补充知识:计算机硬件ppt,130/248
计算机硬件组成
计算机硬件系统依旧为冯诺依曼(扩展:图灵)设计的体系结构,即由**运算器、控制器、存储器、输入/输出设备(I/O)**五大部件组成。
理解计算过程,比如1+1
硬件组成之CPU,运算、控制
运算器和控制器组成中央处理器(CPU)
运算器负责完成算术、逻辑运算功能,通常由ALU(算术/逻辑单元)、寄存器、多路转换器、数据总线构成。
控制器负责访问程序指令,进行指令译码,并协调其他设备,通常由程序计数器(PC)、指令寄存器、指令译码器、状态/条件寄存器、时序发生器、微操作信号发生器组成。 指令执行:取指、译码、执行
控制器的几个重要组件
程序计数器(PC):是用于存放下一条指令所在单元的地址。(最常考!!!)
指令寄存器(IR):存放当前从主存读出的正在执行的一条指令。
指令译码器:分析指令的操作码,以决定操作的性质和方法。
寄存器的作用和分类
寄存器用于暂存寻址和计算过程的信息。分为:
•累加器:是一个数据寄存器,在运算过程中暂时存放被操作数和中间运算结果。是通用寄存器的一种。
•通用寄存器组:是CPU中的一组工作寄存器,用于暂存操作数或地址。
•其他寄存器:标志寄存器、指令寄存器
计算机执行指令过程
•处理器首先从PC中取出指令在内存中的地址,通过地址总线寻址获取
•然后,把从内存中取出的这条指令经数据总线送往指令寄存器中
•指令的操作码被送到指令译码器中译码,地址码则送到地址形成部件,地址形成部件根据指令特征将地址码形成有效地址,取出数据参与操作。
硬件组成之总线,通信道路
总线是一种内部结构,它是CPU、内存、输入/输出设备传递信息的共用通道,主机的各部件通过总线互相连接,外部设备通过相应的接口电路与总线相连接,从而形成了计算机硬件系统。
系统总线包含三种不同功能的总线,即数据总线(DB)、地址总线(AB)和控制总线(CB)
•数据总线(Data Bus,DB):用于传递数据信息
•地址总线(Address Bus,AB):专门用来传送地址(位数决定内存大小 32位最大4G)
•控制总线(Control Bus,CB):用来传送控制信号和时序信号
CPU特性(指令周期、总线周期、时钟周期)
指令周期:取出并执行一条指令所需的时间,也叫机器周期。 (取指、分析、执行)
总线周期:指CPU从存储器或I/O端口进行一次访问(存取一个字节)所需的时间,也称为主振周期。
时钟周期:也称为振荡周期,是计算机中最基本的、最小的时间单位。定义为时钟脉冲的倒数。(i5 2.9GHz)
它们之间的关系:一个指令周期可以划分为一个或多个总线周期,根据指令的不同,需要的总线周期也不同;而一个总线周期又可分为几个时钟周期,通常是4个时钟周期,有些计算机可能不同。
计算总线数据传输速率
总线数据传输率=时钟频率/每个总线包含的时钟周期×每个总线周期传送的字节数
例如:某系统总线的一个总线周期包含3个时钟周期,每个总线周期中可以传送32位数据。若总线的时钟频率为33MHz,则总线的带宽(即传输速度)应该是多少?
根据上述公式得出:33MHz/3×32b =11M×32b
=11M×4B
= 44MB/S
方法二:速度=传输数据总量/传输花的时间
=32bit / (3* 1/33M)
=32*11Mbit/S
=44MB/S
指令系统基础
指令由操作码和地址码两个部分组成的。
操作码指出该指令要完成什么操作
地址码提供原始的数据(操作数)
在指令系统中用来确定如何提供操作数或提供操作数地址的方式称为寻址方式和编址方式。操作数可以采用以下四种寻址方式:
立即寻址:直接给出操作数而非地址。
直接寻址:直接给出操作数地址或所在寄存器号(寄存器寻址)
间接寻址:给出的是指向操作数地址的地址。
变址寻址:给出的地址需与特定的地址值累加从而得出操作数地址
RISC与CISC(CPU指令集架构)
为提高操作系统的效率,人们最初选择向指令系统中添加更多、更复杂的指令来实现,导致指令集越来越大。这种类型的计算机称为复杂指令集计算机(CISC)。
对指令数目和寻址方式做精简,指令的指令周期相同,采用流水线技术,指令并行执行程度更好,这就是精简指令集计算机(RISC)。 扩展:小型机、Intel与IBM
计算机执行程序的时间P由三方面因素决定:
•编译后产生的机器指令数 I
•执行每条指令所需的平均周期数 CPI
•每个机器周期时间 T
它们的关系是: P=I x CPI x T
RISC正是通过简化指令的途径使计算机结构更合理,减少指令执行周期数,提高运算速度的。虽然RISC编译后产生的机器指令数I 增多了,但指令所需的周期数(CPI)和每个周期时间(T)都减少。
流水线
流水线技术是指在程序执行时,多条指令重叠进行操作的一种任务分解技术。
把一个任务分解为若干顺序执行的子任务,不同的子任务由不同的执行机构来负责执行,而这些执行机构可以同时并行工作。
I1、C1、P1的执行必须严格按照I1,C1,P1的顺序,而C1与I2,P1与C2、I3 是可以同时执行的。
计算流水线执行时间
假定有某种类型的任务,可分成N个子任务,每个子任务需要时间t,则完成该任务所需的时间为N×t。
若以传统的方式,完成k个任务所需的时间是kNt。
使用流水线技术,花费的时间是Nt+(k-1)t。
注意,如果每个子任务所需的时间不同,其时间取决于执行顺序中最慢的那一个。
示例:
若指令流水线把一条指令分为取指令、分析和执行三部分,三部分的时间分别是取指令2ns,分析2ns,执行1ns。最长的是2ns,因此100条指令全部执行完毕所需要的时间是:
(2ns+2ns+1ns)+(100-1) x2ns=203ns 现在考试选这个
2ns+2ns+2ns+(100-1)x2ns=204ns 早期考试选这个
流水线的吞吐率
指在单位时间内(基本是1秒)流水线所完成的任务数量或输出的结果数量。
n为任务数,Tk是处理完成n个任务所用的时间
上面案例的吞吐率为=100/ (203*10-9)
=100×109/203
=4.93×108/s
吞吐率另一个公式:p=1/ △t=1/max(t1,t2…t3)
加速比
加速比:指不采用流水线的执行时间/采用流水线的执行时间。
用来衡量并行系统或程序并行化的性能和效果。
例1中的加速比为500/203=2.46
(如果不采用流水线,则执行100条指令需要500 ns)
影响流水线的主要因素
转移指令:因为前面的转移指令还没有完成,流水线无法确定下一条指令的地址,因此也就无法向流水线中添加这条指令。
共享资源访问的冲突:后一条指令需要使用的数据,与前一条指令发生冲突,或者相邻的指令使用了相同的寄存器
响应中断:当有中断请求时,流水线也会停止。对于这种情况有两种响应方式:
精确断点法:立即停止,这种方法能够立即响应中断;
不精确断点法:流水线中的指令继续执行,不再新增指令到流水线
计算机组成之内存,存储器
存储器是计算机系统中的记忆设备,用来存放程序和数据。
计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。
存储器分为:
寄存器
Cache(高速缓冲存储器)
主存储器
辅存储器
从下到上,速度越来越快,容量越来越小,成本越来越高
存储器的存取方式
存储器的性能(容量、速度、效率)
存储容量
存取时间:对于随机存取而言,就是完成一次读/写所花的时间;对非随机存取,就是将读/写装置移动到目的位置所花的时间。 SSD固体硬盘快
存储器带宽:每秒能访问的位数。通常存储器周期是纳秒级(ns)。
•计算公式是:1/存储器周期×每周期可访问的字节数。
•例如:存储器周期是200ns,每个周期可访问4B,则带宽=1s/200ns×(4Bx8)=160Mbps。
主存储器类型
- RAM:随机存储器,可读/写,只能暂存数据,断电后数据丢失。
- SRAM:静态随机存储器,在不断电时信息能够一直保持,读写速度快,生产成本高,多用于容量较小的高速缓冲存储器。
- DRAM:动态随机存储器,需要定时刷新以维持信息不丢失,读写速度较慢,集成度高,生产成本低,多用于容量较大的主存储器。
- ROM:只读存储器,出厂前用掩膜技术写入,常用于存放BIOS和微程序控制
- PROM:可编程ROM,只能够一次写入,需用特殊电子设备进行写入。
- EPROM:可擦除的PROM,用某种方法可擦去信息,可写入多次。
- E2PROM:电可擦除EPROM,可以写入,但速度慢。
- 闪速存储器(Flash Memory):其特性介于EPROM与E2PROM之间。但不能进行字节级别的删除操作。
- CAM(相联存储器):CAM是一种特殊的存储器,是一种基于数据内容进行访问的存储设备。其速度比基于地址进行读写的方式要快。
主存/内存组成部分 (内存条硬件的构成)
主存储器一般由地址寄存器、数据寄存器、存储体、控制线路和地址译码电路等部分组成。
实际的存储器是由一片或多片存储器配以控制电路构成。其容量为W x B,W是存储单元( word,字)的数量,B表示每个word由多少bit(位)组成。如果某一芯片规格为w x b,则组成WxB的存储器需要用(W/w)×(B/b)个芯片。
主存储器地址编码
主存储器(内存)采用随机存取方式,需对每个数据块进行编码,而在主存储器中,数据块是以字为单位来标识的,即每个字一个地址,通常采用十六进制表示。
例如,内存地址编址从A4000H—CBFFFH。则表示内存空间有(CBFFF-A4000)+1bit,即28000H bit,也就是163840 bit,等于160KB。
Cache(高速缓冲存储器)
高速缓冲存储器是位于主存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多,接近于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总行数)
2、全相联映射
将主存中任一主存块能映射到Cache中任意行(主存块的容量等于Cache行容量)。
根据主存地址不能直接提取Cache页号,而是需要将主存块标记与Cache各页的标
记逐个比较,直到找到标记符合的页(访问Cache命中),或者全部比较完后仍无
符合的标记(访问Cache失败)
主存块标记与Cache各页的标记逐个比较,所以这种映射方式速度很慢,失掉了高
速缓存的作用,这是全相联映射方式的最大缺点。如果让主页标记与各Cache标记
同时比较,则成本太高。
3、组相联映射
是前两种方式的折中方案。它将Cache中的块再分成组,各组之间是直接映像,而
组内各块之间则是全相联映像。
主存地址=区号+组号+组内块号+块内地址号
3) Cache淘汰算法
当Cache数据已满,并且出现未命中情况时,就要淘汰一些老的数据,更新一些新
的数据进入Cache 。选择淘汰哪些数据的方法就是淘汰算法。常见的方法有三种:
随机淘汰算法
先进先出淘汰算法( FIFO)
最近最少使用淘汰算法(LRU)
其中平均命中率最高的是LRU算法。
4) Cache存储器的写操作
在使用Cache时,需要保证其数据与主存一致,因此在写Cache时就要考虑与主存
间的同步问题,通常使用以下三种方法:
•写直达:当Cache写命中时,Cache与主存同时发生写修改。
•写回:当CPU对Cache写命中时,只修改Cache的内容而不立即写入主存,当此行被换出才写回
主存
•标记法:数据进入Cache后,有效位置1;当CPU对该数据修改时,数据只写入主存并将该有效位
置0。当要从Cache中读取数据时要测试其有效位,若为1则直接从Cache中取数,否则从主存中
取数。
计算机组成之存储
存储
1、存储硬件系统(磁盘阵列,控制器,磁盘柜,磁带库等)
2、存储软件(备份软件:管理软件,快照,复制等增值软件)
3、存储网络(HBA卡,光纤交换机,FC/SAS线缆等)
4、存储解决方案(集中存储,归档,备份,容灾等)
存储是企业数据的“家”
存储发展历程:从附属于服务器,剥离成独立系统
存储主要协议
存储主要协议对比
其他协议:SAS协议、AOE协议、Infiniband协议等
iSCSI协议栈
机械硬盘与SSD硬盘对比
机械硬盘的连续读写性很好, 但随机读写性能很差。因为磁头移动至正确 的磁道上需要
时间,随机读写时,磁头不停的移动,时间都花在了磁头寻道上, 所以性能不高。
随机读写频繁的应用:小文件存储(图片)、数据库、邮件服务器(关注IOPS)
顺序读写频繁的应用:视频监控、视频编辑(关注吞吐量)
##END提示,>O<
更多推荐
所有评论(0)