||
計算寄存器文件包含8個32位寄存器。對16位操作數數據執行運算時,寄存器文件作為16個獨立的16位寄存器工作。用于運算的所有操作數都來自多端口寄存器文件和指令常數字段。
每個MAC在每個周期可以執行一個16位乘16位乘法,結果累加到40位累加器中。支持帶符號和無符號格式、舍入以及飽和。
ALU用于對16位或32位數據執行傳統的算術和邏輯運算。此外,它還包括許多特殊指令,以便加速多種信號處理任務的執行。特殊指令包括字段提取和二進制位個數統計等位操作、模232乘法、除法原語、飽和和舍入、符號/指數檢測。視頻指令集包括字節對齊和打包操作、16位和8位截除加法、8位平均操作、8位減法/絕對值/累加(SAA)操作。此外還提供比較/選擇和矢量搜索指令。
對于某些指令,兩個16位ALU操作可以在寄存器對(一個計算寄存器的16位高半部分和16位低半部分)上同時執行。如果使用第二個ALU,則可以同時執行4個16位操作。
40位移位器可以執行移位和旋轉,用于支持歸一化、字段提取和字段存放指令。
程序序列器控制指令執行流程,包括指令對齊和解碼。對于程序流程控制,該序列器支持PC相對和間接條件跳轉(帶靜態分支預測)以及子例程調用。硬件支持零開銷循環。該架構完全聯鎖,意味著在執行具有數據相關性的指令時,編程人員無需管理流水線。
地址算法單元提供兩個地址,用于實現同時雙取存儲器操作。它包含一個多端口寄存器文件,該寄存器文件由4組32位索引、更改、長度、基礎寄存器(用于循環緩沖)和8個附加32位指針寄存器(用于C式索引堆棧操作)組成。
Blackfin處理器支持一種改進型Harvard架構和分層存儲器結構。第一級(L1)存儲器通常以處理器最高速度工作,延遲非常短或無延遲。在L1層,指令存儲器僅保存指令。數據存儲器保存數據,一個專用暫存數據存儲器存儲堆棧和本地變量信息。
提供了多個L1存儲器模塊。存儲器管理單元(MMU)為可能在內核上工作的各個任務提供存儲器保護,并且能夠防止對系統寄存器進行非預期的訪問。
該架構提供三種工作模式:用戶模式、管理員模式和仿真模式。用戶模式對某些系統資源的訪問權限是有限制的,從而提供一種受保護的軟件環境,而管理員模式則能無限制地訪問系統和內核資源。
Blackfin處理器的指令集經過優化,16位操作碼代表最常用的指令,因而可獲得出色的編譯代碼密度。復雜的DSP指令則編碼為32位操作碼,以實現完備的多功能指令。
Blackfin處理器支持有限的指令級并行功能,一個32位指令可以與兩個16位指令并行發出,使得編程人員能在一個指令周期中使用許多內核資源。
Blackfin處理器的匯編語言使用代數語法,易于編碼和閱讀。該架構經過優化,能夠與C/C++編譯器一起使用,軟件實現快速、高效。
原文地址:http://www.eastadi.com/Article/wz4/201311/20131106122851.html