《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 多態并行處理器中的SIMD控制器設計與實現
多態并行處理器中的SIMD控制器設計與實現
來源:電子技術應用2013年第11期
蒲 林1,李 濤1,易學淵2,韓俊剛2
1.西安郵電大學 電子工程學院,陜西 西安710061; 2.西安郵電大學 計算機學院,陜西 西安710061
摘要: 設計和實現了一種多態并行處理器中的SIMD控制器。為滿足圖像并行處理的需要,以實現高效的數據級并行計算為目標,采用狀態機實現了行、列、簇控制器的設計,完成了SIMD指令的發送、數據的加載和遠程數據的傳輸。在陣列機上分區并發實現了SIMD和MIMD兩種計算模式,能夠實現兩種計算模式的切換。專用的硬件電路設計提高了該處理器處理并行數據的能力。
中圖分類號: TN492
文獻標識碼: A
文章編號: 0258-7998(2013)11-0053-03
Design and implementation of SIMD controller in polymorphism parallel processor
Pu Lin1,Li Tao1,Yi Xueyuan2,Han Jungang2
1.School of Electronic Engineering,Xi′an University of Posts & Telecommunications,Xi′an 710061,China; 2.School of Computer Science & Technology, Xi′an University of Posts & Telecommunications,Xi′an 710061,China
Abstract: The designed and implementation of a SIMD controller for a polymorphism parallel processor are presented in the paper. To meet the need for parallel processing and aiming at efficient data level parallel computation, we use the state machine approach to design the row, column and cluster controllers. The row controller sends SIMD instructions to processing elements, the column controller performs data and program loading and remote data access. The polymorphous machine employs two computation modes, the SIMD mode and the MIMD mode. The controllers are mainly used for the SIMD mode of computation. A dedicated hardware circuit design improves the ability to handle parallel data of the processor.
Key words : polymorphism parallel processor;SIMD controller;data level parallel;array machine

    圖形圖像處理技術是信息處理領域中的一項熱門技術,在計算機視覺、氣象信息、地球資源勘測等領域得到廣泛的應用[1]。隨著人們對圖形圖像信息應用需求的擴大和計算機技術的飛速發展,提高處理的速度成為了圖形圖像處理中需要解決的難點之一。并行處理[2]是解決大規模圖形圖像處理問題的有效手段,但由于體積大、功耗高和難以維護等特點,使以多處理系統為代表的很多圖形圖像處理系統難以得到廣泛應用[3]。多態并行處理器實現了單指令多數據(SIMD)和多指令多數據(MIMD)計算模式的混合,其結構簡單,功耗低,同時在陣列機上分區并發實現該兩種模式,并且能夠在兩種模式間實現一步轉換[4-5]。其中SIMD控制器能夠針對圖形圖像處理算法開發出更多的數據并行性[6],提高圖形圖像的處理性能。

1 多態并行處理器
    本文設計了一種新型的多態并行處理器中的SIMD控制器。該多態并行處理器是一個陣列機,由多個處理器簇組成,每個簇是由處理單元(PE)組成的二維陣列,是一種較常見的陣列結構,這種簇結構可以分層次構成。如圖1所示,一個基本簇是由16個PE組成的4×4陣列,處理單元通過近鄰互聯組成二維陣列。每一行有行控制器(RC),每一列有列控制器(CC),整個簇由簇控制器進行控制。
    多態并行處理器包含1個前端處理器、4個F簇、4個S簇、一些專用硬件加速器、一個帶有緩存的片上SRAM存儲和內部互聯通道,如圖2所示。F簇處理單元包含浮點處理器和定點處理器,S簇只包含定點處理器。
    如圖3所示,單個處理單元由帶有路由器(RU)的ALU、數據存儲(D-mem)、指令存儲(I-mem)、鄰接共享存儲和SIMD接口控制器(ICTL)構成。

    在多態并行處理器中,各PE的數據和程序的加載均由SIMD控制器控制,SIMD控制器設計的好壞直接影響到各PE的執行效率及并行度。
