Blackfin 處理器包括一個(gè)具有 10 級(jí) RISC MCU/DSP 流水線的高性能 16/32 位嵌入式處理器內(nèi)核、用于實(shí)現(xiàn)最佳代碼密度的可變長(zhǎng)度 ISA 以及具有面向加速視頻和多媒體處理的指令的全 SIMD 支持。Blackfin 內(nèi)核的說明如下:
通用寄存器文件
數(shù)據(jù)寄存器文件
數(shù)據(jù)類型包括 8 位、16 位或 32 位帶符號(hào)或無符號(hào)整數(shù)以及 16 位或 32 位帶符號(hào)分?jǐn)?shù)
32 位讀出和兩個(gè) 32 位寫入操作
地址寄存器文件
棧指針
幀指針
數(shù)據(jù)運(yùn)算器
兩個(gè) 16 位 MAC
兩個(gè) 40 位 ALU
四個(gè) 8 位視頻 ALU
單個(gè)桶形移位器
地址運(yùn)算器
存儲(chǔ)器取指令
索引、長(zhǎng)度、基數(shù)和修改寄存器
循環(huán)緩沖
程序定序器單元
條件轉(zhuǎn)移和子程序調(diào)用
嵌套式零開銷循環(huán)
代碼密度
通用寄存器文件
Blackfin 處理器內(nèi)核包括一個(gè)用于通用運(yùn)算單元的 8 路×32 位數(shù)據(jù)寄存器文件。支持的數(shù)據(jù)類型包括8 位、16 位或 32 位帶符號(hào)或無符號(hào)整數(shù)以及 16 位或 32 位帶符號(hào)分?jǐn)?shù)。在每個(gè)時(shí)鐘周期中,這種多端口寄存器文件均支持兩個(gè) 32 位讀出和兩個(gè) 32 位寫入操作。還可將其作為一個(gè) 16 路×16 位數(shù)據(jù)寄存器文件來進(jìn)行存取。
除了支持循環(huán)緩沖和棧保持以外,地址寄存器文件還提供了一種通用型尋址機(jī)制。該寄存器文件由 8 個(gè)表目組成,并包括一個(gè)幀指針和一個(gè)棧指針。幀指針可用于子例程參數(shù)傳輸,而棧指針則可用于存儲(chǔ)子程序調(diào)用的返回地址。
數(shù)據(jù)運(yùn)算器
數(shù)據(jù)運(yùn)算器所包含的系統(tǒng)資源大約是 Analog Devices 公司以往 16 位架構(gòu)的兩倍。它包括:
兩個(gè) 16 位 MAC
兩個(gè) 40 位 ALU
四個(gè) 8 位視頻 ALU
單個(gè)桶形移位器
所有的計(jì)算資源均能夠處理來自數(shù)據(jù)寄存器文件(R0~R7)的 8 位、16 位或 32 位操作數(shù)??蓪⒚總€(gè)寄存器作為一個(gè) 32 位寄存器或一個(gè) 16 位寄存器的高位部分或低位部分來進(jìn)行存取。
在單個(gè)時(shí)鐘周期中,SIMD 架構(gòu)能夠?qū)Χ噙_(dá)兩個(gè) 32 位值進(jìn)行讀出和寫入操作。然而,由于能夠?qū)?R0~R7 寄存器的高位部分和低位部分進(jìn)行獨(dú)立尋址(Rx、Rx.H 或Rx.L),因此每個(gè)計(jì)算部件都能夠從兩個(gè) 32 位輸入值和四個(gè) 16 位輸入值當(dāng)中進(jìn)行選擇,而并未對(duì)輸入數(shù)據(jù)加以限制。計(jì)算的結(jié)果可以作為一個(gè) 32 位實(shí)體或寄存器的高 16 位部分或低 16 位部分而被重新寫入寄存器文件。此外,累積的方法有可能因?yàn)閿?shù)據(jù)通路的不同而存在差異。例如,A0 可能是一個(gè)恒定加法,而 A1 則可能是一個(gè)恒定減法。這種能力被稱為 “靈活的 SIMD”。
兩個(gè)累加器的長(zhǎng)度均為 40 位,從而提供了 8 位擴(kuò)展精度。與通用型寄存器相似,兩個(gè)累加器均能夠以 16 位、32 位或 40 位的增量進(jìn)行存取。Blackfin 架構(gòu)還支持一種可生成兩個(gè) 16 位、32 位或 40 位結(jié)果或 4 個(gè) 16 位結(jié)果的組合型加法/減法指令。在希望獲得 4 個(gè) 16 位結(jié)果的場(chǎng)合,高位和低位部分的結(jié)果可以互換。這是一項(xiàng)非常強(qiáng)大的功能,比方說,它能夠顯著地改善 FFT 基準(zhǔn)程序結(jié)果。
地址運(yùn)算器
兩個(gè)數(shù)據(jù)地址發(fā)生器(DAG)提供了用于實(shí)現(xiàn)存儲(chǔ)器的同時(shí)雙重操作數(shù)取出的地址。這兩個(gè) DAG 共用一個(gè)包含了 4 組 32 位索引(I)、長(zhǎng)度(L)、基數(shù)(B)和修改(M)寄存器的寄存器文件。另外還有 8 個(gè)附加 32 位地址寄存器(即 P0~P5、幀指針和棧指針),它們可被用作針對(duì)變量和棧位置的通用標(biāo)引的指針。
4 組 I、L、B 和 M 寄存器可用于實(shí)現(xiàn)循環(huán)緩沖。當(dāng)一道使用時(shí),每組索引、長(zhǎng)度和基數(shù)寄存器都能夠在內(nèi)部或外部存儲(chǔ)器中實(shí)現(xiàn)一種獨(dú)特的循環(huán)緩沖器。Blackfin 架構(gòu)還支持各種尋址模式,包括間接型、自動(dòng)增量和減量型、索引型和位反轉(zhuǎn)型。最后,所有的地址寄存器的長(zhǎng)度均為 32 位,從而可支持 Blackfin 處理器架構(gòu)的全 4Gbyte 地址范圍。
程序定序器單元
程序定序器負(fù)責(zé)控制指令執(zhí)行的流程,并支持條件轉(zhuǎn)移和子例程調(diào)用以及嵌套式零開銷循環(huán)。一個(gè)多級(jí)全互鎖型流水線可確保代碼按照預(yù)期的方式來執(zhí)行,并將所有的數(shù)據(jù)故障與編程裝置隔離開來。此類流水線通過在必要時(shí)停轉(zhuǎn)的方法確保了結(jié)果的準(zhǔn)確度,以獲得正確結(jié)果。這極大地簡(jiǎn)化了編程任務(wù),因?yàn)檐浖?a target="_blank">工程師無須徹底了解流水線延遲問題。片上互鎖硬件可確保操作數(shù)數(shù)據(jù)在一個(gè)特殊指令的執(zhí)行過程中處于有效狀態(tài)。
除了有限的多種 64 位指令程序包之外,Blackfin 架構(gòu)還支持 16 位和 32 位指令長(zhǎng)度。這通過把最常用的控制指令編碼為緊致 16 位字、并將更加棘手的數(shù)學(xué)運(yùn)算編碼為 32 位雙字的方法確保了最大的代碼密度。
通用寄存器文件
數(shù)據(jù)寄存器文件
數(shù)據(jù)類型包括 8 位、16 位或 32 位帶符號(hào)或無符號(hào)整數(shù)以及 16 位或 32 位帶符號(hào)分?jǐn)?shù)
32 位讀出和兩個(gè) 32 位寫入操作
地址寄存器文件
棧指針
幀指針
數(shù)據(jù)運(yùn)算器
兩個(gè) 16 位 MAC
兩個(gè) 40 位 ALU
四個(gè) 8 位視頻 ALU
單個(gè)桶形移位器
地址運(yùn)算器
存儲(chǔ)器取指令
索引、長(zhǎng)度、基數(shù)和修改寄存器
循環(huán)緩沖
程序定序器單元
條件轉(zhuǎn)移和子程序調(diào)用
嵌套式零開銷循環(huán)
代碼密度
通用寄存器文件
Blackfin 處理器內(nèi)核包括一個(gè)用于通用運(yùn)算單元的 8 路×32 位數(shù)據(jù)寄存器文件。支持的數(shù)據(jù)類型包括8 位、16 位或 32 位帶符號(hào)或無符號(hào)整數(shù)以及 16 位或 32 位帶符號(hào)分?jǐn)?shù)。在每個(gè)時(shí)鐘周期中,這種多端口寄存器文件均支持兩個(gè) 32 位讀出和兩個(gè) 32 位寫入操作。還可將其作為一個(gè) 16 路×16 位數(shù)據(jù)寄存器文件來進(jìn)行存取。
除了支持循環(huán)緩沖和棧保持以外,地址寄存器文件還提供了一種通用型尋址機(jī)制。該寄存器文件由 8 個(gè)表目組成,并包括一個(gè)幀指針和一個(gè)棧指針。幀指針可用于子例程參數(shù)傳輸,而棧指針則可用于存儲(chǔ)子程序調(diào)用的返回地址。
數(shù)據(jù)運(yùn)算器
數(shù)據(jù)運(yùn)算器所包含的系統(tǒng)資源大約是 Analog Devices 公司以往 16 位架構(gòu)的兩倍。它包括:
兩個(gè) 16 位 MAC
兩個(gè) 40 位 ALU
四個(gè) 8 位視頻 ALU
單個(gè)桶形移位器
所有的計(jì)算資源均能夠處理來自數(shù)據(jù)寄存器文件(R0~R7)的 8 位、16 位或 32 位操作數(shù)??蓪⒚總€(gè)寄存器作為一個(gè) 32 位寄存器或一個(gè) 16 位寄存器的高位部分或低位部分來進(jìn)行存取。
在單個(gè)時(shí)鐘周期中,SIMD 架構(gòu)能夠?qū)Χ噙_(dá)兩個(gè) 32 位值進(jìn)行讀出和寫入操作。然而,由于能夠?qū)?R0~R7 寄存器的高位部分和低位部分進(jìn)行獨(dú)立尋址(Rx、Rx.H 或Rx.L),因此每個(gè)計(jì)算部件都能夠從兩個(gè) 32 位輸入值和四個(gè) 16 位輸入值當(dāng)中進(jìn)行選擇,而并未對(duì)輸入數(shù)據(jù)加以限制。計(jì)算的結(jié)果可以作為一個(gè) 32 位實(shí)體或寄存器的高 16 位部分或低 16 位部分而被重新寫入寄存器文件。此外,累積的方法有可能因?yàn)閿?shù)據(jù)通路的不同而存在差異。例如,A0 可能是一個(gè)恒定加法,而 A1 則可能是一個(gè)恒定減法。這種能力被稱為 “靈活的 SIMD”。
兩個(gè)累加器的長(zhǎng)度均為 40 位,從而提供了 8 位擴(kuò)展精度。與通用型寄存器相似,兩個(gè)累加器均能夠以 16 位、32 位或 40 位的增量進(jìn)行存取。Blackfin 架構(gòu)還支持一種可生成兩個(gè) 16 位、32 位或 40 位結(jié)果或 4 個(gè) 16 位結(jié)果的組合型加法/減法指令。在希望獲得 4 個(gè) 16 位結(jié)果的場(chǎng)合,高位和低位部分的結(jié)果可以互換。這是一項(xiàng)非常強(qiáng)大的功能,比方說,它能夠顯著地改善 FFT 基準(zhǔn)程序結(jié)果。
地址運(yùn)算器
兩個(gè)數(shù)據(jù)地址發(fā)生器(DAG)提供了用于實(shí)現(xiàn)存儲(chǔ)器的同時(shí)雙重操作數(shù)取出的地址。這兩個(gè) DAG 共用一個(gè)包含了 4 組 32 位索引(I)、長(zhǎng)度(L)、基數(shù)(B)和修改(M)寄存器的寄存器文件。另外還有 8 個(gè)附加 32 位地址寄存器(即 P0~P5、幀指針和棧指針),它們可被用作針對(duì)變量和棧位置的通用標(biāo)引的指針。
4 組 I、L、B 和 M 寄存器可用于實(shí)現(xiàn)循環(huán)緩沖。當(dāng)一道使用時(shí),每組索引、長(zhǎng)度和基數(shù)寄存器都能夠在內(nèi)部或外部存儲(chǔ)器中實(shí)現(xiàn)一種獨(dú)特的循環(huán)緩沖器。Blackfin 架構(gòu)還支持各種尋址模式,包括間接型、自動(dòng)增量和減量型、索引型和位反轉(zhuǎn)型。最后,所有的地址寄存器的長(zhǎng)度均為 32 位,從而可支持 Blackfin 處理器架構(gòu)的全 4Gbyte 地址范圍。
程序定序器單元
程序定序器負(fù)責(zé)控制指令執(zhí)行的流程,并支持條件轉(zhuǎn)移和子例程調(diào)用以及嵌套式零開銷循環(huán)。一個(gè)多級(jí)全互鎖型流水線可確保代碼按照預(yù)期的方式來執(zhí)行,并將所有的數(shù)據(jù)故障與編程裝置隔離開來。此類流水線通過在必要時(shí)停轉(zhuǎn)的方法確保了結(jié)果的準(zhǔn)確度,以獲得正確結(jié)果。這極大地簡(jiǎn)化了編程任務(wù),因?yàn)檐浖?a target="_blank">工程師無須徹底了解流水線延遲問題。片上互鎖硬件可確保操作數(shù)數(shù)據(jù)在一個(gè)特殊指令的執(zhí)行過程中處于有效狀態(tài)。
除了有限的多種 64 位指令程序包之外,Blackfin 架構(gòu)還支持 16 位和 32 位指令長(zhǎng)度。這通過把最常用的控制指令編碼為緊致 16 位字、并將更加棘手的數(shù)學(xué)運(yùn)算編碼為 32 位雙字的方法確保了最大的代碼密度。
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
處理器
+關(guān)注
關(guān)注
68文章
19885瀏覽量
235084 -
mcu
+關(guān)注
關(guān)注
146文章
17970瀏覽量
366587 -
Blackfin
+關(guān)注
關(guān)注
0文章
78瀏覽量
24978
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
ADSP-BF534 面向汽車的Blackfin處理器,具有CAN連接能力
Blackfin?處理器系列不斷擴(kuò)展,以滿足對(duì)嵌入式控制器區(qū)域網(wǎng)絡(luò)(CAN)連接的需求。如果配合高性能16/32位Blackfin嵌入式處理器
發(fā)表于 12-23 09:55
微處理器基礎(chǔ)知識(shí)(pdf教程)
微處理器基礎(chǔ)知識(shí)-天津大學(xué):微處理器基礎(chǔ)知識(shí)微處理器的選取原則單片機(jī)概述典型單片機(jī)系列概述&
發(fā)表于 08-05 23:28
?36次下載
Blackfin處理器性能優(yōu)化
Blackfin處理器性能優(yōu)化:Blackfin處理器性能優(yōu)化課程單元:Blackfin®處理器
發(fā)表于 09-02 13:05
?18次下載
Blackfin應(yīng)用程序開發(fā)基礎(chǔ)知識(shí)
Blackfin應(yīng)用程序開發(fā)基礎(chǔ)知識(shí)
第一章:簡(jiǎn)介第1a節(jié):課程安排第二章:VisualDSP++構(gòu)建流程第2a節(jié):C代碼導(dǎo)入概述第2b章:編譯器基礎(chǔ)知識(shí)第2c節(jié):連
發(fā)表于 01-08 15:04
?0次下載
Silentium 公司將基于 Blackfin 處理器的有
Silentium 公司將基于 Blackfin 處理器的有源噪聲消除技術(shù)推廣到各種應(yīng)用-- 強(qiáng)大的 Blackfin 處理器可在整個(gè)可聞?lì)l譜范圍內(nèi)實(shí)現(xiàn)高達(dá)10dB (A) 的寬帶噪聲
發(fā)表于 03-08 17:44
?934次閱讀
Blackfin處理器Second-stage Loader
Blackfin處理器Second-stage Loader的應(yīng)用程序在線升級(jí)設(shè)計(jì)方案
本文主要介紹了ADI Blackfin處理器的啟動(dòng)流程、LDR文件的格式和一些高級(jí)的啟動(dòng)技術(shù),
發(fā)表于 03-16 12:08
?1709次閱讀

ADI Blackfin處理器的PMP解決方案
在本文中我們將給大家介紹一款高性能的媒體處理器 ADI的Blackfin處理器及相應(yīng)的PMP方案。 Blackfin系列處理器是DSP+MC
發(fā)表于 09-08 11:53
?28次下載

快速開發(fā)基于Blackfin處理器的視頻應(yīng)用
快速開發(fā)基于Blackfin處理器的視頻應(yīng)用: 如何利用享有全面技術(shù)支持的硬件和軟件模塊,快速開發(fā)能夠在Blackfin處理器上運(yùn)行的視頻應(yīng)用。參加本課程的用戶應(yīng)當(dāng)具備軟件術(shù)語方面的
EE-340: SHARC?處理器和Blackfin?處理器的SPI 連接
EE-340: SHARC?處理器和Blackfin?處理器的SPI 連接
發(fā)表于 03-21 09:03
?0次下載

借助Blackfin處理器關(guān)注視頻監(jiān)控挑戰(zhàn)
借助Blackfin處理器關(guān)注視頻監(jiān)控挑戰(zhàn)
發(fā)表于 04-24 13:53
?7次下載

評(píng)論