首页> 中国专利> 具有减小数据高速缓存访问功率的微标签阵列的处理器及其应用

具有减小数据高速缓存访问功率的微标签阵列的处理器及其应用

摘要

一种具有减小数据高速缓存访问功率的微标签阵列的处理器和系统。该处理器和系统包括具有多个dataram、处理器流水线寄存器(402)和微标签阵列(410)。该微标签阵列被耦合到该高速缓存和处理器流水线寄存器。该微标签阵列存储基址数据位或基址寄存器数据位、偏移数据位、进位位以及路选数据位。当取出LOAD或STORE指令时,指令的至少部分基址和至少部分偏移与该微标签阵列中存储的数据比较。如果发生微标签阵列命中,那么该微标签阵列产生高速缓存dataram使能信号。该信号仅仅使能高速缓存的单个dataram。

著录项

  • 公开/公告号CN101523359A

    专利类型发明专利

  • 公开/公告日2009-09-02

    原文格式PDF

  • 申请/专利权人 MIPS技术公司;

    申请/专利号CN200780036981.3

  • 发明设计人 R·C·金特;M·科诺斯;

    申请日2007-08-15

  • 分类号G06F12/00(20060101);G06F13/00(20060101);

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人屠长存

  • 地址 美国加利福尼亚

  • 入库时间 2023-12-17 22:40:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-08-25

    未缴年费专利权终止 IPC(主分类):G06F12/00 专利号:ZL2007800369813 申请日:20070815 授权公告日:20110622

    专利权的终止

  • 2014-12-31

    专利权的转移 IPC(主分类):G06F12/00 变更前: 变更后: 登记生效日:20141210 申请日:20070815

    专利申请权、专利权的转移

  • 2011-06-22

    授权

    授权

  • 2009-10-28

    实质审查的生效

    实质审查的生效

  • 2009-09-02

    公开

    公开

说明书

技术领域

本发明总体上涉及处理器,更具体地说,涉及减小处理器中的高速缓存访问功率。

背景技术

许多处理器具有高速缓存。高速缓存是用于临时存储数据的存储器块,与主存储器相比,其可以被处理器更迅速地访问。高速缓存阵列典型地由地址位的子集索引,并被标签以剩余的地址位。在集联(set-associative)高速缓存中,高速缓存中的每个索引可以保持多个存储器位置。例如,4路集联高速缓存可以在每个高速缓存索引上保持4个存储器位置。典型的集联高速缓存具有保持标签值的一个或多个阵列,称为tagram,以及保持数据值的一个或多个阵列,称为dataram。对于快速访问,通常在分开的dataram中实现每路数据。

为了使处理器在其峰值性能下或接近其峰值性能地操作,常规处理器的高速缓存的tagram和dataram在每个存储器读操作和每个存储器写操作过程中被并行激励(energize)和访问。在每次操作之后(例如,其中发生高速缓存命中),选择处理过程选择高速缓存的一个dataram的内容并将该内容提供给处理器。剩余的dataram的内容被忽略。

尽管该常规高速缓存访问技术起作用,但是在处理器的每个存储器读和每个存储器写操作过程中激励tagram和多个dataram浪费了能量。需要用于访问高速缓存的新技术和方法,其克服与常规高速缓存访问技术和方法相关的缺点和限制。

发明内容

本发明提供具有减小数据高速缓存访问功率的微标签阵列的处理器和系统。该处理器和系统包括具有多个dataram、处理器流水线(pipeline)寄存器以及微标签阵列的高速缓存。微标签阵列被耦合到高速缓存和处理器流水线寄存器。微标签阵列存储基址数据位或基址寄存器(base register)数据位、偏移数据位、进位位以及路选(wayselection)数据位。当LOAD(加载)或STORE(存储)指令被取出(fetch)时,该指令的至少一部分基址和至少一部分偏移与微标签阵列中存储的数据相比较。如果发生微标签阵列命中,那么微标签阵列产生高速缓存dataram使能信号。该信号仅仅使能高速缓存的单个dataram。如果发生微标签阵列命中,那么也产生禁止高速缓存tagram的信号。

本发明的一个特征是,使用处理流水线的前几级(early stages),以导出可用的高速缓存路选信息。基于先前的路选信息的该信息用来确定高速缓存的哪个dataram存储所需数据,以用来通过仅仅使能包含所需数据的dataram,主动地节省功率。

下面将参考附图详细描述本发明进一步的实施例、特征和优点,以及本发明的各个实施例的结构和操作。

