《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 多核同時(shí)多線程處理器的線程調(diào)度器設(shè)計(jì)
多核同時(shí)多線程處理器的線程調(diào)度器設(shè)計(jì)
2016年電子技術(shù)應(yīng)用第1期
周佳佳,李 濤,黃小康
西安郵電大學(xué) 電子工程學(xué)院,陜西 西安710121
摘要: 多核同時(shí)多線程處理器(SMT_PAAG)是用于圖形、圖像及數(shù)字信號(hào)處理的一種多核處理器。基于這種處理器提出了一種硬件線程調(diào)度器,該調(diào)度器采用同時(shí)多線程技術(shù),最多可同時(shí)執(zhí)行四個(gè)線程,支持八個(gè)線程阻塞模式下的快速上下文切換。這樣避免了因阻塞帶來的等待問題,能夠有效提高處理器的工作效率和資源利用率。通過在處理器上運(yùn)行圖形處理算法進(jìn)行性能評(píng)測(cè)。結(jié)果表明,SMT-PAAG處理器通過挖掘指令級(jí)并行和線程級(jí)并行,將處理器的性能提高了69.25%。
中圖分類號(hào): TN492
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.01.003
中文引用格式: 周佳佳,李濤,黃小康. 多核同時(shí)多線程處理器的線程調(diào)度器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,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 引言

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

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

    目前的商用處理器采用的技術(shù)主要是同時(shí)多線程和片上多處理器技術(shù),例如Intel的P4處理器[5]的Hyper-thread技術(shù)實(shí)現(xiàn)同時(shí)執(zhí)行兩個(gè)線程,IBM的Power5處理器[6]每個(gè)芯片有兩個(gè)內(nèi)核,每個(gè)內(nèi)核可以同時(shí)執(zhí)行兩個(gè)線程。SUN的Niagara處理器[7]每個(gè)芯片有8個(gè)內(nèi)核,每個(gè)內(nèi)核可以同時(shí)執(zhí)行4個(gè)線程。我國的龍芯2號(hào)處理器[8]也采用了超標(biāo)量與同時(shí)多線程技術(shù)來設(shè)計(jì)。

    本文在多核處理器[9-11]的基礎(chǔ)上提出了一種采用同時(shí)多線程技術(shù)[3-4]的線程調(diào)度器[12]設(shè)計(jì)。與Niagara處理器相比,本文中的多線程處理器擁有16個(gè)核,每個(gè)內(nèi)核一共具有8個(gè)線程,最大可以同時(shí)執(zhí)行4個(gè)線程,并且可以在高低線程之間快速切換,減少了因?yàn)榫€程中遇到長(zhǎng)周期指令所造成的資源浪費(fèi),同時(shí)也提高了處理器的利用效率。

1 整體硬件結(jié)構(gòu)

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

    這種結(jié)構(gòu)的陣列機(jī)由16個(gè)處理單元(Processing Element,PE)互連構(gòu)成一個(gè)4×4的二維陣列,還包括1個(gè)前端處理器、4個(gè)協(xié)處理器、2個(gè)調(diào)度器及2個(gè)存儲(chǔ)管理。系統(tǒng)的整體結(jié)構(gòu)如圖1所示。

wdz2-t1.gif

2 線程調(diào)度器功能描述

    線程調(diào)度器完成的功能描述如下:

    (1)監(jiān)測(cè)預(yù)處理模塊,當(dāng)外部需要給線程加載指令或數(shù)據(jù)時(shí)響應(yīng)預(yù)處理模塊;

    (2)當(dāng)線程發(fā)生阻塞時(shí)負(fù)責(zé)切換線程,并產(chǎn)生PE某一個(gè)線程的啟動(dòng)信息,其中包括啟動(dòng)有效信號(hào)、 起始PC值、啟動(dòng)的線程號(hào);

    (3)線程之間的同步處理,負(fù)責(zé)監(jiān)視需要同步的線程是否同步結(jié)束;

    (4)當(dāng)外部需要重新配置某一個(gè)線程的指令或數(shù)據(jù)時(shí)負(fù)責(zé)停止該線程,產(chǎn)生pe_stop信號(hào);

    (5)給外部提供三個(gè)8位的寄存器,分別為線程啟動(dòng)信息寄存器、線程結(jié)束信息寄存器、線程斷點(diǎn)信息寄存器。

3 同時(shí)多線程設(shè)計(jì)方案

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

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

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

4 線程調(diào)度器詳細(xì)設(shè)計(jì)

