《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 多核同時多線程處理器的線程調度器設計
多核同時多線程處理器的線程調度器設計
2016年電子技術應用第1期
周佳佳,李 濤,黃小康
西安郵電大學 電子工程學院,陜西 西安710121
摘要: 多核同時多線程處理器(SMT_PAAG)是用于圖形、圖像及數字信號處理的一種多核處理器?;谶@種處理器提出了一種硬件線程調度器,該調度器采用同時多線程技術,最多可同時執行四個線程,支持八個線程阻塞模式下的快速上下文切換。這樣避免了因阻塞帶來的等待問題,能夠有效提高處理器的工作效率和資源利用率。通過在處理器上運行圖形處理算法進行性能評測。結果表明,SMT-PAAG處理器通過挖掘指令級并行和線程級并行,將處理器的性能提高了69.25%。
中圖分類號: TN492
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.01.003
中文引用格式: 周佳佳,李濤,黃小康. 多核同時多線程處理器的線程調度器設計[J].電子技術應用,2016,42(1):19-21.
英文引用格式: Zhou Jiajia,Li Tao,Huang Xiaokang. Design of a thread scheduler in a simultaneous multi-threaded muti-core processor[J].Application of Electronic Technique,2016,42(1):19-21.
Design of a thread scheduler in a simultaneous multi-threaded muti-core processor
Zhou Jiajia,Li Tao,Huang Xiaokang
School of Electronic Engineering,Xi′an University of Posts & Telecommunications,Xi′an 710121,China
Abstract: SMT-PAAG is a simultaneous multithreaded multi-core processor for graphics,image and digital signal processing. The design of hardware thread scheduler for this processor is presented here. The scheduler uses simultaneous multi-threading technology(SMT) that can simultaneously execute up to four threads, and supports fast context switching with eight threads in blocking mode. This avoids the waiting caused by obstruction, at the same time, the design improves efficiency and resource utilization of the processor effectively. We conducted performance evaluation by running on the processor with graphics processing algorithms. The result shows that the performance of SMT-PAAG processor is increased by 69.25% by exploring instruction level parallelism(ILP) and tread level parallelism(TLP).
Key words : multi-core processor;SMT;blocking mode;graphics processing algorithms;ILP;TLP

0 引言

    隨著并行技術的不斷發展,如何更好地提高處理器的并行處理性能成為處理器設計者們急需解決的熱點問題。傳統處理器通過開發指令級并行(Instruction Level Parallelism,ILP)[1]來提高處理器的性能,但由于應用程序自身的ILP很低、硬件的復雜度及功耗等眾多因素的影響導致處理器的性能不高。因此設計者們把目光紛紛投向更高層次的并行-線程級并行(Thread Level Parallelism,簡稱TLP)[1-2]

    同時多線程最先由美國加州大學的Tullsen等人在1995年開始研究,并提出了基本的SMT[3-4]處理器模型。主要原理是通過資源競爭和資源動態共享的方式使所有的執行單元同時活躍,充分利用TLP和ILP來提高處理器的資源利用率。

    目前的商用處理器采用的技術主要是同時多線程和片上多處理器技術,例如Intel的P4處理器[5]的Hyper-thread技術實現同時執行兩個線程,IBM的Power5處理器[6]每個芯片有兩個內核,每個內核可以同時執行兩個線程。SUN的Niagara處理器[7]每個芯片有8個內核,每個內核可以同時執行4個線程。我國的龍芯2號處理器[8]也采用了超標量與同時多線程技術來設計。

    本文在多核處理器[9-11]的基礎上提出了一種采用同時多線程技術[3-4]的線程調度器[12]設計。與Niagara處理器相比,本文中的多線程處理器擁有16個核,每個內核一共具有8個線程,最大可以同時執行4個線程,并且可以在高低線程之間快速切換,減少了因為線程中遇到長周期指令所造成的資源浪費,同時也提高了處理器的利用效率。

1 整體硬件結構

    時鐘共享多線程處理器是一種適用于圖形和圖像處理的并行陣列機。該陣列機支持MIMD(Multiple Instruction Stream Multiple Data Stream)運行模式、分布式指令并行模式和流處理運行模式這三種工作模式,同時還具有異步執行、核間通信以及線程間通信的機制。

    這種結構的陣列機由16個處理單元(Processing Element,PE)互連構成一個4×4的二維陣列,還包括1個前端處理器、4個協處理器、2個調度器及2個存儲管理。系統的整體結構如圖1所示。

wdz2-t1.gif