附图说明

这里引入并构成说明书一部分的附图与实施例一起图示本发明,还用来说明本发明的原理和使所属领域的技术人员能进行和使用本发明。

图1是根据本发明实施例的处理器的视图。

图2是具有根据本发明第一实施例的微标签阵列的处理器的视图。

图3是具有根据本发明第二实施例的微标签阵列的处理器的视图。

图4是具有根据本发明第三实施例的微标签阵列的处理器的视图。

图5是具有根据本发明第四实施例的微标签阵列的处理器的视图。

图6是根据本发明的示例系统实施例的视图。

下面参考附图描述本发明。其中首次出现元件的附图典型地由相应参考数字中的最左边数位或多个数位表示。

具体实施方式

本发明提供具有微标签阵列的处理器和系统及其应用,该微标签阵列减小数据高速缓存访问功率。在下述的对本发明的具体说明中,提到“一个实施例”,“一实施例”、“示例实施例”等,表示所述的实施例可以包括特定的特征、结构或特性,但是每个实施例可以不是必需包括该特定特征、结构或特性。而且,这种措词并不必然指相同的实施例。此外,当结合实施例描述特定的特征、结构或特性时,认为结合其他明确描述或未明确描述的实施例来实现这种特征、结构或特性是在所属领域的技术人员的知识范围内的。

图1是根据本发明实施例的处理器100的视图。如图1所示,处理器100包括执行单元102、取出单元104、浮点单元106、加载/存储单元108、存储器管理单元(MMU)110、指令高速缓存112、数据高速缓存114、总线接口单元116、功率管理单元118、乘法/除法单元(MDU)120以及协处理器122。尽管在这里处理器100被描述为包括几个分离组件,但是这些组件中的许多组件是可选组件,将不是在本发明的每个实施例中都出现的;或是可以结合的组件,例如,使两个组件的功能性处在一个组件内。因此,图1所示的单独组件是说明性的,并不意图限制本发明。

执行单元102优选用算术逻辑单元操作(例如,逻辑、移位(shift)、加法、减法等)执行加载-存储(RISC)体系结构。在一个实施例中,执行单元102包括用于标量整数操作及地址计算的32位通用寄存器(未示出)。可选地,可以包括一个或多个附加寄存器堆组,以最小化内容切换开销(overhead),例如,在中断和/或异常处理过程中的内容切换开销。执行单元102与取出单元104、浮点单元106、加载/存储单元108、乘法-除法单元120和协处理器122接口连接。

取出单元104负责提供指令到执行单元102。在一个实施例中,取出单元104包括用于指令高速缓存112的控制逻辑、用于重编码压缩格式指令的记录器、动态分支预测、用于取出单元104与执行单元102的去耦合(decouple)操作的指令缓冲器,以及到便笺存储器(scratch pad)(未示出)的接口。取出单元104与执行单元102、存储器管理单元110、指令高速缓存112以及总线接口单元116接口连接。

浮点单元106与执行单元102接口连接,并对非整数数据进行操作。因为许多应用不需要浮点单元的功能性,因此处理器100的该组件将不是在本发明的所有实施例中都存在的。

加载/存储单元108负责数据加载和存储,并包括数据高速缓存控制逻辑。加载/存储单元108与数据高速缓存114及其他存储器如便笺存储器和/或填充缓冲器(fill buffer)接口连接。加载/存储单元108也与存储器管理单元110和总线接口单元116接口连接。

存储器管理单元110将虚拟地址转换为用于存储器访问的物理地址。在一个实施例中,存储器管理单元110包括转换旁路缓冲器(TLB),并可以包括分开的指令TLB和分开的数据TLB。存储器管理单元110与取出单元104和加载/存储单元108接口连接。

指令高速缓存112是被组织为多路集联高速缓存的片上(on-chip)存储器阵列,所述多路集联高速缓存例如2-路集联高速缓存或4-路集联高速缓存等。指令高速缓存112优选被虚拟地索引并被物理地加以标签,由此允许与高速缓存访问并行地发生虚拟-到-物理地址转换。在一个实施例中,该标签除物理地址位之外,还包括有效位和可选奇偶校验位。指令高速缓存112与取出单元104接口连接。

数据高速缓存114也是片上存储器阵列。数据高速缓存114优选被虚拟地索引并被物理地加以标签。在一个实施例中,该标签除物理地址位之外还包括有效位和可选奇偶校验位。如下面更详细描述的,本发明的一个特征是可以有选择地使能和禁止数据高速缓存114的组件,以减小处理器100消耗的总功率。数据高速缓存114与加载/存储单元108接口连接。

