C66x系列DSP架構

2021-10-06 10:36:35 字數 1928 閱讀 8492

c66x dsp是最新一代定點和浮點dsp,由4個乘法器組成,以實施單精度浮點運算。c66x dsp核心可同時執行多大8項浮點乘法運算,加之高達1.4ghz的時鐘頻率,使其具有很高的浮點處理效能。將多個c66x dsp核心與其他核心融合,即可建立出具有初中效能的多核片上系統器件。本文以tms320c6678為例,介紹c66x核心。

tms320c6678具有8個c66x核心,核心工作主頻最高可達1.4ghz,理論上具有179.2(22.4x8)gflop和358.4(44.8x8)gmac的處理效能。每個處理器內部有多級儲存器:c66x核心中有l1p、l1d、l2sram;多核共享儲存器為msm sram。處理器具有多核導航器、網路協處理器、資料報加速器、訊號量、pll等多核共享的一些外部資源,同時提供如srio、pcie、emif等多種外部介面。c6678的處理器架構如下圖所示:

c66x核心是c6678處理器的核心,用於完成高效能處理任務。

c66x核心由以下元件組成:c66xdsp、一級程式儲存器控制器(l1p)、一級資料儲存器控制器(l1d)、二級儲存器控制(l2)、外部儲存器控制器(emc)、擴充套件儲存器控制器(xmc)、頻寬管理(bwm)、中斷控制器和休眠控制器(pdc)組成。核心結構如下:

c66xdsp由8個功能單元,2個暫存器組和2條資料通路組成,結構如下圖所示。兩個暫存器組共有64個暫存器,分為a和b兩組,每組由32個32-bit暫存器組成。通用暫存器可以用來存放資料,也可以當作位址指標。所支援的型別有8-bit打包資料,16-bit打包資料,32-bit資料,40-bit資料和64-bit資料,乘法支援128-bit資料。

8個功能儲存單元(.l1 .s1 .m1 .d1 .l2 .s2 .d2 .s2),每個功能單元的每個時鐘週期都能夠執行一條指令。.s單元執行通常的移位、分支及比較程式,.l單元執行通常的算數及邏輯程式;所有乘法指令都在.m單元執行(乙個.m單元包含16組16x16bit乘法器,1個週期內可執行一次單精度浮點乘法運算,4個週期可執行一次雙精度浮點乘法運算)。.d單元主要完成從儲存器載入(load)資料到暫存器堆(register file),並從暫存器堆儲存(store)結果到儲存器。

計算機流水線(pipeline)是intel首次在486晶元中開始使用的。在cpu中把指令的執行分成若干個不同的功能單元來實現,由若干個不同功能的電路單元組成一條指令處理流水線,然後將一條x86指令分成若干步後再由這些電路單元分別執行,這樣就能實現在乙個cpu時鐘週期完成一條指令,因此提高cpu的運算速度。

c66x dsp的流水結構共分三個階段:指令預取(fetch)、指令解碼(decode)、指令執行(execute)。各階段的詳細流水線結構如下:

階段流水名稱

含義fetch

pgps

pwprogram (memory) access ready wait:等待程式記憶體響應

prprogram fetch packet receive:接收從記憶體傳回的指令包

decode

dpinstruction dispatch:將指令分配到相應的功能單元

dcinstruction decode:將指令在相應的功能單元進行解碼

execute

e1執行指令,不同指令擁有不同的執行流水操作

...e5

TI DSP TMS320C66x (1)硬體介紹

c66x dsp是最新一代定點和浮點dsp,由4個乘法器組成,以實施單精度浮點運算。c66x dsp核心可同時執行多大8項浮點乘法運算,加之高達1.4ghz的時鐘頻率,使其具有很高的浮點處理效能。將多個c66x dsp核心與其他核心融合,即可建立出具有初中效能的多核片上系統器件。本文以tms320c...

《C 0x漫談》系列

05年開始關注c 0x,其時c 0x的大部分草案其實都已經初具雛形。但幾個重大的特性 concepts,rvalue,memory model,variadic templates等都還在激烈的動盪當中。於是一路看著這些特性不斷成長,不斷出revisions。其間也跟標準委員會中的一些大牛們,如pe...

《C 0x漫談》系列

05年開始關注c 0x,其時c 0x的大部分草案其實都已經初具雛形。但幾個重大的特性 concepts,rvalue,memory model,variadic templates等都還在激烈的動盪當中。於是一路看著這些特性不斷成長,不斷出revisions。其間也跟標準委員會中的一些大牛們,如pe...