雙主機嵌入式共享裝置控制器的制造方法
【專利說明】
[0001 ] 優(yōu)先權申請
[0002] 本申請要求于2013年3月13日提交的題為"雙主機嵌入式共享裝置控制器(DUAL HOST EMBEDDED SHARED DEVICE CONTROLLER)" 的美國專利申請序列號 13/798, 803 的優(yōu)先 權,該申請以其整體通過引用并入本文。
技術領域
[0003] 本公開一般涉及多處理器領域,并且特別涉及由雙主機共享裝置控制器提供的功 能。
【背景技術】
[0004] 許多便攜式產品例如蜂窩電話、膝上型計算機、個人數據助理(PDA)等利用執(zhí)行 程序例如通信程序和多媒體程序的處理系統(tǒng)。用于此類產品的處理系統(tǒng)可包含多個處理 器、用于存儲指令和數據的包含多級高速緩存的復合存儲器系統(tǒng)、控制器、外圍裝置例如通 信接口,以及配置在例如單個芯片上的固定功能邏輯塊。
[0005] 在包含智能手機、平板計算機等的多處理器便攜式系統(tǒng)中,可使用應用處理器協(xié) 調在數個嵌入式處理器之間的操作。主應用處理器也可提供對存儲元件例如嵌入式或可移 除非易失性存儲器模塊和磁盤驅動器的存取端口。其它嵌入式處理器可專用于特定的實時 操作,例如調制解調器控制處理器、音頻信號處理器等。嵌入式處理器中的每個可操作它們 自身的文件系統(tǒng),它們自身的文件系統(tǒng)可具有與其專用功能關聯(lián)的特定時間約束。此類多 處理器系統(tǒng)也可被要求共享存儲器存儲,例如嵌入式存儲器和可移除非易失性存儲器模塊 或磁盤驅動器。然而,由于在子系統(tǒng)之間的相關性提高和進程間通信(IPC)開銷增加,因此 在共享非易失性存儲器存儲裝置各自具有通過主控制處理器可存取的單端口的系統(tǒng)中,在 來自特定處理器中的專用功能的存儲器存取中可經歷過度過多延時。而且,在此類系統(tǒng)中 的調試可變得不可接受地復雜。
【發(fā)明內容】
[0006] 在其幾個方面之間,本公開認識到提供用于每個嵌入式處理器的更有效的方法和 設備是有利的,從而能夠直接獨立存取非易失性存儲器,而無需使通過應用處理器使存取 集中。而且,提供用于通過第二處理器進行一個處理器的握手和搶先操作的更有效的方法 和設備是有利的,以處理時間臨界事件。為此,本發(fā)明的實施例提出了用于由第二處理器搶 先于第一處理器的方法。第一處理器從非易失性存儲器裝置中存取數據塊,共享非易失性 存儲器裝置通過直接存取由第一處理器和第二處理器共享。向第一處理器發(fā)布門鈴中斷, 以請求搶先于第一處理器對共享非易失性存儲器裝置的操作。搶先于第一處理器的數據塊 存取,以發(fā)起第二處理器的存儲器存取。
[0007] 另一個實施例提出了允許兩個處理器獨立存取共享裝置的設備。第一處理器耦合 到共享裝置并且經配置具有對第一組影子寄存器的獨占存取權限。第二處理器耦合到共享 裝置并且經配置具有對第二組影子寄存器的獨占存取權限。具有信號量狀態(tài)機的共享裝置 控制器經配置以在授予信號量給所述第一處理器時,將第一組影子寄存器映射到共享地址 空間,并且在授予信號量給第二處理器時,將第二組影子寄存器映射到共享地址空間。
[0008] 另一個實施例提出了用于兩個處理器獨立存取共享裝置的方法。響應第一處理器 獲取信號量,將第一影子寄存器映射到共享地址,其中第一處理器將第一值寫入在共享地 址處的第一影子寄存器。響應在第一處理器對共享裝置的第一操作完成時信號量被釋放, 去除第一影子寄存器與共享地址的鏈接。響應第二處理器獲取信號量,將第二影子寄存器 映射到共享地址,其中第二處理器將第二值寫入在共享地址處的第二影子寄存器。響應在 第二處理器對共享裝置的第二操作完成時信號量被釋放,去除第二影子寄存器與共享地址 的鏈接,其中在第二操作完成時,第一值在第一影子寄存器中無變化,并且第二值在第二影 子寄存器中無變化。
[0009] 另一個實施例提出了用于電力控制的方法。響應接收到缺乏對在第一處理器控制 下且由多個處理器共享的存儲器裝置的存取權限的指示,減小對存儲器裝置的供電電壓。 響應接收到多個處理器中的另一個處理器的存儲器存取請求,將供電電壓返回到處于第一 處理器控制下的操作電平。
[0010] 另一個實施例提出了用計算機可讀程序數據和代碼編碼的計算機可讀非暫時性 媒體。響應第一處理器獲取信號量,將第一影子寄存器映射到共享地址,其中第一處理器將 第一值寫入在共享地址處的第一影子寄存器。響應在第一處理器對共享裝置的第一操作完 成時信號量被釋放,去除第一影子寄存器與共享地址的鏈接。響應第二處理器獲取信號量, 將第二影子寄存器映射到共享地址,其中第二處理器將第二值寫入在共享地址處的第二影 子寄存器。響應在第二處理器對共享裝置的第二操作完成時信號量被釋放,去除第二影子 寄存器與共享地址的鏈接,其中在第二操作完成時,第一值在第一影子寄存器中無變化,并 且第二值在第二影子寄存器中無變化。
[0011] 另一個實施例提出了用計算機可讀程序數據和代碼編碼的計算機可讀非暫時性 媒體。由第一處理器從非易失性存儲器裝置中存取數據塊,共享非易失性存儲器裝置通過 直接存取由第一處理器和第二處理器共享。向第一處理器發(fā)出門鈴中斷,以請求搶先于第 一處理器對共享非易失性存儲器裝置的操作。搶先于第一處理器的數據塊存取,以發(fā)起第 二處理器的存儲器存取。
[0012] 進一步的實施例提出了允許兩個處理器獨立存取共享裝置的設備。用于第一處理 器的裝置使第一處理器存取共享裝置并且具有對第一組影子寄存器的獨占存取權限。用于 第二處理器的裝置使第二處理器存取共享裝置并且具有對第二組影子寄存器的獨占存取 權限。用于共享裝置控制器的裝置使共享裝置控制器在授予信號量給第一處理器時將第一 組影子寄存器映射到共享地址空間,且在授予信號量給第二處理器時將第二組影子寄存器 映射到共享地址空間。
[0013] 應理解,所屬領域的技術人員從以下詳細描述將容易明白本發(fā)明的其它實施例, 其中借助于說明來展示和描述本發(fā)明的各種實施例。將認識到,本發(fā)明能夠具有其它及不 同實施例且其若干細節(jié)能夠在各種其它方面加以修改,以上所有均不脫離本發(fā)明的精神及 范圍。因此,附圖和【具體實施方式】應被視為本質上是說明性的而不是限制性的。
【附圖說明】
[0014] 本發(fā)明的各方面在附圖中以實例方式說明并且不是以限制方式說明,其中:
[0015] 圖1示出在可有利采用的調制解調器子系統(tǒng)中滿足實時約束的多處理器子系統(tǒng) 的實施例;
[0016] 圖2A示出在多處理器數據事務中存取數據的進程的實施例;
[0017] 圖2B示出在多處理器子系統(tǒng)中搶先數據事務以便服務于實時任務的進程的實施 例;
[0018] 圖3示出支持數據事務搶先以便服務于實時任務的信號量狀態(tài)機的實施例;以及
[0019] 圖4示出具有處理器復合體的便攜式裝置,處理器復合體經配置滿足調制解調器 子系統(tǒng)的實時要求。
【具體實施方式】
[0020] 下文結合附圖闡述的【具體實施方式】旨在作為對本發(fā)明的各種示例性實施例的描 述,且并非旨在表示可在其中實踐本發(fā)明的僅有實施例。為提供對本發(fā)明的全面理解的目 的,【具體實施方式】包含特定細節(jié)。然而,本領域的技術人員將明白,可在無這些特定細節(jié)的 情況下實踐本發(fā)明。在某些情況下,為避免模糊本發(fā)明的概念,以框圖形式來展示眾所周知 的結構和組件。
[0021] 為解決問題例如在來自專用功能特定處理器的存儲器存取中的過多延時,可以為 共享非易失性存儲器模塊實施多端口存儲器軟件和硬件設計。例如,具有臨界延時要求的 專用處理器,例如調制解調器控制處理器,可存取與主機控制處理器的存儲器存取端口分 離的第二存儲器端口。由于不要求在單存取端口設計中的調制解調器控制處理器通過主機 控制處理器進行用管線傳送的存取,多端口設計減小了從共享非易失性存儲器模塊中存取 數據的延時,并且因此避免了耗時的進程間通信(IPC)程序。
[0022] 另外,共享存儲器模塊的多個處理器可使用請求頁面調度和其它此類快速存取技 術。例如,系統(tǒng)操作情境可包含主機控制處理器,當在調制解調器處理器中發(fā)生時間臨界事 件時,主機控制處理器從可移除存儲器模塊中存取大數據塊。在多端口存儲器系統(tǒng)中,調制 解調器處理器搶先于主機控制處理器,允許調制解調器處理器快速存取在可移除存儲器模 塊中的數據,從而減少時間臨界事件的存儲器存取時間。搶先可有利地使用由尋求存取的 處理器請求并在被搶先的處理器中發(fā)起的門鈴中斷。與無門鈴中斷的請求大量IPC相比, 使用門鈴中斷使得實現(xiàn)來自應用進程的更快的響應。而且,共享非易失性存儲器參數例如 裝置狀態(tài)和操作模式信息可存儲在可由尋求存取的處理器存取的單獨存儲器中,用于在已 經授予存取權限之后使用。在搶先之后,存取權限歸還給應用(主機控制)處理器,并且主 機控制處理器可再繼續(xù)存取或者可重新開始大數據塊的存取。處理器的存取控制利用由信 號量原子控制機制支持的硬件,如下文更詳細描述。
[0023] 使用先進先出(FIFO)存儲器,或優(yōu)先隊列,例如為用于存儲器存取的在處理器之 間的更快的轉換提供硬件支持,也可緩沖在多個處理器之間的存取請求。共享非易失性存 儲器模塊的電力控制包含至少一個不活動定時器,以指示對共享非易失性存儲器模塊的供 電電壓何時可以安全減小或關閉。通過共享存儲器的處理器中的任一者,電源可重新啟動, 從而允許快速存取數據。具有不同長度的第二不活動定時器可用于支持錯誤恢復過程。在 多處理器系統(tǒng)中,在具有信號量鎖的處理器存取共享非易失性存儲器裝置,并且第二不活 動定時器已經超時的指示被接收在控制處理器中的情況下,控制處理器發(fā)起對非易失性存 儲器控制器的錯誤恢復過程,以自由存取共享非易失性存儲器裝置。復位具有信號量鎖的 處理器,釋放信號量鎖,并且任選地,重新初始化共享非易失性存儲器裝置。
[0024] 在具有調制解調器子系統(tǒng)的處理器中可適當地采用本發(fā)明的實施例。圖1示出在 調制解調器子系統(tǒng)中滿足實時約束的多處理器子系統(tǒng)100的