欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

具有可重構(gòu)的運算器的處理器的制作方法

文檔序號:6570205閱讀:200來源:國知局
專利名稱:具有可重構(gòu)的運算器的處理器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及具有可動態(tài)重構(gòu)的運算器的處理器,尤其涉及在抑制可動 態(tài)重構(gòu)的運算器的電路規(guī)模的同時,可以實現(xiàn)靈活性與高速性的處理器。
背景技術(shù)
近年來,在對被數(shù)字化的影像、聲音等進行處理的設(shè)備(以下,稱為數(shù)
字AV設(shè)備)中安裝了專用硬件或高性能DSP(Digital Signal Processor: 數(shù)字信號處理器)等。這是因為,例如在進行壓縮、擴展等對被數(shù)字化的影 像、聲音等進行處理時的運算量大的緣故。
而且,例如,MPEG (Moving Picture Experts Group :運動圖像專家組)2、 MPEG4、 H.263、 H.264等,將影像、聲音等數(shù)字化的許多標準已經(jīng)被實用化。 據(jù)此,數(shù)字AV設(shè)備被要求,對應(yīng)多個標準。滿足該要求的方法有(l)以硬 件來處理的方法,(2)以軟件來處理的方法等。在此,(l)在以硬件來處理 的情況下,可以實現(xiàn)高速性。但是,在追加新的功能時,需要追加新的硬 件。而且,若功能變多,則電路規(guī)模變大。(2)在以軟件來處理的情況下, 可以實現(xiàn)靈活性??梢砸攒浖韺崿F(xiàn)多個功能,則可以容易追加功能。但 是,難以提高處理速度。
對此,提出了以具有可動態(tài)重構(gòu)電路的處理器來處理的技術(shù)(例如,參 照專利文獻l)。據(jù)此,可以實現(xiàn)靈活性與高速性。
專利文獻1 :國際公開第2002/095946號小手冊
然而,如以往的技術(shù)所示,在具有可動態(tài)重構(gòu)電路的處理器中存在的 課題是,由于具備多個運算器,并通過變更運算器間的布線,使這些運算 器的自由度變大,從而造成電路規(guī)模變大。

發(fā)明內(nèi)容
于是,鑒于所述問題,本發(fā)明的目的在于提供在抑制可動態(tài)重構(gòu)的運
算器的電路規(guī)模的同時,可以實現(xiàn)靈活性與高速性的處理器。
為了實現(xiàn)所述目的,本發(fā)明涉及的處理器是一種處理器,(a)安裝了執(zhí) 行指令的多個運算器,并且,所述處理器的特點是,包括(b)固定功能運 算器,具有不可動態(tài)重構(gòu)的電路結(jié)構(gòu);(c)可重構(gòu)運算器,具有可動態(tài)重構(gòu) 的電路結(jié)構(gòu);(d)指令分配單元,將不存在數(shù)據(jù)的依賴性的指令群中的指令, 分別分配給所述固定功能運算器以及所述可重構(gòu)運算器;(e)指令發(fā)行單 元,將分別被分配的指令發(fā)行給接受分配方。
據(jù)此,除了具備通常的固定功能運算器以外,還具備電路結(jié)構(gòu)可動態(tài) 重構(gòu)的可重構(gòu)運算器。再者,在決定要并行執(zhí)行的指令時,通過分配適于 可以變更功能的可重構(gòu)運算器的指令,從而在抑制電路規(guī)模的同時,可以 實現(xiàn)靈活性與高速性。
并且,本發(fā)明,不僅作為處理器來實現(xiàn),也可以作為具備處理器的信 息處理裝置、控制處理器的處理器控制方法、控制信息處理裝置的方法等 來實現(xiàn)。
根據(jù)本發(fā)明,對于具有可重構(gòu)的運算器的處理器,在由可重構(gòu)的硬件 的運算器中,可以提供以下結(jié)構(gòu),即,在可以同時執(zhí)行多種的多個指令的 情況下進行指令調(diào)度以及指令發(fā)行,從而抑制電路規(guī)模的增大的同時,可 以實現(xiàn)高性能且靈活的處理。


圖1是本發(fā)明涉及的實施例1的處理器的結(jié)構(gòu)圖。 圖2是本發(fā)明涉及的實施例1的處理器的工作的流程圖。 圖3A是本發(fā)明涉及的實施例1的處理器所執(zhí)行的指令群的示例圖。 圖3B是本發(fā)明涉及的實施例1的處理器所執(zhí)行的指令群的示例圖。 圖3C是本發(fā)明涉及的實施例1的處理器的運算部的運算器的結(jié)構(gòu)圖。 圖4是本發(fā)明涉及的實施例2的處理器的結(jié)構(gòu)圖。 圖5是本發(fā)明涉及的實施例2的處理器的工作的流程圖。 圖6A是本發(fā)明涉及的實施例2的處理器所執(zhí)行的指令群的示例圖。 圖6B是本發(fā)明涉及的實施例2的處理器的運算部的運算器的結(jié)構(gòu)的示 例圖。 圖7是本發(fā)明涉及的實施例3的處理器的結(jié)構(gòu)圖。
圖8是本發(fā)明涉及的實施例3的處理器的工作的流程圖。
圖9A是本發(fā)明涉及的實施例3的處理器所執(zhí)行的指令群的工作的示例圖。
圖9B是在本發(fā)明涉及的實施例3的向處理器所執(zhí)行的指令群不插入結(jié) 構(gòu)指令的情況的工作的示例圖。
圖9C是本發(fā)明涉及的實施例3的向處理器所執(zhí)行的指令群插入結(jié)構(gòu)指 令的情況的工作的示例圖。
圖10是本發(fā)明涉及的實施例4的安裝了處理器的信息處理裝置的結(jié)構(gòu)圖。
圖11是本發(fā)明涉及的實施例4的處理器的結(jié)構(gòu)圖。
圖12是示出本發(fā)明涉及的實施例4的生成部的工作的例子的流程圖。
圖13是示出本發(fā)明涉及的實施例4的生成部的工作的變形例的流程圖。
圖14是本發(fā)明涉及的實施例5的安裝了處理器的信息處理裝置的結(jié)構(gòu) 的示例圖。
圖15是本發(fā)明涉及的實施例5的與處理器所執(zhí)行的軟件程序相對應(yīng)的 電路結(jié)構(gòu)圖。
圖16是本發(fā)明涉及的實施例5的處理器中的分時執(zhí)行多個軟件程序的 情況的示例圖。 符號說明
101、 201、 301、 401處理器 101指令記憶部
103、 403、 503結(jié)構(gòu)信息保持部 111、 411指令讀出部 112指令解碼部
113、 213、 313、 413運算控制部 114寄存器文件 115、 215、 315、 415運算部 121 123固定功能運算部
131指令保持部 132指令選擇部
133、 233指令分配部
134、 234、 334結(jié)構(gòu)控制部 135指令發(fā)行部
125、 225、 325、 425可重構(gòu)運算器 400、 500信息處理裝置
404、 504生成部
405、 505結(jié)構(gòu)控制部 406軟件程序保持部 407模板保持部
具體實施例方式
(實施例1)
以下,參照

