首页> 中国专利> 避免行激活与列读取或列写入命令之间冲突的方法及设备

避免行激活与列读取或列写入命令之间冲突的方法及设备

摘要

提供了避免行激活和列读取或列写入命令之间冲突的方法及设备。存储器控制器包括控制逻辑、激活允许逻辑和最后列计数器逻辑。控制逻辑在读或写操作开始时将特定值发送到激活允许逻辑和最后列计数器逻辑,比如新命令加载值、读计数值和写计数值。依次地,控制逻辑从激活允许逻辑接收激活允许信号,其表示新激活命令可被发出的时刻。结果,存储器控制允许激活命令在“奇”命令周期或者最后未完成的列命令已被发出之后的任何时刻开始。

著录项

  • 公开/公告号CN1786895A

    专利类型发明专利

  • 公开/公告日2006-06-14

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200510124678.1

  • 申请日2005-11-14

  • 分类号G06F3/06(20060101);

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

  • 代理人李德山

  • 地址 美国纽约

  • 入库时间 2023-12-17 17:16:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-01-16

    未缴年费专利权终止 IPC(主分类):G06F3/06 授权公告日:20080416 终止日期:20111114 申请日:20051114

    专利权的终止

  • 2008-04-16

    授权

    授权

  • 2006-08-09

    实质审查的生效

    实质审查的生效

  • 2006-06-14

    公开

    公开

说明书

技术领域

本发明一般地涉及避免行激活与列读取或列写入命令之间冲突的方法及设备。具体来说,本发明涉及这样的方法及设备,其用于在“偶”命令周期启动激活命令和在“奇”命令周期启动列命令,以避免高速芯片到芯片的存储器子系统中的冲突。

背景技术

计算机系统开发者不懈地追求提升计算机系统的性能。开发者可着眼于优化软件部件和/或硬件部件以便实现此目的。一种硬件优化途径是改进从存储器读和写至存储器的处理器速率。

硬件开发者已经设计出动态随机存取存储器(DRAM)接口,其包括高速芯片到芯片的数据传送技术。该接口技术可被实施于标准的CMOS DRAM存储器核心和CMOS控制器芯片上,用于诸如高性能主存储器、PC图形、游戏控制台、高级数字用户系统、高性能联网系统等应用,以及需要高带宽存储器子系统的其他高要求应用。

该高速接口包括命令总线,其被用来在读操作和写操作期间在存储器控制器和存储器之间发送命令。用于任一操作的典型命令序列将是“激活”命令、一个或多个“列”命令和“预充电”命令。也被称为行命令的激活命令打开或读出行或页。列命令读取自或写入到行或列内的列。并且最后,预充电命令关闭行或页。

然而,现有技术出现的挑战是激活命令与列命令相冲突的可能性。开发者可利用严格的时分复用(TDM)轮来管理两类命令之间的定时。然而,该技术方案可能降低整体性能,其与计算机开发者的目的背道而驰。

因此,需要的是一种方法及设备,用以管理激活命令和列命令,以便以对存储器子系统性能最小的冲击来避免冲突。

发明内容

已经发现,利用包括以下逻辑的系统可解决前述问题,该逻辑允许激活命令在“奇”命令周期或者在最后未完成的列命令已被发出之后的任意时刻开始。存储器控制器包括控制逻辑、激活允许逻辑和最后列计数器逻辑。控制逻辑在写或读操作的开始之时发送特定值到激活允许逻辑和最后列计数器逻辑,比如新命令加载值、读计数值和写计数值。依次地,控制逻辑从激活允许逻辑接收激活允许信号,其表示可发出新激活命令的时刻。这里所述的本发明还提供用以充分间隔开激活命令的机制。

存储器控制器发出新激活命令,控制逻辑向激活允许逻辑发送新命令加载值,其可以是四位值“0001”。激活允许逻辑将该值加载到四位移位寄存器中,由此移位寄存器的最大有效位(MSB)对应于“激活允许信号”。当该值被加载到四位移位寄存器中时,激活允许信号变低,其防止控制逻辑发出随后的激活命令,直至激活允许信号为高(真)。例如,利用四位值“0001”,MSN在四个命令周期之后变高(例如“1000”)。在一个实施例中,激活允许逻辑可相反地操作,使得最低有效位(LSB)对应于“激活允许信号”。

