国产精品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>

      支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的方法及微處理器的制作方法

      文檔序號(hào):6336769閱讀:130來源:國知局
      專利名稱:支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的方法及微處理器的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及微處理器領(lǐng)域,具體涉及帶有標(biāo)量單元和向量單元的數(shù)據(jù)處理方法及 微處理器。
      背景技術(shù)
      現(xiàn)代微處理器的設(shè)計(jì)通常會(huì)考慮無線通信、圖像視頻處理等應(yīng)用的需求,這些應(yīng) 用一般包含串行連接的多個(gè)核心算法模塊(如FFT、信道估計(jì)、運(yùn)動(dòng)估計(jì)等算法)。在這些核 心算法模塊中,向量處理和標(biāo)量處理呈現(xiàn)多樣化的配合執(zhí)行方式有向量處理需要標(biāo)量處 理頻繁配合的情況,也有向量處理的獨(dú)立性較強(qiáng)、僅需少量標(biāo)量處理配合的情況,而在核心 算法模塊之間則以標(biāo)量處理為主??傮w而言,微處理器面向無線通信、圖像視頻處理等的應(yīng) 用算法呈現(xiàn)標(biāo)量、向量處理相交織的特點(diǎn)。針對(duì)應(yīng)用的上述特點(diǎn),當(dāng)前已有的研究中,帶有標(biāo)量單元和向量單元的微處理器 結(jié)構(gòu)已經(jīng)成為微處理器設(shè)計(jì)的主流方向,其中標(biāo)量單元負(fù)責(zé)標(biāo)量任務(wù)的處理,在具體程序 中主要體現(xiàn)為對(duì)程序中的標(biāo)量部分、以及有關(guān)分支跳轉(zhuǎn)、循環(huán)控制部分的處理,而向量單元 則主要負(fù)責(zé)計(jì)算密集型的向量處理任務(wù),在程序中主要體現(xiàn)為對(duì)循環(huán)體的處理,標(biāo)量單元、 向量單元采用單指令流的執(zhí)行方式,共同執(zhí)行由指令發(fā)射部件統(tǒng)一發(fā)射的標(biāo)量、向量指令 流。但是,這樣的執(zhí)行方式對(duì)于應(yīng)用程序中大量存在的執(zhí)行較為獨(dú)立(僅需少量循環(huán)控制、 標(biāo)量處理的配合)、且執(zhí)行時(shí)間較長的循環(huán)體的執(zhí)行,常常表現(xiàn)為向量單元在執(zhí)行耗時(shí)的循 環(huán)體處理時(shí),標(biāo)量單元僅僅執(zhí)行少量的循環(huán)控制和標(biāo)量處理,其余大部分時(shí)間都處于空閑 的狀態(tài),因此使得標(biāo)量單元的運(yùn)算資源得不到充分利用,從而影響處理器整體性能的提高, 造成了處理器資源的浪費(fèi)。

      發(fā)明內(nèi)容
      本發(fā)明針對(duì)上述現(xiàn)有技術(shù)的缺陷,提供一種處理器資源利用率高、并行處理性能 高、硬件復(fù)雜度低、集成度高、支持嵌入式操作系統(tǒng)的支持單指令流與多指令流動(dòng)態(tài)切換執(zhí) 行的方法及微處理器。為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為一種支持單指令流與多指令 流動(dòng)態(tài)切換執(zhí)行的方法,采用標(biāo)量單元和向量單元執(zhí)行來自指令發(fā)射部件的指令,其實(shí)施 步驟如下首先標(biāo)量單元和向量單元在默認(rèn)的單指令流模式下執(zhí)行來自指令發(fā)射部件的同 一個(gè)指令流,當(dāng)向量單元執(zhí)行目標(biāo)循環(huán)體時(shí),標(biāo)量單元完成目標(biāo)循環(huán)體的初始化、控制目標(biāo) 循環(huán)體指令進(jìn)行緩存并切換為多指令流模式,然后向量單元執(zhí)行所述緩存的目標(biāo)循環(huán)體指 令,同時(shí)標(biāo)量單元執(zhí)行與所述目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流,并最后在向量單元執(zhí)行目 標(biāo)循環(huán)體完畢時(shí)切換為單指令流模式。作為本發(fā)明支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的方法的進(jìn)一步改進(jìn)
      所述切換為多指令流模式時(shí),所述標(biāo)量單元首先保存當(dāng)前的單指令流模式執(zhí)行現(xiàn)場(chǎng)、 恢復(fù)與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流執(zhí)行現(xiàn)場(chǎng),然后配置向量單元選擇執(zhí)行緩存的目標(biāo)循環(huán)體指令。所述向量單元執(zhí)行目標(biāo)循環(huán)體完畢時(shí),向量單元向標(biāo)量單元發(fā)送中斷信號(hào),所述 標(biāo)量單元收到中斷信號(hào)后,首先保存與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流執(zhí)行現(xiàn)場(chǎng)、恢復(fù)單 指令流模式執(zhí)行現(xiàn)場(chǎng),然后配置向量單元選擇執(zhí)行來自指令發(fā)射部件的向量指令并切換為 單指令流模式。所述向量單元執(zhí)行目標(biāo)循環(huán)體完畢時(shí),向量單元向標(biāo)量單元發(fā)送中斷信號(hào),所述 標(biāo)量單元收到中斷信號(hào)后,首先保存與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流執(zhí)行現(xiàn)場(chǎng)、恢復(fù)單 指令流模式執(zhí)行現(xiàn)場(chǎng),然后配置向量單元選擇執(zhí)行來自指令發(fā)射部件的向量指令并切換為 單指令流模式。本發(fā)明還提供一種支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的微處理器,包括指令 發(fā)射部件和分別與指令發(fā)射部件相連的標(biāo)量單元、向量單元,所述指令發(fā)射部件用于向標(biāo) 量單元和向量單元分配指令,所述標(biāo)量單元和向量單元相連,所述向量單元用于執(zhí)行循環(huán) 體指令,所述標(biāo)量單元用于執(zhí)行循環(huán)體的初始化、循環(huán)過程控制、循環(huán)完畢后的控制以及切 換微處理器的工作模式,所述指令發(fā)射部件通過指令流切換單元與向量單元相連,所述標(biāo) 量單元在完成目標(biāo)循環(huán)體的初始化、控制目標(biāo)循環(huán)體進(jìn)行指令緩存后,切換工作模式為多 指令流模式,在多指令流模式下所述標(biāo)量單元執(zhí)行與向量單元執(zhí)行的目標(biāo)循環(huán)體無關(guān)聯(lián)的 標(biāo)量指令,所述指令流切換單元獲取指令發(fā)射部件分配的向量指令并負(fù)責(zé)執(zhí)行所述向量單 元的循環(huán)過程控制、并在所述向量單元執(zhí)行目標(biāo)循環(huán)體完畢時(shí)向所述標(biāo)量單元發(fā)送中斷信 號(hào),所述標(biāo)量單元根據(jù)所述中斷信號(hào)切換工作模式為單指令流模式。所述指令流切換單元包括控制部件、指令緩存部件和執(zhí)行模式選擇部件,所述指 令緩存部件用于緩存向量單元的目標(biāo)循環(huán)體指令,所述執(zhí)行模式選擇部件在所述工作模式 為單指令流模式時(shí)選定指令發(fā)射部件作為向量單元的指令輸入部件、在所述工作模式為多 指令流模式時(shí)選定指令緩存部件作為向量單元的指令輸入部件,所述控制部件控制將指令 發(fā)射部件的目標(biāo)循環(huán)體指令寫入指令緩存部件,并在向量單元執(zhí)行循環(huán)過程中控制向量單 元從指令緩存部件中讀取目標(biāo)循環(huán)體指令。所述控制部件包括專用寄存器組、寫指令緩存控制部件和讀指令緩存控制部件, 所述專用寄存器組緩存所述指令緩存部件的狀態(tài)、所述向量單元執(zhí)行目標(biāo)循環(huán)體的位置信 息以及所述向量單元所執(zhí)行目標(biāo)循環(huán)體的循環(huán)次數(shù),所述寫指令緩存控制部件用于在所述 向量單元第一次執(zhí)行目標(biāo)循環(huán)體時(shí)將目標(biāo)循環(huán)體指令寫入指令緩存部件,所述讀指令緩存 控制部件在所述工作模式為多指令流模式時(shí)控制向量單元從指令緩存部件中讀取目標(biāo)循 環(huán)體指令、修正所執(zhí)行目標(biāo)循環(huán)體對(duì)應(yīng)專用寄存器組中的循環(huán)次數(shù),并在所執(zhí)行目標(biāo)循環(huán) 體的循環(huán)次數(shù)為零時(shí)向所述標(biāo)量單元發(fā)送中斷信號(hào)。本發(fā)明具有下述優(yōu)點(diǎn)
      1、提高了處理器資源利用率,通過對(duì)單指令流及多指令流模式動(dòng)態(tài)切換的支持,使得 在單指令流模式下能高效的支持程序中向量處理與標(biāo)量處理間靈活、細(xì)粒度的交互配合執(zhí) 行;而在多指令流模式下,向量單元進(jìn)行耗時(shí)的循環(huán)處理時(shí),標(biāo)量單元從單指令流的執(zhí)行方 式中解放了出來,可以執(zhí)行與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流,大大提高了處理器資源特 別是標(biāo)量單元的利用率。2、提供對(duì)嵌入式操作系統(tǒng)的支持。通過本發(fā)明中的方法,可以在處理目標(biāo)循環(huán)體時(shí),采用多指令流的執(zhí)行模式,此時(shí)標(biāo)量單元可以用來執(zhí)行嵌入式操作系統(tǒng)指令流,實(shí)現(xiàn)在 單個(gè)處理器上既支持應(yīng)用任務(wù),又支持操作系統(tǒng)的目標(biāo)。相比傳統(tǒng)的采用專門的處理器核 來處理操作系統(tǒng)的解決方案,節(jié)約了硬件資源,降低了面積與功耗。3、通過增加一個(gè)指令流切換單元,在緩解了指令帶寬瓶頸的同時(shí)減少了指令的重 復(fù)取指、譯碼等準(zhǔn)備工作。指令流切換單元可以將已發(fā)射的目標(biāo)循環(huán)體向量指令存儲(chǔ)起來, 從而在多指令流執(zhí)行時(shí),為向量單元提供指令,減小了多指令流模式下的指令帶寬需求。同 時(shí),指令緩存部件中的指令重用性得到了增強(qiáng),降低了指令重復(fù)取指、譯碼的開銷。4、在多個(gè)層面上充分開發(fā)應(yīng)用程序的并行性,采用向量單元開發(fā)數(shù)據(jù)級(jí)并行,通 過對(duì)多指令流模式的支持,開發(fā)任務(wù)級(jí)并行。5、硬件實(shí)現(xiàn)復(fù)雜度低,程序控制交由標(biāo)量單元處理,向量單元僅僅負(fù)責(zé)運(yùn)算。從而 減小了向量單元的復(fù)雜度,便于向量單元集成更多的運(yùn)算部件。本發(fā)明在標(biāo)量單元與向量單元相結(jié)合的微體系結(jié)構(gòu)中,支持單指令流與多指令流 的執(zhí)行模式,從多個(gè)層面上開發(fā)應(yīng)用的并行性;并通過對(duì)兩種執(zhí)行模式動(dòng)態(tài)切換的支持,實(shí) 現(xiàn)了對(duì)處理器資源靈活、高效的利用。非常適合面向無線通信、視頻圖像處理及運(yùn)行嵌入式 操作系統(tǒng)的微處理器,但不局限于此種處理器,其他需要開發(fā)多種并行性的處理器也可以 借鑒,為微處理器的設(shè)計(jì)指出了一個(gè)新的方向。


      圖1為本發(fā)明實(shí)施例支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的方法的流程示意 圖2為本發(fā)明實(shí)施例支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的微處理器的結(jié)構(gòu)示意
      圖3為本發(fā)明實(shí)施例支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的微處理器的指令流切 換單元的結(jié)構(gòu)示意圖4為本發(fā)明實(shí)施例支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的微處理器的控制部件 的結(jié)構(gòu)示意圖5為本發(fā)明實(shí)施例支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的微處理器單指令流與 多指令流執(zhí)行動(dòng)態(tài)切換實(shí)例的示意圖。圖例說明1、指令發(fā)射部件;2、標(biāo)量單元;21、標(biāo)量處理器;22、標(biāo)量緩存;3、向量 單元;31、向量處理器陣列;32、向量存儲(chǔ)體;4、指令流切換單元;41、控制部件;411、專用寄 存器組;412、寫指令緩存控制部件;413、讀指令緩存控制部件;42、指令緩存部件;43、執(zhí)行 模式選擇部件。
      具體實(shí)施例方式如圖1所示,本發(fā)明實(shí)施例的支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的方法采用 標(biāo)量單元2和向量單元3執(zhí)行來自指令發(fā)射部件1的指令,其實(shí)施步驟如下首先標(biāo)量單元 2和向量單元3在默認(rèn)的單指令流模式下執(zhí)行來自指令發(fā)射部件1的同一個(gè)指令流,當(dāng)向量 單元3執(zhí)行目標(biāo)循環(huán)體時(shí),標(biāo)量單元2完成目標(biāo)循環(huán)體的初始化、控制目標(biāo)循環(huán)體指令進(jìn)行 緩存并切換為多指令流模式,然后向量單元3執(zhí)行緩存的目標(biāo)循環(huán)體指令,同時(shí)標(biāo)量單元2
      6執(zhí)行與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流,并最后在向量單元3執(zhí)行目標(biāo)循環(huán)體完畢時(shí)切換 為單指令流模式。本實(shí)施例中采用兩條指令用于指令流執(zhí)行模式的切換SWITCH R_0S和SWITCH_B R_N0S。SWITCH R_0S指令完成單指令流模式向多指令流模式的切換。具體的操作是保存 當(dāng)前執(zhí)行現(xiàn)場(chǎng)、恢復(fù)R_0S指向的與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流現(xiàn)場(chǎng),并將指令流切換 單元中的執(zhí)行模式選擇部件配置為多指令流模式執(zhí)行。SWITCH_B R_N0S指令完成多指令流 模式向單指令流模式的切換。具體的操作是保存當(dāng)前執(zhí)行現(xiàn)場(chǎng);恢復(fù)R_N0S指向的單指令 流執(zhí)行現(xiàn)場(chǎng),并將指令流切換單元中的執(zhí)行模式選擇部件配置為單指令流模式執(zhí)行。切換為多指令流模式時(shí),標(biāo)量單元2首先保存當(dāng)前的單指令流模式執(zhí)行現(xiàn)場(chǎng)、恢 復(fù)與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流執(zhí)行現(xiàn)場(chǎng),然后配置向量單元3選擇執(zhí)行緩存的目標(biāo) 循環(huán)體指令。向量單元3執(zhí)行目標(biāo)循環(huán)體完畢時(shí),向量單元3向標(biāo)量單元2發(fā)送中斷信號(hào), 標(biāo)量單元2收到中斷信號(hào)后,首先保存與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流執(zhí)行現(xiàn)場(chǎng)、恢復(fù) 單指令流模式執(zhí)行現(xiàn)場(chǎng),然后配置向量單元3選擇執(zhí)行來自指令發(fā)射部件1的向量指令并 切換為單指令流模式。通過微處理器在單指令流模式和多指令流模式之間的動(dòng)態(tài)切換,從 而可以有效提高微處理器的處理速度和執(zhí)行效率。本發(fā)明的目標(biāo)循環(huán)體指運(yùn)行時(shí)間較長、運(yùn)行較為獨(dú)立(僅僅在循環(huán)的初始化、循環(huán) 過程控制以及循環(huán)完畢后才需要標(biāo)量單元2的配合,循環(huán)過程中不需要標(biāo)量單元2的配合) 的循環(huán)體,而循環(huán)體在微處理器中一般是通過向量單元3進(jìn)行處理,因此目標(biāo)循環(huán)體也僅 由向量單元3執(zhí)行,且循環(huán)過程中不需要標(biāo)量單元2的配合。如果所判斷的執(zhí)行程序不屬 于目標(biāo)循環(huán)體,則采用單指令流模式執(zhí)行,否則采用單指令流模式與多指令流模式動(dòng)態(tài)切 換執(zhí)行,本實(shí)施例的單指令流與多指令流執(zhí)行動(dòng)態(tài)切換的方式的詳細(xì)步驟如下
      1)單指令流模式執(zhí)行并判斷執(zhí)行程序,在單指令流模式下,指令發(fā)射部件1為標(biāo)量單 元2、向量單元3統(tǒng)一提供標(biāo)量、向量指令,針對(duì)每個(gè)執(zhí)行程序進(jìn)行判斷是否屬于目標(biāo)循環(huán) 體,如果不是則保持單指令流模式執(zhí)行,否則首先完成目標(biāo)循環(huán)體的第一次執(zhí)行,并將目標(biāo) 循環(huán)體指令寫入緩存,跳轉(zhuǎn)執(zhí)行步驟2);
      2)切換為多指令流模式,標(biāo)量單元2執(zhí)行SWITCHR_0S指令切換為多指令流模式,并同 時(shí)保存當(dāng)前的單指令流模式執(zhí)行現(xiàn)場(chǎng),恢復(fù)R_0S所指向的與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指 令流執(zhí)行現(xiàn)場(chǎng),然后配置向量單元3選擇執(zhí)行被緩存的目標(biāo)循環(huán)體指令;
      3)多指令流模式執(zhí)行,向量單元3通過讀取被緩存的目標(biāo)循環(huán)體指令來繼續(xù)執(zhí)行目標(biāo) 循環(huán)體,同時(shí)標(biāo)量單元2執(zhí)行與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流;
      4)切換為單指令流模式,向量單元3執(zhí)行目標(biāo)循環(huán)體完畢時(shí),向量單元3向標(biāo)量單元 2發(fā)送中斷信號(hào),標(biāo)量單元2收到中斷信號(hào)后,首先保存與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流 執(zhí)行現(xiàn)場(chǎng)、恢復(fù)單指令流模式執(zhí)行現(xiàn)場(chǎng),然后配置向量單元3執(zhí)行來自指令發(fā)射部件1的向 量指令并執(zhí)行SWITCH_B R_N0S指令切換為單指令流模式,返回執(zhí)行步驟1)。如圖2所示,本發(fā)明實(shí)施例的支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的微處理器 包括指令發(fā)射部件1和分別與指令發(fā)射部件1相連的標(biāo)量單元2、向量單元3,指令發(fā)射部 件1用于向標(biāo)量單元2和向量單元3分配指令,標(biāo)量單元2和向量單元3相連,向量單元3 用于執(zhí)行循環(huán)體,標(biāo)量單元2用于執(zhí)行循環(huán)體的初始化、循環(huán)過程控制、循環(huán)完畢后的控制 以及切換微處理器的工作模式,指令發(fā)射部件1通過指令流切換單元4與向量單元3相連,
      7標(biāo)量單元2在完成目標(biāo)循環(huán)體的初始化、控制目標(biāo)循環(huán)體進(jìn)行指令緩存后,切換工作模式 為多指令流模式,在多指令流模式下標(biāo)量單元2執(zhí)行與向量單元3執(zhí)行的目標(biāo)循環(huán)體無關(guān) 聯(lián)的標(biāo)量指令,指令流切換單元4獲取指令發(fā)射部件1分配的向量指令并負(fù)責(zé)執(zhí)行向量單 元3的循環(huán)過程控制、并在向量單元3執(zhí)行目標(biāo)循環(huán)體完畢時(shí)向標(biāo)量單元2發(fā)送中斷信號(hào), 標(biāo)量單元2根據(jù)中斷信號(hào)切換工作模式為單指令流模式。指令發(fā)射部件1向標(biāo)量單元2分配標(biāo)量指令、向向量單元3分配向量指令。標(biāo)量單 元2由標(biāo)量處理器21與標(biāo)量緩存22組成,標(biāo)量單元2主要負(fù)責(zé)標(biāo)量任務(wù)處理、程序流控、 及循環(huán)控制的處理。向量單元3由向量處理器陣列31、向量存儲(chǔ)體32組成,向量單元3主 要面向計(jì)算密集型的向量處理,例如循環(huán)體的處理執(zhí)行。如圖3所示,指令流切換單元4包括控制部件41、指令緩存部件42和執(zhí)行模式選 擇部件43,指令緩存部件42用于緩存向量單元3的目標(biāo)循環(huán)體指令,執(zhí)行模式選擇部件43 在工作模式為單指令流模式時(shí)選定指令發(fā)射部件1作為向量單元3的指令輸入部件、在工 作模式為多指令流模式時(shí)選定指令緩存部件42作為向量單元3的指令輸入部件,控制部件 41控制將指令發(fā)射部件1的目標(biāo)循環(huán)體指令寫入指令緩存部件42,并在向量單元3執(zhí)行循 環(huán)過程中控制向量單元3從指令緩存部件42中讀取目標(biāo)循環(huán)體指令。如圖4所示,控制部件41包括專用寄存器組411、寫指令緩存控制部件412和讀指 令緩存控制部件413,專用寄存器組411緩存指令緩存部件42的狀態(tài)、向量單元3執(zhí)行目 標(biāo)循環(huán)體的位置信息以及向量單元3所執(zhí)行目標(biāo)循環(huán)體的循環(huán)次數(shù),寫指令緩存控制部件 412用于在向量單元3第一次執(zhí)行目標(biāo)循環(huán)體時(shí)將目標(biāo)循環(huán)體指令寫入指令緩存部件42, 讀指令緩存控制部件413在多指令流模式時(shí)控制向量單元3從指令緩存部件42中讀取目 標(biāo)循環(huán)體指令、修正所執(zhí)行目標(biāo)循環(huán)體對(duì)應(yīng)專用寄存器組411中的循環(huán)次數(shù),并在所執(zhí)行 目標(biāo)循環(huán)體的循環(huán)次數(shù)為零時(shí)向標(biāo)量單元2發(fā)送中斷信號(hào)。本實(shí)施例中,執(zhí)行模式選擇部件43由標(biāo)量單元2進(jìn)行配置,標(biāo)量單元2通過執(zhí)行 SWITCH R_0S指令完成單指令流模式向多指令流模式切換,通過執(zhí)行SWITCH_B R_N0S指令 完成多指令流模式向單指令流模式切換。執(zhí)行模式選擇部件43收到SWITCH R_0S切換為多指令流模式,并選定指令發(fā)射部 件1作為向量單元3的指令輸入部件,寫指令緩存控制部件412用于在向量單元3第一次 執(zhí)行目標(biāo)循環(huán)體時(shí)將目標(biāo)循環(huán)體指令寫入指令緩存部件42,使得目標(biāo)循環(huán)體在第一遍執(zhí)行 完成之后,目標(biāo)循環(huán)體指令就已經(jīng)存儲(chǔ)到指令緩存部件42中,然后向量單元3從指令緩存 部件42中讀取目標(biāo)循環(huán)體指令,此時(shí)因此向量單元3執(zhí)行循環(huán)過程中不需要標(biāo)量單元2的 配合,因此在多指令流模式下標(biāo)量單元2可以同時(shí)執(zhí)行與向量單元3執(zhí)行的目標(biāo)循環(huán)體無 關(guān)聯(lián)的標(biāo)量指令,從而可以實(shí)現(xiàn)同時(shí)處理多指令流,提高微處理器的處理性能。本實(shí)施例中,專用寄存器組411的相關(guān)信息由標(biāo)量單元2進(jìn)行配置,用于緩存指令 緩存部件42的寫使能、讀使能狀態(tài)、指令緩存部件42中目標(biāo)循環(huán)體指令的起始位置、結(jié)束 位置信息、循環(huán)次數(shù)寄存器。寫指令緩存控制部件412在指令緩存部件42的寫使能有效的 情況下,控制指令緩存部件42的寫指針順序增1。讀指令緩存控制部件413在指令緩存部 件42的讀使能有效的情況下,進(jìn)行指令緩存部件42的讀取控制,指令緩存部件42的讀過 程從起始位置寄存器中所指的指令緩存單元開始,每拍依次讀取一條指令,當(dāng)讀到結(jié)束位 置寄存器中所指的指令緩存單元時(shí),將循環(huán)次數(shù)寄存器的值減1,如果此時(shí)循環(huán)次數(shù)寄存器的值為0,標(biāo)志著完成了目標(biāo)循環(huán)體的執(zhí)行過程,則向標(biāo)量單元2發(fā)送中斷信號(hào);否則,從起 始位置寄存器所指的指令緩存單元開始,繼續(xù)指令的讀取。如圖5所示,在單指令流模式的執(zhí)行狀態(tài)下,標(biāo)量單元2、向量單元3共同執(zhí)行來 自指令發(fā)射部件1的標(biāo)量、向量指令,當(dāng)處理運(yùn)行時(shí)間較長且運(yùn)行較為獨(dú)立的目標(biāo)循環(huán)體 任務(wù)時(shí),標(biāo)量單元2在第一次循環(huán)開始之前,使能指令流切換單元4中指令緩存部件42的 寫操作,從而在向量單元3執(zhí)行第一次循環(huán)的同時(shí)將目標(biāo)循環(huán)體指令寫入該指令緩存部件 42,在第一次循環(huán)執(zhí)行完畢后,指令緩存部件42中剛好存放了目標(biāo)循環(huán)體指令。此時(shí)標(biāo)量 單元2通過執(zhí)行SWITCH R_0S指令將執(zhí)行模式切換為多指令流模式執(zhí)行。在該模式下,標(biāo)量 單元2從指令發(fā)射部件1獲取標(biāo)量指令,向量單元3從向指令流切換單元4中的指令緩存 部件42中獲取指令。向量單元3在完成目標(biāo)循環(huán)體的執(zhí)行后,向標(biāo)量單元2發(fā)送中斷,請(qǐng) 求將執(zhí)行模式恢復(fù)到單指令流模式,標(biāo)量單元2通過在中斷服務(wù)程序中執(zhí)行SWITCH_B R_ NOS指令,將執(zhí)行模式重新切換為單指令流模式。以上僅是本發(fā)明的優(yōu)選實(shí)施方式,本發(fā)明的保護(hù)范圍并不僅局限于上述實(shí)施例, 凡屬于本發(fā)明思路下的技術(shù)方案均屬于本發(fā)明的保護(hù)范圍。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的 普通技術(shù)人員來說,在不脫離本發(fā)明原理前提下的若干改進(jìn)和潤飾,應(yīng)視為本發(fā)明的保護(hù) 范圍。
      權(quán)利要求
      一種支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的方法,采用標(biāo)量單元(2)和向量單元(3)執(zhí)行來自指令發(fā)射部件(1)的指令,其特征在于其實(shí)施步驟如下首先標(biāo)量單元(2)和向量單元(3)在默認(rèn)的單指令流模式下執(zhí)行來自指令發(fā)射部件(1)的同一個(gè)指令流,當(dāng)向量單元(3)執(zhí)行目標(biāo)循環(huán)體時(shí),標(biāo)量單元(2)完成目標(biāo)循環(huán)體的初始化、控制向量單元(3)的目標(biāo)循環(huán)體指令進(jìn)行緩存并切換為多指令流模式,然后向量單元(3)執(zhí)行所述緩存的目標(biāo)循環(huán)體指令,同時(shí)標(biāo)量單元(2)執(zhí)行與所述目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流,并最后在向量單元(3)執(zhí)行目標(biāo)循環(huán)體完畢時(shí)切換為單指令流模式。
      2.根據(jù)權(quán)利要求1所述的支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的方法,其特征在 于所述切換為多指令流模式時(shí),所述標(biāo)量單元(2)首先保存當(dāng)前的單指令流模式執(zhí)行現(xiàn) 場(chǎng)、恢復(fù)與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流執(zhí)行現(xiàn)場(chǎng),然后配置向量單元(3)執(zhí)行所述緩存 的目標(biāo)循環(huán)體指令。
      3.根據(jù)權(quán)利要求2所述的支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的方法,其特征在 于所述向量單元(3)執(zhí)行目標(biāo)循環(huán)體完畢時(shí),向量單元(3)向標(biāo)量單元(2)發(fā)送中斷信號(hào), 所述標(biāo)量單元(2 )收到中斷信號(hào)后,首先保存與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流執(zhí)行現(xiàn)場(chǎng)、 恢復(fù)單指令流模式執(zhí)行現(xiàn)場(chǎng),然后配置向量單元(3)執(zhí)行來自指令發(fā)射部件(1)的向量指 令并切換為單指令流模式。
      4.一種支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的微處理器,包括指令發(fā)射部件(1)和 分別與指令發(fā)射部件(1)相連的標(biāo)量單元(2)、向量單元(3),所述指令發(fā)射部件(1)用于 向標(biāo)量單元(2)和向量單元(3)分配指令,所述標(biāo)量單元(2)和向量單元(3)相連,所述向 量單元(3)用于執(zhí)行循環(huán)體指令,所述標(biāo)量單元(2)用于執(zhí)行循環(huán)體的初始化、循環(huán)過程控 制、循環(huán)完畢后的控制以及切換微處理器的工作模式,其特征在于所述指令發(fā)射部件(1) 通過指令流切換單元(4)與向量單元(3)相連,所述標(biāo)量單元(2)在完成目標(biāo)循環(huán)體的初始 化、控制目標(biāo)循環(huán)體指令進(jìn)行緩存后,切換工作模式為多指令流模式,在多指令流模式下所 述標(biāo)量單元(2 )執(zhí)行與向量單元(3 )執(zhí)行的目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令,所述指令流切 換單元(4)獲取指令發(fā)射部件(1)分配的向量指令并負(fù)責(zé)執(zhí)行所述向量單元(3)的循環(huán)過 程控制、并在所述向量單元(3)執(zhí)行目標(biāo)循環(huán)體完畢時(shí)向所述標(biāo)量單元(2)發(fā)送中斷信號(hào), 所述標(biāo)量單元(2)根據(jù)所述中斷信號(hào)切換工作模式為單指令流模式。
      5.根據(jù)權(quán)利要求4所述的支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的微處理器,其特 征在于所述指令流切換單元(4)包括控制部件(41)、指令緩存部件(42)和執(zhí)行模式選擇 部件(43),所述指令緩存部件(42)用于緩存向量單元(3)的目標(biāo)循環(huán)體指令,所述執(zhí)行模 式選擇部件(43)在所述工作模式為單指令流模式時(shí)選定指令發(fā)射部件(1)作為向量單元 (3)的指令輸入部件、在所述工作模式為多指令流模式時(shí)選定指令緩存部件(42)作為向量 單元(3)的指令輸入部件,所述控制部件(41)控制將指令發(fā)射部件(1)的目標(biāo)循環(huán)體指令 寫入指令緩存部件(42),并在向量單元(3)執(zhí)行循環(huán)過程中控制向量單元(3)從指令緩存 部件(42)中讀取目標(biāo)循環(huán)體指令。
      6.根據(jù)權(quán)利要求5所述的支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的微處理器,其特 征在于所述控制部件(41)包括專用寄存器組(411)、寫指令緩存控制部件(412)和讀指令 緩存控制部件(413 ),所述專用寄存器組(411)緩存所述指令緩存部件(42 )的狀態(tài)、所述向 量單元(3 )執(zhí)行目標(biāo)循環(huán)體的位置信息以及所述向量單元(3 )所執(zhí)行目標(biāo)循環(huán)體的循環(huán)次數(shù),所述寫指令緩存控制部件(412)用于在所述向量單元(3)第一次執(zhí)行目標(biāo)循環(huán)體時(shí)將 目標(biāo)循環(huán)體指令寫入指令緩存部件(42),所述讀指令緩存控制部件(413)在所述 工作模式 為多指令流模式時(shí)控制向量單元(3)從指令緩存部件(42)中讀取目標(biāo)循環(huán)體指令、修正所 執(zhí)行目標(biāo)循環(huán)體對(duì)應(yīng)專用寄存器組(411)中的循環(huán)次數(shù),并在所執(zhí)行目標(biāo)循環(huán)體的循環(huán)次 數(shù)為零時(shí)向所述標(biāo)量單元(2)發(fā)送中斷信號(hào)。
      全文摘要
      本發(fā)明公開了一種支持單指令流與多指令流動(dòng)態(tài)切換執(zhí)行的方法和微處理器,方法采用標(biāo)量單元和向量單元執(zhí)行來自指令發(fā)射部件的指令,步驟包括在目標(biāo)循環(huán)體指令寫入指令緩存后,切換為多指令流模式,然后向量單元執(zhí)行緩存的目標(biāo)循環(huán)體指令,同時(shí)標(biāo)量單元執(zhí)行與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令流,并最后在向量單元執(zhí)行目標(biāo)循環(huán)體完畢時(shí)切換為單指令流模式;微處理器包括指令發(fā)射部件、標(biāo)量單元和向量單元,指令發(fā)射部件通過指令流切換單元與向量單元相連,在多指令流模式下標(biāo)量單元執(zhí)行來自指令流切換單元的與目標(biāo)循環(huán)體無關(guān)聯(lián)的標(biāo)量指令。本發(fā)明具有處理器資源利用率高、并行處理性能高、硬件復(fù)雜度低、集成度高、支持嵌入式操作系統(tǒng)的優(yōu)點(diǎn)。
      文檔編號(hào)G06F9/30GK101986263SQ20101055930
      公開日2011年3月16日 申請(qǐng)日期2010年11月25日 優(yōu)先權(quán)日2010年11月25日
      發(fā)明者萬江華, 劉宗林, 劉衡竹, 王耀華, 胡春媚, 許邦建, 郭陽, 陳書明, 魯建壯, 龔國輝 申請(qǐng)人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1