本發(fā)明涉及的實施例1。
本實施例涉及的處理器是一種處理器,(a)安裝了執(zhí)行指令的多個運算 器,并且,所述處理器的特點是,包括(b)固定功能運算器,具有不可動 態(tài)重構(gòu)的電路結(jié)構(gòu);(c)可重構(gòu)運算器,具有可動態(tài)重構(gòu)的電路結(jié)構(gòu);(d) 指令分配功能,將不存在數(shù)據(jù)的依賴性的指令群中的指令,分別分配給所 述固定功能運算器以及所述可重構(gòu)運算器;(e)指令發(fā)行功能,將分別被分 配的指令發(fā)行給接受分配方。
再者,指令分配功能,在分配指令時,將所述固定功能運算器優(yōu)先于 所述可重構(gòu)運算器。而且,指令發(fā)行功能,將分別被分配的各個指令并行 發(fā)行給各個接受分配方。
而且,本實施例涉及的處理器,還包括,結(jié)構(gòu)控制功能,在被分配規(guī) 定的指令時的可重構(gòu)運算器的電路結(jié)構(gòu)不適合規(guī)定的指令的情況下,指示 可重構(gòu)運算器根據(jù)定義適合規(guī)定的指令的電路結(jié)構(gòu)的結(jié)構(gòu)信息來動態(tài)重構(gòu) 電路結(jié)構(gòu)。
按照所述內(nèi)容,說明本實施例涉及的處理器。
圖1是本實施例的處理器的結(jié)構(gòu)圖。如圖1所示,處理器101是一種處理器,通過并用多個運算器,從而執(zhí)行指令記憶部102所記憶的指令串。 在此,作為一個例子,處理器101,包括作為多個運算器的固定功能運算器 121 123和可重構(gòu)運算器125。各個固定功能運算器121 123是電路結(jié)構(gòu) 不可動態(tài)重構(gòu)的運算器。可重構(gòu)運算器125是電路結(jié)構(gòu)可動態(tài)重構(gòu)的運算 器。例如,在被指示重構(gòu)電路結(jié)構(gòu)的情況下,從結(jié)構(gòu)信息保持部103所保 持的結(jié)構(gòu)信息中選擇定義被指示的電路結(jié)構(gòu)的結(jié)構(gòu)信息,根據(jù)所選擇的結(jié) 構(gòu)信息來重構(gòu)電路結(jié)構(gòu)。
"結(jié)構(gòu)信息"是一種信息,定義適合要重構(gòu)的運算器可以執(zhí)行的一個 以上的指令的電路結(jié)構(gòu)。
具體而言,包括處理器101、指令讀出部111、指令解碼部112、運算 控制部113、寄存器文件114、運算部115等。
指令讀出部111,從指令記憶部102中讀出處理器101要執(zhí)行的指令, 向指令解碼部112發(fā)送所讀出的指令。指令解碼部112,獲得從指令讀出部 111發(fā)送來的指令,解碼所獲得的指令。運算控制部113,根據(jù)指令解碼部 112所解碼的結(jié)果,控制運算部115。寄存器文件114,保持在運算器115 使用的數(shù)據(jù)以及運算結(jié)果。運算部115,包括固定功能運算器121 123和 可重構(gòu)運算器125,執(zhí)行適合各個指令的運算處理。
再者,運算控制部113包括指令保持部131、指令選擇部132、指令分 配部133、結(jié)構(gòu)控制部134、以及指令發(fā)行部135。
指令保持部131,保持指令解碼部112所解碼的指令。指令選擇部132, 從指令保持部131所保持的未發(fā)行的指令中選擇不存在數(shù)據(jù)的依賴性的一 個以上的指令。
指令分配部133,向固定功能運算器121 123以及可重構(gòu)運算器125, 從指令選擇部132所選擇的一個以上的指令中分別分配指令。此時,在分 配指令時,將固定功能運算器121 123優(yōu)先于可重構(gòu)運算器125。
結(jié)構(gòu)控制部134,在可重構(gòu)運算器125的電路結(jié)構(gòu)不適合分配給可重構(gòu) 運算器125的指令的情況下,根據(jù)定義適合該指令的電路結(jié)構(gòu)的結(jié)構(gòu)信息, 來動態(tài)重構(gòu)可重構(gòu)運算器125的電路結(jié)構(gòu)。
指令發(fā)行部135,將分別被分配的指令發(fā)行給接受分配方。此時,將分 別被分配的各個指令并行發(fā)行給各個接受分配方。
圖2是本實施例的處理器的工作的流程圖。如圖2所示,在此說明從
解碼指令到發(fā)行指令為止的順序。
首先,指令解碼部112,解碼從指令讀出部111接受的指令(S101)。 接著,運算控制部113(指令保持部131),保持指令解碼部112所解碼
的指令。
運算控制部113(指令選擇部132),針對正在保持的未發(fā)行的指令,檢 查數(shù)據(jù)的依賴性。再者,從正在保持的未發(fā)行的指令中,選擇不存在數(shù)據(jù) 的依賴性的指令(S102)。
運算控制部113(指令分配部133),將檢索被分配給固定功能運算器的 索引時使用的變量X初始化(S103)。并且,運算控制部113(指令分配部 133),確認是否有所選擇的指令,g卩,確認是否有不存在數(shù)據(jù)的依賴性的 指令(S104)。只要在確認的結(jié)果是有不存在數(shù)據(jù)的依賴性的指令的情況下 (S104:是),就從不存在數(shù)據(jù)的依賴性的指令中除去所分配的指令,針對 各個固定功能運算器121 123檢索并分配可以發(fā)行的指令(S105 S107)。
再者,運算控制部113(指令分配部133),確認是否有不存在數(shù)據(jù)的依 賴性的指令(S108)。在確認的結(jié)果是有不存在數(shù)據(jù)的依賴性的指令的情況 下(S108:是),從不存在數(shù)據(jù)的依賴性的指令中除去所分配的指令,針對 各個可重構(gòu)運算器125檢索并分配可以發(fā)行的指令(S109)。此時,分配被 解碼的時間最早的指令。
運算控制部113(結(jié)構(gòu)控制部134),檢查以當前的電路結(jié)構(gòu)是否可以運 算所分配的指令(SllO)。在檢查的結(jié)果是以當前的電路結(jié)構(gòu)不能運算的情 況下(SllO :否),指示可重構(gòu)運算器125重構(gòu)電路結(jié)構(gòu)(S111)。
并且,運算控制部113(指令發(fā)行部135),向各個固定功能運算器121 123和可重構(gòu)運算器125,分別發(fā)行所分配的指令(S112)。
而且,運算控制部113(指令發(fā)行部135)在沒有不存在數(shù)據(jù)的依賴性的
指令的情況下(si04 :否,sios:否),或者,在以當前的電路結(jié)構(gòu)可以運
算的情況下(SllO :是),向各個固定功能運算器121 123和可重構(gòu)運算器 125,分別發(fā)行所分配的指令(S112)。
圖3A、圖3B是本實施例的處理器所執(zhí)行的指令群的示例圖。圖3C是 本實施例的處理器的運算部的運算器的結(jié)構(gòu)圖。在此,作為一個例子,如
圖3A所示,依據(jù)被解碼的時間早的順序,下述的指令群150(指令151 155) 被存儲在運算控制部113(指令保持部131)中。
(指令151) add r8, r13, r14 (rl3+rl4—r8)
(指令152) sub rl0,rll,r12 (rl1-r12—r10)
(指令153) mul r7, r8, r9 (r8*r9—r7)
(指令154) mul rl,r5,r6 (r5+r6—rl)
(指令155) add rl, r2, r3 (r2+r3—rl)
而且,對于指令151、 152、 154,由于不存在數(shù)據(jù)的依賴性,因此在 tag列設(shè)置"O"。對于指令153、 155,由于存在數(shù)據(jù)的依賴性,因此在tag 列設(shè)置"X"。
再者,在被處理器101執(zhí)行時,指令15K 152、 155,作為運算器被使 用加法/減法器(ALU)。而且,指令153、154,作為運算器被使用乘法器(MUL)。
同樣,如圖3B所示,作為另一例子,依據(jù)被解碼的時間早的順序,下 述的指令群160 (指令161 165)被存儲在運算控制部113(指令保持部131) 中。
(指令161) add r8, r13, r14 (rl3+rl4—r8) (指令162) mul rl0,rll,r12 (rll*rl2—r10) (指令163) mul r7, r8, r9 (r8*r9—r7) (指令164) mul rl, r5, r6 (r5*r6—rl) (指令165) add rl, r2, r3 (r2+r3—rl)
而且,對于指令161、 162、 164,由于不存在數(shù)據(jù)的依賴性,因此在 tag列設(shè)置"O"。對于指令163、 165,由于存在數(shù)據(jù)的依賴性,因此在tag 列設(shè)置"X"。
再者,在被處理器101執(zhí)行時,指令161、 165,作為運算器被使用加 法/減法器(ALU)。而且,指令162 164,作為運算器被使用乘法器(MUL)。
并且,如圖3C所示,在這些例子中,運算部115包括固定功能運算器 121(Add/Sub運算器)、固定功能運算器122(Mul運算器)、固定功能運算 器123(Ld/St運算器)。再者,除了固定功能運算器121 123以外,還包 括可重構(gòu)運算器125。
在此,Add/Sub運算器是加法/減法器(ALU) 。Mul運算器是乘法器(MUL)。Ld/St運算器是裝入/保存器(LD/ST)。
例如,運算控制部113(指令分配部133),從指令群150(例如,參照圖 3A)中,將可以向固定功能運算器121 (Add/Sub運算器)發(fā)行的指令151、 152 中被解碼的時間早的指令151,分配給固定功能運算器121(Add/Sub運算 器)。將可以向固定功能運算器122(Mul運算器)發(fā)行的指令154,分配給固 定功能運算器122(Mul運算器)。由于不存在可以向固定功能運算器 123(Ld/St運算器)發(fā)行的指令,因此向固定功能運算器123(Ld/St運算器) 不分配任何指令。并且,將可以向可重構(gòu)運算器125發(fā)行的指令152,分配 給可重構(gòu)運算器125。
而且,運算控制部U3(指令分配部133),從指令群160(例如,參照圖 3B)中,將可以向固定功能運算器121(Add/Sub運算器)發(fā)行的指令161,分 配給固定功能運算器121(Add/Sub運算器)。將可以向固定功能運算器 122 (Mul運算器)發(fā)行的指令162、 164中被解碼的時間早的指令162,分配 給固定功能運算器122(Mul運算器)。由于不存在可以向固定功能運算器 123(Ld/St運算器)發(fā)行的指令,因此向固定功能運算器123(Ld/St運算器) 不分配任何指令。并且,將可以向可重構(gòu)運算器125(Reconf運算器)發(fā)行 的指令164,分配給可重構(gòu)運算器125 (Reconf運算器)。
如上所述,根據(jù)本實施例涉及的處理器101,即使限制固定功能運算器 121等的數(shù)量,也可以向可重構(gòu)運算器125分配指令,因此,可以在抑制電 路規(guī)模的同時,提高指令的并行度。 (實施例2)
其次,參照

