• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      對嵌入式硬件多線程處理器的研究

      2014-11-26 16:04:57汪汝
      新媒體研究 2014年20期
      關(guān)鍵詞:嵌入式

      汪汝

      摘 要 本文探討了利用同時(shí)多線程技術(shù)的硬件多線程處理器設(shè)計(jì),利用處理器內(nèi)部的硬件機(jī)制管理多線程的調(diào)度,實(shí)現(xiàn)以硬件的時(shí)間片輪詢?yōu)榛A(chǔ)的多線程調(diào)度機(jī)制。

      關(guān)鍵詞 嵌入式;多線程處理器;處理器設(shè)計(jì)

      中圖分類號:TP302 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號:1671-7597(2014)20-0006-01

      我國現(xiàn)階段的嵌入式系統(tǒng)里,多線程調(diào)度是通過建立于軟件層面上達(dá)到的,利用操作系統(tǒng)管理線程調(diào)度,但此方法仍然存在一些缺點(diǎn),比如系統(tǒng)實(shí)行時(shí)間片輪詢切換時(shí)會(huì)損耗相當(dāng)多的時(shí)間,而導(dǎo)致處理器實(shí)施用戶線程效率低;大部分嵌入式處理器硬件未設(shè)置多線程執(zhí)行環(huán)境的保護(hù)硬件機(jī)制,使得多線程程序工作時(shí)出現(xiàn)安全漏洞;用戶開發(fā)多線程編程需要借助系統(tǒng)函數(shù)與編程來解決相對復(fù)雜的問題。因此,本文探討了使用同時(shí)多線程技術(shù)實(shí)現(xiàn)的硬件多線程處理器設(shè)計(jì),利用處理器內(nèi)部硬件配制來管理多線程調(diào)度,全面提升處理器實(shí)施用戶線程的效率,用戶于多線程基礎(chǔ)上的編程程序也相對簡易化,提高了在多線程工作環(huán)境下保護(hù)各線程的能力。

      1 關(guān)于嵌入式硬件多線程處理器的設(shè)計(jì)

      由于芯片集成度與處理器設(shè)計(jì)技術(shù)的不斷進(jìn)步,多種邏輯處理器在單一處理器上的實(shí)現(xiàn),為硬件多線程的并發(fā)運(yùn)行提供了條件。對于嵌入式系統(tǒng)而言,其設(shè)計(jì)應(yīng)當(dāng)顧及成本與復(fù)雜度。本文設(shè)計(jì)的單執(zhí)行內(nèi)核的同時(shí)多線程是以傳統(tǒng)處理核心為基礎(chǔ),外展一個(gè)通過硬件邏輯掌控的多線程調(diào)度管理電路,實(shí)現(xiàn)硬件層面上多種線程的調(diào)度效果。處理器的線程調(diào)度單元會(huì)把外存里的多種線程指令代碼依照順序置入待執(zhí)行線程隊(duì)列中,同時(shí)根據(jù)時(shí)間片順序把待執(zhí)行隊(duì)列里的多種線程指令代碼依次傳輸?shù)綀?zhí)行單元里執(zhí)行。在這種處理器結(jié)構(gòu)下,每個(gè)硬件控制的線程依次在自身時(shí)間片內(nèi)應(yīng)用處理器的資源。每個(gè)通過處理器硬件控制的線程,于處理器執(zhí)行單元運(yùn)行時(shí)所見的處理器屬于完整的單任務(wù)處理器,即是指在某特別時(shí)間里只存在單一線程應(yīng)用處理器上的多種資源。利用這種結(jié)構(gòu)設(shè)計(jì)的處理器,只具備單一處理器執(zhí)行核,減弱了設(shè)計(jì)復(fù)雜度,實(shí)現(xiàn)的處理器范圍相比于同等級的單線程處理器,未見明顯增加。因此,利用同時(shí)多線程技術(shù)能夠?qū)崿F(xiàn)操作系統(tǒng)軟件最小程度的參與,以此降低硬件成本,實(shí)現(xiàn)在單處理器芯片系統(tǒng)內(nèi)進(jìn)行硬件多線程操作。

      硬件多線程處理器的硬件調(diào)度掌控部位的設(shè)計(jì)通常包括硬件多線程處理器結(jié)構(gòu)設(shè)計(jì)、寄存器存儲(chǔ)器資源保護(hù)設(shè)計(jì)、指令節(jié)拍的狀態(tài)機(jī)設(shè)計(jì)。指令節(jié)拍的狀態(tài)機(jī)設(shè)計(jì)應(yīng)用了摩爾有限狀態(tài)機(jī),把一條指令分散成五部分執(zhí)行,分別包括取指、譯碼、訪存、回寫、執(zhí)行五部分。

      2 關(guān)于嵌入式硬件多線程執(zhí)行機(jī)制的實(shí)現(xiàn)

      1)硬件多線程機(jī)制的實(shí)現(xiàn)。

      關(guān)于硬件結(jié)構(gòu),同時(shí)多線程技術(shù)實(shí)現(xiàn)的處理器只存在單一的處理器核心,多線程的執(zhí)行是依據(jù)單位時(shí)間片順序調(diào)度多種線程方法來實(shí)現(xiàn)。在每個(gè)單位時(shí)間片上,處理器應(yīng)當(dāng)依照次序完成執(zhí)行當(dāng)前空間指令、恢復(fù)工作時(shí)間、保護(hù)當(dāng)前工作環(huán)境。

      在處理器執(zhí)行空間指令過程里,一些內(nèi)部資源并不需要一直采用,就像通用寄存器內(nèi)的資源只在處理器的WB與EX節(jié)拍內(nèi)才會(huì)被應(yīng)用。因此能夠適當(dāng)排列操作次序,同時(shí)在硬件結(jié)構(gòu)上設(shè)定緩沖寄存器,以便在處理器中執(zhí)行當(dāng)前線程,保護(hù)與執(zhí)行下一線程工作空間的恢復(fù)操作。

      保護(hù)每個(gè)線程的工作空間,包括指針寄存器與通用寄存器組等,能夠借助在處理器內(nèi)部反復(fù)設(shè)定多種同等資源,同時(shí)將其分散在多種資源頁內(nèi)實(shí)現(xiàn)。若處理器要切換線程時(shí),處理器是采用換頁的方法切換這些資源。這些資源的分頁符,是憑借處理器里的線程選擇器形成的線程號來掌控。在實(shí)現(xiàn)過程中,對于怎樣連貫地把三種操作過程利用最少的時(shí)間依次完成是我們需要重視的問題。

      當(dāng)前處理工作環(huán)境的保護(hù)是多線程運(yùn)行環(huán)境里處理器保護(hù)內(nèi)部所有寄存器與存儲(chǔ)器。通過兩種具體辦法來實(shí)現(xiàn),其一為頁面管理辦法,其二為資源迅速切換法。

      2)線程選擇模塊的實(shí)現(xiàn)。

      利用同時(shí)多線程技術(shù)實(shí)現(xiàn)的處理器,每個(gè)硬件線程都存在特殊的線程號標(biāo)志,通常依據(jù)這些線程號區(qū)分處理器內(nèi)部的硬件線程。當(dāng)前執(zhí)行線程號的獲取能夠借助查詢線程控制寄存器的最高三位來實(shí)現(xiàn)。

      多線程執(zhí)行時(shí),線程選擇器會(huì)控制線程執(zhí)行次序,其原理結(jié)構(gòu)圖為下圖1所示。

      圖1 線程選擇器結(jié)構(gòu)原理圖

      在這個(gè)選擇器里包括一個(gè)線程選擇列陣,列陣的輸出端輸出的是下個(gè)單位時(shí)間片所要執(zhí)行的線程號。列陣的輸入激勵(lì)應(yīng)當(dāng)包括兩部分,分別是線程基數(shù)計(jì)數(shù)器輸出與線程控制寄存器輸出。其中線程控制寄存器記錄的是當(dāng)前被激活的硬件線程,利用這個(gè)寄存器能夠?yàn)橛脩籼峁┮粋€(gè)控制處理器內(nèi)硬件線程的掌控接口;線程基數(shù)寄存器會(huì)形成一個(gè)有次序的線程基數(shù)編號;線程選擇陣列中存在一個(gè)二維線性查找表。通過把線程基數(shù)計(jì)數(shù)器與線程控制寄存器兩部分的輸出激勵(lì)傳輸至二維的線性選擇陣列里,憑借特定的二維線性查找聯(lián)系則能算出當(dāng)前執(zhí)行的線程號。

      3 關(guān)于嵌入式硬件多線程執(zhí)行機(jī)制的性能分析

      本文設(shè)計(jì)的硬件多線程執(zhí)行處理器采用的是VHDL語言來描述,并且把它下載到FPGA芯片上來實(shí)現(xiàn)。處理器實(shí)現(xiàn)的性能以及參數(shù)設(shè)定標(biāo)準(zhǔn)為:處理器數(shù)據(jù)總線帶寬應(yīng)設(shè)為8位,處理器工作主要頻率是20 MHz,處理器結(jié)構(gòu)為RISC結(jié)構(gòu)。指令集使用ATMEL8515處理器指令集內(nèi)的子集,最大支持1MB數(shù)據(jù)與程序存儲(chǔ)空間、8個(gè)硬件線程。處理器內(nèi)含有32個(gè)通用寄存器。

      測試所應(yīng)用的是NRMX多任務(wù)操作系統(tǒng)與WebitX多任務(wù)嵌入式操作系統(tǒng)兩套系統(tǒng)。NRMX多任務(wù)操作系統(tǒng)是以Intel RMX51操作系統(tǒng)為基礎(chǔ),改善的一套嵌入式多任務(wù)操作系統(tǒng),該系統(tǒng)最多支持8項(xiàng)任務(wù),借助時(shí)間片輪詢方法予以執(zhí)行。系統(tǒng)的硬件配置包括Intel公司i8051處理器,12 MHz的工作頻率,系統(tǒng)配有12KB的程序存儲(chǔ)空間。而WebitX多任務(wù)嵌入式操作系統(tǒng)是采用搶占式多任務(wù)操作系統(tǒng)的一套嵌入式系統(tǒng),該系統(tǒng)最多支持8個(gè)任務(wù)。硬件運(yùn)行的環(huán)境為RISC單片機(jī)處理器,8MHz的處理頻率,系統(tǒng)配有4kb的程序存儲(chǔ)空間。上述兩套操作系統(tǒng)處理器的指令執(zhí)行所耗時(shí)鐘周期數(shù)、機(jī)器指令碼、處理速率均存在一定差異,直接對比絕對處理時(shí)間不存在意義,因此使用對比用戶線程執(zhí)行比率的方法來進(jìn)行分析。

      4 結(jié)束語

      綜上所述,本文探討的是利用硬件控制來完成多線程調(diào)度的方式,硬件多線程處理器于多線程條件下具有相當(dāng)快的執(zhí)行效率,但是評價(jià)其多線程處理系統(tǒng)的性能,還必須整合多種因素來予以評價(jià)。

      參考文獻(xiàn)

      [1]張文波,苑凌嬌,譚小波,等.嵌入式多線程處理器的執(zhí)行控制設(shè)計(jì)方法的研究[J].沈陽理工大學(xué)學(xué)報(bào),2012,34(4).

      [2]田杭沛,高德遠(yuǎn),樊曉椏,等.面向?qū)崟r(shí)流處理的多核多線程處理器訪存隊(duì)列[J].計(jì)算機(jī)研究與發(fā)展,2009,46(10).endprint

      摘 要 本文探討了利用同時(shí)多線程技術(shù)的硬件多線程處理器設(shè)計(jì),利用處理器內(nèi)部的硬件機(jī)制管理多線程的調(diào)度,實(shí)現(xiàn)以硬件的時(shí)間片輪詢?yōu)榛A(chǔ)的多線程調(diào)度機(jī)制。

      關(guān)鍵詞 嵌入式;多線程處理器;處理器設(shè)計(jì)

      中圖分類號:TP302 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號:1671-7597(2014)20-0006-01

      我國現(xiàn)階段的嵌入式系統(tǒng)里,多線程調(diào)度是通過建立于軟件層面上達(dá)到的,利用操作系統(tǒng)管理線程調(diào)度,但此方法仍然存在一些缺點(diǎn),比如系統(tǒng)實(shí)行時(shí)間片輪詢切換時(shí)會(huì)損耗相當(dāng)多的時(shí)間,而導(dǎo)致處理器實(shí)施用戶線程效率低;大部分嵌入式處理器硬件未設(shè)置多線程執(zhí)行環(huán)境的保護(hù)硬件機(jī)制,使得多線程程序工作時(shí)出現(xiàn)安全漏洞;用戶開發(fā)多線程編程需要借助系統(tǒng)函數(shù)與編程來解決相對復(fù)雜的問題。因此,本文探討了使用同時(shí)多線程技術(shù)實(shí)現(xiàn)的硬件多線程處理器設(shè)計(jì),利用處理器內(nèi)部硬件配制來管理多線程調(diào)度,全面提升處理器實(shí)施用戶線程的效率,用戶于多線程基礎(chǔ)上的編程程序也相對簡易化,提高了在多線程工作環(huán)境下保護(hù)各線程的能力。

      1 關(guān)于嵌入式硬件多線程處理器的設(shè)計(jì)

      由于芯片集成度與處理器設(shè)計(jì)技術(shù)的不斷進(jìn)步,多種邏輯處理器在單一處理器上的實(shí)現(xiàn),為硬件多線程的并發(fā)運(yùn)行提供了條件。對于嵌入式系統(tǒng)而言,其設(shè)計(jì)應(yīng)當(dāng)顧及成本與復(fù)雜度。本文設(shè)計(jì)的單執(zhí)行內(nèi)核的同時(shí)多線程是以傳統(tǒng)處理核心為基礎(chǔ),外展一個(gè)通過硬件邏輯掌控的多線程調(diào)度管理電路,實(shí)現(xiàn)硬件層面上多種線程的調(diào)度效果。處理器的線程調(diào)度單元會(huì)把外存里的多種線程指令代碼依照順序置入待執(zhí)行線程隊(duì)列中,同時(shí)根據(jù)時(shí)間片順序把待執(zhí)行隊(duì)列里的多種線程指令代碼依次傳輸?shù)綀?zhí)行單元里執(zhí)行。在這種處理器結(jié)構(gòu)下,每個(gè)硬件控制的線程依次在自身時(shí)間片內(nèi)應(yīng)用處理器的資源。每個(gè)通過處理器硬件控制的線程,于處理器執(zhí)行單元運(yùn)行時(shí)所見的處理器屬于完整的單任務(wù)處理器,即是指在某特別時(shí)間里只存在單一線程應(yīng)用處理器上的多種資源。利用這種結(jié)構(gòu)設(shè)計(jì)的處理器,只具備單一處理器執(zhí)行核,減弱了設(shè)計(jì)復(fù)雜度,實(shí)現(xiàn)的處理器范圍相比于同等級的單線程處理器,未見明顯增加。因此,利用同時(shí)多線程技術(shù)能夠?qū)崿F(xiàn)操作系統(tǒng)軟件最小程度的參與,以此降低硬件成本,實(shí)現(xiàn)在單處理器芯片系統(tǒng)內(nèi)進(jìn)行硬件多線程操作。

      硬件多線程處理器的硬件調(diào)度掌控部位的設(shè)計(jì)通常包括硬件多線程處理器結(jié)構(gòu)設(shè)計(jì)、寄存器存儲(chǔ)器資源保護(hù)設(shè)計(jì)、指令節(jié)拍的狀態(tài)機(jī)設(shè)計(jì)。指令節(jié)拍的狀態(tài)機(jī)設(shè)計(jì)應(yīng)用了摩爾有限狀態(tài)機(jī),把一條指令分散成五部分執(zhí)行,分別包括取指、譯碼、訪存、回寫、執(zhí)行五部分。

      2 關(guān)于嵌入式硬件多線程執(zhí)行機(jī)制的實(shí)現(xiàn)

      1)硬件多線程機(jī)制的實(shí)現(xiàn)。

      關(guān)于硬件結(jié)構(gòu),同時(shí)多線程技術(shù)實(shí)現(xiàn)的處理器只存在單一的處理器核心,多線程的執(zhí)行是依據(jù)單位時(shí)間片順序調(diào)度多種線程方法來實(shí)現(xiàn)。在每個(gè)單位時(shí)間片上,處理器應(yīng)當(dāng)依照次序完成執(zhí)行當(dāng)前空間指令、恢復(fù)工作時(shí)間、保護(hù)當(dāng)前工作環(huán)境。

      在處理器執(zhí)行空間指令過程里,一些內(nèi)部資源并不需要一直采用,就像通用寄存器內(nèi)的資源只在處理器的WB與EX節(jié)拍內(nèi)才會(huì)被應(yīng)用。因此能夠適當(dāng)排列操作次序,同時(shí)在硬件結(jié)構(gòu)上設(shè)定緩沖寄存器,以便在處理器中執(zhí)行當(dāng)前線程,保護(hù)與執(zhí)行下一線程工作空間的恢復(fù)操作。

      保護(hù)每個(gè)線程的工作空間,包括指針寄存器與通用寄存器組等,能夠借助在處理器內(nèi)部反復(fù)設(shè)定多種同等資源,同時(shí)將其分散在多種資源頁內(nèi)實(shí)現(xiàn)。若處理器要切換線程時(shí),處理器是采用換頁的方法切換這些資源。這些資源的分頁符,是憑借處理器里的線程選擇器形成的線程號來掌控。在實(shí)現(xiàn)過程中,對于怎樣連貫地把三種操作過程利用最少的時(shí)間依次完成是我們需要重視的問題。

      當(dāng)前處理工作環(huán)境的保護(hù)是多線程運(yùn)行環(huán)境里處理器保護(hù)內(nèi)部所有寄存器與存儲(chǔ)器。通過兩種具體辦法來實(shí)現(xiàn),其一為頁面管理辦法,其二為資源迅速切換法。

      2)線程選擇模塊的實(shí)現(xiàn)。

      利用同時(shí)多線程技術(shù)實(shí)現(xiàn)的處理器,每個(gè)硬件線程都存在特殊的線程號標(biāo)志,通常依據(jù)這些線程號區(qū)分處理器內(nèi)部的硬件線程。當(dāng)前執(zhí)行線程號的獲取能夠借助查詢線程控制寄存器的最高三位來實(shí)現(xiàn)。

      多線程執(zhí)行時(shí),線程選擇器會(huì)控制線程執(zhí)行次序,其原理結(jié)構(gòu)圖為下圖1所示。

      圖1 線程選擇器結(jié)構(gòu)原理圖

      在這個(gè)選擇器里包括一個(gè)線程選擇列陣,列陣的輸出端輸出的是下個(gè)單位時(shí)間片所要執(zhí)行的線程號。列陣的輸入激勵(lì)應(yīng)當(dāng)包括兩部分,分別是線程基數(shù)計(jì)數(shù)器輸出與線程控制寄存器輸出。其中線程控制寄存器記錄的是當(dāng)前被激活的硬件線程,利用這個(gè)寄存器能夠?yàn)橛脩籼峁┮粋€(gè)控制處理器內(nèi)硬件線程的掌控接口;線程基數(shù)寄存器會(huì)形成一個(gè)有次序的線程基數(shù)編號;線程選擇陣列中存在一個(gè)二維線性查找表。通過把線程基數(shù)計(jì)數(shù)器與線程控制寄存器兩部分的輸出激勵(lì)傳輸至二維的線性選擇陣列里,憑借特定的二維線性查找聯(lián)系則能算出當(dāng)前執(zhí)行的線程號。

      3 關(guān)于嵌入式硬件多線程執(zhí)行機(jī)制的性能分析

      本文設(shè)計(jì)的硬件多線程執(zhí)行處理器采用的是VHDL語言來描述,并且把它下載到FPGA芯片上來實(shí)現(xiàn)。處理器實(shí)現(xiàn)的性能以及參數(shù)設(shè)定標(biāo)準(zhǔn)為:處理器數(shù)據(jù)總線帶寬應(yīng)設(shè)為8位,處理器工作主要頻率是20 MHz,處理器結(jié)構(gòu)為RISC結(jié)構(gòu)。指令集使用ATMEL8515處理器指令集內(nèi)的子集,最大支持1MB數(shù)據(jù)與程序存儲(chǔ)空間、8個(gè)硬件線程。處理器內(nèi)含有32個(gè)通用寄存器。

      測試所應(yīng)用的是NRMX多任務(wù)操作系統(tǒng)與WebitX多任務(wù)嵌入式操作系統(tǒng)兩套系統(tǒng)。NRMX多任務(wù)操作系統(tǒng)是以Intel RMX51操作系統(tǒng)為基礎(chǔ),改善的一套嵌入式多任務(wù)操作系統(tǒng),該系統(tǒng)最多支持8項(xiàng)任務(wù),借助時(shí)間片輪詢方法予以執(zhí)行。系統(tǒng)的硬件配置包括Intel公司i8051處理器,12 MHz的工作頻率,系統(tǒng)配有12KB的程序存儲(chǔ)空間。而WebitX多任務(wù)嵌入式操作系統(tǒng)是采用搶占式多任務(wù)操作系統(tǒng)的一套嵌入式系統(tǒng),該系統(tǒng)最多支持8個(gè)任務(wù)。硬件運(yùn)行的環(huán)境為RISC單片機(jī)處理器,8MHz的處理頻率,系統(tǒng)配有4kb的程序存儲(chǔ)空間。上述兩套操作系統(tǒng)處理器的指令執(zhí)行所耗時(shí)鐘周期數(shù)、機(jī)器指令碼、處理速率均存在一定差異,直接對比絕對處理時(shí)間不存在意義,因此使用對比用戶線程執(zhí)行比率的方法來進(jìn)行分析。

      4 結(jié)束語

      綜上所述,本文探討的是利用硬件控制來完成多線程調(diào)度的方式,硬件多線程處理器于多線程條件下具有相當(dāng)快的執(zhí)行效率,但是評價(jià)其多線程處理系統(tǒng)的性能,還必須整合多種因素來予以評價(jià)。

      參考文獻(xiàn)

      [1]張文波,苑凌嬌,譚小波,等.嵌入式多線程處理器的執(zhí)行控制設(shè)計(jì)方法的研究[J].沈陽理工大學(xué)學(xué)報(bào),2012,34(4).

      [2]田杭沛,高德遠(yuǎn),樊曉椏,等.面向?qū)崟r(shí)流處理的多核多線程處理器訪存隊(duì)列[J].計(jì)算機(jī)研究與發(fā)展,2009,46(10).endprint

      摘 要 本文探討了利用同時(shí)多線程技術(shù)的硬件多線程處理器設(shè)計(jì),利用處理器內(nèi)部的硬件機(jī)制管理多線程的調(diào)度,實(shí)現(xiàn)以硬件的時(shí)間片輪詢?yōu)榛A(chǔ)的多線程調(diào)度機(jī)制。

      關(guān)鍵詞 嵌入式;多線程處理器;處理器設(shè)計(jì)

      中圖分類號:TP302 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號:1671-7597(2014)20-0006-01

      我國現(xiàn)階段的嵌入式系統(tǒng)里,多線程調(diào)度是通過建立于軟件層面上達(dá)到的,利用操作系統(tǒng)管理線程調(diào)度,但此方法仍然存在一些缺點(diǎn),比如系統(tǒng)實(shí)行時(shí)間片輪詢切換時(shí)會(huì)損耗相當(dāng)多的時(shí)間,而導(dǎo)致處理器實(shí)施用戶線程效率低;大部分嵌入式處理器硬件未設(shè)置多線程執(zhí)行環(huán)境的保護(hù)硬件機(jī)制,使得多線程程序工作時(shí)出現(xiàn)安全漏洞;用戶開發(fā)多線程編程需要借助系統(tǒng)函數(shù)與編程來解決相對復(fù)雜的問題。因此,本文探討了使用同時(shí)多線程技術(shù)實(shí)現(xiàn)的硬件多線程處理器設(shè)計(jì),利用處理器內(nèi)部硬件配制來管理多線程調(diào)度,全面提升處理器實(shí)施用戶線程的效率,用戶于多線程基礎(chǔ)上的編程程序也相對簡易化,提高了在多線程工作環(huán)境下保護(hù)各線程的能力。

      1 關(guān)于嵌入式硬件多線程處理器的設(shè)計(jì)

      由于芯片集成度與處理器設(shè)計(jì)技術(shù)的不斷進(jìn)步,多種邏輯處理器在單一處理器上的實(shí)現(xiàn),為硬件多線程的并發(fā)運(yùn)行提供了條件。對于嵌入式系統(tǒng)而言,其設(shè)計(jì)應(yīng)當(dāng)顧及成本與復(fù)雜度。本文設(shè)計(jì)的單執(zhí)行內(nèi)核的同時(shí)多線程是以傳統(tǒng)處理核心為基礎(chǔ),外展一個(gè)通過硬件邏輯掌控的多線程調(diào)度管理電路,實(shí)現(xiàn)硬件層面上多種線程的調(diào)度效果。處理器的線程調(diào)度單元會(huì)把外存里的多種線程指令代碼依照順序置入待執(zhí)行線程隊(duì)列中,同時(shí)根據(jù)時(shí)間片順序把待執(zhí)行隊(duì)列里的多種線程指令代碼依次傳輸?shù)綀?zhí)行單元里執(zhí)行。在這種處理器結(jié)構(gòu)下,每個(gè)硬件控制的線程依次在自身時(shí)間片內(nèi)應(yīng)用處理器的資源。每個(gè)通過處理器硬件控制的線程,于處理器執(zhí)行單元運(yùn)行時(shí)所見的處理器屬于完整的單任務(wù)處理器,即是指在某特別時(shí)間里只存在單一線程應(yīng)用處理器上的多種資源。利用這種結(jié)構(gòu)設(shè)計(jì)的處理器,只具備單一處理器執(zhí)行核,減弱了設(shè)計(jì)復(fù)雜度,實(shí)現(xiàn)的處理器范圍相比于同等級的單線程處理器,未見明顯增加。因此,利用同時(shí)多線程技術(shù)能夠?qū)崿F(xiàn)操作系統(tǒng)軟件最小程度的參與,以此降低硬件成本,實(shí)現(xiàn)在單處理器芯片系統(tǒng)內(nèi)進(jìn)行硬件多線程操作。

      硬件多線程處理器的硬件調(diào)度掌控部位的設(shè)計(jì)通常包括硬件多線程處理器結(jié)構(gòu)設(shè)計(jì)、寄存器存儲(chǔ)器資源保護(hù)設(shè)計(jì)、指令節(jié)拍的狀態(tài)機(jī)設(shè)計(jì)。指令節(jié)拍的狀態(tài)機(jī)設(shè)計(jì)應(yīng)用了摩爾有限狀態(tài)機(jī),把一條指令分散成五部分執(zhí)行,分別包括取指、譯碼、訪存、回寫、執(zhí)行五部分。

      2 關(guān)于嵌入式硬件多線程執(zhí)行機(jī)制的實(shí)現(xiàn)

      1)硬件多線程機(jī)制的實(shí)現(xiàn)。

      關(guān)于硬件結(jié)構(gòu),同時(shí)多線程技術(shù)實(shí)現(xiàn)的處理器只存在單一的處理器核心,多線程的執(zhí)行是依據(jù)單位時(shí)間片順序調(diào)度多種線程方法來實(shí)現(xiàn)。在每個(gè)單位時(shí)間片上,處理器應(yīng)當(dāng)依照次序完成執(zhí)行當(dāng)前空間指令、恢復(fù)工作時(shí)間、保護(hù)當(dāng)前工作環(huán)境。

      在處理器執(zhí)行空間指令過程里,一些內(nèi)部資源并不需要一直采用,就像通用寄存器內(nèi)的資源只在處理器的WB與EX節(jié)拍內(nèi)才會(huì)被應(yīng)用。因此能夠適當(dāng)排列操作次序,同時(shí)在硬件結(jié)構(gòu)上設(shè)定緩沖寄存器,以便在處理器中執(zhí)行當(dāng)前線程,保護(hù)與執(zhí)行下一線程工作空間的恢復(fù)操作。

      保護(hù)每個(gè)線程的工作空間,包括指針寄存器與通用寄存器組等,能夠借助在處理器內(nèi)部反復(fù)設(shè)定多種同等資源,同時(shí)將其分散在多種資源頁內(nèi)實(shí)現(xiàn)。若處理器要切換線程時(shí),處理器是采用換頁的方法切換這些資源。這些資源的分頁符,是憑借處理器里的線程選擇器形成的線程號來掌控。在實(shí)現(xiàn)過程中,對于怎樣連貫地把三種操作過程利用最少的時(shí)間依次完成是我們需要重視的問題。

      當(dāng)前處理工作環(huán)境的保護(hù)是多線程運(yùn)行環(huán)境里處理器保護(hù)內(nèi)部所有寄存器與存儲(chǔ)器。通過兩種具體辦法來實(shí)現(xiàn),其一為頁面管理辦法,其二為資源迅速切換法。

      2)線程選擇模塊的實(shí)現(xiàn)。

      利用同時(shí)多線程技術(shù)實(shí)現(xiàn)的處理器,每個(gè)硬件線程都存在特殊的線程號標(biāo)志,通常依據(jù)這些線程號區(qū)分處理器內(nèi)部的硬件線程。當(dāng)前執(zhí)行線程號的獲取能夠借助查詢線程控制寄存器的最高三位來實(shí)現(xiàn)。

      多線程執(zhí)行時(shí),線程選擇器會(huì)控制線程執(zhí)行次序,其原理結(jié)構(gòu)圖為下圖1所示。

      圖1 線程選擇器結(jié)構(gòu)原理圖

      在這個(gè)選擇器里包括一個(gè)線程選擇列陣,列陣的輸出端輸出的是下個(gè)單位時(shí)間片所要執(zhí)行的線程號。列陣的輸入激勵(lì)應(yīng)當(dāng)包括兩部分,分別是線程基數(shù)計(jì)數(shù)器輸出與線程控制寄存器輸出。其中線程控制寄存器記錄的是當(dāng)前被激活的硬件線程,利用這個(gè)寄存器能夠?yàn)橛脩籼峁┮粋€(gè)控制處理器內(nèi)硬件線程的掌控接口;線程基數(shù)寄存器會(huì)形成一個(gè)有次序的線程基數(shù)編號;線程選擇陣列中存在一個(gè)二維線性查找表。通過把線程基數(shù)計(jì)數(shù)器與線程控制寄存器兩部分的輸出激勵(lì)傳輸至二維的線性選擇陣列里,憑借特定的二維線性查找聯(lián)系則能算出當(dāng)前執(zhí)行的線程號。

      3 關(guān)于嵌入式硬件多線程執(zhí)行機(jī)制的性能分析

      本文設(shè)計(jì)的硬件多線程執(zhí)行處理器采用的是VHDL語言來描述,并且把它下載到FPGA芯片上來實(shí)現(xiàn)。處理器實(shí)現(xiàn)的性能以及參數(shù)設(shè)定標(biāo)準(zhǔn)為:處理器數(shù)據(jù)總線帶寬應(yīng)設(shè)為8位,處理器工作主要頻率是20 MHz,處理器結(jié)構(gòu)為RISC結(jié)構(gòu)。指令集使用ATMEL8515處理器指令集內(nèi)的子集,最大支持1MB數(shù)據(jù)與程序存儲(chǔ)空間、8個(gè)硬件線程。處理器內(nèi)含有32個(gè)通用寄存器。

      測試所應(yīng)用的是NRMX多任務(wù)操作系統(tǒng)與WebitX多任務(wù)嵌入式操作系統(tǒng)兩套系統(tǒng)。NRMX多任務(wù)操作系統(tǒng)是以Intel RMX51操作系統(tǒng)為基礎(chǔ),改善的一套嵌入式多任務(wù)操作系統(tǒng),該系統(tǒng)最多支持8項(xiàng)任務(wù),借助時(shí)間片輪詢方法予以執(zhí)行。系統(tǒng)的硬件配置包括Intel公司i8051處理器,12 MHz的工作頻率,系統(tǒng)配有12KB的程序存儲(chǔ)空間。而WebitX多任務(wù)嵌入式操作系統(tǒng)是采用搶占式多任務(wù)操作系統(tǒng)的一套嵌入式系統(tǒng),該系統(tǒng)最多支持8個(gè)任務(wù)。硬件運(yùn)行的環(huán)境為RISC單片機(jī)處理器,8MHz的處理頻率,系統(tǒng)配有4kb的程序存儲(chǔ)空間。上述兩套操作系統(tǒng)處理器的指令執(zhí)行所耗時(shí)鐘周期數(shù)、機(jī)器指令碼、處理速率均存在一定差異,直接對比絕對處理時(shí)間不存在意義,因此使用對比用戶線程執(zhí)行比率的方法來進(jìn)行分析。

      4 結(jié)束語

      綜上所述,本文探討的是利用硬件控制來完成多線程調(diào)度的方式,硬件多線程處理器于多線程條件下具有相當(dāng)快的執(zhí)行效率,但是評價(jià)其多線程處理系統(tǒng)的性能,還必須整合多種因素來予以評價(jià)。

      參考文獻(xiàn)

      [1]張文波,苑凌嬌,譚小波,等.嵌入式多線程處理器的執(zhí)行控制設(shè)計(jì)方法的研究[J].沈陽理工大學(xué)學(xué)報(bào),2012,34(4).

      [2]田杭沛,高德遠(yuǎn),樊曉椏,等.面向?qū)崟r(shí)流處理的多核多線程處理器訪存隊(duì)列[J].計(jì)算機(jī)研究與發(fā)展,2009,46(10).endprint

      猜你喜歡
      嵌入式
      Focal&Naim同框發(fā)布1000系列嵌入式揚(yáng)聲器及全新Uniti Atmos流媒體一體機(jī)
      TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
      電子制作(2019年7期)2019-04-25 13:17:14
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
      嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
      電子制作(2018年18期)2018-11-14 01:48:16
      嵌入式PLC的設(shè)計(jì)與研究
      電子制作(2018年16期)2018-09-26 03:27:18
      搭建基于Qt的嵌入式開發(fā)平臺(tái)
      基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開發(fā)
      嵌入式單片機(jī)在電機(jī)控制系統(tǒng)中的應(yīng)用探討
      電子制作(2017年8期)2017-06-05 09:36:15
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      Altera加入嵌入式視覺聯(lián)盟
      汶川县| 潞西市| 巴林右旗| 锦屏县| 民勤县| 阳泉市| 天全县| 临西县| 南昌县| 论坛| 建阳市| 临澧县| 德化县| 纳雍县| 明溪县| 平阴县| 军事| 拜泉县| 前郭尔| 营口市| 仙居县| 江都市| 马尔康县| 呼玛县| 临漳县| 青冈县| 兰西县| 东安县| 青阳县| 溆浦县| 驻马店市| 新疆| 南皮县| 阿拉善右旗| 青川县| 唐河县| 乌苏市| 昌都县| 临邑县| 固镇县| 防城港市|