在直接映射方式下,主存字块标记为21-9-5=7位,主存地址格式为:
主存字块标记(7位) Cache字块地址(9位) 字块内地址(5位)在四路组相联映射方式下,主存字块标记为21-7-5=9位,主存地址格式为:
主存字块标记(9位) 组地址(7位) 字块内地址(5位)在全相联映射方式下,主存字块标记为21-5=16位,主存地址格式为:
主存字块标记(16位) 字块内地址(5位)\29. 假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期为30ns,主存的存取周期为150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少倍?
解:Cache被访问命中率为:4800/(4800+200)=24/25=96%
则Cache-主存系统的平均访问时间为:ta=0.9630ns+(1-0.96)150ns=34.8ns
Cache-主存系统的访问效率为:e=tc/ta100%=30/34.8100%=86.2%
性能为原来的150ns/34.8ns=4.31倍,即提高了3.31倍。
\30. 一个组相连映射的CACHE由64块组成,每组内包含4块。主存包含4096块,每块由128字组成,访存地址为字地址。试问主存和高速存储器的地址各为几位?画出主存地址格式。
解:cache组数:64/4=16 ,Cache容量为:64*128=213字,cache地址13位
主存共分4096/16=256区,每区16块
主存容量为:4096*128=219字,主存地址19位,地址格式如下:
主存字块标记(8位) 组地址(4位) 字块内地址(7位)\32. 设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映射(即Cache每组内共有4个字块)的Cache组织。
(1)画出主存地址字段中各段的位数。
(2)设Cache的初态为空,CPU依次从主存第0,1,2,…,89号单元读出90个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?
(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度约提高多少倍?
解:(1)根据每字块有8个字,每字32位(4字节),得出主存地址字段中字块内地址为3+2=5位。
根据Cache容量为16KB=214B,字块大小为8*32/8=32=25B,得Cache地址共14位,Cache共有214-5=29块。
根据四路组相联映射,Cache共分为29/22=27组。
根据主存容量为4MB=222B,得主存地址共22位,主存字块标记为22-7-5=10位,故主存地址格式为:
主存字块标记(10位) 组地址(7位) 字块内地址(5位)(2)由于每个字块中有8个字,而且初态为空,因此CPU读第0号单元时,未命中,必须访问主存,同时将该字所在的主存块调入Cache第0组中的任一块内,接着CPU读第1~7号单元时均命中。同理,CPU读第8,16,…,88号时均未命中。可见,CPU在连续读90个字中共有12次未命中,而后8次循环读90个字全部命中,命中率为:
(3)设Cache的周期为t,则主存周期为6t,没有Cache的访问时间为6t908,有Cache的访问时间为t(908-12)+6t12,则有Cache和无Cache相比,速度提高的倍数为:
第5章 输入输出系统\1. I/O有哪些编址方式?各有何特点?
解:常用的I/O编址方式有两种: I/O与内存统一编址和I/O独立编址。
特点:I/O与内存统一编址方式的I/O地址采用与主存单元地址完全一样的格式,I/O设备和主存占用同一个地址空间,CPU可像访问主存一样访问I/O设备,不需要安排专门的I/O指令。
I/O独立编址方式时机器为I/O设备专门安排一套完全不同于主存地址格式的地址编码,此时I/O地址与主存地址是两个独立的空间,CPU需要通过专门的I/O指令来访问I/O地址空间。
3.I/O设备与主机交换信息时,有哪几种控制方式?简述他们的特点
答: (1)程序查询方式。其特点是主机与I/O串行工作。CPU启动I/O后,时刻查询I/O是否准备好,若设备准备就绪,CPU便转入处理I/O与主机间传送信息的程序;若设备未做好准备,则CPU反复查询,直到I/O准备就绪为止。可见这种方式CPU效率很低
(2)程序中断方式。其特点是主机与I/O并行工作。CPU启动I/O后,不必时刻查询I/O是否准备好,而是继续执行程序,当I/O准备就绪时。向CPU发中断请求信号,CPU在适当时候响应I/O的中断请求,暂停现行程序为I/O服务。这种方式消除了“踏步”现象,提高了CPU效率,(特点为:CPU与设备并行工作,传送与主程序串行工作)