亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種浮點協(xié)處理器及相應(yīng)的配置、控制方法

文檔序號:6338563閱讀:375來源:國知局
專利名稱:一種浮點協(xié)處理器及相應(yīng)的配置、控制方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種浮點協(xié)處理器及相應(yīng)的配置、控制方法,特別是支持Cordic算法 的浮點協(xié)處理器。
背景技術(shù)
目前在無線通信信號處理中使用的浮點協(xié)處理器為了能夠支持三角函數(shù)、算術(shù) 運算、指數(shù)、平方根等多種函數(shù)的運算,普遍使用Cordic (Coordinate Rotation Digital Computer,標(biāo)旋轉(zhuǎn)數(shù)字計算方法)算法進行協(xié)處理器設(shè)計。通過軟件對浮點協(xié)處理器進行配 置和啟動,包括配置協(xié)處理器的操作碼、操作數(shù)以及啟動信號等等。然后協(xié)處理器通過配置 信息開始進行譯碼和使用Cordic運算單元進行迭代運算,當(dāng)運算完成之后,Cordic運算單 元將運算結(jié)果返回到相關(guān)的寄存器中以便軟件讀取運算結(jié)果和異常等信息。因為數(shù)據(jù)運算 的需要,協(xié)處理器支持的運算種類繁多,包括正弦、余弦、加減乘除、指數(shù)、數(shù)據(jù)格式轉(zhuǎn)換等 各種類型,而每種類型的運算需要的時鐘周期數(shù)和時間并不相同,從幾個周期到幾十個周 期不等,比如加減法運算只需要6個周期就可以完成運算,而平方根運算需要60個周期左 右。并且,通過對各種算法的運算方程式和方程組的分析可知,加減法這樣的運算類型占到 所有運算的60%左右的比例。
Cordic浮點協(xié)處理器作為SOC系統(tǒng)的一部分,用于軟件在進行浮點等式或者方程 式運算時進行硬件加速。圖1為浮點協(xié)處理器軟件操作流程。對于一個浮點操作,軟件通 過CPU和系統(tǒng)總線按順序配置浮點協(xié)處理器的操作碼寄存器、操作數(shù)寄存器以及啟動寄存 器。然后通過查詢浮點協(xié)處理器的狀態(tài)寄存器的完成標(biāo)志位判斷浮點運算是否完成,浮點 協(xié)處理器運算完成之后,置位完成標(biāo)志位,軟件查詢到之后進行異常的檢測。如果運算過程 中出現(xiàn)異常,軟件通過操作和異常的種類進行相關(guān)處理,重新啟動或者進行軟件復(fù)位。否則 CPU讀取運算結(jié)果寄存器返回運算結(jié)果。
對于上述的浮點操作流程,對于一個浮點操作來說,操作運算時間包括CPU配置 寄存器時間,Cordic運算時間以及異常及結(jié)果讀取時間。對于目前普遍的軟件操作來說, 寄存器配置以及狀態(tài)和運算結(jié)果的讀取通常都通過CPU采用imcache的方式來進行,根據(jù) CPU流水線級數(shù)的不同一般需要8-12個總線時鐘周期。顯而易見,對于一個相對簡單的操 作來說,整體的運算時間大部分都是用于寄存器的配置以及運算狀態(tài)和結(jié)果的讀取。以加 法為例,Cordic運算時間只需要6個周期,而寄存器配置以及狀態(tài)和結(jié)果讀取需要1614個 周期;對于使用Cordic迭代的運算,Cordic運算時間為20個周期,寄存器配置及狀態(tài)和結(jié) 果讀取同樣需要16-M個周期。也就是說,整個浮點運算的運算時間有50%左右在進行寄 存器配置和讀寫。發(fā)明內(nèi)容
本發(fā)明的目的通過多操作的配置,減少Cordic浮點協(xié)處理器在進行等式或方程 式運算時軟件通過CPU配置和讀寫協(xié)處理器的次數(shù),從而減少協(xié)處理器的總體運算時間,提高協(xié)處理器的運算性能。
本發(fā)明是這樣實現(xiàn)的一種浮點協(xié)處理器,所述處理器包括,配置寄存器及狀態(tài)和 結(jié)果寄存器,多操作運算控制電路以及Cordic迭代運算引擎,所述配置寄存器包括復(fù)數(shù)個 操作使能寄存器,復(fù)數(shù)個操作碼寄存器,操作數(shù)寄存器以及啟動寄存器,所述操作使能寄 存器用于對所述操作碼寄存器進行使能;所述多操作運算控制電路根據(jù)所述操作使能寄存 器的配置完成多個所述操作碼寄存器所配置的操作。
更進一步,所述狀態(tài)和結(jié)果寄存器包括運算狀態(tài)寄存器、異常標(biāo)識寄存器及結(jié)果 寄存器。
更進一步,所述結(jié)果寄存器包括2個64位的寄存器組。
更進一步,所述復(fù)數(shù)個操作碼寄存器及復(fù)數(shù)個操作使能寄存器為8個。
本發(fā)明還提供一種用于上述浮點協(xié)處理器的配置方法,所述方法包括,系統(tǒng)配置 復(fù)數(shù)個操作使能寄存器;系統(tǒng)配置復(fù)數(shù)個操作碼寄存器;系統(tǒng)配置操作數(shù)寄存器;配置啟 動寄存器并啟動所述配置的復(fù)數(shù)個操作碼寄存器中所對應(yīng)的操作;系統(tǒng)檢查操作是否完 成;系統(tǒng)檢查是否有異常操作;系統(tǒng)讀取運算結(jié)果寄存器。
本發(fā)明還提供一種用于上述浮點協(xié)處理器的控制方法,所述控制方法包括,多操 作控制階段、單操作控制階段以及Cordic迭代運算階段;所述多操作控制階段包括譯碼階 段和結(jié)束階段,所述單操作控制階段包括解析階段及后期處理階段;所述譯碼階段將配置 寄存器配置的多操作分解為單個操作并進入單操作控制階段;所述解析階段將所述單個操 作進行分解控制,準(zhǔn)備Cordic迭代控制階段所需要的操作數(shù)并進入Cordic迭代運算階段; 所述Cordic迭代運算階段進行一次Cordic迭代運算后進入所述后期處理階段;所述后期 處理階段將Cordic的運算結(jié)果進行規(guī)范化處理后進入所述結(jié)束階段;所述結(jié)束階段將當(dāng) 前操作的運算結(jié)果寫入到相應(yīng)的目的寄存器中,并對操作出現(xiàn)的異常進行編碼和保存,完 成當(dāng)前操作。
更進一步,所述結(jié)束階段如果在協(xié)處理器中還有其他配置的操作沒有完成,進入 所述譯碼階段開始進行下一個操作。
更進一步,所述后期處理階段如果當(dāng)前操作仍然需要進行Cordic迭代,進入 Cordic迭代運算階段進行下一次迭代。
采用該方法后,可以通過多操作的配置進行等式和方程式的運算,減少等式和方 程式的整體運算時間,并且通過層次化的運算控制模式進行多操作運算的控制。


