《使用铁电随机存取存储器且具有优化指令集的堆栈处理器.pdf》由会员分享,可在线阅读,更多相关《使用铁电随机存取存储器且具有优化指令集的堆栈处理器.pdf(15页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102841775 A (43)申请公布日 2012.12.26 C N 1 0 2 8 4 1 7 7 5 A *CN102841775A* (21)申请号 201210154919.7 (22)申请日 2012.05.16 61/486,659 2011.05.16 US 13/467,816 2012.05.09 US G06F 9/30(2006.01) (71)申请人瑞创国际公司 地址美国科罗拉多州 (72)发明人弗兰克菲莱尔 (74)专利代理机构北京同达信恒知识产权代理 有限公司 11291 代理人黄志华 (54) 发明名称 使用铁电随机存取存储器且具有优。
2、化指令集 的堆栈处理器 (57) 摘要 一种使用铁电随机存取存储器且具有优化指 令集的堆栈处理器,所述堆栈处理器有效响应多 达基于16位字的64条指令。在16位字中的每条 指令包括3条5位指令和适用于3条5位指令中 的每条指令的第16位,从而使每条指令有效6位 宽。 (30)优先权数据 (51)Int.Cl. 权利要求书1页 说明书6页 附图7页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 6 页 附图 7 页 1/1页 2 1.一种集成电路装置,包括: 堆栈处理器,该堆栈处理器包括处理器核心和中断控制器;以及 非易失性存储器,该非易失性存储器联接所。
3、述处理器核心以存储相关的程序代码和数 据。 2.如权利要求1所述的集成电路装置,其中,所述非易失性存储器包括铁电随机存取 存储器。 3.如权利要求1所述的集成电路装置,其中,所述堆栈处理器能响应于基于16位字的 64条可能的指令而有效运行。 4.如权利要求3所述的集成电路装置,其中,在所述16位字中的所述指令中的每条指 令包括3条5位指令和适用于所述3条5位指令中的每条指令的第16位。 5.如权利要求4所述的集成电路装置,其中,所述第16位为最高有效位。 6.如权利要求1所述的集成电路装置,还包括: 时钟电路,该时钟电路联接所述处理器核心和所述中断控制器以提供时钟信号给所述 处理器核心和所述中。
4、断控制器。 7.如权利要求1所述的集成电路装置,还包括: 复位电路,该复位电路联接所述处理器核心和所述中断控制器以提供复位信号给所述 处理器核心和所述中断控制器。 8.如权利要求1所述的集成电路装置,还包括: 至少一个模块,该模块联接所述堆栈处理器。 9.如权利要求1所述的集成电路装置,其中,所述非易失性存储器从所述处理器核心 接收读取和写入命令。 10.如权利要求5所述的集成电路装置,其中,所述非易失性存储器另外地从所述处理 器核心接收地址命令。 11.如权利要求10所述的集成电路装置,其中,所述非易失性存储器响应于所述写入 命令将数据写入由来自所述处理器核心的所述地址命令所指示的存储单元。。
5、 12.如权利要求10所述的集成电路装置,其中,所述非易失性存储器响应于所述读取 命令从由来自所述处理器核心的所述地址命令所指示的存储单元读取数据。 13.如权利要求1所述的集成电路装置,其中,将所述处理器核心的至少一个数据堆栈 存储在所述非易失性存储器中。 14.如权利要求1所述的集成电路装置,其中,将所述处理器核心的至少一个返回堆栈 存储在所述非易失性存储器中。 权 利 要 求 书CN 102841775 A 1/6页 3 使用铁电随机存取存储器且具有优化指令集的堆栈处理器 0001 相关申请 0002 本发明要求在2011年5月16日提交的号码为61/486,659的美国临时申请的优 先。
6、权,且与全部和本申请同日提交的名称为“Stack Processor Using a Ferroelectric Random Access Memory(F-RAM)for Both Code and Data Space”;名称为“Stack Processor Using a Ferroelectric Random Access Memory(F-RAM)for Code Space and a Portion of the Stack Memory Space”;名称为“Stack Processor Using a Ferroelectric Random Access Memor。
7、y(F-RAM)For Code Space and a Portion of the Stack Memory Space Having an Instruction Set Optimized to Minimize Processor Stack Operations”的 美国专利申请相关。上述各申请的全部内容通过引用并入本申请,且全部转让给本申请的 申请人瑞创国际公司(科罗拉多斯普林斯,科罗拉多)。 技术领域 0003 本发明总体涉及包含非易失性存储器的可定制的集成电路装置领域。本发明尤其 涉及为代码和数据空间使用铁电随机存取存储器(F-RAM)且具有优化指令集的堆栈处理 器以最小化存。
8、储器提取操作。 背景技术 0004 现有的非易失性存储器技术尤其包括电可擦可编程只读存储器(EEPROM)和闪 存。尽管该技术不断改进,但闪存的耐用率仍在F-RAM的耐用率之下的多个数量级。因此, 对于使用需要高耐用度的闪存的应用,一些产品实际上将包括大的具有相关用户/程序的 闪存阵列,确保将数据存储在特定存储单元(例如存储器组)中。一旦存储器组接近其耐 用度极限,用户/程序会将所有数据移动到新的存储器组,将之前的存储器组标记为报废 且指示不应再使用该存储器组。这样的浮置栅极装置的标准耐用度大约在10万100万 个写入周期之间。 0005 还已知,相比F-RAM的写入,EEPROM和闪存的写入。
9、相对较慢。几乎瞬间完成F-RAM 的写入周期,EEPROM和闪存的写入时间花费更长。进一步,F-RAM存储单元的写入发生在相 对较低的电压上,且需要很小的电流来改变单元中的数据。 0006 堆栈处理器的当前实现架构为在2003年2月2日的Paysan,B.的“A Forth Processor in an FPGA”;2006年7月9日的Paysan,B.的“b16-small-Less is More”; 和2005年4月29日的Paysan,B.的“b16:Modern Processor Core”中所描述的以及在 http:/ 理器具有保存在易失性寄存器中的堆栈的顶部和在两个互补金属氧。
10、化物半导体(CMOS)存 储器中的堆栈的底部。这样的架构将导致可以同时访问数据和返回堆栈以及代码空间。此 外,因为在断电时必须将相对大量的寄存器的内容存储到非易失性存储器中,所以支持堆 栈保存在易失性存储器中的堆栈处理器架构会导致堆栈经受很长的且需要能量的断电时 间。为了改善这种情况,将一些寄存器放在非易失性闪存中一定会导致闪存中固有的耐用 说 明 书CN 102841775 A 2/6页 4 问题。进一步,由于在正常操作中可以同时访问所有存储器,因此为代码和堆栈利用不同类 型存储器的堆栈处理器架构会经受高的功率消耗峰值。 0007 在b16堆栈处理器中,将每16位字映射为3条5位指令和额外的。
11、只可以为“空操 作”(NOP)或CALL的1位指令。实际上这意味着在大多数情况中,第四指令通常为NOP,因 此,指令集浪费每字中的1位和每3条指令的1个时钟周期(需要执行NOP)。进一步,b16 堆栈处理器不共享代码和数据空间,所以当同时访问所有代码空间及数据和返回堆栈时, b16堆栈处理器架构需要更多的能量。 发明内容 0008 可定制的集成电路装置一般需要提供某种片上处理单元以使装置能够根据用户 所定义的程序执行不同的功能。可定制的装置的一示例市场在计量功能领域,相比例如闪 存的非易失性存储器技术所适度提供的耐用周期,该可定制的装置需要更高的耐用周期。 另一可能的市场为需要低功率存储单元的。
12、射频识别(RFID)。 0009 目前许多公司也打算开发在可偶尔失去电源电压的环境中工作的产品。在这些应 用中,在发生断电前需要将当前数据快速存储到非易失性存储器中。 0010 为此,需要包含处理器和相关的F-RAM存储器的集成电路架构。因为在电源电压 中断的情况中,断电时间应尽可能快,所以在非易失性存储器中具有尽可能多的数据是有 利的。由于基于堆栈的处理器所操作的大多数寄存器在堆栈中,因此在这样的应用中,基于 堆栈的处理器是特别有用的。 0011 因此,使用基于堆栈的处理器时,如果一些或所有堆栈在F-RAM存储器中,则在任 意给定时间上,大部分数据已在非易失性存储器中。即使一些数据还未存储到。
13、F-RAM存储 器中,该存储器技术的非常快速的写入时间也允许数据的快速备份。此外,通过改变处理器 程序,可以很容易地定制这样的架构,以允许宽范围的潜在应用,例如计量功能、RFID等。另 外,F-RAM存储器的操作中的固有特征是其低漏电和动态能量要求。因为在本发明的具体 实施方式中,只有一条可使用的代码/数据总线且该总线只与一个存储器通信,所以本申 请所公开的架构也导致较少的线路拥堵。 0012 在本文所公开的本发明的架构的一具体实施方式中,基于堆栈的处理器将自身的 所有堆栈都存储在F-RAM存储器中。由于堆栈指针自身为存储器地址,因此这呈现简单的 堆栈指针管理的优势。还最小化存储所有重要寄存器。
14、到存储器的时间,因为已将所有寄存 器保存到非易失性F-RAM本身中。如前所述,F-RAM中所固有的快速写入时间和低功率访 问提供许多优势,同时使用单一的、独特的片上类型的存储器可以负担更简单的硬件管理、 更少的知识产权(IP)费用,且还可导致更小的片上死区。 0013 根据本文所公开的本发明的架构的另一具体实施方式,基于堆栈的处理器将自身 的一些而非所有堆栈存储在非易失性F-RAM存储器中,其余的堆栈在易失性存储器中。通 过将一些相关的堆栈存储在互补金属氧化物半导体(CMOS)和其它易失性存储器中,避免 仅针对F-RAM的读取/写入操作。虽然相比其它非易失性存储器技术,F-RAM存储器需要 相。
15、对较低的能量,但是易失性存储器的访问反而可以至少提供一些能量优势。另外,F-RAM 存储器的读取/写入访问只稍微减慢程序运行,且使堆栈存储器的访问并行于代码运行将 导致一定的速度优势。这尤其涉及RFID的应用,在RFID的应用中,能量仅当卡进入相关控 说 明 书CN 102841775 A 3/6页 5 制器的射频(RF)区域时在相对较短的、有限的时间内可用。 0014 实施具有这种类型的架构的堆栈处理器导致在提供较快断电时间、较小片上死区 和相对较慢较多功耗程序执行的所有F-RAM存储器的实施与稍长断电时间、较大片上死区 和较快较少功耗的具有较快程序执行时间的操作之间的折中。将处理器堆栈仅部。
16、分地保存 在F-RAM存储器中也具有优势,如果程序编译器有效使用这种特定架构,则程序编译器可 产生固件代码,所述固件代码倾向于将更密集的计算集中到堆栈在易失性存储器中的那部 分且最小化堆栈的F-RAM部分的弹出/压入操作。通过并行访问易失性寄存器,这样的应 用将导致更快的程序运行,这也比F-RAM存储器省电。此外,因为只有堆栈的顶部在易失性 存储器中,所以堆栈的大部分保存在F-RAM中,这意味着该应用仍可得益于高的F-RAM耐用 性和较短的断电时间。 0015 根据本文所公开的本发明的架构的又一实施方式,为一种利用优化指令集的具体 处理器的实现,以最小化存储器读取,从而最小化程序运行时间。这提。
17、供许多明显的优势, 包括各种低功耗的应用和那些电源电压仅在有限时间内可用的应用,例如RFID实现。使用 具有这样的优化指令集的处理器还允许通过多个装置举例说明本发明的架构以支持宽范 围的可能的操作,并允许通过支持中断使外围设备的数量不同,在下文中将更全面地描述。 0016 本发明的这个具体实施方式提供堆栈处理器架构的指令集,该指令集相对较小使 得相关逻辑本身不太大,从而降低电流泄漏和动态功率的要求。所公开的内容还为完整的 指令集,使得可以利用不太长的程序运行时间支持大量的可能应用。另外,所公开的指令集 既不太复杂也不太容易。即没有太多F-RAM存储器提取,也没有太多逻辑泄漏。如所公开, 本发明。
18、的指令集支持基本的福思(Forth)命令和其它通用操作的操作代码,同时也支持中 断。 0017 根据本文所公开的本发明的架构的再一实施方式,为一种操作的具体方法,在相 关的堆栈仅部分地实施在F-RAM存储器中时该操作最小化处理器堆栈访问。本文所描述和 公开的F-RAM堆栈访问的最小化和具体处理器导致比访问F-RAM堆栈时不能读取代码的、 所有堆栈保存在非易失性F-RAM存储器中的情况下更小的功率损耗和整体上更快的程序 运行。 0018 本文具体公开一种集成电路装置,该集成电路装置包括堆栈处理器,所述堆栈处 理器包括处理器核心和中断控制器。所述堆栈处理器还包括非易失性存储器,例如铁电随 机存取存。
19、储器,所述非易失性存储器联接所述处理器核心以存储相关的程序代码和数据。 在这里所公开的具体实施方式中,所述堆栈处理器有效响应高达基于16位字的64条指令。 在16位字中的每条指令包括3条5位指令和适用于3条5位指令的每条指令的第16位, 从而使每条指令有效6位宽。 附图说明 0019 通过参照下文的结合附图的优选的实施方式的描述,本发明的上述和其它特征与 目标及其实现方法将变得更明显且将充分理解本发明,附图中: 0020 图1为根据本发明的具体的典型的实施方式的为代码和数据空间使用铁电随机 存取存储器(F-RAM)的堆栈处理器的原理方框图; 0021 图2为根据本发明的另一具体的典型的实施方式。
20、的利用F-RAM和CMOS存储器的 说 明 书CN 102841775 A 4/6页 6 堆栈处理器的一部分的后续原理方框图; 0022 图3A到图3D为将数据堆栈的顶部(“T”)复制到返回堆栈的顶部(“R”)的指 令的示例性图解; 0023 图4为根据图2所示的本发明的典型的实施方式的方法的示例性图解,其中,当需 要时只更新CMOS寄存器,不更新CMOS堆栈的不用的部分以节约能量; 0024 图5为根据本发明的具体实施方式的优化以最小化存储器提取的16位指令集的 示例性图解; 0025 图6为前述图1和图2的Forth核心的可能的操作码的映射的示例性表格。 具体实施方式 0026 现在参照图。
21、1,示出根据本发明的具体的典型的实施方式的为代码和数据空间使 用铁电随机存取存储器(F-RAM)的堆栈处理器100的原理方框图。堆栈处理器100在相关 的部分中包括F-RAM存储器阵列102和相关的处理器104。F-RAM存储器阵列102可以是 本申请的申请人瑞创国际公司(科罗拉多斯普林斯,科罗拉多)提供的类型。如图所示,处 理器104可以包括本申请的申请人瑞创国际公司所开发的Forth核心106。 0027 如图所示,相关的中断控制器108形成处理器104的一部分,该部分也连同时钟复 位电路110一起运转。在示出的典型的实施方式中,分别标记为1121到1128的8个模块 (模块1到模块8)与。
22、堆栈处理器100相关。如图所示,单一的代码/数据总线将Forth核 心106联接到F-RAM存储器阵列102,且包括存储器读取和写入行(mem_rd,mem_wr)和16 位存储器地址、存储器写入数据和存储器读取数据总线(mem_address,mem_wr_data,mem_ rd_data)。 0028 时钟复位电路110提供时钟中断信号(clk_int)给中断控制器108,并提供复位 n(rst_n)信号给Forth核心106和中断控制器108。时钟复位电路110还提供核心时钟信 号(clk_core)给Forth核心106,且从Forth核心106接收core_need_clock。中。
23、断控制 器108提供中断信号(int)和3位的int_nb信号给Forth核心106,且从Forth核心106 接收中断清除(int_clr)信号和持续中断(int_ongoing)信号。 0029 现在再参照图2,示出根据本发明的另一具体的典型的实施方式的利用F-RAM和 CMOS存储器的堆栈处理器200的部分的后续原理方框图。如图所示,只有一条处理器代码 /数据总线,且该总线只通向F-RAM存储器阵列202。堆栈处理器200包括具有数据堆栈 210和返回堆栈212的Forth核心204,同时F-RAM存储器阵列202具有相应的数据堆栈的 底部206和返回堆栈的底部208。 0030 在本图。
24、中示出堆栈处理器200的实施方式的结构。在这种情况中,数据堆栈210具 有在处理器核心204中且在易失性CMOS寄存器中的顶部。数据堆栈的底部206在非易失 性F-RAM存储器阵列202中。同样地,返回堆栈212的顶部在处理器核心204中且在易失 性CMOS寄存器中,返回堆栈的底部208在F-RAM存储器阵列202中。因此,如果程序只需 要修改数据堆栈的顶部,而不压入/弹出F-RAM存储器阵列202的堆栈,则只涉及CMOS寄 存器的访问。这将导致总体较低的功率损耗。如果将要发生断电,则在发生断电之前,只保 存有限数量的CMOS寄存器的内容。 0031 应当注意,这个具体的堆栈处理器200实现的。
25、部分性能是由指令集所决定。然而, 说 明 书CN 102841775 A 5/6页 7 一些性能也源于程序相对较小且可被写入以从在CMOS寄存器中的堆栈的顶部受益的事 实。 0032 现在再参照图3A到图3D,示出将数据堆栈的顶部(“T”)复制到返回堆栈的顶部 (“R”)的指令的示例性图解。 0033 所示的提出的堆栈访问方法持续跟踪堆栈指针相对于堆栈的CMOS和F-RAM部分 之间的边界的位置。如图所示,数据堆栈和返回堆栈之间的数据传送可以形成四种可能的 初始组态。阴影框指示在这个堆栈存储器地址中具有有效数据。 0034 在图3A中,数据堆栈和返回堆栈未经过F-RAM的边界。在图3B中,只有。
26、数据堆栈 经过F-RAM的边界。在图3C中,只有返回堆栈经过F-RAM的边界,在图3D中,数据堆栈和 返回堆栈都经过F-RAM的边界。 0035 可以看出,根据具体组态,所提出的算法执行或不执行堆栈弹出/压入,且对于上 述具体指令,该算法如下: 0036 如图3A所示,复制T到R;如图3B所示,弹出数据堆栈且复制T到R;如图3C所 示,压入返回堆栈且复制T到R;以及如图3D所示,压入返回堆栈,弹出数据堆栈且复制T到 R。以这种方式,仅需要最小数量的F-RAM存储器阵列访问。 0037 现在再参照图4,示出根据图2所示的本发明的典型的实施方式的方法的示例性 图解,其中,当需要时只更新CMOS寄存。
27、器,不更新CMOS堆栈的不用的部分以节约能量。在 本发明的这个实现中,不更新或复位堆栈的第三CMOS寄存器总线,由于该总线现在在堆栈 的不用的部分中,因此该总线的当前值为“不关心”。可以确定,不更新那条寄存器总线可以 节省更多的能量。 0038 现在再参照图5,示出根据本发明的具体实施方式的已经被优化以最小化存储器 提取的16位指令集的示例性图解。 0039 在本发明的这个具体实现中,所公开的指令集基于16位存储器代码空间。为了确 定合适的指令集,可检查下列可能性: 0040 任意4位指令集(或更少)将允许高达16条指令(或更少),所以当程序要花 费太长时间以执行太多F-RAM存储器阵列提取时。
28、,4位指令集是不足够的; 0041 任意7位指令集(或更多)将规定128条指令或更多,所以需要太多泄漏/动 态功耗且逻辑过大; 0042 6位指令集将规定64条指令,虽然足够,但是非常难以映射到16位字中而不浪 费太多位; 0043 5位指令集将规定32条指令,且会出现非常受限的位。 0044 可以看出,在示出的示例性指令集中可以提供64条指令,同时最小化存储器位的 浪费。16位字的最高有效位(MSB)为每条指令都使用的位,因此每条指令为6位宽(这给 出最大64条指令的总数)。因此,使用完整的16位代码。 0045 现在再参照图6,示出前述图1和图2的Forth核心的可能的操作码(opcode。
29、)的 映射的示例性表格。如图所示,将Forth核心的指令按照如下类别分组:分支、存储器访问、 逻辑、算术以及数据堆栈,且那些所示出的操作码共享相同的5个较低有效位并仅通过一 个最高有效组位区分,如前面图5所示。 0046 尽管上文结合具体电路和技术描述本发明的原理,但需要清楚地明白,前面的描 说 明 书CN 102841775 A 6/6页 8 述仅通过示例方式进行而不限制本发明的范围。尤其要认识到,前面说明书的教义将暗示 本领域的技术人员其它变型。这些变型可以涉及本身已知的其它特征,且可用于替换或附 加到这里已描述的特征。尽管在本申请中明确地表达了对具体特征组合的要求,但是应当 理解,这里说。
30、明书的范围也包括本领域技术人员显而易见的任何新颖特征、或显式地或隐 式地公开的特征的新颖组合、或任何结构或其变型,无论是否涉及如当前任一项权利要求 所述的同样的发明,且无论是否缓解如本发明所面对的任一或全部同样的技术问题。在进 行本申请或源自本申请的进一步申请期间,申请人据此保留明确表达关于这些特征和/或 这些特征的组合的新权利要求的权利。 0047 这里所使用的术语“包括”或其任何其它变型,旨在涵盖非排它性包含,例如列举 某些元素的过程、方法、物体、或设备不一定仅包括那些元素,但可包括未明确列举的或这 些过程、方法、物体、或设备所固有的其它元素。当暗示任一具体元件、步骤、或功能为一定 包含在。
31、权利要求范围内的必要元素时,应当阅读本申请之外的描述,且仅通过授权的权利 要求定义专利主题的范围。此外,没有附加声明是打算调用35U.S.C.Sect.112的第6段, 除非使用精确短语“手段方式”且随后跟着分词。 说 明 书CN 102841775 A 1/7页 9 图1 说 明 书 附 图CN 102841775 A 2/7页 10 图2 说 明 书 附 图CN 102841775 A 10 3/7页 11 图3A 图3B 说 明 书 附 图CN 102841775 A 11 4/7页 12 图3C 图3D 说 明 书 附 图CN 102841775 A 12 5/7页 13 图4 说 明 书 附 图CN 102841775 A 13 6/7页 14 图5 说 明 书 附 图CN 102841775 A 14 7/7页 15 图6 说 明 书 附 图CN 102841775 A 15 。