此外,取决于激活命令对应于读操作或写操作,控制逻辑将读计数值或写计数值提供到最后列计数器逻辑。最后列计数器逻辑将该值加载到四位寄存器中,负责跟踪最后未完成的列命令完成的时刻点。

在每个命令周期,激活允许逻辑的移位寄存器“移位”所加载的值。当移位寄存器值达到“1000”时,激活允许信号变为真,其向控制逻辑通知它可启动新激活命令。如果新激活命令已准备好发出,则控制逻辑将新命令值提供到激活允许逻辑,其于是重置激活允许信号。

然而,如果第二激活命令尚未准备好启动,则在下一命令周期,MSB被移位至LSB,MSB之前的位被设置为“1”,得到值“0101”。随后的命令周期产生移位寄存器值1010、0101、1010、0101等。可以看到,激活允许信号(即MSB)在“偶”命令周期为真,其使得控制逻辑能够在“偶”命令周期发出新激活命令,于是避免了可能在“奇”命令周期发出的列命令。

除了在每个命令周期进行动作的激活允许逻辑之外,最后列计数器逻辑也在每个命令周期进行动作。最后列计数器逻辑在每个命令周期递减其寄存器的值,当寄存器的值达到零时,“列命令完成信号”被设置为真,其表示最后的未完成列命令完成。当激活允许逻辑检测列命令完成信号为真时,激活允许逻辑将其锁存器设置为“1111”,其保持激活允许信号为真,直至新激活命令被发出。

在一个实施例中,激活允许逻辑、最后列计数器逻辑或者二者可通过子程序实现,比如通过软件或固件。在另一实施例中,存储器可包括极限数据率(XDRTM)DRAM。在该实施例中,存储器控制器包括与命令和数据总线通信的XDRTM IO CELL(XIOTM)接口。

前文是概要,因此必要地包含了简化、概括和细节省略;因而本领域技术人员将理解,该概要仅为说明性的,并不旨在任何方式的限制。如仅由权利要求所限定的本发明的其他方面、发明特征和优点将在如下阐述的非限制性具体描述中变得更为明显。

附图说明

通过参照附图,将更好地理解本发明,其各个目的、特征和优点对于本领域技术人员变得明显。

图1是示出了存储器控制器的图例,其管理行激活和列读取或列写入命令;

图2是示出了确定最后未完成的列命令何时完成的逻辑的图例;

图3是示出了确定新激活命令何时可被发出的逻辑的图例;

图4是示出了激活允许逻辑锁存值、信号值以及特定时刻的可能请求包的图例;

图5是示出了在确定与激活命令相对应的最后列命令何时完成时采取的步骤的流程图;

图6是示出了在确定新激活命令何时可被发出时采用的步骤的流程图;以及

图7是能够实施本发明的计算装置的方框图。

具体实施方式

下文旨在提供本发明的实例的具体描述,不应当被认为是限制发明本身。任何数量的变形可落入本发明的范围之内,该范围在附于说明书的权利要求书中被限定。

图1是示出了存储器控制器的图例,其管理行激活和列读取或列写入命令。存储器控制器100在命令总线190上发出命令到存储器195。在命令总线190上发送的特定命令包括“激活”命令、“列”命令和“预充电”命令。其他命令可在该总线上被发出,但是不干扰本发明中所述的命令流。激活命令表示读或写操作的开始。列命令可相对于激活命令而出现于“奇”命令周期,并且确定数据被发送到或接收自存储器195的时刻。预充电命令表示特定读或写操作的结束。例如,读操作可包括如下命令序列:“激活”、“列”、“列”、“预充电”。数据总线185是双向总线,且被存储器控制器100用来发送/接收数据到/自存储器195。