总线接口单元116控制用于处理器100的外部接口信号。在一个实施例中,总线接口单元116包括用来合并写通事项(write-throughtransaction)和来自未高速缓存的存储的集中写入(gather write)的崩溃(collapsing)写缓冲器。

功率管理单元118提供多个功率管理特征,包括低功率设计特征、主动(active)功率管理特征和掉电(power down)操作模式。在一个实施例中,处理器100执行等候指令,其发信号到处理器100的选定组件:执行和/或时钟应该暂停(halt),由此减少空闲期期间的功耗。这些功率管理特征是除在此参考例如图2-5描述的功率节省特征之外的特征。

乘法/除法单元120执行处理器100的乘法和除法操作。在一个实施例中,乘法/除法单元120优选包括流水线化的乘法器、结果和累加寄存器及乘法和除法状态机,以及要执行例如乘法、乘法-加法以及除法功能的控制逻辑。如图1所示,乘法/除法单元120与执行单元102接口连接。

协处理器122执行用于处理器100的各种开销功能。在一个实施例中,协处理器122负责虚拟-至-物理地址转换、执行高速缓存协议、异常处理、工作模式选择以及使能/禁止中断功能。协处理器122与执行单元102接口连接。

图2是具有根据本发明实施例的微标签阵列210的处理器的视图。除微标签阵列210之外,该处理器还包括寄存器堆202和处理器流水线寄存器204。

如图2所示,微标签阵列210包括寄存器212、214、216和218。这四个寄存器包括微标签210的阵列条目。微标签阵列210还包括比较器220、222和224,加法器226,和控制逻辑228、230和232。微标签阵列210被耦合到处理器流水线寄存器204。

寄存器212用来存储路选数据位。所存储的路选数据位标识高速缓存(诸如数据高速缓存114)的特定dataram,图1所示。寄存器212中存储的位数是B8。在一个实施例中,B8是具有1-热编码(hotencoding)的4位,该1-热编码表示在先前的高速缓存访问中使用4路中的哪一个。

寄存器214用来存储基址数据位。寄存器214中存储的位是通过流水线处理器寄存器204的基址部分206提供给寄存器214的。寄存器212中存储的位数是B4。在一个实施例中,B4是三十二位存储器基址的高(upper)二十七位。在另一实施例中,可以存储超过或少于二十七位。

寄存器216用来存储偏移数据位。寄存器216中存储的位是通过流水线处理器寄存器204的偏移部分208提供给寄存器216的。寄存器216中存储的位数是B6。在一个实施例中,B6是十六位存储器偏移的高十一位。在另一实施例中,可以存储超过或少于十一位。

寄存器218用来存储进位位。寄存器218中存储的进位位由加法器226产生。

如图2所示,每当阵列更新信号被应用于这些寄存器时,数据位被读到寄存器212、214、216和218中。该阵列更新信号由控制逻辑234产生。每当阵列无效信号被应用于这些寄存器,从寄存器212、214、216和218清除数据(或将其标记为无效)。该阵列无效信号由控制逻辑236产生。

微标签阵列210的比较器220被耦合到寄存器214和处理器流水线寄存器204的基址部分206。比较器220将处理器流水线寄存器204的基址部分206中存储的位与寄存器214中存储的位相比较。如果两组位匹配,那么比较器220产生命中信号。否则,比较器220产生未命中信号。比较器220的输出信号被提供给控制逻辑228。

微标签阵列210的比较器222被耦合到寄存器216和处理器流水线寄存器204的偏移部分208。比较器222将处理器流水线寄存器204的偏移部分208中存储的位与寄存器216中存储的位相比较。如果两组位匹配,那么比较器222产生命中信号。否则,比较器222产生未命中信号。比较器222的输出信号被提供给控制逻辑228。

微标签阵列210的比较器224被耦合到寄存器218和加法器226。比较器224将寄存器218中存储的进位位与由加法器226产生的进位位相比较。如果两个进位位匹配,那么比较器224产生命中信号。否则,比较器224产生未命中信号。比较器224的输出信号被提供给控制逻辑228。

加法器226将处理器流水线寄存器204的基址部分206中存储的位B5与处理器流水线寄存器204的偏移部分208中存储的位B7相加,并产生进位位。该进位位被提供给比较器224。该进位位还被存储在寄存器218中。在一个实施例中,加法器226将处理器流水线寄存器204的基址部分206中存储的存储器基址的低(lower)五位与处理器流水线寄存器204的偏移部分208中存储的存储器偏移的低五位相加。在另一实施例中,可以通过加法器226将超过或少于五位相加。

