使用单端口存储器装置的多端口存储器仿真的制作方法

文档序号:8207703阅读:511来源:国知局
使用单端口存储器装置的多端口存储器仿真的制作方法
【技术领域】
【背景技术】
[0001] 电子装置包括多种多样的处理器(诸如专用集成电路(ASIC)、数字信号处理器 (DSP)和微处理器),其使用例如存储器装置来存储和检索信息。超大规模集成(VLSI)电 路(例如,数十亿数量级的晶体管)通常包括多个处理器,每个处理器存取和处理存储在由 多个处理器共享的存储器装置中的信息。共享的存储器装置通常包括具有多个端口(例 如,多端口存储器)的存储器单元(例如,位单元),以使存储器装置(以及存储在其中的信 息)能够被更快地存取。
[0002] 然而,使用空间多路复用和/或时间多路复用实现多端口存储器通常要求更大量 的布局空间、增加的功率、降低的带宽和/或其组合。空间多路复用多端口存储器,例如,使 用多路复用器来设置,该多路复用器被设置成接收用于第一端口和第二端口的请求并且交 替发送该请求到存储器。时间多路复用多端口存储器,例如,使用第一存储器和第二存储器 以及多路复用器来设置,其中第一存储器和第二存储器被设置成分别接收用于第一存储器 和第二存储器的请求,该多路复用器被设置成交替输出第一存储器和第二存储器的每个的 输出。
[0003] 空间多路复用方案通常涉及使用较大的位单元(例如,使用八个或更多个晶体 管)。每个多端口位单元的(布局)面积通常随着位单元中的端口数量呈指数增长,这导致 位单元中较大数量的端口要求指数地更大的空间。空间多路复用通常允许多端口存储器以 接近于单端口存储器的频率的频率运行。因此,当提供相似的性能时,空间多路复用的存储 器使用的面积经常是单端口存储器使用的面积的两倍,而且消耗的功率是单端口存储器的 两倍。
[0004] 时间多路复用方案包括使用单端口存储器,该单端口存储器耦合到仲裁和优先级 排序逻辑电路来避免块(bank)竞争。用于单端口存储器的各个端口请求被赋予优先级并 且在时间上顺序地发送到单端口存储器。各个端口请求的串行化得到较低的操作频率和较 高的周期延迟,因为单端口存储器在时间上被顺序存取。使用时间多路复用的多端口存储 器通常具有与单端口的布局面积的大小可比的布局面积。因此,时间多路复用的存储器经 常使用与单端口存储器类似的面积量,并且消耗类似量的功率,但提供一半的性能。
[0005] 用于实现多端口存储器的第三种方案提供针对单个位单元(诸如"8T"(八晶体 管)位单元)使用第一输入端口和第二输入端口以及使用第一输出端口和第二输出端口。 多输入和多输出存储器使用的面积经常是单端口存储器使用的面积的两倍、消耗的功率比 单端口存储器多,但提供较低的性能。

【发明内容】

