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

      一種異構(gòu)多處理器系統(tǒng)及其驅(qū)動控制方法

      文檔序號:10624719閱讀:566來源:國知局
      一種異構(gòu)多處理器系統(tǒng)及其驅(qū)動控制方法
      【專利摘要】本發(fā)明公開了一種異構(gòu)多處理器系統(tǒng)及其驅(qū)動控制方法,其中異構(gòu)多處理器驅(qū)動控制方法包括:在系統(tǒng)初始化時,第一處理器對外部設(shè)備擁有控制權(quán),此時只有第一處理器接受外部設(shè)備的中斷請求,而第二處理器屏蔽外部設(shè)備的中斷請求;第一處理器運行外部設(shè)備的驅(qū)動程序,檢測外部設(shè)備的狀態(tài);當(dāng)外部設(shè)備處于第一狀態(tài)時,第一處理器對外部設(shè)備的控制命令和數(shù)據(jù)傳輸進(jìn)行處理,將外部設(shè)備的狀態(tài)和控制信息寫入存儲器;當(dāng)檢測的外部設(shè)備由第一狀態(tài)轉(zhuǎn)變?yōu)榈诙顟B(tài)時,第一處理器對外部設(shè)備擁有的控制權(quán)轉(zhuǎn)交給第二處理器,第二處理器運行外部設(shè)備的驅(qū)動程序,從存儲器中讀取外部設(shè)備的狀態(tài)和控制信息進(jìn)行處理。本發(fā)明通過中斷技術(shù),實現(xiàn)了設(shè)備驅(qū)動的動態(tài)調(diào)整。
      【專利說明】
      一種異構(gòu)多處理器系統(tǒng)及其驅(qū)動控制方法
      技術(shù)領(lǐng)域
      [0001]本發(fā)明涉及異構(gòu)多處理器技術(shù),尤其涉及一種異構(gòu)多處理器系統(tǒng)及其驅(qū)動控制方法。
      【背景技術(shù)】
      [0002]隨著集成電路技術(shù)的發(fā)展,越來越多的處理功能可以集成到一個系統(tǒng)集成芯片(System on a Chip,簡稱SoC)中。很多電子設(shè)備只需要一個SoC再輔以若干電阻和電容。SoC中的處理器,對稱多處理器的很常見。異構(gòu)模式的如ARM的big.little處理器架構(gòu)也越來越多。在控制領(lǐng)域,如Freescale的Vybrid系列處理器如VF6xx,采用兩個內(nèi)核,一個Cortex A5,另一個 Cortex M4。
      [0003]現(xiàn)有技術(shù)的異構(gòu)模式多處理器存在的問題是,各處理器雖然都可以控制驅(qū)動外部設(shè)備,但它們可能不能同時訪問外部設(shè)備。對同一外部設(shè)備,如果多個異構(gòu)內(nèi)核要訪問該設(shè)備,可能需要不同的驅(qū)動程序,因為各內(nèi)核上運行的操作系統(tǒng)(OS)可能都是不同的。

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

      [0004]本發(fā)明的目的在于解決現(xiàn)有技術(shù)中異構(gòu)模式多處理器在控制驅(qū)動外部設(shè)備時存在的上述問題,提供一種異構(gòu)多處理器系統(tǒng)及其驅(qū)動控制方法。
      [0005]為了實現(xiàn)上述目的,一方面,本發(fā)明提供了一種異構(gòu)多處理器驅(qū)動控制方法,該方法應(yīng)用于由第一處理器、第二處理器、存儲器和外部設(shè)備構(gòu)成的異構(gòu)多處理器系統(tǒng)中,該方法包括以下步驟:
      [0006]在系統(tǒng)初始化時,第一處理器對外部設(shè)備擁有控制權(quán),此時只有第一處理器接受外部設(shè)備的中斷請求,而第二處理器屏蔽外部設(shè)備的中斷請求;
      [0007]第一處理器運行外部設(shè)備的驅(qū)動程序,檢測外部設(shè)備的狀態(tài);
      [0008]當(dāng)外部設(shè)備處于第一狀態(tài)時,第一處理器對外部設(shè)備的控制命令和數(shù)據(jù)傳輸進(jìn)行處理,將外部設(shè)備的狀態(tài)和控制信息寫入存儲器;當(dāng)外部設(shè)備由第一狀態(tài)轉(zhuǎn)變?yōu)榈诙顟B(tài)時,第一處理器對外部設(shè)備擁有的控制權(quán)轉(zhuǎn)交給第二處理器,第二處理器運行外部設(shè)備的驅(qū)動程序,從存儲器中讀取外部設(shè)備的狀態(tài)和控制信息進(jìn)行處理。
      [0009]優(yōu)選地,當(dāng)檢測的外部設(shè)備由第二狀態(tài)轉(zhuǎn)變?yōu)榈谝粻顟B(tài)時,第二處理器對外部設(shè)備擁有的控制權(quán)交還給第一處理器,第一處理器運行外部設(shè)備的驅(qū)動程序,從存儲器中讀取外部設(shè)備的狀態(tài)和控制信息進(jìn)行處理。
      [0010]優(yōu)選地,第一處理器和第二處理器通過DMA控制器控制外部設(shè)備和存儲器之間進(jìn)行數(shù)據(jù)傳輸。
      [0011]優(yōu)選地,第一處理器接受外部設(shè)備的中斷請求,而第二處理器屏蔽外部設(shè)備的中斷請求步驟是通過DMA中斷控制器實現(xiàn)。
      [0012]另一方面,本發(fā)明提供了一種異構(gòu)多處理器系統(tǒng),該系統(tǒng)包括:第一處理器、第二處理器、存儲器和外部設(shè)備;第一處理器和第二處理器連接存儲器,通過設(shè)備總線訪問外部設(shè)備;外部設(shè)備的中斷信號分別接到第一中斷控制器和第二中斷控制器,第一中斷控制器與第一處理器連接,第二中斷控制器與第二處理器連接;
      [0013]在系統(tǒng)初始化時,第一處理器對外部設(shè)備擁有控制權(quán),此時只有第一處理器接受外部設(shè)備的中斷請求,而第二處理器屏蔽外部設(shè)備的中斷請求;第一處理器運行外部設(shè)備的驅(qū)動程序,檢測外部設(shè)備的狀態(tài);當(dāng)外部設(shè)備處于第一狀態(tài)時,第一處理器對外部設(shè)備的控制命令和數(shù)據(jù)傳輸進(jìn)行處理,將外部設(shè)備的狀態(tài)和控制信息寫入存儲器;當(dāng)外部設(shè)備由第一狀態(tài)轉(zhuǎn)變?yōu)榈诙顟B(tài)時,第一處理器對外部設(shè)備擁有的控制權(quán)轉(zhuǎn)交給第二處理器,第二處理器運行外部設(shè)備的驅(qū)動程序,從存儲器中讀取外部設(shè)備的狀態(tài)和控制信息進(jìn)行處理。
      [0014]優(yōu)選地,異構(gòu)多處理器系統(tǒng)系統(tǒng)還包括DMA控制器,第一處理器和第二處理器通過DMA控制器控制外部設(shè)備和存儲器之間進(jìn)行數(shù)據(jù)傳輸。
      [0015]優(yōu)選地,第一處理器和第二處理器具體用于,從存儲器中讀取外部設(shè)備的狀態(tài)和控制信息對外部設(shè)備進(jìn)行初始化,并進(jìn)入正常驅(qū)動流程。
      [0016]本發(fā)明通過中斷技術(shù)和適當(dāng)?shù)目刂?,實現(xiàn)了在異構(gòu)多處理器系統(tǒng)的各處理器上進(jìn)行動態(tài)調(diào)整設(shè)備驅(qū)動,從一個內(nèi)核上將控制權(quán)轉(zhuǎn)移到另一個內(nèi)核。這一方面可以調(diào)整各內(nèi)核上的負(fù)載,另一方面也可以對功耗進(jìn)行更精細(xì)的控制。比如,當(dāng)某外設(shè)沒有工作時,可以只在功耗比較小的內(nèi)核上運行監(jiān)控程序;當(dāng)檢測到該外設(shè)需要進(jìn)入工作狀態(tài)后,就轉(zhuǎn)移到計算能力更強(qiáng)的內(nèi)核上。
      【附圖說明】
      [0017]圖1為本發(fā)明實施例提供的一種異構(gòu)多處理器系統(tǒng)結(jié)構(gòu)圖;
      [0018]圖2為本發(fā)明實施例提供的一種異構(gòu)多處理器驅(qū)動控制方法流程圖。
      【具體實施方式】
      [0019]下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
      [0020]圖1為本發(fā)明實施例提供的一種異構(gòu)多處理器系統(tǒng)結(jié)構(gòu)圖。如圖1所示,該系統(tǒng)包括:第一處理器11、第二處理器12、第一中斷控制器21、第二中斷控制器22、存儲器30、DMA控制器40和外部設(shè)備50。
      [0021]其中,第一處理器11和第二處理器12連接,第一處理器11和第二處理器12分別連接存儲器30和DMA控制器40,并通過設(shè)備總線訪問外部設(shè)備50。第一處理器11和第二處理器12通過DMA控制器40控制外部設(shè)備50和存儲器30之間進(jìn)行數(shù)據(jù)傳輸。
      [0022]外部設(shè)備50的中斷信號分別接到第一中斷控制器21和第二中斷控制器22,第一中斷控制器21與第一處理器11連接,第二中斷控制器22與第二處理器12連接。第一中斷控制器21或第二中斷控制器22對每一中斷設(shè)置有一個中斷屏蔽位,用來使能/屏蔽對應(yīng)的中斷。中斷屏蔽位可在異構(gòu)多處理器系統(tǒng)復(fù)位時進(jìn)行設(shè)置。
      [0023]在本發(fā)明實施例提供的異構(gòu)多處理器系統(tǒng)中,第一處理器11和第二處理器12運行不同的操作系統(tǒng)。例如,第一處理器11上運行一個小型操作系統(tǒng),進(jìn)行實時控制,第二處理器12上運行一個大型操作系統(tǒng),以提供豐富的應(yīng)用。
      [0024]相應(yīng)地,本申請針提供了一種異構(gòu)多處理器系統(tǒng)的控制驅(qū)動方法,如圖2所示。
      [0025]圖2為本發(fā)明實施例提供的一種異構(gòu)多處理器驅(qū)動控制方法流程圖。該方法包括以下步驟:異構(gòu)多處理器系統(tǒng)在進(jìn)行系統(tǒng)初始化時,先由第一處理器11對外部設(shè)備50擁有控制權(quán),此時只有第一處理器11可以接受外部設(shè)備50的中斷請求,而第二處理器12需要屏蔽外部設(shè)備50的中斷請求;在第一處理器11上運行一個外部設(shè)備50的精簡版驅(qū)動程序,用于檢測外部設(shè)備50的狀態(tài)。
      [0026]當(dāng)檢測的外部設(shè)備50處于第一狀態(tài)時,由第一處理器11對外部設(shè)備50的控制命令和數(shù)據(jù)傳輸進(jìn)行處理,并將外部設(shè)備50的狀態(tài)和控制信息寫入存儲器30 ;當(dāng)檢測的外部設(shè)備50由第一狀態(tài)轉(zhuǎn)變?yōu)榈诙顟B(tài)時,第一處理器11對外部設(shè)備50擁有的控制權(quán)轉(zhuǎn)交給第二處理器12,第二處理器12運行外部設(shè)備50的驅(qū)動程序,并從共享的存儲器30中讀取外部設(shè)備50的狀態(tài)和控制信息進(jìn)行初始化,并進(jìn)入正常驅(qū)動流程。
      [0027]需要說明的是,本發(fā)明實施例提供的異構(gòu)多處理器系統(tǒng)在進(jìn)行系統(tǒng)初始化時,也可以先由第二處理器12對外部設(shè)備50擁有控制權(quán),而第一處理器11則需要屏蔽外部設(shè)備50的中斷請求。該技術(shù)方案同樣屬于本發(fā)明保護(hù)的范圍。
      [0028]在一個應(yīng)用場景中:例如在移動設(shè)備上,經(jīng)常需要功耗控制。外部設(shè)備并非總是處于工作或者高負(fù)載狀態(tài)。當(dāng)異構(gòu)多處理器系統(tǒng)檢測到外部設(shè)備處于空閑狀態(tài)(例如第一狀態(tài))時,由低能耗的處理器核(例如第一處理器)來處理;當(dāng)檢測到外部設(shè)備處于高負(fù)載狀態(tài)(例如第二狀態(tài))時,再由高功耗的處理器核(例如第二處理器)來處理。
      [0029]本發(fā)明實施例通過中斷技術(shù)和適當(dāng)?shù)目刂?,實現(xiàn)了在異構(gòu)多處理器系統(tǒng)的各處理器上進(jìn)行動態(tài)調(diào)整設(shè)備驅(qū)動,從一個內(nèi)核上將控制權(quán)轉(zhuǎn)移到另一個內(nèi)核。這一方面可以調(diào)整各內(nèi)核上的負(fù)載,另一方面也可以對功耗進(jìn)行更精細(xì)的控制。比如,當(dāng)某外設(shè)沒有工作時,可以只在功耗比較小的內(nèi)核上運行監(jiān)控程序;當(dāng)檢測到該外設(shè)需要進(jìn)入工作狀態(tài)后,就轉(zhuǎn)移到計算能力更強(qiáng)的內(nèi)核上。
      [0030]顯而易見,在不偏離本發(fā)明的真實精神和范圍的前提下,在此描述的本發(fā)明可以有許多變化。因此,所有對于本領(lǐng)域技術(shù)人員來說顯而易見的改變,都應(yīng)包括在本權(quán)利要求書所涵蓋的范圍之內(nèi)。本發(fā)明所要求保護(hù)的范圍僅由所述的權(quán)利要求書進(jìn)行限定。
      【主權(quán)項】
      1.一種異構(gòu)多處理器驅(qū)動控制方法,應(yīng)用于由第一處理器(11)、第二處理器(12)、存儲器(30)和外部設(shè)備(50)構(gòu)成的異構(gòu)多處理器系統(tǒng)中,其特征在于: 在系統(tǒng)初始化時,所述第一處理器(11)對所述外部設(shè)備(50)擁有控制權(quán),此時只有所述第一處理器(11)接受所述外部設(shè)備(50)的中斷請求,而所述第二處理器(12)屏蔽所述外部設(shè)備(50)的中斷請求; 所述第一處理器(11)運行所述外部設(shè)備(50)的驅(qū)動程序,檢測所述外部設(shè)備(50)的狀態(tài); 當(dāng)所述外部設(shè)備(50)處于第一狀態(tài)時,所述第一處理器(11)對所述外部設(shè)備(50)的控制命令和數(shù)據(jù)傳輸進(jìn)行處理,將所述外部設(shè)備(50)的狀態(tài)和控制信息寫入存儲器(30);當(dāng)檢測的所述外部設(shè)備(50)由第一狀態(tài)轉(zhuǎn)變?yōu)榈诙顟B(tài)時,所述第一處理器(11)對所述外部設(shè)備(50)擁有的控制權(quán)轉(zhuǎn)交給所述第二處理器(12),所述第二處理器(12)運行所述外部設(shè)備(50)的驅(qū)動程序,從所述存儲器(30)中讀取所述外部設(shè)備(50)的狀態(tài)和控制信息進(jìn)行處理。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)檢測的所述外部設(shè)備(50)由第二狀態(tài)轉(zhuǎn)變?yōu)榈谝粻顟B(tài)時,所述第二處理器(12)對所述外部設(shè)備(50)擁有的控制權(quán)交還給所述第一處理器(11),所述第一處理器(11)運行所述外部設(shè)備(50)的驅(qū)動程序,從所述存儲器(30)中讀取所述外部設(shè)備(50)的狀態(tài)和控制信息進(jìn)行處理。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一處理器(11)和所述第二處理器(12)通過DMA控制器(40)控制所述外部設(shè)備(50)和所述存儲器(30)之間進(jìn)行數(shù)據(jù)傳輸。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一處理器(11)接受所述外部設(shè)備(50)的中斷請求,而所述第二處理器(12)屏蔽所述外部設(shè)備(50)的中斷請求步驟通過中斷控制器實現(xiàn)。5.根據(jù)權(quán)利要求1至5中任一權(quán)利要求所述的方法,其特征在于,所述第一處理器(11)或所述第二處理器(12)運行所述外部設(shè)備(50)的驅(qū)動程序,從所述存儲器(30)中讀取所述外部設(shè)備(50)的狀態(tài)和控制信息進(jìn)行處理步驟包括: 從所述存儲器(30)中讀取所述外部設(shè)備(50)的狀態(tài)和控制信息進(jìn)行初始化,并進(jìn)入正常驅(qū)動流程。6.一種異構(gòu)多處理器系統(tǒng),其特征在于,包括:第一處理器(11)、第二處理器(12)、存儲器(30)和外部設(shè)備(50); 所述第一處理器(11)和所述第二處理器(12)連接存儲器(30),通過設(shè)備總線訪問所述外部設(shè)備(50); 所述外部設(shè)備(50)的中斷信號分別接到第一中斷控制器(21)和第二中斷控制器(22),所述第一中斷控制器(21)與所述第一處理器(11)連接,所述第二中斷控制器(22)與所述第二處理器(12)連接; 在系統(tǒng)初始化時,所述第一處理器(11)對所述外部設(shè)備(50)擁有控制權(quán),此時只有所述第一處理器(11)接受所述外部設(shè)備(50)的中斷請求,而所述第二處理器(12)屏蔽所述外部設(shè)備(50)的中斷請求;所述第一處理器(11)運行所述外部設(shè)備(50)的驅(qū)動程序,檢測所述外部設(shè)備(50)的狀態(tài);當(dāng)所述外部設(shè)備(50)處于第一狀態(tài)時,所述第一處理器(11)對所述外部設(shè)備(50)的控制命令和數(shù)據(jù)傳輸進(jìn)行處理,將所述外部設(shè)備(50)的狀態(tài)和控制信息寫入存儲器(30);當(dāng)檢測的所述外部設(shè)備(50)由第一狀態(tài)轉(zhuǎn)變?yōu)榈诙顟B(tài)時,所述第一處理器(11)對所述外部設(shè)備(50)擁有的控制權(quán)轉(zhuǎn)交給所述第二處理器(12),所述第二處理器(12)運行所述外部設(shè)備(50)的驅(qū)動程序,從所述存儲器(30)中讀取所述外部設(shè)備(50)的狀態(tài)和控制信息進(jìn)行處理。7.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,還包括DMA控制器(40),所述第一處理器(11)和所述第二處理器(12)通過所述DMA控制器(40)控制所述外部設(shè)備(50)和所述存儲器(30)之間進(jìn)行數(shù)據(jù)傳輸。8.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述第一處理器(11)和所述第二處理器(12)具體用于, 從所述存儲器(30)中讀取所述外部設(shè)備(50)的狀態(tài)和控制信息對所述外部設(shè)備(50)進(jìn)行初始化,并進(jìn)入正常驅(qū)動流程。
      【文檔編號】G06F13/10GK105988945SQ201510062427
      【公開日】2016年10月5日
      【申請日】2015年2月6日
      【發(fā)明人】庹凌云, 鄧育賢, 王允臻, 方之熙
      【申請人】致象爾微電子科技(上海)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1