91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

探究一種新的可配置處理器的異構(gòu)多核線(xiàn)程級(jí)動(dòng)態(tài)調(diào)度模型

電子工程師 ? 來(lái)源:中國(guó)集成電路 ? 作者:胡泊 付宇卓 ? 2021-04-27 18:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文針對(duì)基于可配置處理器的異構(gòu)多核結(jié)構(gòu),提出一種新的線(xiàn)程級(jí)動(dòng)態(tài)調(diào)度模型。此類(lèi)異構(gòu)多核系統(tǒng)中每個(gè)核分別針對(duì)某一應(yīng)用做指令集擴(kuò)展,調(diào)度器通過(guò)線(xiàn)程、處理器核以及指令集間的映射關(guān)系,動(dòng)態(tài)調(diào)度線(xiàn)程至適合的處理器核,從而在沒(méi)有大幅增加芯片面積的前提下,達(dá)到與每個(gè)核都

1.概述

多核處理器從結(jié)構(gòu)上可以分為同構(gòu)多核和異構(gòu)多核兩類(lèi)。同構(gòu)多核使用多個(gè)相同的處理核,通過(guò)并行處理提高系統(tǒng)性能;異構(gòu)多核使用多個(gè)不同的處理核,增加并行性的同時(shí)還可針對(duì)特定應(yīng)用做硬件加速,因此具有更好的加速比。不過(guò),由于異構(gòu)多核的核間指令集存在差異,動(dòng)態(tài)調(diào)度較難實(shí)現(xiàn)。

本文針對(duì)基于可配置處理器的異構(gòu)多核結(jié)構(gòu),提出一種新的線(xiàn)程級(jí)動(dòng)態(tài)調(diào)度模型。此類(lèi)異構(gòu)多核系統(tǒng)中每個(gè)核分別針對(duì)某一應(yīng)用做指令集擴(kuò)展,調(diào)度器通過(guò)線(xiàn)程、處理器核以及指令集間的映射關(guān)系,動(dòng)態(tài)調(diào)度線(xiàn)程至適合的處理器核,從而在沒(méi)有大幅增加芯片面積的前提下,達(dá)到與每個(gè)核都具有全擴(kuò)展指令集相近似的加速比,此外該模型還可以有效減少編程模型的復(fù)雜度。

2.新模型的數(shù)學(xué)描述

2.1 現(xiàn)有異構(gòu)多核分析

同構(gòu)多核核間無(wú)差異,因此動(dòng)態(tài)調(diào)度容易實(shí)現(xiàn),而異構(gòu)多核動(dòng)態(tài)調(diào)度可行與否取決于指令集結(jié)構(gòu)設(shè)計(jì)。現(xiàn)有異構(gòu)多核指令集結(jié)構(gòu)設(shè)計(jì)大致可分為三類(lèi):

● 指令集完全不同

此類(lèi)設(shè)計(jì)中,設(shè)計(jì)者選擇不同功能導(dǎo)向的處理器核組成異構(gòu)多核系統(tǒng),每一種核針對(duì)某一類(lèi)處理都具有較強(qiáng)功能,核之間的指令集存在巨大差異,因此動(dòng)態(tài)調(diào)度在此類(lèi)設(shè)計(jì)中無(wú)法實(shí)現(xiàn),只能通過(guò)靜態(tài)調(diào)度的方式完成任務(wù)指派[3]。

● 指令集完全相同

此類(lèi)設(shè)計(jì)中,設(shè)計(jì)者選取具有相同指令集但硬件配置上有所不同的處理器核,組成異構(gòu)多核系統(tǒng)[2]。

● 指令集部分相同

此類(lèi)設(shè)計(jì)中,處理核心是一組可配置處理器,所有的處理核心具有一個(gè)公共的指令集,每個(gè)核心都可以根據(jù)應(yīng)用增加一些擴(kuò)展指令,以增強(qiáng)對(duì)應(yīng)用某一方面的處理能力[4]。

2.2. 新模型的數(shù)學(xué)描述

本文提出的調(diào)度模型即針對(duì)基于可配置處理器的異構(gòu)多核。該模型成立基于以下假設(shè),每個(gè)核的指令集配置完成于芯片設(shè)計(jì)階段,芯片一旦生產(chǎn),任意一個(gè)核的指令集配置都不可修改。實(shí)際上,動(dòng)態(tài)可配置指令集對(duì)芯片面積及功耗都會(huì)帶來(lái)巨大消耗,因此現(xiàn)在市場(chǎng)上絕大部分可配置處理器都符合上述假設(shè)。為描述簡(jiǎn)單起見(jiàn),下文中一個(gè)處理器核被稱(chēng)為core。

首先定義模型中使用的三個(gè)集合。

