存储扩展(一):字扩展

存储扩展(一):字扩展本文探讨了存储容量的字扩展技术 通过增加存储单元来提升存储容量

大家好,欢迎来到IT知识分享网。

尊重劳动成果,转载
  请注明出处!!!  
  请注明出处!!!  
  请注明出处!!!  


存储容量字扩展

介绍

  什么是存储容量字扩展?看如下问题:问题1
  两片4x8bit的C组成一个8x8bit的整体,存储单元的数目增加了,容量也就增加了。
扩展示意图
  通过增加存储单元数来扩大容量,称为字扩展。(数据总线的位数与编址单元的位数相等的大前提下,本文都是基于这个大前提


问题分析

需要几块?

分析1

数据总线怎么连接

(D0接D’7……D7接D’0,如果知道互连网络的话,那么就知道这种对应方法我们称之为互连函数,又叫置换函数或者排列函数。不知道互连网络请参考《计算机系统结构》)

  通常采用一致的顺序?(为了方便理解,先暂定这样的顺序)

地址总线怎么连接

  知道地址怎么分,才能连接地址线。

地址怎么分?

分析2

假设地址总线上的地址为xyz b,x,y,z要么取0,要么取1
6种不同的情况

  如果假定对每个地址的访问时间一致,那么对应关系也和上文数据总线一样。(或许和上面的方法联合起来可大大增加内存物理攻击查找数据的复杂度)
  那么就可以将上述6种情况简化为三种情况,xy b, xz b, yz b
(引入了其他的知识点,从存储系统 并行性和访问冲突两方面分析。)




预备知识
流水线技术

  计算机的产生就是为了提高数据运算的速度。并行技术是提高运算速度的重要手段。流水线技术是并行技术的一种。流水线
  假设一个指令周期分为四个子过程:取指令、指令译码、指令执行、结果写回。那么在流水CPU中,执行第n条指令的第二过程时,同时可以执行第n+1条指令的第一过程,大大提高了效率。

指令预取

  8086CPU就使用了流水线技术。在总线接口部件中有一个指令队列缓冲器,有6个字节长,当其中有两个空闲时,会自动把指令从存储系统中取到指令队列。此处把这种指令还未执行时就取出的方法称之为指令预取。

多存储器并行工作

多个存储器同时工作

访问冲突

访问并行工作的存储器时,由于数据的离散性导致并行工作效率降低,这就是访问冲突。

频带平衡
3种情况分析

  对于xy b,地址线A2 A1 A0,取A2 A1作为片内地址线,那么还剩下A0刚好作为片选信号(log_2 2=1)。A0=0访问M0,A0=1访问M1。https://blog.csdn.net/_
  假设当前CPU正在读地址为010 b的数据,在流水线中,下一条指令已经到达执行阶段,也是访问存储器,地址011 b,但是当前这个数据还没有读出来。如果不支持并行工作,只能等到010b数据读完,再读011b的数据。如果支持并行工作,可以直接将数据送到数据总线。这样一来,可以认为是几乎同时访问不同的存储器,工作效率就大大提高了。010 b属于M1,011 b属于M0,访问M1的时候可以访问M0,这就是并行工作。
  但是,如果上述例子中011 b改为 100 b,情况就大不一样了,由于是同一个存储器,只能等待010b读完再读100b。这就是访问冲突。由于数据离散性和指令跳转等因素,访问冲突往往不可避免。(“往往”就是说还有解决办法,见《计算机系统结构》)

  对于yz b,同样的分析思路。在连续地址的数据访问上,速度比较慢,同一时刻只有一个存储器在工作。并行性差但是稳定性高,一个存储器坏掉,另一个仍然可以用,扩展性也更强。
https://blog.csdn.net/_
  对于xz b,大家自己分析其中的利弊。不过这种情况在微机原理和计组乃至系统结构都没见到,鄙人才疏学浅,不懂其中缘由,欢迎评论区或私信讨论。

一个由若干个模块组成的存储器是线性编址的。——白中英 计组 六版 3.5.2

交叉存储器(interleaved memory)

对于xy b这种情况,称之为低位交叉访问存储器,低位用来区分存储体
对于yz b这种情况,称之为高位交叉访问存储器(High Order Interleaving ),高位用来区分存储体
交叉(interleaving)是什么意思:可以理解为轮流,交错
  xy b情况,访问次序···-M0-M1-M0-M1-···,是交错的
  yz b情况,访问次序···-M0-M0-M0-M0-···看起来是顺序的,从更广泛的时空范围来看···-M0-M0-M0-M0-M1-M1-M1-M1-···,这种又称顺序访问
  xz b情况,如果视野只放在两个连续地址访问,那么有4种情况,···-M0-M0···,···-M1-M1-···,···-M0-M1-···,···-M1-M0-···所有这是算交错呢还是顺序呢?视野放大,···-M0-M0-M1-M1-M0-M0-M1-M1-···,也是交错的,所以这个到底怎么区分?交错的,因为前面出现过的在后面又出现了。这里给出CMU有关interleaved memory的课件。




鄙人才疏学浅,如有不当之处,欢迎私信或评论区讨论 [抱拳]

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/117860.html

(0)
上一篇 2025-11-17 17:26
下一篇 2025-11-17 17:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信