TW200426594A - Method for dynamically arranging an operating speed of a microprocessor - Google Patents

Method for dynamically arranging an operating speed of a microprocessor Download PDF

Info

Publication number
TW200426594A
TW200426594A TW092123664A TW92123664A TW200426594A TW 200426594 A TW200426594 A TW 200426594A TW 092123664 A TW092123664 A TW 092123664A TW 92123664 A TW92123664 A TW 92123664A TW 200426594 A TW200426594 A TW 200426594A
Authority
TW
Taiwan
Prior art keywords
microprocessor
memory
control device
buffer control
patent application
Prior art date
Application number
TW092123664A
Other languages
English (en)
Other versions
TWI242718B (en
Inventor
Li-Chun Tu
Hung-Cheng Kuo
Ping-Sheng Chen
Original Assignee
Mediatek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mediatek Inc filed Critical Mediatek Inc
Priority to TW092123664A priority Critical patent/TWI242718B/zh
Priority to US10/709,765 priority patent/US20040243872A1/en
Publication of TW200426594A publication Critical patent/TW200426594A/zh
Application granted granted Critical
Publication of TWI242718B publication Critical patent/TWI242718B/zh
Priority to US11/673,598 priority patent/US20070150648A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

200426594 五、發明說明(1) 發明所屬之技術領域 本發明提供一種藉動態調整一微處理器 (Microprocessor)或微處理器模擬裝置(Microprocessor Emulator)之操作速度(Operating Speed),以存取至少 一程式記憶體的方法。 先前技術 隨著數位時代的演進,為因應使用者的需求激增,數位 資料的提取、傳輸、儲存、運用、與顯示的速度及正確 性必須不斷隨之增強,而其中與資訊系統的效能關係最 劇烈的,即是處理器與相關記憶體的存取運作。在習知 技術中,當一微處理器(Micro-processor)向一程式記憒 體要求提出資料(程式碼)時’也就是微處理器要存取程 式記憶體時,必須發出對應於所需資料(程式碼)之存取 位置及其他控制訊號,而程式記憶體(如唯讀記憶體 ROM、快閃記憶體f 1 ash等等)必須在收到微處理器所發 出之存取位置及相關控制訊號後的一定時間内,讓所^ 之程式碼由微處理器讀走。請參閱圖一,圖一為習知二 微處理器1 〇存取一程式記憶體1 2的架構示意圖。於圖_ 中,微處理器10對程式記憶體12發出一存取位址(Acee Address )以及一控制訊號,而程式記憶體12在收到此存SS 取位址及控制訊號後,傳回對應之一數位資料(程式碼子
第7頁 200426594
五、發明說明(2) 至微處理器1 0。
在評估一個記憶體的f能時,最重要的便是其存取的時 間與速度。從微處理器發布存取位址及相關指令,記憶 體取得存取位址資料,至記憶體傳回對應之數位資^ ^ 微處理器,最後到微處理器確實接收到所欲之數位資料 並完成資料分析為止’整個程序所花的時間可稱為記 憶體之完整的一讀取週期,假設記憶體的讀取週期是 6 0 n s (毫微秒),這便意味著完成上述的程序所需的時間 疋6 0 n s。請繼續參閱圖一習知實施例,若微處理器1 〇與 程式記憶體1 2之間一個完整的讀取動作包含有四個操作 步驟:a·微處理器10發出存取位址、b·等待程式碼由程 式記憶體1 2回傳、c ·程式碼分析、d ·由微處理器1 〇發出 新的存取位址,以現行一個具有時脈頻率3 3 Μ Η z的8 0 5 1系 列之晶片(1C)為例,若設計四個時脈週期(3Ons*4 = 120ns)為一個讀取週期,意即,程式記憶體12必須在 iSOns的時間内完成一個完整的讀取動作,包括上述a.至 d ·四個操作步驟,若程式記憶體1 2無法在一個讀取週期 内完成上述所有步驟,則可能發生資料流失、阻塞、程 式碼無法正常執行等不良效應。 因此,程式記憶體1 2的速度必須要達到一定要求,才能 讓微處理器丨〇順利存取並執行程式記憶體丨2中的程式 碼。如此一來,存取速度不快但可因此省卻接腳數(p i n
200426594
Count)的使用及佔有較少系統資源的記憶體, 快閃記憶體(Serid Hash)等,則在上述f知技二 構下’無法應用於現今高速的微處理器系統中。 :、 以一動態隨機存取記憶體(DRAM)而言,在多工的’ 於時序的控制上亦必須要精準’才能確保存取^的^ = 的完整和正確性。若能將此些成本低廉、架構簡易的記 憶體與現今愈加南速的微處理器系統加以配合運用,對 於系統資源的節省與產品的價格競爭力必有&著的提、 昇。 * 另外,微處理器系統的運作與模擬其實是同一回事,一 個典型的模擬程序應該要能真實反映原本的系統設計, 藉由模擬找出實際操作時可能會遇到的問題並加^ ^ 錯。因此,在一個完整的微處理器系統的發展成型之過 程中’一内嵌式處理器模擬器(In —Circuit Emulatoi*⑽ 加入是極為重要的一環。簡單來說,内嵌式處理器模擬 器I CE是一個用來模擬微處理器電路的硬體設備,外接 於原有的微處理器系統,可作為一些未設置有除錯線路 的微處理器之擴充,以便讓系統開發商或是程式設計師 可以對微處理器系統之軟/硬體做模擬除錯的動作。請參 閱圖一’圖一為習知技術利用一内後式處理器模擬器2 4 模擬一微處理器系統2 0的示意圖。圖二中包含了晶片2〇 (微處理器系統)、内嵌式處理器模擬器24、一程式記憶 體22、以及一外接式(External)時脈產生器26。請回
第9頁 200426594
對照圖一,此時内嵌式處理器模擬器24即取代原本晶片 2 0中微處理器之功能,模擬晶片2 〇 (其中包含有圖一中之 微處理器1 0 )於實際操作時的情形。在實際實施時,目前 一般的内嵌式處理器模擬器2 4的接腳設計會與其要模擬 的微處理器一樣,方便把内嵌式處理器模擬器2 4直接插 在原來的微處理器插槽上,再利用軟體的配合以控制整 個内嵌式處理器模擬器2 4的運作。在本習知實施例中, 内肷式處理器模擬器24的操作時脈(〇perating ci〇ck)是 由外接式時脈產生器2 6提供,與被測試的晶片(微處理器 系統2 0 )無關。程式記憶體2 2提供内嵌式處理器模擬器2 4 運作所需之指令(Instruct ion),内嵌式處理器模擬器24 對被測的晶片長:供存取位址(A c c e s s A d d r e s s )以及相關 之控制訊號等’而被測試之晶片則依據存取位址以及相 關控制訊號’傳回對應之數位資料至内嵌式處理器模擬 器2 4。藉由上述概略的運作,即可例用内嵌式處理器模 擬器2 4控制被測晶片的運作。 然而,無論是使用内嵌式處理器模擬器24,或者是透過 現行的一些模擬軟體,有時仍無法模擬出微處理器系統 2 0真實的狀態。例如在動態即時(Real—Time)反應的工作 情形下,時脈的變動、中斷(Interruption)、或暫停 (Suspension)是時常可能發生的情況,而若要如上面所 述’將成本低廉、架構簡易的慢速記憶體(例如串列式快 閃記憶體)與高速的微處理器系統2 〇配合運用,時脈變
200426594 五、發明說明(5) 動、中斷或暫停運作等的程序更是需要納入考量。習知 技術的困窘之處在於,一般的(外接式)時脈產生器2 6很 難模擬這些動態的運作情形,在無從模擬許多真實情況 的處境下,更是遑論將慢速記憶體與高速的微處理器系 統2 0配合運用的可能性。 發明内容 本發明的主要目的在於提供一種藉動態調整一微處理器 (Microprocessor)或微處理器模擬裝置(Micr〇proCessor E m u 1 a t 〇 r )之操作速度(〇perating Speed),以存取至少 一記憶體的方法。 以下為本巧明之一實施例。在此,藉調整操作時脈以調 整巧,裡器之執行速度。我們在一微處理器系統中設置 一緩衝控制裝置,輸出一操作時脈至微處理器,並由記 憶體中ί續不間斷的讀取一定數量的資料(程式碼)。當 微處^ Is,要資料時,檢查緩衝控制裝置中是否存有微 處理器所需的程式碼,若有,微處理器則直接從緩衝控 !?,置f存取’若沒有,緩衝控制裝置會將操作時脈掩 f imark)掉’而微處理器會因為操作時脈的消失,而暫 ,丨光σ偟/ 並保留其現有之狀態。在程式記憶體搜尋 5二3 ί微處理器所需的程式碼後,緩衝控制裝置再恢 復呆日、脈的輪出。如此一來,即可達成動態控制操作
200426594
時脈,以大幅降低程式記憶體所須之存取速度 在本發明中,我們另提出 擬裝置(Microprocessor 徵,其係利用將此微處理 裝置,而緩衝控制裝置輸 置,以操作此微處理器模 制裝置可經由判斷微處理 是否位於緩衝控制裝置中 擬本發明利用緩衝控制裝 記憶體的情形。如此一來 Condition),或於可變動 裝置都可正確地模擬出微
一種可動態調整一微處理器模 Emulator )之操作時脈的技術特 器模擬裝置電連於一缓衝控制 出操作時脈至微處理器模擬裝 擬裝置。如此一來,該緩衝控 器模擬裝置所發送之存取位址 ’來動態調整操作時脈,以模 置使一微處理器存取一慢速之 ’即使於不同的跳躍狀態(jump 之操作時脈下,微處理器模擬 處理器的效能。 本發明之目的為提供一種利用一緩衝控制装置使一微處 理器(Micro-processor)#取至少一記憶體的方法該記 ,體儲存有複數筆數位資料,該方法包含有(&)使用該緩 衝?制裝5輸出一操作時脈(〇perat ing Clock)至該微處 理器,以操作該微處理器;(b)使用該緩衝控制裝置讀取 儲存於该§己憶體中之預定數目筆數位資料;(c )使用該微 處理器由該緩衝控制裝置中讀取所需之至少一數位資 料;(d)於步驟(c)中,當該微處理器所需之該數位資料 位於該緩衝控制裝置中時,使用該微處理器讀取位於該 緩衝控制裝置中之該數位資料,並繼續使用該緩衝控制
第12頁 200426594 五、發明說明(7) 裝置輸出該操作時脈至該微處理器;(e )於步驟(c )中, 當該微處理器所需之該數位資料係非位於該緩衝控制裝 置中時,使用該緩衝控制裝置停止輸出該操作時脈,以 暫停該微處理器之操作;以及 (Ο於進行步驟(e ) 後,將該微處理器所需之該數位資料由該記憶體傳送至 該緩衝控制裝置以及該微處理器,並使用該緩衝控制裝 置恢復輸出該柄作時脈,以使該微處理器讀取該數位資 料。 、 本發明之另一目的為提供一種用來動態調整一微處理器 模擬裝置(Microprocessor Emulator)之操作時脈 (Operating Clock)的方法,該微處理器模擬裝置係電連 於一微處理器系統(Microprocessor System),該微處理 裔系統包含 '一緩衝控制裝置’该方法包含有(a )使用該微 處理器模擬裝置發送一存取位址(Access Address)至該 緩衝控制裝置;(b )於步驟(a )中,當該存取位址位於該 緩衝控制裝置中時,使用該緩衝控制裝置輸出該操作時 脈至該微處理器模擬裝置,以操作該微處理器模擬褒 置;以及(c )於步驟(a )中,當該存取位址係非位於該緩 衝控制裝置中時,使用該緩衝控制裴置停止輸出該操作 時脈至該微處理器模擬裝置,以暫停操作該微處理器模 擬裝置。 ' 實施方式
第13頁 200426594 五、發明說明(8) 在此介紹本發明一較佳實施例,此方法係靡用一 制裝置以提升存取資料速度。此緩衝控制^置緩衝控 微處理器執行速度控制裝置^^^^…“^卜利用一 operating-speed controller)替換。下述使 的實施例,僅為本發明一較佳實施方式。 後衝裳置 請參閱圖三,圖三為本發明之一實施例的示意 之架構包含一緩衝控制裝置38、一微處理器(Micr圖三 pr〇CeSS〇r)30, 一記憶體32,記憶體32中^存 數位資料。與圖一習知實施例對照可知,本發明筆 架構仍是利用微處理器30存取記憶體32,但在存取基本 程中,由於本發明之記憶體32係期以一慢速記憶 $過 串列式快閃記憶體)完成,而於微處理器3 〇仍為高二= 的情形下,為避免資料在傳輸時逸失或阻塞,我們於作 實施例中讓微處理器3 0透過緩衝控制裝置3 8來間接存 記憶體32,並配合上本發明所揭露之方法技術特徵, 確保微處理器3 0正確無誤地存取較慢速的記憶體3 2。 實際實施時,記憶體可為一串列式快閃記憶體(s e r丨&工 F 1 a s h )、快閃記憶體(F 1 a s h)、一動態隨機存取記憶體 (DRAM)、一靜態隨機存取記憶體(SRAM)、或一唯讀記憶 體(ROM)等。 於本實施例中,微處理器3 0不直接由記憶體3 2索取所需
200426594 五、發明說明(9) 的數位資料,而是預先由緩衝控制裝置38連續讀取位於 記f體3 2中複數筆數位資料,將此複數筆數位資料存放 入,衝控制裝置38中,當微處理器30需要數位資料時, 毛送要求訊息至緩衝控制裝置3 8,直接從緩衝控制裝 置!8中存取。由於本實施例中,緩衝控制裝置38與微處 理器3 0之間所具有之資料存取速率大於記憶體3 2與緩衝 控制裝置38之間的資料存取速率,因此,只要緩^控制 裝置38的存取速度能符合微處理器3〇對資料存取速^之 要求,記憶體3 2則可以用較慢速的記憶體3 2完成。以承 襲前述8 0 5 1系列的微處理器3〇為例,若其讀取週期設計 ,四個時脈週期(1 2 〇 n s = 3 0 n s * 4 ),亦即微處理器3 〇以四 週期完成一個完整的讀取動作,若完整的讀取動 =仍$含四個操作步驟,其中一個步驟為記憶體32的存 Ϊ ;,餘三曰個步驟係關於數位資料的處理(如程式碼分析 I W疋說,,其中一個時脈為相關於存取記憶體3 2的 ί作,另外三個時脈用來處理數位資料。所以在一個讀 週期内,當微處理器30在處理所接收到之數位 =,記憶體32其實會有部分時間空置。因此,藉由緩衝 38的設置與運作,可使用存取速度為原來的四 :产二:=32來存放數位資料。若記憶體32的存取 之一,甚至可以緩慢地填滿緩衝控 ,裝$ 38,而無系擔心資料壅塞的情況。因此,本發明 3口2: ί衝38的技術特徵,可使所需要的記憶體 W之存取速度大幅下降。
200426594 五、發明說明(ίο) 請繼續參閱圖三,螵榛讼& # Ι(〇ρ__ Λ 8輸出一操作時脈 丨運作,咅gp,A +微處器30,以控制微處理器3〇的 建作 W即备知作時脈停止時,矜虛採哭q⑽n u I會隨之暫停。在實際運作^ ^微,理裔30的運作也 常有跳躍。‘P)的以作微處理器3〇之程式中 I存有所需的數位資ί作此裝置38中不一定 動態調整此操作時‘,以二=緩衝控制裝置38 U夂朗闰no因Γ以動態控制微處理器30的運作。 應於圖三實施例,太眚竑也丨士 彳』之不心圖。對 程式記憶體32,而= ; = 係為-慢速之 料為複數筆裎,踩fp 憶體32中之複數筆數位資 料為複數筆私式碼(programming code)。緩二 38為一先進先出式(FIF〇)儲存架 而 ^ ^ 係於一起始位址(Starting λ μ 及辦役制裝置38 連續不間斷地讀取預定數目筆程X C體32中 要程式碼而直接從緩衝控制裝置38中存“ I 30會先發送對應於該程式碼之一存取位址(A f ^里益 微處理裔30所送出之存取位址是否位於其 == 制裝置38已存有微處理器3〇要求的程式碼 30直接由緩衝控制裝置38發送該所需之心”: 控制裝置38中沒有微處理器3〇要求的程式碼^如衝 器3〇正執行含有跳躍狀態(Jump c〇nditi 處理 則緩衝控制裝置38會停止輸出操作時脈, ), 第16頁 200426594
並保留現有 碼的存取位 收到存取位 程式碼填入 衝控制裝置 理器3 0讀取 處理器3 0可 含有跳躍狀 時脈,程式 體3 2完成,
3 0會因為操作時脈的消失,而暫時停止運作 狀態。在同一時刻,微處理器3 〇將對應程式 址傳送到程式記憶體32,在程式記憶體32接 =後’會搜尋並回傳搜尋到的程式碼,將該 緩衝控制裝置3 8及傳予微處理器3 0,此時緩 3/再將微處理器3〇的操作時脈釋放,讓微處 &式碼。藉由本實施例中之架構及方法,微 ,與慢速之程式記憶體3 2配合運用時,執行 ,的程式,再者,經由此可動態控制的操作 記憶體32甚至可以使用速度更慢的傳統記憶 如串列式§己憶體(Serial Memory)。 $本發明之技術特徵中,讓緩衝控制裝置38停止輸出操 作f脈的方法是採用將操作時脈掩蓋(Mark)的方式,並 於緩衝控制裝置3 8中設置一掩蓋標記訊號來達成。請參 閱圖五,圖五為掩蓋標記訊號、併同圖四中之操作時 脈三存取位址、及程式碼之時序圖。請見圖五,當微處 理器30所需之存取位址A2(對應於程式碼C2)不位於緩衝 控制褒置3 8中時’將掩蓋標記訊號提昇至一預設之電 位:以掩蓋掉此操作時脈,此時微處理器3 〇保留其現有 狀態(存取位址A 2 )。當微處理器3 0所需之程式碼C 2由程 ,記憶體3 2回傳至緩衝控制裝置3 8及微處理器3 0時,掩 蓋標記訊號會回復至一原先預設之電位,以恢復操作時 脈之輸出,使微處理器3 〇繼續運作。由前述可知,掩蓋
第17頁 200426594 五、發明說明(12)
標記訊號之電位躍起前緣代表了微處理器3 0所欲之存取 位址(與對應之程式碼)並未位於緩衝控制裝置3 8中,而 掩蓋標記訊號之電位落下後緣之時點,則代表了微處理 器3 0所需之存取位址(與對應之程式碼)已於程式記憶體 3 2中找到並回傳的時刻。因此,再次強調,藉由本發明 「緩衝控制裝置3 8合併動態調整操作時脈之方法」的技 術特徵,可以順利的存取較慢速的程式記憶體3 2,例如 串列式快閃記憶體(S e r i a 1 F 1 a s h ),而對於頻寬並不保 證隨時足夠的動態隨機存取記憶體(DR AM )或唯讀記憶體 (R0M)’也可以用同樣的機制加以存取,確保微處理器3 〇 所得到資料的正確性。 。 綜上所述,本發明利用一緩衝控制裝置,動態調整一微 處理器之操作時脈,以使微處理器存取一記憶體的方法 可參閱圖六,圖六為本發明一方法實施例之流程圖,包 含有下列步驟: 步驟1 0 0 :開始; 步驟102:使用緩衝控制裝置輸出操作時脈至微 以控制微處理器之操作;
:驟二::-Λχ緩衝控制裝置讀取儲存於記憶體中之預定 數目筆數:广於圖五實施例中,緩衝控制裝置會於疋 —起始位址處,由記憶體中連續讀取該預定數目筆程式 碼資料, 步驟1 0 6 :使用微處理器由緩衝控制裝置中讀取所需之至
200426594
少一 $位資料,並由緩衝控制裝置判斷微處理器所需之 數位資料(對應之存取位址)是否位於緩衝控制裝置;, ^是,則進行至步驟11 2 ;若微處理器正執行含有跳躍狀 態(Jump Condi t ion)之運作,使得緩衝控制裝置中沒 微處理器所需的數位資料(對應之存取位址),則進^ + 驟 108。 、’y 步驟1 0 8 :使用緩衝控制裝置停止輸出操作時脈,以暫^ 該處理器之操作(將一掩蓋標記訊號提昇至一預設之高& 位)並保留現有狀態。同時,微處理器將對應於所需=數 位資料的相關訊息(對應程式碼資料的存取位址)傳送 記憶體; X ^ 步驟1 1 0 :在記憶體接收到數位資料的相關訊息(對應程 式碼資料的存取位址)後,會搜尋並回傳搜尋到的數"位1次 料(程式碼),將該數位資料(程式碼)填入緩衝控制裝置貝 及微處理器,此時緩衝控制裝置再將微處理器的操作 脈釋放(將掩蓋標兄訊號回復至原先預設之低電位),讓 微處理器繼續運作; - " 步驟1 1 2 :繼續進行正常的資料讀取,也就是使用微處理 器繼續由緩衝控制裝置中讀取所需之數位資料(程式 碼),並遞迴至步驟1 0 6作其餘每筆資料之判斷。 接下來,我們必須考量的是,在本發明上述所揭露之方 法及架構下,如何完成包含本發明技術特徵之微處理器 之模擬運作。由於微處理器的運作與模擬是一體的兩
200426594
面,在微處理器系統 一微處理器模擬裝置 擬出原本的系統設計 亦包含於本發明主要 實施例及圖三、圖四 了能存取慢速的程式 體32之間額外設置一 制裝置3 8輸出之操作 控制裝置38内沒有微 將微處理器3 0暫停, 式碼資料。如此一來 脈是(動態的)時有時 2 0模擬裝置無法模擬 發明中緩衝控制裝置 成)配合一慢速記憶 寺之情況。 發展成型的階段,如何利用外加之 (Microprocessor Emulat〇r)真實模 於實際操作時可能會遇到的問題,、 之技術特徵。請回頭參照圖二習知 之本發明實施例,本發明之架構為 記憶體,於微處理器3 0及程式記憶 缓衝控制裝置38,且利用此緩衝控 時脈動態控制微處理器3 0,當緩衝 處理器3 0所需要的程式碼資料時, 並等待程式記憶體3 2提供所需之程 ,由於微處理器3 0所接收的操作時 無,如圖二習知技術中之微處理器 出這種動態情形,也無法模擬出本 38(以一先進先出式儲存架構FIF〇完 體3 2 (如一串列式快閃記憶體)運作 請參閱圖七,圖七為本發明另一實施例之示意圖。圖七 中包含了一緩衝控制裝置5 8以及一微處理器模擬裝置 54,緩衝控制裝置58係設置於一微處理器系統5〇中,而 緩衝控制裝置5 8與微處理器模擬裝置5 4相互電連。實際 上,若與本發明前述圖三及圖四實施例相對照,微處理 器模擬裝置5 4即對應於圖三、圖四中之微處理器3 0,具 備相近之功能。為使微處理器模擬裝置54能模擬測試出
五、發明說明 具有本發 5 8係提供 該微處理 中是否原 執行模擬 位址至此 裝置58中 處理器模 作,而當 衝控制裝 置5 4,以 用緩衝控 器模擬裝 作,正確 5 0° (15) 明技術 一操作 器模擬 先即儲 之運作 緩衝控 時,緩 擬裝置 此存取 置5 8就 暫停操 制裝置 置54, 模擬出 特徵之微處 時脈至該微 裝置5 4之運 存有一定數 時,微處理 制裝置5 8, 衝控制裝置 5 4,以維持 位址並非位 會停止輸出 作微處理器 5 8提供可動 即可動態控 具有本發明 理器系 處理II 作。無 量之位 器模擬 若此存 5 8會繼 微處j里 於緩衝 操作時 模擬裝 態調整 制微處 技術特 統5 0,緩衝控制裝置 模擬裝置54,以控制 論於緩衝控制裝置5 8 址(Address)資料,在 裝置54會發送一存取 取位址位於緩衝控制 續輸出操作時脈至微 器模擬裝置5 4之運 控制裝置58中時,緩 脈至微處理器模擬裝 置5 4。如此一來,利 之操作時脈予微處理 理器模擬襞置5 4之運 徵之微處理器系統 於模擬的過程中,I脸 58停止_ Ψ π ^ < 了將本實施例設計為當緩衝控制裝置 經㈡以暫停微處理器模擬裝置54之後, 會自動恢復於中1時脈週期後,緩衝控制裝置58就 微處理器模‘ Ϊ :=時脈至微處理器模擬裝置54,恢復 試的過程,、緩i押劍二j作。此時,由於是純粹模擬測 要,倘若镑褕狄二ΐ裝置5 8是否連接有一記憶體並不重 料的慢速圮# ^ ^ 58電連至一儲存有複數筆數位資 速°己隐體,則其架構就幾乎等同於本發明圖三及 200426594 五、發明說明(16) 圖四之實施例。請參閱圖八,圖八為圖七之一詳細實施 例的示意圖。緩衝控制裝置5 8係為一先進先出式儲存架 構,並電連至一較慢速之記憶體5 2,此記憶體5 2可為一 串列式快閃記憶體(S e r i a 1 F 1 a s h)、一動態隨機存取記 憶體5 2、或者一唯讀記憶體5 2等等,而微處理器模擬裝 置5 4係為一内嵌式處理器模擬器24(In-Circuit Emulator)。緩衝控制裝置58會由一起始位址處,從記憶 體5 2中連續讀取預定數目筆數位資料及其對應之存取位 址,預先存於緩衝控制裝置5 8中,當微處理器模擬裝置 5 4所傳送之該存取位址位於緩衝控制裝置5 8中時,即使
用該緩衝控制裝置58傳送對應於此存取位址之數位資料 至微處理器模擬裝置5 4,若該存取位址並非位於緩衝控 制裝置5 8中時(可模擬微處理器3 〇執行含有跳躍狀態 (Jump Condition)之運作狀 對應於該存取位址之數位資 控制裝置5 8再傳送搜尋到之 置54,同時恢復輸出操作時 裝置5 4亦電連於記憶體5 2, 存取位址之數位資料後,可 器模擬裝置54,而無需透過 況),記憶體5 2會搜尋並回傳 料至緩衝控制裝置5 8,缓衝 數位資料至微處理器模擬裝 脈。當然,若微處理器模擬 記憶體5 2在搜尋到對應於此 直接回傳數位資料至微處理 緩衝控制裝置5 8。
請注意,於本實施例中,緩衝控制裝置58仍 作時脈掩蓋(Mark)的方式以停止輸出操作時脈,此^祆 於緩衝控制裝置58中必須設置一掩蓋標記訊號來達成。
200426594
五、發明說明(17) 如同圖四及圖五中所描述之技術特徵,當微處理器模擬 裝置5 4所需之存取位址不位於緩衝控制裝置5 8中時,緩 衝控制裝置58内部會將掩蓋標記訊號提昇至一預設之電 位,以掩蓋掉操作時脈。當經過預定數目之時脈&期 後,或者數位資料開始由記憶體52回傳至緩衝控制裝置 5 8及微處理器模擬裝置5摄’掩蓋標記訊號才會回復至 一原先預設之(低)電位,以恢復操作時脈之輸出,使微 處理器模擬裝置5 4繼續運作。 此外,在本發明之實施例中,緩衝控制裝置58與微處理 器模擬裝置54之間所具有之資料存取速率仍大於記憶體 5 2與緩衝控制裝置5 8之間的資料存取速率,用來模&在 慢速的^憶體5 2設置下,高速之微處理器3 〇與緩^控制 裝置5 8的配合運用。請繼續參閱圖八,微處理琴 置54電連至另一第二記憶體53,其係為一程式^己憶體广 可使用一靜態隨機存取記憶體(static random aeeess memory,SRAM)或是ROM完成,於第二記憶體53中 微處理器模擬裝置5 4運作所需之多個指令
Instruction)。當緩衝控制裝置58輸出操作 „置5㈣,此第二記憶體5 3會傳送相關至之微指處 7至微處理器模擬裝置5 4器,而當緩衝控制装置5 8暫你 輸出操作時脈至該微處理器模擬裝置54器時, 二 ,處理器模擬裝置54停止運作,無法接收由第二記 3傳送來的任何指彳。上述的程序及方法即非常近於 200426594 五、發明說明(18) ΪίίίΠ四之實施例。此外,該緩衝控制裝置58所 田】、ί時脈之頻率是可是實際情況調整變動的,或 仏連至一外接式時脈產生器5 6加以調整。綜合以 Υ可知’具有本發明技術特徵之微處理器模擬裝置 正確模擬出,具有本發明技術特徵之微處理器系 1在應用慢速記憶體52並於不同的跳躍狀態(Jump Condi t ion)下,動態調整之操作時脈對微處理器系統5〇 效能的影響。 於本發明中,我們首先提出一種新型之方法即架構,利 用设置一緩衝控制裝置於一微處理器與一記憶體之間, f據檢查於緩衝控制裝置中是否存有微處理器所需的資 料’輸出一可動態調整之操作時脈至微處理器以控制該 微處理器之存取運作,使得此較高速之微處理器3 〇能與 具有較低存取速度之記憶體(如一串列式快閃記憶體 f e r 1 a 1 F 1 a s h ))配合運用,節省接腳的使用、節省系統 資源、並提昇相關產品的價格競爭力。同時,我們另提 出了包含有此緩衝控制裴置以動態調整一微處理器模擬 裝置之操作時脈的方法,以準確模擬出本發明中當微處 理器、緩衝控制裝置、與慢速記憶體共同運作時的各種 情況。 以上所述僅為本發明之較佳實施例,凡依本發明申請專 利範圍所做之均等變化與修飾,皆應屬本發明專利之涵
200426594 五、發明說明(19) 蓋範圍。 ΙΙΙΒΙ 第25頁 200426594 圖式簡單說明 圖式之簡單說明 為習知一微處理器存取 移 式記憶體之架構的示意 圖 圖 圖 的示意圖。 圖三為本發明之—微處理葬透 記憶體之架構的示意圖。 圖四為圖三之一詳細實施例之示意圖 圖五為一掩蓋標記訊號、一 式碼之時序圖。 部作時脈 圖六為本發明一方法實施例 圖七為本發明一微處理器j=&圖。 模擬一微處理器系統的示意圖裝置利用一緩衝控制裝置 圖八為圖七之一詳細眘& ^ t 砰、·、田實靶例的示意圖。 圖式之符號說明 習知-内嵌式處理器模探器模擬一微處理器系統 過一緩衝控制裝置存取 存取位址、及程 10、12、 3 0 微處理器 20 > 24 26 38 > 22、32、52 (程式)記憶 5 0 微處理器系統 内嵌式處理器模擬器 外接式時脈產生器 5 8 緩衝控制裝置 體 200426594 圖式簡單說明 53 第二記憶體 5 4 微處理器模擬裝置 IHn

