非耦合副处理器接口的制作方法

文档序号:6382521阅读:184来源:国知局
专利名称:非耦合副处理器接口的制作方法
技术领域
本发明是有关于一种副处理器接口(co-processor interface),且特别是有关于一种高效率非耦合副处理器接口。
背景技术
副处理器(co-processor)是一种特殊的处理器,适用在执行与加速特殊运算中,例如是主处理器(main processor)的浮点计算与加密运算。副处理器的例子有图形处理器(graphics processor unit)以及数字信号处理器(digital signal processor)。一般来说,副处理器与主处理器之间的连接是通过一个专用的副处理器接口。通过这个副处理器接口,主处理器可以发送副处理器指令给副处理器,发送数据以及早期清除事件(early flush event)给副处理器,从副处理器接收状态报告(status report),以及告知副处理器是否要提交(commit)或是清除(flush)所有未提交的副处理器指令。当副处理器产生的本机数据样式(native data type)的位宽度不同于主处理器的本机数据样式的位宽度,此时需要考虑在主处理器与副处理器之间传递的数据的尾序(endian)。传统的解决方法是利用软件来根据主处理器与副处理器的数据的尾序处理这些数据。一般来说,这个软件会交换或改变在缓存器(register)里数据的位置。然而,软件的效率相对低于硬件。另一个传统的解决方法是提供一个全域信号(global signal)来从主处理器传送尾序给副处理器然后自动根据副处理器的尾序来处理这个数据。然而,当主处理器因为切换到其它程序等原因而改变自己的尾序,使这个全域信号与主处理器的尾序同步改变是很没效率的。另一个传统的解决方法是提供一个控制位在副处理器里表示副处理器的尾序,然后这个控制位会被用来指示硬件相应地处理数据。同样地,当副处理器因为某些原因而改变自身尾序,让这个控制位与副处理器的尾序同步改变是很没效率的。当主处理器发现到一个转移预测(branch prediction)不成功,因此一个副处理器指令需要被清除时,主处理器发送一个早期清除事件给副处理器,让副处理器可以清除副处理器的管线(pipeline)内的指令。一般来说,一个副处理器接口只有一个早期清除接口(early flush interface)来传递主处理器中的早期清除事件给副处理器,当有太多清除事件在主处理器里的不同的管线阶段(pipeline stage)产生会造成性能降低,这是因为有些早期清除事件可能会经过很长时间才能通过单一早期清除接口而到达副处理器,因此阻碍了需要等待早期清除事件告知清除或不清除(flush-or-no-flush)的副处理器指令。主处理器必须等待某些副处理器指令的状态报告。一个状态报告如果太晚到达主处理器可能会阻碍副处理器的指令的执行流程因而降低效率。副处理器接口可以被设计成I禹合(coupled)或非I禹合(de-coupled)型式。一个耦合的副处理器接口代表其为一个依赖管线的接口。换句话说,一个耦合的副处理器接口是专门用在特定的管线架构,而且为此特定管线架构而最佳化。每个通过此耦合副处理器接口传输的信号都是用在副处理器与主处理器里的特定的管线阶段。这种耦合的副处理器接口有高效率,但是缺乏可扩充性(scalability)也缺乏可移植性(portability)。另一方面,一个非耦合的副处理器接口代表一个独立于管线的接口。每个通过此非耦合副处理器接口传输的信号不一定只能用在主处理器及副处理器里特定的管线结构。这种非耦合的副处理器接口具有可扩充性与可转用性。