如果每个比较器220、222和224都产生命中信号,那么控制逻辑228产生微标签阵列条目命中信号。否则,控制逻辑228产生未命中信号。控制逻辑228的输出信号被提供给控制逻辑230和控制逻辑232。

控制逻辑230用来产生dataram使能信号。到控制逻辑230的输入是控制逻辑228的输出信号、LOAD/STORE ACCESS信号以及寄存器212中存储的路选数据位。

控制逻辑232用来产生tagram使能信号。到控制逻辑232的输入是控制逻辑228的输出信号和LOAD/STORE ACCESS信号。

图3是具有根据本发明实施例的微标签阵列310的处理器的视图。微标签阵列300包括多个阵列条目302。在本发明的优选实施例中,微标签阵列300包括从一至四阵列条目302。但是本发明不限于具有在一和四之间个阵列条目。如下面更详细地描述的,微标签阵列300是多条目微标签阵列,其以类似于微标签阵列210的方式操作。

图2和3的处理器如下操作。由处理器取出指令201。在实施例中,指令201是具有操作码(opcode)203、基址寄存器值205、目的(或源)寄存器值207以及偏移值209的LOAD或STORE指令。该基址寄存器值包括B1位,用来将寄存器堆202中存储的基址值传送到处理器流水线寄存器204的基址部分206。偏移值209包括B2位,其被存储在处理器流水线寄存器204的偏移部分208中。

使用比较器220将处理器流水线寄存器204的基址部分206中存储的位的子集与寄存器214中存储的位相比较。该比较确定指令201的基址是否匹配微标签阵列的阵列条目中存储的基址。

使用比较器222将处理器流水线寄存器204的偏移部分208中存储的位的子集与寄存器216中存储的位相比较。该比较确定指令201的偏移值是否匹配微标签阵列的条目中存储的偏移值。

为了发现在特定的dataram范围内的匹配和消除相邻集访问(neighbor set access),加法器226将流水线处理器寄存器204的位B5和B7(例如,基址值和指令201的偏移值的低五位)相加以产生进位值。然后该进位值与寄存器218中存储的进位值相比较。

如果与微标签阵列的特定条目相关的每个比较器220、222和224产生命中信号,那么控制逻辑228产生命中信号,这使得控制逻辑230使能由寄存器212中存储的位所指定的单个dataram。这也禁止tagram。

在一个实施例中,在处理器启动时,每个寄存器212、214、216和218被设为零。由处理器执行的第一个LOAD或STORE指令将访问数据高速缓存,而没有微标签阵列命中。因此,将以常规方式访问高速缓存。但是,高速缓存标签比较的输出结果将产生路选信息,该路选信息将被存储在微标签阵列的阵列条目的寄存器212中。该指令的基址值和偏移值也将被存储在阵列条目中。然后该信息可供与由处理器执行的下一个LOAD或STORE指令一起使用。

如果下一个LOAD或STORE指令在微标签阵列的第一条目内不产生命中,则找到另一微标签阵列条目,且访问信息被如上所述地存储。该填充处理将继续直到微标签阵列的所有可用条目被填充。在一实施例中,当这发生时,微标签阵列的第一条目被再次宣告适于数据存储。这种替代方案通常被称为最少最近填充替代方案,它容易使用移位寄存器(例如,1-热N位移位寄存器)实现。在本发明的其他实施例中实现了其它替代方案,诸如最少最近使用方案。

在一个实施例中,由于与LOAD/STORE访问事件相比,再填充操作是相对稀有的事件,因此每当发生tagram写入时,控制逻辑236使微标签阵列的所有阵列条目无效。在另一实施例中,控制逻辑236仅仅有选择地使微标签阵列的、其路选数据位与高速缓存的期望的再填充路线对应的阵列条目无效。该实施例提高了微标签阵列的效率。

因为微标签阵列是比较虚拟地址,因此当虚拟到物理地址转换改变时,将需要使该阵列无效。该改变可以是对TLB阵列的写入或在当前地址空间中的改变的结果。这些是相对稀有的事件,并且使整个阵列无效并不显著降低微标签阵列的效率。在替换的实施例中,在微TLB中包括地址空间标识符将去除地址空间的更改上的对无效的需要。在另一实施例中,仅仅那些影响微标签阵列中使用的特定虚拟页的TLB写入将引起无效。

