国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于觸發(fā)指令結(jié)構(gòu)的執(zhí)行控制流的方法及系統(tǒng)的制作方法

      文檔序號(hào):8298841閱讀:490來源:國知局
      基于觸發(fā)指令結(jié)構(gòu)的執(zhí)行控制流的方法及系統(tǒng)的制作方法
      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種基于觸發(fā)指令結(jié)構(gòu)的執(zhí)行控制流的方 法及系統(tǒng)。
      【背景技術(shù)】
      [0002] 粗粒度可重構(gòu)處理器是一種兼具靈活性和高性能的新型處理器構(gòu)架,相較于傳統(tǒng) 的單核處理器、專用芯片、現(xiàn)場(chǎng)可編程邏輯陣列等,尤其是在處理計(jì)算密集型的算法方面有 著非常顯著的優(yōu)勢(shì),是未來電路結(jié)構(gòu)發(fā)展的一個(gè)方向。但是,對(duì)于控制密集型的算法存在很 大的局限性,是當(dāng)前可重構(gòu)處理器提升性能的瓶頸。
      [0003] 粗粒度可重構(gòu)處理器結(jié)構(gòu)可以分為集中控制結(jié)構(gòu)和分布式控制結(jié)構(gòu)。在集中控制 結(jié)構(gòu)上,整個(gè)(processelement,PE)陣列共用一個(gè)配置控制器。而對(duì)于分布式控制結(jié)構(gòu),每 個(gè)PE都具有各自的配置控制器。觸發(fā)指令結(jié)構(gòu)(triggeredinstructionarchitecture, TIA)是A.Parshar"Triggeredinstructions:acontrolparadigmforspatially programmedarchitectures"inISCA2013中提出的一種分布式控制結(jié)構(gòu)。在執(zhí)行運(yùn)算時(shí), 一次取16條指令/配置,并通過觸發(fā)機(jī)制執(zhí)行其中一條。該結(jié)構(gòu)完全移除了程序計(jì)數(shù)器 (programcounter,PC),解決了程序過度串行化的問題。在該結(jié)構(gòu)中,下一條指令/配置的 執(zhí)行是由上條指令/配置的執(zhí)行結(jié)果來確定的,及單個(gè)PE資源的限制,導(dǎo)致在執(zhí)行控制流 特別是處理較大的控制流時(shí),指令并行困難。
      [0004] 控制流可以分為長分支、短分支、不平衡分支、嵌套分支,有界循環(huán)(循環(huán)數(shù)確 定),無界循環(huán)(循環(huán)數(shù)不定)結(jié)構(gòu)等類型。其中長分支和短分支的劃分方法依據(jù)的是分 支的長短。不平衡分支是指兩條或以上分支的長度不同的分支結(jié)構(gòu)。嵌套分支是指有多 個(gè)條件相互嵌套的分支結(jié)構(gòu)。不定循環(huán)數(shù)的循環(huán)結(jié)構(gòu)是指循環(huán)數(shù)是將循環(huán)體在執(zhí)行過程 中某一動(dòng)態(tài)變化的變量在滿足的特定條件作為結(jié)束循環(huán)的標(biāo)志。目前,已經(jīng)有很多方法用 于解決控制流對(duì)于可重構(gòu)處理器的瓶頸問題。例如部分聲明執(zhí)行(partialpredication execution)、完全聲明執(zhí)行(fullpredicationexecution)、雙發(fā)射單執(zhí)行(dualissue singleexecution)、分支預(yù)測(cè)(branchprediction)、并行條件(parallelcondition) 等。但是,當(dāng)前所提出的方法都只能對(duì)于部分類型的控制流有效。其中"并行條件"是 在J.Zhu"AHybridReconfigurableArchitectureandDesignMethodsAimingat Control-IntensiveKernels"inTVLSI2014中提出的。該方法通過并行條件和分支使得 執(zhí)行控制流時(shí)獲得較高的性能。但是由于其基本結(jié)構(gòu)依然是集中控制結(jié)構(gòu),控制器較低的 靈活性使得其在處理不平衡分支的時(shí)候不能獲得較高性能??傮w來說,由于結(jié)構(gòu)或者方法 本身的局限性,目前提出的基于可重構(gòu)結(jié)構(gòu)解決控制流問題的方法,沒有一種能夠應(yīng)對(duì)所 有類型的控制流,特別是對(duì)于不平衡分支和無界循環(huán)類型的控制流,基本沒有一種方法或 結(jié)構(gòu)能夠在保證正確工作的前提下保證較高的性能。

      【發(fā)明內(nèi)容】

      [0005] 本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。為此,本發(fā)明第 一方面目的在于提出一種實(shí)時(shí)的、高效的、成本低的基于觸發(fā)指令結(jié)構(gòu)的執(zhí)行控制流的方 法。
      [0006] 本發(fā)明第二方面目的在于提出一種基于觸發(fā)指令結(jié)構(gòu)的執(zhí)行控制流的系統(tǒng)。
      [0007] 為了實(shí)現(xiàn)上述目的,本發(fā)明第一方面實(shí)施例的基于觸發(fā)指令結(jié)構(gòu)的執(zhí)行控制流的 方法,包括以下步驟:S1,初始化配置,包括讀取多條指令及與所述多條指令一一對(duì)應(yīng)的觸 發(fā)表達(dá)式,并配置到處理單元中,每條指令包含預(yù)定數(shù)目算子和用于表示預(yù)定數(shù)目算子之 間控制關(guān)系的比特位;S2,根據(jù)所述處理單元的狀態(tài)及所述多條指令的觸發(fā)表達(dá)式,獲取指 令的觸發(fā)條件;S3,從所述多條指令中選取符合所述觸發(fā)條件的指令,根據(jù)所述算子將所述 符合觸發(fā)條件的指令劃分為預(yù)定數(shù)目的子指令,將所述用于表示預(yù)定數(shù)目算子指令之間控 制關(guān)系的比特位輸送至相應(yīng)的運(yùn)算器的輸出控制端以選擇執(zhí)行的控制流,同時(shí)將所述預(yù)定 數(shù)目的子指令依次分配至預(yù)定數(shù)目的所述運(yùn)算器;S4,每個(gè)所述運(yùn)算器執(zhí)行與所述算子對(duì) 應(yīng)的運(yùn)算,獲取并輸出包括用于表示所述處理單元狀態(tài)的運(yùn)算結(jié)果;以及S5,重復(fù)執(zhí)行步 驟S2?S4,直至達(dá)到循環(huán)截止條件。
      [0008] 根據(jù)本發(fā)明實(shí)施例的基于觸發(fā)指令結(jié)構(gòu)的執(zhí)行控制流的方法,從多條指令中選取 符合觸發(fā)條件的指令,使得指令通過觸發(fā)機(jī)制觸發(fā)。將包含用于表示預(yù)定數(shù)目算子指令之 間控制關(guān)系的比特位的觸發(fā)指令輸送至相應(yīng)的運(yùn)算器的輸出控制端以選擇執(zhí)行的控制流, 消除了分支跳轉(zhuǎn)指令,實(shí)現(xiàn)了條件與分支并行,提高了性能。
      [0009] 在一些示例中,所述預(yù)定數(shù)目至少為2個(gè)。
      [0010] 本發(fā)明第二方面實(shí)施例的基于觸發(fā)指令結(jié)構(gòu)的執(zhí)行控制流的系統(tǒng),包括多個(gè)處理 單元,每個(gè)所述處理單元包括,指令寄存器,用于存儲(chǔ)多條指令,每條指令包含預(yù)定數(shù)值的 基本算子和用于表示所述預(yù)定數(shù)值的基本算子之間控制關(guān)系的比特位;指令觸發(fā)表達(dá)式存 儲(chǔ)器,用于存儲(chǔ)與所述多條指令一一對(duì)應(yīng)的觸發(fā)表達(dá)式;狀態(tài)寄存器,用于存儲(chǔ)所述處理單 元的當(dāng)前狀態(tài),并配置所述各條指令的觸發(fā)表達(dá)式所有元素的值;調(diào)度器,用于根據(jù)所述 狀態(tài)寄存器中各個(gè)元素的值和所述觸發(fā)表達(dá)式,獲取指令的觸發(fā)條件;預(yù)定數(shù)目的運(yùn)算器; 所述調(diào)度器用于從所述多條指令中選取符合所述觸發(fā)條件的指令,根據(jù)所述算子將所述符 合觸發(fā)條件的指令劃分為預(yù)定數(shù)目的子指令,將所述用于表示預(yù)定數(shù)目算子指令之間控制 關(guān)系的比特位輸送至相應(yīng)的運(yùn)算器的輸出控制端以選擇執(zhí)行的控制流,同時(shí)將所述預(yù)定數(shù) 目的子指令依次分配至所述預(yù)定數(shù)目的運(yùn)算器;所述運(yùn)算器執(zhí)行與所述算子對(duì)應(yīng)的運(yùn)算, 獲取并輸出包括用于表示所述處理單元狀態(tài)的運(yùn)算結(jié)果。
      [0011] 根據(jù)本發(fā)明實(shí)施例的基于觸發(fā)指令結(jié)構(gòu)的執(zhí)行控制流的系統(tǒng),從多條指令中選取 符合觸發(fā)條件的指令,使得指令通過觸發(fā)機(jī)制觸發(fā)。將包含用于表示預(yù)定數(shù)目算子指令之 間控制關(guān)系的比特位的觸發(fā)指令輸送至相應(yīng)的運(yùn)算器的輸出控制端以選擇執(zhí)行的控制流, 消除了分支跳轉(zhuǎn)指令,實(shí)現(xiàn)了條件與分支并行,提高了性能。
      [0012] 在一些示例中,所述系統(tǒng)還包括:數(shù)據(jù)寄存器,用于存儲(chǔ)所述運(yùn)算結(jié)果。
      [0013] 在一些示例中,所述預(yù)定數(shù)目至少為2個(gè)。
      [0014] 本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過本發(fā)明的實(shí)踐了解到。
      【附圖說明】
      [0015] 圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于觸發(fā)指令結(jié)構(gòu)的執(zhí)行控制流的方法的流程 圖;
      [0016]圖2是本發(fā)明一個(gè)實(shí)施例的基于觸發(fā)指令結(jié)構(gòu)的執(zhí)行控制流的方法的執(zhí)行過程 示意圖;
      [0017]圖3是本發(fā)明一個(gè)實(shí)施例的執(zhí)行時(shí)間示意圖;
      [0018]圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于觸發(fā)指令結(jié)構(gòu)的執(zhí)行控制流的系統(tǒng)的框圖;
      [0019]圖5是本發(fā)明一個(gè)實(shí)施例的映射簡單嵌套類型的控制流的CDFG示意圖。
      【具體實(shí)施方式】
      [0020] 在本發(fā)明的描述中,需要理解的是,術(shù)語"中心"、"縱向"、"橫向"、"長度"、"寬度"、 "厚度"、"上"、"下"、"前"、"后"、"左"、"右"、"豎直"、"水平"、"頂"、"底" "內(nèi)"、"外"、"順時(shí) 針"、"逆時(shí)針"、"軸向"、"徑向"、"周向"等指示的方位或位置關(guān)系為基于附圖所示的方位或 位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必 須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對(duì)本發(fā)明的限制。
      [0021] 此外,術(shù)語"第一"、"第二"僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性 或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有"第一"、"第二"的特征可以明示或 者隱含地包括至少一個(gè)該特征。在本發(fā)明的描述中,"多個(gè)"的含義是至少兩個(gè),例如兩個(gè), 三個(gè)等,除非另有明確具體的限定。
      [0022] 在本發(fā)明中,除非另有明確的規(guī)定和限定,術(shù)語"安裝"、"相連"、"連接"、"固定"等 術(shù)語應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或成一體;可以是機(jī)械連 接,也可以是電連接;可以是直接相連,也可以通過中
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1