2 線程調度器功能描述

    線程調度器完成的功能描述如下:

    (1)監測預處理模塊,當外部需要給線程加載指令或數據時響應預處理模塊;

    (2)當線程發生阻塞時負責切換線程,并產生PE某一個線程的啟動信息,其中包括啟動有效信號、 起始PC值、啟動的線程號;

    (3)線程之間的同步處理,負責監視需要同步的線程是否同步結束;

    (4)當外部需要重新配置某一個線程的指令或數據時負責停止該線程,產生pe_stop信號;

    (5)給外部提供三個8位的寄存器,分別為線程啟動信息寄存器、線程結束信息寄存器、線程斷點信息寄存器。

3 同時多線程設計方案

    同時多線程技術最大的優點在于增加很少的面積,就能夠獲得很高的資源利用率,即用較小的成本換取較大的并行性能,充分地挖掘了線程級的并行。

    本文基于時鐘共享多線程處理器提出的線程調度器支持八個線程,最多可以同時執行四個線程。這四個線程同時執行各自的程序。每個線程擁有各自獨立的取指單元、譯碼單元、指令存儲和數據存儲。而其他的資源,如各個執行單元和地址流水線,則是八個線程共享。

    在每一個時鐘周期的上升沿,每個PE最多有八條流水線在執行,且最多可輸出四條流水線結果,這四條流水線產生的結果屬于不同的線程組,每個線程組都擁有高低兩個線程。因此在某一組中若有一個線程陷入阻塞狀態,則可以切換至組內的另一線程來執行程序,可以有效隱藏線程由于等待過程所造成的延遲,提高處理器整體的工作效率。

4 線程調度器詳細設計

4.1 線程管理器的總體結構

    該調度器由信息處理模塊、狀態控制模塊、寄存器模塊、PE控制模塊四大部分構成,各模塊的連接關系如圖2所示。

wdz2-t2.gif

    線程調度器的工作流程為:信息處理模塊接收來自預處理模塊的配置信息、指令、數據及加載結束信號,判斷是否需要啟動該線程。線程啟動之后狀態控制模塊中對應的線程狀態機發生跳轉,同時寄存器模塊實時記錄該線程的PC值。當接收到譯碼模塊的阻塞信息時停止當前運行的線程且切換線程,PE控制模塊負責產生新線程的啟動信息。當線程運行結束后,信息處理模塊負責記錄線程的結束信息。

4.2 線程調度器的工作模式

    線程調度器擁有五種工作模式:啟動模式、阻塞工作模式、同步模式、斷點模式和重配置模式。

    啟動模式線程接收來自預處理模塊的線程啟動信息配置要啟動的線程,將對應的線程ID號和PC值發送給PE來執行。

    阻塞工作模式表示當某一線程遇到阻塞,則切換到其線程組內的另一線程上來執行。若是兩個都阻塞,則先解除阻塞的線程先執行。

    同步模式下對需要同步的幾個線程進行等待處理,并判斷是否達到同步。若達到,則解除同步模式,開始正常執行;若沒有達到,則繼續等待。

    斷點模式是用來方便處理器進行調試錯誤的一種工作模式。當程序計數器PC遇到斷點時,該線程停止工作,保存工作信息以待調試檢查。

    重配置模式是對線程進行重新配置,根據上層的需要對線程要執行的程序內容進行添加或更改。

4.3 線程狀態轉移關系

    如圖3所示,為線程調度器中線程的狀態轉移圖。

wdz2-t3.gif

    其中各個狀態說明如下:

    (1)IDLE:空閑狀態。當線程啟動信號有效時(th_start=1),則狀態跳轉到RUN運行狀態;

    (2)RUN:運行狀態。當線程位于此狀態時,表示線程正在執行,遇到阻塞或等待跳轉到WAIT狀態;

    (3)BREAK:斷點狀態。當線程的斷點數據收集結束(th_break_end=1)時,狀態跳轉到RUN運行狀態;

    (4)WAIT:等待狀態。當線程發生重配置(th_recfg=1)時,則狀態跳轉到IDLE初始狀態;當線程阻塞解除(th_blk_fns=1)時狀態跳轉到RUN運行狀態;

    (5)SYN:同步狀態。線程位于該狀態下,遇到同步解除(th_syn_fns=1)信號,跳轉到READY狀態;

    (6)READY:準備狀態。表示線程處于一個隨時可以啟動的狀態,當線程被選中時(th0_hit=1),則狀態跳轉到RUN運行狀態。

5 仿真結果分析和比較

    本文采用Xilinx公司的ISE14.4工具對硬件電路進行了綜合,選用Xilinx公司型號為XC7V2000t-2fhg1761的FPGA,設計電路的最高頻率可以到達431.816 MHz。

    在完成功能仿真和綜合的同時,本文還進行了簡單的性能分析。測試在8個PE上進行,采用圖像處理中的邊緣檢測算法,分別對32×32、64×64以及128×64的圖像進行測試,最后得到的結果如表1所示。另外根據性能提升計算公式(1)[12]可以得出整體處理器的性能提升百分比如表2所示。

    wdz2-gs1.gif

