导图社区 计算机组成原理
以思维导图的形式,全面而深入地展示了计算机组成原理的核心内容。为大家呈现了一个完整而复杂的计算机组成原理知识体系。
编辑于2024-11-06 15:44:08计算机组成原理
计算机系统概论
计算机硬件的组成
冯. 诺依曼计算机的特点
计算机系统的性能
机器字长
CPU一次能处理的二进制数据的最大位数
存储字长
存储单元可存放的二进制代码的位数
指令字长
一条机器指包含的二进制代码的位数
一字节为8位二进制代码
主存容量
主存中可存放的二进制代码总数
主存容量
按字编址:存储单元个数*存储字长
按字节编址
存储容量等于存储字节数,单位为字节(B)
总线传输率
单位时间内系统总线上的数据传输量
总线带宽=总线工作频率x总线宽度(字节数)
指令系统
指令系统发展
复杂令系统计算机CISC
软件硬化
支持高级语言程序
向上,向后兼容
精简指令系统计算机RISC
使用简单指令
指令长度固定,指令格式种类少,寻址方式种类少
只有取数/存数指会访问存储器
CPU中通用寄存器数量相当多
CPU采用流水线结构
控制单元设计以硬布线控制逻辑为主
指令系统功能
地址空间
由于通用寄存器,主存储器和输入输出设备这三种数据存储设备的工作速度、容量等性能差别很大
三个地址空间
分别独立编址
两个地址空间
通用寄存器独立编址
一个地址空间
所有存储设备统一编址
无地址空间
指令格式
指令的组成
指令字长
一条指令中包含的二进制码位数,取决于操作码的长度、地址码的长度和地址码的个数
操作码扩展技术
定长操作码
所有指令的操作码位数相同,并将操作码集中安排在指令字的一个固定的字段中
变长操作码
各种指令的操作码位数不一致,并且操作码可以分散在指令字的不同字段中
P53-54例2.2
寻址方式
指令寻址
顺序寻址
跳跃寻址
数据寻址
基本寻址方式
立即寻址
操作数直接在指令的地址码字段给出
寄存器寻址
EA=Ri(ri为地址部分给出的寄存器编号)
存储器寻址
直接寻址
EA=A(A为地址字段给出的形式地址)
间接寻址(存储器间接寻址)
一次间接
EA=(A)
最大寻址范围是2^m字(m为主存字长一般为机器字长)
两次间接
EA((A))
2^(m-1)字
寄存器间接寻址
EA=(Ri)
偏移寻址
相对寻址
EA=(PC)+A
变址寻址
变址寄存器EA=(Rx)+A
基址寻址
基址寄存器Rb EA=(Rb)+A
堆栈寻址
复合导址方式
程序定位方式
直接定位方式
静态定位方式
动态定位方式
存储器
主存储器
分类
按作用分
内部存储器
Cache
平滑主存与CPU之间的速度差异
主存
存放CPU当前正在执行的程序和数据
外部存储器
大量暂时不运行的程序和数据,不能直接访问
离线存储器
控制存储器
存放微程序控制存储器,位于CPU内部
按存储介质分
半导体存储器
磁表面存储器
光盘存储器
按存取方式分
随机存储器RAM
动态RAM (DRAM)
静态RAM(SRAM)
只读存储器ROM
非易失性和高可靠性
可编程ROM(PROM)
可擦除可编程ROM(EPROM)
电可擦除可编程ROM(EEPROM)
顺序存取存储器SAM
直接存取存储器DAM
按照地址访问
相联存储器AM
按照存放内容进行访问
层次结构
P78
性能指标
存储容量
主存可以容纳的存储单元总数
存取时间
启动一次存储器读/写操作到完成的时间
存储周期
存储器带宽
单位时间内存储器存取的信息量
SRAM
DRAM
"再生"
读操作后,被读单元内容令被清0。把刚读出的内容立即写回去
刷新
集中式刷新
分散式刷新
异步式刷新
ROM和闪存
ROM
MROM(掩膜式ROM)
PROM可编程ROM
EPROM擦除可编程ROM
EEPROM电擦除可编程ROM
闪存
速度快,成本低、容量大、低功耗,可在联机状态下进行电擦除和改写
容量扩展以及与CPU的连接
位扩展
所需芯片数=存储器总字长/芯片字长
字扩展
所需芯片数=存储器总容量/芯片容量
字位扩展
存储器与系统总线连接
相联存储器
按照存储单元中存放的全部或部分内容进行访问的存储器
高速缓冲存储器Cache
工作原理
存取速度快、容量小、位价格高
保存的只能是主存内容的一个子集
Cache和主存以块为单位进行内容交换
命中率=命中/全部次数
失效率=1-命中率
平均访存时间= HT1+(1-H)T2,其中T1为Cache 的存取时间,T2为主存的存取时间
地址映射与地址变换
主存地址和Cache地址都分为块地址(块号)和块内地址
全相联映射
直接映射
组相联映射
替换算法
随机算法
先进先出算法
近期最少使用算法
最不经常使用算法
辅助存储器
磁盘
数据存放
盘片
磁道
柱面
扇区
地址格式
驱动器号+柱面号+盘面号+扇区号
主要技术参数
容量
所有盘面上全部磁道中存储信息的总和
道密度
沿着盘面径向上单位长度内的磁道数量
一个盘片的磁道总数=道密度x盘片有效半径
位密度
盘面磁道上单位长度所能记录的二进制位数
一个磁道的总容量=位密度x磁道的周长
硬盘容量=硬盘个数x磁盘记录面数x磁道数x磁道容量
硬盘容量=硬盘个数x磁盘记录面数x道密度x盘片有效平径x位密度x磁道周长
格式化磁盘容量=硬盘个数x磁盘记录面数x磁道数x每道扇区数x扇区容量
传输速率
平均寻址时间=平均寻道时间+平均等待时间
平均等待时间=1/转速/2
数据传输率
内部数据传输率=磁道容量x转速
总线与输入输出系统
总线的概念与分类
总线的基本组成是一组导线加上接收和发送控制逻辑
片内总线
系统总线
物理位置
板级总线
板间总线
传输信息类型
数据总线
双向传输,数据总线的位数称为总线宽度一般等于机器字长
地址总线
单向,地址总线宽度与存储单元数量有关
控制总线
传送各种控制命令信号、时序信号和操作状态信号
通信总线
串行通信总线
并行通信总线
总线管理和控制
总线仲裁机制
仲裁目的
当有多个主模块同时发出总线请求时,解决总线控制权的分配问题
仲裁方式
集中式
链式查询
控制信号线数量少,结构简单,易于扩充
查询速度慢,对传播过程中电路故障比较敏感,优先级固定不变,使用灵活性比较差
控制线条数:2
计数器定时查询
优先级设置比较灵活,对电路故障的敏感性较低
硬件开销增加
log以2为底n
独立请求
查询速度快
控制逻辑复杂,硬件开销较大
2n
分布式
总线通信方式
解决由于部件之间的速度差异造成的不协调问题
同步通信
总线传输周期越短,总线宽度越宽,总线的数据传输率越高
异步通信
不互锁方式
半互锁方式
全互锁方式
半同步通信
分离通信
总线结构和标准
分类
单总线
多总线
总线条数越多,系统并行性就越好,工作效率也就越高
影响总线性能因素
总线宽度
数据总线的位(根)数,以位(bit)为单位
地址总线的宽度表示系统总线的寻址范围
数据总线的宽度表示系统总线能同时传送的数据位数
总线工作频率
协调总线上各种操作的时钟信号频率,以MHz为单位
总线带宽
总线工作频率x总线宽度(字节数)
指单位时间内总线上可以传输的数据量
信号线数
控制方式
集中式控制
分散式控制
通信方式
同步通信
异步通信
负载能力
扩展能力
I/O设备
输入设备
键盘
盘面
键开关
内部结构
鼠标
输出设备
显示器
打印机
I/O接口
作用
通过数据缓冲寄存器,实现CPU与I/O设备之间的速度匹配
通过串一并或并一串转换电路,实现CPU与设备之间的数据格式转换
通过电平匹配逻辑,实现CPU与I/O设备之间的电气转换
通过接收与传达CPU的控制命令,实现CPU对I/O设备的操作控制
通过保存与传送I/O设备的状态,实现CPU对I/O设备的状态查询
通过设备选择电路,实现CPU对I/O设备的寻址功能
组成
设备选择电路
命令寄存器
命令译码器
数据缓冲器DBR
控制逻辑电路
状态触发器(设备状态标记)
通信方式
I/O接口与主机的连接方式
早期CPU和每个I/O接口都有直接连线
现代通过总线与主机连接
I/O接口和I/O设备间数据传送方式
并行传送
串行传送
I/O接口与I/O设备的通信方式
同步通信
异步通信
波特率是指单位时间内传送的二进制位数,单位为波特Baud
比特率指单位时间内传送的有效二进制数据的位数,单位为位/秒b/s
I/O数据传送控制方式
程序查询方式
特点:当I/O设备未准备就绪时,CPU需要反复查询I/O设备的状态,而不能做其他事情,称此阶段为"踏步等待"
程序中断方式
中断请求
中断请求触发器INTR =1,表示有请求
中断屏蔽触发器MASK =0,表示该中断开放
中断判优
中断响应
关中断
中断允许触发器EINT=1,表示允许中断
保护程序断点
获得中断服务程序入口地址
软件查询法
硬件向量法
CPU在一条指令执行结束响应中断的理由:此时CPU现行程序的现场最简单且最稳定
中断服务
保护现场
中断处理
恢复现场
中断返回
将现行程序断点和PSW出栈
开中断
完整的中断处理过程
多重中断
在中断服务的过程中,若出现了新的更紧迫的中断请求,此时CPU可以暂停现行中断服务程序的执行,转去处理新的中断
允许优先级别低的中断服务程序能嵌套优先级别高的中断服务程序,而不允许相同优先级的中断服务程序相互嵌套
中断响应次序由中断优先级决定,而中断处理次序由屏蔽字决定
DMA方式
DMA数据交换流程
预处理
数据传送
后处理
DMA接口和CPU访存冲突
停止CPU访问主存
周期挪用(周期窃取)
获得总线控制权后占用1~2个主存周期与主存交换一个数据
DMA与CPU交替访存
将CPU工作周期划分为两半
基本的输入/输出方式
I/O通道方式
I/O处理机方式
通过多处理机技术
控制器
控制器基本结构和设计方法
功能
产生一组定时信号
产生执行每条指令所需要的全部控制信号
对中断请求进行响应
组成
控制寄存器和译码器
时序信号产生器
控制单元CU
计算机的控制方式
时序系统
时序信号往往采用主状态周期—节拍电位—节拍脉冲三级体制
控制方式
同步控制
采用完全统一的机器周期和节拍
采用不定长机器周期
中央控制与局部控制相结合
异步控制
常采用二级时序系统(节拍一脉冲)
不需要统一的时钟信号作为基准定时信号
联合控制
同步异步相结合
大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的"应答"信号作为本次操作的结束
组合逻辑控制器
硬布线控制器
门阵列控制器
微程序控制器
微程序控制单元的基本结构
微命令和微操作
微指令和微程序
微程序控制单元基本组成
控制存储器
微指令寄存器
微地址选择逻辑
微指令格式设计
水平型微指令
垂直型微指令
比较
水平型微指令比垂直型微指令并行操作能力强、效率高、灵活性强
水平型微指令执行一条机器指令所需的微指令数少,因此速度比垂直型微指令的速度快
垂直型微指令字长较短,但用以解释机器指令的微程序较长;相反,水平型微指令字长较长,但用以解释机器指令的微程程序较短
垂直型微指令与机器指令相似,所以垂直型微程序设计较容易;水平型微指令与机器指令差别较大,水平型微程序设计较困难
微指令操作控制字段格式编码方式
直接编码
微指令结构简单直观,微指令执行速度快,但微指令字长较长,适用于结构比较简单的机器
字段直接编码方式
可以有效地压缩微指令字长,但是译码过程影响微令的执行速度
字段间接编码
可以进一步缩短微指令的长度,但由于字段之间的关联可能消减微指令的并行控制能力,且微命令译码级数增加
混合编码
可改善分段编码方式的灵活性和执行速度
设置常数字段
进一步增加微指令格式的灵活性
微地址的形成方法
直接表示方式
增量方式(计数器方式)
增量与下址字段相结合方式
断定方式
混合式控制器
流水线控制器
中央处理器
CPU的功能和组成
功能
数据加工
顺序控制
操作控制
时间控制
中断控制
基本结构
算术逻辑单元ALU
寄存器组
内部总线
中断系统
数据通路
控制单元
CPU数据通路的结构和组成
指令周期:从取指令到指令执行结束所经历的全部时间
取指令
PC/IP:指向将要执行的下一条执会在存中的位置
PC =pc + 1, PC =pc+4(按字节编址)
译码指令
读取数据
执行操作
存放结果
数据通路基本部件
组合逻辑部件
时序逻辑部件
主时钟信号CLK提供一个基准定时信号
时钟周期是CPU内可控的最小时间单位
CPU结构分类
单周期CPU
所有指令周期都仅包含一个时钟周期,即指今周期等于时钟周期
时钟周期长度取决于在数据通路上经历路径最长的会所需要的时间
多周期CPU
一个指令周期包含多个较短的时钟周期
T= kTc, k是状态单元个数,Tc是时钟周期
控制方式
同步控制
异步控制
联合控制
流水线CPU
将单周期结构流水线化,使得可以同时执行多条指令,从而显著地提高CPU吞吐率
控制方式
同步控制
异步控制
中断系统
中断源分类
人为设置的中断
程序性异常
I/O设备
硬件不良
中断响应
条件
中断允许触发器EINT = 1,表示开放中断
且有中断请求
时间
CPU只有在当前指令执行周期结束后,才能响应中断源的中断请求
因为在一条指令执行结束时现行程序的现场是最简单和最稳定的
CPU响应中断的主要任务是保护程序断点和现场
中断源识别
外部中断源的识别由中断控制器完成
内部中断源的识别由CPU通过不同的条件判断逻辑实现
中断判优
软件判优由CPU执行一段程序查询实现
硬件判优通常采用并行判优逻辑
中断响应
CPU在响应中断的过程中要自动完成三个操作
关中断:清除中断允许标志,保证中断响应过程不会被其他中断请求所干扰
保护程序断点:为了使中断处理完毕后,CPU能返回原来的程序继续执行
获得中断服务程序入口地址:为PC赋予新的值,使CPU实现程序转移
单周期CPU数据通路
单周期CPU控制信号p307
控制器在一个时钟周期内只能发出一组控制信号 一个数据通路部件在一个时钟周期内只能完成一个操作
下一条指令地址计算即PC值有三种修正方法
对于非转移类指令,由取指令阶段实现pc+4
对于分支指令,条件满足时,
转移指令,P309
指令周期流程
取指令阶段(公操作)
addr(IM) ← (PC);
read(IM);
Add 1_B ← (PC), (PC)+4;
算术/逻辑指令执行阶段
存数/取数指令执行阶段
程序转移指令执行阶段
多周期数据通路
分散互连结构P319
单总线结构P326
双总线结构
三总线结构
指令周期及机器性能
指令周期中所含的时钟周期数CPI
CPU时钟周期数/指令数
CPU执行一个程序时间
程序中指令条数X平均CPI x时钟周期
指令流水处理器
由于某些流水段不能正常工作,而引起流水线停顿,称为流水线冒险
引起流水线冒险的原因
结构冒险
由于指令间竞争硬件资源
解决冒险:采用资源重复的方法
数据冒险
由于前面指令写结果之前后面的指令就需要读取而造成的
控制冒险
由于指令间执行顺序的约束关系
指令流水线性能
吞吐率
加速比P341
数据的表示与运算
定点数的表示
常用机器码表示
原码表示法
小数
0<=X<1
-1<X<=0
整数
0<= X < 2^n
-2^n < X <=0
零
正零
负零
补码表示法
小数
0<= X <1
-1<= X <0
补码零
负数域并不包括0这一点
补码表示下限
负小数的补码表示下限为-1
[-1.00000]补=1.00000,此时补码符号位的1有双重含义,既表示负号,又表示数值1
整数
0<= X < 2^n
-2^n <= X < 0
变形补码
双符号位,正数为00,负数为1 1,取值为-2~2
补码与真值的转换关系
反码表示法
小数
0<= X <1
-1<X<=0
整数
0<=X<2^n
-2^n <X <=0
定点运算
定点加减运算
原码加减
符号位不参加运算,仅绝对值进行加减
补码加法
符号位与数值位视为一个整体,按同样的规则一起参加运算
结果的符号位由运算自动产生
运算过程中符号位向高位产生的进位自动丢掉
[x+y]补=x补+y补
补码减法
[x-y]补=x补-y补
[-y]补=[[y]补]补
溢出判断
根据符号位之间的关系判别
正+正得负或负+负得正
利用进位信号之间的关系判别
采用双符号位补码判别
正数为00,负数为11
运算后仍然相同表示没有发生溢出
01表示正溢,10表负溢
移位运算
规则
逻辑移位
无论左移还是右移,对移位后的空出位一律补0,移出位一律丢掉
算术移位
正数左移右移在保证符号位不变的前提下,左右空出位均补0
负数
原码移位规则与正数原码完全一致
反码符号位不变,左移右移空出位均补1
补码符号位不变,左移LSB补0,右移MSB补1
循环移位
将移出位自动填补到空出位
误差舍入处理方法
截断法
无条件丢掉
末位恒置1法
舍去最低位之后的数并将LSB位置1
0舍1入法
查表舍入法
定点乘法运算
原码一位乘p229
符号位不参加运算,结果的符号由两数符号异或产生
设部分积初值为0,为防止运算过程中产生暂时性溢出,部分积可采用单符号位参加运算,n位数相乘,部分积连同符号位应取n+1位
运算前先检测0
部分积运算:用乘数的最低位作为判断位,若为1加被乘数;若为0,不加;运算后部分积逻辑右移一位
当乘数数值部分为n位时,共作n次加法和右移,最后得到2n位的乘积绝对值
补码一位乘(比较法)p232
符号位参加运算且由运算过程自动产生
部分积采用双符号位运算,但乘数只需要一位符号位参加运算
乘数最低位之后增加一位附加位Yn+1,且初始令Yn+1=0
运算前先测0
用乘数的最低两位作为判断位 规则如下: 00,部分积+0,算术右移1位 01,部分积+被乘数补码,算术右移1位 10,部分积+负被乘数补码,算术右移1位 11,部分积+0,算术右移1位
重复n+1次比较和运算,但只进行n次后移,最后一次只运算不移位
补码两位乘
符号位参加运算,且乘积符号由运算过程自动生成
部分积初值为0,采用三符号位运算
乘数最低位之后增加一位附加位yn+1,令其初始值为0
运算前先检测0
用乘数最低三位作判断位,部分积运算规则如 p234
定点除法运算
P237原码除法
符号位不参加运算,商的符号由两数符号异或产生
运算前应先检测0及x<y
设商的初值为0或为被除数低位部分 部分余数的初值为被除数或为被除数高位部分
部分余数采用单符号位,且初值为0
部分余数运算: 先试减x+ -y补 若部分余数为正,商上1,余数和商联合左移一位,减除数 若部分余数为负,商上0,余数和商联合左移一位,加除数 若求n位商,以上的上商、移位和运算过程重复n步
第n+1步: 若余数为正,商上1,商单独左移一位,余数不移位,运算结束 若余数为负,商上0. 商单独左移一位
P240补码加减交替除法/不恢复余数法
基本逻辑运算
逻辑非/取反
按位取反
逻辑或/逻辑加
有1为1
逻辑乘/逻辑与
有0为0
逻辑异/按位加
相同为0,相异为1
定点运算器的实现
行波进位加法器
串行进位加法器
C1 = g0+p0C0
C2 = g1+p1C1
C3 = g2+p2C2
C4 = g3+p3C3
4位行波进位加法器每位的进位逻辑
先行进位加法器
4位先行进位加法器进位逻辑p253
多级先行进位技术
成组先行-级联进位
n位并行加法器分成若干组,每组若干位,组内采用先行进位方式,组间采用串行进位
多级先行进位
组内组间都采用先行进位技术
BCLA,p256
浮点数的表示与运算
基本格式
阶符,阶码;数符.尾数
移码表示
定义
由真值E加上一个偏置常数2^k构成
K的取值=数值位数
特点
移码符号位的取值与原、反、补码符号位的取值正好相反
真值0在移码中的表示形式也是唯一的,即10000
移码与补码之间存在符号位相反、数值位相同的关系.
与补码的关系
表示范围一样
符号位相反、数值位相同
浮点表示法
规格化浮点数的尾数的绝对值通常应小于1大于等于基数(一般为2)分之一
浮点数的规格化处理
右规
如果发生溢出只可能破坏到小数点左边一位,因此右规时只需将尾数右移一位,阶码加1即可
左规
左规过程尾数可能需要左移多位才能回到规格化数的范围。此时尾数每左移一位,阶码减1直到符合规格化数的判断条件为止
IEEE 754浮点标准
表示格式由数符s、阶码e、尾数m三部分部成
S占1位,e为8位整数用移码表示,偏置常数为+127, m为23为小数,用原码表示
规格化浮点加减运算p280
0检测
对阶
尾数运算
结果规格化
舍入
溢出判断
规格化浮点乘除运算p283
中心主题