在一个实施例中,存储器195是极限数据率(XDR)DRAM,命令总线190和数据总线185被配置为与XDR DRAM连通。在此实施例中,存储器控制器100包括与命令总线190和数据总线185相连通的XIO宏。该XIO宏接口包括必要的I/O电路,用以发送命令和数据到XDR DRAM以及用以捕获读取数据。它也包括用于校准存储器通道的控制电路。

存储器控制器100包括控制逻辑110、激活允许逻辑120和最后列计数器逻辑130。控制逻辑110在读或写操作开始时发送特定值到激活允许逻辑120和最后列计数器逻辑130,比如新命令加载140、读计数值150和写计数值160。此外,控制逻辑110从激活允许逻辑120接收激活允许信号180,其表示新激活命令何时可被发出。

当存储器控制器100发出激活命令时,控制逻辑110发送新命令加载140到激活允许逻辑120。新命令加载140是四位值“0001”,其被加载到包含于激活允许逻辑120中的四位移位寄存器中(对于与四位移位寄存器有关的进一步细节,见图3及相应文字)。此时,激活允许逻辑120将激活允许信号180重置为“0”,其防止控制逻辑110发出后续激活命令,直至激活允许信号180被设置为真。值“0001”防止激活命令彼此过于紧密地发出。

激活允许逻辑120在每个命令周期移位所加载的值,直至该值变为“1000”。移位寄存器的最高有效位(MSB)对应于激活允许信号180,因此,当该值变为“1000”时,激活允许信号180变为真。这向控制逻辑110通知它可启动新激活命令。如果新激活命令准备好发出,则控制逻辑110将新命令加载140提供到激活允许逻辑120,由此重置激活允许信号180。

然而,如果第二激活命令未准备好在下一命令周期启动,则MSB被移位到LSB,MSB之前的位被设置为“1”,得到值“0101”。后续命令周期得到移位寄存器值1010、0101、1010、0101等。如在图4中更具体看到的,激活允许信号180在“偶”周期为真,其造成控制逻辑110能够在“偶”周期发出新激活命令,于是避免在“奇”命令周期发出的列命令。

当新激活命令被发出时,激活命令的对应列命令在特定时刻结束。一旦列命令结束,控制逻辑110能够在任何时刻发出新激活命令。最后列计数器逻辑130负责跟踪每个未完成的列命令完成的时刻。一般地,这意味着最后激活命令的对应列命令完成的时刻点。当控制逻辑110发出激活命令时,控制逻辑110提供读计数值150或写计数值160到最后列计数器逻辑130,这取决于激活命令是对应于读操作还是对应于写操作。最后列计数器逻辑130将这些值的一个加载到读或写寄存器中,并且在每个命令周期递减寄存器的值。

当寄存器值为零时,它表示激活命令的对应列命令的每一个已完成,列命令完成信号170被设定为真(对于与最后列计数器逻辑细节有关的进一步情况,见图2及相应文字)。当激活允许逻辑120检测列命令完成信号170为真时,激活允许逻辑120将其锁存器设置为“1111”,其保持激活允许信号180为真,直至新激活命令被发出。

图2是示出了确定最后未完成的列命令何时完成的逻辑的图例。最后列计数器逻辑130与图1中所示相同,包括列读取命令计数逻辑和列写入命令计数逻辑。寄存器200、递减器210和门220构成了列读取命令计数逻辑,最后列计数器130利用它检测最后未完成的列读取命令何时被完成。寄存器230、递减器240和门250构成了列写入命令计数逻辑,最后列计数器130利用它检测最后未完成的列写入命令何时被完成。

当初始化时,寄存器200和230被设置为“0”。寄存器200的四位输出(全0)是对门220的输入。由于门220是NOR门,门220的输出是“1”,其也是对门260的输入之一。此外,由于寄存器230被设置为“0”,寄存器230的四位输出(全0)是对门250的输入,于是门250的输出是“1”。门250的输出是对门260的第二输入。由于门260是AND门,并且两个输入都是“1”,所以门260的输出也是“1”,其是列命令完成信号170。该信号是对激活允许逻辑120的输入,其表示激活命令可在任何命令周期发出。列命令完成信号170与图1中所示相同。