圖1為浮點協(xié)處理器軟件操作流程; 圖2為本發(fā)明的浮點協(xié)處理器電路結(jié)構(gòu)圖; 圖3為操作碼配置寄存器說明;圖4為多操作操作數(shù)和結(jié)果運算示意圖; 圖5為多操作軟件操作流程; 圖6為二種配置模式的運算時間比較; 圖7為多操作配置模式層次化控制。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
圖2為本發(fā)明的浮點協(xié)處理器電路結(jié)構(gòu)圖。如圖2所示,為了支持多操作的配置, 增加了一些配置寄存器以及狀態(tài)和結(jié)果寄存器,左邊是浮點協(xié)處理器的配置寄存器110,中 間部分是多操作運算控制電路111以及CordiC迭代運算引擎113,右邊是狀態(tài)和結(jié)果寄存 器 112。
在配置寄存器110中,包括有操作使能寄存器101,操作碼寄存器102,操作數(shù)寄存 器103以及啟動寄存器104。在本發(fā)明的浮點協(xié)處理器中,最多可支持同時配置8個操作, 這樣,處理器一共有8個操作碼寄存器,6個操作數(shù)寄存器,1個啟動寄存器,操作數(shù)寄存器 標(biāo)號依次為1-6。
在狀態(tài)和結(jié)果寄存器112中,有標(biāo)示運算完成的運算狀態(tài)寄存器105,異常標(biāo)識寄 存器106以及結(jié)果寄存器107。其中結(jié)果寄存器107包括4個32位的寄存器組,可以用于 返回二個64位的雙精度浮點運算結(jié)果,結(jié)果寄存器標(biāo)號為7和8,本發(fā)明中定義二個結(jié)果 寄存器編號分別為寄存器7和寄存器8。
操作使能寄存器101用于對配置的操作進行使能,最多可以配置8個操作。在操 作使能寄存器的低8位的每個bit位對應(yīng)一個操作。如果相應(yīng)的bit位置1,那么對應(yīng)的操 作0-7就會被使能。定義8個操作分別為0P0-0P7。本發(fā)明的浮點協(xié)處理器僅支持從OPO 開始的連續(xù)操作,不支持非OPO開始以及非連續(xù)使能操作,有效配置如表1
權(quán)利要求
1.一種浮點協(xié)處理器,其特征在于,所述處理器包括,配置寄存器及狀態(tài)和結(jié)果寄存 器,多操作運算控制電路以及CordiC迭代運算引擎,所述配置寄存器包括復(fù)數(shù)個操作使能 寄存器,復(fù)數(shù)個操作碼寄存器,操作數(shù)寄存器以及啟動寄存器,所述操作使能寄存器用于 對所述操作碼寄存器進行使能;所述多操作運算控制電路根據(jù)所述操作使能寄存器的配置 完成多個所述操作碼寄存器所配置的操作。
2.如權(quán)利要求1所述的浮點協(xié)處理器,其特征在于,所述狀態(tài)和結(jié)果寄存器包括運算 狀態(tài)寄存器、異常標(biāo)識寄存器及結(jié)果寄存器。
3.如權(quán)利要求2所述的浮點協(xié)處理器,其特征在于,所述結(jié)果寄存器包括2個64位的 寄存器組。
4.如權(quán)利要求3所述的浮點協(xié)處理器,其特征在于,所述復(fù)數(shù)個操作碼寄存器及復(fù)數(shù) 個操作使能寄存器為8個。
5.一種用于如權(quán)利要求1所述浮點協(xié)處理器的配置方法,其特征在于,所述方法包括, 系統(tǒng)配置復(fù)數(shù)個操作使能寄存器;系統(tǒng)配置復(fù)數(shù)個操作碼寄存器;系統(tǒng)配置操作數(shù)寄存 器;配置啟動寄存器并啟動所述配置的復(fù)數(shù)個操作碼寄存器中所對應(yīng)的操作;系統(tǒng)檢查操 作是否完成;系統(tǒng)檢查是否有異常操作;系統(tǒng)讀取運算結(jié)果寄存器。
6.一種用于如權(quán)利要求1所述浮點協(xié)處理器的控制方法,其特征在于,所述控制方法 包括,多操作控制階段、單操作控制階段以及Cordic迭代運算階段;所述多操作控制階段 包括譯碼階段和結(jié)束階段,所述單操作控制階段包括解析階段及后期處理階段;所述譯碼 階段將配置寄存器配置的多操作分解為單個操作并進入單操作控制階段;所述解析階段將 所述單個操作進行分解控制,準(zhǔn)備Cordic迭代控制階段所需要的操作數(shù)并進入Cordic迭 代運算階段;所述Cordic迭代運算階段進行一次Cordic迭代運算后進入所述后期處理階 段;所述后期處理階段將Cordic的運算結(jié)果進行規(guī)范化處理后進入所述結(jié)束階段;所述結(jié) 束階段將當(dāng)前操作的運算結(jié)果寫入到相應(yīng)的目的寄存器中,并對操作出現(xiàn)的異常進行編碼 和保存,完成當(dāng)前操作。
7.如權(quán)利要求6所述的浮點協(xié)處理器的控制方法,其特征在于,所述結(jié)束階段如果在 協(xié)處理器中還有其他配置的操作沒有完成,進入所述譯碼階段開始進行下一個操作。
8.如權(quán)利要求7所述的浮點協(xié)處理器的控制方法,其特征在于,所述后期處理階段如 果當(dāng)前操作仍然需要進行Cordic迭代,進入Cordic迭代運算階段進行下一次迭代。
全文摘要
一種浮點協(xié)處理器,所述處理器包括,配置寄存器及狀態(tài)和結(jié)果寄存器,多操作運算控制電路以及Cordic迭代運算引擎,所述配置寄存器包括復(fù)數(shù)個操作使能寄存器,復(fù)數(shù)個操作碼寄存器,操作數(shù)寄存器以及啟動寄存器,所述操作使能寄存器用于對所述操作碼寄存器進行使能;所述多操作運算控制電路根據(jù)所述操作使能寄存器的配置完成多個所述操作碼寄存器所配置的操作。采用該方法后,可以通過多操作的配置進行等式和方程式的運算,減少等式和方程式的整體運算時間,并且通過層次化的運算控制模式進行多操作運算的控制。
文檔編號G06F9/30GK102043609SQ20101058664
公開日2011年5月4日 申請日期2010年12月14日 優(yōu)先權(quán)日2010年12月14日
發(fā)明者李松 申請人:東莞市泰斗微電子科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1