新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 在 Zynq MPSoC 上運行 DOOM 游戲

在 Zynq MPSoC 上運行 DOOM 游戲

作者: 時間:2016-08-03 來源:電子產(chǎn)品世界 收藏

  聽起來很好,但能否用另一個模式實現(xiàn)一些功能?

本文引用地址:http://2s4d.com/article/201608/294978.htm

  對我們的機器稍加擴展,就可以引入 HYPER 模式。HYPER 模式可以讀/寫所有初始寄存器(RegisterA、RegisterB、RegisterC、UserProgramCounter、RegisterSuper 和 SuperProgramCounter)以及兩個附加寄存器:RegisterHyper 和 HyperProgramCounter。HYPER 模式下的指令包括初始集以及下面的斜體字。

  ADD Register3 Register1 Register2 將 Register1 與 Register2 相加并把結果放在 Register3 中,即 Register3 = Register1 + Register2。

  MOVTO Register2 Register1 將 Register1 中地址所指向的存儲器內容移到 Register2。

  MOVFROM Register2 Register1 將 Register1 的內容移到 Register2 中地址所指向的存儲器。

  MOVTOPHYS Register2 Register1 將 Register1 中物理地址指向的存儲器內容移到 Register2。

  MOVFROMPHYS Register2 Register1 將 Register1 的內容移到 Register2 中地址指向的物理存儲器。

  ENTERSUPER 進入處理器的 SUPER 模式。

  EXITSUPER 退出 SUPER 模式并進入 USER 模式。

  ENTERHYPER 進入處理器的 HYPER 模式。

  EXITHYPER 退出處理器的 HYPER 模式。

  SWITCHSUPER RegisterHyper 切換到 SUPER 程序,該程序將使用 RegisterHyper 中的值來執(zhí)行下一個 SUPER 程序。

  HYPER 模式中的附加指令和寄存器允許處理器切換哪個程序在 SUPER 模式中運行,就像 SUPER 模式允許處理器切換哪個程序在 USER 模式中運行一樣。HYPER 模式的一個特性是能夠切換哪個存儲器 SUPER 模式能看到;當一個在 HYPER 模式中運行的程序執(zhí)行 SWITCHSUPER RegisterHyper 時,底層存儲器完全斷開。這就是說當 HYPER 模式中的程序執(zhí)行了 EXITHYPER 之后,下個 SUPER 程序運行之時,SUPER 模式看到的實際物理存儲器與運行在 SUPER 模式中的另一個程序使用的物理存儲器不同。SUPER 模式程序仍使用相同地址訪問存儲器,但是該地址指向不同的物理位置。圖 1 顯示了執(zhí)行 SWITCHSUPER RegisterHyper 前后的處理器存儲器視圖。

  HYPER 模式很有用,是因為它允許很多個 SUPER 程序運行。SUPER 模式中每個程序都可以是 OS;這些 OS 本身可以讓很多 USER 程序并列運行.這意味著,我們可以在相同硬件上運行多個 OS,例如 Windows 和 Linux;在一個處理器上運行 20 個 Linux 實例;或者之間的任意組合。由于每個虛擬 OS 實例無法看到另一個 OS 實例,因此如果一個崩潰,不會使另一個實例也崩潰。HYPER 模式的特性還有其他應用:我們可以在多個 OS 之間對系統(tǒng)資源分區(qū);監(jiān)測 HYPER 模式下每個 OS 的執(zhí)行,以在崩潰時重啟;以及在虛擬 OS 運行時密切關注系統(tǒng)狀態(tài)。

  

 

  圖 1:HYPER 模式下執(zhí)行 SWITCHSUPER RegisterHyper 的前后區(qū)別

  隨著處理器從 USER 切換到 SUPER 模式,再從 SUPER 切換到 HYPER 模式,機器會賦予執(zhí)行代碼更多特權。本例中,USER 模式程序只有權使用四個寄存器(RegisterA、RegisterB、RegisterC 和 UserProgramCounter)和四個指令:(ADD、MOVTO、MOVFROM和ENTER-SUPER)。此外,USER 程序只能讀寫 0x0000_0100 至 0x0FFF_ FFFF 的存儲器。一旦進入 SUPER 模式,處理器允許指令與 RegisterSuper 和 SuperProgramCounter 對話,并允許執(zhí)行 EXITSUPER 和 ENTERHYPER。此外,SUPER 程序可以訪問從 0x0000_0000 至 0x7FFF_FFFF 的存儲器。



關鍵詞: Zynq MPSoC

評論


相關推薦

技術專區(qū)

關閉