当激活命令被发出时,如果激活命令对应于读操作,则控制逻辑110将读计数值150提供到最后列计数器逻辑130,如果激活命令对应于写操作,则将写计数值160提供到最后列计数器逻辑130。为了简单,下文描述了这样的处理,其中最后列计数器逻辑130利用寄存器200、递减器210和门220跟踪读操作。正如本领域技术人员所能理解的,最后列计数器逻辑130以类似方式利用寄存器230、递减器240和门250跟踪写操作。控制逻辑110、读计数值150和写计数值160与图1中所示相同。

最后列计数器130接收读计数值150和将该值载入到寄存器200中。例如,该值可以是“7”,其表示最后列命令在七个命令周期中完成。寄存器200将该值输出到递减器210和门220。由于门220的输入现在并非全“0”,门220的输出是“0”,于是列命令完成信号170被重置为“0”。

递减器210在每个命令周期递减,直至递减器210达到“0”。递减器210的输出被回馈到寄存器200的输入,从而寄存器200的输出在每个命令周期减少,直至其输出为“0”。当寄存器200的输出全“0”时,门220的输出是“1”,列命令完成信号170为真。如果新激活命令在递减器210递减至零之前被发出,则以新的读计数值或写计数值重新加载最后列计数器逻辑130。

图3是示出了确定新激活命令何时可被发出的逻辑的图例。激活允许逻辑120向控制逻辑110通知关于通过设置激活允许信号180为真来启动新激活命令的可允许时刻的情况。激活允许逻辑120、激活允许信号180和控制逻辑110与图1中所示相同。

当初始化时,由于列命令完成信号170为“真”,硬件加载“111”到锁存器310至340中。锁存器310至340的输出分别是对门350至380的输入。激活允许信号180是门380的输出,由于锁存器3340的输出是“1”,门380的输出是“1”,因而激活允许信号180为真,表示新激活命令可在任何命令周期被发出。

当控制逻辑110发出激活命令时,控制逻辑110将新命令加载140提供到激活允许逻辑120。新命令加载140是“0001”,由此“1”被加载到锁存器0310中,“0”被加载到锁存器1320、锁存器2330和锁存器3340中。控制逻辑110也发送读计数值或写计数值到最后列计数器130,于是将列命令完成信号170重置为“0”。于是,由于列命令完成信号170和锁存器3340的输出均为零,门380的输出是“0”,因此激活允许信号180是“0”。新命令加载140和最后列计数器逻辑130与图1中所示相同。

在下一命令周期,门350的输出是锁存器1320的输入,门360的输出是对于其输出是对锁存器2330的输入的门390的输入,门370的输出是对锁存器3340的输入,门380的输出是对锁存器0310的输入。因此,值“0001”被移位以得到“0010”。对于接下来两个命令周期,锁存器值移位至“0100”和“1000”。当该值达到“1000”时,锁存器3349的输出是“1”,其将门380的输出改变为“1”(即激活允许信号180),向控制逻辑110通知它被允许发出另一新激活命令。

在下一命令周期,由于门380的输出被输入到门390和锁存器0310,锁存器值变为“0101”,由此将激活允许信号180重置为“0”。激活允许逻辑120被设计成一旦其锁存器达到“1000”,则值在“0101”和“1010”之间切换,其切换激活允许信号180。结果,控制逻辑110被允许每隔一个命令周期(即“偶”命令周期)发出激活命令。

当最后列计数器逻辑130确定最后未完成的列命令完成时,列命令完成信号170被设置为真。这将门350至380的输出强制为“1”,由此将值“1111”重新加载到锁存器310至340中。锁存器保持于“1111”,直至激活允许逻辑120从控制逻辑110接收新命令加载。

图4是示出了激活允许逻辑锁存值、信号值以及特定时刻的可能请求包的图例。激活允许逻辑120和最后列计数器逻辑130(均在图1中示出)标识了允许新激活命令的命令周期时刻。列命令完成信号170和激活允许信号180与图1中所示相同。行425至440分别对应于在图3中示出的锁存器340至310的输出值。行425的值对应于激活允许信号180的状态。