wdz2-b1.gif

wdz2-b2.gif

    可以看出,對于比較小的圖像,過多的線程會導致整體運算速度變慢。這是因為此時圖像整體運算時間比較短,線程切換所造成的延時會在整體時間中占據比較大的比例。而對于更大的圖像,同時多線程技術則對處理器的性能提升影響比較大。對于多核同時多線程處理器而言,八個線程的線程調度器設計會使處理器得到更高的性能提升,充分體現了同時多線程技術的優點。

6 總結

    本文通過對時鐘共享多線程處理器架構的深入研究,采用同時多線程技術設計和實現了處理器的核心部件——線程調度器。通過在處理器的多個線程上運行圖像處理算法,得到處理器的加速比最大為69.25%,充分提高了多核處理器的性能。并對所設計的硬件電路進行了全面仿真驗證,綜合和仿真結果表明電路的功能正確,工作頻率為431.816 MHz,達到了時鐘共享多線程處理器的需求。

參考文獻

[1] THEO U,BORUT R,JURIJ S.Multithreaded processors[J].The Computer Journal,2002,45(3):320-348.

[2] BRUNIE N,COLLANGE S,DIAMOS G.Simultaneous branch and warp interweaving for sustained GPU performance[C].Computer Architecture(ISCA),2012:49-60.

[3] 劉權勝,楊洪斌,吳悅.同時多線程技術[J].計算機工程與設計,2008,29(4):963-967.

[4] EGGERS S J,EMER J S,LEVY H M,et al.Simultaneous multithreading:A platform fornext-generation processors[J].IEEE Micro,1997,17(5):12-19.

[5] 張云.解析超線程技術[J].甘肅聯合大學學報,2007,21(4):99-101.

[6] Frank Soltis.Power5對i系列意味著什么[J].中國經濟和信息化,2004,20(6):A2-A3.

[7] POONACHA K.Niagara:a 32-way multithreaded sparc processor[J].Mirco,IEEE,2005,25(2):21-29.

[8] 李祖松,許先超,胡偉武,等.龍芯2號處理器的同時多線程設計[J].計算機學報,2009,32(11):2266-2273.

[9] 黃虎才.多態陣列處理器的并行計算研究[D].西安:西安郵電大學,2014.

[10] 李濤,楊婷,易學淵.螢火蟲2:一種多態并行機的硬件體系結構[J].計算機工程與科學,2014,12(2):191-200.

[11] 李濤,肖靈芝.面向圖形和圖像處理的輕核陣列機結構[J].西安郵電學院學報,2012,17(3):41-47.

