第三章 存储 、中断、总线与 i/o 系统
Post on 01-Jan-2016
175 Views
Preview:
DESCRIPTION
TRANSCRIPT
第三章 存储、中断、总线与 I/O 系统
目录 存储系统的基本要求和并行主存系统 中断系统
总线系统
输入 / 输出系统
存储系统的基本要求 要求:大容量、高速度和低价格
存储器的容量 W :存储体的字长(位、字节) l : 每个存储体的字数 m :并行工作的存储体个数
MlWSM **
存储器的存取速度 访问时间 是存储器从接到访存读申请,到信息被读到数据总线上所需的时间
存储周期 是连续启动一个存储体所需要的间隔时间
频宽(带宽) 存储器可提供的数据传送速率,一般用每秒钟传送的信息位数(或字节数)来衡量
单体的频宽 m 个分体的最大频宽 实际频宽 < 最大频宽
AT
MT
mB
Mm TWB /
Mm TmWB /*
存储器的价格
总价格 C 每位价格 c
MSCc /
举例:频宽平衡 假定一台计算机 200MIPS ( 2 亿次)
CPU 取指令: 200MW/s 指令字长为一个字 W CPU 取操作数和保存结果: 400MW/s 各种 I/O : 5MW/s 总和: 605MW/s , 假定存储器字长为一个字 主存的访问周期 ( 1/605=0.0016528) 《 =16.5ns 实际上,主存( DRAM ) ( 动态随机存储器 ) 在 200ns内。
相差 100 倍。
解决: 并行主存
设置各种 Cache
采用存储体系,特别是 Cache 存储体系
单体单字存储器
Mm TWB /
地址寄存器
W 位读出寄存器
单体多字存储器 Mm TWB /*4
地址寄存器
W 位 W 位 W 位 W 位
W 位
单字长寄存器
多体单字交叉存取存储器 Mm TWmB /*
存 控(主存控制部件)
地址寄存器 0 地址寄存器 1 地址寄存器 2 地址寄存器 3
M0 M1 M2 M3
总 线 控 制
CPU IOP
m 个存储体分时启动 实际上是一种采用流水线方式工作的并行存储器 , 理论上,存储
器的速度可望提高 n 倍每存储体的启动间隔 t 为:其中: n 为存储体个数Tm为每个存储体的访问周期
……
t Tm
#0#1#2
#m-1
n
Tt m
模 m低位交叉编址 地址 A = m * i+j ; i=0,1,2…l-1 j = 0,1,2… m-1 寻址规则:
体地址 j = A mod m (A % m) 体内地址 i = A / m
: 0, m, 2m, ………m(l-1)+0 : i, m + i, 2m + i, ………m(l-1)+I
适合于单处理机内的数据存取和带 Cache 的主存
0M
iM
模 4低位交叉编址
模体 地址编址序列 对应二进制地址码最末二位状态
M0 0,4,8,12,…,4i+0,… 00
M1 1,5,9,13,…,4i+1,… 01
M2 2,6,10,14,…,4i+2,… 10
M3 3,7,11,15,…,4i+3,… 11
MBR
存储体 0MAR
MBR
存储体 n-1MAR
MBR
存储体 1MAR
……
存储器地址寄存器(高位)
译码器
(低位)
……
模 m高位交叉编址 地址 A = m*j+i ; i=0,1,2…l-1 ;j=0,1,2… m-1 寻址规则:
体地址 j = A / l 体内地址 I = A mod l (A % l)
: 0, 1, 2, ……l-1 : il, il + 1, ………(i+1)l –1
适合于共享存储器的多机系统,适用于指令和数据分别存于不同分体中
0M
iM
MBR
存储体 0MAR
MBR
存储体 n-1MAR
MBR
存储体 1MAR
……
译码器
(高位) 存储器地址寄存器(低位)
……
混合编址 按高位分为模块,模块内按低位交叉 控制复杂,不常采用
并行主存系统 能并行读取多个 CPU 字的单体多字、多体单字或多体多字的交叉存储主存系统。
定量分析主存频宽与分体数 m、转移概率 λ的关系
设对具有 m 路独立模体的并行主存系统,CPU 发出地址 的访存申请队
列,假定: ( 1 )在每一个主存周期之前,扫描队列,截取
( 2 ) 是在 k 个地址中没有两个或两个以上的地址处于同一模体中,显然 , k <= m
( 3 )截取的 k 个地址的队列,能同时访问 k 个模体, k = 1,2,…m
qk AAAA ,,,,,,, 21
kAAA ,,,, 21
kAAA ,,,, 21
另设: P(k) 表示申请长度为 k ,且不冲突的概率密度函数。显然 k 的平均值:
设转移概率 λ :给定指令的下一条指令地址为非顺序地
址的概率。则 :
m
k
kpkB1
)(*
1
1
)1()(
)1()(
)1)(1()3(
)1()2(
)1(
m
k
mp
kp
p
p
p
带入上式:
由数学归纳法得:
是一个等比级数,因此:
11
1
)1()1()(* mkm
km mkkpkB
1
0
)1(m
i
imB
m1-1 B
用归纳法证明
时成立。证明:
:时,两边等式成立,即设:右边
时:左边;右边时:左边
1
)1()1()1(
211
2222
111
)1()1()1(
1
0
111
1
1
0
111
1
nm
nk
nm
m
m
mk
n
i
inkn
k
m
i
imkm
k
用归纳法证明(续)
n
i
i
nn
i
i
nnkn
k
nnkn
k
nnkn
k
nkn
k
nk
nk
nnk
nk
0
1
0
111
1
111
1
111
1
1
1
)1(
)1()1(
)1()1()1(
)1()1()1()1(
)1)(1()1()1(
)1)(1()1(
说明 λ=1 时, B= 1 λ=0 时, B= m , 效率最高 λ> 0.3 时, m=4 、 8 、 1
6 的 B 差别不大 λ< 0.1 时 ,m 值的大小对 B
的改进会有显著影响 一般取 m<=8 m = 2,4,8 对数据来讲,由于随机性
大,因此靠加大 m 不一定满足要求。
转移概率0.2 0.4 0.6 0.8 1.0
2
4
6
8
10
12
14
16
B字数 / 主存周期
m=4
m=8
m=16
举例 设访存申请队列的转移概率 λ 为 25% ,比较在模 32 和模
16 的多体单字交叉存储器中,每一个周期能访问到的平均字数。
每一个周期能访问到的平均字数为:
将 λ=25% , m=32 代入上式,可求得:
将 λ=25% , m=16 代入上式,可求得:
将 λ=25% , m=8 代入上式,可求得:
m1-1 B
432
0.75-1 32
B
3.9632
0.75-1 16
B
3.632
0.75-1 8
B
结论 从最坏情况考虑,设所有申请(包括指令和数
据)都是全随机的, Hellerman 用单来单服务、先来先服务的排队论模型进行模拟,可得出随 m 的提高,主存频宽只是以近似 的关系改善。
当然,指令流和数据流也不会是全随机的,因此, B 的值总是会比 的值要大
正是因为程序的转移概率不会很低,数据分布的离散性较大,所以单靠增大 m 来提高并行主存系统的频宽是有限的,而且性能价格比还会随 m 的增大而下降,就必须从系统结构上进行改进,采用存储体系
m
m
top related