图4是具有根据本发明实施例的微标签阵列410的处理器的视图。如图4所示,微标签阵列410包括寄存器212、414、216和218。这四个寄存器包括微标签410的阵列条目。微标签阵列410还包括比较器414、222和224,加法器226和控制逻辑228、230和232。微标签阵列410被耦合到处理器流水线寄存器402。

寄存器212用来存储路选数据位。该存储的路选数据位标识高速缓存(诸如数据高速缓存114)的特定dataram,图1所示。寄存器212中存储的位数是B8。在一个实施例中,B8是具有1-热编码的4位,该1-热编码表示在先前的高速缓存访问中使用4路中的哪一个。

寄存器414用来存储基址寄存器数据位。寄存器414中存储的位是通过处理器流水线寄存器402的基址寄存器部分404提供给寄存器414的。寄存器412中存储的位数是B4。在一个实施例中,寄存器414中存储的位数等于指令201的基址寄存器值205中包含的位数。在另一实施例中,在寄存器414中可以存储不同的位数,例如,如果指令201是压缩格式指令并且零被加到位B1以使基址寄存器值与普通格式指令的基址寄存器值相容。

如图4所示,处理器流水线寄存器402也在处理器流水线寄存器402的基址部分406中存储基址位B9。这些位来自寄存器堆202的寄存器,该寄存器与指令201的基址寄存器值205有关。在一个实施例中,位B9是寄存器堆202中存储的存储器基址值的低五位。

寄存器216用来存储偏移数据位。寄存器216中存储的位是通过流水线处理器寄存器402的偏移部分408提供给寄存器216的。寄存器216中存储的位数是B6。在一个实施例中,B6是十六位存储器偏移的高十一位。在其他实施例中,可以存储超过或少于十一位。

寄存器218用来存储进位位。寄存器218中存储的进位位由加法器226产生。

如图4所示,每当阵列更新信号被应用于这些寄存器时,数据位被读到寄存器212、414、216和218中。该阵列更新信号由控制逻辑234产生。每当阵列无效信号被应用于这些寄存器,从寄存器212、414、216和218清除数据(或将其标记为无效)。该阵列无效信号由控制逻辑236产生。

微标签阵列410的比较器414被耦合到寄存器412和处理器流水线寄存器402的基址寄存器部分404。比较器414将处理器流水线寄存器402的基址寄存器部分404中存储的位与寄存器412中存储的位相比较。如果两组位匹配,那么比较器414产生命中信号。否则,比较器414产生未命中信号。比较器414的输出信号被提供给控制逻辑228。

微标签阵列410的比较器222被耦合到寄存器216和处理器流水线寄存器402的偏移部分408。比较器222将处理器流水线寄存器402的偏移部分408中存储的位与寄存器216中存储的位相比较。如果两组位匹配,那么比较器222产生命中信号。否则,比较器222产生未命中信号。比较器222的输出信号被提供给控制逻辑228。

微标签阵列410的比较器224被耦合到寄存器218和加法器226。比较器224将寄存器218中存储的进位位与由加法器226产生的进位位相比较。如果两个进位位匹配,那么比较器224产生命中信号。否则,比较器224产生未命中信号。比较器224的输出信号被提供给控制逻辑228。

加法器226将处理器流水线寄存器402的基址部分406中存储的位B9与处理器流水线寄存器402的偏移部分408中存储的位B7相加,并产生进位位。该进位位被提供给比较器224。该进位位还被存储在寄存器218中。在一个实施例中,加法器226将处理器流水线寄存器402的基址部分406中存储的存储器基址的低五位与处理器流水线寄存器402的偏移部分408中存储的存储器偏移的低五位相加。在其他实施例中,可以由加法器226将超过或少于五位相加。

如果每个比较器414、222和224都产生命中信号,那么控制逻辑228产生微标签阵列条目命中信号。否则,控制逻辑228产生未命中信号。控制逻辑228的输出信号被提供给控制逻辑230和控制逻辑232。

控制逻辑230用来产生dataram使能信号。到控制逻辑230的输入是控制逻辑228的输出信号、LOAD/STORE ACCESS信号以及寄存器212中存储的路选数据位。

控制逻辑232用来产生tagram使能信号。到控制逻辑232的输入是控制逻辑228的输出信号和LOAD/STORE ACCESS信号。

