本發明提供一種平行架構核心(PAC)處理器分配暫存器之方法。該PAC處理器包含一第一叢集及一第二叢集。每一叢集包含一第一功能單元、一第二功能單元、一連接至該第一功能單元之第一局部暫存器檔案、一連接至該第二功能單元之第二局部暫存器檔案及一具有一由一第一暫存器庫及一第二暫存器庫形成之乒乓(ping-pong)結構的總體暫存器檔案。在建置一組件/暫存器類型關聯之資料相依圖(CRTA-DDG)後,執行本發明之一功能單元指派、暫存器檔案指派、乒乓暫存器庫指派及叢集指派,以充分利用PAC處理器的性質。 A method of allocating registers for a PAC processor. The PAC processor comprises a first cluster and a second cluster. Each cluster comprises a first functional unit, a second functional unit, a first local register file connected to the first functional unit, a second local register file connected to the second register file, and a global register file having a ping-pong structure formed by a filrst register bank and a second register bank. After building a Component/Register Type Associated Data Dependency Graph (CRTA-DDG), a functional unit assignment, register file assignment, ping-pong register bank assignment, and cluster assignment of the invention are performed to take full advantage of the properties of a PAC processor. 【創作特點】 本發明之目標為提供具有多個暫存器檔案及存取約束之PAC處理器分配暫存器的方法。
該PAC處理器包含一第一叢集及一第二叢集。每一叢集包含一第一功能單元、一第二功能單元、一連接至該第一功能單元之第一局部暫存器檔案、一連接至該第二功能單元之第二局部暫存器檔案及一具有一由一第一暫存器庫及一第二暫存器庫形成之乒乓結構的總體暫存器檔案。該總體暫存器檔案包含該第一及第二功能單元共用之存取埠的單一集合。
分配暫存器之方法包含步驟(a)至(e)。在步驟(a)中,建置包含節點、圈及邊之組件/暫存器類型關聯之資料相依圖(Component/Register Type Associated Data Dependency Graph;CRTA-DDG),其中每一節點代表一運算符(operator)、每一圈代表一運算元(operand),該運算元為需要在機器層中分配至實體暫存器的常數或虛擬暫存器,且每一邊代表兩運算元間的資料相依。在步驟(b)中,對CRTA-DDG上未指派的節點執行功能單元指派,以判定指派哪個功能單元來執行該等未指派的節點。在步驟(c)中,對CRTA-DDG上未指派的圈執行暫存器檔案指派,以判定將哪個暫存器檔案指派至該等未指派的圈。在步驟(d)中,對在步驟(c)經指派至總體暫存器檔案之該等圈執行乒乓暫存器庫指派。在步驟(e)中,插入一通信碼,以在PAC DSP結構中實施運算工作。
此外,該方法可進一步包含一步驟:執行一叢集指派,以將CRTA-DDG上之該等節點劃分成兩組,將一組指派至該第一叢集且將另一組指派至該第二叢集。
使用CRTA-DDG之優點為其在考慮到PAC架構中之複雜約束的情況下,闡明了每一節點之分配及排程限制。
執行本發明之功能單元指派、暫存器檔案指派、乒乓暫存器庫指派及叢集指派以充分利用PAC處理器的性質,從而獲得分配暫存器之優良效能。 |