听王道咸鱼课的时候一直有个疑问,既然存取周期可以分为存取时间和恢复时间,那么对于四体交叉存储器其连续存储m个字的时间为什么不是mr,而是T+(m-1)。在做了2013年第43题后,我个人认为咸鱼没有讲清楚,来做部分补充。
首先明确一个概念,模块(一块芯片、一块内存、一个DRAM)的存取周期(T)到底是什么?很简单,就是一个模块准备好一个数据,然后通过总线传给cpu(牢记上面两步),下一个数据也是先准备在再。所以如果没有采用交叉(默认低位交叉)存储器,而采用高位交叉传输4个字的时间为4T,由此引进了低位交叉的思想,我们在模块1准备传输数据时可以启动另一个(多个)模块让他先准备数据,当这个模块1的数据传送完时,模块2的数据准备好,此时不必等待模块2准备数据,可以直接上总线传输。
规定按每隔1/m个存储周期轮流启动个模块(这就是我被误导的原因,本来以为1/m是它的存取时间,实际上1/m却是人为的规定)
下面我们来看2013年真题43第三问
明确过程。谁给谁送地址?谁给谁传数据?
新概念:存储周期(与存取周期不同)!!!内存准备一块数据的时间或者将一个数据从存到内存的时间。有些老师不区分这两个概念,让我们做题好苦啊。
存取周期需要将数据取出来(参考数据结构中随机存取的存取的含义)
所以在这道题中真正的存取周期(T)是存储周期t(40ns)+总线周期r(5ns)(本题总线周期等于总线时钟周期)=45ns。8体传输8个数据。应用到公式T+(m-1)r=45+7×5=80ns。加上传输地址的总时间5ns,总共85ns。