2 SIMD控制器的硬件設計
    SIMD控制器主要由1個簇控制器模塊、4個行控制器模塊和4個列控制器模塊構成,如圖1所示。各模塊功能:簇控制器模塊主要完成整個簇中處理單元的控制,包括協調程序和數據的加載以及控制整個簇實現SIMD計算;行控制器模塊主要功能是將一行的PE重構成SIMD模式,進行數據級并行計算以及初始化SIMD指令;列控制器模塊主要完成對簇內共享存儲和互聯數據通道的控制。

    狀態跳轉說明如下:
    (1)IDLE:空閑狀態。接收到初始化請求后,跳轉至INIT_DATA狀態,開始加載數據/指令。
    (2)INIT_DATA:初始化指令/數據到簇緩存狀態。簇緩存大小有限,指令/數據的加載需分批進行,待當前批的指令/數據加載完成后,跳轉到SEND_DATA狀態。
    (3)SEND_DATA:發送指令/數據狀態。指令/數據加載完成后,簇控制器將簇緩存中的指令/數據廣播給行、列控制器,若檢測到數據包頭信息為寫操作,則發送完相應指令/數據后,跳回IDLE狀態;若檢測到為讀操作,則跳轉至RD_DATA。
    (4)RD_DATA:讀數據狀態。根據包頭所含數據大小信息,待接收完列控制器發送的所需數據后,跳轉至IDLE狀態。
2.3 行控制器
    行控制器分為兩個部分進行設計:一是初始化SIMD指令;二是將行控制器所在行的PE重構成SIMD模式進行數據并行計算,如圖5所示。

    各狀態說明如下:
    (1)IDLE:空閑狀態。若檢測到初始化使能及數據有效信號,則開始解析數據包,狀態跳轉到RECV_INSTR_
PACK;若檢測到路由器請求信號,則跳轉到RECV_RT狀態,同時給路由器一個接收數據包響應信號。
    (2)RECV_INSTR_PACK:接收指令包狀態。若數據經檢測不是加載給本控制器,則跳回至IDLE狀態;若是加載給本行控制器且是寫操作,則跳轉到INIT狀態。
    (3)INIT:指令初始化狀態。指令加載完成后,跳轉回IDLE狀態。
    (4)RECV_RT:接收路由器包狀態。若檢測到CALLC指令,則給行控制器所在行的PE發送請求,同時狀態跳轉到WAIT;若路由器傳來的數據包有誤,則跳回IDLE狀態。
    (5)WAIT:等待狀態。給行控制器所在行的4個PE發送SIMD請求信號后,PE停止取址,待流水線中的指令排空且4個PE均返回了響應信號后,跳轉至SEND_INSTR狀態。
    (6)SEND_INSTR:發送指令狀態。將從解析出的起始地址開始的指令同時發送給所在行的4個PE以執行SIMD運行模式,待檢測到RETC指令后,停止發送指令,給路由器發送請求信號,同時給4個PE一個結束信號(PE則繼續之前的MIMD取址),此時跳轉到SEND_RT狀態。
    (7)SEND_RT:發送路由器包狀態。接收到路由器響應信號后,行控制器發送數據包,同時跳轉回IDLE狀態。