[12] 錢博文,李濤,韓俊剛,等.多態并行處理器中的線程管理器設計[J].電子技術應用,2014(2):30-32.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产日韩一区| 亚洲欧洲日产国产网站| 欧美激情aaaa| 久久免费偷拍视频| 欧美在线免费观看视频| 午夜一级在线看亚洲| 亚洲午夜久久久久久久久电影网| 亚洲裸体视频| 亚洲免费精品| 夜夜嗨av色一区二区不卡| 日韩午夜在线播放| 日韩亚洲欧美精品| 一区二区电影免费在线观看| 亚洲久久视频| 日韩一级黄色大片| 一区二区三区欧美在线观看| 亚洲最新视频在线| 国产精品99久久久久久有的能看| 亚洲视频导航| 亚洲综合电影| 欧美一区二区视频在线观看| 欧美一区二区三区在线看| 欧美一区视频在线| 久久黄色影院| 久久亚洲精品一区二区| 免费成人av| 欧美日韩国产成人在线免费| 欧美视频在线看| 国产精品国产馆在线真实露脸| 国产精品视频一| 国产亚洲网站| 亚洲福利视频专区| 亚洲精品视频免费观看| 一区二区欧美精品| 午夜欧美理论片| 亚洲激情视频在线| 99视频在线观看一区三区| 亚洲午夜精品一区二区三区他趣| 欧美一级理论片| 麻豆精品国产91久久久久久| 欧美日韩hd| 国产精品自在在线| 在线成人激情| 一本色道久久99精品综合| 亚洲欧美春色| 亚洲国产成人av| 亚洲一二三四久久| 久久久国产成人精品| 欧美成人中文| 国产精品免费看久久久香蕉| 狠狠色噜噜狠狠色综合久| 最新国产の精品合集bt伙计| 亚洲影视在线| 91久久精品一区二区三区| 亚洲网站在线观看| 久久婷婷激情| 欧美丝袜第一区| 国产专区欧美精品| 一区二区日韩欧美| 亚洲国产精品传媒在线观看| 亚洲婷婷国产精品电影人久久| 久久久久久精| 欧美日韩免费网站| 韩国av一区二区三区| av成人免费| 亚洲黄色av一区| 亚洲女优在线| 欧美国产综合| 国产亚洲精品自拍| 一本色道婷婷久久欧美| 久久国产一区二区三区| 亚洲一本视频| 欧美岛国激情| 国产综合色在线| 一区二区动漫| 亚洲人午夜精品免费| 欧美制服丝袜第一页| 欧美日本国产一区| 狠狠色丁香婷婷综合影院 | 一区二区三区在线观看欧美 | 亚洲级视频在线观看免费1级| 亚洲一区欧美二区| 欧美成人午夜视频| 国产亚洲欧美一区二区三区| 一区二区精品在线| 亚洲三级视频| 久久久久国产精品一区| 国产精品久久久久毛片大屁完整版| 在线免费观看视频一区| 性色av一区二区三区| 亚洲一区在线直播| 欧美freesex8一10精品| 国产欧美日韩高清| 在线视频精品一| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲高清免费视频| 欧美一区二区精品久久911| 欧美精品免费在线观看| 在线国产精品一区| 欧美一区二区在线免费观看 | 国产亚洲欧美一区二区三区| 在线一区观看| 一区二区三区精密机械公司 | 欧美色中文字幕| 亚洲国产精品精华液2区45| 久久av免费一区| 久久久国产91| 国产日韩一区二区三区在线| 亚洲影院免费观看| 亚洲欧美国产制服动漫| 国产精品videosex极品| 99re这里只有精品6| 夜夜嗨av一区二区三区| 欧美激情第9页| 亚洲国产一区二区精品专区| 亚洲国产专区| 免费在线欧美黄色| 亚洲国产精品成人一区二区| 亚洲日本中文字幕免费在线不卡| 久久综合九色综合欧美狠狠| 激情综合色综合久久| 久久精品国产91精品亚洲| 久久久视频精品| 国内外成人免费激情在线视频| 久久都是精品| 麻豆国产精品va在线观看不卡| 影音先锋在线一区| 亚洲精品国产系列| 欧美日韩大片一区二区三区| 日韩视频在线一区| 亚洲男人的天堂在线观看| 国产精品视屏| 性一交一乱一区二区洋洋av| 久久精品视频va| 黑丝一区二区| 亚洲日本欧美天堂| 欧美日韩精品免费| 正在播放亚洲| 欧美在线精品免播放器视频| 国产日韩欧美| 亚洲国产二区| 欧美日韩成人综合在线一区二区| 99伊人成综合| 午夜一区二区三视频在线观看| 国产欧美不卡| 亚洲国产精品精华液2区45| 欧美高清你懂得| 亚洲色诱最新| 久久www成人_看片免费不卡| 精品成人在线观看| 亚洲视频高清| 国产日韩欧美三区| 亚洲三级影片| 国产精品免费看片| 久久精品国产精品| 欧美日韩成人综合| 性欧美xxxx大乳国产app| 蜜桃av一区二区三区| 日韩一二三在线视频播| 午夜视频一区| 狠狠做深爱婷婷久久综合一区| 亚洲精品一区二区三区四区高清| 欧美视频在线一区二区三区| 欧美一区二区三区电影在线观看| 欧美激情一区二区三区在线视频| 亚洲视频一起| 久久综合九色综合欧美就去吻| 亚洲精品之草原avav久久| 午夜激情综合网| 在线日韩一区二区| 亚洲欧美国产视频| 极品少妇一区二区三区| 99精品欧美一区二区三区| 国产伦精品一区二区三| 亚洲欧洲综合另类在线| 国产精品高清网站| 亚洲人成毛片在线播放| 国产精品毛片一区二区三区| 亚洲国产精品www| 国产精品欧美日韩久久| 亚洲精品中文字| 国产亚洲激情视频在线| 一区二区国产精品| 国产一区二区主播在线| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 欧美一二三区精品| 亚洲人成在线免费观看| 久久精品国产欧美激情| aⅴ色国产欧美| 免费h精品视频在线播放| 亚洲字幕一区二区| 欧美黄色日本| 欧美亚洲网站| 欧美午夜精品理论片a级按摩| 亚洲国产成人久久| 国产女主播在线一区二区| 一区二区三区国产| 亚洲国产成人高清精品| 久久精品国产综合精品| 一区二区三区免费网站|