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