2.4 列控制器

 


    列控制器模塊的設計分為4個部分:(1)初始化程序/數據的加載;(2)簇控制器對列控制器存儲中計算結果的讀取;(3)將PE計算結果寫入到列存儲中;(4)從列存儲中動態讀取數據。狀態機如圖6所示。

    各狀態說明如下:
    (1)IDLE:空閑狀態。若檢測到廣播的初始化使能及數據有效信號,則開始解析數據包,同時跳轉到RECV_PACK狀態;若檢測到路由器請求信號,則跳轉到RECV_RT_PACK狀態。
    (2)RECV_PACK:接收初始化數據包結束狀態。若檢測到不是發送給本列控制器的數據,則下一狀態跳轉回IDLE,繼續等待下一個廣播包頭;否則,若操作類為寫,則狀態跳轉到INIT_DATA,若為讀,則跳轉到RD_DATA狀態。
    (3)INIT_DATA:初始化數據狀態。將初始化數據廣播給對應列存儲和4個PE,待初始化數據完成,跳回IDLE狀態。
    (4)RD_DATA:讀數據狀態。根據包頭中信息,簇控制器從列存儲讀取數據,待數據讀取完成,跳回IDLE狀態。
    (5)RECV_RT_PACK:接收路由器包頭狀態。開始接收由路由器傳來的數據包頭,此時有兩種不同的數據包格式,一種用于動態讀取數據(MVF指令),另一種用于將數據寫入列存儲(MVT指令)。若檢測到是MVT指令,則跳轉到RECV_DATA狀態;若檢測到是MVF指令,則跳轉到WAIT_ACK狀態。
    (6)RECV_DATA:將PE計算結果寫入列存儲。數據寫入完成后,跳轉到IDLE狀態。
    (7)WAIT_ACK:等待路由器響應狀態。請求使用路由器傳輸數據后,必須等待路由器空閑才能得到響應,等到響應信號后跳轉到SEND_DATA狀態。
    (8)SEND_DATA:發送數據狀態。根據數據包頭中包含的數據起始地址和大小動態讀取列存儲內數據,當請求的數據讀取完成后跳轉到IDLE狀態。
    本文采用狀態機設計和實現了SIMD控制器,并對電路進行了功能驗證與DC綜合以及FPGA驗證。結果表明,SIMD控制器電路工作正常且電路具有良好的可擴展性,實用性強,能夠滿足多態并行處理器的要求。
參考文獻
[1] 李勇.一種SIMD多DSP數字圖像處理系統研究與設計[J]. 電子技術應用,2007,33(11):71-73.
[2] BOYD C.Data parallel computing[J].ACM Queue,2008,6(2):30-39.
[3] 李強.32位圖像向量處理器關鍵技術研究與設計[D].大連:大連理工大學,2009.
[4] 李濤.面向圖形和圖像處理的輕核陣列機結構[J].西安郵電學院學報,2012,17(3):41-47.
[5] Li Tao.A polymorphic array architecture for graphics and image processing[C].2012 Fifth International Symposium on PAAP,2012:242-249.
[6] MAROWKA A,GAN R.Back to thin-core massively parallel processors[J].IEEE Computer,2011,44(12):49-54.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美日韩一区二区三区四区在线观看 | 精品欧美亚洲韩国日本久久 | 国产盗摄一区二区 | 在线观看偷拍视频一区 | 国产亚洲图片 | 在线免费公开视频 | 欧美一级日韩一级 | 亚洲最大看欧美片网站 | 中日韩一区二区三区 | a黄毛片| 免费观看黄色毛片 | 亚洲精品国产精品一区二区 | 亚洲一区不卡 | 欧美一级影院 | 伊人午夜 | 亚洲综合一 | 久草资源在线视频 | 国产三级a三级三级天天 | 男女晚上爱爱的视频在线观看 | 国产成人亚洲精品91专区高清 | 国外精品视频在线观看免费 | 一级做性色a爰片久久毛片免费 | 亚洲精品视频免费 | 国产高清在线精品一区在线 | 91麻精品国产91久久久久 | 成人爽a毛片在线视频 | 国产精品久久九九 | 91精品日本久久久久久牛牛 | 欧美一区二区精品 | 亚洲综合网在线观看 | 直接在线观看的三级网址 | 久久99热精品免费观看欧美 | 久久免费国产精品一区二区 | 天堂素人搭讪系列嫩模在线观看 | 精品在线视频免费观看 | 久久久久久91精品色婷婷 | 呦女亚洲一区精品 | 欧美一级特黄特色大片 | 超薄肉色丝袜精品足j福利 超级乱淫视频aⅴ播放视频 | 国产精品免费一区二区三区四区 | 成人在线亚洲 |