• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于QEMU的處理器時(shí)鐘仿真技術(shù)研究

      2025-04-10 00:00:00郭攀劉水橋王佳明
      機(jī)電信息 2025年7期
      關(guān)鍵詞:虛擬仿真

      摘 要:嵌入式設(shè)備硬件資源相對(duì)受限,實(shí)時(shí)響應(yīng)性要求高,但當(dāng)前基于QEMU的MIPS架構(gòu)模擬器的處理器時(shí)鐘精度低,虛擬機(jī)每計(jì)時(shí)1 ms對(duì)應(yīng)真實(shí)時(shí)間誤差大于50倍。為提升虛擬機(jī)的實(shí)時(shí)性,對(duì)處理器時(shí)鐘仿真技術(shù)進(jìn)行研究,基于開(kāi)源仿真框架QEMU,分析了MIPS架構(gòu)下處理器模型的時(shí)鐘初始化及時(shí)鐘中斷觸發(fā)方式,同時(shí)查閱天脈操作系統(tǒng)中關(guān)于處理器時(shí)鐘的配置代碼及系統(tǒng)運(yùn)行tick計(jì)數(shù)方式,找出了時(shí)鐘中斷觸發(fā)不穩(wěn)定的原因,通過(guò)修改處理器的時(shí)鐘模型代碼,實(shí)現(xiàn)虛擬機(jī)每計(jì)時(shí)1 ms,對(duì)應(yīng)真實(shí)時(shí)間最大誤差小于2倍,有效提升了模擬器的時(shí)鐘精度。

      關(guān)鍵詞:處理器時(shí)鐘;QEMU;虛擬仿真;MIPS

      中圖分類(lèi)號(hào):TP311.5" " 文獻(xiàn)標(biāo)志碼:A" " 文章編號(hào):1671-0797(2025)07-0018-06

      DOI:10.19514/j.cnki.cn32-1628/tm.2025.07.005

      0" " 引言

      嵌入式設(shè)備硬件資源相對(duì)受限、實(shí)時(shí)響應(yīng)性要求高。其中,實(shí)時(shí)性是虛擬化技術(shù)需要面對(duì)的最重要的問(wèn)題之一,在虛擬機(jī)操作系統(tǒng)和硬件之間增加了一個(gè)宿主機(jī)操作系統(tǒng)層,將影響虛擬機(jī)程序的實(shí)時(shí)性能。而當(dāng)前在服務(wù)器和桌面領(lǐng)域廣泛應(yīng)用的主流虛擬化方案,其設(shè)計(jì)之初并沒(méi)有考慮嵌入式領(lǐng)域的特殊需求,因此在實(shí)時(shí)性能上表現(xiàn)并不理想[1]。

      可確定性是實(shí)時(shí)的最本質(zhì)特點(diǎn),實(shí)時(shí)程序的可確定性有兩個(gè)方面:運(yùn)行可確定性和中斷響應(yīng)可確定性。運(yùn)行可確定指某一段代碼執(zhí)行時(shí)間可確定,而中斷響應(yīng)可確定指從硬件發(fā)出中斷到響應(yīng)中斷的程序開(kāi)始執(zhí)行之間的時(shí)間可確定。

      處理器時(shí)鐘是一個(gè)周期性的電脈沖信號(hào),用于同步處理器內(nèi)部的各個(gè)操作步驟,因此,實(shí)時(shí)性的基礎(chǔ)是高精度的處理器時(shí)鐘。

      本文通過(guò)深入分析處理器時(shí)鐘的說(shuō)明文檔、處理器時(shí)鐘模型代碼以及天脈操作系統(tǒng)對(duì)處理器時(shí)鐘配置的驅(qū)動(dòng)代碼,根據(jù)操作系統(tǒng)驅(qū)動(dòng)代碼對(duì)處理器時(shí)鐘的配置方法,找出了處理器時(shí)鐘模型中斷觸發(fā)不穩(wěn)定的原因。通過(guò)修改模型代碼,完成了處理器時(shí)鐘精度的提升。

      修改后的處理器時(shí)鐘模型實(shí)時(shí)性得到了有效提升,可以更好地支撐軟件在虛擬機(jī)上開(kāi)發(fā)驗(yàn)證,大幅縮短產(chǎn)品研發(fā)周期。另外,在硬件發(fā)布之前,開(kāi)發(fā)人員可以選擇在虛擬機(jī)上完成更多的測(cè)試,從而提高產(chǎn)品質(zhì)量。

      1" " 技術(shù)背景

      1.1" " 處理器時(shí)鐘簡(jiǎn)介

      處理器時(shí)鐘是處理器內(nèi)部的一種計(jì)時(shí)器,是處理器執(zhí)行操作的基本的時(shí)間單位,在計(jì)算機(jī)中是通過(guò)晶振產(chǎn)生的脈沖信號(hào)來(lái)計(jì)時(shí),這些脈沖信號(hào)具有一定的頻率,稱(chēng)為時(shí)鐘頻率,時(shí)鐘頻率越高,處理器每秒可以執(zhí)行的指令數(shù)量就越多,性能也就越強(qiáng)[2]。

      時(shí)鐘周期是處理器執(zhí)行一個(gè)動(dòng)作所需要的時(shí)間,它是時(shí)鐘頻率的倒數(shù)。CPU中的每個(gè)操作至少需要一個(gè)時(shí)鐘周期來(lái)完成,時(shí)鐘周期提供了一個(gè)統(tǒng)一的時(shí)間基準(zhǔn),使得不同的硬件組件和指令能夠按照同樣的時(shí)間節(jié)奏進(jìn)行操作。各個(gè)組件和指令可以根據(jù)時(shí)鐘信號(hào)的跳變來(lái)確定何時(shí)開(kāi)始和結(jié)束各自的操作,從而實(shí)現(xiàn)同步和協(xié)調(diào)。

      處理器時(shí)鐘周期是影響計(jì)算機(jī)性能的關(guān)鍵因素之一。時(shí)鐘周期越短,處理器可以獲取的執(zhí)行次數(shù)越多,計(jì)算機(jī)性能就會(huì)越高,但是,這也會(huì)使處理器產(chǎn)生更多的熱量,從而引發(fā)故障。同時(shí),較高頻率的處理器也需要更高程度的電壓保持系統(tǒng)運(yùn)行,這也會(huì)導(dǎo)致更多的能量被使用和釋放,從而增加了能源的消耗。因此,處理器時(shí)鐘的選擇會(huì)權(quán)衡性能和功耗兩方面因素。

      1.2" " 處理器時(shí)鐘配置方法

      MIPS架構(gòu)的處理器中一般包含一個(gè)NODE PLL用于產(chǎn)生node時(shí)鐘,生成穩(wěn)定且準(zhǔn)確的時(shí)鐘信號(hào),供CPU核、二級(jí)緩存Cache、一二級(jí)交叉開(kāi)關(guān)及IO子網(wǎng)絡(luò)使用。node時(shí)鐘的產(chǎn)生結(jié)構(gòu)如圖1所示。

      輸出時(shí)鐘頻率的計(jì)算方式如下:

      node_clock=(refclk/L1_div_ref)*(L1_loopc/L2_divout)

      node_clock的分頻系數(shù)及倍頻系數(shù)是可以配置的,但需要保證可配分頻器的輸出refclk/L1_div_ref在合理范圍內(nèi)。輸出的時(shí)鐘還可以由FREQ_SCALE模塊進(jìn)行細(xì)粒度分頻控制[3]。

      當(dāng)SYS_CLKSEL設(shè)置為0x2b10時(shí),表示PLL頻率通過(guò)軟件配置,這種配置下,默認(rèn)對(duì)應(yīng)的時(shí)鐘頻率為外部參考時(shí)鐘頻率,即所有PLL輸出都是SYS_SYSCLK,需要在處理器啟動(dòng)過(guò)程中對(duì)時(shí)鐘進(jìn)行軟件配置[4]。時(shí)鐘設(shè)置過(guò)程如下:

      1)將對(duì)應(yīng)的PLL的PD信號(hào)設(shè)置為1;

      2)設(shè)置除了sel_pll_*及soft_set_pll之外的其他寄存器,即這兩個(gè)寄存器在設(shè)置的過(guò)程中寫(xiě)為0;

      3)將對(duì)應(yīng)的PLL的PD信號(hào)設(shè)置為0;

      4)其他寄存器值不變,將soft_set_pll設(shè)置為1;

      5)等待寄存器中的鎖定信號(hào)locked_*為1;

      6)設(shè)置sel_pll_*為1,此時(shí)對(duì)應(yīng)的時(shí)鐘頻率將切換為軟件設(shè)置的頻率。

      2" " 處理器時(shí)鐘仿真研究

      2.1" " QEMU時(shí)鐘模型

      QEMU(Quick EMUIator)在進(jìn)行處理器時(shí)鐘仿真時(shí),提供了多種時(shí)鐘類(lèi)型和配置選項(xiàng),以滿足不同虛擬化場(chǎng)景的需求。主要提供了以下幾種時(shí)鐘類(lèi)型[5]:

      1)REALTIME時(shí)鐘:依賴(lài)宿主機(jī)處理器時(shí)鐘,主要用來(lái)保持時(shí)間的準(zhǔn)確性,與宿主機(jī)的實(shí)時(shí)時(shí)鐘進(jìn)行同步,以確保虛擬機(jī)中的時(shí)間與實(shí)際時(shí)間保持一致。同時(shí)還支持一些特定的功能,例如時(shí)間偏移和頻率調(diào)整,時(shí)間偏移允許設(shè)置虛擬機(jī)時(shí)間和宿主機(jī)時(shí)間之間的固定差異,而頻率調(diào)整則可以用來(lái)微調(diào)虛擬機(jī)時(shí)間的流逝速度。

      這種時(shí)鐘類(lèi)型通過(guò)直接獲取宿主機(jī)處理器的時(shí)鐘信息來(lái)計(jì)時(shí),因此其精度和穩(wěn)定性受限于宿主機(jī)時(shí)鐘的性能。

      2)VIRTUAL時(shí)鐘:只在虛擬機(jī)運(yùn)行時(shí)才會(huì)計(jì)時(shí),當(dāng)虛擬機(jī)停止時(shí),VIRTUAL時(shí)鐘也會(huì)停止,即VIRTUAL時(shí)鐘記錄的是虛擬機(jī)內(nèi)部的時(shí)間滴答,它反映了虛擬機(jī)操作系統(tǒng)感知到的時(shí)間流逝,與REALTIME時(shí)鐘不同,VIRTUAL時(shí)鐘并不與宿主機(jī)的時(shí)間直接同步,它的前進(jìn)速度取決于虛擬機(jī)執(zhí)行的指令數(shù)量和宿主機(jī)處理器的性能[5],因此,在某些情況下,虛擬機(jī)內(nèi)部的時(shí)間可能與宿主機(jī)時(shí)間存在偏差。

      QEMU在icount模式下時(shí),VIRTUAL時(shí)鐘的行為會(huì)有所不同,icount模式是一種指令計(jì)數(shù)模式,它允許QEMU根據(jù)虛擬機(jī)執(zhí)行的指令數(shù)量來(lái)計(jì)算時(shí)間。在這種模式下,VIRTUAL時(shí)鐘可能會(huì)更加準(zhǔn)確地反映虛擬機(jī)內(nèi)部的時(shí)間流逝,但也可能與宿主機(jī)時(shí)間存在更大的偏差。

      3)HOST時(shí)鐘:代表的是宿主機(jī)(Host OS)的時(shí)間,就像墻上的時(shí)鐘一樣,它會(huì)持續(xù)運(yùn)行,即使虛擬機(jī)被掛起,HOST時(shí)鐘也會(huì)繼續(xù)走。HOST時(shí)鐘對(duì)于需要在虛擬機(jī)中模擬準(zhǔn)確時(shí)鐘源的設(shè)備模型來(lái)說(shuō)非常有用[6],因?yàn)閷?duì)于實(shí)時(shí)操作系統(tǒng)或需要精確時(shí)間戳的應(yīng)用,需要知道宿主機(jī)時(shí)間的準(zhǔn)確變化。

      QEMU允許虛擬機(jī)訪問(wèn)HOST時(shí)鐘,直接獲取宿主機(jī)時(shí)間。HOST時(shí)鐘直接反映宿主機(jī)的系統(tǒng)時(shí)間,是虛擬機(jī)和宿主機(jī)之間的一個(gè)時(shí)間橋梁,因此其精度和穩(wěn)定性與宿主機(jī)系統(tǒng)時(shí)間的精度和穩(wěn)定性有關(guān)。

      2.2" " 天脈操作系統(tǒng)對(duì)處理器時(shí)鐘的配置

      天脈操作系統(tǒng)對(duì)處理器時(shí)鐘的關(guān)鍵配置包括:

      1)通過(guò)配置協(xié)處理器CP0的Random寄存器,產(chǎn)生TLB(轉(zhuǎn)換后備緩沖器)陣列的入口索引。

      2)通過(guò)配置協(xié)處理器CP0的Count寄存器,設(shè)置Count寄存器從0開(kāi)始計(jì)數(shù)。

      3)通過(guò)配置協(xié)處理器CP0的Compare寄存器,控制定時(shí)器中斷的頻率,當(dāng)Count寄存器的值和Compare寄存器的值相等時(shí),就會(huì)產(chǎn)生一個(gè)定時(shí)器中斷。

      4)使能處理器時(shí)鐘中斷,在中斷處理函數(shù)中進(jìn)行系統(tǒng)運(yùn)行tick計(jì)數(shù)。

      2.3" " QEMU中處理器時(shí)鐘模型設(shè)計(jì)

      在QEMU中,模擬處理器時(shí)鐘采用的是定時(shí)器鏈表原理,使用鏈表結(jié)構(gòu)來(lái)存儲(chǔ)和跟蹤所有的定時(shí)器,每個(gè)定時(shí)器在鏈表中都有一個(gè)對(duì)應(yīng)的節(jié)點(diǎn),節(jié)點(diǎn)中包含了定時(shí)器的相關(guān)信息[7],例如到期時(shí)間、回調(diào)函數(shù)等。

      QEMU模擬處理器的指令運(yùn)行,并在模擬過(guò)程中更新定時(shí)器的計(jì)數(shù)值,同時(shí)檢查當(dāng)前計(jì)數(shù)值是否已達(dá)到或超過(guò)了設(shè)定的Compare寄存器的值(也稱(chēng)為比較值),如果達(dá)到了設(shè)定值,那么將觸發(fā)定時(shí)器中斷,并更新定時(shí)器到期時(shí)間,將新的定時(shí)器插入到定時(shí)器鏈表中。當(dāng)時(shí)鐘源發(fā)生變化時(shí),QEMU會(huì)遍歷對(duì)應(yīng)的定時(shí)器鏈表,檢查是否有定時(shí)器到期,如果有定時(shí)器到期,就會(huì)調(diào)用該定時(shí)器的回調(diào)函數(shù),執(zhí)行相應(yīng)操作[8]。為了優(yōu)化性能,QEMU的定時(shí)器鏈表是按照定時(shí)器的到期時(shí)間排序的,這樣當(dāng)QEMU需要查找到期的定時(shí)器時(shí),只需要從鏈表的頭部開(kāi)始遍歷,直到找到第一個(gè)未到期的定時(shí)器為止。這種方式減少了遍歷鏈表的時(shí)間復(fù)雜度,流程如圖2所示。

      2.4" " 虛擬機(jī)系統(tǒng)中時(shí)鐘誤差分析

      在虛擬環(huán)境下,虛擬機(jī)使用的時(shí)鐘來(lái)自于QEMU的時(shí)鐘模型,QEMU的時(shí)鐘模型是軟件模擬,這樣就存在一些場(chǎng)景無(wú)法保證能及時(shí)準(zhǔn)確地模擬實(shí)時(shí)中斷。

      主要場(chǎng)景包括:

      1)宿主機(jī)操作系統(tǒng)負(fù)載重,因而影響QEMU進(jìn)程的被調(diào)度機(jī)會(huì),宿主機(jī)操作系統(tǒng)不是實(shí)時(shí)操作系統(tǒng),時(shí)鐘中斷的處理也并非“搶占”式,只有虛擬機(jī)獲得運(yùn)行時(shí)刻才可執(zhí)行[9],導(dǎo)致軟件時(shí)鐘中斷不能及時(shí)產(chǎn)生。

      2)QEMU處理器時(shí)鐘模型的定時(shí)器鏈表存在排隊(duì)問(wèn)題,需要等先到期的定時(shí)器回調(diào)函數(shù)執(zhí)行完畢后才會(huì)查詢下一個(gè)定時(shí)器[9],導(dǎo)致定時(shí)精度不足。

      3)天脈操作系統(tǒng)對(duì)定時(shí)器進(jìn)行計(jì)數(shù)重載時(shí),由于虛擬機(jī)運(yùn)行速度慢,概率性出現(xiàn)Compare寄存器值小于當(dāng)前的Count值,導(dǎo)致計(jì)算的定時(shí)器到期時(shí)間溢出。

      4)QEMU中默認(rèn)的時(shí)鐘源為VIRTUAL時(shí)鐘,該時(shí)鐘源反映了虛擬機(jī)操作系統(tǒng)感知到的時(shí)間流逝,并不與宿主機(jī)的時(shí)間直接同步,無(wú)法保證虛擬機(jī)的時(shí)間精度。

      2.5" " 處理器模型優(yōu)化

      2.5.1" " 定時(shí)器替換

      在Windows系統(tǒng)下多媒體定時(shí)器是一種高精度定時(shí)器,它提供比傳統(tǒng)Timer定時(shí)器更高的定時(shí)精度和更可靠的定時(shí)響應(yīng)。與傳統(tǒng)的Timer定時(shí)器依賴(lài)VM_TIMER消息不同,多媒體定時(shí)器使用函數(shù)產(chǎn)生一個(gè)獨(dú)立的線程[10],在一定的中斷次數(shù)到達(dá)后,它直接調(diào)用預(yù)先設(shè)置好的回調(diào)函數(shù)進(jìn)行處理,而不必等待應(yīng)用程序的消息隊(duì)列為空,可以實(shí)現(xiàn)高達(dá)1 ms的定時(shí)精度,因此可以采用多媒體定時(shí)器替換QEMU的定時(shí)器鏈表。

      timeSetEvent屬于多媒體定時(shí)器的一種,可以很精確地讀出系統(tǒng)的當(dāng)前時(shí)間,并且能在非常精確的時(shí)間間隔內(nèi)完成一個(gè)函數(shù)或過(guò)程的調(diào)用,函數(shù)原型如下:

      MMRESULT timeSetEvent(UINT uDelay, UINT uResolution, LPTIMECALLBACK lpTimeProc, DWORD dwUser, UINT fuEvent);

      參數(shù)說(shuō)明:

      uDelay:以毫秒為單位指定事件的周期。

      uResolution:以毫秒指定延時(shí)的精度,數(shù)值越小定時(shí)器事件分辨率越高,缺省值為1 ms。

      lpTimeProc:指向一個(gè)回調(diào)函數(shù)。

      dwUser:存放用戶提供的回調(diào)數(shù)據(jù)。

      fuEvent:指定定時(shí)器事件類(lèi)型。TIME_ONESHOT表示uDelay毫秒后只產(chǎn)生一次事件,TIME_PERIODIC表示每隔uDelay毫秒周期性地產(chǎn)生事件。

      因此,處理器時(shí)鐘模型采用timeSetEvent創(chuàng)建高精度定時(shí)器,相關(guān)代碼如下所示:

      void cpu_mips_clock_init (MIPSCPU *cpu)

      {

      CPUMIPSState *env = amp;cpu-gt;env;

      UINT mMMTimerThreadID = 0;

      mMMTimerThreadID = timeSetEvent (1, 1, mips_

      timer_cb, env, TIME_PERIODIC );

      }

      在中斷處理函數(shù)mips_timer_cb中,定時(shí)觸發(fā)時(shí)鐘中斷,代碼如下所示:

      static void CALLBACK mips_timer_cb (UINT uID, UINT uMsg, DWORD_PTR dwUser, DWORD_

      PTR dw1, DWORD_PTR dw2)

      {

      CPUMIPSState *env;

      env = (CPUMIPSState *)dwUser;

      if (env-gt;insn_flags amp; ISA_MIPS32R2){

      env-gt;CP0_Cause |= 1 lt;lt; CP0Ca_TI;

      }

      qemu_mutex_lock_iothread();

      qemu_irq_raise(env-gt;irq[(env-gt;

      CP0_IntCtl gt;gt; CP0IntCtl_IPTI) amp;

      0x7]);

      qemu_mutex_unlock_iothread();

      }

      2.5.2" " 設(shè)置QEMU進(jìn)程優(yōu)先級(jí)

      使用start命令,在啟動(dòng)QEMU進(jìn)程時(shí),設(shè)定新啟動(dòng)進(jìn)程的優(yōu)先級(jí)。以高優(yōu)先級(jí)啟動(dòng)QEMU進(jìn)程,命令如下:

      Start /HIGH qemu -system -mips64el.exe -M ls2k -bios ./bootrom.bin -kernel ./ls2k_os_bind.elf -serial\

      COM4 -m 1024 -usb -smp 2 -nographic

      2.5.3" " 更換時(shí)鐘源為REALTIME時(shí)鐘

      修改處理器時(shí)鐘模型的時(shí)鐘源,使用REALTIME時(shí)鐘,REALTIME時(shí)鐘在Windows環(huán)境下通過(guò)QueryPerformanceFrequency獲取處理器頻率并使用QueryPerformanceCounter獲取當(dāng)前時(shí)鐘,該函數(shù)可以提供微秒級(jí)的時(shí)間間隔[10],精度更高。

      3" " 仿真與實(shí)驗(yàn)結(jié)果

      3.1" " 啟動(dòng)QEMU

      啟動(dòng)QEMU并加載天脈操作系統(tǒng),啟動(dòng)命令如下:

      start /HIGH qemu-system-mips64el.exe -M ls2k,loadCfgFile=loadfiles_hi600_dpm1.cfg -bios bootrom_

      new.bin -kernel MSL_IPC.elf -m 4G -smp 2

      其中,-M參數(shù)用于指定模擬的虛擬機(jī)(當(dāng)前為龍芯2K1000),loadCfgFile用于指定加載的配置文件(包含天脈操作系統(tǒng)及應(yīng)用文件的路徑和加載地址);-bios參數(shù)用于指定虛擬機(jī)啟動(dòng)的boot文件;-kernel參數(shù)用于指定虛擬機(jī)啟動(dòng)時(shí)加載的內(nèi)核鏡像文件;-m參數(shù)用于指定分配給虛擬機(jī)的內(nèi)存大??;-smp參數(shù)用于指定虛擬機(jī)中使用的邏輯CPU數(shù)量。

      3.2" " 處理器時(shí)鐘模型優(yōu)化測(cè)試

      時(shí)鐘模型測(cè)試采用天脈操作系統(tǒng)時(shí)鐘驅(qū)動(dòng)模塊的tick計(jì)數(shù)函數(shù),首先設(shè)置每個(gè)tick為1 000 μs。代碼如下:

      /* 設(shè)置每個(gè)tick的微秒值 */

      microseconds_per_tick = 1000;

      /* 設(shè)置時(shí)鐘頻率 */

      sysClkRateSet(1000000/microseconds_per_tick);

      在處理器時(shí)鐘中斷的回調(diào)函數(shù)中通過(guò)模型接口調(diào)用Windows系統(tǒng)的QueryPerformanceCounter函數(shù)記錄每次tick計(jì)數(shù)時(shí)的時(shí)間間隔,時(shí)鐘模型優(yōu)化前的測(cè)試結(jié)果如圖3所示。

      從測(cè)試結(jié)果可以看出,每次計(jì)算tick計(jì)數(shù)的時(shí)間間隔基本在100 000 000 ns左右,即100 ms,與設(shè)定的每個(gè)tick為1 000 μs即1 ms,誤差超過(guò)50倍。

      優(yōu)化處理器時(shí)鐘模型后對(duì)時(shí)鐘進(jìn)行測(cè)試,測(cè)試結(jié)果如圖4所示。

      從測(cè)試結(jié)果可以看出,每次計(jì)算tick計(jì)數(shù)的時(shí)間間隔在999 000~2 000 000 ns之間,即0.9~2 ms,與設(shè)定的每個(gè)tick為1 000 μs即1 ms誤差小于2倍。

      以上實(shí)驗(yàn)結(jié)果表明,優(yōu)化后的處理器時(shí)鐘模型有效提升了模擬器時(shí)鐘精度,可以更好地支撐嵌入式實(shí)時(shí)系統(tǒng)在虛擬機(jī)上運(yùn)行。

      4" " 結(jié)束語(yǔ)

      本文通過(guò)對(duì)QEMU的MIPS架構(gòu)處理器時(shí)鐘仿真模型進(jìn)行研究,分析出了時(shí)鐘模型精度誤差大的原因,采用替換多媒體定時(shí)器、設(shè)置QEMU進(jìn)程的優(yōu)先級(jí)以及修改時(shí)鐘源的方法,有效提升了QEMU的MIPS架構(gòu)處理器時(shí)鐘模型的精度,為嵌入式實(shí)時(shí)操作系統(tǒng)在虛擬機(jī)上運(yùn)行提供了有力保障。

      [參考文獻(xiàn)]

      [1] 于佳佳.基于QEMU的龍芯3A處理器數(shù)字化設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2018.

      [2] QEMUdocumentation:Release6.1.0[S/OL].(2021-08-24)[2023-06-07].www.qemu.org.

      [3] 董亮,許東歡,臧中原,等.時(shí)鐘模型輔助的慣性/衛(wèi)星緊組合導(dǎo)航算法研究[J].導(dǎo)航定位與授時(shí),2022,9(2):112-117.

      [4] FAYNEH E,KNOLL E.Clock generation and distribution for Intel Banias mobile microprocessor[C]//

      Proceedings of the Symposium on VLSI Circuits Digest of Technical Papers,2003:17-20.

      [5] MOORE G E.Cramming more components onto integrated circuits[J].Proceedings of the IEEE,1998,86(1):82-85.

      [6] 李可生,楊博,徐天偉,等.基于QEMU的可重構(gòu)專(zhuān)用處理器模擬器實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2016,37(5):1335-1339.

      [7] 懷進(jìn)鵬,李沁,胡春明.基于虛擬機(jī)的虛擬計(jì)算環(huán)境研究與設(shè)計(jì)[J].軟件學(xué)報(bào),2007,18(8):2016-2026.

      [8] 崔磊,顏軻.軍用嵌入式仿真技術(shù)的體系結(jié)構(gòu)研究[J].電子設(shè)計(jì)工程,2011,19(12):190-192.

      [9] 劉春龍,王洋,申彪.多處理器嵌入式軟件的全數(shù)字仿真測(cè)試平臺(tái)開(kāi)發(fā)技術(shù)[J].航天控制,2018,36(4):72-76.

      [10] 李永際.計(jì)數(shù)器在時(shí)鐘電路設(shè)計(jì)中的應(yīng)用[J].電子技術(shù),2022,51(7):266-267.

      收稿日期:2025-02-12

      作者簡(jiǎn)介:郭攀(1985—),男,陜西人,工程師,研究方向:機(jī)載計(jì)算機(jī)軟件。

      猜你喜歡
      虛擬仿真
      機(jī)械電子專(zhuān)業(yè)課程的網(wǎng)絡(luò)教學(xué)與實(shí)驗(yàn)
      面向復(fù)雜工程問(wèn)題的計(jì)算機(jī)人才創(chuàng)新能力培養(yǎng)體系研究
      高職證券專(zhuān)業(yè)虛擬仿真實(shí)訓(xùn)應(yīng)用研究
      東方教育(2016年4期)2016-12-14 07:51:43
      虛擬仿真在飛機(jī)維修實(shí)訓(xùn)教學(xué)中的應(yīng)用
      祖國(guó)(2016年20期)2016-12-12 20:17:28
      中職畜禽解剖課程虛擬仿真實(shí)訓(xùn)教學(xué)資源的建設(shè)與應(yīng)用
      探究高中物理虛擬仿真實(shí)驗(yàn)教學(xué)
      建筑基礎(chǔ)施工虛擬仿真實(shí)訓(xùn)系統(tǒng)的研究
      東方教育(2016年16期)2016-11-25 03:52:12
      淺析虛擬仿真技術(shù)在海軍院校教學(xué)中的應(yīng)用
      虛實(shí)結(jié)合和科教融合的計(jì)算機(jī)實(shí)驗(yàn)教學(xué)體系
      數(shù)字積分法插補(bǔ)仿真實(shí)驗(yàn)教學(xué)系統(tǒng)開(kāi)發(fā)
      科技視界(2016年18期)2016-11-03 22:03:32
      宣恩县| 淄博市| 卓资县| 繁峙县| 南漳县| 扎鲁特旗| 汽车| 黄平县| 永济市| 云和县| 木里| 太谷县| 沭阳县| 都兰县| 辉县市| 永胜县| 北京市| 饶河县| 正宁县| 兴和县| 林西县| 华宁县| 临朐县| 章丘市| 黄陵县| 伽师县| 江孜县| 山阳县| 定日县| 昌都县| 榆林市| 科技| 南昌市| 阿荣旗| 井冈山市| 吴旗县| 嘉义市| 屏山县| 溧阳市| 怀柔区| 新昌县|