1、第三章 存储、中断、总线与I/O系统 目录n存储系统的基本要求和并行主存系统 n中断系统n总线系统n输入/输出系统 存储系统的基本要求 要求:大容量、高速度和低价格 n存储器的容量nW:存储体的字长(位、字节)nl:每个存储体的字数nm:并行工作的存储体个数 MlWSM*n存储器的存取速度n访问时间 是存储器从接到访存读申请,到信息被读到数据总线上所需的时间n存储周期 是连续启动一个存储体所需要的间隔时间 n频宽(带宽)存储器可提供的数据传送速率,一般用每秒钟传送的信息位数(或字节数)来衡量 n单体的频宽 nm个分体的最大频宽 n实际频宽 最大频宽 ATMTmBMmTWB/MmTmWB/*n存
2、储器的价格 n总价格 Cn每位价格 cMSCc/举例:频宽平衡n假定一台计算机200MIPS(2亿次)nCPU取指令:200MW/s 指令字长为一个字WnCPU取操作数和保存结果:400MW/s n各种I/O:5MW/sn总和:605MW/s,假定存储器字长为一个字n主存的访问周期(1/605=0.0016528)=16.5nsn实际上,主存(DRAM)(动态随机存储器)在200ns内。n相差100倍。解决:n并行主存 n设置各种Cachen采用存储体系,特别是Cache存储体系 单体单字存储器MmTWB/地址寄存器W位读出寄存器单体多字存储器 MmTWB/*4地址寄存器 W位 W位 W位 W
3、位W位单字长寄存器多体单字交叉存取存储器 MmTWmB/*存 控(主存控制部件)地址寄存器0 地址寄存器1 地址寄存器2 地址寄存器3M0M1M2M3总 线 控 制CPUIOPm个存储体分时启动n实际上是一种采用流水线方式工作的并行存储器,理论上,存储器的速度可望提高n倍每存储体的启动间隔t为:其中:n为存储体个数Tm为每个存储体的访问周期tTm#0#1#2#m-1nTtm模m低位交叉编址 n地址A=m*i+j;i=0,1,2l-1 j=0,1,2 m-1 n寻址规则:n体地址 j=A mod m(A%m)n体内地址 i=A/mn :0,m,2m,m(l-1)+0n :i,m+i,2m+i,m
4、(l-1)+In适合于单处理机内的数据存取和带Cache的主存 0MiM模4低位交叉编址模体地址编址序列对应二进制地址码最末二位状态M00,4,8,12,4i+0,00M11,5,9,13,4i+1,01M22,6,10,14,4i+2,10M33,7,11,15,4i+3,11MBR存储体0MARMBR存储体n-1MARMBR存储体1MAR存储器地址寄存器(高位)译码器(低位)模m高位交叉编址n地址A=m*j+i;i=0,1,2l-1;j=0,1,2 m-1n寻址规则:n体地址 j=A/ln体内地址 I=A mod l(A%l)n :0,1,2,l-1n :il,il+1,(i+1)l 1n
5、适合于共享存储器的多机系统,适用于指令和数据分别存于不同分体中 0MiMMBR存储体0MARMBR存储体n-1MARMBR存储体1MAR译码器(高位)存储器地址寄存器(低位)混合编址 n按高位分为模块,模块内按低位交叉n控制复杂,不常采用 n并行主存系统 能并行读取多个CPU字的单体多字、多体单字或多体多字的交叉存储主存系统。定量分析主存频宽与分体数m、转移概率的关系 设对具有m路独立模体的并行主存系统,CPU发出地址 的访存申请队列,假定:(1)在每一个主存周期之前,扫描队列,截取 (2)是在k个地址中没有两个或两个以上的地址处于同一模体中,显然,k 0.3时,m=4、8、16的B差别不大n
6、 0.1时,m值的大小对B的改进会有显著影响n一般取m=8 m=2,4,8n对数据来讲,由于随机性大,因此靠加大m不一定满足要求。转移概率0.20.40.60.81.0246810121416B字数/主存周期m=4m=8m=16举例n设访存申请队列的转移概率为25%,比较在模32和模16的多体单字交叉存储器中,每一个周期能访问到的平均字数。n每一个周期能访问到的平均字数为:n将=25%,m=32代入上式,可求得:n将=25%,m=16代入上式,可求得:n将=25%,m=8代入上式,可求得:m1-1?B4320.75-132?B3.96320.75-116?B3.6320.75-18?B结论n从最坏情况考虑,设所有申请(包括指令和数据)都是全随机的,Hellerman用单来单服务、先来先服务的排队论模型进行模拟,可得出随m的提高,主存频宽只是以近似 的关系改善。n当然,指令流和数据流也不会是全随机的,因此,B的值总是会比 的值要大n正是因为程序的转移概率不会很低,数据分布的离散性较大,所以单靠增大m来提高并行主存系统的频宽是有限的,而且性能价格比还会随m的增大而下降,就必须从系统结构上进行改进,采用存储体系mm