4.1 線程管理器的總體結(jié)構(gòu)

    該調(diào)度器由信息處理模塊、狀態(tài)控制模塊、寄存器模塊、PE控制模塊四大部分構(gòu)成,各模塊的連接關(guān)系如圖2所示。

wdz2-t2.gif

    線程調(diào)度器的工作流程為:信息處理模塊接收來自預(yù)處理模塊的配置信息、指令、數(shù)據(jù)及加載結(jié)束信號(hào),判斷是否需要啟動(dòng)該線程。線程啟動(dòng)之后狀態(tài)控制模塊中對(duì)應(yīng)的線程狀態(tài)機(jī)發(fā)生跳轉(zhuǎn),同時(shí)寄存器模塊實(shí)時(shí)記錄該線程的PC值。當(dāng)接收到譯碼模塊的阻塞信息時(shí)停止當(dāng)前運(yùn)行的線程且切換線程,PE控制模塊負(fù)責(zé)產(chǎn)生新線程的啟動(dòng)信息。當(dāng)線程運(yùn)行結(jié)束后,信息處理模塊負(fù)責(zé)記錄線程的結(jié)束信息。

4.2 線程調(diào)度器的工作模式

    線程調(diào)度器擁有五種工作模式:?jiǎn)?dòng)模式、阻塞工作模式、同步模式、斷點(diǎn)模式和重配置模式。

    啟動(dòng)模式線程接收來自預(yù)處理模塊的線程啟動(dòng)信息配置要啟動(dòng)的線程,將對(duì)應(yīng)的線程ID號(hào)和PC值發(fā)送給PE來執(zhí)行。

    阻塞工作模式表示當(dāng)某一線程遇到阻塞,則切換到其線程組內(nèi)的另一線程上來執(zhí)行。若是兩個(gè)都阻塞,則先解除阻塞的線程先執(zhí)行。

    同步模式下對(duì)需要同步的幾個(gè)線程進(jìn)行等待處理,并判斷是否達(dá)到同步。若達(dá)到,則解除同步模式,開始正常執(zhí)行;若沒有達(dá)到,則繼續(xù)等待。

    斷點(diǎn)模式是用來方便處理器進(jìn)行調(diào)試錯(cuò)誤的一種工作模式。當(dāng)程序計(jì)數(shù)器PC遇到斷點(diǎn)時(shí),該線程停止工作,保存工作信息以待調(diào)試檢查。

    重配置模式是對(duì)線程進(jìn)行重新配置,根據(jù)上層的需要對(duì)線程要執(zhí)行的程序內(nèi)容進(jìn)行添加或更改。

4.3 線程狀態(tài)轉(zhuǎn)移關(guān)系

    如圖3所示,為線程調(diào)度器中線程的狀態(tài)轉(zhuǎn)移圖。

wdz2-t3.gif

    其中各個(gè)狀態(tài)說明如下:

    (1)IDLE:空閑狀態(tài)。當(dāng)線程啟動(dòng)信號(hào)有效時(shí)(th_start=1),則狀態(tài)跳轉(zhuǎn)到RUN運(yùn)行狀態(tài);

    (2)RUN:運(yùn)行狀態(tài)。當(dāng)線程位于此狀態(tài)時(shí),表示線程正在執(zhí)行,遇到阻塞或等待跳轉(zhuǎn)到WAIT狀態(tài);

    (3)BREAK:斷點(diǎn)狀態(tài)。當(dāng)線程的斷點(diǎn)數(shù)據(jù)收集結(jié)束(th_break_end=1)時(shí),狀態(tài)跳轉(zhuǎn)到RUN運(yùn)行狀態(tài);

    (4)WAIT:等待狀態(tài)。當(dāng)線程發(fā)生重配置(th_recfg=1)時(shí),則狀態(tài)跳轉(zhuǎn)到IDLE初始狀態(tài);當(dāng)線程阻塞解除(th_blk_fns=1)時(shí)狀態(tài)跳轉(zhuǎn)到RUN運(yùn)行狀態(tài);

    (5)SYN:同步狀態(tài)。線程位于該狀態(tài)下,遇到同步解除(th_syn_fns=1)信號(hào),跳轉(zhuǎn)到READY狀態(tài);

    (6)READY:準(zhǔn)備狀態(tài)。表示線程處于一個(gè)隨時(shí)可以啟動(dòng)的狀態(tài),當(dāng)線程被選中時(shí)(th0_hit=1),則狀態(tài)跳轉(zhuǎn)到RUN運(yùn)行狀態(tài)。

