处理器的制作方法

文档序号:6579241阅读:190来源:国知局
专利名称:处理器的制作方法
技术领域
本发明涉及处理器,并且更具体地涉及具有作为指令集的对指令的执
行的完成进行同步的同步指令的指令(instruction-synchronizing instruction,也称为指令同步指令)的处理器,并且涉及用于同步的处理方 法。
背景技术
在连续地执行指令的处理器中,处理器的执行部件通常需要在某个时 间点之前完成所发布的指令的执行。等待完成指令的执行的这种操作称为 "指令同步(sync)"。例如,当调试器(debugger)实行歩进执行(其 中指令逐条被执行)(step execution)时,或者当要确保指令执行结果已 被输出到外部存储器等时,需要指令同步。可以通过为处理器在指令集中 准备同步指令的指令(该指令用来执行指令同步),并且使得处理器在需 要指令同步时执行该同步指令的指令,来实现指令同步。
迄今,在能够并行执行多个线程的处理器中,已经提出了各种技术作 为用于执行某个线程的指令同步的方法。所提出的技术之一例如通过以下 方式来实现指令同步停止对所有线程的指令发布并等待,直到所有执行 部件都已完成此时正执行的指令并且进入空闲状态为止(参见,例如USP 申请公报No. 2004/023975 (图3))。

发明内容
然而,利用上述相关技术,由于所有线程的指令发布被停止使得所有 执行部件进入空闲状态,因此不仅作为指令同歩的对象的线程被停止,而 且除了指令同步的对象之外的其它线程也被停止。因此,在较大程度上恶 化了处理器的指令执行性能。相反,如果处理器的所有执行部件可以监控正执行的所有指令并且可 以区分出作为发布了正执行的指令的源的线程,则可以只停止作为指令同 步的对象的线程的执行。然而,这种解决方案需要这样的电路,该电路用 于将作为发布了正在处理器的所有执行部件中执行的指令的源的线程与作 为指令同步的对象的线程相比较。换言之,由于极大地增加了处理器的电 路规模,因此上面的解决方案是不实际的。
本发明通过在不停止未被要求执行指令同步的其它线程的执行的情况 下执行指令同步而解决了上述问题。
根据本发明的实施例, 一种处理器包括多个执行部件,被配置为同 时执行多个线程的指令;指令发布部件,被配置为向多个执行部件发布指
令;指令同步监控部件,被配置为当同步指令的指令从指令发布部件被发
布到多个执行部件中的一个或多个时,对被发布了同步指令的指令的每个 执行部件的同步指令的指令的执行的完成进行监控,由此检测同步指令的 指令所属的线程的先前指令的执行的完成,其中,在发布了同歩指令的指 令之后,指令发布部件停止发布同步指令的指令所属的线程的后续指令, 直到指令同步监控部件检测到已完成了对同歩指令的指令所属的线程的先 前指令的执行为止。利用这些特征,在检测到同歩指令的指令所属的线程 的先前指令的执行的完成之前,停止发布同歩指令的指令所属的线程的后 续指令。
在本发明的实施例中,同步指令的指令可包括线程标识符字段和执行 部件指定字段,线程标识符字段指示同歩指令的指令所属的线程的标识 符,执行部件指定字段指定多个执行部件中被检测到已完成先前指令的执 行的一个或多个执行部件,并且,指令同步监控部件检测在多个执行部件 中由执行部件指定字段所指定的一个或多个执行部件中已完成了对属于线 程标识符字段所指示的线程的先前指令的执行。利用这些特征,指令同步 监控部件可以检测在执行部件指定字段所指定的一个或多个执行部件中已 完成了对属于线程标识符字段所指示的线程的先前指令的执行。
在上述处理器中,指令同歩监控部件可包括执行完成记录部件,被 配置为针对每个线程记录多个执行部件的每一个中的先前指令的执行是否已被完成;以及执行完成检测部件,被配置为通过将执行完成记录部件中 的记录与执行部件指定字段中的指定相比较,来检测多个执行部件中由执 行部件指定字段所指定的所有执行部件中的先前指令的执行的完成。利用 这些特征,执行完成检测部件可以基于执行完成记录部件中的记录来检测 先前指令的执行的完成。
在上述处理器中,执行完成检测部件可包括选择器,被配置为根据 线程标识符字段选择检测到或未检测到被记录在执行完成记录部件中的先
前指令的执行的完成;比较器,被配置为将由选择器所选择的检测到或未
检测到先前指令的执行的完成与执行部件指定字段所指示的对一个或多个
执行部件的指定相比较;以及输出部件,被配置为输出当同歩指令的指令 被指令发布部件发布时的比较结果,来作为执行完成检测部件的检测结 果。利用这些特征,所选择的检测到或未检测到先前指令的执行的完成与 执行部件指定字段所指示的一个或多个执行部件的指定之间的比较的结果 可以被输出作为执行完成检测部件的检测结果。
本发明的实施例提供了如下优点可以在不停止执行未被要求执行指
令同步的其它线程的情况下来执行指令同歩。


