• 傳輸觸發架構

    編輯
    本詞條由“匿名用戶” 建檔。

    傳輸觸發架構

    編輯

    計算機體系結構中,傳輸觸發架構(TTA)是一種處理器設計,其中程序直接控制處理器的內部傳輸總線。計算發生,因為數據傳輸的副作用:將數據寫入一個觸發端口一個的功能單元的觸發器的功能單元開始計算。這類似于心跳陣列中發生的情況。由于其模塊化結構,TTA是專用指令集處理器(ASIP)的理想處理器模板。)具有定制的數據路徑,但沒有固定功能硬件加速器的靈活性和設計成本。



    通常,傳輸觸發處理器具有多個傳輸總線和連接到總線的多個功能單元,這為指令級并行性提供了機會。并行性由程序員靜態定義。在這方面(顯然由于指令字寬度大),TTA架構類似于超長指令字(VLIW)架構。TTA指令字由多個插槽組成,每個總線一個插槽,每個插槽確定在相應總線上發生的數據傳輸。細粒度的控制允許進行某些常規處理器無法實現的優化。例如,軟件可以在不使用寄存器的情況下直接在功能單元之間傳輸數據。

    傳輸觸發會暴露一些微體系結構細節,這些細節通常對程序員是隱藏的。這極大地簡化了處理器的控制邏輯,因為通常在運行時完成的許多決策都固定在編譯時。但是,這也意味著,如果在一個TTA處理器上編譯的二進制文件之間的體系結構之間即使有很小的差異,也不會在不重新編譯的情況下在另一個TTA處理器上運行。除了實現完整上下文切換的復雜性之外,二進制不兼容問題使TTA?比通用計算更適合嵌入式系統

    在所有一種指令集計算機體系結構中,TTA體系結構是為數不多的基于其構建處理器的處理器之一,并且是xxx一種基于該體系結構進行商業銷售的處理器。

    傳輸觸發架構

    與VLIW架構相比的好處

    編輯

    TTA可以看作是“公開的數據路徑” VLIW體系結構。使用操作對VLIW進行編程時,TTA將操作執行拆分為多個移動操作。與標準VLIW相比,低級編程模型具有多個優點。例如,與VLIW相比,TTA體系結構可以通過更簡單的寄存器文件提供更多的并行性。由于程序員可以控制操作數和結果數據的傳輸時序,因此無需根據寄存器最壞的情況/完成情況來縮放寄存器文件(RF)的復雜度(輸入和輸出端口的數量)。多個并行指令。

    通過傳輸編程實現的一項重要的獨特軟件優化稱為軟件旁路。在軟件旁路的情況下,編程人員通過將數據直接移至下一個功能單元的操作數端口來旁路寄存器文件回寫。當積極地應用此優化時,可以完全消除將結果傳輸到寄存器文件的原始動作,從而降低了寄存器文件的端口壓力并為其他臨時變量釋放了通用寄存器。減小的寄存器壓力,除了簡化了射頻硬件所需的復雜性之外,還可以節省大量CPU能量,這是一個重要的好處,尤其是在移動嵌入式系統中。

    結構

    編輯

    TTA處理器由獨立的功能單元和寄存器文件構成,它們與傳輸總線和套接字連接。

    功能單元

    每個功能單元實現一個或多個操作,這些功能實現的功能范圍從簡單的整數加法到復雜且任意的用戶定義的特定于應用的計算。操作的操作數通過功能單元端口進行傳輸。

    每個功能單元可以具有獨立的管線。如果功能單元已完全流水線化,則可以在每個時鐘周期中啟動需要多個時鐘周期才能完成的新操作。另一方面,管道可以是這樣的,它在老的仍在執行時并不總是接受新的操作開始請求。

    數據存儲器的訪問和到處理器外部的通信是通過使用特殊功能單元來處理的。實現內存訪問操作并連接到內存模塊的功能單元通常稱為加載/存儲單元。

    控制單元

    控制單元是控制程序執行的功能單元的特例。控制單元可以訪問指令存儲器,以便提取要執行的指令。為了允許執行的程序將執行(跳轉)轉移到執行的程序中的任意位置,控制單元提供控制流程操作。控制單元通常具有指令流水線,該指令流水線包括用于獲取,解碼和執行程序指令的階段。

    注冊文件

    寄存器文件包含通用寄存器,用于將變量存儲在程序中。像功能單元一樣,寄存器文件也具有輸入和輸出端口。讀寫端口的數量,即在同一時鐘周期內讀寫多個寄存器的能力,可能在每個寄存器文件中有所不同。

    運輸巴士和插座

    互連體系結構由傳輸總線組成,這些傳輸總線通過套接字連接到功能單元的端口。由于連接的開銷,通常會減少單元(功能單元和寄存器文件)之間的連接數。如果從每個單元的輸出端口到每個單元的輸入端口之間存在一條路徑,則據說TTA已完全連接。

    套接字允許選擇隨時啟用套接字的哪些總線到端口連接,從而為TTA處理器編程提供了手段。因此,可以通過定義要為每個總線啟用的源套接字和目標套接字/端口連接,來對在時鐘周期內發生的數據傳輸進行編程。

    有條件的執行

    一些TTA實現支持條件執行。

    有條件的執行是在警衛的幫助下執行的。每個數據傳輸都可以通過保護器進行條件設置,該保護器連接到寄存器(通常是1位條件寄存器)和總線。如果受保護寄存器的值評估為false(零),則會壓縮為保護連接到的總線編程的數據傳輸,即不寫入其目的地。無條件數據傳輸未連接到任何防護裝置,并且始終執行。

    分支

    所有處理器(包括TTA處理器)都包含更改程序計數器的控制流指令,這些指令用于實現子例程,if-then-else、for-loop等。TTA處理器的匯編語言通常包括控制流指令,例如無條件的分支(JUMP),條件相對分支(BNZ),子例程調用(CALL),條件返回(RETNZ)等,它們看起來與其他處理器的相應匯編語言指令相同。

    像TTA機器上的所有其他操作一樣,這些指令被實現為“移動”指令到特殊功能單元。

    支持條件執行的TTA實現(例如sTTAck和xxx個MOVE原型)可以將大多數控制流指令作為條件移動到程序計數器的方式來實現。

    僅支持無條件數據傳輸的TTA實現,例如MAXQ,通常具有一個緊密連接到程序計數器的特殊功能單元,該程序計數器響應各種目標地址。每個這樣的地址在用作“移動”的目的地時,都會對程序計數器產生不同的影響-每個“相對分支<condition>”指令對每個條件都具有不同的目的地地址;而其他目標地址則使用CALL、RETNZ等。

    編程

    編輯

    在更傳統的處理器體系結構中,通常通過定義執行的操作及其操作數來對處理器進行編程。處理器中指令的執行可能導致將該指令轉換為控制信號,該信號控制互連網絡連接和功能單元。互連網絡用于將寄存器r1和r2的當前值傳輸到能夠執行加法運算的功能單元,在算術邏輯單元中通常稱為ALU。最終,控制信號選擇并觸發ALU中的加法運算,其結果被傳送回寄存器r3。

    TTA程序不定義操作,而僅定義寫入和讀取操作數值所需的數據傳輸。通過將數據寫入操作的觸發操作數來觸發操作本身。因此,執行操作作為觸發數據傳輸的副作用。因此,在TTA中執行加法運算需要三個數據傳輸定義,也稱為moves。移動定義了在傳輸總線中進行數據傳輸的端點。例如,一個動作可以表明從功能單元F端口1到寄存器文件R寄存器索引2的數據傳輸應該在總線B1中進行。如果目標處理器中有多個總線,則可以在同一時鐘周期內并行使用每個總線。因此,可以通過在同一指令中調度幾個數據傳輸來利用數據傳輸級并行性。

    實現

    編輯
    • MAXQ 從Dallas Semiconductor的,在傳輸觸發架構構建的xxx可商購的微控制器,是一種OISC或“?一個指令集計算機?”。它提供了一個單一但靈活的MOVE指令,然后可以通過將值直接移動到程序計數器來用作各種虛擬指令。
    • 在“移動項目”已經設計并制造的幾個實驗TTA微處理器
    • 該TCE項目是一個重新實現的移動工具。這些工具可以作為開放源代碼使用,并且編譯器是圍繞LLVM編譯器框架構建的。
    • Amiga Copper的架構具有傳輸觸發架構的所有基本功能。
    • 由New England Digital開發的Able處理器。
    • 基于WireWorld的計算機。
    • Dobb博士在Verilog中發布了One-Der(32位TTA),帶有匹配的交叉匯編器和Forth編譯器。
    • 馬里(200/400)頂點處理器,使用128位指令字單精度浮點標量TTA。

    內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/108090/

    (6)
    詞條目錄
    1. 傳輸觸發架構
    2. 與VLIW架構相比的好處
    3. 結構
    4. 功能單元
    5. 控制單元
    6. 注冊文件
    7. 運輸巴士和插座
    8. 有條件的執行
    9. 分支
    10. 編程
    11. 實現

    輕觸這里

    關閉目錄

    目錄
    91麻精品国产91久久久久