5 仿真結(jié)果分析和比較

    本文采用Xilinx公司的ISE14.4工具對(duì)硬件電路進(jìn)行了綜合,選用Xilinx公司型號(hào)為XC7V2000t-2fhg1761的FPGA,設(shè)計(jì)電路的最高頻率可以到達(dá)431.816 MHz。

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

    wdz2-gs1.gif

wdz2-b1.gif

wdz2-b2.gif

    可以看出,對(duì)于比較小的圖像,過多的線程會(huì)導(dǎo)致整體運(yùn)算速度變慢。這是因?yàn)榇藭r(shí)圖像整體運(yùn)算時(shí)間比較短,線程切換所造成的延時(shí)會(huì)在整體時(shí)間中占據(jù)比較大的比例。而對(duì)于更大的圖像,同時(shí)多線程技術(shù)則對(duì)處理器的性能提升影響比較大。對(duì)于多核同時(shí)多線程處理器而言,八個(gè)線程的線程調(diào)度器設(shè)計(jì)會(huì)使處理器得到更高的性能提升,充分體現(xiàn)了同時(shí)多線程技術(shù)的優(yōu)點(diǎn)。

6 總結(jié)

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

參考文獻(xiàn)

[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] 劉權(quán)勝,楊洪斌,吳悅.同時(shí)多線程技術(shù)[J].計(jì)算機(jī)工程與設(shè)計(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] 張?jiān)?解析超線程技術(shù)[J].甘肅聯(lián)合大學(xué)學(xué)報(bào),2007,21(4):99-101.