发明内容
本发明提供一种非耦合副处理器接口,可以提供一个直观且高效率的方法来处理主处理器与副处理器之间的数据尾序。本发明另提供一种非耦合副处理器接口,可将副处理器提供的状态报告分成早期状态报告与晚期状态报告。此非耦合副处理器接口可禁能(disable)晚期状态报告以提高效率。 本发明又提供一种非耦合副处理器接口,可提供多个早期清除接口以提高早期状态报告的处理效率。本发明又提供一种非耦合副处理器接口,可结合上述每一种非耦合副处理器接口的所有功能及特色,以提升主处理器与副处理器之间的数据尾序、状态报告及早期清除事件的处理效率。本发明提供一种非耦合副处理器接口以处理副处理器指令的执行流程。一个主处理器传送副处理器指令给一个副处理器。此非耦合副处理器接口包括多个信号接口以在副处理器与主处理器之间传送包含于副处理器指令的执行流程的第一信号组、第二信号组及第三信号组。主处理器使用第一信号组来传送副处理器指令给副处理器。第二信号组是用来在主处理器与副处理器之间传输对应于副处理器指令的数据。主处理器使用第三信号组以告知副处理器是否要提交副处理器指令或是清除在副处理器的所有管线阶段的所有尚未提交的副处理器指令。主处理器或副处理器通过上述信号接口来提供数据的尾序信息。本发明另提供一种非耦合副处理器接口。此非耦合副处理器接口包括多个信号接口以在副处理器与主处理器之间传送包含于副处理器指令的执行流程的第一信号组、第二信号组、第三信号组及第四信号组。主处理器使用第一信号组来传送副处理器指令给副处理器。副处理器使用第二信号组以提供早期状态报告给主处理器。副处理器使用第三信号组以提供晚期状态报告给主处理器。早期状态报告被提供在晚期状态报告之前。主处理器使用第四信号组以告知副处理器是否要提交副处理器指令或是清除在副处理器的所有管线阶段的所有尚未提交的副处理器指令。本发明另提供一种非耦合副处理器接口。此非耦合副处理器接口包括一个或多个耦接在主处理器的一个管线里至少一个阶段与副处理器的一个管线里至少一个阶段之间的早期清除接口。上述早期清除接口在主处理器与副处理器之间传送至少一个包含于副处理器指令的执行流程的信号组。主处理器使用此信号组以传送早期清除事件给副处理器。上述早期清除事件告知副处理器一个副处理器指令已通过对应的早期清除接口,或是清除所有尚未通过对应的早期清除接口的副处理器指令。本发明另提供一种非耦合副处理器接口。此非耦合副处理器接口包含了上述各种非耦合副处理器接口的所有功能与特色,且具有上述各种非耦合副处理器接口的所有优点与效率。