在时刻t1,控制逻辑发出激活包402。此时,控制逻辑也将读计数值或写计数值提供到最后列计数器逻辑,于是列命令完成信号170被重置为低。此外,在时刻t1,控制逻辑将新命令加载“0001”加载到激活允许逻辑中,于是行425至440的值分别为“0001”(列450),其将激活允许信号180强制为低。

在时刻t2,控制逻辑可发出可能列命令404。此外,行425至440的值分别被移位至“0010”,如列452中所示。在时刻t3,控制逻辑可发出可能预充电命令406,行425至440的值被分别移位至“0100”,如列454中所示。在时刻t4,控制逻辑可发出可能列命令408,行425至440的值被分别移位至“1000”,如列456中所示。于是,激活允许信号180被设置为真,其向控制逻辑通知新激活命令(例如可能激活命令410)可在下一命令周期被发出。

在时刻t5,控制逻辑可发出可能激活命令410,因为激活允许信号180在时刻t4变为真。此外在时刻t5,行425至440的值分别被重新配置为“0101”,如列458中所示(关于与锁存器值重新配置有关的进一步细节,见图3及其对应文字)。由于行425的值在时刻t5为零,激活允许信号180被重置为零。

在时刻t6,控制逻辑可发出可能列命令412,行425至440的值被分别移位至“1010”,如列460中所示,于是激活允许信号180被设置为真。在时刻t7,控制逻辑可发出可能的激活命令414,因为激活允许信号180在时刻t6变为真。此外在时刻t7,行425至440的值被分别移位至“0101”,如列462中所示,其将激活允许信号180强制为低。

在时刻t8,控制逻辑可发出最后列命令416。最后列命令416是最后未完成的列命令。此外,行425至440的值被分别移位至“1010”,如列464中所示,于是激活允许信号180被设置为真。

最后列计数器逻辑跟踪最后列命令416的定时。于是,一旦最后列命令完成,最后列计数器逻辑将列命令完成信号170变为“真”。这表示该控制逻辑可在任何后续命令周期,比如分别在时刻t9和t10,发出新激活命令,比如可能激活命令418和420。此外,当列命令完成信号170为真时,行425至440的值被设置为“1111”,如列466和468中所示,因此激活允许信号180变为真,直至控制逻辑发出另一激活命令信号(关于与锁存器值设置有关的进一步细节,见图3及其对应文字)。

图5是示出了在确定与激活命令相对应的最后列命令如何完成时采取的步骤的流程图。图5是图1中所示最后列计数器逻辑130的非硬件实施(例如软件或固件)的流程图。

处理始于500,此时处理等待列计数器请求(步骤510)。在该时间内,列命令完成标记被设置为真,因为没有激活列命令。列命令完成标记向激活允许逻辑或子程序通知最后列命令完成,新激活命令可在任何时刻被发出。列计数器请求可能来自于存储器控制器中所含的控制逻辑或控制软件。在步骤520,处理在列寄存器530中加载与最后未完成的列命令完成时的时刻相对应的计数器值,列命令完成标记被设置成假。计数器值可对应于读操作或写操作。列寄存器530可被存储于易失性存储器区域比如计算机存储器中。

进行关于是否出现下一命令周期的确定(判定540)。处理利用命令周期将其计数与可发出列命令的时刻同步。如果下一命令周期未出现,则处理跳转到“否”分支542,此处处理循环返回以等待下一命令周期。该循环继续,直至命令周期出现,判定540在此处跳转到“是”分支544。

关于新的列计数器请求是否被请求进行确定(判定545)。如果新的列计数器请求被请求,处理跳转到“是”分支547,其循环返回以加载新计数器值。另一方面,如果新的列计数器请求未被请求,判定545跳转到“否”分支549,此处处理递减列寄存器530中的值(步骤550)。例如,如果处理原本在列寄存器530中加载值“7”,则处理将该值递减至“6”。