集合 C= {Xi|Xi是系統(tǒng)中某個(gè)core}

集合 I={Yi|Yi是系統(tǒng)中某種指令集}

集合 T={Zi|Zi是系統(tǒng)中某個(gè)線(xiàn)程}

對(duì)于上述集合,存在映射關(guān)系

f :C→∪Ii,Ii.I且Ii≠φ,即任意一個(gè)core必然存在一個(gè)I的非空子集Im與之對(duì)應(yīng),其實(shí)際意義表示該core可以運(yùn)行集合Im所包含的指令。根據(jù)模型的成立條件,core的指令集在系統(tǒng)運(yùn)行時(shí)不可修改,因此不同core對(duì)應(yīng)的Im可能相同,但是每個(gè)core僅對(duì)應(yīng)一個(gè)Im,故f是單射,即XIi∈C,Im.I,且Im ≠φ,f(Xi)=Im (式1)類(lèi)似的。

還存在映射關(guān)系g:T→∪Ii,Ii.I且Ii≠φ,即任意一個(gè)線(xiàn)程必然存在一個(gè)I的非空子集In與之對(duì)應(yīng),其實(shí)際意義表示該線(xiàn)程必須運(yùn)行在具有指令集In 的處理器上。任意一個(gè)時(shí)刻每個(gè)線(xiàn)程僅有一個(gè)In與之對(duì)應(yīng),此外不同的線(xiàn)程對(duì)應(yīng)的In可能相同,故g也是單射,即Zi∈T,In.I,且In≠φ,g(Zi)=In (式2)根據(jù)上述公式,對(duì)任意的Xi,可以得到一個(gè)Im,任意的Zi,可以得到一個(gè)In,則公式(3)成立。

這是模型中的調(diào)度函數(shù),當(dāng)線(xiàn)程所需指令集是core指令集的子集,match(Im,In)值為1,表示線(xiàn)程Zi可以運(yùn)行在處理器核Xi上。

3. 模型實(shí)現(xiàn)

上述模型可以有多種實(shí)現(xiàn)方式,本文參考位圖的思想完成其中一種實(shí)現(xiàn)。

3.1. 三個(gè)集合的確定

考慮常用多核規(guī)模,32 種指令集已可滿(mǎn)足指令集種類(lèi)數(shù)量要求,因此該實(shí)現(xiàn)將無(wú)符號(hào)二進(jìn)制32位整數(shù)的每一位對(duì)應(yīng)一種指令集,其最低有效位為20,記為ISA1,最高有效位為231,記為ISA32,若可以運(yùn)行指令集ISAm,則該無(wú)符號(hào)整數(shù)的第m位為1,故集合I在基于位圖的實(shí)現(xiàn)中定義為I={ISAm無(wú)符號(hào)整數(shù)第m-1位為1,1≤m≤32}。

任意I中幾個(gè)元素,對(duì)其依次做或運(yùn)算(OR)得到一個(gè)新整數(shù),該整數(shù)即可表示由這幾個(gè)元素構(gòu)成的I的子集。系統(tǒng)中所有的core具有公共指令集,將此指令集記為ISA1。

系統(tǒng)中每個(gè)core具有一個(gè)唯一編號(hào),因此集合C= {0, 1, ……, n.1},n為系統(tǒng)中core的數(shù)量。

此外,根據(jù)線(xiàn)程的定義,不同的線(xiàn)程不能具有相同的線(xiàn)程句柄,因此T={所有線(xiàn)程句柄}。

3.2. 三個(gè)公式的實(shí)現(xiàn)

定義一個(gè)二維的無(wú)符號(hào)整數(shù)數(shù)組cpu_isa_map,數(shù)組每行第一個(gè)元素為core的編號(hào),第二個(gè)元素為I的一個(gè)非空子集,表示該core可以運(yùn)行的所有指令集,最后一行用于循環(huán)結(jié)束,第一個(gè)元素為無(wú)窮大(0xFFFFFFFF),第二個(gè)元素為空集。以core的編號(hào)對(duì)該數(shù)組遍歷查詢(xún)即可實(shí)現(xiàn)公式1。圖1為該數(shù)組的一個(gè)例子。

POSIX線(xiàn)程標(biāo)準(zhǔn)中,每個(gè)線(xiàn)程具有pthread_attr_t結(jié)構(gòu)體類(lèi)型的屬性參數(shù),為了兼容POSIX標(biāo)準(zhǔn),擴(kuò)展該結(jié)構(gòu)體,添加一個(gè)無(wú)符號(hào)整數(shù)變量runnable_isa,表示該線(xiàn)程可以運(yùn)行的指令集集合。創(chuàng)建線(xiàn)程時(shí)需要顯示設(shè)置runnable_isa,如果沒(méi)有設(shè)置,該變量默認(rèn)值為公共指令集ISA1,這樣就實(shí)現(xiàn)了公式2。