图1为本发明一实施例的一种非耦合副处理器接口的示意图;图2为本发明一实施例的主处理器与副处理器之间的信号组的示意图;图3及图4为本发明一实施例的主处理器与副处理器之间两个信号组的接口协议的不意图;图5、图6及图7为本发明多个不同实施例的早期清除接口的示意图;图8为本发明一实施例中,在主处理器与副处理器之间传送早期状态报告与晚期状态报告的信号组的示意图;图9为本发明另一个实施例中,在主处理器与副处理器之间传送早期状态报告与晚期状态报告的信号组的示意图。附图标记说明:110:主处理器;130:非耦合副处理器接口;140:信号接口;150:副处理器;510:主处理器;511、512、513:主处理器的管线阶段;541、542、543:早期清除接口;550:副处理器;551、552、553:副处理器的管线阶段;610:主处理器;611:主处理器的管线阶段;641、642、643:早期清除接口;650:副处理器;651、652、653:副处理器的管线阶段;710:主处理器;711,712:主处理器的管线阶段;730:非耦合副处理器接口;740:早期清除接口合并器;741、742、743、743:早期清除接口 ;750:副处理器;751:副处理器的管线阶段;810:主处理器;850:副处理器;910:主处理器;950:副处理器。
具体实施方式
图1为本发明一实施例的一种非耦合副处理器接口的示意图。非耦合副处理器接口 130耦接在主处理器110及副处理器150之间。当主处理器110发送一副处理器指令给副处理器150,非耦合副处理器接口 130会处理此副处理器指令的执行流程。非耦合副处理器接口 130包括多个信号接口 140,信号接口 140在主处理器110与副处理器150之间传送副处理器指令的执行流程所包含的信号组。图2为本发明一实施例的主处理器与副处理器之间的信号组的示意图。主处理器110使用信号组inst_dispatCh来发送副处理器指令给副处理器150。副处理器150使用信号组early_i^p0rt来提供早期状态报告给主处理器110。副处理器150使用信号组c2m_data_b来传输对应于副处理器指令的数据给主处理器110。主处理器110使用信号组early_f lush来传送副处理器指令的早期清除事件给副处理器150。主处理器110使用信号组m2c_data_b来传输对应于副处理器指令的数据给副处理器150。副处理器150使用信号组late_report来提供晚期状态报告给主处理器110。主处理器110使用信号组commit/late_flush来告知副处理器150提交一个对应的副处理器指令,或是清除在副处理器150的所有管线阶段的所有未提交的副处理器指令。在本发明的某些实施例中,用来告知上述提交的信号会组成一个单独的信号组,而且用来告知上述清除的信号会组成另一个单独的信号组。非耦合副处理器接口 130的信号接口 140在主处理器110及副处理器150之间传送所有上述提到的信号组。一个副处理器指令可触发来自于执行这个副处理器指令的副处理器的一个早期状态报告和一个晚期状态报告。对应一个副处理器指令的早期状态报告一定不会比对应同一个副处理器指令的晚期状态报告更晚被产生,也不会比上述晚期状态报告更晚被提供给主处理器。早期状态报告与晚期状态报告两者都被用来告知主处理器在对应的副处理器指令的执行期间内是否有发生会影响此副处理器指令的执行流程的异常状态,例如错误(error)、例外(exception)或陷讲(trap)。晚期状态报告产生于副处理器的管线其中可能产生异常状态的最后一个阶段,而早期状态报告可能会产生于副处理器的管线中包括最后一个阶段在内的任何阶段。在本发明的其中一个实施例中,副处理器以陷阱形式提供早期状态报告以及晚期状态报告给主处理器。在这个情况之下,陷阱比中断要好。陷阱可以直接进入主处理器,而中断必须先通过外部的中断控制器然后才会到达主处理器。一个信号组是被主处理器及副处理器用来根据预设的接口协议进行交握机制(handshaking)的一组信号。图3是使用图2中的信号组inst_dispatch从主处理器110发送副处理器指令到副处理器150的一个接口协议的范例。信号组inst_dispatch包括信号 inst_data、inst_valid 和 inst_wait。主处理器 110 使用信号 inst_valid 来表不一个正确(valid)的副处理器指令出现在信号inst_data中。主处理器110使用信号inst_data来传送副处理器指令。副处理器150使用信号inst_wait来表示副处理器150是忙碌的且不能在下一个时脉周期接收任何新指令。如图3所示,主处理器110在第二、第三及第四个时脉周期设立(assert)信号inst_valid。同样在第二、第三及第四个时脉周期的每个周期中,主处理器110使用信号inst_data发送一个副处理器指令到副处理器150。在第四跟第五个时脉周期里,副处理器150设立信号inst_wait以告知主处理器110暂缓发送副处理器指令。因此, 主处理器110在第五跟第六个时脉周期里停止发送副处理器指令然后在第七个时脉周期里重新继续发送指令。图4是图2中的使用信号组c2m_data_b从主处理器110发送副处理器指令到副处理器150的一个接口协议的范例。信号组c2m_data_b包括信号c2m_data、c2m_dack和c2m_dreq。主处理器110使用信号c2m_dreq来表示主处理器110正在等待从副处理器150来的数据。副处理器150使用信号c2m_data来传送数据以及使用信号c2m_dack来表示c2m_data所传送的数据是正确的。如图4所示,主处理器110在第二时脉周期里设立信号c2m_dreq来要求数据。当副处理器150没有在第二时脉周期里以正确的数据响应时主处理器110持续在第三时脉周期里设立信号c2m_dreq。副处理器150在第三时脉周期里有正确数据要响应,所以设立信号c2m_dack,并使用信号c2m_data传送正确的数据。副处理器150在第四时脉周期里停止传送数据。由于主处理器110在第四个时脉周期没有需要任何数据,主处理器110在第四个时脉周期重置(de-assert)信号c2m_dreq。主处理器110在第五个时脉周期里设立信号c2m_dreq,此时副处理器150有正确的数据,所以副处理器150设立信号c2m_dack并将此数据放在c2m_data中。在第六时脉周期,副处理器150在c2m_dack仍然被设立时持续传送数据,而此数据在主处理器110依然设立c2m_dreq的情形之下被主处理器110接收。在本实施例中,当一个副处理器指令需要尾序信息(endian information)以决定数据该如何排序时,主处理器Iio通过信号接口 140提供此数据的尾序信息给副处理器150。主处理器110会将此尾序信息并到信号组inst_dispatch或是信号组m2c_data_b中以让此尾序信息传送到副处理器150。在本发明的一些其它的实施例中,此尾序信息也可由副处理器150提供给主处理器110。副处理器150可使用信号组c2m_data_b来提供此尾序信息。另外,副处理器指令的执行流程可包括另一个在主处理器110及副处理器150之间传输的个别的信号组。主处理器110或副处理器150会使用此个别的信号组在主处理器110及副处理器150之间传送上述尾序信息。非耦合副处理器接口 130的信号接口 140可包括一个或多个早期清除接口,上述早期清除接口耦接在主处理器110的管线的至少一个阶段与副处理器150的管线的至少一个阶段之间。上述早期清除接口可在主处理器110与副处理器150之间传送至少一个包含在副处理器指令的执行流程里的信号组。主处理器110可使用此信号组来传送早期清除事件给副处理器150。上述早期清除事件告知副处理器150 —个副处理器指令已通过相对应的早期清除接口或是清除所有未通过相对应的早期清除接口的副处理器指令。为了要提升效率,在副处理器指令的早期清除事件在主处理器110的管线阶段产生时,非耦合副处理器接口 130会马上从主处理器110传送副处理器指令的早期清除事件给副处理器150。在本发明的一个实施例中,早期清除接口可耦接在主处理器的管线的多个预设的阶段与副处理器的管线的多个预设的阶段之间。每个早期清除接口可从主处理器的管线的一个不同的预设的阶段传送一个早期清除事件到副处理器的管线的一个不同的预设的阶段。例如,在图5中,主处理器510的管线有三个预设阶段可以产生早期清除事件,分别为主处理器的管线阶段511、512及513。这些预设的主处理器的管线阶段511、512及513各自对应到副处理器550的副处理器的管线阶段551、552及553。耦接主处理器510与副处理器550的非耦合副处理器接口包含了三个早期清除接口 541、542及543。早期清除接口541从主处理器510的主处理器的管线阶段511传送早期清除事件到副处理器550的副处理器的管线阶段551。早期清除接口 542从主处理器510的主处理器的管线阶段512传送早期清除事件到副处理器550的副处理器的管线阶段552。早期清除接口 543从主处理器510的主处理器的管线阶段513传送早期清除事件到副处理器550的副处理器的管线阶段553。当一个副处理器指令进入副处理器550的副处理器的管线阶段551、552及553其中任一个,在进入下一个管线阶段之前,此副处理器指令必须等待来自相对应的主处理器510的管线阶段的相对应的早期清除事件的清除或不清除(flush-or-no-flush)的判决。图5中的早期清除接口提供多个平行路径使主处理器510可以在早期清除事件产生于不同的管线阶段时马上传送早期清除事件给副处理器550,而不会阻碍任何副处理器指令的执行流程。在本发明的另一个实施例中,一个特定的早期清除接口可耦接在主处理器的管线的一个单一的预设阶段与副处理器的管线的多个预设阶段中的一个特定的预设阶段之间,以自主处理器的管线的上述预设阶段传送早期清除事件到副处理器的管线的上述特定预设阶段。每个其它的早期清除接口可耦接到副处理器的管线的其它不同阶段以提供一个表示没有清除(no flush)的仿真早期清除事件(dummy early flush event)给相对应的副处理器的管线的预设阶段。例如,在图6中,主处理器610有一个预设的主处理器的管线阶段611可以产生早期清除事件。副处理器650有三个预设的副处理器的管线阶段651、652、653接收早期清除事件。耦接主处理器610与副处理器650的非耦合副处理器接口包含了三个早期清除接口 641、642、643。早期清除接口 643从主处理器610的主处理器的管线阶段611传送早期清除事件到副处理器650的副处理器的管线阶段653。早期清除接口 641及642各别提供表示没清除的仿真早期清除事件给副处理器650的副处理器管线阶段651和 652。在图6的实施例中,早期清除接口 643耦接在副处理器650的副处理器的管线阶段651、652、653其中的一个副处理器的管线阶段,而副处理器的管线阶段651、652、653的其它两个管线阶段就只接收到仿真早期清除事件。为了避免阻碍副处理器指令,最好将从主处理器传送早期清除事件到副处理器的早期清除接口耦接到副处理器管线中接近管线末端的管线阶段。例如,从主处理器传送早期清除事件的早期清除接口可耦接到副处理器的管线的上述预设阶段其中的最后一个。在本发明的另一个实施例中,早期清除接口可耦接在主处理器的管线的多个预设阶段与副处理器的管线的单一预设阶段之间。耦接主处理器与副处理器的非耦合副处理器接口可从主处理器的管线的每一个预设阶段收集一个早期清除事件,然后根据从主处理器收集来的早期清除事件提供一个摘要事件给副处理器的管线的上述预设阶段。例如,在图7中,连接主处理器710与副处理器750的非耦合副处理器接口 730包括一个早期清除接口合并器740。早期清除接口合并器740通过早期清除接口 741及742分别从主处理器710的预设的主处理器的管线阶段711及712收集早期清除事件,然后早期清除接口合并器740通过早期清除接口 743根据收集到的早期清除事件提供一个摘要事件给副处理器750的预设的副处理器的管线阶段751。当至少一个从主处理器收集来的早期清除事件表示清除(flush),此摘要事件(summaryevent)也会表示清除。如果每一个从主处理器收集来的早期清除事件都表示没有清除(no flush),则此摘要事件会表示没有清除。
如同上述,副处理器可因应一个副处理器指令而提供一个早期状态报告及一个晚期状态报告给主处理器,以表示在此副处理器指令的执行流程中是否有异常状态发生。在某些情况下,可以禁能(disable)晚期状态报告以改善效率。例如,当已知副处理器指令不会产生任何异常状态而反应在晚期状态报告,或是异常状态的产生被禁能,或是副处理器指令产生的异常状态不会重要到影响副处理器指令的执行流程的程度,则副处理器可禁能晚期状态报告。当以这种方式禁能晚期状态报告,主处理器不会再因为等待晚期状态报告而闲置(idle),因此效率会变高。图8及图9是本发明的两个不同的实施例中,早期状态报告与晚期状态报告所使用的信号组,以及禁能晚期状态报告的机制。在图8中,使用在早期状态报告的信号组包括信号etrap_req、etrap_ack以及etrap。主处理器810使用信号etrap_req请求每个副处理器指令的早期状态报告。副处理器850使用信号etrap_aCk来表示信号etrap的内容是正确的,然后使用信号etrap来提交早期状态报告给主处理器810。同样的,使用在晚期状态报告的信号组包括信号ltrap_req、ltrap_ack以及ltrap。主处理器810使用信号ltrap_req来请求每个副处理器指令的晚期状态报告。副处理器850使用ltrap_ack来表示信号Itrap的内容是正确的,然后使用信号Itrap来提交晚期状态报告给主处理器810。副处理器850可通过一直设立(assert)信号ltrap_ack以及一直在信号Itrap中报告没有异常状态而禁能晚期状态报告。图9的实施例和图8的实施例的不同之处在于图9的实施例中关于晚期状态报告的信号组多出一个信号ltrap_en,用来表示晚期状态报告是致能的还是禁能的。副处理器950可通过重置(de-assert)信号ltrap_en而禁能晚期状态报告。以上实施例中的非耦合副处理器接口传输尾序信息以及对应的副处理器指令到副处理器,以正确安排数据顺序。上述的非耦合副处理器接口提供多个早期清除接口,以便产生在主处理器的不同管线阶段的早期清除事件可以同时地传输到副处理器,而不会阻碍任何副处理器指令的执行流程。上述的非耦合副处理器接口可以禁能晚期状态报告以提升主处理器的效率。总而言之,本发明提供一个非耦合副处理器接口,具有可扩充性与可转用性,而且具有高效率的特点。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种非耦合副处理器接口,用以处理一副处理器指令的一执行流程,其中一主处理器发送该副处理器指令到一副处理器,其特征在于,包括: 多个信号接口,用以在该副处理器与该主处理器之间传输包含于该副处理器指令的该执行流程里的一第一信号组、一第二信号组及一第三信号组,其中该第一信号组被该主处理器用以发送该副处理器指令给该副处理器,该第二信号组用来在该主处理器与该副处理器之间传输对应于该副处理器指令的数据,该第三信号组被该主处理器用来告知该副处理器是否要提交该副处理器指令或是清除在该副处理器的所有管线阶段的所有尚未提交的副处理器指令,其中该数据的一尾序信息由该主处理器或该副处理器通过上述多个信号接口提供。
2.根据权利要求1所述的非耦合副处理器接口,其特征在于,该主处理器也用该第一信号组或该第二信号组来传输该尾序信息给该副处理器。
3.根据权利要求1所述的非耦合副处理器接口,其特征在于,该副处理器也用该第二信号组来传输该尾序信息给该主处理器。
4.根据权利要求1所述的非耦合副处理器接口,其特征在于,上述多个信号接口也在该主处理器与该副处理器之间传送一第四信号组,该第四信号组包含于该副处理器指令的该执行流程,而且该第四信号组用来在该主处理器与该副处理器之间传输该尾序信息。
5.一种非耦合副处理器接口,用以 处理一副处理器指令的一执行流程,其中一主处理器发送该副处理器指令到一副处理器,其特征在于,包括: 多个信号接口,用以在该副处理器与该主处理器之间传输包含于该副处理器指令的该执行流程里的一第一信号组、一第二信号组、一第三信号组及一第四信号组,其中该主处理器使用该第一信号组以发送该副处理器指令给该副处理器,该副处理器使用该第二信号组以提供一早期状态报告给该主处理器,该副处理器使用该第三信号组以提供一晚期状态报告给该主处理器,该早期状态报告在该晚期状态报告之前被提供,该主处理器使用该第四信号组以告知该副处理器是否要提交该副处理器指令或是清除在该副处理器的所有管线阶段的所有尚未提交的副处理器指令。
6.根据权利要求5所述的非耦合副处理器接口,其特征在于,该副处理器以陷阱形式提供该早期状态报告以及该晚期状态报告给该主处理器。
7.根据权利要求5所述的非耦合副处理器接口,其特征在于,该晚期状态报告产生在该副处理器的一管线其中会发生能影响该副处理器指令的执行流程的一异常状态的最后一阶段,而且该早期状态报告产生于该管线的早于该最后阶段的其中一个阶段。
8.根据权利要求7所述的非耦合副处理器接口,其特征在于,当该副处理器指令不会产生任何异常状态时,该副处理器禁能该晚期状态报告。
9.根据权利要求8所述的非耦合副处理器接口,其特征在于,该副处理器通过在该第三信号组中一直报告无异常状态以禁能该晚期状态报告。
10.根据权利要求8所述的非耦合副处理器接口,其特征在于,该第三信号组包括一信号而且该副处理器通过重置该致能信号来禁能该晚期状态报告。
11.一种非耦合副处理器接口,用以处理一副处理器指令的一执行流程,其中一主处理器发送该副处理器指令到一副处理器,其特征在于,包括: 一个或多个早期清除接口,耦接在该主处理器的一管线的至少一个阶段与该副处理器的一管线的至少一个阶段之间,其中上述早期清除接口在该主处理器与该副处理器之间传送包含于该副处理器指令的该执行流程的一信号组,该主处理器用该信号组来传送多个早期清除事件给该副处理器,上述多个早期清除事件告知该副处理器该副处理器指令已通过相对应的该早期清除接口或清除所有未通过相对应的该早期清除接口的副处理器指令。
12.根据权利要求11所述的非耦合副处理器接口,其特征在于,上述早期清除接口耦接在该主处理器的该管线的多个预设阶段与该副处理器的该管线的多个预设阶段之间,每个上述早期清除接口从该主处理器的该管线的一个不同的该预设阶段传送一早期清除事件到该副处理器的该管线的一个不同的该预设阶段。
13.根据权利要求11所述的非耦合副处理器接口,其特征在于,上述早期清除接口其中一特定早期清除接口耦接在该主处理器的该管线的一预设阶段与该副处理器的该管线的多个预设阶段中的一特定预设阶段之间,而且从该主处理器的该管线的该预设阶段传送一早期清除事件到该副处理器的该管线的该特定预设阶段,其它的每一上述早期清除接口耦接于该副处理器的该管线的一个不同的其它预设阶段以提供一仿真早期清除事件来向对应的该副处理器的该管线的该预设阶段表示没有清除。
14.根据权利要求11所述的非耦合副处理器接口,其特征在于,上述早期清除接口耦接在该主处理器的该管线的多个预设阶段与该副处理器的该管线的一预设阶段之间,该非耦合副处理器接口从该主处理器的该管线的每一上述预设阶段收集一早期清除事件,并根据从该主处理器收集的上述多个早期清除事件提供一摘要事件给该副处理器的该管线的该预设阶段。
15.根据权利要求14所述的非耦合副处理器接口,其特征在于,当从该主处理器收集到的上述多个早期清除事件其中至少一个表示清除时,该摘要事件表示清除;当从该主处理器收集到的上述多个早期清除事件其中每一个都表示没有清除时,该摘要事件表示没有清除。
16.一种非耦合副处理器接口,用以处理一副处理器指令的一执行流程,其中一主处理器发送该副处理器指令到一副处理 器,其特征在于,包括: 多个信号接口,用来在该副处理器与该主处理器之间传输包含于该副处理器指令的该执行流程里的一第一信号组,一第二信号组,一第三信号组,一第四信号组及一第五信号组,其中 该第一信号组被该主处理器用来发送该副处理器指令给该副处理器,该第二信号组用来在该主处理器与该副处理器之间传输对应于该副处理器指令的一数据,其中该数据的一尾序信息由该主处理器或该副处理器通过上述多个信号接口提供; 该副处理器用该第三信号组来提供一早期状态报告给该主处理器,该副处理器用该第四信号组来提供一晚期状态报告给该主处理器,该早期状态报告在该晚期状态报告之前被提供; 该主处理器用该第五信号组来告知该副处理器是否要提交该副处理器指令或是清除在该副处理器的所有管线阶段的所有未提交的副处理器指令; 上述多个信号接口包括一个或多个早期清除接口,上述早期清除接口耦接在该主处理器的一管线的至少一个阶段与该副处理器的一管线的至少一个阶段之间,上述早期清除接口在该主处理器与该副处理器之间传送包含于该副处理器指令的该执行流程的一第六信号组,该主处理器用该第六信号组来传送至少一早期清除事件给该副处理器,上述早期清除事件告知该副处理器该副处理器指令已通过相对应的该早期清除接口或清除未通过相对应的该早期清除接 口的所有副处理器指令。
全文摘要
本发明提供一种非耦合副处理器接口。该非耦合副处理器接口随着副处理器指令的发送而传输尾序信息。该非耦合副处理器接口将副处理器提供的状态报告分成早期状态报告与晚期状态报告。该非耦合副处理器接口可为了提升效率而禁能晚期状态报告。该非耦合副处理器接口还提供多个早期清除接口以从一主处理器传送早期清除事件到相对应的副处理器。因此,该非耦合副处理器接口可以提升主处理器与副处理器之间的数据尾序、状态报告以及早期清除事件的处理效率。
文档编号G06F15/163GK103218342SQ201210495219
公开日2013年7月24日 申请日期2012年11月28日 优先权日2011年11月28日
发明者施渊源, 张传华, 赖吉昌 申请人:晶心科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1