Claims (1)

  1. 200426594 六、申請專利範圍 1· 一種利用動態調整一微處理器(Micro-processor)之 操作速度使該微處理器存取至少一記憶體的方法,該方 法包含有: (a )若記憶體之資料尚未備妥,降低該微處理器的一執行 速度;以及 (b )若記憶體之資料備妥,讓該微處理器以一常速 (Normal speed)執行。
    2·如申請專利範圍第1項之方法,其中於步驟(a)中,降 低該微處理器的執行速度係指使該微處理器的執行速度 低於該常速,或完全暫停(Suspend)該微處理器。 3·如申請專利範圍第1項之方法,其中步驟(a)可利用一 外部電路調整一操作時脈完成,可利用一内含於該微處 理器之電路調整一操作時脈完成,亦可利用於指令間塞 入空轉才曰令(NOP·· No 〇perati〇n)或讓一程式計數器 (Program Counter)不變以完成步驟(a)。 其另包含一緩衝控制 4·如申請專利範圍第1項之方法 裝置,該方法包含有: (a )使用該緩衝控制裝置讀取儲存 目筆數位資料; 於該記憶體中之預定數
    置中讀取所需之數位 (b)使用該微處理器由該緩衝控 資料; 卫、
    第28頁 200426594
    =(C 1於步驟(b)中,當該微處理器所需之該數位資料位於 該緩衝控制裝置中時,使用該微處理器讀取位於該緩衝 控制裝置中之该數位資料,並繼續讓該微處理器維持常 速; (d )於步驟(b )中,當該微處理器所需之該數位資料係非 位於該緩衝控制裝置中時,降低該微處理器之操作速 度;以及 (e )於進行步驟(d )後,將該微處理器所需之該數位資料 由4 δ己憶體傳送至該緩衝控制裝置以及該微處理器,並 恢復該微處理器之操作速度,使該微處理器讀取該數位 資料。 5 ·如申請專利範圍第4項之方法,其另包含有: (f )於步驟(a )中,使用該緩衝控制裝置於一起始位址 (S t a r t i n g A d d r e s s )處,由該記憶體中連續讀取該預定 數目筆數位資料;以及 (g )於步驟(b )、( c )、及(d )中,使用該微處理器發送對 應於該數位資料之一存取位址(A c c e s s A d d r e s s )至該緩 衝控制裝置,以使該緩衝控制裝置判斷該微處理器所需 之該數位資料是否位於該緩衝控制裝置中。 6 ·如申請專利範圍第1項之方法,其中該記憶體係為一 程式記憶體,且儲存於該記憶體中之該數位資料係為程 式碼(Programming Code)。
    第29頁 209 200426594 六、申請專利範圍 7·如申請專利範圍第1項之方法,1 串列式快閃記憶體(Serial Fla ;、記憶體係為一 (Flash)、一動態隨機存取記憶體、^ 5己憶體 取記憶體(SRAM)、或一唯讀記憶體((^mM))等了靜態^機存 置體中 裝憶其速 制記,取 控該率存 衝,速料 緩率取資 該速存二 中取料第 其存資該 ,料二於 法資第等 方一 1或 之第有於 項一具高 4 纟有間係 第 圍 範 利 專 請 申 如 該該第。 8.與與該率 具之率 間置速 之裝取 器制存 理控料 處衝資 微緩一 9如申,專利範圍第4項之方法,其中該緩衝 係為一先進先出式(FIF0)儲存架構、一動態隨機存取記 憶體(DRAM)、一靜態隨機存取記憶體(SRAM)等等。 1 0 · —種利用動態調整一微處理器模擬裝置 (Microprocessor Emulator)之操作速度使該微處理器模 擬裝置存取至少一記憶體的方法,該方法包含有: (a )若記憶體之資料尚未備妥,則降低該微處理器模擬裝 置的一執行速度;以及 (b)若記憶體之資料備妥,則讓該微處理器模擬裝置以一 常速執行。
    21Θ 第30頁 200426594 六、申請專利範圍 1 1 ·如申請專利範圍第1 〇項之方法,其中其中於步驟(a) 中,降低該微處理器模擬裝置的執行速度係指使該微處 理器模擬裝置的執行速度低於該常速,或完全暫停 (Suspend)該微處理器模擬裝置。 2 ·如申請專利範圍第1 〇項之方法,其中步驟(a )可利用 _外部電路調整一操作時脈完成,可利用一内含於該微 處理器模擬裝置之電路調整一操作時脈完成,亦可利用 於和令間塞入空轉指令(NOP: No Operation)或讓一程 式計數器(Program Counter)不變以完成步驟(a)。 1 3 ·如申清專利範圍第1 〇項之方法,該微處理器模擬裝 置係電連於一微處理器系統(Micr〇pr〇cess()r System), 其另包含有一緩衝控制裝置,該方法包含有: 使用該微處理器模擬裝置發送一存取位址 Address)至該緩衝控制裝置; 於^驟(a)中,當該存取位址位於該緩衝控制裝置 ,〈讓^微處理器模擬裝置維持常速操作;以及 於步驟(a)中’當該存取位址係非位於該緩衝控制 置中時,降低該微處理器模擬骏置之操作速度。 14.如申請專利範圍第13項之方法,豆 進行步驟(c)後,於一預定數目之拄H/、另匕3有· (d)於 .^ _ 力欠口、 預疋 之時脈週期後,恢德兮他 處理裔模擬裝置之操作速度。 μ微
    200426594 六、申請專利範圍 1 5 ·如申請專利範圍第1 〇項之方法,其中該微處理器模 擬裝置係電連至一第一記憶體,該第一記憶體傳送至少 一指令(Instruct ion)至該微處理器模擬裝置器。 1 6 ·如申請專利範圍第1 5項之方法,其中該第一記憶體 係為一靜態隨機存取記憶體(static random access memory,SRAM)、快閃記憶體(Flash)、一動態隨機存取 記憶體(DR A Μ)或其他型式之記憶體。 1 7 :如申請專利範圍第1 3項之方法,其中該緩衝控制裝 置係電連至一第二記憶體,該第二記憶體儲存有複數筆 數位資料’該方法另包含有: (e )使用該緩衝控制裝置讀取儲存於該第二記憶體中之預 定數目筆數位資料; (f )於步驟(b )中,當該存取位址位於該緩衝控制裝置中 時’使用該緩衝控制裝置傳送對應於該存取位址之數位 資料至該微處理器模擬裝置;以及 · j g )於進行步驟(c )後,將對應於該存取位址之該數位資 由该第二記憶體傳送至該緩衝控制裝置以及該微處理 器模擬裝置,並恢復該微處理器模擬裝置之執行速度。 1 8二如申請專利範圍第丨7項之方法,其中於步驟(^ )中, 3緩衝控制裝置係於一起始位址Address)
    212 第32頁 200426594 處 料 由/第一 °己憶體中連續讀取該預定數目筆數位資 19·如申請專利範 係為一程式記憶體 位資料係為程式石馬 圍第1 7項之方法,其中該第二記憶體 ’且儲存於該第二記憶體中之該等數 (Programming Code)0
    二mi:圍ί19項之方法’其中該第二記憶體 (¥] 彳、^閃兄憶體(Serial Flash)、快閃記憶體
    取$7# f二It隨機存取記憶體(DRAM)、一靜態隨機名 己隐體(SRAM)、或-唯讀記憶體(_)等。 2 1 ·如申請專利範 置與該微處理器模 率,該第二記憶體 料存取速率,其中 第二資料存取速率 圍第1 9項之方法, 擬裝置之間具有— 與該緩衝控制裝置 該第一資料存取速 其中該緩衝控制裝 第一資料存取速 之間具有一第二資 率係高於或等於該 ’其中該微處理器模 一外接式(External)
    f壯如申請專利範圍第1 〇項之方 1裝置之操作時脈之頻率係可利 時脈裝置加以調整。 其中該緩衝控制裝 、一動態隨機存取 ^ =申請專利範圍第η項之方法, 糸為一先進先出式(FIF〇)儲存架構
    213 200426594 六、申請專利範圍 記憶體(DRAM)、一靜態隨機存取記憶體(SRAM)等等。 2 4.如申請專利範圍第1 0項之方法,其中該微處理器模 擬裝置係為一内欲式處理器模擬器(I n C i r c u i t Emulator)0
    第34頁