本發(fā)明涉及的實施例2。
本實施例涉及的處理器,還包括,結(jié)構(gòu)控制功能,根據(jù)定義適合二個 以上的指令的電路結(jié)構(gòu)的結(jié)構(gòu)信息,來動態(tài)重構(gòu)可重構(gòu)運算器的電路結(jié)構(gòu)。 據(jù)此,所述處理器的特點是指令分配功能,向可重構(gòu)運算器同時分配二 個以上的指令;指令發(fā)行功能,向可重構(gòu)運算器并行發(fā)行二個以上的指令。
按照所述內(nèi)容,說明本實施例涉及的處理器。并且,對于與實施例1 涉及的處理器相同的構(gòu)成要素,付與相同的參照符號而省略說明。
圖4是本實施例的處理器的結(jié)構(gòu)圖。如圖4所示,處理器201,與實施 例1中的處理器101(例如,參照圖l)相比,下述(l)、 (2)不同。
(1) 取代運算控制部113而包括運算控制部213。
運算控制部213(指令分配部233),可以向可重構(gòu)運算器225同時分配 二個以上的指令。再者,運算控制部213(結(jié)構(gòu)控制部234),根據(jù)定義適合 二個以上的指令的電路結(jié)構(gòu)的結(jié)構(gòu)信息,來動態(tài)重構(gòu)可重構(gòu)運算器225的 電路結(jié)構(gòu)。并且,運算控制部213(指令發(fā)行部235),向可重構(gòu)運算器225 并行發(fā)行二個以上的指令。即,運算控制部213,可以向可重構(gòu)運算器225 分配并發(fā)行多個指令。
(2) 取代運算部115而包括運算部215。
運算部215取代可重構(gòu)運算器125而包括可重構(gòu)運算器225,該可重構(gòu) 運算器125只可以執(zhí)行一個指令,該可重構(gòu)運算器225只要在電路規(guī)模容 許范圍內(nèi)可以并行執(zhí)行一個以上的指令。即,可重構(gòu)運算器225,可以構(gòu)成 可并行執(zhí)行最大為n(n是自然數(shù))為止的指令的電路結(jié)構(gòu)。并且,可重構(gòu)運 算器225,可以構(gòu)成n種的每一個運算電路,也可以構(gòu)成一種的n個運算電 路,則可以只要在共計n個的范圍內(nèi)構(gòu)成多種的多個運算電路。
并且,當然不僅限于此,在此,作為一個例子,可重構(gòu)運算器225的 電路規(guī)模是如下規(guī)模,即,即使不能同時動態(tài)重構(gòu)兩個乘法器,也可以動 態(tài)重構(gòu)加法/減法器和乘法器。
圖5是本實施例的處理器的工作的流程圖。如圖5所示,運算控制部 213(指令分配部233),確認是否有不存在數(shù)據(jù)的依賴性的指令(S108),在 確認的結(jié)果是有不存在數(shù)據(jù)的依賴性的指令的情況下(S108 :是),從不存 在數(shù)據(jù)的依賴性的指令中除去所分配的指令,只要在電路規(guī)模容許范圍內(nèi), 針對各個可重構(gòu)運算器225檢索并分配可以發(fā)行的指令(S109、S201、S203)。 此時,分配被解碼的時間最早的指令。
并且,運算控制部213(結(jié)構(gòu)控制部234),檢查以當前的電路結(jié)構(gòu)是否 可以運算所分配的指令(SllO)。在檢查的結(jié)果是以當前的電路結(jié)構(gòu)不能運 算的情況下,指示可重構(gòu)運算器125重構(gòu)電路結(jié)構(gòu)(Slll)。
并且,運算控制部213(指令分配部233),在沒有不存在數(shù)據(jù)的依賴性 的指令的情況下(S202 :否),檢查以當前的電路結(jié)構(gòu)是否可以運算所調(diào)度 的指令(SllO)。
圖6A是本實施例的處理器所執(zhí)行的指令群的示例圖。圖6B是本實施
例的處理器的運算部的運算器的結(jié)構(gòu)的示例圖。在此,作為一個例子,如
圖6A所示,依據(jù)被解碼的時間早的順序,下述的指令群250 (指令251 255) 被存儲在運算控制部213(指令保持部131)中。
(指令251) add r8, r13, r14 (rl3+rl4—r8)
(指令252) mul rl0,rll,r12 (rll*rl2—r10)
(指令253) mul r7,r8,r9 (r8*r9—r7)
(指令254) mul rl,r5,r6 (r5*r6—rl)
(指令255) add r4, r2, r3 (r2+r3—r4)
而且,對于指令251、 252、 254、 255,由于不存在數(shù)據(jù)的依賴性,因 此在tag列設(shè)置"O"。對于指令253,由于存在數(shù)據(jù)的依賴性,因此在tag 列設(shè)置"X"。
再者,在被處理器201執(zhí)行時,指令251、 255,作為運算器被使用加 法/減法器(ALU)。而且,指令252 254,作為運算器被使用乘法器(MUL)。
并且,如圖6B所示,該例子中,運算部215取代可重構(gòu)運算器125而 包括可重構(gòu)運算器225,該可重構(gòu)運算器225只要在電路規(guī)模容許范圍內(nèi)可 以同時重構(gòu)多個運算器。
例如,運算控制部213(指令分配部233),從指令群250(例如,參照圖 6A)中,將可以向固定功能運算器121(Add/Sub運算器)發(fā)行的指令251、 255 中被解碼的時間早的指令251,分配給固定功能運算器121(Add/Sub運算 器)。將可以向固定功能運算器122(Mul運算器)發(fā)行的指令252、 254中被 解碼的時間早的指令252,分配給固定功能運算器122(Mul運算器)。由于 不存在可以向固定功能運算器123(Ld/St運算器)發(fā)行的指令,因此向固定 功能運算器123(Ld/St運算器)不分配任何指令。并且,從不存在數(shù)據(jù)的依 賴性的指令251、 252、 254、 255中除去所分配的指令251、 252,只要在電 路規(guī)模容許范圍內(nèi),將可以向可重構(gòu)運算器225(Reconf運算器)發(fā)行的指 令254、 255中的多個指令分配給可重構(gòu)運算器225 (Reconf運算器)。在此, 由于可重構(gòu)運算器225可以同時重構(gòu)加法/減法器(ALU)和乘法器(MUL),因 此將指令254、 255分配給可重構(gòu)運算器225。
如上所述,根據(jù)本實施例涉及的處理器201,即使限制固定功能運算器 的數(shù)量,也可以向可重構(gòu)運算器225同時分配多個指令,因此,可以在抑
制電路規(guī)模的同時,提高指令的并行度。
(實施例3)
其次,參照

本發(fā)明涉及的實施例3。
本實施例涉及的處理器中,其特點是結(jié)構(gòu)控制功能,根據(jù)該結(jié)構(gòu)指
令重構(gòu)所述可重構(gòu)運算器的電路結(jié)構(gòu);指令發(fā)行功能,在發(fā)行結(jié)構(gòu)指令后, 發(fā)行規(guī)定的指令。
按照所述內(nèi)容,說明本實施例涉及的處理器。并且,對于與實施例1 涉及的處理器相同的構(gòu)成要素,付與相同的參照符號而省略說明。
圖7是本實施例的處理器的結(jié)構(gòu)圖。如圖7所示,處理器301,與實施 例1中的處理器101(例如,參照圖l)相比,下述(l)、 (2)不同。
(1) 取代運算控制部113而包括運算控制部313。
運算控制部313(結(jié)構(gòu)控制部334),在被分配規(guī)定的指令時的可重構(gòu)運 算器325的電路結(jié)構(gòu)不適合規(guī)定的指令的情況下,指示可重構(gòu)運算器325 根據(jù)定義適合規(guī)定的指令的電路結(jié)構(gòu)的結(jié)構(gòu)信息來動態(tài)重構(gòu)電路結(jié)構(gòu)。
此時,運算控制部313(指令發(fā)行部335),在向可重構(gòu)運算器325發(fā)行 規(guī)定的指令之前,向可重構(gòu)運算器325發(fā)行示出重構(gòu)可重構(gòu)運算器325的 電路結(jié)構(gòu)之事的第二指令(以下,稱為結(jié)構(gòu)指令)。
艮P,運算控制部313,在可重構(gòu)運算器325的電路結(jié)構(gòu)不適合、而即使 發(fā)行規(guī)定的指令也不能執(zhí)行的情況下,取代規(guī)定的指令而發(fā)行結(jié)構(gòu)指令, 在該期間,重構(gòu)電路結(jié)構(gòu),在重構(gòu)后發(fā)行規(guī)定的指令。
(2) 取代運算部115而包括運算部315。
運算部315取代可重構(gòu)運算器125而包括可重構(gòu)運算器325??芍貥?gòu)運 算器325,即使接受結(jié)構(gòu)指令也不進行任何處理而廢棄它。
并且,可重構(gòu)運算器325,也可以不是從結(jié)構(gòu)控制部334接受指示后重 構(gòu)電路結(jié)構(gòu),而是接受結(jié)構(gòu)指令后重構(gòu)電路結(jié)構(gòu)。
圖8是本實施例的處理器的工作的流程圖。如圖8所示,運算控制部 313(指令發(fā)行部335),在以當前的電路結(jié)構(gòu)不能運算的情況下(S110 :否), 在下個周期優(yōu)先發(fā)行向可重構(gòu)運算器325分配了的可發(fā)行的指令,取代而 發(fā)行結(jié)構(gòu)指令(S311)。
圖9A是本實施例的處理器所執(zhí)行的指令群的工作的示例圖。圖9B是
本實施例的處理器所執(zhí)行的向指令群不插入結(jié)構(gòu)指令的情況的工作的示例
圖。圖9C是本實施例的處理器所執(zhí)行的向指令群插入結(jié)構(gòu)指令的情況的工 作的示例圖。在此,作為一個例子,說明如圖9A所示的、下述的指令組351、 352。
指令組351包括被分配給固定功能運算器121(Add/Sub運算器)的 add(l)指令;被分配給固定功能運算器122(Mul運算器)的mul(l)指令;被 分配給可重構(gòu)運算器325 (Reconf運算器)的add (2)指令。
指令組352包括被分配給固定功能運算器121(Add/Sub運算器)的 add(3)指令;被分配給固定功能運算器122(Mul運算器)的mul(2)指令;被 分配給可重構(gòu)運算器325 (Reconf運算器)的nrnl (3)指令。
并且,以往,如圖9B所示,這些指令,實際上像下述的步驟361 363 那樣工作。此時,在步驟362存在系統(tǒng)開銷(Overhead)。
(步驟361)向固定功能運算器121 (Add/Sub運算器)發(fā)行add(l)指令; 向固定功能運算器122(Mul運算器)發(fā)行muia)指令;向可重構(gòu)運算器 325 (Reconf運算器)發(fā)行add (2)指令。
(步驟362)向固定功能運算器121 (Add/Sub運算器)發(fā)行halt指令; 向固定功能運算器122(Mul運算器)發(fā)行halt指令;向可重構(gòu)運算器 325 (Reconf運算器)發(fā)行reconfigure指令。
(歩驟363)向固定功能運算器121 (Add/Sub運算器)發(fā)行add (3)指令; 向固定功能運算器122(Mul運算器)發(fā)行mul(2)指令;向可重構(gòu)運算器 325 (Reconf運算器)發(fā)行mul (3)指令。
對此,如圖9C所示,運算控制部313(指令發(fā)行部335),像下述的周 期371 373那樣并行發(fā)行指令。
(周期371)向固定功能運算器121 (Add/Sub運算器)并行發(fā)行add(l) 指令;向固定功能運算器122(Mul運算器)并行發(fā)行mul(l)指令;向可重構(gòu) 運算器325 (Reconf運算器)并行發(fā)行add (1)指令。
(周期372)向固定功能運算器121 (Add/Sub運算器)并行發(fā)行add(3) 指令;向固定功能運算器122(Mul運算器)并行發(fā)行mul(2)指令;向可重構(gòu) 運算器325 (Reconf運算器)并行發(fā)行inst_rec (mul)指令。在此,所謂 inst—rec (mul)指令,指示將可重構(gòu)運算器325重構(gòu)為乘法器(MUL)。 (周期373)
向重構(gòu)完畢的可重構(gòu)運算器325發(fā)行mul(3)指令。此時,通過向固定 功能運算器121(Add/Sub運算器)以及固定功能運算器122(Mul運算器)分 配指令,從而可以提高指令的發(fā)行效率。
如上所述,根據(jù)本實施例涉及的處理器301,在通過向可重構(gòu)運算器 325分配規(guī)定的指令從而重構(gòu)可重構(gòu)運算器325的電路結(jié)構(gòu)的情況下,在發(fā) 行規(guī)定的指令之前向可重構(gòu)運算器發(fā)行結(jié)構(gòu)指令。據(jù)此,即使對重構(gòu)花費 時間,也可以根據(jù)結(jié)構(gòu)指令來發(fā)行被分配給固定功能運算器的指令。艮卩, 到重構(gòu)完畢為止,可以避免被分配給固定功能運算器的指令也跟著規(guī)定的 指令而被等待發(fā)行。 (實施例4)
其次,參照

本發(fā)明涉及的實施例4。
安裝了本實施例涉及的處理器的信息處理裝置,其特點是,包括(a) 結(jié)構(gòu)信息保持功能,保持定義最適于成為執(zhí)行對象的軟件程序的電路結(jié)構(gòu) 的結(jié)構(gòu)信息;(b)指令記憶功能,記憶執(zhí)行形式的指令碼,該執(zhí)行形式的指 令碼是根據(jù)由所述結(jié)構(gòu)信息來決定的所述處理器的電路結(jié)構(gòu)而被生成的; (c)結(jié)構(gòu)控制功能,在指示處理器執(zhí)行指令碼之前,指示可重構(gòu)運算器根據(jù) 結(jié)構(gòu)信息來重構(gòu)電路結(jié)構(gòu)。
而且,信息處理裝置,還可以包括(a)模板保持功能,保持多種結(jié)構(gòu) 信息的模板;(b)軟件程序保持功能,保持多個軟件程序;(c)軟件程序決 定功能,從多個軟件程序中決定成為執(zhí)行對象的軟件程序;(d)模板選擇功 能,從多種結(jié)構(gòu)信息的模板中選擇最適于所決定的軟件程序的結(jié)構(gòu)信息的 模板;(e)電路結(jié)構(gòu)暫定功能,根據(jù)所選擇的結(jié)構(gòu)信息的模板來暫定處理器 的電路結(jié)構(gòu);(f)指令碼生成功能,根據(jù)暫時所決定的電路結(jié)構(gòu),由所決定 的軟件程序而生成執(zhí)行形式的指令碼;(g)閾值判斷功能,判斷與所生成的 指令碼相對應(yīng)的執(zhí)行周期是否為閾值以下;(h)輸出功能,在判斷結(jié)果是, 執(zhí)行周期為閾值以下的情況下,向指令記憶功能輸出所生成的指令碼,向 結(jié)構(gòu)信息保持功能輸出所選擇的結(jié)構(gòu)信息的模板。
按照所述內(nèi)容,說明本實施例涉及的處理器、以及安裝了本實施例涉 及的處理器的信息處理裝置。并且,對于與實施例1涉及的處理器相同的
構(gòu)成要素,付與相同的參照符號而省略說明。
圖10是本實施例的安裝了處理器的信息處理裝置的結(jié)構(gòu)圖。如圖10 所示,信息處理裝置400包括處理器401、指令記憶部102、結(jié)構(gòu)信息保 持部403、生成部404、結(jié)構(gòu)控制部405、軟件程序保持部406以及模板保 持部407。并且,生成部404至少包括軟件程序決定功能、模板選擇功能、 電路結(jié)構(gòu)暫定功能、指令碼生成功能、閾值判斷功能、輸出功能。而且, 信息處理裝置400至少包括通過內(nèi)部總線相互連接的處理器和存儲器。
處理器401,讀出并執(zhí)行指令記憶部102所記憶的優(yōu)化碼。
指令記憶部102,記憶從生成部404輸出的優(yōu)化碼。
結(jié)構(gòu)信息保持部403,將從生成部404輸出的結(jié)構(gòu)信息的模板作為結(jié)構(gòu) 信息保持。并且,在結(jié)構(gòu)信息的模板中,定義一個以上的運算電路。并且, 結(jié)構(gòu)信息保持部403,也可以被內(nèi)置在處理器401中。
生成部404,從多個軟件程序中決定成為執(zhí)行對象的軟件程序。從多種 結(jié)構(gòu)信息的模板中選擇最適于所決定的軟件程序的模板。在此,軟件程序 保持部406保持多個軟件程序。模板保持部407保持多種結(jié)構(gòu)信息的模板。
再者,生成部404,根據(jù)所選擇的模板來暫定處理器401的電路結(jié)構(gòu)(以 下,稱為結(jié)構(gòu)體系)。根據(jù)暫時所決定的結(jié)構(gòu)體系,將所決定的軟件程序優(yōu) 化來生成最后的執(zhí)行形式的指令碼(以下,稱為優(yōu)化碼)。在所生成的優(yōu)化 碼滿足作為目標的性能的情況下,即,在對所生成的優(yōu)化碼的執(zhí)行周期是 預(yù)先規(guī)定的閾值以下的情況下,向指令記憶部102輸出所生成的優(yōu)化碼, 向結(jié)構(gòu)信息保持部403輸出所選擇的結(jié)構(gòu)信息的模板。另一方面,在不滿 足作為目標的性能的情況下,即,在執(zhí)行周期超過閾值的情況下,選擇下 一個結(jié)構(gòu)信息的模板,并反復(fù)處理。
并且,生成部404,在選擇了所有的結(jié)構(gòu)信息的模板的情況下,從所有 的結(jié)構(gòu)信息的模板中選擇執(zhí)行周期為最小的結(jié)構(gòu)信息的模板。向指令記憶 部102輸出使用所選擇的結(jié)構(gòu)信息的模板來生成的優(yōu)化碼,向結(jié)構(gòu)信息保 持部403輸出所選擇的結(jié)構(gòu)信息的模板。在此,設(shè)想,生成部404,到向結(jié) 構(gòu)信息保持部403輸出所選擇的結(jié)構(gòu)信息的模板為止,按每個結(jié)構(gòu)信息的 模板記憶執(zhí)行周期和優(yōu)化碼。
并且,生成部404,在評價對所生成的優(yōu)化碼的執(zhí)行周期時,可以以處理器401的模擬來評價,也可以實際上使用處理器401來評價。
結(jié)構(gòu)控制部405,在指示處理器401執(zhí)行指令記憶部102所記憶的優(yōu)化 碼之前,指示可重構(gòu)運算器425根據(jù)結(jié)構(gòu)信息保持部403所保持的結(jié)構(gòu)信 息來重構(gòu)電路結(jié)構(gòu)。并且,結(jié)構(gòu)控制部405,也可以被內(nèi)置在處理器401中。 軟件程序保持部406,保持多個軟件程序。 模板保持部407,保持多種結(jié)構(gòu)信息的模板。
圖ll是本實施例的處理器的結(jié)構(gòu)圖。如圖11所示,處理器401,與實 施例1中的處理器101(例如,參照圖l)相比,下述(1) (3)不同。
(1) 取代指令讀出部111而包括指令讀出部411 。
指令讀出部411,在被結(jié)構(gòu)控制部405指示執(zhí)行成為執(zhí)行對象的軟件程 序的優(yōu)化碼的情況下,從指令記憶部102中讀出成為執(zhí)行對象的軟件程序 的優(yōu)化碼。
(2) 取代運算控制部113而包括運算控制部413。 運算控制部413,由于將可重構(gòu)運算器425的電路結(jié)構(gòu)不是以指令為單
位重構(gòu)、而是以軟件程序為單位重構(gòu),因此不包括結(jié)構(gòu)控制部134。軟件程 序正在執(zhí)行時,分配并發(fā)行適合在執(zhí)行前已被重構(gòu)的可重構(gòu)運算器425的 電路結(jié)構(gòu)的指令。
(3) 取代運算部115而包括運算部415。
運算部415,取代可重構(gòu)運算器125而包括可重構(gòu)運算器425。可重構(gòu) 運算器425,在被結(jié)構(gòu)控制部405指示重構(gòu)電路結(jié)構(gòu)的情況下,根據(jù)與成為 執(zhí)行對象的軟件程序相對應(yīng)的結(jié)構(gòu)信息來重構(gòu)電路結(jié)構(gòu)。此時,在根據(jù)定 義多個運算電路的結(jié)構(gòu)信息來重構(gòu)的情況下,并行執(zhí)行可以以所重構(gòu)的電 路結(jié)構(gòu)來執(zhí)行的多個指令。
圖12是本實施例的生成部的工作的一個例子的流程圖。如圖12所示, 生成部404,從多個軟件程序中決定成為執(zhí)行對象的軟件程序(S401)。從多 個模板中選擇最適于所決定的軟件程序的模板(S402、 S403)。根據(jù)所選擇 的模板來暫定處理器401的結(jié)構(gòu)體系(運算器結(jié)構(gòu))(S404)。根據(jù)暫時所決 定的結(jié)構(gòu)體系(運算器結(jié)構(gòu)),依據(jù)所選擇的軟件程序來生成優(yōu)化碼(S405)。 在所生成的優(yōu)化碼滿足作為目標的性能的情況下,即,在對所生成的優(yōu)化 碼的執(zhí)行周期是預(yù)先規(guī)定的閾值以下的情況下(S406 :是),向指令記憶部
102輸出所生成的優(yōu)化碼,向結(jié)構(gòu)信息保持部403輸出所選擇的模板(S410)。 另一方面,在不滿足作為目標的性能的情況下,即,在執(zhí)行周期超過閾值 的情況下(S406 :否),選擇下一個模板(S407),并反復(fù)處理(S408 :否)。
并且,生成部404,在選擇了所有的模板的情況下(S408 :是),從所有 的模板中選擇執(zhí)行周期為最小的模板(S409)。向指令記憶部102輸出使用 所選擇的模板來生成的優(yōu)化碼,向結(jié)構(gòu)信息保持部403輸出所選擇的模板 (S410)。
并且,如圖13所示,也可以省略步驟S406。
如上所述,根據(jù)本實施例涉及的安裝了處理器401的信息處理裝置400, 指示不是以指令為單位重構(gòu)電路結(jié)構(gòu)、而是以軟件程序為單位重構(gòu)電路結(jié) 構(gòu)。據(jù)此,由于在軟件程序正在執(zhí)行時不重構(gòu)電路結(jié)構(gòu),因此可以抑制因 電路結(jié)構(gòu)的重構(gòu)而引起的電力消耗。而且,在對重構(gòu)電路結(jié)構(gòu)花費時間的 情況下,可以解除因重構(gòu)而產(chǎn)生的指令發(fā)行等待的狀態(tài)。進一步,可以抑 制消耗電力。
(實施例5)
其次,參照

本發(fā)明涉及的實施例5。
本實施例涉及的信息處理裝置,(a)在分時執(zhí)行多個軟件程序的情況 下,包括(b)切換功能,以規(guī)定的時間為單位切換成為執(zhí)行對象的軟件程 序,(c)結(jié)構(gòu)信息保持功能,按每個軟件程序保持結(jié)構(gòu)信息,(d)指令記憶功 能,按每個軟件程序保持指令碼,(e)結(jié)構(gòu)控制功能,在每次成為執(zhí)行對象 的軟件程序被切換時,指示可重構(gòu)運算器重構(gòu)電路結(jié)構(gòu)。
按照所述內(nèi)容,說明本實施例涉及的信息處理裝置。并且,對于與實 施例4涉及的處理器相同的構(gòu)成要素,付與相同的參照符號而省略說明。
圖14是本實施例的信息處理裝置的結(jié)構(gòu)圖。如圖14所示,信息處理 裝置500,分時執(zhí)行軟件程序保持部506所保持的多個軟件程序。此時,在 每次切換成為執(zhí)行對象的軟件程序時,重構(gòu)可重構(gòu)運算器425(例如,參照 圖ll)的電路結(jié)構(gòu)。并且,生成部504包括切換功能。
具體而言,預(yù)先,生成部504按每個軟件程序生成優(yōu)化碼。向指令記 憶部102輸出所生成的優(yōu)化碼。而且,從多種結(jié)構(gòu)信息的模板中選擇最適 于每個軟件程序的結(jié)構(gòu)信息。向結(jié)構(gòu)信息保持部503輸出所選擇的結(jié)構(gòu)信 息的模板。并且,結(jié)構(gòu)信息保持部503,也可以被內(nèi)置在處理器401中。
在此,生成部504所輸出的優(yōu)化碼,按每個軟件程序被指令記憶部102 記憶。而且,生成部504所輸出的結(jié)構(gòu)信息的模板,按每個軟件程序作為 結(jié)構(gòu)信息被結(jié)構(gòu)信息保持部503保持。
并且,優(yōu)選的是,最適于軟件程序的結(jié)構(gòu)信息的模板,以實施例4中 說明的方法被選擇。
再者,結(jié)構(gòu)控制部505,在每次切換成為執(zhí)行對象的軟件程序時,指示 可重構(gòu)運算器425根據(jù)與成為執(zhí)行對象的軟件程序相對應(yīng)的結(jié)構(gòu)信息來重 構(gòu)電路結(jié)構(gòu)。進一步,指示處理器401執(zhí)行成為執(zhí)行對象的軟件程序的優(yōu) 化碼。據(jù)此,處理器401,從指令記憶部102中讀出成為執(zhí)行對象的軟件程 序的優(yōu)化碼,并執(zhí)行所讀出的優(yōu)化碼。并且,結(jié)構(gòu)控制部505,也可以被內(nèi) 置在處理器401中。
圖15是本實施例5的與處理器所執(zhí)行的軟件程序相對應(yīng)的電路結(jié)構(gòu) 圖。在此,作為一個例子,如圖15所示,生成部504,在生成軟件程序A 的優(yōu)化碼的情況下,從多個模板中選擇定義電路結(jié)構(gòu)A(Add/Sub, Mul)的模 板。同樣,在生成軟件程序B的優(yōu)化碼的情況下,選擇定義電路結(jié)構(gòu) B(Add/Sub, Ld/St)的模板。在生成軟件程序C的優(yōu)化碼的情況下,選擇定 義電路結(jié)構(gòu)C(Mul, Ld/St)的模板。
據(jù)此,結(jié)構(gòu)控制部505,保持表550,而根據(jù)所保持的表550,在執(zhí)行 軟件程序A的情況下,指示可重構(gòu)運算器425將電路結(jié)構(gòu)重構(gòu)為電路結(jié)構(gòu)A。 在執(zhí)行軟件程序B的情況下,指示可重構(gòu)運算器425將電路結(jié)構(gòu)重構(gòu)為電 路結(jié)構(gòu)B。在執(zhí)行軟件程序C的情況下,指示可重構(gòu)運算器425將電路結(jié)構(gòu) 重構(gòu)為電路結(jié)構(gòu)C。.
圖16是本實施例的信息處理裝置中的分時執(zhí)行多個軟件程序的情況的 示例圖。如圖16所示,結(jié)構(gòu)控制部505,在每次切換成為執(zhí)行對象的軟件 程序時,來重構(gòu)可重構(gòu)運算器425的電路結(jié)構(gòu)。
例如,結(jié)構(gòu)控制部505,在將成為執(zhí)行對象的軟件程序從軟件程序A切 換到軟件程序B的情況下,將可重構(gòu)運算器425的電路結(jié)構(gòu)從電路結(jié)構(gòu)A 構(gòu)成為電路結(jié)構(gòu)B。同樣,在從軟件程序B切換到軟件程序C的情況下,從 電路結(jié)構(gòu)B構(gòu)成為電路結(jié)構(gòu)C。在從軟件程序C切換到軟件程序A的情況下, 從電路結(jié)構(gòu)C構(gòu)成為電路結(jié)構(gòu)A。
如上所述,根據(jù)本實施例的信息處理裝置,在分時執(zhí)行多個軟件程序 的情況下,在每次切換成為執(zhí)行對象的軟件程序時,重構(gòu)可重構(gòu)運算器的 電路結(jié)構(gòu)。據(jù)此,可重構(gòu)運算器425,根據(jù)與軟件程序相對應(yīng)的結(jié)構(gòu)信息來 重構(gòu)電路結(jié)構(gòu)。據(jù)此,可以縮短軟件程序的總工作時間。
并且,在實施例5的生成部504的說明中,以軟件程序為單位選擇結(jié)
構(gòu)信息的模板,但也可以以線程為單位選擇結(jié)構(gòu)信息的模板。
并且,在實施例5的結(jié)構(gòu)控制部505的說明中,指示可重構(gòu)運算器425 以軟件程序為單位重構(gòu)電路結(jié)構(gòu),但也可以,指示可重構(gòu)運算器425以線 程為單位重構(gòu)電路結(jié)構(gòu)。 (其它)
并且,固定功能運算器以及可重構(gòu)運算器,也可以在一個器件上實現(xiàn), 也可以分別在各個器件上實現(xiàn)。
在一個器件上實現(xiàn)的情況下,以具有動態(tài)不可重寫電路結(jié)構(gòu)的部分、 和動態(tài)可重寫電路結(jié)構(gòu)的部分的器件來可以實現(xiàn)。此時,在動態(tài)不可重寫 電路結(jié)構(gòu)的部分形成固定功能運算器,在動態(tài)可重寫電路結(jié)構(gòu)的部分形成 可重構(gòu)運算器。
在分別在各個器件上實現(xiàn)的情況下,在動態(tài)不可重寫電路結(jié)構(gòu)的器件 形成固定功能運算器,在動態(tài)可重寫電路結(jié)構(gòu)的器件形成可重構(gòu)運算器。 在此,作為動態(tài)不可重寫電路結(jié)構(gòu)的器件,可以以全定制LSI (Large Scale Integration)、 ASIC(Application Specific Integrated Circuit)等一樣 的半定制LSI、 FPGA(Field Programmable Gate Array) 、 CPLD(Complex Programmable Logic Device)等可編程邏輯器件等來實現(xiàn)。
再者,在器件上形成構(gòu)成信息處理裝置的一個以上的功能的設(shè)計數(shù)據(jù), 可以是VHDL(Very high speed integrated circuit Hardware Description Language) 、 Verilog-HDL、 SystemC等以硬件描述語言被描述的程序(以下, 稱為HDL程序)。而且,也可以是對HDL程序進行邏輯合成而獲得的門級的 網(wǎng)表。而且,也可以是向門級的網(wǎng)表附加布置信息、程序條件等的宏單元 信息。而且,也可以是規(guī)定了尺寸、時刻等的屏蔽數(shù)據(jù)。而且,結(jié)構(gòu)信息, 也可以是對描述了一個以上的運算電路的HDL程序進行邏輯合成而獲得的
門級的網(wǎng)表。
再者,為了可以被本發(fā)明涉及的信息處理裝置讀出,可以將設(shè)計數(shù)據(jù)
或結(jié)構(gòu)信息記錄到光記錄介質(zhì)(例如,CD-ROM等)、磁記錄介質(zhì)(例如,硬盤 等)、光磁記錄介質(zhì)(例如,M0等)、半導(dǎo)體存儲器(例如,SD存儲器等)等 記錄介質(zhì)中。
或者,為了可以經(jīng)過網(wǎng)絡(luò)等傳輸路徑來被獲得,可以將設(shè)計數(shù)據(jù)或結(jié) 構(gòu)信息保持在傳輸路徑上的硬件系統(tǒng)中。
并且,本發(fā)明涉及的處理器,除了可以被安裝在信息處理裝置中以外, 還可以被安裝在數(shù)字TV、數(shù)字刻錄器、游戲機、IP電話、移動電話、網(wǎng)絡(luò) 設(shè)備等嵌入系統(tǒng)中。也可以被安裝在具有CPU (Central Processing Unit)、 RAM(Random Access Memory) 、 ROM(Read Only Memory) 、 HDD(Hard Disk Drive)、網(wǎng)絡(luò)適配器等的計算機系統(tǒng)中。
并且,所述說明中,本發(fā)明涉及的處理器是單核處理器,但也可以是 多核處理器。再者,在該情況下,可以設(shè)想,可重構(gòu)運算器被共享。
并且,所述說明中,本發(fā)明涉及的信息處理裝置具有單處理器,但也 可以具有多處理器。
本發(fā)明,可以作為對被數(shù)字化的影像、聲音等進行處理的處理器等利 用,尤其可以作為被安裝在DVD錄像器或數(shù)字TV等使用數(shù)字信號的影像設(shè) 備或音響設(shè)備等的信號處理用處理器等利用。
權(quán)利要求
1、一種處理器,安裝了執(zhí)行指令的多個運算器,其特征在于,包括固定功能運算器,具有不可動態(tài)重構(gòu)的電路結(jié)構(gòu);可重構(gòu)運算器,具有可動態(tài)重構(gòu)的電路結(jié)構(gòu);指令分配單元,將不存在數(shù)據(jù)的依賴性的指令群中的指令,分別分配給所述固定功能運算器以及所述可重構(gòu)運算器;以及指令發(fā)行單元,將分別被分配的指令發(fā)行給接受分配方。
2、 如權(quán)利要求l所述的處理器,其特征在于,所述指令分配單元,在分配指令時,將所述固定功能運算器優(yōu)先于所 述可重構(gòu)運算器。
3、 如權(quán)利要求1所述的處理器,其特征在于,所述指令發(fā)行單元,將分別被分配的各個指令并行發(fā)行給各個接受分 配方。
4、 如權(quán)利要求1所述的處理器,其特征在于, 所述處理器,還包括,結(jié)構(gòu)控制單元,在被分配規(guī)定的指令時的所述可重構(gòu)運算器的電路結(jié) 構(gòu)不適合所述規(guī)定的指令的情況下,指示所述可重構(gòu)運算器根據(jù)定義適合 所述規(guī)定的指令的電路結(jié)構(gòu)的結(jié)構(gòu)信息來動態(tài)重構(gòu)電路結(jié)構(gòu)。
5、 如權(quán)利要求1所述的處理器,其特征在于, 所述處理器,還包括,結(jié)構(gòu)控制單元,指示所述可重構(gòu)運算器根據(jù)定義適合二個以上的指令 的電路結(jié)構(gòu)的結(jié)構(gòu)信息來動態(tài)重構(gòu)電路結(jié)構(gòu),所述指令分配單元,向所述可重構(gòu)運算器同時分配所述二個以上的指令,所述指令發(fā)行單元,向所述可重構(gòu)運算器并行發(fā)行所述二個以上的指令。
6、 如權(quán)利要求4所述的處理器,其特征在于,所述結(jié)構(gòu)控制單元,在所述規(guī)定的指令之前插入結(jié)構(gòu)指令,根據(jù)該結(jié) 構(gòu)指令重構(gòu)所述可重構(gòu)運算器的電路結(jié)構(gòu),所述指令發(fā)行單元,在發(fā)行所述結(jié)構(gòu)指令后,發(fā)行所述規(guī)定的指令。
7、 一種信息處理裝置,安裝了權(quán)利要求i所述的處理器,其特征在于,包括 結(jié)構(gòu)信息保持單元,保持定義最適于成為執(zhí)行對象的軟件程序的電路結(jié)構(gòu)的結(jié)構(gòu)信息;指令記憶單元,記憶執(zhí)行形式的指令碼,該執(zhí)行形式的指令碼是根據(jù) 由所述結(jié)構(gòu)信息來決定的所述處理器的電路結(jié)構(gòu)而被生成的;以及結(jié)構(gòu)控制單元,在指示所述處理器執(zhí)行所述指令碼之前,指示所述可重構(gòu)運算器根據(jù)所述結(jié)構(gòu)信息來重構(gòu)電路結(jié)構(gòu)。
8、 如權(quán)利要求7所述的信息處理裝置,其特征在于,所述信息處理裝 置還包括模板保持單元,保持多種結(jié)構(gòu)信息的模板; 軟件程序保持單元,保持多個軟件程序;軟件程序決定單元,從所述多個軟件程序中決定所述成為執(zhí)行對象的 軟件程序;模板選擇單元,從所述多種結(jié)構(gòu)信息的模板中選擇最適于所述成為執(zhí) 行對象的軟件程序的結(jié)構(gòu)信息的模板;電路結(jié)構(gòu)暫定單元,根據(jù)所述選擇的結(jié)構(gòu)信息的模板來暫定所述處理 器的電路結(jié)構(gòu);指令碼生成單元,根據(jù)所述暫定的電路結(jié)構(gòu),由所述決定的軟件程序 而生成執(zhí)行形式的指令碼;閾值判斷單元,判斷與所述生成的指令碼相對應(yīng)的執(zhí)行周期是否為閾 值以下;以及輸出單元,在判斷結(jié)果是,所述執(zhí)行周期為閾值以下的情況下,向指 令記憶單元輸出所述生成的指令碼,向所述結(jié)構(gòu)信息保持單元輸出所述選 擇的結(jié)構(gòu)信息的模板。
9、 如權(quán)利要求7所述的信息處理裝置,其特征在于, 在分時執(zhí)行多個軟件程序的情況下, 所述信息處理裝置包括,切換單元,以規(guī)定的時間為單位切換成為執(zhí)行對象的軟件程序,所述結(jié)構(gòu)信息保持單元,按每個軟件程序保持所述結(jié)構(gòu)信息, 所述指令記憶單元,按每個軟件程序保持所述指令碼,所述結(jié)構(gòu)控制部,在每次成為執(zhí)行對象的軟件程序被切換時,指示所 述可重構(gòu)運算器重構(gòu)電路結(jié)構(gòu)。
10、 如權(quán)利要求9所述的信息處理裝置,其特征在于, 所述信息處理裝置包括,表保持單元,保持使軟件程序和電路結(jié)構(gòu)相對應(yīng)的表, 所述結(jié)構(gòu)控制單元,根據(jù)所述表,確定與軟件程序相對應(yīng)的電路結(jié)構(gòu),指示可重構(gòu)運算器根據(jù)定義所確定的電路結(jié)構(gòu)的結(jié)構(gòu)信息來重構(gòu)電路結(jié)構(gòu),所述軟件程序由被指示執(zhí)行的所述處理器執(zhí)行。
11、 一種處理器控制方法,控制處理器,該處理器包括固定功能運算器,具有不可動態(tài)重構(gòu)的電路結(jié)構(gòu);以及可重構(gòu)運算器,具有可動態(tài)重構(gòu)的電路結(jié)構(gòu),所述處理器控制方法,其特征在于,包括以下步驟 指令分配步驟,將不存在數(shù)據(jù)的依賴性的指令群中的指令,分別分配給所述固定功能運算器以及所述可重構(gòu)運算器;以及指令發(fā)行步驟,將分別被分配的指令發(fā)行給接受分配方。
全文摘要
安裝了執(zhí)行指令的多個運算器的處理器(101)包括固定功能運算器(121~123),具有不可動態(tài)重構(gòu)的電路結(jié)構(gòu);可重構(gòu)運算器(125),具有可動態(tài)重構(gòu)的電路結(jié)構(gòu);以及運算控制部(113),將不存在數(shù)據(jù)的依賴性的指令群中的指令,分別分配給固定功能運算器(121~123)以及可重構(gòu)運算器(125),并且,將分別被分配的指令發(fā)行給接受分配方。
文檔編號G06F9/38GK101346695SQ20068004937
公開日2009年1月14日 申請日期2006年11月9日 優(yōu)先權(quán)日2005年12月27日
發(fā)明者中島雅逸, 山本崇夫, 森下廣之 申請人:松下電器產(chǎn)業(yè)株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
娱乐| 拜城县| 呼和浩特市| 资阳市| 富蕴县| 六枝特区| 天祝| 萝北县| 宜宾市| 辛集市| 松潘县| 江孜县| 滁州市| 临澧县| 赤城县| 武义县| 双峰县| 恩平市| 长子县| 湟源县| 韶关市| 泽库县| 乐亭县| 临湘市| 浦县| 阿拉善右旗| 明溪县| 靖宇县| 澄迈县| 澄江县| 西丰县| 涪陵区| 依安县| 从化市| 南康市| 集安市| 分宜县| 荆门市| 铜山县| 石棉县| 无锡市|