對(duì)于公式3,首先根據(jù)調(diào)度器當(dāng)前運(yùn)行的core編號(hào)查詢(xún)cpu_isa_map獲得core支持的指令集core_isa,然后遍歷線(xiàn)程調(diào)度器的就緒線(xiàn)程隊(duì)列,將每個(gè)線(xiàn)程的runnable_isa屬性與core_isa做與操作(AND),若結(jié)果不為0且runnable小于等于core_isa,則說(shuō)明該core的指令集配置滿(mǎn)足線(xiàn)程所需的運(yùn)行要求。

即match(Im,In)為1,線(xiàn)程可以被運(yùn)行,如果所有線(xiàn)程均無(wú)法運(yùn)行在該核上,則返回空指針。圖2為此算法實(shí)現(xiàn),其中HEAD(state)為獲得就緒線(xiàn)程隊(duì)列的頭指針,該隊(duì)列尾指針的next指針為空指針。至此,模型已經(jīng)全部實(shí)現(xiàn)完畢。

4. 實(shí)驗(yàn)結(jié)果

本文使用基于Xtensa處理器組成的異構(gòu)多核系統(tǒng),以Motion-JPEG作為測(cè)試程序?qū)υ撃P瓦M(jìn)行實(shí)驗(yàn)分析。

4.1. 實(shí)驗(yàn)平臺(tái)簡(jiǎn)介

Xtensa處理器是Tensilica公司推出的一種可配置處理器,該處理器除了具有一組固定的指令集之外,還可以通過(guò)TIE功能擴(kuò)展指令集以加速程序運(yùn)行。Tensilica公司提供了該處理器基于SystemC的仿真模型。本文的實(shí)驗(yàn)平臺(tái)是由3個(gè)Xtensa處理器仿真模型組成的異構(gòu)多核系統(tǒng),分別記為core0,core1,core2。