TW092123664A 2003-05-29 2003-08-27 Method for dynamically arranging an operating speed of a microprocessor TWI242718B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW092123664A TWI242718B (en) 2003-05-29 2003-08-27 Method for dynamically arranging an operating speed of a microprocessor
US10/709,765 US20040243872A1 (en) 2003-05-29 2004-05-27 Method for using serial flash memory as program storage media for microprocessor
US11/673,598 US20070150648A1 (en) 2003-05-29 2007-02-12 Method for using serial flash memory as program storage media for microprocessor and related processing system thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW92114631 2003-05-29
TW092123664A TWI242718B (en) 2003-05-29 2003-08-27 Method for dynamically arranging an operating speed of a microprocessor

Publications (2)

Publication Number Publication Date
TW200426594A true TW200426594A (en) 2004-12-01
TWI242718B TWI242718B (en) 2005-11-01

Family

ID=33455757

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092123664A TWI242718B (en) 2003-05-29 2003-08-27 Method for dynamically arranging an operating speed of a microprocessor

Country Status (2)

Country Link
US (2) US20040243872A1 (zh)
TW (1) TWI242718B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113948134A (zh) * 2020-07-17 2022-01-18 华邦电子股份有限公司 存储装置及其输入输出缓冲控制方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743202B2 (en) * 2006-03-09 2010-06-22 Mediatek Inc. Command controller, prefetch buffer and methods for accessing a serial flash in an embedded system
US8996784B2 (en) * 2006-03-09 2015-03-31 Mediatek Inc. Command controller, prefetch buffer and methods for accessing a serial flash in an embedded system
US7502267B2 (en) * 2006-09-22 2009-03-10 Winbond Electronics Corporation Clock frequency doubler method and apparatus for serial flash testing
US20100268977A1 (en) * 2009-04-17 2010-10-21 Himax Media Solutions, Inc. Method and apparatus for accessing memory units

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623647A (en) * 1995-03-07 1997-04-22 Intel Corporation Application specific clock throttling
US5627867A (en) * 1996-02-29 1997-05-06 Analog Devices, Inc. Watchdog circuit employing minimum and maximum interval detectors
FR2772535B1 (fr) * 1997-12-11 2000-12-15 Micropross Interface de communication avec une carte a puce synchrone et dispositif equipe d'une telle interface
KR100281898B1 (ko) * 1998-07-21 2001-02-15 윤종용 데이터의 듀티 사이클을 보정하는 듀티 사이클 보정회로 및 그방법
US6999354B2 (en) * 2004-04-27 2006-02-14 Arm Physical Ip, Inc. Dynamically adaptable memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113948134A (zh) * 2020-07-17 2022-01-18 华邦电子股份有限公司 存储装置及其输入输出缓冲控制方法

