王甜
(北京信息職業(yè)技術學院電子與自動化學院,北京,100018)
隨著超大規(guī)模集成電路(VLSI)技術的發(fā)展,數(shù)字信號處理器(DSP)的性能不斷提高,DSP的單片處理能力已經(jīng)十分強大。但是,在某些應用領域中,如:無線基站和高性能雷達信號處理機等,由于需要對多通道的數(shù)據(jù)做實時處理,其運算速度要求達到每秒幾百億、甚至上千億次運算,這時只有利用多片DSP,做并行處理,才能滿足這種需求。
在由多DSP組成的信號處理系統(tǒng)中,多片DSP間的數(shù)據(jù)傳送是影響系統(tǒng)性能的關鍵之一。ADI公司的Tiger SHARC系列DSP為用戶提供了設計大規(guī)模并行系統(tǒng)的硬件基礎,基于其專門用于DSP間通信的鏈路口,可以設計出高速的松耦合分布式并行系統(tǒng)。
TigerSHARC系列DSP是美國ADI公司基于其SHARC系列DSP的下一代高性能芯片。該系列 DSP是具有極高性能的靜態(tài)超標量處理器,專為大的信號處理任務和通信應用進行了結構上的優(yōu)化。該處理器具有非常寬的存儲器帶寬和雙運算模塊(支持32-bit浮點和8-,16-,32-,64-bit定點處理)。靜態(tài)超標量結構使其每周期能夠執(zhí)行多達4條指令,24個16-bit定點運算或6個浮點運算。目前,該系列的產品包括:ADSP-TS101S和ADSP-TS201S、TS202S、TS203S等,其中ADSP-TS20xS是最近推出的芯片。目前應用較多的為ADSP-TS101S,有250M和300M兩種主頻。
ADSP-TS101S的片內資源主要有:(1)雙運算模塊,每個運算模塊有一個ALU、一個乘法器、一個移位器及通信加速器;(2)雙整數(shù)ALU,提供數(shù)據(jù)尋址和指針操作;(3)6Mbits SRAM,分為M0、M1和M2共3部分;(4)3套相互獨立的32位地址、128位數(shù)據(jù)內部總線,分別對應連接內部SRAM的M0、M1和M2;(5)程序控制器、中斷控制器和SDRAM控制器;(6)DMA控制器,共有14個DMA通道;(7)32位地址、64位數(shù)據(jù)的外部端口和4個鏈路口。
剛推出的ADSP-TS20xS相對于TS101S的主要改進與提高包括:(1)運行頻率提升到了600MHz;(2)運算塊中的通信加速器增強為單獨的通訊邏輯單元;(3)內部總線增加為4 套;(4)內部RAM改為24Mbit的嵌入式DRAM。
TigerSHARC系列DSP的鏈路口是除外部口外,專門用于系統(tǒng)中TigerSHARC系列DSP之間通信的額外通道,另外,也可以與滿足鏈路口通信協(xié)議的其它設備實現(xiàn)無縫連接(如:可以通過在FPGA中構建鏈路口控制器實現(xiàn)DSP與FPGA間高速的點到點數(shù)據(jù)傳輸)。
TigerSHARC系列DSP的鏈路口都以雙倍速率工作,即在時鐘的上升沿和下降沿都鎖存數(shù)據(jù)。對于300MHz的TS101S來說,鏈路口時鐘最高可以為內核時鐘的一半,即150MHz,每個鏈路口提供300Mbyte/S的傳送速率,4個鏈路口就可以實現(xiàn)1.2Gbyte/S的峰值速率。而對600MHz的TS201S來說,鏈路口時鐘的最高可以達到內核時鐘,即600MHz,每個鏈路口可以實現(xiàn)1200Mbyte/S的傳輸速率,4個鏈路口就可以實現(xiàn)4.8Gbyte/S的峰值速率。由此,可以看出,利用鏈路口,可以實現(xiàn)TigerSHARC系列DSP間高速地數(shù)據(jù)傳送,從而可以大大提高整個并行系統(tǒng)的性能。
ADSP-TS101S的鏈路口為半雙工外部接口,每個鏈路口有8條雙向數(shù)據(jù)線和3條控制線:LxDAT[7:0]提供了8位數(shù)據(jù)總線的輸入/輸出;LxCLKOUT和LxCLKIN執(zhí)行時鐘/確認握手協(xié)議;LxDIR表明傳輸?shù)姆较蚯抑划攲xDAT信號進行緩沖的時候使用。其典型的外部連接方式如圖1所示。
TS101S鏈路口內部由收發(fā)兩部分組成,并且為雙緩沖結構,其中發(fā)送緩沖寄存器(LBUFTXx)和接收緩沖寄存器(LBUFRXx)為存儲器映射寄存器,發(fā)送移位寄存器和接收移位寄存器不能被軟件訪問,這四個寄存器都是128bit寄存器。鏈路口數(shù)據(jù)傳輸必須為4字的整倍數(shù),也就是說最小傳輸單元為4字(128 bit)。
圖1 典型的鏈路口外部連接方式
TS20xS的鏈路口為全雙工外部接口,并且采用低壓差分信號(LVDS)。每個鏈路口都有一對收發(fā)通道,最多可有4bit分別用于收發(fā),可以同時操作,實現(xiàn)全雙工通訊。每一個通道包括4位數(shù)據(jù)、一個時鐘和兩個控制信號,其中數(shù)據(jù)和時鐘為LVDS信號。
雖然,TS101S與TS20xS的鏈路口在外部電氣特性和內部結構上有較大的區(qū)別,但它們的工作方式和使用方式基本一致,所以,在本節(jié)以TS101S為例,討論鏈路口的工作方式和使用方法。
TigerSHARC系列DSP鏈路口的數(shù)據(jù)傳輸由鏈路口內部的通信協(xié)議保證,應用程序只需在傳輸前對鏈路口的控制寄存器(LCTLx)進行正確設置即可,該寄存器的結構如表1所示。
推薦理由:文化的歷史,說到底是人類的歷史?,F(xiàn)代人是如何從十萬年前的東非小部落,成長為如今超過70億人口并遍布整個世界的?在人類進化早期,基因對文化起到?jīng)Q定性作用;而在 “走出非洲”的擴張階段,文化演進才是現(xiàn)代人成功的最大秘密。本書講述了人類偉大的遷移史、人類基因的秘密以及基因與文化的深刻互動和相互影響,以生物進化理論為基礎,為讀者呈現(xiàn)了一幅宏大的人類文化演進的歷史畫卷。所有這些內容會幫助我們重新認識種族差異、文化差異和人類本身。
表1 LCTLx寄存器結構
具體各個控制位的描述如表2所示。
表2 LCTLx寄存器控制位描述
使用鏈路口進行數(shù)據(jù)傳輸有兩種方法,一種是DSP內核通過直接寫鏈路口的發(fā)送緩沖寄存器和讀鏈路口的接收緩沖寄存器來傳輸數(shù)據(jù);另一種是片內的DMA控制器可以通過8個專用的鏈路口DMA通道(4個發(fā)送通道,4個接收通道)來傳輸數(shù)據(jù)。
對于第一種方式,可以直接將要發(fā)送數(shù)據(jù)寫入發(fā)送緩沖,當發(fā)送移位寄存器為空時,發(fā)送緩沖中的數(shù)據(jù)被送入發(fā)送移位寄存器進行發(fā)送;當發(fā)送緩沖中的數(shù)據(jù)送入發(fā)送移位寄存器后,才可以將新的數(shù)據(jù)寫入發(fā)送緩沖。當接收移位寄存器為空時,開始接收數(shù)據(jù);接收完全部4 字后,且接收緩沖為空時,將數(shù)據(jù)送入接收緩沖,DSP內核可以通過內部總線讀取數(shù)據(jù)。這種方式傳輸數(shù)據(jù)需要DSP內核進行操作,在數(shù)據(jù)量大時效率不高,所以下面重點針對DMA方式,詳細闡述基于鏈路口的DSP間的數(shù)據(jù)傳輸。
TigerSHARC系列DSP的每個鏈路口都分配兩個DMA通道,分別用于發(fā)送和接收。這兩個DMA通道可以連接任意的內部或外部存儲器。當發(fā)送緩沖為空且此DMA通道使能時,鏈路口發(fā)出DMA傳輸請求;當接收緩沖滿且DMA通道使能時,鏈路口發(fā)出DMA接收請求;當這個DMA通道變成激活狀態(tài)時,DMA請求馬上執(zhí)行。
每一個DMA通道都有一個固定的TCB寄存器(DMA傳輸控制塊寄存器),其中DCx為鏈路口DMA通道TCB寄存器,應用程序中通過寫DCx來建立和使能鏈路口DMA通道的DMA傳輸。表3給出了DCx與鏈路口DMA通道的對應關系。每一個TCB寄存器由4個32位的寄存器組成:
索引寄存器(DI),存放需要傳輸數(shù)據(jù)的地址。
X方向計數(shù)和增量寄存器(DX),高低16位分別存放DMA的計數(shù)值和地址增量。
Y方向計數(shù)和增量寄存器(DY),高低16位分別存放DMA的計數(shù)值和地址增量。
控制和鏈指針寄存器(DP),存放DMA的控制信息和DMA鏈的指針,DP中控制信息的詳細用法可查看相關技術文檔。
表3 DCx與鏈路口DMA通道對應關系
下面以圖1所示連接關系,具體給出TigerSHARC系列DSP鏈路口DMA數(shù)據(jù)傳送的程序設計方法。假設現(xiàn)在編程將TS1內部存儲器中地址link_tx_int開始的1K字的數(shù)據(jù)通過鏈路口傳送到TS2的外部存儲器中,地址為link_rx_ext。此處不使用二維DMA,所以不用填寫DY寄存器。鏈路口DMA傳輸完成后會觸發(fā)相應DMA通道的中斷。
TS1中通過寫DC4啟動鏈路口0的DMA傳送,匯編程序如下:
XR0 = link_tx_int;(DI寄存器)
XR1 = 0x04000004;(DX寄存器)
XR2 = 0x00000000;(DY寄存器)
圖2 三種典型的鏈路口拓撲結構
XR3 = 0x47000000;(DP寄存器)
DC4 = XR3:0;
TS2中通過寫DC9啟動鏈路口1的DMA接收,匯編程序如下:
XR4 = link_rx_ext;DI寄存器)
XR5 = 0x04000004;(DX寄存器)
XR6 = 0x00000000;(DY寄存器)
XR7 = 0x87000000;(DP寄存器)
DC4 = XR7:4;
基于TigerSHARC系列DSP的4個鏈路口可以設計出具有不同的拓撲結構的高速松耦合分布式并行系統(tǒng)。圖2 給出了常用的三種多處理器拓撲結構。基于這三種常用的拓撲結構,可以連接多片TigerSHARC DSP,組成規(guī)模巨大的處理器陣列,滿足各種特定的對計算能力要求很高的應用需求。
TigerSHARC系 列DSP是ADI公司的高性能浮點數(shù)字信號處理器,其特有的鏈路口互聯(lián)技術,為由多DSP組成高速實時信號處理系統(tǒng)提供了很好的解決方案。本文詳細介紹了TigerSHARC系列DSP鏈路口的結構特點和使用方法,并給出了典型的并行系統(tǒng)設計方法。