单体多字系统以及多体并行系统

他们的出现是为了提高访存的速度。
1.单体多字系统
适用于程序和数据在存储体内是连续存放的情况。在一个存取周期内,从同一地址取出多条指令,然后再逐条将指令送至CPU执行,这样增大了存储器的带宽,提高了单体存储器的速度。这里的单体应该就是一个模块,但是每次可以读取多个字,可以和多体进行比较。
(图在唐朔飞老师的计算机组成原理书的103页)
2.多体并行系统
有多个模块,每个模块有相同的容量以及存取速度,各模块各自都有独立的地址寄存器(MAR),数据寄存器(MDR),地址译码,驱动电路和读写电路,他们能够并行工作,同时也能交叉工作(什么是交叉工作?),但是并行读出的数据在总线上需要分时传送。
地址分为体号与体内地址。
对于高位交叉编址的多体存储器而言,程序按体内地址顺序存放,他们在每一个模块中的地址是连续的,有利于存储器的扩充。高位地址表示体号,低位地址表示体内地址。
(图在唐朔飞老师的计算机组成原理书的104页)
对于地位交叉编址的多体存储器而言,程序连续存放在相邻体中(又有交叉存储之称),低位地址表示体号,高位地址表示体内地址。这种编址方式又称为模M编址,其中M为模块数。
每个模块的存取周期是不变的,但是CPU交叉访问各体,使得这几个存储体的读/写过程重叠进行。
(图在唐朔飞老师的计算机组成原理书的105页)
我们根据书上106页的图可以得知:
对于低位交叉的存储器,连续读取n个字所需的时间为T+(n-1)*t,
对于高位交叉的存储器,连续读取n个字所需的时间为n*T,

假设有4个模块组成的四体存储器结构,每个体的存储字长为32位,存取周期为200ns,假设数据总线宽度为32位,总线传输周期为50ns,试求顺序存储和交叉存储的存储器带宽。
连续读出4个字的信息量为32*4=128位,
顺序存储存储器连续读出4个字的时间为:200ns*4=800ns
交叉存储存储器连续读出4个字的时间为:200ns+50ns*(4-1)=350ns
顺序存储器的带宽为:128bit/800ns=16*10^7bps
交叉存储器的带宽为:128bit/350ns=37*10^7bps

 

————————————————
版权声明:本文为CSDN博主「打扰一下疯子」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34600424/article/details/78956776

点赞

发表评论