Also Published As

Publication number Publication date
TWI242718B (en) 2005-11-01
US20070150648A1 (en) 2007-06-28
US20040243872A1 (en) 2004-12-02

Similar Documents

Publication Publication Date Title
CN102841837B (zh) 一种基于模拟器的软硬件协同验证方法及系统
US8180620B2 (en) Apparatus and method for performing hardware and software co-verification testing
Caldari et al. Transaction-level models for AMBA bus architecture using SystemC 2.0 [SOC applications]
US5771370A (en) Method and apparatus for optimizing hardware and software co-simulation
US6212489B1 (en) Optimizing hardware and software co-verification system
CN113076227A (zh) Mcu验证方法、系统和终端设备
CN101231589B (zh) 用于原位开发嵌入式软件的系统和方法
US9607120B2 (en) Implementing system irritator accelerator FPGA unit (AFU) residing behind a coherent attached processors interface (CAPI) unit
JP2017523489A (ja) プログラム可能な遅延を用いてダイナミックランダムアクセスメモリ(dram)コマンドを生成するメモリ物理レイヤインタフェースロジック
US10496422B2 (en) Serial device emulator using two memory levels with dynamic and configurable response
JP2008140405A (ja) 電子回路と制御プログラムとのコバリデーション方法
CN100476837C (zh) 一种支持随机指令测试的微处理器fpga验证装置
TWI570627B (zh) 使用先進先出之介面仿真器
WO2025081834A1 (zh) 一种数据传输方法、装置、电子设备及可读存储介质
CN115858092A (zh) 时序仿真方法、装置及系统
TW200426594A (en) Method for dynamically arranging an operating speed of a microprocessor
US9542513B2 (en) Multimode execution of virtual hardware models
CN1312583C (zh) 仿真装置和仿真方法
US10445218B2 (en) Execution of graphic workloads on a simulated hardware environment
US9898563B2 (en) Modeling memory in emulation based on cache
US20120191444A1 (en) Simulation device, simulation method, and computer program therefor
CN114757012B (zh) 可重构处理器系统的仿真方法、装置以及存储介质
CN102096607A (zh) 微处理器及其除错方法
Ko et al. Hardware-in-the-loop simulation for CPU/GPU heterogeneous platforms
CN111767220A (zh) 一种测试方法及装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees