QQ同城聊天室与普通的同城聊天室室有什么不同如果只是

5.4.4 存储器的扩展设计举例
微机原理与接口技术多媒体教学课件
位置:--第四节
存储器的扩展设计举例
进行存储器扩展设计时,通常按下列步骤进行。
  ① 根据系统实际装机存储容量,确定存储器在整个存储空间中的位置。
  ② 选择合适的存储器芯片,列出地址分配表。
  ③ 按照地址分配表选用译码器件,画出相应的地址位图,依次确定片选和片内单元的地址线,进而画出片选译码电路。
  ④ 画出存储器与CPU系统总线的连接图。
为某8位机(地址总线为16位)设计一个32KB容量的存储器。要求采用2732芯片构成8KB EPROM区,地址从0000H开始;采用6264芯片构成24KB RAM区,地址从2000H开始。片选信号采用全译码法。
  解:第一步,确定实现24KB RAM存储体所需要的RAM芯片的数量。
  因为每片6264提供213×8位的存储容量,所以实现24KB存储容量所需要的RAM芯片数量是
RAM数量==3(片)
  第二步,确定实现8KB ROM存储体所需要的EPROM芯片数量。
  由于每片2732提供212×8位的存储容量,所以实现8KB存储容量所需要的EPROM芯片数量是
  EPROM数量==2(片)
  第三步,存储器芯片片选择信号的产生及电路设计。
  采用74LS138译码器全译码的方法产生片选信号。存储器地址分配情况如图5.18所示。
  由图5.18地址分配情况可知,A12~A0作为片内地址线,A15~A13作为3-8译码器74LS138的输入,产生的译码输出000~011作为芯片的片选信号。存储器扩展电路如图5.19所示。两片2732的片内地址A11~A0与系统地址线A11~A0连接,译码器输出端和A12经“或门”输出与1#2732的连接,A12反相后和译码器输出端经“或门”输出与2#2732的连接。三片6264的片内地址A12~A0与系统地址线A12~A0连接,它们的片选分别连接译码器的输出端, , ,系统地址线A15~A13连接译码器74LS138的输入端A, B, C。
CPU设计一个存储器子系统,该存储器子系统包含16K×32b的RAM存储器和16K×32b的 ROM存储器。用SRAM电路4363实现RAM存储器,用EPROM电路27C128实现ROM存储器。
  这两种存储器电路如图5.20所示。RAM存储器的地址范围是00000H~0FFFFH,ROM存储器的地址范围是F0000H~FFFFFH。
解:第一步,确定实现16K×32b RAM存储体所需要的SRAM芯片的数量。
 因为每片4363提供214×4位的存储容量,所以实现64KB存储容量所需要的SRAM芯片数量是
 SRAM数量==8(片)
