《電子技術(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亚洲国产精品_日韩亚洲一区二区
国产在线播放一区二区三区| 日韩视频免费| 欧美成人资源网| 久久精品一区二区三区中文字幕| 久久国产主播精品| 在线视频欧美日韩精品| 日韩亚洲国产欧美| 亚洲精品综合久久中文字幕| 最近看过的日韩成人| 最近中文字幕日韩精品| 亚洲高清视频在线| 91久久精品久久国产性色也91| 亚洲国产99精品国自产| 亚洲韩国青草视频| 亚洲精品国精品久久99热一| 日韩视频一区二区| 在线视频你懂得一区二区三区| 亚洲私拍自拍| 先锋影音网一区二区| 香港成人在线视频| 久久精品国产亚洲高清剧情介绍| 久久精品二区亚洲w码| 久久精品99久久香蕉国产色戒 | 99热免费精品| 在线亚洲免费| 午夜天堂精品久久久久| 久久大香伊蕉在人线观看热2| 久久国产精品久久久久久久久久| 久久久五月婷婷| 欧美成年网站| 欧美日韩一区二区三区| 国产精品视频区| 国产一区二区丝袜高跟鞋图片| 精品福利av| 亚洲精品在线免费观看视频| 一区二区三区免费看| 午夜精品久久久久久久久久久久| 久久精品国产v日韩v亚洲| 亚洲欧洲在线播放| 亚洲天天影视| 久久成人免费| 美女精品在线| 欧美视频三区在线播放| 国产精品一区二区女厕厕| 韩国美女久久| 日韩一级黄色大片| 校园春色国产精品| 亚洲精品美女久久7777777| 亚洲特级片在线| 久久精品中文字幕一区| 欧美激情亚洲一区| 国产精品高清在线| 极品尤物一区二区三区| 最近看过的日韩成人| 久久爱91午夜羞羞| 99精品欧美一区| 性视频1819p久久| 亚洲久久视频| 欧美中文在线观看国产| 欧美激情在线有限公司| 国产精品毛片在线| 1000精品久久久久久久久| 亚洲美女免费视频| 一区二区国产日产| 校园春色综合网| 欧美xxxx在线观看| 久久成人人人人精品欧| 亚洲日本黄色| 欧美一级欧美一级在线播放| 美国十次成人| 国产精品一区二区在线| 亚洲高清不卡在线| 午夜精品久久一牛影视| 一本久道久久综合狠狠爱| 久久精品国产一区二区三区| 欧美日韩国产色视频| 国内久久视频| 亚洲午夜小视频| 日韩图片一区| 久久嫩草精品久久久精品| 国产精品国产| 亚洲国产精品久久久久婷婷老年| 亚洲欧美激情视频| 亚洲视频中文字幕| 欧美成年网站| 国产一区二区你懂的| 一区二区三区四区国产| 亚洲精品一区二区三区99| 久久本道综合色狠狠五月| 欧美日韩免费看| 亚洲激情六月丁香| 久久精品五月| 久久精品国产亚洲5555| 国产精品久久久久一区二区三区| 亚洲精品老司机| 最近看过的日韩成人| 久久久噜噜噜久噜久久| 国产情人节一区| 亚洲在线播放| 亚洲欧美成人在线| 欧美视频免费在线| 日韩系列欧美系列| 亚洲欧洲三级电影| 蜜臀av一级做a爰片久久| 国产一区二区三区在线观看精品 | 1000精品久久久久久久久| 欧美在线啊v一区| 欧美在线亚洲| 久久精品成人一区二区三区| 国产精品美女www爽爽爽| 亚洲最新视频在线播放| aⅴ色国产欧美| 欧美精品一区二区三区一线天视频 | 国产精品日韩在线| 亚洲专区免费| 亚洲欧美日韩精品在线| 国产精品久久久对白| aa日韩免费精品视频一| av成人老司机| 欧美少妇一区二区| 在线视频精品| 性娇小13――14欧美| 国产精品自在在线| 欧美一区二区精品久久911| 久久精品毛片| 国内精品久久久久影院优| 久久精品国产99国产精品澳门| 久久免费视频网| 亚洲成人在线观看视频| 99国产精品久久久久久久久久| 欧美电影专区| 亚洲毛片一区二区| 午夜精品成人在线| 国产三区精品| 亚洲国产精品免费| 欧美精品一卡| 亚洲在线视频一区| 久久久噜噜噜久久中文字免| 在线免费观看视频一区| 野花国产精品入口| 国产精品xxx在线观看www| 亚洲女人天堂av| 麻豆av福利av久久av| 亚洲人线精品午夜| 亚洲午夜av在线| 国产日韩欧美电影在线观看| 亚洲第一主播视频| 欧美精品性视频| 亚洲免费视频观看| 蜜臀久久99精品久久久久久9 | 美女视频黄免费的久久| 日韩视频免费看| 久久爱www久久做| 亚洲激情黄色| 亚洲欧美日韩直播| 精品动漫一区| 亚洲一本大道在线| 国产亚洲精品一区二555| 亚洲人成绝费网站色www| 欧美三级电影一区| 欧美在线视频一区二区三区| 欧美—级a级欧美特级ar全黄| 亚洲视频综合| 免费日韩成人| 亚洲天堂第二页| 开心色5月久久精品| 在线视频精品一| 老色鬼久久亚洲一区二区 | 亚洲欧美三级伦理| 在线免费观看日韩欧美| 亚洲影院一区| 激情小说亚洲一区| 亚洲一二三四区| 黄色av日韩| 亚洲欧美日韩精品久久| 亚洲风情亚aⅴ在线发布| 午夜在线电影亚洲一区| 亚洲国产福利在线| 欧美亚洲日本一区| 91久久视频| 久久精品免费观看| 日韩视频在线播放| 久久久久久久激情视频| 日韩一区二区精品| 猫咪成人在线观看| 亚洲欧美日韩国产综合| 欧美精品日韩精品| 久久www成人_看片免费不卡| 欧美午夜电影网| 亚洲人成在线观看网站高清| 国产精品系列在线| 一区二区三区产品免费精品久久75 | 亚洲一区二区三区视频| 亚洲第一中文字幕| 欧美在线91| 亚洲视频在线免费观看| 欧美精品在线一区| 久久精品免费播放| 国产精品美女一区二区| 99精品视频免费|