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