脈動陣列基本原理

2021-10-12 10:20:55 字數 866 閱讀 5104

脈動陣列(systolic array),一種陣列結構。脈動意即其工作方式和過程猶如人體血液迴圈系統的工作方式和過程。

在這種陣列結構中,資料按預先確定的「流水」方式在陣列的處理單元間有節奏地「流動」。在資料流動的過程中,所有的處理單元同時並行地對流經它的資料進行處理,因而它可以達到很高的並行處理速度。

同時,預先確定的資料流動模式使資料從流進處理單元陣列到流出處理單元陣列的過程中完成所有對它應做的處理,無需再重新輸入這些資料 ,且只有陣列的「邊界」處理單元與外界進行通訊 ,由此實現在不增加陣列機輸入、輸出速率的條件下,提高陣列機的處理速度。由於陣列和處理單元的結構簡單、規則一致 ,可達到很高的模組化程度,非常適合超大規模積體電路的設計和製造。

脈動陣列的概念最早在2023年提出,在2023年6月26日的第44屆international symposium on computer architecture (isca)上,谷歌公司提出了用於資料中心伺服器端進行神經網路推理加速的張量處理器tensor processing unit (tpu) ​,其相比於伺服器端的cpu與gpu速度快了近15-30倍。

神經網路運算中最頻繁的運算是卷積運算,本質上即矩陣相乘,第一代tpu的核心運算單元便是採用了脈動陣列來解決矩陣相乘的問題。

下圖展示了用7個時鐘週期完成兩個3×3矩陣相乘的運算:

如圖所示,資料的輸入與輸出在不同列方向是錯拍的,但是有多個矩陣相乘時,可以實現連續流水錯拍輸出。當脈動陣列的規模很大時,大尺度的矩陣相乘也會在較少的時鐘週期下按節拍輸出,十分高效。

有關脈動陣列的詳細分析請參考:

vlsi數字訊號處理系統——第七章脈動結構設計

mysql的基本原理 Mysql 基本原理

mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...

8 2 1 基本原理

乙個舞台動畫物件在包含許多舞台資訊 出現在何處,佔多大面積,處在什麼角度,是否可見 這些資訊分別儲存在動畫物件的屬性中。在 中讀取這些屬性可以了解物件的位置 大小 角度等狀態資訊 修改這些屬性可以改變物件的位置 大小 角度等狀態。如果從資料的角度去理解,動畫就是在固定時間間隔點不斷修改動畫物件某項屬...

Csocket基本原理

我通過幾個採用 csocket 類編寫並基於 client server 客戶端 服務端 的網路聊天和傳輸檔案的程式 在除錯這些程式的過程中,追蹤深入至 csocket 類核心原始碼 sockcore.cpp 對於csocket 類的執行機制可謂是一覽無遺,並且對於阻塞和非阻塞方式下的 socket...