国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      硬件環(huán)路的制作方法

      文檔序號(hào):6473988閱讀:292來源:國知局
      專利名稱:硬件環(huán)路的制作方法
      背景技術(shù)
      本發(fā)明涉及可編程序處理器中所用的硬件環(huán)路。
      在諸如數(shù)字信號(hào)處理(DSP)系統(tǒng)之類的可編程序處理器的設(shè)計(jì)中,有二個(gè)對(duì)立的設(shè)計(jì)指標(biāo)處理速度和功率消耗。傳統(tǒng)的處理器包括用來提高軟件指令執(zhí)行速度的各種硬件。但是,這種附加的硬件通常會(huì)增大處理器的功率消耗。
      用以提高可編程序處理器之速度的一頂技術(shù)就是“硬件環(huán)路”,它可以是用來在環(huán)路結(jié)構(gòu)內(nèi)加快執(zhí)行軟件的硬件。硬件環(huán)路可以通過在局域寄存器中高速存儲(chǔ)指令來減少執(zhí)行軟件所用的同步脈沖周期的個(gè)數(shù),因此可使需要從存儲(chǔ)裝置或者高速指令存儲(chǔ)器中讀取同一指令的次數(shù)減少好多。
      硬件環(huán)路引起了一些問題。這些問題包括要避免諸如構(gòu)成損失或者轉(zhuǎn)移損失之類的損失。構(gòu)成損失是與構(gòu)成硬件環(huán)路相關(guān)的功率損失(通常是處理時(shí)間的增加)。同樣,轉(zhuǎn)移損失是與轉(zhuǎn)移分支相關(guān)的功能損失(通常也是處理時(shí)間的增加)。
      圖2是表示本發(fā)明一實(shí)施例的一個(gè)示例執(zhí)行管系的方框圖。
      圖3是表示本發(fā)明一實(shí)施例可裝入早計(jì)寄存器時(shí)的示例性時(shí)間變化過程的流程圖。
      圖4是表示本發(fā)明一實(shí)施例如何用環(huán)路構(gòu)成指令來確定早計(jì)寄存器值的流程圖。
      圖5是表示硬件環(huán)路單元的一實(shí)施例的電路方框圖。
      圖6是表示根據(jù)本發(fā)明的、包括早計(jì)寄存器的調(diào)整在內(nèi)的運(yùn)作模式的流程圖。
      圖7是表示本發(fā)明一實(shí)施例的更新結(jié)構(gòu)寄存器值的方法的流程圖。
      圖8是表示本發(fā)明一實(shí)施例的另一種更新結(jié)構(gòu)計(jì)算寄存器值的方法的流程圖。
      圖9是表示本發(fā)明一實(shí)施例的采用早計(jì)寄存器所實(shí)現(xiàn)的時(shí)間過程優(yōu)化的流程圖。


      圖10是表示本發(fā)明一實(shí)施例的一種調(diào)整早計(jì)數(shù)值的有效方法的流程圖。
      圖11是表示本發(fā)明一實(shí)施例的電路中的計(jì)數(shù)器的方框圖。
      圖12是表示本發(fā)明一實(shí)施例的混合運(yùn)作模式的流程圖。
      圖13是表示本發(fā)明一實(shí)施例的僅在前n-1個(gè)執(zhí)行級(jí)中具有計(jì)數(shù)器的混合電路的方框圖。
      圖14是表示本發(fā)明一實(shí)施例的硬件環(huán)路單元的方框圖。
      圖15是表示本發(fā)明一實(shí)施例的一種方案情況的示意圖。
      圖16是表示本發(fā)明一實(shí)施例的一種方案情況的流程圖。
      圖17是表示本發(fā)明一實(shí)施例的一種方案情況的另一個(gè)流程圖。
      圖18是表示本發(fā)明一實(shí)施例的另一種方案情況的示意圖。
      圖19是表示又一種方案情況的流程圖。
      圖20是表示本發(fā)明實(shí)施例兩種方案情況的流程圖。
      圖21是表示本發(fā)明一實(shí)施例的用于檢測(cè)零偏置環(huán)路的運(yùn)作模式的流程圖。
      圖22是表示本發(fā)明一實(shí)施例的用于檢測(cè)和處理單個(gè)指令零偏置環(huán)路的運(yùn)作模式的流程圖。
      圖23A-23C是表示本發(fā)明一實(shí)施例的許多相互連接的硬件環(huán)路的方框圖。
      圖24是表示本發(fā)明實(shí)施例的功率節(jié)省電路的方框圖。
      詳細(xì)描述圖1是支持有效的硬件環(huán)路而并不過分增加功率消耗的編程處理器2的方框圖。
      為了支持硬件環(huán)路,處理器2可通過設(shè)定環(huán)路的進(jìn)入和退出狀態(tài)來支持一個(gè)予置硬件的環(huán)路構(gòu)成指令。進(jìn)入和退出狀態(tài)可以用環(huán)路狀態(tài)頂、底和計(jì)算來確定。頂狀態(tài)確定環(huán)路的最初指令(或稱頂指令)。底狀態(tài)確定環(huán)路的最后指令(或稱底指令)。而計(jì)算狀態(tài)確定環(huán)路的反復(fù)循環(huán)次數(shù)。
      硬件環(huán)路的進(jìn)入可以發(fā)生在最初“頂匹配”時(shí)。頂匹配可以發(fā)生在程序計(jì)數(shù)器(PC)指向環(huán)路的頂指令時(shí)。硬件環(huán)路的退出可以發(fā)生在最后“底匹配”時(shí)。底匹配可以發(fā)生在程序計(jì)數(shù)器指向環(huán)路的底指令時(shí)。
      通過將數(shù)值予置到最初頂匹配并將數(shù)值減小到各個(gè)底匹配,該硬件就可保持當(dāng)它遇到了最后底匹配時(shí)的軌跡。這樣,環(huán)路的狀態(tài)頂、底和計(jì)算就可決定硬件環(huán)路的進(jìn)入和退出狀態(tài)。
      處理器2可以包括執(zhí)行器系4和控制單元6??刂茊卧?可以在同一步脈沖周期中控制通過管系4的指令和/或數(shù)據(jù)資料的流程。例如,在處理一指令時(shí),控制單元6可以指定管系的各個(gè)組件來解讀指令,并正確執(zhí)行包括例如將結(jié)果寫回到存儲(chǔ)器中在內(nèi)的相應(yīng)的運(yùn)作。
      可將指令裝入管系4的第1級(jí)中并在隨后的各級(jí)中進(jìn)行處理。在系統(tǒng)的一個(gè)周期中數(shù)據(jù)資料可在管系4中的多級(jí)間通過。指令的結(jié)果可以快速地呈現(xiàn)在管系4的末端。
      控制單元6可以包括下述可使硬件環(huán)路加速而又不過分增加處理器2之功率消耗的硬件環(huán)路單元8。
      圖2是表示一示例管系的方框圖。管系10具有有利于在單個(gè)同步脈沖周期中執(zhí)行多項(xiàng)指令的多個(gè)級(jí)。在管系10中,一個(gè)指令可以在一最初同步脈沖周期中進(jìn)入到指令讀取(IF)級(jí)12。然后,在隨后的同步脈沖周期中該指令可以繼續(xù)沿著管往下走。在前一個(gè)指令執(zhí)行之后,另一個(gè)指令就可進(jìn)入IF級(jí)12。這樣,通常另一個(gè)指令是在隨后的一個(gè)同步脈沖周期中進(jìn)入IF級(jí)12、且接著在隨后的同步脈沖周期中往下走的。同樣,附加指令分別在隨后的同步脈沖周期中進(jìn)入IF級(jí)12。管系中的級(jí)的數(shù)目決定了該管系可以同時(shí)提供服務(wù)的指令的數(shù)目。
      管系的不同級(jí)可以如下運(yùn)作??梢酝ㄟ^讀取單元13在IF級(jí)12中讀取指令,并在DEC級(jí)14中從指令寄存器15來進(jìn)行解碼。在AC級(jí)18中,數(shù)據(jù)地址發(fā)生器19可計(jì)算任何用于運(yùn)作的存儲(chǔ)地址。
      在執(zhí)行級(jí)(EX1-EXn)22和28中,執(zhí)行單元23和29可以執(zhí)行特殊的運(yùn)作,例如將二個(gè)數(shù)字相加或相乘。執(zhí)行單元可以包含用于運(yùn)作的特殊硬件,這些運(yùn)作可包括例如1個(gè)或多個(gè)算術(shù)邏輯單元(ALU)、浮動(dòng)點(diǎn)單元(FPU)和桶形移位器,盡管本發(fā)明的范圍并不只限于此方面內(nèi)容。各種數(shù)據(jù)-例如數(shù)據(jù)地址發(fā)生器所產(chǎn)生的地址,從存儲(chǔ)器檢索到的數(shù)據(jù)或者從數(shù)據(jù)寄存器檢索到的數(shù)據(jù)等都可用于執(zhí)行單元。在寫回級(jí)(WB)30,其結(jié)果可寫入到存儲(chǔ)器位置、或輸出到管系的數(shù)據(jù)寄存器、或諸如結(jié)構(gòu)寄存器32之類的管系中的數(shù)據(jù)寄存器中。管系10的各級(jí)可以包括一個(gè)或多個(gè)諸如觸發(fā)器之類的、用于儲(chǔ)存數(shù)據(jù)資料的儲(chǔ)存電路。
      如上所述,處理器2可以支持環(huán)路構(gòu)成指令。通過將硬件環(huán)路的邊界(例如頂和底)寫入管系中的結(jié)構(gòu)寄存器32,環(huán)路構(gòu)成指令就可以予置硬件環(huán)路。環(huán)路構(gòu)成指令也可將一個(gè)數(shù)值予置到結(jié)構(gòu)寄存器32中,表明該環(huán)路要執(zhí)行的次數(shù)。此外,該環(huán)路構(gòu)成指令還可確定一個(gè)偏置值,表明在該環(huán)路到達(dá)頂之前隨從該環(huán)路構(gòu)成指令的指令數(shù)目。在予置了硬件環(huán)路之后,該硬件環(huán)路就可在管系10中運(yùn)作,直到滿足該環(huán)路的退出狀態(tài)(例如數(shù)值等于零的底匹配)時(shí)為止。
      結(jié)構(gòu)寄存器32通常是在例如WB級(jí)30結(jié)束時(shí)指令指定后就裝入了。因此,儲(chǔ)存在結(jié)構(gòu)寄存器32中的進(jìn)入和退出狀態(tài)要從環(huán)路構(gòu)成指令進(jìn)入管系10起經(jīng)過幾個(gè)同步脈沖周期之后才會(huì)被更新。因?yàn)檫M(jìn)入和退出狀態(tài)要經(jīng)過幾個(gè)同步脈沖周期之后才會(huì)被更新,所以還存在著構(gòu)成硬件環(huán)路的限制條件。例如,如果在環(huán)路構(gòu)成指令指定之前環(huán)路中的最初指令進(jìn)入管系10的話,結(jié)構(gòu)寄存系不會(huì)構(gòu)成可將該指令作為環(huán)路的一部分。而且,此問題會(huì)隨著管系深度的加大而加重。
      在一個(gè)實(shí)施中,通過將管系中的一組早計(jì)寄存器34、35、36予以保持,處理器2可以克服這些限制。如圖2所示,早計(jì)寄存器ETop34和EBot35可以保留在解碼級(jí)而ECnt可保留在AC級(jí)。
      安置一組早計(jì)寄存器34、35和36可以通過減小或避免環(huán)路構(gòu)成損失來提高處理器2的處理速度。如上所述,幾個(gè)同步脈沖周期可以在環(huán)路構(gòu)成指令進(jìn)入管系時(shí)間和結(jié)構(gòu)寄存器被寫入時(shí)間之間通過。不過,雖計(jì)寄存器可以在環(huán)路構(gòu)成指令寫入到結(jié)構(gòu)寄存器中之前很久前就先裝入。由于這個(gè)原因,采用早計(jì)寄存器可以減少用于構(gòu)成硬件環(huán)路所化的時(shí)間。
      早計(jì)寄存器可以是用來予報(bào)或推測(cè)結(jié)構(gòu)寄存器之?dāng)?shù)值的推測(cè)寄存器。推測(cè)寄存器與結(jié)構(gòu)寄存器不同,它并不可被系統(tǒng)的指令組支持。因此,不能用程序碼來通入推測(cè)寄存器。由于這個(gè)原因,程序員就不能用對(duì)待結(jié)構(gòu)寄存器同樣的方法來將數(shù)據(jù)資料送入推測(cè)寄存器或從其中取出。
      可以用幾種不同的方法來裝載早計(jì)寄存器。例如,早行寄存器可以簡(jiǎn)單地通過將一常規(guī)指令寄存器移動(dòng)到結(jié)構(gòu)寄存器處來完成裝載。換句話說,系統(tǒng)可以指令結(jié)構(gòu)寄存器號(hào)對(duì)另一個(gè)寄存器裝入某些內(nèi)容,其結(jié)果,早計(jì)寄存器就可被更新。而裝載寄存器的另一種方法是從存儲(chǔ)器中“彈出”。換句話說,系統(tǒng)可從存儲(chǔ)器中取出數(shù)據(jù)資料,將此數(shù)據(jù)資料裝入結(jié)構(gòu)寄存器中,并將早計(jì)寄存器更新。
      但是,常規(guī)的寄存器出現(xiàn)的問題是它們會(huì)引起環(huán)路構(gòu)成損失。由于系統(tǒng)在取得移動(dòng)的數(shù)據(jù)資料而將之寫入以前一直是阻止管系工作的,這就會(huì)產(chǎn)生這些損失。為了避免這些損失,可以在結(jié)構(gòu)寄存器被寫入之前用環(huán)路構(gòu)成指令來裝載早計(jì)寄存器。
      下列示例表示用于產(chǎn)生一示例性的環(huán)路構(gòu)成機(jī)器指令的語句LSETUP(PC Relative TOP,PC Relative Bottom)Counter=XPC Relative TOP表明從當(dāng)前的指令到環(huán)路起動(dòng)(起動(dòng)偏置)的距離。PCRelative Bottom表明從當(dāng)前的指令到環(huán)路終結(jié)(終結(jié)偏置)的距離。此外,所采用的計(jì)數(shù)器(Counter)可以是一個(gè)計(jì)數(shù)寄存器和一個(gè)表明環(huán)路中反復(fù)循環(huán)數(shù)目的環(huán)路數(shù)值。
      圖3是表示本發(fā)明一實(shí)施例可裝入早計(jì)寄存器時(shí)的示例性時(shí)間變化過程的流程圖。如上所述,環(huán)路構(gòu)成指令可包含以計(jì)數(shù)值、頂值和底值有式來表示的環(huán)路狀態(tài)。這三個(gè)數(shù)值合起來可確定硬件環(huán)路的進(jìn)入和退出狀態(tài)。
      計(jì)算值可表示環(huán)路將作的反復(fù)循環(huán)次數(shù)。一旦環(huán)路構(gòu)成指令進(jìn)入AC(38),該計(jì)算值就可寫入ECnt寄存器39??赏ㄟ^寄存器從包含在不同管系中的數(shù)據(jù)資料寄存器移動(dòng)來完成對(duì)ECnt寄存器的初始寫入。在一種運(yùn)作模式中,可以用包含在DAG管系中的PREG寄存器(參見圖6)的數(shù)據(jù)資料來寫入該ECnt寄存器。
      頂值和底值可以表明哪個(gè)指令是環(huán)路的頂以及哪個(gè)指令是環(huán)路的底。但是,環(huán)路構(gòu)成指令中的頂值和底值可以是與程序計(jì)數(shù)器(PC)相關(guān)的。因此,在AC級(jí)中的計(jì)算(40)可用來獲得分別要被寫入到ETop34和EBot35寄存器中的頂值和底值。在環(huán)路構(gòu)成指令進(jìn)入到EX1(41)后,就可將頂值和底值寫入ETop34和EBot35寄存器(42)。
      ETop寄存器34可被裝載成指示環(huán)路的最初指令(環(huán)路的頂)。EBot寄存器35可被裝載成指示環(huán)路的最后指令(環(huán)路的底)。ECnt寄存器36可被裝載成指明電流要經(jīng)過環(huán)路的次數(shù)。在一個(gè)實(shí)施例中,當(dāng)電流經(jīng)過環(huán)路時(shí)ECnt36向下計(jì)數(shù)而減小。
      圖4是表示當(dāng)接收到環(huán)路構(gòu)成指令并由管系10處理時(shí)硬件環(huán)路單元8的一種運(yùn)作模式的流程圖。根據(jù)一種格式,環(huán)路構(gòu)成指令可以表明包括啟動(dòng)偏置(S-Offset)和終止偏置(S-Offset)在內(nèi)的幾個(gè)構(gòu)成變量。起動(dòng)偏置可表明在指令串中從環(huán)路構(gòu)成指令到環(huán)路中最初指令的距離。同樣,終止偏置可表明在指令串中從環(huán)路構(gòu)成指令到環(huán)路中最后指令的距離。
      例如,如果環(huán)路中的該最初指令是緊接在環(huán)路構(gòu)成指令后的指令,那么該起動(dòng)偏置就會(huì)是環(huán)路構(gòu)成指令的寬度。如果,在指令串中,在環(huán)路構(gòu)成指令和環(huán)路中的最初指令之間有一個(gè)指令的話,那么該起動(dòng)偏置將會(huì)是環(huán)路構(gòu)成指令和這一個(gè)指令的寬度。同樣,如果在環(huán)路構(gòu)成指令和最初指令之間有二個(gè)指令的話,那么該起動(dòng)偏置將會(huì)是環(huán)路構(gòu)成指令和這二個(gè)指令的寬度。
      如圖4所示,起動(dòng)偏置和終止偏置通常都是由環(huán)路構(gòu)成指令(44)來確定的。不過,環(huán)路構(gòu)成指令確定相對(duì)于程序計(jì)數(shù)器(PC)的偏置。因此,PC值也必須確定45。隨后,用該P(yáng)C值和起動(dòng)偏置來計(jì)算ETop寄存器數(shù)據(jù)(46)。此外,用該P(yáng)C值和終止偏置來計(jì)算EBot寄存器數(shù)據(jù)(47)。一旦計(jì)算好了,就可將早計(jì)寄器數(shù)據(jù)資料寫入到早計(jì)寄存器(48)中。
      將圖4和圖2作一比較,可表示出在寫入ETop和EBot寄存器時(shí)的示例性的時(shí)間變化過程。在DEC級(jí)14中會(huì)發(fā)生步驟44和45。在AC級(jí)18中會(huì)發(fā)生步驟46和47。因此,在EX1級(jí)22中還可發(fā)生寫入步驟48,盡管本發(fā)明的范圍并不限于這方面內(nèi)容。
      一旦裝入了早計(jì)寄存器后,就可用它來構(gòu)成硬件環(huán)路。圖5是表示將一個(gè)硬件環(huán)路單元8連接到指令取出(IF)單元50和管系10的解碼單元52上的一實(shí)施例的方框圖。在這一實(shí)施例中,可用早計(jì)寄存器檢測(cè)指令串57中的環(huán)路。然后,將一個(gè)或多個(gè)環(huán)路指令裝入環(huán)路硬件54。一旦裝入了環(huán)路指令,就可一次又一次地從環(huán)路硬件發(fā)送環(huán)路指令。這樣,如果早計(jì)寄存器檢測(cè)到一個(gè)指令環(huán)路,那么,可用IF單元50將一個(gè)或多個(gè)環(huán)路指令讀取一次,而隨后就反復(fù)地從硬件單元8發(fā)送。
      采用早計(jì)寄存器會(huì)引起幾個(gè)問題。例如,由于早計(jì)寄存器數(shù)據(jù)資料需要調(diào)整,就會(huì)產(chǎn)生由于采用早計(jì)寄存器而引起的問題。如果管系必定要為一信號(hào)轉(zhuǎn)換服務(wù),那么管系的現(xiàn)時(shí)運(yùn)作就要中止。如果這一中止發(fā)生在早計(jì)寄存器已經(jīng)寫入之后但在其各個(gè)結(jié)構(gòu)寄存器寫入之前,那么該早計(jì)寄存器的數(shù)據(jù)資料就會(huì)要調(diào)整。換句話說,由于早計(jì)寄存器早已寫入,在環(huán)路完成之前要在管系中中止就要求對(duì)早計(jì)寄存器的數(shù)據(jù)資料作一調(diào)整。
      圖6是表示包括早計(jì)寄存器的調(diào)整在內(nèi)的運(yùn)作模式的流程圖。圖6特別表示出包括在ETop、EBot、ECnt寄存器調(diào)整中的時(shí)間變化過程。
      如圖6所示,早計(jì)寄存器可被寫入76。在圖6的一個(gè)實(shí)施例中,早計(jì)寄存器特定為ETop、EBot和ECnt寄存器(如圖2所示)。如果在結(jié)構(gòu)寄存器被寫入之前82就發(fā)生管系中的中止,那么,不中斷的指令可從管系83中發(fā)送出來,且可通過寫入包含在其各結(jié)構(gòu)計(jì)算部件84中的數(shù)據(jù)資料來調(diào)整早計(jì)寄存器。
      在處理背對(duì)背的硬件環(huán)路時(shí),圖6所示的運(yùn)作模式將特別有用。例如,如果在它完成之前第2環(huán)路中止了,則第1環(huán)路可能仍然要執(zhí)行其管系中的其余的指令。圖6中的調(diào)整技術(shù)提供了一種通過相應(yīng)地調(diào)整早計(jì)寄存器值來處理這個(gè)變動(dòng)的方法。
      圖7表示用早計(jì)(ECnt)數(shù)據(jù)資料來更新結(jié)構(gòu)寄存器值的方法。數(shù)據(jù)資料可以以上述的任何一種方式寫入到ECnt寄存器90中。然后,ECnt寄存器資料可沿著管系92向下送,以使它在WB級(jí)中寫入到結(jié)構(gòu)寄存器93中。而后,在環(huán)路94的每個(gè)隨后的反復(fù)循環(huán)中可減小ECnt寄存器數(shù)據(jù)96并再沿管系92向下發(fā)送。這個(gè)過程可繼續(xù)下去直到該環(huán)路完成其最后的反復(fù)循環(huán)98。
      圖8表示更新結(jié)構(gòu)計(jì)數(shù)寄存器的另一種方法。圖8所示的運(yùn)作模式并不在環(huán)路的每次反復(fù)循環(huán)之后將ECnt數(shù)據(jù)資料沿管系向下發(fā)送,而是將ECnt數(shù)據(jù)資料發(fā)送一次。接著,在隨后的環(huán)路反復(fù)循環(huán)中再發(fā)送單一個(gè)有效的縮濺信息容量用以調(diào)整結(jié)構(gòu)計(jì)數(shù)寄存器。
      在圖8中,數(shù)據(jù)資料可以以上述任何一種方式寫入到ECnt寄存器90中。而后,ECnt寄存器數(shù)據(jù)資料可沿管系92向下發(fā)送,這樣它就可在WB級(jí)中被寫入到結(jié)構(gòu)計(jì)數(shù)寄存器中。在隨后的環(huán)的反復(fù)循環(huán)中,可發(fā)送單一個(gè)有效的縮減信息容量102用以使結(jié)構(gòu)計(jì)數(shù)寄存器104數(shù)值減小。該過程可以持續(xù)進(jìn)行直到環(huán)路完成其最后反復(fù)循環(huán)98為止。
      圖9是表示由于采用了早計(jì)寄存器而獲得的時(shí)間變化過程的優(yōu)化。如圖9所示,可將環(huán)路的進(jìn)入/退出狀態(tài)裝入到一組早計(jì)寄存器120中。而后在環(huán)路構(gòu)成指令124實(shí)施之前就可檢測(cè)進(jìn)入/退出狀態(tài)122。
      ECnt寄存器的調(diào)整會(huì)出現(xiàn)另外的一些問題。ECnt寄存器的調(diào)整可以在環(huán)路完成之前管系出現(xiàn)中止的任何時(shí)刻來進(jìn)行。這是由于有效指令還會(huì)在管系之中且這些有效指令在它們一旦實(shí)施了后就會(huì)調(diào)整結(jié)構(gòu)計(jì)數(shù)寄存器值的緣故。
      一種對(duì)ECnt寄存器在中止后的數(shù)據(jù)資料進(jìn)行修正的方法是使指令在中止之前就完成且隨后即用其結(jié)構(gòu)對(duì)應(yīng)值來寫入ECnt寄存器。不過,如果轉(zhuǎn)移損失小于它排離管系所化之時(shí)間的話這就會(huì)增加一個(gè)附加的損失。
      圖10表示一種調(diào)整早計(jì)值的有效方法。如圖所示,在環(huán)路構(gòu)成指令進(jìn)入AC級(jí)180后,就可寫入早計(jì)寄存器182。在此時(shí)刻ECnt數(shù)據(jù)資料可沿管系184向下發(fā)送。如果發(fā)生了中止185,未受阻止的指令可送出186且可用其結(jié)構(gòu)對(duì)應(yīng)物187中的數(shù)據(jù)資料來寫入ECnt寄存器。
      在這個(gè)底匹配190處可將一有效的縮減信息容量沿管系192向下發(fā)送。當(dāng)產(chǎn)生一有效的信息容量以供發(fā)送的指令退出各管級(jí)194時(shí),一有效的縮減信息就會(huì)從該退出管級(jí)196移離。換句話說,在發(fā)送一有效的信息容量時(shí)(例如在192)計(jì)數(shù)器數(shù)值就增大,并且在產(chǎn)生一有效的縮減信息容量以供發(fā)送的指令退出該管級(jí)時(shí),單個(gè)的一計(jì)數(shù)器數(shù)值就減小(例如在196)。
      如果在管系198中發(fā)生中止,就可用在中止級(jí)處的計(jì)數(shù)器中的有效縮減信息容量的數(shù)字來調(diào)整早計(jì)寄存器188。該調(diào)整值還會(huì)在管系中、比發(fā)生中止時(shí)的那個(gè)級(jí)更后一些的各管級(jí)的多個(gè)計(jì)數(shù)器上出現(xiàn)。圖10的諸步驟可自動(dòng)反復(fù)直到所有的環(huán)路指令都退出管系200為止。
      ECnt寄存器可以在各個(gè)底匹配(例如用于每次經(jīng)過環(huán)路)處減小數(shù)值。但是,僅僅是單一個(gè)有效的縮減信息容量沿管系向下發(fā)送,而不是在每次底匹配后將整個(gè)ECnt值向下沿管系傳播開去。這樣,就可在DSP系統(tǒng)中實(shí)現(xiàn)減少硬件。計(jì)數(shù)器組可監(jiān)視有效的信息容量以及產(chǎn)生這些信息容量以供發(fā)送的相關(guān)指令。如此,計(jì)數(shù)器組就可連續(xù)監(jiān)視早計(jì)寄存器和其結(jié)構(gòu)對(duì)應(yīng)物之間的動(dòng)態(tài)差異。
      圖11是表示電路中的計(jì)數(shù)器的方框圖。如圖所示,計(jì)數(shù)器可保持在DEC210,211,212和213以后的管系的各級(jí)上。因此,可將單一個(gè)有效的縮減信息容量沿著管系傳播下去用以考慮在早計(jì)寄存器和其結(jié)構(gòu)對(duì)應(yīng)物之間的差異,計(jì)數(shù)器可與多路轉(zhuǎn)換器相連接。各路轉(zhuǎn)換器220可確定用那個(gè)計(jì)數(shù)器(如果有的話)來調(diào)整早計(jì)寄存器36。
      在另一些實(shí)施例中,在某些級(jí)上不會(huì)發(fā)生中止,或者當(dāng)有某個(gè)指令留在某個(gè)級(jí)中時(shí)中止可被抑制住。在這么些實(shí)施例中,可通過在抑制中止的級(jí)中安設(shè)計(jì)數(shù)器來減少電路硬件。
      計(jì)數(shù)器210、211、212和213的寬度可根據(jù)需要來改變。例如,計(jì)數(shù)器210可以是個(gè)1比特計(jì)數(shù)器而計(jì)數(shù)器211可以是一個(gè)2比特計(jì)數(shù)器。計(jì)數(shù)器212和213的最小深度取決于管系執(zhí)行級(jí)n的個(gè)數(shù)。計(jì)數(shù)器210可以是個(gè)1比特計(jì)數(shù)器,因?yàn)樗偸菫閿?shù)值1或0。例如,如果其時(shí)在AC中是底匹配指令則它的數(shù)值為1。當(dāng)該指令離開了AC時(shí),計(jì)數(shù)器回復(fù)到0。
      計(jì)數(shù)器211和下一個(gè)計(jì)數(shù)器(例如用于級(jí)EX2的)可以是2比特計(jì)數(shù)器,盡管本發(fā)明的范圍在這方面并無限制。這是由于計(jì)數(shù)器211(例如EX1計(jì)數(shù)器)可具有一個(gè)最大值2,而EX2計(jì)數(shù)器可具有一個(gè)最大值3。EX3計(jì)數(shù)器可具有一個(gè)最大值4,故它就要3比特的。同樣,以下的三個(gè)計(jì)數(shù)器(例如EX4-EX6)可以是能夠分別表示5-7之間數(shù)值的3比特計(jì)數(shù)器。
      通過考慮計(jì)數(shù)器所要保有的最大值就可確定各級(jí)計(jì)數(shù)器的寬度。這就相當(dāng)于環(huán)路是個(gè)單一指令環(huán)路的情況。因此,計(jì)數(shù)器的深度就相當(dāng)于在該計(jì)數(shù)器和AC之間的級(jí)的個(gè)數(shù)。不過,其尺寸大小也取決于在特定的級(jí)中是否發(fā)生中止,故某些級(jí)可無需計(jì)數(shù)器。
      另一種運(yùn)作模式是調(diào)整早計(jì)寄器的混合方法。如果與排離管系相關(guān)的損失大于轉(zhuǎn)移損失,則可用停留在所選管系的級(jí)上的計(jì)數(shù)器來調(diào)整早計(jì)寄存器。然而,如果了管系損失小于或等于轉(zhuǎn)移損失的話,那么就可以施行管系中的指令,而從其結(jié)構(gòu)對(duì)應(yīng)物來調(diào)整早計(jì)寄存器??筛鶕?jù)管系中發(fā)生中止的地方來選擇系統(tǒng)的運(yùn)作。在一種情況中,如果中止發(fā)生在EX3級(jí)或WB級(jí)中,那么可排離具有3個(gè)執(zhí)行級(jí)的管系,但如果中止發(fā)生在EX3級(jí)之前,那么就可不排離管系而調(diào)整早計(jì)計(jì)數(shù)器。
      圖12表示一混合運(yùn)作模式的流程圖。如圖所示,如果中止230發(fā)生在第n級(jí)之前,則計(jì)數(shù)器可調(diào)整早計(jì)值228。但如果中止230發(fā)生在第n級(jí)之后,那么管的指令可流過管系并施行232。而后再用它們結(jié)構(gòu)對(duì)應(yīng)物233中的數(shù)據(jù)資料來更新早計(jì)寄存器。變量n可限定允許通過管系的指令化費(fèi)小于或等于轉(zhuǎn)移損失234的時(shí)間總量的時(shí)刻。
      圖13表示在前n-1執(zhí)行級(jí)具有計(jì)數(shù)器的混合電路。如果指令已進(jìn)入第n執(zhí)行級(jí),則電路可使管系能夠在中止之后執(zhí)行其指令。但是,如果指令尚未進(jìn)入第n執(zhí)行級(jí),則電路在中止后會(huì)調(diào)整早計(jì)寄存器。另外,變量n可限定允許通過管系的指令化費(fèi)小于或等于轉(zhuǎn)移損失之時(shí)間總量的時(shí)刻。在其他的情況中,變量n可早得多就保留在管系中(例如在轉(zhuǎn)移損失較大之處)。
      諸如環(huán)路寄存器和環(huán)路緩沖器之類的附加環(huán)路硬件會(huì)改進(jìn)快速硬件環(huán)路。在此所說的環(huán)路硬件具有一些優(yōu)點(diǎn)。在某些設(shè)施中,環(huán)路硬件會(huì)遮蓋掉轉(zhuǎn)移損失。此外,還可免除每次環(huán)路反復(fù)循環(huán)都要用到諸如高速緩沖存儲(chǔ)器或SRAM之類的存儲(chǔ)裝置而可使環(huán)路硬件切省能源。另外,以下將述的環(huán)路硬件會(huì)具有極少的編程限制。同時(shí),環(huán)路硬件還可免除會(huì)在編程存儲(chǔ)器中出現(xiàn)的對(duì)接限制。
      再參見圖1,圖1表示出一個(gè)具有執(zhí)行管系4和控制單元6的可編程序處理器2??刂茊卧?包括有硬件環(huán)路單元8。
      硬件環(huán)路單元8可包括串連連接的一組或多組環(huán)路緩沖器。除此之外,硬件環(huán)路單元還包括一個(gè)或多個(gè)單個(gè)指令環(huán)路寄存器。一個(gè)環(huán)路緩沖器和/或環(huán)路寄存器的組群可合在一起而成為環(huán)路硬件。該組群會(huì)改進(jìn)快速硬件環(huán)路。
      再參照?qǐng)D5,圖5是表示硬件環(huán)路單元8與管系10的一指令讀取單元50和一解碼單元52相連接的方框圖。指令讀取單元50可將許多的輸入中的一個(gè)提供給硬件環(huán)路單元8。硬件環(huán)路單元8包括與環(huán)路硬件54相連接的一多路轉(zhuǎn)換器56。環(huán)路硬件54包括一組或多組環(huán)路緩沖器和/或多個(gè)環(huán)路寄存器。此外,這些環(huán)路緩沖器組包括串聯(lián)連接的給定個(gè)數(shù)的緩沖器。每一組環(huán)路緩沖器具有一個(gè)相關(guān)的環(huán)路寄存器。
      圖14是表示硬件環(huán)路單元8的一實(shí)施例的另一方框圖。硬件環(huán)路單元8可與一指令讀取單元50和一解碼器(未圖示)相連接。
      硬件環(huán)路單元8包括一個(gè)與環(huán)路硬件相連接的多路轉(zhuǎn)移器260。環(huán)路硬件包括一組串聯(lián)連接的環(huán)路緩沖器271、272、273和274。這些緩沖器給另一個(gè)多路轉(zhuǎn)移器280提供輸入。多路轉(zhuǎn)移器260和280依次將輸入提供給多路轉(zhuǎn)移器290。多路轉(zhuǎn)移器290的輸出與環(huán)路寄存器296相連,該寄存器反過來又與多路轉(zhuǎn)移器260的輸入相連。硬件環(huán)路單元8的輸出給解碼器提供輸入。
      多路轉(zhuǎn)移器260可具有多個(gè)輸入。這些輸入包括來自寄存器(例如仿效器指令寄存器)的輸入和來自讀取單元50的輸入。此外,多路轉(zhuǎn)移器260還可具有來自環(huán)路指令寄存器的輸入和來自一個(gè)或多個(gè)其他硬件環(huán)路單元的輸入。
      圖14示例性地示出由深度為4的一組環(huán)路緩沖器和單個(gè)指令寄存器所組成的環(huán)路硬件。但是,在其他的一些實(shí)施例中也可采用任意個(gè)數(shù)的緩沖器和/或單個(gè)指令寄存器。
      在所示例的運(yùn)作模式中,環(huán)路緩沖器用于二種不同的情況。在一種情況中,環(huán)路中的每項(xiàng)指令都與環(huán)路緩沖器相適應(yīng)。而在另一種情況中,并非每項(xiàng)指令都與環(huán)路緩沖器相應(yīng)。下面依次對(duì)每種情況進(jìn)行討論。
      圖15是一種情況的說明圖。如圖所示,深度為4的環(huán)路緩沖器組可裝入3指令環(huán)路(I2-I4)。如此環(huán)路緩沖器和VTop寄存器中的一個(gè)不可裝入任何數(shù)據(jù)資料。指令I(lǐng)2-I4可多次執(zhí)行直到出現(xiàn)環(huán)路退出狀態(tài)為止。如圖所示,退出狀態(tài)可在每當(dāng)I4指令從環(huán)路緩沖器發(fā)出時(shí)得以較核。
      圖16是表示一種情況的流程圖。如圖所示,可以發(fā)送指令300,可將指令裝入到環(huán)路緩沖器302,并且可阻斷存儲(chǔ)裝置304。阻斷存器可以節(jié)省輸向DSP系統(tǒng)的功率。在將指令裝入到緩沖器組后302,隨后就可將指令從緩沖器組發(fā)送出去306。指令可一次次地不斷發(fā)送,直到出現(xiàn)環(huán)路退出狀態(tài)為止。
      圖17是表示一種情況的另一種流程圖。如圖所示,可以發(fā)送指令(310),可將指令裝入到環(huán)路緩沖器中(314),可將存儲(chǔ)裝置阻斷(316),并且可將環(huán)路計(jì)數(shù)值予置好(312)。只要不出現(xiàn)環(huán)路退出狀態(tài)(318),環(huán)路計(jì)數(shù)值就可減小(320),且可從一組環(huán)將緩沖器發(fā)送指令(322)。可將存儲(chǔ)裝置阻斷直到環(huán)路計(jì)數(shù)值到達(dá)一給定的數(shù)X為止(316)。而且,X可定為當(dāng)環(huán)路2完成后在讀取單元中環(huán)路之后的下一個(gè)指令可立即準(zhǔn)備就緒。這樣就可避免環(huán)路退出損失。
      在另一些實(shí)施例中,環(huán)路值予置為零312。而后,調(diào)整320是增加環(huán)路值而不是如圖17所示的減小。還有一些實(shí)施例可藉助于圖15-17了解清楚。
      圖18是另一種情況的說明圖。如圖所示,深度為4的環(huán)路緩沖器組可裝入4個(gè)環(huán)路指令(I2-I5)。此外,VTop寄存器可裝環(huán)路中的下一個(gè)指令的地址。VTop可為持留在管系中的地址寄存器(參見圖2、37)。在環(huán)路隨后的反復(fù)循環(huán)中,在讀取了I6時(shí)就可執(zhí)行指令I(lǐng)2-I5。在I5執(zhí)行之后I6當(dāng)即就準(zhǔn)備就續(xù)以付執(zhí)行。在環(huán)路的反復(fù)循環(huán)中可核校退出狀態(tài)。
      圖19是表示圖18情況的流程圖。如圖所示,當(dāng)發(fā)送了第一分組指令時(shí)332,就可將第一分組指令裝入到一組緩沖器中330。接著,第二分組指令即可裝入到寄存器中334。且可發(fā)送到第二分組指令336。在隨后環(huán)路的反復(fù)循環(huán)中(反復(fù)循環(huán)的數(shù)目系由退出狀態(tài)決定338),當(dāng)讀取了第二分組指令時(shí)342,就可將第一分組指令從緩沖器組發(fā)送出去340。而后就可發(fā)送第二分組指令344。
      按照?qǐng)D19的運(yùn)作模式可有幾個(gè)好處。例如,每當(dāng)?shù)谝环纸M指令從緩沖器組發(fā)送時(shí),如果不啟動(dòng)存儲(chǔ)裝置就可節(jié)省功率。此外,在發(fā)送第一分組指令時(shí)讀取第二分組指令可使環(huán)路損失最小化。在一個(gè)實(shí)施例中,環(huán)路緩沖器具有的深度至少可與轉(zhuǎn)移損失相當(dāng)。這樣,與讀取第二分組指令相關(guān)的損失可被發(fā)送第一分組指令掩蓋掉了。這就可加快DSP系統(tǒng)的速度。不過,在其他的、節(jié)省功率為更重要的設(shè)計(jì)特征的(例如用于由電池供電裝置的電路)實(shí)施例中,深度更深的緩沖器會(huì)更加有用。
      第一分組指令可以是與環(huán)路緩沖器組相適應(yīng)的指令個(gè)數(shù)。而第二分組指令則可以是接在緩沖器中所裝入的那些指令之后的環(huán)路中的下一個(gè)指令?;蛘撸诙纸M指令也可以是接在緩沖器中所裝入的那些指令之后的多個(gè)指令。
      圖20是表示上述情況的硬通常的流程圖。如圖所示,可將第一分組指令裝入緩沖器組之中350且將之發(fā)送出去352。如果環(huán)路的所有的指令都與環(huán)路緩沖器相匹配354,那么,存儲(chǔ)裝置就會(huì)阻斷355,且這些指令就可從緩沖器組中連續(xù)發(fā)送出去356,直到出現(xiàn)退出狀態(tài)為止358。
      如果并非所有環(huán)路指令都與環(huán)路緩沖器相匹配354,那么,就可發(fā)送第二分組指令360,且可將這些指令的起動(dòng)地址裝入到寄存器之中362。在隨后的環(huán)路反復(fù)循環(huán)中(如同由退出狀態(tài)所決定的那樣364),當(dāng)從存儲(chǔ)器中讀取了第二分組指令時(shí)368,就可從緩沖器組中發(fā)送第一分組指令366。而后就可發(fā)送第二分組指令370。
      在圖18的情況中,每當(dāng)有一個(gè)底匹配時(shí)就會(huì)對(duì)VTop所指的地址作一次訪問。這樣,在讀取第二分組指令時(shí)就可傳送第一分組指令。
      在環(huán)路中的第一分組指令發(fā)送出去之前已將高速緩沖存儲(chǔ)器接通、并將對(duì)接緩沖器裝填的第二分組指令。對(duì)接緩沖器可持有多個(gè)指令(取決于多個(gè)指令的寬度)。如果第二分組指令包括多個(gè)指令,則可將此多個(gè)指令對(duì)接到對(duì)接緩沖器中,其中,第二分組指令的第一個(gè)指令為一個(gè)與VTop寄存器相關(guān)的指令。
      運(yùn)作還包括在與VTop相關(guān)的指令傳送時(shí)訪問在與VTop相關(guān)的的指令后的下一個(gè)指令。例如,在一種運(yùn)作模式中,與VTop相關(guān)的指令是一個(gè)64比特的指令。當(dāng)此64比特指令傳送時(shí),就讀取下一個(gè)64比特的指令(如同由存儲(chǔ)器中的對(duì)接所決定的那樣)。通過一再地將此重復(fù),DSP系統(tǒng)就可快速高效地傳送指令。
      傳統(tǒng)的裝有硬件環(huán)路的可編程序處理器系統(tǒng)對(duì)其運(yùn)作數(shù)碼有諸多限制。然而,卻又極其希望要提供具有很少的編程限制的硬件環(huán)路。根據(jù)本發(fā)明的一個(gè)系統(tǒng)的實(shí)施例可只有一個(gè)編程限制。此單一個(gè)限制是系統(tǒng)在其環(huán)路底部沒有分支。
      快速硬件環(huán)路會(huì)有環(huán)路緩沖器要求成為失效的情況,這些情況可包括在環(huán)路緩沖器塞滿了條件分支時(shí)的失效。這樣,在一種運(yùn)作模式中,如果在環(huán)路中的前n個(gè)指令中的一個(gè)為條件分支的話,一組環(huán)路緩沖器就會(huì)失效。變量n由環(huán)路緩沖器組的深度來決定。
      環(huán)路緩沖器會(huì)要求失效的另一種情況是在裝載環(huán)路緩沖器時(shí)收到轉(zhuǎn)換信號(hào)。此外,環(huán)路緩沖器會(huì)在用于自調(diào)整碼的C-SYNC之后要求失效。這樣,其他運(yùn)作模式還包括在上述二種情況中出現(xiàn)其一種時(shí)而使環(huán)路緩中器失效。
      零偏置環(huán)路還會(huì)引起其他問題。偏置會(huì)涉及到環(huán)路構(gòu)成指令和環(huán)路中的最初或最后指令之間的距離。在傳統(tǒng)領(lǐng)域的系統(tǒng)中,必須要有偏置來促進(jìn)硬件環(huán)路的構(gòu)成或者用來考慮系統(tǒng)中的編程異常情況。但是,由于零偏置環(huán)路可以減小處理時(shí)間,故要設(shè)零偏置環(huán)路是極其有利的。
      即使在沒有早計(jì)寄存器和環(huán)路緩沖器的系統(tǒng)中,零偏置環(huán)路也會(huì)帶來問題。例如,在上述的系統(tǒng)中,在寫入早計(jì)寄存器之前(例如在EX-1中),零偏置環(huán)路的第一個(gè)指令已經(jīng)在AC之中了。這樣,由于甚至在ETop和EBot被寫入之前環(huán)路之初就已存在DEC了,故電路極易“錯(cuò)過”頂匹配。
      已設(shè)計(jì)了特殊運(yùn)作模式和電路裝置來檢測(cè)和處理零偏置環(huán)路,在一種運(yùn)作模式中,將環(huán)路構(gòu)成指令中的起動(dòng)偏置(S-偏置)與一個(gè)已知值相比較用以檢測(cè)零偏置。這樣就建成了零偏置的早期檢測(cè)。在一個(gè)特定的實(shí)施例中,系將S-偏置與4來作比較。(此處,4系指32比特指令的4個(gè)比特)。一旦完成檢測(cè),即使在早計(jì)寄存器被寫入之前也能夠構(gòu)成零偏置環(huán)路。
      圖21是表示用于檢測(cè)零偏置環(huán)路的運(yùn)作模式的流程圖。如圖所示,可將一環(huán)路構(gòu)成指令解碼380。而后,將S-偏置與給定數(shù)字相比較382(該給定的數(shù)字相當(dāng)于環(huán)路構(gòu)成指令的寬度)。這樣,即使在早計(jì)寄存器被寫入之前也可檢測(cè)零偏置環(huán)路。如果檢測(cè)到了零偏置環(huán)路384的話,如上所述,就可將環(huán)路中的下面n個(gè)指令發(fā)送出去并裝入環(huán)路緩沖器386。
      圖22是表示用以檢測(cè)和處理單個(gè)指令零偏置環(huán)路特殊情況之運(yùn)作模式的流程圖。如圖所示,可將環(huán)路構(gòu)成指令解碼388。如果檢測(cè)到了零偏置390,并且起動(dòng)偏置與終止偏置相等392,那么,即可實(shí)施單個(gè)指令環(huán)路394。在S-偏置與環(huán)路構(gòu)成指令寬度相等時(shí)可檢測(cè)到零偏置。而當(dāng)S-偏置與e-偏置相等時(shí)可檢測(cè)到單個(gè)指令環(huán)路。
      特殊的硬件促進(jìn)盡快地構(gòu)成和執(zhí)行單個(gè)指令環(huán)路。再參見圖14,可將環(huán)路寄存器296用于這些特殊情況。這樣,可通過給環(huán)路硬件(諸如環(huán)路寄存器296)裝載單個(gè)指令、且將該指令反復(fù)地送出硬件環(huán)路單元8直到出現(xiàn)單個(gè)指令環(huán)路的退出狀態(tài)為止來完成步驟394。
      可通過將一特殊環(huán)路指令寄存器296中的解碼器指令保持住(參見圖14)來檢測(cè)單個(gè)指令環(huán)路而后又執(zhí)行之。此外,存儲(chǔ)裝置不會(huì)接通,且其上游各級(jí)都被阻斷,用以節(jié)省功率。而且,由于單個(gè)指令環(huán)路被發(fā)送到環(huán)路指令寄存器296以外,故指令讀取單元50可自由讀取下一個(gè)指令(例如,來自一高速緩沖器的)。這樣,當(dāng)單個(gè)指令環(huán)路已結(jié)束執(zhí)行時(shí),下一個(gè)指已經(jīng)處在指令讀取單元50之中了,從而可形成零環(huán)路退出。
      類似地,零偏置硬件環(huán)路可分為三種情況。在第一種情況中,零偏置個(gè)指令環(huán)路可通過環(huán)路指令寄存器立即發(fā)送到解碼器以外。在第二種情況中,零偏置n-指令環(huán)路可立即被檢測(cè)到并完全裝載到一個(gè)深度為n的環(huán)路緩沖器組中。而在第三種情況中,零偏置環(huán)路可立即被檢測(cè)到并且該環(huán)路的第一n-指令被裝入到一個(gè)深度為n的環(huán)路緩沖器組中。下一個(gè)指令可以與VTop寄存器相關(guān)連。
      在一實(shí)施例中,如上所述,環(huán)路硬件可安設(shè)在管系中。這就比將緩沖器安設(shè)在高速緩沖存儲(chǔ)器中要好得多。
      在一種運(yùn)作模式中,環(huán)路指令可存儲(chǔ)在環(huán)路硬件中,而使其與指令邊界相對(duì)接。這就比將指令與地址邊界對(duì)接要好得多。一旦與環(huán)路硬件中的指令邊界對(duì)接了,在它們隨后從環(huán)路硬件發(fā)送出來時(shí)就無須再作指令對(duì)接了。
      為了將指令與指令邊界對(duì)接,可將一組指令以執(zhí)行命令的方式裝入到環(huán)路硬件中去,且可將下一個(gè)指令的地址存儲(chǔ)在地址寄存器中。此外,可將第二組指令以執(zhí)行命令的方式裝入到存儲(chǔ)裝置中去。將指令以執(zhí)行命令的方式裝入到環(huán)路硬件中去可包括將n個(gè)隨后的指令裝入到n個(gè)緩沖器中,這里n是個(gè)正整數(shù)。而且,此n個(gè)隨后的指令可以是任意的隨后的指令,它包括最初的n個(gè)環(huán)路指令或者最后的n個(gè)環(huán)路指令。
      在其他的實(shí)施例中(如圖23A-23C所示)可設(shè)置許多硬件環(huán)路單元。任意個(gè)數(shù)的硬件環(huán)路單元的輸出都可與一個(gè)或多個(gè)其他的硬件環(huán)路單元的各個(gè)輸入相連接。這樣,可通過第一硬件環(huán)路單元的輸出來裝載第二硬件環(huán)路單元。這樣,對(duì)裝載第二硬件環(huán)路單元也可同存儲(chǔ)裝置不啟動(dòng)同樣地節(jié)省功率。
      在某些情況中,可用多個(gè)環(huán)路單元來作嵌套環(huán)路(或者是套管環(huán)路)運(yùn)作。內(nèi)部硬件環(huán)路單元可保持住一個(gè)或多個(gè)在外部硬件環(huán)路單元中對(duì)接好的指令。而且,還可將對(duì)接的指令從外部硬件環(huán)路單元發(fā)送到內(nèi)部硬件環(huán)路單元的輸入上來裝載內(nèi)部硬件環(huán)路單元。
      在又一些其他實(shí)施例中,安設(shè)有多個(gè)獨(dú)立的硬件環(huán)路單元。但是,如果在相同的DSP系統(tǒng)中采用二個(gè)或二個(gè)以上的獨(dú)立的硬件環(huán)路單元的話,要加以限制條件。例如,當(dāng)二個(gè)環(huán)路都具有相同的底指令時(shí),該二環(huán)路中之一要規(guī)定為外部環(huán)路。如果無此限制則電路就會(huì)有二個(gè)底匹配,就不知道該把哪一個(gè)的數(shù)值減小。
      另外的又一種運(yùn)行模式包括硬件環(huán)路的功率管制。當(dāng)使硬件環(huán)路工作時(shí),將ETop寄存器去與PC作比較,用以考慮各個(gè)頂匹配。類似地,將EBot寄存器去與PC作比較,用以考慮各個(gè)底匹配。但是,當(dāng)硬件環(huán)路不工作時(shí),只有比較器電路中的開關(guān)動(dòng)作才消耗功率。因此,在硬件環(huán)路不工作時(shí)使底匹配和頂匹配比較器電路也不工作將會(huì)是有好處的。通過在硬件環(huán)路工作時(shí)選擇給比較器的輸入來停止比較器的運(yùn)作可節(jié)省功率。
      圖24是表示功率節(jié)省電路的一個(gè)示例性的實(shí)施例。ETop寄存器400和EBot寄存器402分別將許多輸入中的一個(gè)提供給多路轉(zhuǎn)換器404和406。多路轉(zhuǎn)換器404和406的輸出可以是比較器408和410的輸入。輸給比較器408和410的其他的輸入可來自多路轉(zhuǎn)換器412的輸出。多路轉(zhuǎn)換器412的輸入可來自程序計(jì)數(shù)器414,環(huán)路工作停止信號(hào)416來自一控制單元。多路轉(zhuǎn)換器404、406和412可設(shè)置成當(dāng)硬件環(huán)路不工作時(shí),使多路轉(zhuǎn)換器412的輸出與多路轉(zhuǎn)換器404和406的輸出不同。這就可確保在硬件環(huán)路停止工作時(shí)在比較器408和410中沒有開關(guān)動(dòng)作。
      在另一個(gè)實(shí)施例中,將相同的環(huán)路工作停止信號(hào)416送給多路轉(zhuǎn)換器404,406和412。不過,在多路轉(zhuǎn)換器412接收該信號(hào)之前有一個(gè)倒向器(未圖示)將一信息存儲(chǔ)單元倒向。這樣,當(dāng)環(huán)路工作停止信號(hào)送入電路時(shí),多路轉(zhuǎn)換器412的輸出就與多路轉(zhuǎn)換器404和406的不同。
      圖24也示出一個(gè)用于使ECnt寄存器418的數(shù)值增加的示例性電路。在該環(huán)路的各通道上,多路轉(zhuǎn)換器420可使ECnt寄存器的數(shù)值減小。不過,如果必須,調(diào)整信號(hào)(例如修整值422)可相應(yīng)地調(diào)整ECnt。一旦環(huán)路完成了它的最后反復(fù)循環(huán),比較器424就發(fā)送表明它的信號(hào)425。
      圖24說明如何檢測(cè)底匹配和頂匹配。當(dāng)比較器410檢測(cè)到程序計(jì)數(shù)器412和ETop寄存器具有相同值時(shí),就發(fā)送一個(gè)頂匹配值428。當(dāng)比較器408檢測(cè)到程序計(jì)數(shù)器和EBot寄存器具有相同值時(shí),就發(fā)送出一個(gè)底匹配信號(hào)430。
      最后,圖24表示設(shè)置在管系中的VTop寄存器432。如所述,VTop可以是地址寄存器,它可將接在多個(gè)裝入環(huán)路硬件(未圖示)的指令之后的下一個(gè)指令的地址保持住。
      以上已描述了本發(fā)明的各種實(shí)施例。例如,已描述了多種用于安設(shè)在處理器中的硬件環(huán)路的技術(shù)。處理器可設(shè)置在各種系統(tǒng)中,這些系統(tǒng)包括通用的計(jì)算機(jī)系統(tǒng)、數(shù)字處理系統(tǒng)、超小型計(jì)算機(jī),個(gè)人數(shù)字處理裝置(PDA)以及蜂窩電話。在本文中,以上所討論的硬件環(huán)路可便于提高處理速度而不致過大地增加功率消耗。在這種系統(tǒng)中,可將處理器與一個(gè)存儲(chǔ)裝置連用,該存儲(chǔ)裝置可以是諸如快速存儲(chǔ)裝置或儲(chǔ)存有一個(gè)運(yùn)作系統(tǒng)和其他應(yīng)用軟件的統(tǒng)計(jì)隨機(jī)過程存儲(chǔ)器(SRAM)。這些實(shí)施例和其他實(shí)施例都包括在下述權(quán)利要求的范圍之內(nèi)。
      權(quán)利要求
      1.一種方法,其特征在于,包括將一個(gè)環(huán)路構(gòu)成指令解碼;從環(huán)路構(gòu)成指令中檢測(cè)零偏置環(huán)路;以及接在環(huán)路構(gòu)成指令后發(fā)送下一個(gè)指令來作為環(huán)路中的第1指令。
      2.如權(quán)利要求1中所述的方法,其特征在于,在將環(huán)路的環(huán)路狀態(tài)寫入到一組寄存器以前檢測(cè)零偏置環(huán)路。
      3.如權(quán)利要求1中所述的方法,其特征在于,該方法還包括將指令裝入環(huán)路硬件,裝入環(huán)路硬件中的第1個(gè)指令是接在環(huán)路構(gòu)成指令后的下一個(gè)指令。
      4.如權(quán)利要求3中所述的方法,其特征在于,該方法還包括在環(huán)路隨后的反復(fù)循環(huán)過程中從環(huán)路硬件發(fā)送至少幾個(gè)指令。
      5.如權(quán)利要求1中所述的方法,其特征在于,該方法還包括從環(huán)路構(gòu)成指令檢測(cè)單個(gè)指令環(huán)路。
      6.如權(quán)利要求5中所述的方法,其特征在于,該方法還包括將接在環(huán)路構(gòu)成指令后的下一個(gè)指令裝入環(huán)路寄存器。
      7.如權(quán)利要求6中所述的方法,其特征在于,該方法還包括在環(huán)路隨后的反復(fù)循環(huán)過程中,從環(huán)路寄存器來發(fā)送下一個(gè)指令。
      8.如權(quán)利要求1中所述的方法,其特征在于,通過將環(huán)路構(gòu)成指令中的起動(dòng)偏置與一給定數(shù)值相比較來檢測(cè)零偏置。
      9.如權(quán)利要求8中所述的方法,其特征在于,通過將環(huán)路構(gòu)成指令中的起動(dòng)偏置與環(huán)路構(gòu)成指令的寬度相比較來檢測(cè)零偏置。
      10.一種裝置,其特征在于,包括一控制單元,適宜于用來從環(huán)路構(gòu)成指令中檢測(cè)零偏置環(huán)路;以及環(huán)路硬件。
      11.如權(quán)利要求10中所述的裝置,其特征在于,環(huán)路硬件包括至少2個(gè)并聯(lián)連接的環(huán)路緩沖器;并且,該控制單元適宜于用來發(fā)送指令并將至少幾個(gè)指令裝入至少2個(gè)環(huán)路緩路器;裝入緩沖器的第1指令是在環(huán)路構(gòu)成指令后的下一個(gè)指令。
      12.如權(quán)利要求11中所述的裝置,其特征在于,該控制單元適宜于用來從環(huán)路緩沖器發(fā)送指令以使環(huán)路接著反復(fù)循環(huán)。
      13.如權(quán)利要求10中所述的裝置,其特征在于,該控制單元適宜于用來檢測(cè)單個(gè)指令環(huán)路。
      14.如權(quán)利要求13中所述的裝置,其特征在于,環(huán)路硬件包括單個(gè)指令環(huán)路寄存器,而控制單元適宜于用來接在環(huán)路構(gòu)成指令后發(fā)送下一個(gè)指令并在檢測(cè)到零偏置單個(gè)指令環(huán)路后,將該下一個(gè)指令裝入單個(gè)指令環(huán)路寄存器。
      15.如權(quán)利要求14中所述的裝置,其特征在于,該控制單元適宜于用來從單個(gè)指令環(huán)路寄存器發(fā)送下一個(gè)有關(guān)環(huán)路隨后作反復(fù)循環(huán)的指令。
      16.一個(gè)系統(tǒng),其特征在于,它包括一SRAM存儲(chǔ)裝置;以及一與該存儲(chǔ)裝置相連的處理器,該處理器的特征在于,它含有一控制單元,該控制單元適宜于用來將環(huán)路構(gòu)成指示解碼;從環(huán)路構(gòu)成指令檢測(cè)零偏置環(huán)路;以及發(fā)送接在環(huán)路構(gòu)成指令后的下一個(gè)指令來作為環(huán)路中的第1指令。
      17.如權(quán)利要求16所述的系統(tǒng),其特征在于,該控制單元適宜于用來在環(huán)路狀態(tài)被定寫入到一組寄存器之前檢測(cè)零偏置環(huán)路。
      18.如權(quán)利要求16所述的系統(tǒng),其特征在于,該控制單元適宜于用來將指令裝入環(huán)路硬件,裝入環(huán)路硬件的第1指令是接在環(huán)路構(gòu)成指令后的下一個(gè)指令。
      19.如權(quán)利要求18所述的系統(tǒng),其特征在于,該控制單元適宜于用來在環(huán)路隨后的反復(fù)循環(huán)過程中從環(huán)路硬件發(fā)送至少一幾個(gè)指令。
      20.如權(quán)利要求16所述的系統(tǒng),其特征在于,該控制單元適宜于用來從環(huán)路構(gòu)成指令檢測(cè)單個(gè)指令環(huán)路。
      21.如權(quán)利要求20所述的系統(tǒng),該系統(tǒng)還包括一個(gè)環(huán)路寄存器,其特征在于,該控制單元適宜于用來在檢測(cè)到單個(gè)指令零偏置后將下一個(gè)指令裝入環(huán)路寄存器中。
      22.如權(quán)利要求21所述的系統(tǒng),其特征在于,該控制單元適宜于用來在隨后環(huán)路的反復(fù)循環(huán)過程中從環(huán)路存儲(chǔ)器發(fā)送下一個(gè)指令。
      23.如權(quán)利要求16所述的系統(tǒng),其特征在于,該控制單元適宜于用來通過將環(huán)路構(gòu)成指令中的起始偏置值與給定數(shù)字相比較而來檢測(cè)零偏置。
      24.如權(quán)利要求23中所述的系統(tǒng),其特征在于,該給定的數(shù)字相當(dāng)于環(huán)路構(gòu)成指令的寬度。
      25.一種方法,其特征在于,包括將一個(gè)環(huán)路構(gòu)成指令解碼;從環(huán)路構(gòu)成指令檢測(cè)環(huán)路的頂和底正指向同一指令;以及執(zhí)行單一指令環(huán)路。
      26.如權(quán)利要求25所述的方法,其特征在于,執(zhí)行單一指令環(huán)路包括將指令發(fā)送到解碼級(jí)之外;將該指令裝入環(huán)路寄存器;以及從該環(huán)路寄存器重新再發(fā)送該指令。
      27.如權(quán)利要求26所述的方法,其特征在于,該指令是第1指令,該方法還包括讀取接在該單個(gè)指令環(huán)路后的第2指令。
      28.如權(quán)利要求27所述的系統(tǒng),該方法還包括在從環(huán)路寄存器再發(fā)送第1指令給定次數(shù)以后再發(fā)送第2指令。
      29.如權(quán)利要求25所述的方法,其特征在于,環(huán)路構(gòu)成指令包括起動(dòng)偏置和終止偏置;并且,從環(huán)路構(gòu)成指令來作環(huán)路的頂和底正指而同一指令的檢測(cè)包括確定起動(dòng)偏置和終止偏置相等。
      30.如權(quán)利要求25所述的方法,其特征在于,還包括從環(huán)路構(gòu)成指令檢測(cè)零偏置;以及發(fā)送緊接在環(huán)路構(gòu)成指令后的下一個(gè)指令來作為零偏置單個(gè)指令環(huán)路中的第1指令。
      31.如權(quán)利要求30所述的方法,其特征在于,檢測(cè)零偏置包括將起動(dòng)偏置和給定數(shù)字相比較。
      32.如權(quán)利要求31所述的方法,其特征在于,檢測(cè)零偏置包括將起動(dòng)偏置和環(huán)路構(gòu)成指令的寬度相比較。
      33.一種裝置,其特征在于,包括一控制單元,適宜于用來從環(huán)路構(gòu)成指令檢測(cè)環(huán)路的頂和底正指向同一個(gè)指令;以及環(huán)路硬件。
      34.如權(quán)利要求33所述的裝置,其特征在于,環(huán)路硬件包括至少一個(gè)單個(gè)指令環(huán)路寄存器,并且,該控制單元適宜于用來在從環(huán)路構(gòu)成指令檢測(cè)環(huán)路的頂和底正指向同一指令后將指令裝入該單個(gè)指令環(huán)路寄存器。
      35.如權(quán)利要求34所述的裝置,其特征在于,該控制單元適宜于用來從單個(gè)指令環(huán)路寄存器發(fā)送有關(guān)使環(huán)路作反復(fù)循環(huán)的指令。
      36.如權(quán)利要求33所述的裝置,其特征在于,該控制單元適宜于用來從環(huán)路構(gòu)成指令檢測(cè)零偏置環(huán)路,且發(fā)送緊接在環(huán)路結(jié)構(gòu)指令后的下一個(gè)指令來作用零偏置單個(gè)指令環(huán)路中的第1指令。
      37.如權(quán)利要求36所述的裝置,其特征在于,檢測(cè)零偏置環(huán)路包括將起動(dòng)偏置與給定的數(shù)字相比較。
      38.如權(quán)利要求37中所述的裝置,其特征在于,該給定的數(shù)字相應(yīng)于環(huán)路構(gòu)成指令的寬度。
      39.一種系統(tǒng),其特征在于,包括一個(gè)SRAM存儲(chǔ)裝置;以及一個(gè)與有存儲(chǔ)裝置相連的處理器,其特征在于,該處理器包括一控制單元,該控制單元適宜于用來將環(huán)路構(gòu)成指令解碼;從環(huán)路構(gòu)成指令檢測(cè)環(huán)路的頂和底正指向同一指令;以及執(zhí)行單個(gè)指令環(huán)路。
      40.如權(quán)利要求39的系統(tǒng),該系統(tǒng)還包括單個(gè)指令環(huán)路寄存器,其特征在于,單個(gè)指令寄存器包括將環(huán)路指令發(fā)送到解碼級(jí)以外;將環(huán)路指令裝入環(huán)路寄存器;以及從環(huán)路寄存器再發(fā)送環(huán)路指令。
      41.如權(quán)利要求39中所述的系統(tǒng),其特征在于,該控制單元還適宜于用來從環(huán)路構(gòu)成指令檢測(cè)零偏置環(huán)路,且發(fā)送緊接在環(huán)路構(gòu)成指令后的下一個(gè)指令來作為零偏置單個(gè)指令環(huán)路中的第1指令。
      42.如權(quán)利要求41中所述的系統(tǒng),其特征在于,檢測(cè)零偏置環(huán)路包括將起動(dòng)偏置與給定的數(shù)字相比較。
      43.如權(quán)利要求42中所述的系統(tǒng),其特征在于,該給定的數(shù)字相當(dāng)于環(huán)路構(gòu)成指令的寬度。
      44.如權(quán)利要求40中所述的系統(tǒng),其特征在于,環(huán)路指令是第1指令,該控制單元還適宜于用來讀取接在單個(gè)指令環(huán)路后的第2指令。
      45.如權(quán)利要求44中所述的系統(tǒng),其特征在于,該控制單元還適宜于用來在從環(huán)路寄存器發(fā)送第1指令給定數(shù)字的次數(shù)后發(fā)送第2指令。
      全文摘要
      本發(fā)明的一個(gè)實(shí)施例構(gòu)成一個(gè)可編程序處理器,用以支持一環(huán)路構(gòu)成指令,可以將此環(huán)路構(gòu)成指令的數(shù)碼解碼,還可從此環(huán)路構(gòu)成指令檢測(cè)零偏置環(huán)路。隨后,就可立刻將該指令串中的下一個(gè)指令作為環(huán)路中的第1指令發(fā)送出去。此環(huán)路構(gòu)成指令還可用來檢測(cè)單個(gè)指令環(huán)路。
      文檔編號(hào)G06F9/32GK1471667SQ01818089
      公開日2004年1月28日 申請(qǐng)日期2001年10月31日 優(yōu)先權(quán)日2000年11月2日
      發(fā)明者R·P·辛格, C·P·羅斯, G·A·奧弗坎普, R P 辛格, 奧弗坎普, 羅斯 申請(qǐng)人:英特爾公司, 模擬設(shè)備股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1