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