本文節(jié)選自:中國(guó)集成電路

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    20248

    瀏覽量

    252101
  • 仿真模型
    +關(guān)注

    關(guān)注

    1

    文章

    31

    瀏覽量

    12813
  • 多核處理器
    +關(guān)注

    關(guān)注

    0

    文章

    110

    瀏覽量

    20750
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【瑞薩FPB-RA6E2試用】【瑞薩FPB-RA6E2】RTOS(Real-Time Operating System,實(shí)時(shí)操作系統(tǒng))《線(xiàn)程》個(gè)人理解及項(xiàng)目實(shí)現(xiàn)

    獨(dú)立的執(zhí)行流,擁有自己的棧、優(yōu)先級(jí)、入口函數(shù),由內(nèi)核調(diào)度管理 調(diào)度(Scheduler) 決定哪個(gè)線(xiàn)
    發(fā)表于 01-14 11:50

    解析Linux的進(jìn)程、線(xiàn)程和協(xié)程

    和系統(tǒng)資源。線(xiàn)程的引入使得多核處理器得以充分利用,因?yàn)槎?b class='flag-5'>線(xiàn)程程序可以更有效地分配和管理多核心的計(jì)算資源。
    發(fā)表于 12-22 11:00

    嵌入式基礎(chǔ)知識(shí)-系統(tǒng)調(diào)度

    調(diào)度,有許多相似之處。 1、進(jìn)程的三狀態(tài) 執(zhí)行態(tài)(Run):進(jìn)程占用CPU資源,對(duì)于單核處理器,任時(shí)刻只能有個(gè)進(jìn)行處于執(zhí)行態(tài)。 就
    發(fā)表于 12-16 08:15

    如何配置處理器休眠模式?

    如何配置處理器休眠模式
    發(fā)表于 12-05 07:28

    文了解Mojo編程語(yǔ)言

    Mojo 是一種由 Modular AI 公司開(kāi)發(fā)的編程語(yǔ)言,旨在將 Python 的易用性與 C 語(yǔ)言的高性能相結(jié)合,特別適合人工智能(AI)、高性能計(jì)算(HPC)和系統(tǒng)級(jí)編程場(chǎng)景。以下是關(guān)于
    發(fā)表于 11-07 05:59

    低優(yōu)先級(jí)線(xiàn)程無(wú)法調(diào)度怎么解決?

    1,設(shè)置了3,5,6,8幾個(gè)優(yōu)先級(jí),設(shè)備在現(xiàn)場(chǎng)正常運(yùn)行了年多后,顯示、前端、后端這3個(gè)低優(yōu)先級(jí)線(xiàn)程異常了,表現(xiàn)為屏幕不動(dòng),前端采集數(shù)據(jù)沒(méi)有變化等,其他高優(yōu)先
    發(fā)表于 09-25 07:33

    rtth studio中nano 如何創(chuàng)建動(dòng)態(tài)線(xiàn)程?

    有沒(méi)有大佬,可以說(shuō)下為什么靜態(tài)線(xiàn)程可以正常使用,動(dòng)態(tài)線(xiàn)程怎么也使用不了。 具體需要什么配置才能使用動(dòng)態(tài)
    發(fā)表于 09-11 06:01

    【HZ-T536開(kāi)發(fā)板免費(fèi)體驗(yàn)】—— linux創(chuàng)建線(xiàn)程

    的執(zhí)行任務(wù)成為單線(xiàn)程。多線(xiàn)程是程序中包含多個(gè)執(zhí)行流,在個(gè)程序中可以同時(shí)運(yùn)行多個(gè)不同的線(xiàn)程來(lái)執(zhí)行不同的任務(wù)。 多線(xiàn)程提高了CPU的使用鹵率。
    發(fā)表于 09-01 21:31

    rtt studio中nano 如何創(chuàng)建動(dòng)態(tài)線(xiàn)程?

    有沒(méi)有大佬,可以說(shuō)下為什么靜態(tài)線(xiàn)程可以正常使用,動(dòng)態(tài)線(xiàn)程怎么也使用不了。 具體需要什么配置才能使用動(dòng)態(tài)
    發(fā)表于 08-22 06:19

    【老法師】多核異構(gòu)處理器中M核程序的啟動(dòng)、編寫(xiě)和仿真

    文章,小編就將以飛凌嵌入式的OKMX8MP-C開(kāi)發(fā)板為例,為大家介紹多核異構(gòu)處理器M核程序的啟動(dòng)配置、程序編寫(xiě)和實(shí)時(shí)仿真的過(guò)程。
    的頭像 發(fā)表于 08-13 09:05 ?3983次閱讀
    【老法師】<b class='flag-5'>多核</b><b class='flag-5'>異構(gòu)</b><b class='flag-5'>處理器</b>中M核程序的啟動(dòng)、編寫(xiě)和仿真

    商湯大裝置發(fā)布基于DeepLink的異構(gòu)混合調(diào)度方案

    調(diào)度復(fù)雜、跨域訓(xùn)練穩(wěn)定性不足等行業(yè)挑戰(zhàn),全面提升異構(gòu)集群的協(xié)同效率與運(yùn)行可靠性,加速?lài)?guó)產(chǎn)AI算力從“可用”邁向“好用”,為大模型訓(xùn)練提供強(qiáng)大而高效的支撐能力。
    的頭像 發(fā)表于 08-05 10:01 ?1095次閱讀

    一種集成FPGA和DSP芯粒的異構(gòu)系統(tǒng)級(jí)封裝

    將多個(gè)異構(gòu)芯粒集成在起進(jìn)行封裝是一種具有廣闊前景且成本效益高的策略,它能夠構(gòu)建出既靈活又可擴(kuò)展的系統(tǒng),并且能有效加速多樣化的工作負(fù)載。
    的頭像 發(fā)表于 07-03 09:23 ?1993次閱讀
    <b class='flag-5'>一種</b>集成FPGA和DSP芯粒的<b class='flag-5'>異構(gòu)</b>系統(tǒng)<b class='flag-5'>級(jí)</b>封裝

    深度剖析 RT-Thread 線(xiàn)程調(diào)度流程

    RT-Thread調(diào)度個(gè)線(xiàn)程的主要流程分如下:rtthread_startup:RTT的啟動(dòng)函數(shù),主要負(fù)責(zé)板級(jí)驅(qū)動(dòng),調(diào)度
    的頭像 發(fā)表于 06-25 18:24 ?1762次閱讀
    深度剖析 RT-Thread <b class='flag-5'>線(xiàn)程</b><b class='flag-5'>調(diào)度</b>流程

    米爾瑞芯微多核異構(gòu)低功耗RK3506核心板重磅發(fā)布

    近日,米爾電子發(fā)布MYC-YR3506核心板和開(kāi)發(fā)板,基于國(guó)產(chǎn)新一代入門(mén)級(jí)工業(yè)處理器瑞芯微RK3506,這款芯片采用三核Cortex-A7+單核Cortex-M0多核異構(gòu)設(shè)計(jì),不僅擁有
    發(fā)表于 05-16 17:20

    Nordic新代旗艦芯片nRF54H20深度解析

    異構(gòu)架構(gòu)??的芯片集成了: ??雙Cortex-M33內(nèi)核??(主頻320MHz,性能達(dá)nRF5340的2倍) ??RISC-V協(xié)處理器集群??(專(zhuān)為實(shí)時(shí)任務(wù)優(yōu)化) ??超大存儲(chǔ)配置??:2MB
    發(fā)表于 04-26 23:25