第三章
例 假设总线的时钟频率为 100 MHz,总线的传输周期为 4 个时钟周期,总线的宽度为 32 位,试求总线的数据传输率。若想提高一倍数据传输率,可采取什么措施? 解:根据总线时钟频率为100 MHz,
得 1 个时钟周期为 1/100 MHz = 0.01μs 总线传输周期为 0.01μs×4 = 0.04μs 由于总线的宽度为 32 位 = 4 B(字节) 故总线的数据传输率为 4 B/(0.04μs)=100 MBps 若想提高一倍数据传输率
(1) 在不改变总线时钟频率的前提下 数据线宽度改为 位 (2) 保持数据宽度为 32 位
总线的时钟频率增加到 200 MHz。
总线的分类
片内总线
芯片内部总线,例如运算器和cache之间的总线。
系统总线(板级总线)
处理器与主存、I/O等部件之间的信息传输线。 三总线结构:数据总线、地址总线、控制总线
通信总线(并行 串行)
计算机系统之间,或计算机与其他设备之间的信息传输线。 1、数据总线
– 双向传输总线。
– 数据总线的位数称为数据总线宽度。
– 位数即为机器位数,与机器字长、存储器字长有关。
2、地址总线
用来标识主存或I/O设备上存储单元的位置。 单向总线(cpu ->存储器)
n
地址总线的位数与存储单元的个数有关,与存储单元的二进制位长度无关。如地址总线有n条,则最多可以寻址到2个存储单元。 3、控制总线
用来发出各种控制信号的传输线。 单一控制线通常是单向的。
控制总线总体来说是双向总线。 典型控制线
复位、时钟、中断相关、总线请求、存储器读写、I/O读写、忙闲检测等。
总线性能指标
总线宽度:数据线位数 总线带宽:数据传输速率
时钟同步方式:同步、异步
总线复用:地址、数据、控制线复用 信号线数:三总线所有信号线总数
总线控制方式:突发工作、仲裁方式等 其他指标:带载能力、电源电压等 总线判优
主设备:对总线有控制权,可以发起信息传送。
从设备:只能响应总线上的命令
判优逻辑:当多个主设备同时申请使用总线时,总线判优逻辑电路按照一定的优先级顺序来确定哪个主设备可以使用总线。 判优逻辑分类:
分布式、集中式(链式查询、计数器定时查询、请求方式)
总线通信控制
目的:解决通信方法协调配合的问题 总线周期分为四个阶段:
– 申请分配阶段:各主模块提出申请,总线仲裁器选中合适的模块。
– 寻址阶段:主模块发出地址和命令 – 传数阶段:主模块和从模块交换数据 – 结束阶段:主模块撤销有关信息
总线通信的四种方式
同步通信:发送时钟信号来同步数据传送 异步通信:没有时钟,采用握手信号同步 半同步通信:同步、异步结合,插入等待周期。 分离式通信:传输周期划分为功能的子周期 分离式通信的特点
各模块有权申请占用总线。
采用同步方式通信,省去握手开销。 各模块准备数据时,不占用总线资源。 总线无空闲等待时间,提高了利用率。
第四章
存储器分类 1、按存储介质分类
半导体存储器:TTL、MOS 体积小、功耗低、存取时间短、易失性。 磁表面存储器:磁盘、磁带、磁鼓
磁芯存储器:硬磁材料的环状元件 光盘存储器:激光、磁光
2、按数据保存方式分类
随机存储器(Random Access Memory)
易失性
静态随机存储器、动态随机存储器
只读存储器(Read Only Memory)
非易失性
掩膜型只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只
读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器
(Flash Memory)
3 按数据存取方式分类
直接访问:
访问时间不随访问位置而变化。 内存
串行访问:
访问时间随访问位置而变化。 磁带(顺序访问) 部分串行访问:
介于上述二者之间
磁盘
4、按在计算机中的作用
主存储器 辅助存储器 高速缓冲存储器 存储器与CPU的连接
存储器扩展
字扩展 增加存储字的数量
位扩展 增加存储字长
字、位扩展
存储器与CPU的连接
数据线、地址线、片选线、读写控制
三种映像方式比较
直接映像:某一主存块只能映像到唯一缓存块。映像方式简单,但是不够灵活,容
易导致块冲突。
全相联映像:某一主存块可映射到任一缓存块,最灵活,不易冲突,但成本高。 组相联映像:某一主存块可映射到某一组中的任一块,兼顾了灵活性和成本。 一、奇偶校验码
奇校验:填校验位后 1的个数是奇数 偶校验: 填校验位后 1的个数是偶数 二、循环冗余校验(CRC)
循环冗余校验CRC(Cyclic Redundancy Check)码的工作原理
在K位信息码后再拼接r位的校验码,整个编码长度为N位,这种编码又叫
(N,K)码。
对于一个给定的码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。
根据G(x)可以生成r位校验码,而G(x)叫做这个CRC码的生成多项式。
用途:发现并纠正信息存储或传送过程中连续出现的多位错误
下面介绍CRC码的编码方法。
1、将x的最高幂次为R的生成多项式G(x)转换成对应的R+1位二进制数。 2、将信息码左移R位,相当与对应的信息多项式M(x)*2R 3、用生成多项式(二进制数)对信息码做模2除,得到R位的余数。 4、将余数拼到信息码左移后空出的位置,得到完整的CRC码。
首先,可将待编码的k位有效信息位组表达为多项式M(x):
M(x)=Ck-1x+Ck-2x+…+Cix+…+C1x+C0
k-1
k-2
i
式中Ci为0或1。
例 对4位有效信息(1010)求循环校验编码,选择生成多项式(1011)。
M(x)=x+x=1010
3
6
4
3
(k=4)
M(x)·x=x+x=1010000 G(x)=x+x+1=1011
333
(左移r=3位) (r+1=4位)
M(x)·x/G(x)=1010000/1011=1001+011/1011(模2除) M(x)·x+R(x)=1010000+011=1010011
(模2加)
将编好的循环校验码称为(7,4)码,即n=7,k=4。
汉明码
汉明码需要增加的检测位的位数k
磁盘容量计算
格式化容量 扇区容量S
磁道容量T =每道扇区数n × S 柱面容量C =记录面数m× T 单盘容量 P =每面磁道数t ×T 磁盘容量D = m × t× n × S
=记录面数×每面磁道数×每道扇区数×每扇区字节数 非格式化容量
=记录面数× 每面磁道数 × 每道信息量 = 记录面数×道密度×(最小)环半径×位密度×道长
第五章
5.3 I/O接口
一、为什么要采用I/O接口
实现设备的选择
实现数据缓冲,达到速度匹配
实现数据串--并格式转换 实现电平转换
传送控制命令
反映设备的状态(“忙”、“就绪”、“中断请求”) 二、接口的功能与组成
总线连接方式的I/O接口电路
设备选择线,数据线,命令线,状态线 I/O接口的基本组成
四、中断处理过程
1、CPU响应中断的条件和时间
条件:
CPU允许中断:中断允许触发器EINT=1。(开中断、关中断指令
可以改变EINT)
相关中断的掩码(MASK)为0
时间
每条指令执行结束(CPU发出中断查询信号INTA(将INTR置1))。
3、中断处理的五个阶段
中断请求:INTR 中断判优:链式排队
中断响应:INTA,得到中断号
中断服务:根据中断号查中断向量表,得到中断入口地址,跳转到中断服务程序 中断返回:从中断服务程序中返回到源程序继续执行 五、中断服务程序流程
保护现场
断点保护: 中断隐指令完成 保存寄存器值:进栈指令 中断服务:(视情形开中断) 恢复现场
出栈指令
中断返回
中断返回指令
DMA 与主存交换数据的三种方式 (1)停止CPU访问主存
控制简单 CPU处于不工作状态或保持状态
未充分发挥CPU对主存的利用率,在DMA接口中增加高速缓存 (2)周期挪用(或周期窃取)
DMA访问主存有三种可能
CPU此时不访存:总线立刻交给DMA
CPU此时正访存:CPU访存结束后总线立刻交DMA CPU与DMA同时请求访存:总线交DMA
(3)DMA与CPU交替访问
CPU工作周期分为两部分: C1:专供DMA访存
C2:专供CPU访存 二、DMA接口的功能和组成
1、DMA接口功能
向CPU申请DMA传送 处理总线控制权的转交
管理系统总线、控制数据传送
确定数据传送的首址和长度
修正传送过程中的数据地址和长度 DMA传送结束时,给出操作完成信号
(5)后处理
校验输入主存的数是否正确 是否继续使用DMA
测试传送过程是否正确,错则转诊断程序 由中断服务程序完成
第六章
[y]连同符号位在内,按位取反,末位加1,即得[-y] 移码与补码的数值部分相同,符号位相反。
3、浮点数的规格化表示
r=2, 尾数的最高位为1
r=4, 尾数的最高2位不全为0 r=8, 尾数的最高3为不全为0
4、算术移位和逻辑移位的区别
算术移位:有符号数的移位
逻辑移位:无符号数的移位
– 逻辑左移:低位补0,高位移丢 – 逻辑右移:高位补0,低位移丢
二、加减法运算
1、补码加减运算公式
连同符号位一起相加,符号位产生的进位自然丢掉 溢出判断
1)(符号相同两数)一位符号位判断溢出
– 参加运算的两个数(减法时即为被减数和求补后的减数)符号相同,其结果
的符号与原操作数的符号不同,即为溢出。
2)(任意符号位两数)一位符号位判断溢出
– 参加运算的两个数,符号位可以不同,如果运算结果中最高数值位的进位与
符号位的进位不同,则发生了溢出。
3)两位符号位判断溢出
– 参加运算的两个数,均采用双符号位(变形补码),如果结果的两位符号位
不同,则发生了溢出。
无论是否发生溢出,双符号位的高位总代表真正的符号,如果该位为1,表示结果为负,此时称为下溢,如果该位为0,表示结果为正,此时称为上溢。 上述结论对整数同样适用。 三、乘法运算
1.定点原码一位乘特点:
用移位的次数判断乘法是否结束 绝对值运算 逻辑移位 2、定点补码一位乘
1)校正法实现补码一位乘 当y为正时,不校正;
[X·Y]=[X]·Y =[X](0 . YY…Y)
补
补
补 12n
当y为负时,须校正;
[X·Y]=[X](0 .YY…Y) + [-X]
补
补
12n补
注意:乘数用Y的补码!
2)布斯(Booth)法补码一位乘
• 具体步骤:(带上符号) 乘数附加位, 置0 ,即 Y
n+1
= 0
分析[X]的系数可能性,(Y-Y)可能有不同的组合
i+1
i
加法重复n+1 步, 最后一次不移位,得到[X·Y]
补
原码两位乘法规则
补码两位乘
求部分积次数和右移控制问题
乘数是1个符号位+n(奇数)个数据位时,求部分积(1+n)/2次,且最后一次只移
一位。
乘数是1个符号位+n(偶数)个数据位时:
– 在乘数后补一个0,然后等同方法1。
– 乘数增加一个符号位,求部分积(1+n/2)次,且最后一次不需移位
四、除法运算
1、恢复余数法
上商规则
– 将部分余数Ri与除数Y相减,判断余数的符号,确定商的值
– 差为正:商上1,不恢复余数,部分余数左移1位 – 差为负:商上0,恢复余数,部分余数左移1位 – 特点:速度慢,控制方式复杂。
2、加减交替法
商为1时,求下一轮余数的方法为左移余数减除数,商为0时,左移余数并且加除
数
若最后一次上商为0,需恢复余数,即R + Y 。
n
移 n 次,加 n+1 次 3、定点补码一位除法
1. 如果被除数与除数同号,用被除数减去除数;如异号,用被除数加除数。如果余数
与除数同号,商为1,如果异号,商为0。该商即符号位。
2. 求商的数值部分:如上次商为1,则余数左移一位后减去除数;如上次商为0,则
余数左移一位加除数。求商方法同1。如此重复执行n-1次。
3. 商的最后一位可采用恒置1法,或按2的方法再求一步,得到商的第n位。除不尽
时,如商为负,要在商的最低位加1,商为正不需加1。
6.4 浮点运算方法
(1) “对阶”操作:使尾数加减可以进行
• 比较两阶码,ΔJ= J-J
X
Y
• 将小阶码数的尾数右移︱ΔJ ︱位,其阶码值加︱ΔJ ︱ • 注意尾数右移特点:原码补0,补码补符号位 • 右移过程中移掉的位可用附加位电路暂时保存 (2)尾数加/减运算 ΔS = S± S
X
Y
(3)尾数规格化:尽可能提高精度
-1
原
-n
2 ≤|[S]|≤1-2
-1
2 ≤ | [S]|≤1
补
规格化操作的规则:
• 右规:结果的两个符号位不同表示尾数结果溢出,右移1 位尾数,阶码J+1。 • 左规:结果的两个符号位相同,如是原码且数值位最高位
为0,则左移,如是补码且数值位与符号位相同也 需左移。同时阶码减去移动的位数。
(4) 舍入
• 截断法
• 恒置1法 • 0舍1入法 (5) 判断阶码溢出
阶码下溢,则置运算结果为机器零; 阶码上溢,则置溢出标志,报警中断 。