计算机硬件基础
一、 计算机的硬件组成
计算机由运算器、控制器、存储器(指内存)、输入设备和输出设备五大部件组成
运算器和控制器组成中央处理器(CPU)
控制器负责依次访问程序指令,进行指令译码,并协调其他设备,通常由程序计数器(PC)、指令寄存器、指令译码器、状态/条件寄存器、时序发生器、微操作信号发生器组成
1、程序计数器(PC):存储程序指令的起始地址,用于存放下一条指令所在单元的地址,程序员可以访问。
2、指令寄存器(IR):存放当前从主存读出的正在执行的一条指令
3、指令译码器:分析指令的操作码、以决定操作的性质和方法。
计算机要执行指令时,处理器首先要从PC中取出指令在内存中的地址,通过地址总线寻址获取。然后,把内存中取出的指令经数据总线送往指令寄存器中。指令的操作码被 送到指令译码器中译码,地址码则送到地址形成部件,地址形成部件根据指令将地址码形成有效地址,取出数据参与操作。
寄存器组:实现用于暂时存放寻址和计算过程中的信息。CPU中的寄存器通常分为5大类:存放数据,存放地址,存储控制信息,存储状态信息和其它寄存器。
状态寄存器(SR):也称标志寄存器,用于保存指令执行完成后产生的标志信息,比如溢出标志(V),奇偶标志位(P)。另外还要保存中断和系统工作状态。
地址寄存器(AR):用来保存当前CPU所访问的内存单元的地址。包括堆栈指示器,这址寄存器,段地址寄存器等。
运算器负责完成算术、逻辑运算和 移位操作、通常由ALU(算术逻辑单元)、累加器(AC)、通用寄存器(GR)、状态寄存器(SR)、数据缓冲寄存器,多路转换器、数据总线组成。
ALU(算术逻辑单元):执行算术或逻辑运算
累加器(AC): 保存操作数和运算结果
通用寄存器(GR):用于存储操作数或地址,包括数据寄存器,指针寄存器等。其作用是减少CPU访问存储器的次数,提高运算速度。
总线:是CPU、内存、输入、输出设备传送信息的公用通道,主机的各个部件通过总线相连,外部设备通过相应的接口电路与总线相连,从而形成计算机硬件系统
总线系统:
定义:总线是一组用来连接计算机各个设备的公共信息传送线路。
按工作任务分类:数据总线、地址总线、控制总线
按数据传输方式:并行总线,串行总线
按物理结果分类:单总线结构,双总线结构,三总线结构
按工作任务分类:
数据总线(DB)用于传送数据信息,双方传输;
地址总线(AB)专门用来传送地址,单向传输,地址总线的位数决定了寻址空间的大小,如果地址总线为n位,则地址总线的可寻址空间为
;
控制总线(CB)传送控制信息和时序号,双向的;
按数据传输方式:
并行总线:并行就是数据是一组一组的同时发送。优点数据传输速度快,缺点是远距离传输成本高。常见的并行总线有:内存,PAPA硬 盘,PCI,STD,IEEE488
串行总线:串行就是数据一位一位的顺序发送。优点成本低,适用于长距离传输。缺点传输速度慢,常见的串行总结有:USB,SATA硬盘,PCI-E,RS232
按物理结构分类:
单总线结构:用一条系统总线将各个部件连接起来。优点控制简单方便,扩充方便。缺点是总线只能采用分时工作,即一时刻只能有两个设备可以传送数据,系统整体的数据传输效率和速度受到限制。
双总线结构:在单总结的基础上,在CPU和主存之间专门架设一组高速存储总线。优点是CPU可以通过存储总线访问主存,提高了信息传送的吞吐量,缺点是外部设备与主存储器这间的信息交换必须通过CPU才能进行中转,从而降低了CPU的工作效率(或增加了CPU的占用率)
三总线结构:在双总线结构的基础上增加了I/O总线,适用于大型计算机。
二、CPU特性
指令周期:取出并执行一条指令所需的时间;
总线周期:指CPU通过总线对存储器或I/O端口进行一次访问(存取一个字节)所需的时间,也 称为主振周期;
时钟周期:也是振荡周期,是计算机中最基本的、最小的时间单位。定义为时钟脉冲倒数
它们之间的关系:一个指令周期可以划分为一个或多个总线周期,指令不同,需要的总线周期也不同;一个总线周期又可分为几个时钟周期,通常为4个时钟周期。
1、计算总线数据传输速率
总线数据传输率=时钟频率/每个总线包含的时钟周期*每个总线周期传送的字节数
如:系统总线的一个总线周期包含3个时钟周期,每个总线周期可以传送32位数据。若总线的时候频率为33MHZ,则总的带宽(即传输速度)应该是多少?
根据上述公式得出: 33MZH/3 * 32 b=11M * 32b =11M*4B=44MB/S
2、计算系统速度(通常是指令/秒)
计算每秒执行指令数的关健,在于找出平均每条指令需要多少个总线周期,然后将总线周期数(时钟频率/每个总线包含的时钟周期数)除以这个平均数,就可以计算出来。
但通常不同的指令要的总线周期数不同,这就需要有各种指令需要的总线周期数,以及指令的频度,通过计算得出。
每钞指令数=时钟频率/每个总线包含的时钟周期数/指令平均占用总线周期数
三、指令系统基础
1、指令由操作码和地址码两个部分组成,操作码指出该指令完成什么操作,地址码提供原始的操作数或操作数地址。
2、 在指令系统中用来确定如何提供操作数或提供操作数地址的方式称为寻址方工和编址方式
3、指令系统的功能:数据传输,算术逻辑操作,移位操作,控制操作
4、指令长度:分为固定长度和可变长度,一般为字节的整数倍。
操作数可以采用以下七种寻址方式:
- 立即寻址:直接给出操作数而非地址(速度最快)
- 直接寻址:直接给出操作数地址或所在寄存器号(寄存器地址)
- 间接寻址:给出的是指向操作数地址的地址
- 寄存器寻址:操作数存放在某一寄存器中,指令中给出操作数的地址是寄存器编号。
- 寄存器间接寻址:操作数存放在内存中,操作数所有内存地址放在某个寄存器中。
- 相对寻址:指令中的地址码给出的是一个偏移量,操作数地址等于程序计数器PC 中的地址加上指令中的偏移量。
- 变址寻址:给出的地址需与特定的地址值累加从而得出操作数地址。
指令系统:
1、复杂指令集(CISC):
- CISC和RISC是当前CPU的两种设计架构
- 区别在CPU的设计理念和方法不同
- 计算的CPU一般都是CISC
- 工控机和手机一般都使用RISC
2、精简指令集(RISC):
CISC主要架构有: X86 X64和IA64指令集
RISC主要架构有: ARM 、MIPS和 RISC-V指令集
RISC采用流水线技术和较少的通用寄存器
四、计算执行时间
1、流水线周期=执行时间最长的那个指令(例如,取指令3,分析指令2,执行指令5ns)
2、流水线执行时间=(取指令t 分析指令 执行) (总指令-1)*流水线周期 (快速计算公式=最长时间*指令数 其它时间)
3、流水线技术指标:吞吐率=总指令数/ 流水线执行时间
假定有某种类型的任务,可分成N个子任务,每个子任务需要时间t,则完成该任务需要的时间为N*t
以传统方式,完成K个任务所需的时间是kNt.
使用流水线技术,花费的时间是Nt (k-1)t,注意,如果每个子任务所需要的时间不同,其时间取于执行顺序中最慢的那一个。
例:若指令流水线把一个指令,分为取指令、分析和执行三部分,三部分的时间取指令3ns,分析2ns,执行1ns,最长的是3ns,因此100条指令全部执行完毕所需要的时间是
(3 2 1) (100-1)*3=303ns
不采用流水线的时间:(3 2 1)*100=600ns
1、流水线的吞吐率:在单位时间内流水线所完成的任务数量或输出的结果数量。
TP=n/Tk
n为任务数,Tk是处理完成n个任务所用的时间
2、加速度:指不采用流水线的执行时间/采用流水线执行时间。用来衡量并行系统或程序并行化的性能和效果。
例1中的加速比为 600/303=1.98ns
存储器:寄存器(容量最小、速度最快、价格最高)、Cache(高速缓存)、主存、辅存。
随机存储器:RAM,分为用于制作内存的DRAM动态存储器和用于制作高速缓存的SRAM静态存储器。
存储体系:层次结构
层次:大多数计算机都采用3层存储架构
结构:高速缓存存储器Cache 主存储器、外存储器。
目的:解决存储容量、成本和速度之间的矛盾。
访问:高速缓存和主存可以直接被CPU访问。
原理:程序存储在外存上,CPU要执行程序,先把程序从外存调入内存,再调入高速缓存,最后被CPU执行。
命中率:CPU在Cache中访问信息的概率,假如CPU对Cache的访问次数为N1,对主存的访问次数为N2,则命中率H=N1/(N1 N2)
平均存取时间:如果cache的命中率为H,cache的访问周期为T1,主存的访问周期为T2,则平均存取时间T=H*T1 (1-H)*T2,访问效率=T1/T
Cache淘汰算法:是指当cache被占满后,调入新数据据时采用的替换机制,分为先进先出法FIFO最不经常使用法,近期最少使用法,随机替换法。
cache映射机制:是指主存与cache的地址映射方式。分为直接映射,全相联映射,组相联映射。
接口控制方式:
1、直接程序控制方式( ):
也叫轮询方式,早期的计算机系统中没有中断机制,CPU需要定期对各个I/O设备的状态进行查询,判读外设是否准备好进行数据传送,
直接程序控制方式又分为程序查询方式和立即程序传送方式。
2、中断方式
I/O接口设置有中断控制器,当I/O设备发出中断请求后,CPU暂停执行正在运行的程序,使用堆栈保护好程序的断点和中断向量(中断程序入口),转而去处 理中断请求,处理完成后再返回来继续执行程序。
3、DMA方式
DMA方式采用专门的DMA控制器来管理内存与外设的数据传送,在不受CPU干预的情况下,控制I/O设备与系统主存(内存)之间的直接数据传输。只有在数据传送完毕时,才会向CPU提出中断请求,报告传送结束,CPU利用率最高。
顺序存取:特定线性顺序,代表:磁带;
直接存取:可直接移至特定数据块,代表:磁盘;
随机存取:随时访问一个存储单元,代表:主存储器(内存);
相联存取中(属随机存取):根据内容而非地址为选择读写点。代表:Cache
存储器带宽: 每钞能访问的位数。通常存储器周期是纳秒级(ns),(1ns=1*(10的负9次方)),
计算公式是:1/存储器周期*每周期可访问的字节数。
例 存储器周期200ns,每个周期可访问4B,则带宽=1s/200ns*(4B*8)=160Mbps
数据传输率:每秒输入/输出的数据位数。
对于随时存取而言,传输率R=1/存储器周器。
224.0.0.1特指所有的主机,
224.0.0.2特指所有的路由器,
224.0.0.5指所有 的OSPF路由器地址,
224.0.0.5的组播地址为OSPF所有设备的预留IP组播地址;
224.0.0.6的组播地址为OSPF DR/BDR的预留IP组播地址
224.0.0.9 RIP用于组播
224.0.0.13指PIMV2路由器的地址。
另外从 224.0.0.0――224.0.0.255只能用于局域网中路由器是不会转发的,
239.0.0.0――239.255.255.255是私有地址 (与192.168. *.*功能一样),
224.0.1.0—238.255.255.255可以用于Internet上。
如果你的主机开启了IRDp(Internet路由 发现协议,使用组播功能)功能,那么你的主机路由表中应该会有这样的一条路由