[6] Frank Soltis.Power5對(duì)i系列意味著什么[J].中國經(jīng)濟(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號(hào)處理器的同時(shí)多線程設(shè)計(jì)[J].計(jì)算機(jī)學(xué)報(bào),2009,32(11):2266-2273.

[9] 黃虎才.多態(tài)陣列處理器的并行計(jì)算研究[D].西安:西安郵電大學(xué),2014.

[10] 李濤,楊婷,易學(xué)淵.螢火蟲2:一種多態(tài)并行機(jī)的硬件體系結(jié)構(gòu)[J].計(jì)算機(jī)工程與科學(xué),2014,12(2):191-200.

[11] 李濤,肖靈芝.面向圖形和圖像處理的輕核陣列機(jī)結(jié)構(gòu)[J].西安郵電學(xué)院學(xué)報(bào),2012,17(3):41-47.

[12] 錢博文,李濤,韓俊剛,等.多態(tài)并行處理器中的線程管理器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014(2):30-32.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩视频免费观看高清完整版| 午夜精品在线观看| 亚洲免费在线看| 日韩午夜av| 亚洲日本中文| 亚洲国产欧美不卡在线观看 | 在线观看国产日韩| 一区在线播放视频| 极品av少妇一区二区| 韩日欧美一区二区| 一区二区三区在线免费观看| 伊人久久大香线| 在线看欧美视频| 亚洲国产精选| 亚洲日本成人| av成人国产| 亚洲一区二区三区欧美| 亚洲欧美日韩另类| 久久爱www| 亚洲欧洲精品一区二区三区波多野1战4| 亚洲国产精品国自产拍av秋霞| 亚洲国产99精品国自产| 亚洲黄色影院| 99国内精品久久| 中文在线不卡| 午夜在线播放视频欧美| 久久se精品一区二区| 久久狠狠久久综合桃花| 老司机午夜精品| 欧美日韩不卡视频| 欧美午夜激情小视频| 国产精品美女诱惑| 国产一区在线播放| 亚洲国产精彩中文乱码av在线播放| 亚洲国产免费看| 一区二区三区国产盗摄| 亚洲欧美日韩精品| 91久久在线视频| 亚洲一区二区三区涩| 久久精品夜色噜噜亚洲aⅴ| 每日更新成人在线视频| 欧美久久99| 国产九九精品视频| 在线观看不卡av| 在线视频日韩精品| 久久精品国产清自在天天线| 亚洲毛片在线观看.| 欧美亚洲一区二区三区| 乱中年女人伦av一区二区| 欧美日本一道本| 国产日韩欧美精品在线| 亚洲高清不卡一区| 亚洲无线视频| 最新亚洲电影| 午夜精品久久久久久99热| 美女久久一区| 国产精品毛片高清在线完整版| 黄色成人在线网站| 一区二区三区久久精品| 亚洲激情第一区| 午夜国产不卡在线观看视频| 免费久久99精品国产| 欧美性事在线| 亚洲国产岛国毛片在线| 午夜一区二区三区在线观看| 亚洲精选久久| 久久精品视频免费观看| 欧美人与性动交a欧美精品| 国产色综合网| 99精品视频免费观看| 亚洲国产免费看| 欧美一区二区精品久久911| 欧美精品在线一区二区三区| 国产一区二区三区四区老人| 99精品欧美一区二区蜜桃免费| 亚洲高清久久网| 欧美一区二区精美| 欧美少妇一区| 亚洲国产日本| 久久疯狂做爰流白浆xx| 午夜精品在线视频| 欧美日韩一区二区在线观看视频 | 亚洲香蕉伊综合在人在线视看| 久久先锋资源| 国产精品人人做人人爽| 日韩一二在线观看| 亚洲精品一区二区三| 久久精品首页| 国产精品毛片一区二区三区| 亚洲精品美女在线| 亚洲国产成人一区| 久久国产精品久久w女人spa| 国产精品av久久久久久麻豆网| 亚洲黄页一区| 亚洲欧洲一区二区在线观看 | 国产一区二区三区日韩欧美| 亚洲视频一区在线| 一区二区三区国产在线观看| 欧美va天堂va视频va在线| 国产一区二区在线观看免费播放| 亚洲一区自拍| 午夜精品福利一区二区三区av| 欧美日韩三级电影在线| 亚洲欧洲精品天堂一级| 亚洲人成久久| 欧美成人a∨高清免费观看| 黄色成人免费观看| 亚洲第一中文字幕| 久久久久久亚洲精品中文字幕| 国产伦精品一区二区三区高清 | 亚洲香蕉网站| 欧美视频一区二区| 99这里有精品| 制服丝袜激情欧洲亚洲| 欧美日韩天天操| 一区二区不卡在线视频 午夜欧美不卡在 | 国产精品日韩精品欧美精品| 在线视频一区观看| 亚洲欧美日本精品| 国产精品乱码一区二三区小蝌蚪 | 午夜精品久久久久久久男人的天堂| 亚洲在线播放| 欧美日韩另类视频| 一区二区欧美亚洲| 亚洲欧美日本精品| 国产乱人伦精品一区二区| 亚洲欧美亚洲| 久久精品在线视频| 红桃视频国产精品| 91久久精品国产91性色tv| 欧美成人午夜激情在线| 91久久黄色| 亚洲视频一区二区在线观看| 国产精品成人v| 亚洲欧洲99久久| 久久久精品久久久久| 国内久久视频| 亚洲精品少妇网址| 欧美日韩国产高清| 中文精品99久久国产香蕉| 欧美一区视频在线| 激情欧美日韩一区| 亚洲精品资源美女情侣酒店| 欧美日韩视频在线一区二区观看视频 | 亚洲丁香婷深爱综合| 日韩视频免费观看高清完整版| 欧美日韩国产免费| 亚洲在线视频| 玖玖国产精品视频| 亚洲精品乱码久久久久久黑人| 亚洲综合国产| 国内精品美女av在线播放| 亚洲欧洲日本专区| 欧美亚洲成人免费| 欧美中文日韩| 欧美久久电影| 亚洲欧美日韩一区二区在线| 美国十次了思思久久精品导航| 亚洲精品视频在线看| 亚洲欧美一区二区激情| 国精品一区二区| 日韩视频二区| 国产乱人伦精品一区二区| 91久久国产综合久久91精品网站| 欧美日韩一区视频| 欧美在线观看网址综合| 欧美日韩国产一区精品一区| 午夜视频久久久| 欧美国产亚洲另类动漫| 国产精品99久久久久久久女警 | 亚洲盗摄视频| 欧美三区视频| 欧美一区二区三区免费视| 欧美精品xxxxbbbb| 性久久久久久久| 欧美日韩精品一本二本三本| 欧美一二三视频| 欧美日韩国产美| 亚洲盗摄视频| 国产精品国内视频| 亚洲人成网站影音先锋播放| 国产精品毛片大码女人| 亚洲麻豆视频| 黄色成人在线观看| 亚洲欧美日韩国产另类专区| 亚洲第一综合天堂另类专| 欧美一级淫片aaaaaaa视频| 亚洲精品国产拍免费91在线| 久久成人免费日本黄色| 亚洲人成人99网站| 久久不见久久见免费视频1| 亚洲精品视频一区| 巨乳诱惑日韩免费av| 亚洲女同精品视频| 欧美伦理在线观看| 亚洲国产婷婷综合在线精品| 国产欧美一区二区精品秋霞影院| 99国产精品视频免费观看一公开| 国内伊人久久久久久网站视频| 亚洲午夜女主播在线直播|