关于列寄存器530中的值是否为零进行确定,其表示最后未完成的列命令完成(判定560)。如果该值不是零,则处理跳转到“否”分支562,其循环返回以等待下一命令周期。该循环继续,直至列寄存器530的值为零,此处判定560跳转到“是”分支568。

在步骤570,处理声明列命令完成标记。该列命令完成标记向激活允许逻辑或子程序通知最后的未完成列命令完成,因此新激活命令可在任何时刻被发出。

关于处理是否应当继续进行确定(判定580)。如果处理应当继续,判定580跳转到“是”分支582,其循环返回以等待另一列计数器请求。该循环继续,直至处理应当中止,此处判定580跳转到“否”分支588,于是处理结束于590。

图6是示出了在确定新激活命令何时可被发出时采用的步骤的流程图。处理在600处开始,此处处理将激活允许寄存器608重置为零(步骤605)。处理利用激活允许寄存器608来相对于新激活命令对命令周期进行计数,并且可被存储于易失性区域比如计算机存储器中。

在步骤610处,处理将激活允许标记设置为“1”。处理利用激活允许标记表示可发出新激活命令。例如,如果标记值是“1”,则处理可发出新激活命令。处理在步骤615等待新激活命令。当处理接收新激活命令时,处理在步骤620将激活允许标记设置为“0”,表示第二激活命令此时不可被发出。

处理在步骤625递增激活允许寄存器608中的值,并且关于激活允许寄存器608的值是否大于或等于行激活至行激活至不同存储体的定时参数(trr)进行确定(判定630)。trr参数防止激活命令彼此过近地发出。图4中所示实例示出了trr值是“4”。如本领域技术人员所能理解的,4之外的值可被用于trr参数。

如果激活允许寄存器608的值不大于或等于trr,判定630跳转到“否”分支632,保持激活允许标记设置为零(步骤635)。另一方面,如果激活允许寄存器608中的值大于或等于trr,则判定630跳转到“是”分支634。关于激活允许寄存器608的值是否可被2整除进行确定(判定640)。当激活允许寄存器608的值可被2整除时,这表示命令周期相对于激活命令被发出的时刻是“偶”命令周期。如果激活允许寄存器608的值可被2整除,则判定640跳转到“是”分支642,此处激活允许标记被设置为“1”,表示新激活命令可被发出(步骤650)。另一方面,如果激活允许寄存器608的值不可被2整除,则判定640跳转到“否”分支644,此处激活允许标记被保持为“0”(步骤645)。

关于是否继续处理进行确定(判定660)。如果处理应当终止,则判定660跳转到“否”分支662,此处处理结束于665。另一方面,如果处理应当继续,则判定660跳转到“是”分支664,此处进行下一命令周期是否出现的确定(判定670)。如果新命令周期未出现,则判定670跳转到“否”分支672,此处处理循环返回以等待下一命令周期。该循环继续,直至下一命令周期出现,此处判定670跳转到“是”分支674。

关于是否处理接收新激活命令以及激活允许标记为“1”进行确定(判定680)。如果处理接收新激活命令以及激活允许标记是“1”,则判定680跳转到“是”分支682,此处处理重置激活允许寄存器608中的值(步骤685),并且将激活允许标记设置为“0”。另一方面,如果处理未接收新激活命令或者激活允许标记不是“1”,则处理跳转到“否”分支684。

关于列命令完成信号是否为真进行确定(判定690)。列命令完成信号由最后列计数器逻辑130(图1中所示)提供,或者可由对应子程序提供,其步骤在图5中示出。当列命令完成信号为真时,这表示对应于激活命令的最后列命令完成,新激活命令可在任何时刻被发出。如果列命令完成信号为真,则判定690跳转到“是”分支694,此处处理重置激活允许寄存器608的值,将激活允许标记设置为“1”,等待新激活命令。另一方面,如果列命令完成信号不为真,则判定690跳转到“否”分支692,此处处理递增激活允许寄存器608的值,关于是否允许新激活命令来分析该递增的值。

图7是能够实施本发明的计算装置的方框图。图7中所示体系结构包括共享公共存储器和公共总线的异构处理器。处理器单元体系结构(PEA)700经过输入输出770向/从外部装置发送和接收信息,利用处理器单元总线760将该信息分发到控制平面710和数据平面740。控制平面710管理PEA 700和将工作分发到数据平面740。