图1是图示出根据本发明实施例的信息处理系统的整体配置的一个小-
例的框图2A和2B的每一个是图示出根据本发明实施例的处理器100的配置
的一个示例的框图3图示出了本发明实施例中的寄存器堆(register file) 150的配置的
--个示例;
图4图示出了本发明实施例中的同歩指令的指令的指令格式的一个小
例;
图5是图示出本发明实施例中的指令同歩监控单元190的配置的个 示例的框图6图示出了本发明实施例中的包括同步指令的指令的指令串的 -个图7是图示出由本发明实施例中的指令发布单元121至124中每一个
执行的处理进程的一个示例的流程图8是图示出由本发明实施例中的执行部件160执行的处理进程的一 个示例的流程图9是图示出由本发明实施例中的指令同歩监控单元190执行的处理 进程的一个示例的流程图10图示出了根据本发明实施例的处理器100的序列图表的一个示
图11是图示出对由本发明实施例中的指令同步监控单元190执行的 处理进程的修改的流程图12是图示出对本发明实施例中的指令同歩监控单元190的第一修 改的框图;以及
图13是图示出对本发明实施例中的指令同歩监控单元190的第二修 改的框图。
具体实施例方式
下面将参考附图详细描述本发明的实施例。
图1是图示出根据本发明实施例的信息处理系统的整体配置的- -个示 例的框图。该信息处理系统包括多个CPU ll至14、存储器20、存储器缓 存30、帧缓冲器50、缓冲器缓存60以及处理器100。
CPU 11至14是并行地执行处理的CPU (中央处理单元)。这里假设 CPU 11至14执行不同的线程并且如果需要则命令处理器IOO执行计算处 理。
存储器20是保存CPU 11至14的工作区域的公共存储器。存储器缓 存30是保存存储器20的部分区域的拷贝的公共缓存存储器30。
帧缓冲器50是保存被运用作为图像处理的对象的帧的缓冲器。缓冲 器缓存60是保存帧缓冲器50的部分区域的拷贝的缓存存储器。当处理器 IOO用作运动图像编解码器引擎时,缓冲器缓存60用作用于查阅帧内预测处理中的解码图像的缓冲器,并且其用作只读缓冲器。
处理器100是由CPU 11至14共享并根据来自CPU 11至14的指令执 行计算处理的协同处理器。在处理器100和CPU 11至14之间,数据的同 步被建立在存储器20或存储器缓存30的级上。下面描述处理器100用作 运动图像编解码器引擎的示例。
图2A和2B各自是图示出根据本发明实施例的处理器100的配置的一 个示例的框图。处理器100包括输入队列111至114、指令发布单元121 至124、仲裁器130、指令译码器140以及寄存器堆150。此外,处理器 100包括载入/存储单元161、算术和逻辑计算单元162、乘法器163、特殊 计算单元A至E (164-168)、写回单元170、输出队列180以及指令同歩 监控单元190。
输入队列111至114是保存从CPU 11至14接收到的指令的FIFO (先进先出)队列。输入队列111至114分别与CPU 11至14相对应。输 入队列111至114按照从CPU U至14接收指令的顺序将指令提供给指令 发布单元121至124。
指令发布单元121至124是发布从输入队列111至114提供来的指令 的单元。指令发布单元121至124分别与输入队列111至114相对应。指 令发布单元121至124中每一个可以包括用于保存寄存器堆150巾的数据 间的相关关系(用于控制数据间的依赖性关系)的记分板(scoreboard)。
此外,当同歩指令的指令被发布时,指令发布单元121至124暂时停 止对该同步指令的指令所属线程中的后续指令的发布。此时,指令发布单 元121至124通过信号线129请求指令同步监控单元190监控指令同歩。 当完成指令同步时,指令发布单元121至124通过信号线199从指令同步 监控单元190接收指示己完成指令同步的通知。作为响应,指令发布单元 121至124恢复后续指令的发布。
仲裁器130对从指令发布单元121至124发布来的各条指令进行仲 裁,并且将它们提供给指令译码器140。指令译码器140对从仲裁器130 提供来的每条指令进行译码,并且指定例如执行经译码的指令的计算单元 或寄存器作为访问对象。
8输入队列111至114、指令发布单元121至124、仲裁器130以及指令 译码器140用作权利要求书中所陈述的指令发布部件的一个示例。
寄存器堆150保存处理器IOO的内部寄存器。所需操作数根据指令译 码器140的译码结果从寄存器堆150中被读出来,并且被提供给计算单元
载入/存储单元161将来自存储器20的数据载入寄存器堆150,并且 将来自寄存器堆150的数据存储在存储器20中。算术和逻辑计算单元162 是执行诸如加法和减法之类的算术操作以及诸如逻辑加(OR)和逻辑乘 (AND)之类的逻辑操作的计算单元。乘法器163是执行乘法的计算单 元。特殊计算单元A至E (164至168)是执行特殊计算的计算单元。这 里,假设特殊计算是运动图像编解码器所需的宏块计算。例如,假设特殊 计算单元A和B (164和165)执行IDCT (离散余弦逆变换)计算。而 且,假设特殊计算单元C (166)执行解块滤波(deblocking filter)计算。 假设特殊计算单元D (167)执行帧内预测处理。假设特殊计算单元E (168)执行帧间预测处理。在此实施例中,由于假设了运动图像编解码 器,因此,每个计算单元等运用整数运算。
对于每个处理所需的时间,这里假设了如下情况。载入/存储单元161 需要5个周期。算术和逻辑计算单元162需要2个周期。乘法器163需要 4个周期。特殊计算单元A和B (164和165)需要4个周期。特殊计算单 元C和D (166和167)需要5个周期。特殊计算单元E (168)取决于功 能代码而需要25个周期或更多周期。功能代码是用于指定每个编解码器 处理的滤波计算的类型的代码。在下面的描述中,载入/存储单元161、算 术和逻辑计算单元162、乘法器163和特殊计算单元A至E (164至168) 中每一个都称为执行部件160。
写回单元170将由执行部件160产生的结果写回到寄存器堆150中。 输出队列180将由载入/存储单元161、算术和逻辑计算单元162以及特殊 计算单元E (168)产生的结果输出到CPU11至14。
当同步指令的指令被发布到指令部件160时,指令同歩 控单元190 检测到所发布的同步指令的指令所属线程中的先前指令的执行已在执行部件160中被完成。为此,指令同步监控单元190监控被发布了同步指令的 指令的每个执行部件160的同步指令的指令的执行的完成。当通过信号线 129从指令发布单元121至124之一接收到指令同步监控请求时,指令同 步监控单元190监控特定线程中先前指令的执行的完成。当通过信号线 169从每个执行部件160报告先前指令的执行的完成时,指令同步监控单 元190根据该报告将指令的完成备案。此外,当在执行部件160的特定一 个中完成了先前指令的执行时,指令同步监控单元190通过信号线199向 发布了指令同步监控请求的指令发布单元121至124之一通知同歩的建 立。指令同步监控单元190是权利要求书中陈述的指令同步监控部件的一 个示例。
图3图示出了本发明实施例中的寄存器堆150的配置的一个示例。针 对CPU 11至14中每一个设置了寄存器堆150。这使得能够在不考虑CPU 11至14间的数据依赖性关系的情况下执行指令。这里假设针对四个CPU 中每一个设置32个寄存器。
一个寄存器具有(4X4)矩阵结构,并且每个矩阵元素由16比特构 成。换言之,每个寄存器具有类似向量寄存器的多个元素,并且计算处理 等基本上以寄存器为单位来执行。在此实施例中,由于假设了运动图像编 解码器,因此每个矩阵元素保存一个整数。
图4图示出了本发明实施例中的同歩指令的指令的指令格式的一个示 例。指令格式包括各个字段功能代码610、线程号620以及执行部件指 定映射630。
功能代码610指用于保存被指派给一个指令的代码的一个字段。同歩 指令的指令用"InstSync"表示,并且例如大约8比特的代码被存储为功 能代码610。
线程号620指用于指定作为指令同歩的对象的线程的一个字段。换言 之,同步指令的指令所属的线程的号被存储在线程号620中。线程号620 是权利要求书中陈述的线程标识符的一个示例。
执行部件指定映射630指用于指定作为指令同歩的对象的执行部件的 --个字段。执行部件指定映射630具有以对应于执行部件160中每一个的一位为单位的位映射(bit map),每位指示相关执行部件160是否是指令 同步监控单元190的对象。更具体地,第零位对应于载入/存储单元161。 第一位对应于算术和逻辑计算单元162。第二位对应于乘法器163。第三 位对应于特殊计算单元A (164)。第四位对应于特殊计算单元B (165)。第五位对应于特殊计算单元C (166)。第六位对应于特殊计算 单元D (167)。第七位对应于特殊计算单元E (168)。例如,当载入/存 储单元161是指令同步的对象时,第零位被设为"1",而当其不是指令 同步的对象时,第零位被复位为"0"。
图5是图示出本发明实施例中的指令同歩监控单元190的配置的一个 示例的框图。指令同步监控单元190包括执行完成记录表310和执行完成 检测单元320。
执行完成记录表310是用于记录每个线程中是否在执行部件160中完 成了同步指令的指令之前的指令的执行的表。执行完成记录表310包括用 于线程号311以及执行部件指定映射312的各个字段。线程号311指用于 保存同步指令的指令所属的线程号的一个字段。执行部件指定映射312是 与指令格式中的执行部件指定映射630类似的位映射,并且其记录在执行 部件160中已完成先前指令的执行的事实。当每个执行部件160执行同歩 指令的指令时,执行部件160向指令同步监控单元190报告在同歩指令的 指令之前的指令的执行已完成的事实。该报告包括同步指令的指令的线程 号。响应于该报告,例如,指令同步监控单元190在与所报告的线程号相 匹配的线程号311的条目中,将执行部件指定映射312的位映射中与报告 了执行的完成的执行部件160相对应的一位设为"1"。在图示出的实施 例中,执行部件指定映射312的位映射中的"1"表示执行的完成,而 "0"表示执行尚未完成。执行完成记录表310是权利要求书中陈述的执 行完成记录部件的一个示例。
执行完成检测单元320通过査阅执行完成记录表310来检测在执行部 件指定映射630所指定的所有执行部件630中已完成了先前指令的执行。 执行完成检测单元320包括选择器321、比较器322以及逻辑乘(AND) 电路323。选择器321根据同步指令的指令的线程号620在执行完成记录表310 中选择执行部件指定映射312。比较器322将由选择器312所选的执行部 件指定映射312与同步指令的指令中的执行部件指定映射630相比较。当 在被指定为同步指令的指令中的执行部件指定映射630中的同步对象的所 有执行部件160中完成了先前指令的执行时,执行部件指定映射630中的 内容与执行部件指定映射312中的内容相匹配。比较器322检测两个映射 之间的匹配。逻辑AND电路323生成来自指令发布单元121至124中每 一个的指令同步监控请求的存在与比较器322的结果的逻辑乘积。更具体 地,当指令同步监控请求存在的情况下比较器322检测到两个映射之间的 匹配时,逻辑AND电路323将指令同步的建立通知给指令发布单元121 至124。选择器321是权利要求书中陈述的选择器的一个示例。逻辑AND 电路323是权利要求书中陈述的输出部件的一个示例。
图6图示出了本发明实施例中的包括同步指令的指令的指令串的一个 示例。当同步指令的指令被发布在某个线程弁X的指令串中时,指令发布 单元121至124停止线程弁X中正好在同步指令的指令之后的指令均以及其 它后续指令的执行。然后,指令发布单元!21至124针对线程#乂中的指令 进入同步等待状态,直到线程弁X中的同步指令的指令之前的指令(即, 指令新以及其它先前的指令)的执行完成为止。在同歩等待状态期间,指 令发布单元121至124继续发布属于其它线程的指令。当指令同步监控单 元190检测到完成了对指令新以及其它先前的指令的执行时,指令发布单 元121至124恢复线程弁X中的指令弁j以及其它后续指令的发布。
下面将参考附图描述根据本发明实施例的处理器100的操作。
图7是图示出由本发明实施例中的指令发布单元121至124执行的处 理进程的一个示例的流程图。
当接收到来自CPU 11至14之一的同步指令的指令时(歩骤 S911),指令发布单元121至124中相应的一个请求指令同步监控单元 190监控指令同步(步骤S912)。指令发布单元121至124之一向在同歩 指令的指令中的执行部件指定映射630中被指定的每个执行部件610发布 同步指令的指令(步骤S913)。然后,指令发布单元121至124之一停止同步指令的指令所属的线程(线程号620)中的后续指令的发布(步骤 S914)。
此后,当从指令同步监控单元190接收到指示同步建立的通知时(歩 骤S915),指令发布单元121至124之一恢复同步指令的指令所属的线程 (线程号620)中的后续指令的发布(步骤S916)。
图8是图示出由本发明实施例中的执行部件160执行的处理进程的一 个示例的流程图。
当从指令发布单元121至124中的某一个发布同步指令的指令时,执 行部件160与其它指令类似地执行同歩指令的指令。如果同步指令的指令 被执行并被完成(歩骤S922),则执行部件160向指令同歩监控单元190 报告在相关执行部件160中已完成了对同步指令的指令之前的指令的执行 (步骤S923)。作为响应,执行完成记录表310中的执行部件指定映射 312的相应位在指令同步监控单元190中被设置。
图9是图示出由本发明实施例中的指令同步监控单元190执行的处理 进程的一个示例的流程图。这里假定执行完成记录表310中的执行部件指 定映射312的所有位都预先被复位。
当从令发布单元121至124中的某一个接收到指令同步监控请求时 (步骤S931),指令同步监控单元190开始监控相关线程的指令同歩。当 在这种状态中从执行部件160接收到通知同步指令的指令之前的指令的执 行已完成的报告时(步骤S933),指令同步监控单元l卯设置执行部件指 定映射312中的相应位(步骤S934)。更具体地,指令同步监控单元190 在相应线程的执行完成记录表310中的执行部件指定映射312中设置与报 告了执行的完成的执行部件160相对应的位(歩骤S934)。在该设置之 后,如果比较器322未检测到执行部件指定映射312与执行部件指定映射 630之间的匹配(步骤S935),则重复继歩骤S933之后的处理直至检测
到两个映射之间的匹配为止。
如果比较器322检测到执行部件指定映射312与执行部件指定映射 630之间的匹配(步骤S935),则指令同步监控单元190通知匹配的检 测。具体地,指令同步监控单元190向指令发布单元121至124中发布了同步指令的指令的相关一个指令发布单元通知指令同步的建立(歩骤
S936)。然后,指令同步监控单元190对相应线程的执行完成记录表310 中的执行部件指定映射312的位进行复位(步骤S937)。
图10图示出了根据本发明实施例的处理器100的序列图表的一个示
当从CPU 11至14之一接收到同步指令的指令时(811),指令发布 单元121至124中的相应一个请求指令同步监控单元190监控指令同步
(812) 。指令发布单元121至124之一向在同步指令的指令中的执行部 件指定映射630中被指定的每个执行部件160发布同步指令的指令
(813) 。然后,指令发布单元121至124之一停止同步指令的指令所属 的线程中的后续指令的发布(814)。
当从指令发布单元121至124中的某一个接收到指令同歩监控请求吋 (831),指令同步监控单元190开始监控相关线程的指令同歩。
当同步指令的指令从指令发布单元121至124中的某一个被发布并且 被接收时(821),执行部件160与其它指令类似地执行同歩指令的指 令。如果同步指令的指令被执行并被完成(822),则执行部件160向指 令同步监控单元190报告己在相关执行部件160中己完成了对同歩指令的 指令之前的指令的执行的事实(823)。
当从执行部件160接收到通知同步指令的指令之前的指令的执行已完 成的报告时(833),指令同步监控单元190对执行部件指定映射312进 行设置。更具体地,指令同步监控单元190在相应线程的执行完成记录表 310中的执行部件指定映射312中设置与报告了执行的完成的执行部件 160相对应的位(834)。在该设置之后,如果比较器322检测到执行部件 指定映射312与执行部件指定映射630之间的匹配(835),则指令同歩 监控单元190通知匹配的检测。具体地,指令同步监控单元190向指令发 布单元121至124中发布了同步指令的指令的相关-一个指令发布单元通知 指令同步的建立(836)。然后,指令同步监控单元190对相应线程的执 行完成记录表310中的执行部件指定映射312的位进行复位(837)。
当从指令同歩监控单元190接收到指示同歩的建立的通知时
14(815),指令发布单元121至124之一恢复同歩指令的指令所属的线程 (线程号620)中的后续指令的发布(816)。
根据本发明的实施例,如上所述,由于指令同步监控单元190检测到 每个线程的在同步指令的指令之前的指令的执行的完成,因此,可以在不 停止未被执行指令同步的其它线程的执行的情况下建立指令同歩。而且, 根据本实施例,可以在组合小规模电路(即,执行完成记录表310、选择 器321和比较器322)的情况下来建立指令同步。因此,可以在不增加执 行指令同步的处理器100的电路规模的情况下来实现所希望的指令同步。
在上述实施例中,执行完成记录表310中的执行部件指定映射312被 预先复位,并且每当接收到通知完成了对同步指令的指令的执行的报告 时,通过设置执行部件指定映射312中的相应位来检测执行部件指定映射 312与执行部件指定映射630之间的匹配。然而,本实施例可以被修改如 下当接收到指令同步监控请求时,执行部件指定映射630按照执行部件 指定映射312被设置,并且每当接收到通知完成了对同步指令的指令的执 行的报告时,执行部件指定映射312中的相应位被复位。在此情况中,比 较器322检测对执行部件指定映射312的预设位的清除。下面将更详细地 描述该修改。
图11是图示出对由本发明实施例中的指令同步监控单元190执行的 处理进程的修改的流程图。
当从指令发布单元121至124中的某一个接收到指令同歩监控请求时 (步骤S941),指令同步监控单元190开始监控相关线程的指令同歩。此 时,指令同步监控单元190按照相应线程的执行完成记录表310中的执行 部件指定映射312来设置执行部件指定映射630的内容(歩骤S942)。
当在这种状态中从执行部件160接收到通知已完成了同歩指令的指令 之前的指令的执行的报告时(步骤S943),指令同步监控单元190复位执 行部件指定映射312 (步骤S944)。更具体地,指令同歩监控单元190在 相应线程的执行完成记录表310中的执行部件指定映射312屮设置与报告 了执行的完成的执行部件160相对应的位(歩骤S944)。在该设置之后, 如果比较器322未检测到对执行部件指定映射312的所有位的清除(歩骤S945),则重复继步骤S943之后的处理直至检测到清除了所有位为止。
如果比较器322检测到对执行部件指定映射312的所有位的清除(步 骤S945),则指令同步监控单元190通知检测到对所有位的清除。具体 地,指令同步监控单元190向指令发布单元121至124中发布了同步指令 的指令的相应一个指令发布单元通知指令同步的建立(步骤S946)。
虽然在上述实施例中通过利用一个执行完成检测单元320来监控指令 同步,然而,可以设置多个执行完成检测单元320,如下所述。
图12是图示出对本发明实施例中的指令同歩监控单元190的第一修 改的框图。对指令同步监控单元190的第一修改包括多个执行完成检测单 元320。更具体地,执行完成检测单元320-1至320-i中的数字i (i为整 数)被设置为能够并行监控不同线程的指令同步。虽然在第一修改中,根 据来自指令发布单元121至124的请求在执行完成检测单元320-1至320-i 的每一个中指定了线程号,然而,可以使线程号保持固定,如下所述。
图13是图示出对本发明实施例中的指令同歩监控单元190的第二修 改的框图。在对指令同歩监控单元l卯的第二修改中,未设置选择器 321,并且执行完成检测单元320-1至320-n以一对一的关系与执行完成记 录表310的条目相对应。因此,可以利用更小规模的电路配置来并行监控 不同线程的指令同步。
虽然上面在八个计算单元等被包括作为执行部件160的假设下描述了 本发明的实施例,然而,本发明不限于这种配置,并且任意数目的计算单 元等可以被包括作为执行部件160。而且,虽然上面在利用用于运动图像 编解码器的特殊计算单元的假设下描述了实施例,然而,本发明不限于该 实施例。
虽然在本发明的实施例中,将位映射格式假设作为执行完成记录表 310中的执行部件指定映射312的格式,然而,本发明不限于使用位映射 格式,并且可以按某些其它合适的特定格式来对执行部件指定映射312进 行编码。
此外,虽然本发明的实施例被描述为通过信号线169将计算单元的每 一个(即,每个执行部件160)与指令同步监控单元190相连接,然而,本发明不限于该实施例,也可以将公共总线等用于它们之间的连接。
上述本发明的实施例仅仅是用于实现本发明的一个示例,并且如上所 述用在实施例中的组件对应于权利要求书中指定的各个元件。然而,要注 意,本发明不限于上述实施例,而是可以在不脱离本发明的范围的情况下 对本发明进行各种修改。
另外,上面在本发明的实施例中描述的处理进程可以被解释为包括一 系列进程的方法,或者可以被解释为用于使得计算机执行该一系列进程的 程序,或者存储该程序的记录介质。这种记录介质的实际示例例如包括
CD (致密盘)、MD (迷你盘)、DVD (数字多功能盘)、存储卡、 蓝光光盘(注册商标)。
本申请包含与2008年7月8日向日本特许厅提交的日本在先专利申请 JP 2008-177520所公开的内容有关的主题,该申请的全部内容通过引用被 结合于此。
本领域的技术人员应当明白,可以根据设计要求和其它因素进行各种 修改、组合、子组合和变更,只要它们在权利要求或其等同物的范围之 内。
权利要求
1.一种处理器,包括多个执行部件,被配置为同时执行多个线程的指令;指令发布部件,被配置为向所述多个执行部件发布指令;指令同步监控部件,被配置为当同步指令的指令从所述指令发布部件被发布到所述多个执行部件中的一个或多个时,对被发布了所述同步指令的指令的每个执行部件的同步指令的指令的执行的完成进行监控,由此检测所述同步指令的指令所属的线程的先前指令的执行的完成,其中,在发布了所述同步指令的指令之后,所述指令发布部件停止发布所述同步指令的指令所属的线程的后续指令,直到所述指令同步监控部件检测到对所述同步指令的指令所属的线程的先前指令的执行的完成为止。
2. 根据权利要求1所述的处理器,其中,所述同步指令的指令包括线 程标识符字段和执行部件指定字段,所述线程标识符字段指示所述同歩指 令的指令所属的线程的标识符,并且所述执行部件指定字段指定所述多个 执行部件中被检测到己完成所述先前指令的执行的一个或多个执行部件, 并且其中,所述指令同步监控部件检测到在所述多个执行部件中的山所述 执行部件指定字段所指定的--个或多个执行部件中已完成了对属于所述线 程标识符字段所指示的线程的所述先前指令的执行。
3. 根据权利要求2所述的处理器,其中,所述指令同歩监控部件包括执行完成记录部件,被配置为针对每个线程记录所述多个执行部件的 每一个中的所述先前指令的执行是否已被完成,以及执行完成检测部件,被配置为通过将所述执行完成记录部件中的记录 与所述执行部件指定字段中的指定相比较,来检测所述多个执行部件中的 在所述执行部件指定字段中指定的所有执行部件中的所述先前指令的执行 的完成。
4.根据权利要求3所述的处理器,其中,所述执行完成检测部件包括选择器,被配置为根据所述线程标识符字段选择检测到或未检测到被 记录在所述执行完成记录部件中的所述先前指令的执行的完成;比较器,被配置为将由所述选择器所选择的检测到或未检测到所述先 前指令的执行的完成与在所述执行部件指定字段中指示的对所述一个或多 个执行部件的指定相比较;以及输出部件,被配置为输出当所述同步指令的指令被所述指令发布部件 发布时的比较结果,来作为所述执行完成检测部件的检测结果。
全文摘要
本发明公开了处理器。该处理器包括多个执行部件,被配置为同时执行多个线程的指令;指令发布部件,被配置为向多个执行部件发布指令;以及指令同步监控部件,被配置为当同步指令的指令从指令发布部件被发布到多个执行部件中的一个或多个时,对被发布了同步指令的指令的每个执行部件的同步指令的指令的执行的完成进行监控,由此检测同步指令的指令所属的线程的先前指令的执行的完成。在发布了同步指令的指令之后,指令发布部件停止发布同步指令的指令所属的线程的后续指令,直到指令同步监控部件检测到对同步指令的指令所属的线程的先前指令的执行的完成为止。
文档编号G06F9/38GK101625637SQ200910158828
公开日2010年1月13日 申请日期2009年7月8日 优先权日2008年7月8日
发明者石井雅明 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1