&&& 为了连接到32位数据总线上,必须将全部八片SRAM芯片(1#~8#)连在一起以形成16×32Kb RAM存储体。
  第二步,确定实现16K×32b ROM存储体所需要的EPROM芯片数量。
  由于每片27C128提供214×4位的存储容量,所以实现16KB存储容量所需要的EPROM芯片数量是
EPROM数量==4(片)
  第三步,存储器芯片片选信号、写信号的产生及电路设计。
  存储器子系统需要两个片选信号和。系统中A19A18A17A16 =0000B译码产生,A19A18A17A16 =1111B译码产生。片选信号逻辑电路的设计如图5.21所示。其中采用一块7400“与非”门,一块7425“或非”门和一块7404“非”门。
&&& 系统的写控制逻辑由存储器写命令信号和组合产生,以便在对RAM存储体进行写操作时为32位数据字的每个字节产生独立的写允许信号。这里用“或”门7432来实现,如图5.22所示。
  第四步,列出存储体地址分配表。
  80486微处理器中没有A1A0两条地址线,而是由组合产生,存储器的地址分配见表5.12。
  第五步,绘制存储器子系统的硬件连接图。
  存储器子系统硬件连接如图5.23所示。图中的存储器写命令信号和存储器读命令信号由80486 CPU的, , 和通过总线控制逻辑电路产生。
       [发明专利]具有带有非易失性半导体存储器的非易失性半导体存储设备的存储系统无效
申请/专利权人:
公开/公告号:CNA
发明/设计人:;;
公开/公告日:
主分类号:
搜索关键词:
【说明书】:
在根据第三示例的固定模式数据写入过程中,RAID控制器301向SSD400发送包括页面大小的部分数据———该部分数据是通过划分(压缩)固定模式数据1051而获得的———和大小信息——该大小信息指示固定模式数据1051的大小——的写入请求(具有固定模式数据指令的写入请求)作为用于将写入数据的单位大小(例如24KB)的固定模式数据1051写入到其中存储非必需数据的逻辑VOL2012的区域中的写入请求。作为结果,经由高速缓存340向SSD400发送部分数据。SSD400基于大小信息指定其中存储非必需数据的多个(在本例中为三个)页面、然后将这些页面设置为无效页面。SSD400然后在单个页面32p中存储部分数据,并且更新逻辑-物理转换表110的和物理-逻辑转换表111的信息以便使得根据逻辑卷的区域(与写入数据大小等效的区域)的页面大小划分的区域中的每个区域对应于这一页面32p。以这一方式,可以减少其中存储非必需数据的有效页面数目。例如在一个写入数据点的情况下,可以将有效页面数目从三减少至一。图18是用于图示根据实施例的固定模式数据写入过程的第四示例的图。在根据第四示例的固定模式数据写入过程中,RAID控制器301向SSD400发送包括页面大小的部分数据(该部分数据是通过划分(压缩)固定模式数据1051而获得的)和大小信息(例如24KB)(该大小信息指示固定模式数据1051的大小)的写入请求作为用于将写入数据的单位大小(例如24KB)的固定模式数据1051写入到其中存储非必需数据的逻辑VOL2012的区域中的写入请求。作为结果,经由高速缓存340向SSD400发送部分数据。SSD400基于大小信息指定其中存储非必需数据的多个(在本例中为三个)页面、然后将页面设置为无效页面。SSD400然后更新逻辑-物理转换表110的和物理-逻辑转换表111的信息,以便使得根据逻辑卷的区域(与写入数据大小等效的区域)的页面大小划分的区域中的每个区域对应于另一页面32p,并且以便使得用于指定固定模式数据的数据模式(例如如果数据模式是其位都是“0”的固定模式数据则是“0”)对应于区域中的每个区域。以这一方式,可以减少其中存储非必需数据的有效页面数目。例如在一个写入数据点的情况下,可以将有效页面数目从三减少至一。此外,不必存储页面中的数据。另外,可以执行根据下文描述的第五示例的使用取消映射请求的过程作为另一种用于减少其中存储非必需数据的区域(页面)数目的方法。图19是用于图示根据实施例的取消映射请求的图。取消映射请求1901具有逻辑地址1902和数据长度1903的字段。逻辑地址1902用于存储逻辑地址,该逻辑地址指示将被无效的顶部页面。数据长度1903用于存储从包括将被无效的页面的逻辑地址范围的顶部逻辑地址起的数据长度。在使用取消映射请求1901时,RAID控制器301指定其中存储非必需数据的逻辑地址范围、在逻辑地址1902中设置顶部逻辑地址、在数据长度1903中设置逻辑地址范围的数据长度、然后向SSD400发送取消映射请求1901。一旦SSD400的闪存封装10获取取消映射请求1901,闪存封装10基于取消映射请求1901的逻辑地址1902和数据长度1903的值指定对应逻辑地址的范围,并且更新逻辑-物理转换表110的和物理-逻辑转换表111的信息以便管理与逻辑地址的范围关联的多个页面作为无效页面。作为结果,其中存储非必需数据的所有页面变得无效,并且后续可以使用页面作为空白页面。接着描述在本实施例的存储系统中执行的快照创建过程和快照删除过程作为其中在SSD400中生成非必需数据的其它示例。图20是用于图示根据实施例的快照创建过程的图。在快照创建过程中,当主机200发送用于向复制目标主VOL1551的预定区域(写入区域)中写入新数据(用于更新在对应区域中存储的数据(旧数据)的数据)的写入请求(在图20中为(1))时,RAID控制器301从基于主VOL1551的写入区域的物理区域(在图20中所示示例中为HDD(SAS)500的物理区域)读取旧数据(在图20中为(2))、经由高速缓存340获取旧数据(在图20中为(3))并且向快照VOL1553的复制目的地区域(具有与主VOL1551的写入区域相同的地址的区域)中写入旧数据(在图20中为(4))。在这一过程中,RAID控制器301将旧数据写入到向快照VOL1553的复制目的地区域分配的盘区(池2001的逻辑VOL2012的逻辑区域)中(在图20中为(5))。在向旧数据被写入到的写入目的地盘区(向复制目的地区域分配的盘区)分配SSD400的区域的情况下,RAID控制器301指派写入目的地盘区并且发送用于向SSD400写入旧数据的写入请求,该SSD是向写入目的地盘区分配的区域的基础。经由高速缓存340向SSD400发送旧数据(在图20中为(6))。SSD400然后在FM芯片的与写入目的地盘区对应的存储区域(一个或者多个页面)中存储旧数据(在图20中为(7))。在主VOL1551中存储新数据(在图20中为(8))。图21是用于图示根据实施例的快照创建过程的另一示例的图。在图20中所示(5)中,RAID控制器301从池2001向快照VOL1553的复制目的地区域分配新盘区并且向这一盘区写入旧数据(在图21中为(5))。图22是用于图示根据实施例的在快照是删除时生成的非必需数据的图。在执行快照创建过程之后,有例如存储系统1从主机200接收用于删除快照VOL1553的请求的情况。在这样的情况下,存储系统1的RAID控制器301删除被请求删除的快照VOL1553。在删除快照VOL1553时,删除RAID控制器301管理的与快照VOL1553有关的信息等。在这一情况下,SSD400的其中存储旧数据的多个页面保持被管理作为其中存储有效数据的有效页面。现在,在本实施例中,执行下文描述的固定模式数据写入过程作为一种用于减少其中存储非必需数据的区域数目的方法。图23是用于图示根据实施例的在快照删除之后执行的固定模式数据写入过程的图。在快照删除之后执行的图23中所示固定模式数据写入过程,除了以固定模式数据被写入到的写入目的地盘区作为向快照VOL1553分配的盘区之外,与在层间动态迁移之后执行的图14中所示固定模式数据写入过程相似。在快照删除之后执行的固定模式数据写入过程与图15至18中所示固定模式数据的前述第一至第四示例相似。此外,可以将根据图19中所示第五示例的使用取消映射请求的过程作为另一用于减少其中存储非必需数据的区域数目的方法执行。接着具体描述存储系统1的各种表。图24示出根据实施例的逻辑物理转换表的示例。逻辑-物理转换表110是在闪存封装10的DRAM11中存储的表并且管理如下记录,这些记录具有逻辑地址110a、有效性110b、FM编号110c、块编号110d、页面编号110e和数据模式110f的字段。在逻辑地址110a中存储逻辑地址。在本实施例中,这些逻辑地址是池2001的逻辑VOL2012的逻辑地址。然而取代这些逻辑地址,可以在逻辑地址110a中存储SSD400的与逻辑VOL2012的逻辑地址对应的逻辑空间的逻辑地址。在有效性110b中存储对应逻辑地址的数据的有效性,该有效性例如指示该数据有效(存在于闪存封装10中)还是无效(未存在于闪存封装10中)。在FM编号110c中存储其中存储了具有对应逻辑地址的数据的FM芯片32的编号(FM编号)。在块编号110d中存储FM芯片32中的其中存储了具有对应逻辑地址的数据的块的编号(块编号)。在页面编号110e中存储其中存储了具有对应逻辑地址的数据的块中的页面的编号(页面编号)。数据模式110f是在固定模式数据写入过程中未向对应页面实际写入数据时使用的字段,换而言之,该字段是在执行图16和18中所示固定模式数据写入过程的第二和第四示例时使用的字段。在其它情况下可以不提供数据模式110f。在数据模式110f中存储用于指定对应逻辑地址的数据的数据模式或者指示未存储数据模式的NULL。在存储数据模式时,可以基于这一数据模式生成对应逻辑地址的数据。生成的数据的大小是数据模式的大小的整数倍(N倍(其中N是整数2或者更大))。根据在逻辑-物理转换表110中的示出“0x”作为逻辑地址110a的记录,在FM芯片#0的块#0的页面#0中存储这一逻辑地址的数据,并且对于这一逻辑地址未存储数据模式。示出“0x”、“0x”和“0x”作为逻辑地址110a的记录示出例如在执行固定模式数据写入过程的第二或者第四示例(图16或者图18)之后获得的对应逻辑地址的状态。FM芯片#1的块#0的页面#0对应于逻辑地址中的每个逻辑地址指示的区域,并且逻辑地址中的每个逻辑地址的数据模式是“0”。因此清楚的是,与逻辑地址中的每个逻辑地址对应的数据的所有位是“0”。图25示出根据实施例的物理-逻辑转换表的示例。
友情链接:交换友情链接需要网站权重大于2,网站收录10W以上,如符合条件,请联系QQ:。
行业网站:相关推荐:
400-周一至周五 9:00-18:00
服务热线:400-投诉建议:022-
扫一扫,微信关注高智网
高智&让创新无法想象1900万件&专利数据IC型号索引: &B&&&&F&&&&J&&&&N&&&&R&&&&V&&&&Z&&&&3&&&&7&&
在采购Z8FEC进货过程中,您使用搜索有什么问题和建议?
免责声明:以上所展示的Z8FEC信息由会员自行提供,Z8FEC内容的真实性、准确性和合法性由发布会员负责。捷配网不承担任何责任。
友情提醒:为规避购买Z8FEC产品风险,建议您在购买Z8FEC相关产品前务必确认供应商资质及产品质量。推荐使用"DZSC委托交易服务",买卖都安全。内存地址空间
上述的那些存储器,在物理上是独立的器件,但是在以下两点上相同。
都和CPU的总线相连。
CPU对它们进行读或写的时候都通过控制线发出内存读写命令。
这也就是说,CPU在操控它们的时候,把它们都当作内存来对待,把它们总的看作一个由若干存储单元组成的逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间。在汇编这门课中,我们所面对的是内存地址空间。
图1.8展示了CPU将系统中各类存储器看作一个逻辑存储器的情况。
在图1.8中,所有的物理存储器被看作一个由若干存储单元组成的逻辑存储器,每个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间。CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。
假设,图1.8中的内存地址空间的地址段分配如下。
地址0~7FFFH的32KB空间为主随机存储器的地址空间;
地址8000H~9FFFH的8KB空间为显存地址空间;
地址A000H~FFFFH的24KB空间为各个ROM的地址空间。
这样,CPU向内存地址为1000H的内存单元中写入数据,这个数据就被写入主随机存储器中;CPU向内存地址为8000H的内存单元中写入数据,这个数据就被写入显存中,然后会被显卡输出到显示器上;CPU向内存地址为C000H的内存单元中写入数据的操作是没有结果的,C000H单元中的内容不会被改变,C000H单元实际上就是ROM存储器中的一个单元。
内存地址空间的大小受CPU地址总线宽度的限制。8086CPU的地址总线宽度为20,可以传送220个不同的地址信息(大小从0至220-1)。即可以定位220个内存单元,则8086PC的内存地址空间大小为1MB。同理,80386CPU的地址总线宽度为32,则内存地址空间最大为4GB。
我们在基于一个计算机硬件系统编程的时候,必须知道这个系统中的内存地址空间分配情况。因为当我们想在某类存储器中读写数据的时候,必须知道它的第一个单元的地址和最后一个单元的地址,才能保证读写操作是在预期的存储器中进行。比如,我们希望向显示器输出一段信息,那么必须将这段信息写到显存中,显卡才能将它输出到显示器上。要向显存中写入数据,必须知道显存在内存地址空间中的地址。
不同的计算机系统的内存地址空间的分配情况是不同的,图1.9展示了8086PC机内存地址空间分配的基本情况。
图1.9告诉我们,从地址0~9FFFF的内存单元中读取数据,实际上就是在读取主随机存储器中的数据;向地址A0000~BFFFF的内存单元中写数据,就是向显存中写入数据,这些数据会被显示卡输出到显示器上;我们向地址C0000~FFFFF的内存单元中写入数据的操作是无效的,因为这等于改写只读存储器中的内容。
内存地址空间
最终运行程序的是CPU,我们用汇编语言编程的时候,必须要从CPU的角度考虑问题。对CPU来讲,系统中的所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU寻址能力的限制。这个逻辑存储器即是我们所说的内存地址空间。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 彩票计划聊天室 的文章

 

随机推荐