2.Pipe line數據處理
雖然采用高速的通訊接口和高速加密模塊,但是每一個數據包在完成接收、加密/解密、發送這三個步驟時,都會占用一定的時間,如果采用順序執行,這類產品的速度要比沒有加密功能的產品降低很多。為再次提高加密傳輸速度,在數據加密傳輸的過程中采用了Pipe line(流水線)的數據處理方式,可使處理速度再提高兩倍。
處理一個數據包時將整個過程分解為3個部分:接收、加/解密、發送。CPU在每完成一步時僅對這3個模塊進行控制,不做數據處理。當大批數據需要處理時,每個時間周期內可同時完成3個數據包中的其中一個步驟,即平均一個時間周期處理一個數據包,該時間周期即為Pipe line周期。但在一個周期內必須保證3個步驟全部執行完畢,CPU才可以對這3個模塊進行控制。
在此過程中,如果3個階段的處理時間相近,處理周期明顯減少為原來的1/3左右,一個周期處理一個數據包,速度提高2倍。CPU僅承擔控制的任務,并不負責數據的搬運,程序量非常少,這樣便大大減少了CPU執行程序所占用的時間。
3.數據存儲域的切換
如何保證一個處理周期內可同時對3個數據包分別處理呢?本文采用了數據存儲域切換的方法。每個功能模塊分別對應一個RAM模塊,在第n個周期,接收明/密文并存放在RAM1內;在第n+1個周期,將RAM1切換對應到加/解密模塊,將RAM1中的數據包加/解密;在第n+2個周期,將RAM1切換對應到發送模塊,并將RAM1中的密/明文發送出去,完成同一個數據包的處理過程。
為實現Pipe Line的流水線工作方式,在同一個周期內,同時處理3個數據包。在第n個周期接收數據到RAM1,加/解密RAM2中的數據,并同時將RAM3中的數據發送出去;在第n+1個周期中,RAM1切換到加/解密模塊,RAM2切換到發送模塊,而RAM3切換到接收模塊,這3個功能模塊再分別對相應的數據進行處理,以保證平均一個處理周期處理一個數據包,實現pipeline的流水線工作方式。
該實現方法借鑒了CPU執行指令時流水線作業的方式,并使用2個高速的通訊接口,從而保證數據流上的每一時刻每一個模塊都在工作。這種方法可以最大限度地利用所有模塊資源,大大提高數據流加密的速度,使實時加密通訊和高速加密存儲成為可能。
技術亮點
高速數據流加密的實現方法有下面幾個技術亮點,可滿足實時、高速、安全的需求。
(1)加/解密和數據傳輸完全由芯片實現,依靠的代碼量非常少,硬件實現比軟件實現的速度要快十幾倍甚至幾十倍。
(2)在SOC內部采用Pipe line的流水線架構,使得在同一個周期內并行執行3個模塊,同時完成3個任務,大大縮短了一個數據包的平均處理時間。
(3)改變了CPU傳統的管理方式,其僅作為加密模塊和通訊接口的控制端,而不在數據搬運的通路上,避免因CPU執行冗長的代碼時占用過多的時間。
(4)2個高速的通訊接口使接收和發送分開,同一時間可以接收一個數據包并發送另外一個數據包。
(5)內部集成高速的高安全度的加密算法,使數據以密文的形式在通路上出現,保證數據的安全。
通過實際檢測并將該方法與傳統加密方法進行對比測試,可明顯看出采用此方法實現的數據流加密,其速度比傳統的方法提高了50倍甚至更高,有效解決了在通訊、移動存儲中加入安全度高的加密算法后速度明顯降低的問題,為實現高速數據流加密、高安全性的加密存儲設備以及安全通訊設備提供了可靠的硬件和技術保障。
審核編輯黃昊宇
-
soc
+關注
關注
38文章
4124瀏覽量
217966 -
高速數據
+關注
關注
0文章
12瀏覽量
9514
發布評論請先 登錄
相關推薦
評論