图5是具有根据本发明实施例的微标签阵列510的处理器的视图。微标签阵列500包括多个阵列条目502。在本发明的优选实施例中,微标签阵列500包括从一至四阵列条目502。但是本发明不限于具有在一个和四个之间的阵列条目。微标签阵列500是以类似于微标签阵列410的方式操作的多条目微标签阵列。

如由图2和4的比较可以看到,通过图2的处理器的寄存器214和比较器220实现的基址比较被图4的处理器中的基址寄存器比较替代。该基址寄存器比较使用寄存器412和比较器414来实现。图4的处理器的这些特征避免需要宽的基址比较,且对于高速处理器,提供更多的时序灵活性。

图4和5的处理器以类似于这里根据图2和3的处理器描述的方式操作。因此,这里不必重复这些描述。这里请参见本发明的处理器怎样操作从而减小数据高速缓存访问功率的相关描述。

图6是根据本发明实施例的示例系统600的视图。系统600包括处理器602、存储器604、输入/输出(I/O)控制器606、时钟608以及定制硬件610。在一实施例中,系统600是专用集成电路(ASIC)或芯片上的系统(SOC)。

处理器602是包括在此描述的本发明的特征和/或实现本发明的方法实施例的任意处理器。在一个实施例中,处理器602包括指令取出单元、指令高速缓存、指令译码和分配单元、一个或多个指令执行单元、数据高速缓存、寄存器堆以及总线接口单元,类似于如上所述的处理器100。

存储器604可以是能存储指令和/或数据的任意存储器。存储器604可以包括,例如,随机存取存储器和/或只读存储器。

输入/输出(I/O)控制器606用来允许系统600的组件接收和/或发送信息到外围设备。I/O控制器606可以包括,例如,模数转换器和/或数-模转换器。

时钟608用来确定系统600的时序子系统什么时候改变状态。例如,每当时钟608的时钟信号运行(tick)时,系统600的状态寄存器捕捉由组合逻辑产生的信号。在一实施例中,可以改变时钟608的时钟信号。时钟信号也可以被划分(分频),例如,在它被提供给系统600的选定的组件之前。

定制硬件610是增加到系统600的任意硬件,以使系统600适于特定应用。定制硬件610可以包括,例如,用于解码音频和/或视频信号、加速图形操作和/或实现智能传感器所需的硬件。相关领域的技术人员将理解怎样实现定制硬件610使系统600适于特定应用。

尽管上面已经描述了本发明的多个实施例,但是应当理解,这些实施例是以例子的方式呈现的,而不是限制。对于所属领域的普通技术人员显而易见的是,在不脱离本发明的精神和范围的条件下,可以在形式上和细节上进行各种改变。此外,应该理解,在此提供的本发明的详细描述,而不是概要和摘要部分,意图用来解释权利要求。概要和摘要部分可以阐述发明人所构思的本发明的一个或多个示例性实施例,但不是所有示例性实施例。

例如,除使用硬件(例如,在中央处理单元(“CPU”)、微处理器、微控制器、数字信号处理器、处理器核心、片上系统(“SOC”)或任意其他可编程或电子器件内或与其耦合)的实施方式之外,实施方式也可以以设置在配置来存储软件的计算机可用(例如,可读)介质中的软件(例如,以任意形式如源、对象或机器语言设置的计算机可读代码、程序代码、指令和/或数据)实现。这种软件可以使得能够实现例如在此描述的设备和方法的功能、制造、建模、模拟、描述和/或测试。例如,这可以通过使用通用编程语言(例如,C、C++)、GDS II数据库、硬件描述语言(HDL)(包括Verilog HDL、VHDL、SystemC Register Transfer Level(RTL)等),或其他可用的程序、数据库和/或电路(即,示意图)捕捉工具来完成。这种软件可以被布置在任意巳知的计算机可用介质中,该计算机可用介质包括半导体、磁盘、光盘(例如,CD-ROM、DVD-ROM等),以及作为以计算机可用(例如,可读)传输介质(例如,载波或任意其他介质,包括基于数字、光学或模拟的介质)实现的计算机数据信号。因而,可以在包括因特网和内部网的通信网络上传送该软件。

应理解,在此描述的设备和方法实施例可以被包括在半导体知识产权核如微处理器核(例如,以HDL体现)中,并可以在集成电路的制造中转换为硬件。另外,在此描述的设备和方法可以体现为硬件和软件的组合。因此,本发明不应该受上述示例性实施例限制,而是应该仅仅根据下列权利要求和它们的等同范围来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号