现代的CPU的组成:运算器、控制器、片内Cache
控制器的主要功能
运算器的主要功能
数据缓存寄存器(DR)
暂时存放运算器与外界传送的数据,作为CPU和内存、外部设备之间的信息传送的中转站,并补偿CPU和内存、外围设备之间的速度差异
指令寄存器(IR)
保存当前正在执行的一条指令,其对应的操作码字段直接作为指令译码器的输入
程序计数器(PC)
始终存放下一条指令的地址,对应于指令cache的访问
地址寄存器(AR)
保存当前CPU所访问数据的内存单元地址
通用寄存器
暂时存放ALU运算的数据或结果
状态条件寄存器(PSW)
保存各种状态和条件控制信号,每个信号由一个触发器保存,从而拼成一个寄存器
数据通路:两个部件之间传送信息的通路
操作控制器:根据指令操作码和时序信号,产生各种操作控制信号;建立正确的数据通路,从而完成指令的执行
操作控制器可分为:
CPU执行程序是一个“取指令-执行指令”的循环过程
指令周期:CPU从内存中取出一条指令,并执行完毕的时间总和
CPU周期:又称机器周期,一般为从内存读取一条指令字的最短时间
完整的指令周期:取指周期 — 间址周期 — 执行周期 — 中断周期
时钟周期:也叫节拍脉冲或T周期,是计算机工作的基本时间单位
不同指令的指令周期不一定相同,但是所有指令的第一个机器周期必为取指周期
方框:代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作
菱形:通常用来表示某种判别或测试,时间上依附于之前一个方框的CPU周期,而不单独占用一个CPU周期
~(公操作符):表示一条指令已经执行完毕,转入公操作
示例:
“ADD R2,R0”指令完成(R0)+(R2)→R0的功能操作,画出其指令周期流程图,并列出相应的微操作控制信号序列
指令周期应包括取指周期和执行周期,执行周期中应首先将R0、R2两寄存器的内容送入ALU的操作数缓冲器中,再执行加法运算
时序信号的作用:使计算机准确、迅速、有条不紊的工作
CPU通过时序控制来识别指令和数据
时序信号的体制:电位 — 脉冲制
硬布线控制器的时序信号:常采用主状态周期 — 节拍电位 — 节拍脉冲三级体制
微程序控制器的时序信号:一般采用节拍电位 — 节拍脉冲二级体制
用逻辑电路实现时序的控制
微程序控制器中时序信号产生器的组成:时钟源、环形脉冲发生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑
同步控制方式:在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变
异步控制方式:每个指令周期包含的机器周期数目由联络信号控制,不固定
联合控制方式
微程序设计技术是利用软件方法来设计硬件的一门技术,具有规整性、灵活性、可维护性等一系列优点
基本思想
控制部件与执行部件之间的联系
微命令:控制部件通过控制线向执行部件发出的各种控制命令
微操作:执行部件的最基本的操作,执行部件接受微命令后所执行的操作
状态测试:执行部件通过反馈线向控制部件反应当前操作状态,以使控制部件决定下一步的微命令
微操作的分类:
微指令:一个CPU周期中,实现一定操作功能的一组微命令的组合,一般包括操作控制和顺序控制两大部分
微程序:能实现一条机器指令功能的多条微指令序列;每条机器指令都对应着一段微程序
微指令寄存器:存放当前正在执行的一条微指令;由微地址寄存器和微命令寄存器两部分构成
一条机器指令对应一个微程序,一个微程序是由若干条微指令组成的
微命令编码的表示方法有:直接表示法、编码表示法、混合表示法
微程序的入口地址:微程序的第一条微指令所在控存单元的地址
微指令中确定后继微地址的方法:计数器的方式、多路转移方式
微指令格式
并行性的两种含义
并行性的三种形式:
流水CPU的加速比
若某CPU指令执行,可划分为K个阶段,每个阶段1个周期
非流水线CPU处理n个任务时,所需始终周期数 T = n x k
一个具有k级过程段的流水CPU处理这n个任务时,需要的时钟周期数 Tk = k + (n - 1)
将T1和Tk的比率定义为k级线性流水处理器的加速比:Ck = T1 / Tk
指令流水线的性能指标:
流水线分类
例一:
计算机的控制器采用微程序控制方法,为指令中的操作控制字段采用字段直接编码法,共有33个微命令,构成5个互斥类,分别包含7、3、12、5和6个微命令,则操作控制字段至少有 _15位_
解析:字段直接编码就是把微命令多个段,段的数目等于互斥类的数目。因此这里分为5个段,每段里要留一个离散状态表示自己没命令。所以7个微命令对应3位,3个微命令对应2位,12个微命令对应4位,5个微命令对应3位,6个微命令对应3位,共15位。
例二:
指令流水线有取值(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器堆(WB)五个过程段,共有7条指令连续输入此流水线,时钟周期为100ns
解析:
请画出流水处理的时空图
求流水线的实际吞吐率
流水线执行完7条指令的时间是 5 + (7 - 1)= 11 个时钟周期
故实际吞吐率为 7 / (11 x 100ns) = 64 x 10^5条指令/s
例三:
判断一下三组指令个存在哪种类型的数据相关
例四:
不会引起流水阻塞的是 (数据旁路);
CPU中跟踪指令后继地址的寄存器是 (程序计数器);
在微程序控制器中 ,构成控制信号序列的最小单位 (微命令);
例五:
假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的。已知微指令长度为32位,请估算控制存储器容量
解析:
总线:构成计算机系统的互联机构,是系统内各功能部件之间进行信息传送的公共通路
总线的分类
总线的性能指标
总线宽度:一次总线操作中,最多可传送的数据位数
总线周期:依次总线操作所需要的最小间隔时间,总线周期与总线的时钟频率成反比
寻址能力:取决于地址总线的根数
负载能力:总线上能够连接的设备数
传输率:也称为总线带宽,通常指总线所能达到的最高数据传输率,单位是Bps(每秒传送字节数)
计算公式:Dr = D X f/N
D — 数据宽度;f — 总线时钟频率;N — 完成一次数据传送所需要的时钟周期数
是否支持突发传送
总线上数据传送方式:
正常传送 — 每个传送周期先传送数据的地址,再传送数据
突发传送 — 支持成块连续数据的传送,只需给出数据块的首地址,后续数据地址自动生成
单总线结构
使用一条系统总线来连接CPU、内存和I/O设备
双总线结构
在CPU和主存之间专门设置了一组高速的存储总线
三总线结构
在各外部设备与通道之间增加一组I/O总线
多总线结构
通过桥将总线彼此相连
现代总线可分为四个部分
总线的发展历程
接口:I/O设备适配器;指CPU和主存、外围设备之间用过总线进行连接的逻辑部件
接口的典型功能:控制、缓冲、状态、转换、中断等
一个适配器必须有两个接口,一个同系统总线相连,采用并行方式;另一个同设备相连,可能采用并行方式或是串行方式
利用串行方式传送字符,每秒钟传送的比特(bit)位数常称为波特率
多个功能模块争用总线时,必须由总线仲裁部件选择一个主设备使用总线
总线占用期:主方持续控制总线的时间
由中央仲裁器决定总线使用权的归属
链式查询方式
设备的优先权与总线控制器的距离有关
连接方式
计数器定时查询方式
设备的优先权由计数值决定,计数值为0时同链式查询方式
连接方式
独立请求方式
设备的优先权由中央仲裁器的内部排队逻辑决定
连接方式:每个部件均由独立的请求和响应信号线,由中央仲裁器的内部排队逻辑决定响应顺序
分布式仲裁不需要中央仲裁器,由分布在各部件中的多个仲裁器竞争使用总线
每个潜在的主模块都有自己的仲裁器和唯一的仲裁号,通过仲裁总线上仲裁号的比较,决定可占用总线的部件
分布式仲裁是以优先级仲裁策略为基础
工作过程:
设备请求总线 读取仲裁总线上的设备号(该设备号为正在使用总线设备的设备号)与本设备号比较,若本设备优先级低,不能获取总线 不断比较;若本设备优先级高 向仲裁总线送出设备号 获得总线控制权
总线的信息传送过程:请求总线、总线仲裁、寻址、信息传送、状态返回
定时:确定事件出现在总线上的时序关系
定时的分类:同步定时、异步定时
同步定时
系统采用统一的时钟信号,所有事件的出现时间均由该时钟信号确定
优点:各模块配合简单一致;数据传输效率较高
缺点:各模块的速度差异较大时会影响系统的整体工作效率;时钟信号受到干扰时,会引起错误的同步
适用于总线长度较短,各功能模块速度相差不多的系统
异步定时
系统依靠应答方式或互锁机制来决定事件出现的时间
优点:总线周期长度可变
缺点:增加了总线的复杂性和成本
适用于设备工作速度不一致的系统
块传送操作:只需给出块的起始地址,然后对固定块长度的数据一个接一个地读出或写入
广播:总线允许一个主方对多个从方进行写操作
广集:与广播相反的操作,它将选定的多个从方数据在总线上完成AND或OR操作,用以检测多个中断源
例一:
如果一个总线周期中并行传送64位数据,总线时钟频率升为66MHz,则总线带宽是多少
解析:
一个总线周期 T = 1/f
一个总线周期传送的数据量 D = 64/8B = 8B
总线带宽 Dr = D/T = D X f = 8B X 66 X 10^6/s = 528MB/s
例二:
假设数据传送速率为120个字符/秒,每一个字符格式规定包含10位(起始位、停止位、8个数据位),问传送的波特率是多少?每位占用的时间是多少?
解析:
波特率为:10位×120/秒=1200波特
每个bit位占用的时间Td是波特率的倒数: Td=1/1200=0.833×0.001s=0.833ms
例三:
下列选项中的英文缩写均为总线标准的是( D )
A. PCI、CRT、USB、EISA
B. ISA、CPI、VESA、EISA
C. ISA、SCSI、RAM、MIPS
D. ISA、EISA、PCI、PCI-Express
例四:
某同步总线采用数据线和地址线复用方式,其中地址/数据线有32根,总线时钟频率为66MHz,每个时钟周期传送两次数据(上升沿和下降沿各传送一次数据),该总线的最大数据传输率(总线带宽)是( 528MB/s )
解析:
总线带宽Dr = 2D / T = 2D x f = 2 x 32bit x 66M = 4224bit x 10^6/s = 528MB/s
例五:
一次总线事务中,主设备只需给出一个首地址,从设备就能从首地址开始的若干连续单元读出或写入多个数据。这种总线事务方式称为(突发传输)
例六:
下列关于I/O接口的叙述,错误的是( D )
A. 状态端口和控制端口可以合用同一个寄存器
B. I/O接口中CPU可访问的寄存器称为I/O端口
C. 采用独立编址方式时,I/O端口地址和主存地址可能相同
D. 采用统一编址方式时,CPU不能用访存指令访问I/O端口
例七:
下列选项中,可提高同步总线数据传输率的是( I、II、III)。
I. 增加总线宽度 II. 提高总线工作频率
III. 支持突发传输 IV. 采用地址/数据线复用
例八:
可结合 https://blog.csdn.net/AKUANer/article/details/104647526/ 学习
外围设备的定义:计算机系统中,除CPU和主存之外的部件都可看做外设
外围设备的功能:在计算机和其他机器,或与用户之间提供联系
外围设备的基本组成
分类
外设都是通过适配器与主机连接的
磁表面存储器:用磁性材料薄薄地涂在金属铝或塑料表面作载磁体来存储信息
磁表面存储器的优点
磁表面存储器的缺点
写操作
读操作
硬盘的逻辑结构组成
磁盘驱动器
磁盘控制器:主机与磁盘驱动器之间的接口
记录面:一个盘片有上下两个记录面;磁盘组的最上下盘面只有一个记录面
磁道
扇区:同心圆上一段磁道区域;每个扇区的存储容量也相同
磁盘上信息地址由记录面号、磁道号、扇区号三部分组成
索引:磁道的起始位置
存储密度
存储容量:一个磁盘存储器所能存储的字节总数
数据传输率:磁盘存储器在单位时间内向主机传送数据的字节数
道密度:沿磁盘半径方向单位长度上的磁道数(道/英寸)
位密度
面密度:位密度和道密度的乘积(位/平方英寸)
存储容量 = 记录面数 X 每面磁道数 X 磁道容量
平均寻址时间等于平均寻道时间与平均等待时间之和
平均寻道时间:最大与最小寻道时间的平均值
平均等待时间:与磁盘转速有关,是磁盘旋转一周时间的一半
外部传输率:从硬盘内部的缓冲区中所读取数据的最高速率;该指标与硬盘接口类型、硬盘缓冲区大小有关
内部传输率
光盘存储器
光盘优点:存储容量大
光盘缺点:存取时间长,数据传输率低
光盘存储器的分类
硬盘、磁带、光盘的性能比较:
显示设备的分类
分辨率是指显示器所能表示的像素个数
灰度级
灰度级取决于 每个像素对应刷新存储器单元的位数和CRT本身的性能;只有两级灰度的显示器称为单色显示器;图像显示器的灰度级一般在256级以上
刷新频率:显示器每秒能够对整个屏幕的刷新次数
刷新存储器带宽 = 分辨率 X 颜色深度 X 刷新频率
显示适配卡,也叫显卡
显卡的主要构成部件:图形处理器GPU、显存、显卡BIOS、印刷电路板(PCB)
显卡不同标准:VGA、XGA、SVGA
输入设备:图形输入设备、图像输入设备、语音输入设备
打印设备:针式打印机、喷墨打印机、激光打印机
例一:
某磁盘存储器转速为3000转/分,共有4个记录盘面,每毫米5道,每道记录信息12288字节,最内层磁道直径为230mm,共275道:
解析:
例二:
设某磁盘有两个记录面,存储区内径为2.36英寸,外径为5英寸,道密度为 1250TPI(道/英寸),内径处的位密度为52400BPI (字节/英寸) ,转速为7200转/分,问
解析:
例三:
假定一台计算机的显示存储器用DRAM芯片实现,若要求显示分辨率为1600*1200,颜色深度为24位,帧频为85Hz,显示总带宽的50% 用来刷新屏幕,则需要的显存总带宽至少约为( 7834Mbps )
解析:
显存总带宽 = 1600×1200×24b×85Hz×2 = 7 833 600 000 bps ≈7834Mbps
例四:
若磁盘转速为7200 转/分,平均寻道时间为 8ms,每个磁道包含 1000 个扇区,则访问一个扇区的平均延迟时间大约是(12.2ms)
解析:
存取时间 = 寻道时间 + 延迟时间 + 传输时间。存取一个扇区的平均延迟时间为旋转半周的时间,即为 (60/7200)/2=4.17ms ,传输时间为 (60/7200)/1000=0.01ms ,因此访问一个扇区的平均存取时间为 4.17+0.01+8=12.18ms ,保留一位小数则为 12.2ms
例五:
已知某磁盘存储器转速我2400转/分,每个记录面道数为200道,平均找到时间为60ms每道存储容量为96Kb,求磁盘的存取时间与数据传输率
解析:
根据外设的工作速度,CPU与外设的定时方式有3种:
速度极慢或简单的外围设备
CPU直接接收或发送数据
慢速或中速的外围设备(如键盘、显示器)
采用异步定时方式,或称为应答式数据交换;CPU与外设之间通过两个相互的联络信号来决定开始数据传送的时间
高速的外围设备(如主存、辅存)
采用同步定时方式,CPU以等间隔的速率执行输入 / 输出指令
工作过程:CPU传送数据之前先检查外设的状态,若没有准备好,则继续查询等待,直至外设就绪即进行数据传送
硬件要求:只需接口电路的状态、数据口,不需增加其他控制电路
适用场合:CPU不太忙且对传送速度要求不高的系统
工作过程:CPU有传送要求时,启动外设后可处理其他事件,当外设准备就绪后,通过中断的方式和CPU完成数据传送工作
硬件要求:需要附加的中断控制电路
适用场合:CPU与慢速外设之间的数据传送
定义:中断是指CPU正常运行程序时,由系统内/外部非预期事件或程序中预先安排好的指令性事件引起的,CPU暂停当前程序的执行,转去为该事件服务的程序中执行,服务完毕后,再返回原程序继续执行的过程
CPU的中断处理流程
中断向量:中断服务程序的入口地址,包括段地址和段内偏移地址
CPU使用向量中断的过程:
中断类型号(n)x 4 = 中断向量在表中的偏移地址,如:n=8,则应从向量表20H~23H中取出中断向量
数据传送过程:
所有的中断源都属于同一个级别,不允许有中断嵌套
中断源分为不同的级别,可以发生中断嵌套,高优先权的中断源请求可以打断低优先权的中断服务
中断屏蔽触发器IM:可决定对应级别的中断源是否能够被响应
若系统中共有n级中断,则有两个n为中断请求寄存器和中断屏蔽寄存器
改变优先级的方法:修改屏蔽字
工作过程:CPU分配总线使用权之后,在硬件DMA控制器(DMAC)的控制下完成存储器与高速外设之间的大量数据的传送
硬件要求:需要相应的DMA控制器及数据通路,电路结构复杂,硬件开销大
适用场合:需要高速大批量数据传送的系统中
DMAC对数据传送的控制是建立在掌握系统总线的使用权基础上的
DMAC的两种工作状态
DMAC传送的过程
DMA方式和中断控制方式的区别:
区别 | DMA方式 | 中断控制方式 |
---|---|---|
数据传送实现方式 | 硬件实现 | 程序传送 |
CPU响应请求时间 | 一个总线周期结束 | 一个指令周期结束 |
请求的目的 | 总线的使用权 | CPU的服务 |
是否需要保护现场 | 不需要(CPU不参与数据传送) | 需要 |
对于不需要访存的现行程序的执行 | 无影响 | 延迟现行程序的执行 |
DMA的优先权高于中断的优先权
组成部分
工作过程:CPU将IO控制的权利下放给通道,由通道统一管理所有的输入输出操作
硬件要求
适用场合:高性能要求的系统中
通道对设备控制器的管理
例一:
某机有5个中断源L0~L4,按中断响应优先级从高到低为L0→L1→L2→L3→L4,现要求将中断处理次序改为L1→L3→L4→L0→L2,请写出各中断源的屏蔽字
解析:
中断源 | 屏蔽字(L0L1L2L3L4) |
---|---|
L0 | 10100 |
L1 | 11111 |
L2 | 00100 |
L3 | 10111 |
L4 | 10101 |
例二:
下列选项中,能引起外部中断的时间是(A) A. 键盘输入 B. 除数为0 C. 浮点运算下溢 D. 访存缺页
例三:
单级中断系统中,中断服务程序执行顺序是( A ) I、保护现场 II、开中断 III、关中断 IV、保存断点 V、中断事件处理 VI、恢复现场 VII、中断返回
A、I->V->VI->II->VII B、III->I->V->VII C、III->IV->V->VI->VII D、IV->I->V->VI->VII
解析:
单级中断系统中,不允许中断嵌套。
中断的处理过程为:
1.关中断;2.保存断点;3.识别中断源;4.保存现场;5.中断事件处理(开中断、执行中断服务程序、关中断);6.恢复现场;7.开中断;8.中断返回。其中,1~3步由硬件完成,4~8由中断服务程序完成,正确选项为A。
例四:
某同步总线的时钟频率为100MHz,宽度为32位,地址/数据线复用,每传输一个地址或数据占用一个时钟周期。若该总线支持突发(猝发)传输方式,则一次“主存写”总线事务传输128位数据所需要的时间至少是( 50ns )
解析:
128位数据的猝发传输,需要传输1次地址和128/32次数据;
所需的时间为:(1+4)T=5 / f = 5 /(100 *106)= 50ns
例六:
下列选项中,在I/O总线的数据线上传输的信息包括(II、II、III)
I. I/O接口中的命令字 II.I/O接口中的状态字 III.中断类型号
例七:
响应外部中断的过程中,中断隐指令完成的操作,除保护断点外,还包括( I、III )
I. 关中断 II.保存通用寄存器的内容 III. 形成中断服务程序入口地址并送PC
例八:
假定某计算机的CPU主频为80MHz,CPI为4,并且平均每条指令访存1.5次,主存与Cache之间交换的块大小为16B,Cache的命中率为99%,存储器总线宽度为32位
解析:
该计算机的MIPS数是多少?
MIPS = f / CPI = 80M / 4 = 20 MIPS
平均每秒Cache缺失的次数是多少?
每秒访存次数 * Cache失效率
= (1.5 * MIPS)*(1 – 99%) = 30M * 0.01 = 0.3M次/s
在不考虑DMA传送的情况下,主存带宽至少达到多少才能满足CPU的访存要求?
每次Cache缺失,主存都会将一块数据调入Cache;
主存带宽:0.3M/s * 16B = 4.8MB/s
假定在Cache缺失的情况下访问主存时,存在0.0005%的缺页率,则CPU平均每秒产生多少次缺页异常?
上题计算每秒Cache的缺失次数为0.3M;
缺页异常:0.3M /s* 0.0005% =1.5 次/s
若页面大小4KB,每次缺页都需访问磁盘,访问磁盘时,DMA传送采用周期挪用方式,磁盘I/O接口的数据缓冲寄存器为32位,则磁盘I/O接口平均每秒发出的DMA请求次数至少是多少?
周期挪用方式:每次DMA传送4B,则传送一页需1K次DMA
每秒钟DMA次数:1K * 1.5次 = 1.5K次
CPU和DMA控制器同时要求使用存储器总线时,哪个优先级更高?为什么?
CPU和DMAC同时申请总线时,DMA优先权更高;
若DMA请求得不到及时响应,I/O传输数据可能会丢失。
为了提高性能,主存采用4体交叉存储模式,工作时每1/4个存储周期启动一个体。若每个体的存储周期为50ns,则该主存能提供的最大带宽是多少?
每个存储周期启动4个存储体,每个存储体读写32位数据;
带宽:4B * 4体 / 50ns = 320MB/s