此外,处理器单元总线760将读和写请求提供到存储器接口控制器(MIC)780。存储器接口控制器780将请求传送到存储器接口790,其继而与外部存储器通信。在一个实施例中,该存储器可以是极限数据率(XDRTM)DRAM,在此实施例中,存储器接口790是与XDRTMDRAM通信的XIOTM接口。

控制平面710包括处理单元720,其运行操作系统(OS)725。例如,处理单元720可以是嵌入于PEA 700中的Power PC核心,OS 725可以是Linux操作系统。处理单元720管理用于PEA 700的公共存储器映射表。存储器映射表对应于PEA 700中所含的存储器位置,比如L2存储器730以及数据平面740中所含的非专用存储器。

数据平面740包括协同处理联合体(SPC)745、750和755。每个SPC被用来处理数据信息,每个SPC可具有不同指令集。例如,PEA700可被用于无线通信系统中,每个SPC可负责独立的处理任务,比如调制、码片速率处理任务、编码和网络接口。在另一实例中,每个SPC可具有相同指令集,可被并行地用来进行受益于并行处理的操作。每个SPC包括协同处理单元(SPU),其是处理核心,比如数字信号处理器、微控制器、微处理器或这些核心的组合。

SPC 745、750和755被连接至处理器单元总线760,其在控制平面710、数据平面740与输入/输出770之间传递信息。总线760是片上一致性多处理器总线。输入/输出770包括柔性输入-输出逻辑,其基于连接至PEA 700的外围装置,动态地将接口引脚分派给输入-输出控制器。例如,PEA 700可连接至两个外设装置,比如外设A和外设B,由此每个外设被连接至PEA 700上特定数量的输入和输出引脚。在此实例中,柔性输入-输出逻辑被配置为将连接至外设A的PEA 700外部输入和输出引脚连通到第一输入-输出控制器,将连接至外设B的PEA 700外部输入和输出引脚连通到第二输入-输出控制器。

尽管图7中所示计算机系统能够执行这里所述处理,但是该计算机系统仅为计算机系统的一个实例。本领域技术人员将理解许多其他计算机系统设计能够进行这里所述的处理。

本发明的优选实施之一是客户机应用,即例如可常驻于计算机的随机存取存储器内的代码模块中的指令集(程序码)。在被计算机需要之前,指令集可存储在另一计算机存储器中,例如在硬盘驱动器中,或者在可移动存储器比如光盘(用于CD ROM中的最终使用)或软盘中,或者经由Internet或其他计算机网络下载。因此,本发明可被实施为用于在计算机中使用的计算机程序产品。此外,尽管所述各种方法通常实施于由软件选择性地激活或重新配置的通用计算机中,但是本领域的普通技术人员还将理解,这些方法可在硬件中、在固件中或者在构造为进行所需方法步骤的更专用设备中加以实施。

尽管本发明的特定实施例已被示出和描述,但是对于本领域技术人员明显的是,基于其中的教导,可进行变化和改型,而不脱离本发明及其更宽方面。因此,所附权利要求将在其范围之内涵盖所有这样的变化和改型,只要它们是在本发明的真实精神和范围之内。而且,将理解本发明仅由所附权利要求限定。本领域技术人员将理解,如果旨在具体数量的所引入权利要求要素,则这样的意图将被明示于权利要求中,在没有这样的记载时则不存在这样的限制。对于非限制性的实例,作为对理解的帮助,所附权利要求包含了引导词汇“至少一个”和“一个或多个”的使用,以引入权利要求要素。然而,这些词汇的使用不应当被理解为意指通过不定冠词“一”或“一个”所引入权利要求要素将含有这样引入的权利要求要素的任何特定权利要求限制为仅含一个这样要素的发明,即使同一权利要求包括了引导词汇“一个或多个”或“至少一个”以及不定冠词比如“一”或“一个”;这对于定冠词在权利要求中的使用同样成立。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号