[0006] 公开一种多端口存储器仿真器,其接收用于在一个操作时钟周期中并发地处理存 储器命令的第一存储器命令和第二存储器命令。当第一存储器命令和第二存储器命令的命 令类型均是读命令类型、写命令类型或均是不同命令类型时,并发地处理读和写命令这两 者由两级架构支持。数据操作数存储在设置为行和存储器块的位单元的存储器阵列中。辅 助存储器块提供用于物理地存储每行的附加字的位单元。第一存储器命令和第二存储器命 令的每个的块地址部分被分别转换成第一物理块地址和第二物理块地址。响应于确定块 地址部分相同,第二物理块地址被分配当前未使用的块的块地址,并且响应于确定块地址 部分相同,与第一块地址关联的块被指派为当前未使用的块以用于随后接收到的存储器命 令。
【附图说明】
[0007] 图1示出根据本公开的实施方式的示例性计算装置;
[0008] 图2是根据本公开的实施方式示出逻辑寻址的多端口存储器仿真器的逻辑图; [0009] 图3是根据本公开的实施方式示出逻辑寻址的多端口存储器仿真器的单端口存 储器的物理块的逻辑图;
[0010] 图4是根据本公开的实施方式示出逻辑寻址的仿真器单端口存储器阵列的查找 表的逻辑图;
[0011] 图5是根据本公开的实施方式示出用于对逻辑寻址的多端口存储器仿真器的两 个端口进行并发存取的过程的流程图;
[0012] 图6是根据本公开的实施方式示出在逻辑表的第一更新之后逻辑寻址的仿真器 单端口存储器阵列的查找表的状态的逻辑图;
[0013] 图7是根据本公开的实施方式示出在逻辑表的第二更新之后逻辑寻址的仿真器 单端口存储器阵列的查找表的状态的逻辑图;
[0014] 图8是根据本公开的实施方式示出逻辑寻址的多端口存储器仿真器的存取周期 的时序图;
[0015] 图9是根据本公开的实施方式示出用于同时处理来自相同块的并行读操作的多 端口存储器仿真器的单端口存储器的物理块和编码数据块的逻辑图;
[0016] 图10是根据本公开的实施方式示出图9的存储器操作的时序图;
[0017] 图11是根据本公开的实施方式示出用于同时处理来自相同块的并行读操作的另 一个多端口存储器仿真器的单端口存储器的物理块和编码数据块的逻辑图;
[0018] 图12是根据本公开的实施方式示出图11的存储器操作的时序图;
[0019] 图13是根据本公开的实施方式示出用于同时处理来自相同块的并行读操作的另 一个多端口存储器仿真器的单端口存储器的物理块和编码数据块的逻辑图;
[0020] 图14是根据本公开的实施方式示出图13的存储器操作的时序图;
[0021] 图15是根据本公开的实施方式示出用于对逻辑寻址的多端口存储器仿真器的两 个端口进行并发读的过程的流程图;
[0022] 图16是根据本公开的实施方式示出完整双读和写架构多端口存储器仿真器的逻 辑图;
[0023] 图17是根据本公开的实施方式示出两级逻辑寻址仿真器单端口存储器的查找表 1700的逻辑图;
[0024] 图18是根据本公开的实施方式示出完整双读和写架构多端口存储器仿真器中的 同时读操作的逻辑图;
[0025] 图19是根据本公开的实施方式示出完整双读和写架构多端口存储器仿真器中的 同时写操作的逻辑图;
[0026] 图20是根据本公开的实施方式示出用于对逻辑寻址的多端口存储器仿真器的两 个端口进行并发读和写的过程的流程图;
[0027] 图21是根据本公开的实施方式示出用于对逻辑寻址的多端口存储器仿真器的两 个端口进行并发读的过程的流程图;以及
[0028] 图22是根据本公开的实施方式示出用于对逻辑寻址的多端口存储器仿真器的两 个端口进行并发写的过程的流程图。
【具体实施方式】
[0029] 图1示出根据本公开的实施方式的示例性计算装置100。例如,计算装置100是 诸如移动装置129、个人数字助手(Blackberry κ装置)、个人计算机、自动电子装置、放映 (和/或媒体播放)单元或使用电子存储器的任何其它类型的电子系统的计算装置,或并入 到计算装置中。
[0030] 在一些实施方式中,计算装置100包括巨型单元或片上系统(SoC),其包括控制逻 辑器,诸如测试器110、CPU 112(中央处理单元)和存储装置114。CPU 112能够是,例如, CISC型(复杂指令集计算机)CPU、RISC型CPU(精简指令集计算机)或数字信号处理器 (DSP)。存储装置114 (其能够是存储器,诸如处理器上的缓存、处理器外的的缓存、随机存 取存储器、闪速存储器或盘存储装置)存储一个或更多个软件应用程序130 (例如,嵌入式 应用程序),当软件应用程序由CPU 112执行时,执行与计算装置100关联的任意合适功能。 CPU 112能够包括(或耦接到)RAM (随机存取存储器)134,该RAM 134能够是设置在公共 (或单独)基板上的静态或动态RAM。RAM 134包括多端口存储器仿真器136,该多端口存 储器仿真器136用于使用,尤其使用以下公开的单端口存储器对多端口存储器进行仿真。
[0031] 测试器110是诊断系统,并包括支持对执行软件应用程序130的计算装置100进 行监测、测试和调试的逻辑器(至少部分由硬件体现)。例如,测试器110能够用于仿真计 算装置100的一个或更多个缺陷或不可用的组件,以允许验证组件(一个或更多个)(就像 其实际上存在于计算装置100上)如何在各种情形下执行(例如,组件(一个或更多个) 将如何与软件应用程序130交互)。以这种方式,软件应用程序130能够在类似后期生产操 作的环境中解调。
[0032] CPU 112包括存储器和逻辑器,其存储从存储装置114频繁存取的信息。计算装置 100常常由用户使用UI (用户接口)116控制,在软件应用程序130的执行期间,该UI 116 提供输出给用户并且从用户接收输入。输出通过使用显示器118、指示器灯、扬声器、振动装 置、图像投影器132等提供。输入通过使用音频和/或视频输入端(例如,使用语音或图像 识别装置)和机械装置(诸如键盘、开关、接近度检测器等)接收。CPU 112和测试器110 耦接到I/O (输入/输出)端口 128,其提供接口(被配置为从外围设备和/或计算装置131 接收输入(和/或向其提供输出),所述接口包括有形介质(诸如闪速存储器)和/或电缆 连接的或无线介质(诸如联合测试动作组(JTAG)接口)。这些和其它输入和输出装置通过 外部装置使用无线或电缆连接装置选择性地耦接到计算装置100。
[0033] 多端口存储器仿真器136被设置为通过使用查找表来将逻辑地址转换成用于选 择位单元的物理地址,来仿真多端口存储器。多端口存储器仿真器136提供多端口存储器 操作的性能,并维持对面积、操作频率和功率消耗的最小冲击。因此,多端口存储器仿真器 136能够被设置成大的(或小的)多端口存储器,其具有接近单端口存储器的面积和操作频 率的面积和操作频率。
[0034] 图2是根据本公开的实施方式示出逻辑寻址的多端口存储器仿真器200的逻辑 图。多端口存储器仿真器200是双端口存储器仿真器,因此是以上描述的多端口存储器仿 真器136 (其被设置成具有两个或更多个端口)的一个示例。多端口存储器仿真器200包括 输入缓冲器202,输入缓冲器202被设置成接收两个存储器命令(例如,诸如用于双端口存 储器仿真器的两个存储器命令)。这两个存储器命令提供数据以及第一逻辑地址和第二逻 辑地址以用于在仿真器单端口存储器210内对存储器寻址。存储器被设置成响应于断言的 第一存储器命令和第二存储器命令的行部分和断言的第一物理块地址和第二物理块地址, 并发地处理第一存储器命令和第二存储器命令。存储器命令的每个与命令类型(诸如"读 操作"或"写操作")关联。
[0035] 单端口存储器(装置)210被设置成存储器行块(例如,参见图4)。辅助块被设 置以提供初始"孔(hole)"(例如
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1