例题:总线的时钟频率为100MHz,总线的传输周期为4个时钟周期,总线的宽度为32位,求总线的数据传输率(总线带宽)
解:据原题可知:1秒钟有100M个时钟周期,有25M个总线周期;每个总线周期可以传送4个字节的数据;因此一秒钟可以传送25M*4个字节的数据,因此总线带宽为:100MBps
例题:异步串行传输系统,每秒能传输120个数据帧,字符格式包含1个起始位、7个数据位、1个校验位、1个停止位,计算波特率和比特率 解:一帧数据包含10位,因此波特率为 120*10=1200bps
每帧数据包含10位,其中有效数据为7位,因此比特率是1200*7/11=763.63bps
例9.1 CPU有16根地址线,8根数据线,用MREQ作为仿存控制信号(低电平有效),用WR作为读写控制信号(高电平读,低电平写)。现有下列存储芯片:1K*4位RAM,4K*8位RAM,8K*8位RAM,2K*8位ROM,4K*8位ROM, 8K*8位ROM及74138译码器和各种门电路。画出CPU与存储器的连接图,要求如下:
(1)主存地址空间分配为6000H~67FFH为系统程序区,6800H~6BFF为用户程序区 (2)合理选用上述存储芯片,说明各选几片 (3)画出片选逻辑图
A15…A12A11…A8 A7…A4 A3…A0
例9.1解:(1) 写出对应的二进制地址码
0110 0000 0000 0000
(2) 确定芯片的数量及类型
…… 系统程序区2K*8位
系统区范围2K*8 ROM
0110 0111 1111 1111
用户区范围1K*4 RAM
0110 1000 0000 0000
(3) 分配地址线
…… 用户程序区1K*8位
A10~ A0接2K×8位ROM的地址线
0110 1011 1111 1111
A9 ~ A0 接1K×4位RAM的地址线
(4) 确定片选信号 例9.2 假设同前,要求最小8K为系统程序区,相邻16K为用户程序区,最大4K为系统程序工作区。
解:(1)根据地址空间写出地址范围代码
方法:起始(终止)地址+/-(地址空间大小-1) 如:0+8K-1=0+(2^13-1)=0+1FFF
FFFF-(4K-1)=FFFF-(2^12-1)=FFFF-0FFF 8K ROM: 0000~1FFF 8K 16K RAM: 2000~3FFF 8K 4000~5FFF 8K
4K RAM: F000~FFFF 4K (2)分配CPU地址线 (3)形成片选信号
例题:设主存容量为512KB,Cache容量为4KB,每个字块为16个字,每个字32位。
(1)Cache地址有多少位,可容纳多少字块? (2)主存地址有多少位,可容纳多少字块? (3)设起始字块是第一字块,在直接映射方式下,主存第几块映射到Cache第5块? (4)画出直接映射时主存地址字段中各段的位数。 解:(1)4KB=2^12 Byte, 其地址包含12位二进制代码;每个字块有16*4 =2^6 Byte ,
Cache中字块数:2^12/ 2^6=2^6=64
(2)512KB=2^19 Byte, 其地址包含19位二进制代码;每个字2^6 Byte ,则主存中字
块数:2^19/ 2^6=2^13=8K
(3)直接映射时,因为2^13个主存块映射到2^6个Cache块,因此映射到统一Cache
块的主存块的数量为:2^13/ 2^6=2^7,映射到Cache中第5块的主存块编号为:5,64+5,64*2+5,…(2^7-1)*64+5
(4)直接映射方式主存地址字段分配
字块标记长度是主存与Cache地址长度之差
主存字块标记7位缓存字块地址6位字块内地址6位 例题:假设主存容量为512K*16位,Cache容量为4096*16位,块长为4个16位的字,访存地址为字地址。
(1)直接映射方式,设计主存地址格式; (2)全相联映射方式,设计主存地址格式; (3)二路组相联映射,设计主存地址格式;
(4)若主存容量为512K*32位,块长不变,在四路组相联方式设计主存地址格式。 解:(1)主存容量为512K=2^19 字,主存字地址为19位;Cache字长为4K=2^12字,
Cache字地址为12位;每个字块有4个字,快内地址占2位,b=2;主存有2^19/2^12=2^17个字块,m=17;Cache有2^12/2^2=2^10个字块,c=10;直接映射方式,主存字快标记长度为17-10=19-12=7位;
(2)全相联映射方式,主存字地址中低两位是块内地址,高17为是主存字块标记;
(3)二路组相联映射方式,Cache的2^10个字块分组,每组含有两个字块,因此分组数数为:2^10/2=2^9,所占二进制位数:9位,也可以这样算:r=1,c=10, q=c-r=9;主存字块标记长度:m-q=17-9=8位,或者19-2-9=8位;
(4)主存容量改为:512k*32位=2^20*16位,主存字地址为20位;字块长仍为4*16
位,块内地址占两位;四路组相联映射,Cache分组数为2^10/4=2^8,组地址占8位,因此主存字块标记为20-2-8=10位。
例:某机器配有基址寄存器和变址寄存器,采用一地址格式的指令系统,允许直接
和间接寻址,且指令字长、机器字长和存储字长都是16位
(1)若采用单字长指令,能完成105种操作,则指令可直接寻址的范围是多少,
一次间接寻址的范围是多少,画出指令格式并说明各字段的含义。
(2)若存储字长不变,则采取什么方法可直接访问容量为16MB的主存
(1)单字长指令为16bits;105种操作---7bits ; 4种寻址方式—2 bits 寻址特征位;地址
码为7bits: OP(7bits)M(2bits)AD(7bits)
一次直接寻址2^7,一次间接寻址2^16
(2)16MByte=8M*2Byte=8M存储字=2^23存储字,可以用23bits地址码寻址所有的
存储字,采用双字长指令即可满足要求。OP(7bits)M(2bits)AD1(7bits)AD2(16bits)
例:某模型机共有64种操作,操作码位数固定,且具有以下特点: (1)采用一地址或者二地址格式
(2)有寄存器寻址、直接寻址、相对寻址(-128 ~+127)三种寻址方式 (3)有16个通用寄存器,算逻运算操作数和结果都在寄存器中 (4)取数/存数指令在通用寄存器和存储器之间传送数据 (5)存储器容量为1MB,按字节编址
要求设计算逻指令、取数/存数指令和相对转移指令的格式,并阐述理由。 解答:
(1) 64种操作—6bits操作码;寻址方式3种---2bits 寻址特征;寄存器16个,因此
源操作数寄存器、目的操作数寄存器各4bits,指令取16位字长;
(2)取数/存数指令为寄存器-存储器型,取双字长32位,操作码、寻址模式同(1),
另外20bits作为寄存器地址,可寻址1MB存储器。
(3)相对转移指令为一地址格式,取单字长16位,操作码、寻址模式同(1),地址码
为8bits,对应位移量是-128~127
作业:4.1某计算机主存是4M*16位,存储字长等于指令字长,若该机指令系统能
完成97种操作,操作码位数固定,且具有直接、间接、基址、变址、相对、立即等6种寻址方式。
(1)画出一地址指令格式并指出各字段的作用 (2)该指令直接寻址的最大范围
(3)一次间接寻址和多次间址的寻址范围 (4)立即数范围
(5)相对寻址的位移量
(6)上述寻址方式中哪一种执行时间最短,哪一种最长,哪一种便于编制处理数组
问题的程序?
(7)如何修改指令,使得指令的寻址范围扩大到4M
(8)为了能使一条指令转移到主存任何一个位置,可采取何种措施。
例:某计算机主频为8MHZ,每条指令周期平均有2.5个机器周期,每个机器周期
平均有2个时钟周期:
1.请问该机的平均指令执行速度是多少MIPS?
2.若主频不变,指令周期平均有5个机器周期,机器周期平均有4个时钟周期,则
平均指令执行速度是多少?
3.机器运行速度和哪些因素有关。
1.主频8MHZ,时钟周期是1/8MHZ= 0.125uS 指令周期为(0.125*2)*2.5=0.625uS
则每秒执行的指令数:1S/0.625uS=1.6MIPS
另一种思路:每秒有8M个时钟周期,一条指令需要5个时钟周期,则每秒可以执
行8M/5=1.6M条指令,即速度为1.6MIPS
2.指令周期改为:0.125*4*5=2.5uS,则平均指令执行速度为:1s/2.5uS=0.4MIPS 另一种思路:8M/20=0.4 MIPS
3.机器运行速度不仅决定与主频,还与指令周期包含的机器周期数,以及机器周期包含的时钟周期数有关。
例:某CPU主频为8MHz,每个机器周期包含四个时钟周期,该机器的平均指令执行速度为1MIPS,
1.求该机器的平均指令周期
2.求每个指令周期包含的平均机器周期
3.若改用时钟周期为0.01uS的CPU芯片,求平均指令执行速度
1.因为平均指令执行速度为1MIPS,则指令周期为1/1M 秒=1uS 2.CPU主频为8MHZ,则时钟周期为1/8M秒,机器周期(有4个时钟周期)为1/2M秒,而指令周期为1/1M秒,则一个指令周期有2个机器周期 3.若改用时钟周期为0.01uS的芯片,则平均指令执行速度为 1MIPS*0.125/0.01=12.5MIPS
?例:某处理器采用直接控制的微指令编码格式,由下地址字段给出后续微指令地址,该机器有28个微命令,6个互斥的可判定的外部条件,控制存储器容量为512*40位。要求设计指令格式。
?因为直接控制,因此需要28个控制位组成操作控制字段;6个互斥的外部条件,可用3位状态位编码表示;控制存储器有512条微指令,可以用9位编码表示下地
址字段,因此指令格式为:
操作控制字段28位条件判定位3位下地址9位
(1)有5个互斥的微命令组,每组包含若干位,每组译码的结果应该能表示本组包含的所有微命令加上一个不发命令的情况,则5个控制字段分别需要给出6、9、3、16、23种状态,对应着3、4、2、4、5这几种字段位数(共18位),条件测试字段取2位,这些加起来是20位,因为微指令字长为28位,因此下地址字段为8位。 (2)因为下地址字段为8位,可表示256个微指令,所以控制存储器容量为256*28位。