TW405075B - Processor architecture scheme for implementing various addressing modes and method therefor - Google Patents

Processor architecture scheme for implementing various addressing modes and method therefor Download PDF

Info

Publication number
TW405075B
TW405075B TW087116582A TW87116582A TW405075B TW 405075 B TW405075 B TW 405075B TW 087116582 A TW087116582 A TW 087116582A TW 87116582 A TW87116582 A TW 87116582A TW 405075 B TW405075 B TW 405075B
Authority
TW
Taiwan
Prior art keywords
indirect addressing
addressing
virtual register
register address
processor
Prior art date
Application number
TW087116582A
Other languages
English (en)
Inventor
Sumit K Mitra
Joseph W Triece
Original Assignee
Microchip Tech 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 Microchip Tech Inc filed Critical Microchip Tech Inc
Application granted granted Critical
Publication of TW405075B publication Critical patent/TW405075B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138Extension of register space, e.g. register cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/35Indirect addressing

Description

A7 A7 經确部中央標準局员工消费合作社印聚 五、發明説明(1) 發明背景 爱31領域 本發明-般糊於處理^,更特定於__處理器架構設計 法其允許,、I由虛擬暫存器位址來做多種定址模式的編碼而 將處理器架構設計中直接可定址暫存器的數目達到最大。 先前拮爇說明 一般而言,處理器為中央處理單元(cpu)所存在的實體 並用來取出及執彳τ儲存的指令或微碼。某些處理器的範例有微控 制器微處理器’及數位信號處理器。每種型態的處理器對資料 做運算,其—般也參考為運算心此資料-般係儲存在暫存器或 記憶體空間中。 指令導引處理器的CPU執行特定運算以及辨識此一運算 之-或多個運算元。處理器提供不同的方式來定址—運算的資料。 ϋ些方式通常參考為定址模式。定址模式通常制在算術及邏輯 的運算及資料搬動的運算並可以用於來源運算元,目的運算元戈 同時兩者。 目前處理器架構設計的問題是要新增或改變定址模式特 別的困難。不大量地改變指令集組織,要改變或新增定址模式是 裝------—訂------線 i 、 ' (i?先閱讀%'?之"-意事項-"^^^本頁) 本紙張尺度顧 til® ( CNS ) A4iIiT( 21〇Χ297^>ίί;~ 經濟部中央標卑局貝工消费合作社印製 ~--^4〇5〇15 __ ηΊ 五、發明—·... — 不可能的。然而,卻不希望對指令集架構做改變,因為許多的工 具例如組合器及編譯器也將需要急劇的改變。 對才a々中又址模式編碼之傳統方法的另一個問題是直接 可疋址的暫存器數目會大量減少。例如,如果—指令字中有8個 位凡可用來指定一暫存器運算元,則可以直接定址到256個暫存 器。然而為了與其他的定址模式合併,則要拿掉8個位元中的一 個來做此用途,則現在只有128個暫存器可以直接定址。 在現有的處理n架構設計巾’其巾可以有#代的定址模 式編碼係透過控制暫存器”來做到,以便使直接可定址的暫存器 數目達到最大。然而’這樣做會產生另_個_,因為非直接定 址模式的“選擇”是靜態的(除非重新組態)並不會隨著指令而動態改 變。 因此’需要提供-改善的微控制器架構設計。此改善的 微控制器_設計必須可崎制者新增及改變定址模式 。此改 善的微控湘雜設計必彡轉可赠使用者基於指令來動態的改 變一指令上的定址模式。 發明摘要 根據本發明之-具體實例,本發明之—目的在提供一改 t--------.訂------線 t * (邻先間讀背面之注意事項^^寫本頁) (CNS)A4^A ( 210x2^^ Λ7 137 405075 五、發明説明(3) 善的微控制器架構設計。 本發明之另一目的在提俾— 改善的微控制器架構設計, 其可以讓使用者新增及改變定址模式。 發月之在3個目的在提供—改善的微控制器架構設 計,其可以讓制賴增及改變定址模式而使直接可紐的暫存 器數目達到最大。 本發月之再另個目的在提供前述對微控制器架構設計 的改善而維持基於指令來動態的選擇—指令上的定址模式的能 力。 較佳具體實例簡述 根據本發明之一具體實例,揭示一處理器架構設計,其 允許經由虛擬暫存器位址來做多種定址模式的編碼而將此處理器 架構設計中直接可定址暫存器的數目達到最大。此處理器架構設 計包含的步驟有:提供一讓處理器執行的指令集;在記憶體中建 立一間接定址指標;並在記憶體中建立一特定集合的虛擬暫存器 位址等於數個與間接定址指標結合的間接定址模式,其中每個虛 擬暫存器位址在存取時命令間接定址模式與間接定址指標一起使 用’藉之允許基於指令的動態選擇指令的定址模式之彈性。 本紙張尺度適用中國國家標準(CNS ) Λ4規#, ( 210X297公七"7 (邻先間讀1ST而之注意事項-(5-,¾寫本S ) .裝. 經潢部中央橾卑局貝工消费合作社印製 405075 Λ7 經滅部中央標準局只工消费合作社印« 五、發明説明(4) 根據本發明之另_具體實例,揭示—處理器架構設計, 其允許經由虛擬暫翻位址來做多種定址模式的編碼而將此處理 器架構設計中直接可定址暫存器的數目達到最大 。此處理器架構 ❸十利用巾央處理單凡來執行此指令。一記憶體連結到此cpu 以儲存資料。在記憶體中建立—指標暫存絲儲存在存取與指標 暫存器結合的位址時指令將要存取的位祕置。魅標暫存器結 合的_虛擬暫存驗祕置在存轉定位址位置之—時命令間 接定址模式無標㈣器—起仙,狀允許基於齡的動態選 擇指令的定址模式之彈性。 本發明之前述及其他目的’特色及優點將可從下面,更 特定的本發明具體實例的說明,如隨附圖示所說明的,而變得明 顯。 圖不簡述 圖1為描述先前技藝指令的典型編碼之簡單方塊圖 圖2為描述利用本發明之指令的編碼之簡單方塊圖 圖3為利用本發明之資料對應的簡單方塊圖。 較佳具體實例詳細說明 參考圖1,顯示將由一處理器所執行的典型先前技藝之 先 閱 讀 背 而 之 注 意 事 項 f 裝 訂 線 本紙張尺度適财:轉(CNS ) Λ4賴(210χ2θϋ 經"',部中央標率局員工消f合作社印製 405075
IP 五、發明説明(5) ~ ------.-------- 指令1〇。此指㈣包含複數個位元12。位元12通常被分㈣ 三個主要的欄位:⑴運算碼攔位14,(2)暫存器或資料位址搁位 16,及⑶定址模式攔位18。運算碼14為位元12的集合,其指 定要由處理H執行的特定運算。通常,有三種主要的運算型態= 算術及邏輯運算(也就是加,減,等等);⑵資料搬動運算;及⑶ 程式控制(例如,分支運算)。暫存器或資餘址欄位16指出運算 將對之執行的運算元(也就是資•有—或多個暫存器或資料位址 攔位16是可能的。例如’可能有—個來源位址爛位及一目的位址 搁位。 圖1中顯不的指令10為16位元寬的指令。指令1〇中 的第7個位元係用來選擇定址模式。如果第7個位元為零(〇),便 暗示著直接定址。因此位元<6:〇>形成一 7個位元的暫存器位址, 其可允許有128個暫存器。如果第7個位元為一⑴,則暗示著間 接定址。這種情形下’位元<6:〇>將資料指標位址以及指標遞增/ 遞減選項編碼。 在先前技藝中,此指令的8個位元係用來將“運算碼”編 碼。因而有8個位元留給位址暫存器的位置。利用這8個位元, 最多256個暫存器可適用於此結構中。然而,因為第7個位元係 本紙張尺度適用中國國家榡準(CNS ) Λ4現枋(210χΜ7ϋ 聚------*—訂------線 (MA尤間讀背而之注悫事項^i^本R ) A7 H7 405075 五、發明説明(6 用做定址模式位元來區分間接定址或是直接纽,只有128個暫 存器可以適用。因此可定址暫存器的數目因製作定址模式位元而 減少-半。再者’新增或改蚊址模式特_困難。不大量地改 變指令集_,要改變或新增定址模式是不可能的。然而,卻不 希望對指令錢構做任何改變,因為許多駐具例如組合器及編 澤Is也將需要急劇的改變。 一項對此定址模式位元的改善係藉實施於公司之 PIC17C42A微控制器中。在此指令編碼中,此暫存器位址為直接 定址的,除非匹配於特定位址位置(也就是十六進制的〇〇)的位址, 在該情ί兄下此位址為間接的。如果位址是十六進制的QQ,此暫存 器位址將來自於一指標暫存器。遞增或遞減指標暫存器的選項係 由控制暫存器決定。控制暫存器中的幾個控制位元將決定是否應 對指標值做事後自動遞增或事後自動遞減,或是此指標值應維持 不變 MICROCHIP TECHNOLOGY PIC17C42A 微控制器的 一個關鍵益處就是現在每個指令可存取完整範圍的256個暫存 器。只有此位址中的一個被保留來實現間接定址而不是一真實的 位址位置。然而,這項編碼設計的一個重大缺點是指標制存器的
本紙張尺度用巾 SHI:料(CNS > Λ4( 210X2^7* T ---------^------訂------^ - ' (对先閱讀背而之注意事項寫本頁) 經满部中央標卑局员工消费合作社印繁 經决部中央標孥局貝Η消t合作社印聚 405075 Λ7 ------ η 7 五、發明説明(7) 遞增/遞減選項是固定的並且由控制暫存器中的控制位元預先決 定。這些選項在每一指令上並非動態的而讓使用者對此遞增及遞 減選項做出選擇。 參考圖2,顯示的是要由本發明的處理器架構設計所執 行的指令20。指令20包含複數個位元22。位it 22通常分割為 —個主要欄位,(1)運算碼欄位24,其指示出將要執行的是那種变 感的運算’(2〉目的位元26,其指示出此處理H運算的結果要儲存 在那裡,以及(3)暫存器位址欄位28,其指示出指令2〇將對之運 算的暫存器或資料變數的位址。在本發明的較佳具體實例中,此 指令是16位元的指令。 參考圖3,資料指標暫存器36係在資料記憶體3〇中實 現此資料記憶體包含複數個位址位置32。在圓3中顯示的具體 實例中,此記憶體為直線化的4K記憶體,其分割成複數個頁34 , 其中每個頁34有256個位址位置32。資料指標暫存器36有一 或多個虛擬暫存器位址位置33保留在暫存器位置對應中。每個保 留的虛擬暫存器位址位置33在存取時將啟動間接定址模式。 目前有五種主要的定址模式:簡單的間接定址,自動事 後遞增的間接定址,自動事後遞減的間接定址,自動預先遞減的 f ^ ―)----…------ ^-----——it------^ - ' (詞先閱讀背面之注念事項-^¾寫本贯) 經濟部中央標牟局貞工消费合作社印聚 405075 Λ7 ____Η 7 五、發明説明(8) 間接定址’以及具偏差量的間接定址。在簡單間接定址模式中, 運算元的位址係放在資料指標暫存器36中。CPU 38將首先存取 此資料指標暫存器36來取得此位址並利用此位址來存取運算元^ 具自動遞增或是自動遞減的間接定址係為間接定址的形式,其中 資料指標暫存器36在資料存取前(也就是預先遞增或預先遞減)或 資料存取後(也就是事後遞增或事後遞減)來遞增或遞減。在具偏差 量的間接定址模式,運算元的位址係將偏差值與資料指標暫存器 36的内容相加來§十算。此偏差值可以是叙在指令中或是來自另一 個暫存器。在本具體實例中,此偏差值來自“w”暫存器,其係為 一累加器或是工作|暫存器。如前述,資料指標暫存器可以 在運算元存取之前或之後做遞增或遞減。 對於資料指標暫存器36所要實現的每個間接定址模式, 資料指標暫存器36將需要在資料記憶體3〇中的分別虛擬暫存器 位址位置33。在本發明的較佳具體實例中,需要五個虛擬暫存器 位址位置來實作出上面討論的這五個間接定址模式。然而,依據 資料指標暫存器36的使用方式,可實作額外的或較少的定址模 式。再者,可以在資料記憶體30中實作額外的資料指標暫存器%。 每個資料指標暫存器36有-或多個虛擬暫存器位址位置羽保留 ] 本紙张尺度適用中國國家榡率(CNS ) AUKM ( 210x?yT^/v"p--__ ---------裝-------訂------線 - * (¾先閱讀背而之注念事項>4^寫本頁) 經靖部中央標率局K工消费合作社印裝 -^405075 : 五、發明説明(9) '… 在暫存器位址對應中。在存取時,每個保留的虛擬暫存器位址位 置33將啟動結合之資料指標暫存器36的間接定址模式。每個資 料指標暫存器36為可讀取及可寫入的位址位置。在本發明的較佳 具體實例中,每個資料指標暫存器36為12個位元寬的指標,其 了以存取4K位元組長的記憶體區域。因此,每個資料指標暫存器 36被組織成兩個8位元寬的暫存器(高位元組及低位元組),其可 如對可4取及可寫入暫存器般的存取。因此,在本發明的較佳耳 體實例中,7個位址位置被用來實作一個具五種間接定址模式之 位元寬的資料指標器。 本發明將可雜-般目的暫存器之暫存器位址數目達到 最大。在利用本方法之較佳具體實例的指令編碼技術中,8個饭 元可用來定址資料記憶體或是暫存器β而這可允許最多達256個 暫存器。因為7個暫存器被用來實作不同間接定址設計,可以有 249個直接可定址暫存器。還可以新增額外的資料指標暫存器 而不至急劇的減少直接可定址暫存器的數量。相較於圖彳中描塊 之先前技藝範例,本發明大大的增加可定址暫存器的數量。 本發明可允許有新增或刪除間接暫存器的彈性。因為間 接暫存器並未編碼在指令本身_,但歸在特殊暫存器中,是可' 11
本紙張尺度適用中國國家榡隼(CNS 2Ι0χ?97Ί> tVJ I HI I I I I * n n I n n , . ' (对先閱讀背而之注意事項本頁j 經滴部中央標卑局員工消於合作社印聚 405075 λ7 ___________Η7 五、發明説明(10) ~~~ ~一… -- 加入新的資料指標暫存器36。因此,兩個基於相同處理器的不同 產品可以以傳統方法更容易有不同數目的資料指標暫存器泌。 本發明還可以允許新增,刪除或改變定址模式。就像資 料指標暫存器36可雜㈣新增_除,*_定址模式可輕易 的新增或職。加人_定址模式所需要的全部就是於一新資 料位址位置作為特殊位址。 利用本發明可職合及匹配定址模式與暫存器^先前技 藝的定址赋在編喊齡格式的部份時變得相當财。利用本 發明’可以有任意數目的指標暫翻,每—個可支援任意數目及 型態的間接定址。資料指標暫存器36的全部總數及定址模式僅受 限於將之實現所需邏輯及電路數量的實際考量。 本發明也可以允許基於指令來利用指令上的間接定址模 式的彈性。在先前技藝的PIC17C42A的微控制器中,一特殊的 控制暫存器被用來控制間接定址的變化。這樣的限制是一旦設定 了特定模式的控制位元,所有的指令在此控制位元改變前都只能 用這選定模式^這將某特定程式段中定址模式的選擇實質的減少 為一個,因為頻繁的更改控制位元是不實際的。在本發明中,間 接定址的每種變化被賦予獨一的暫存器位址。因此可以在任意指 r 本紙張尺度適用中國國家榡準(CNS ) Λ揽仿—(210乂7^公¥Ί ' I II1 - 1 - 1 I I 1....... ^^1 1· HI in —^n - Τ» ! I 1^1 ---- ui 、一so p - ("·先閱讀背而之注意事項^本s ) 405075 A7 Η 7 五、發明説明(11) 令中使用任意的間接定址模式。 運算 現在參考圖3,將要討論的是本發明的運算。在第一頁 經滴部中央標準局負工消費合作社印裝 中(也就是記憶庫0),前128個位置保留給特殊功能暫存器。這些 位置也是特殊間接位址配置的地方。一或多個資料指標暫存器36 也將配置在這個區域。每個資料指標暫存器36會有一或多個虛擬 暫存器位址位置33保留在暫存器位址對應中以啟動間接定址.。如 果沒有任何間接定址位置被存取的話,將會發生直接定址。如果 指令存取其中之一保留位址位置(也就是,圖3中的位址<4:0>〉, 一間接定址模式將會與此結合的資料指標暫存器36 一起使用。例 如,指令為“ADDw,12h”,這指令通常會將"w”的内容與位址12h 中的内容相加並將回應放在“w"中,而,因為位址12h為在1〇h, 1化上之資料指標暫存器36的保留位址位置,“w"將與在1〇h, m上之資料指標暫存器36所指到實際位置的内容相加。此加總 接著儲存在“w”中。位址12h也陳述出伴隨的事後遞增。因此, 在1〇h ’ 11h上之資料指標暫存器36將接著自動遞增*|。 雖然本發明已_藉參考其她具體實例加以顯示及説 月可理解的是對熟習本技藝的人而言,可做出前述及其他形式 (210x297公处 > (計先閱讀背而之注"事項本頁 -裝· -n I—
I I I I I Λ7 B7 經"-部中央標箏局貝工消费合作社印裝 405075 五、發明説明(l2) 及細節的改變而不會背離本發明的精神與範疇 ^水 - -V'。 線 一 ("先閲讀背而之注意事項4^^本萸) 本纸張尺度適用中國國家枕率(CNS ) Λ4ΚΜ 210X297公兑)

Claims (1)

  1. A8 B8 C8 D8 405075 申請專利範圍 1_ /種處理器架構方法,其可允許經由虛擬暫存器 位址來做多種定址模式的編碼而將處理器架構中直接可定址暫存 器的數目達到最大,包含步驟: 提供一指令集讓該處理器執行: 指定該指令集的每個指令的第一區段來識別每個指令要執 行的地方; 建立在記憶體中的間接定址指標器;以及 建立在記憶體中一特定集合的虛擬暫存器位址等於數個與 間接又址指標結合的間接定址模式,其中每個虛擬暫存器位址在 存取時命令間接定址模式與間接定址指標一起使用,藉之允許基 於指令的動態選擇指令的定址模式之彈性。 2_ 如申請專利範圍第1項的處理器架構方法,其可 允許經由虛擬暫存器位址來做多種定址模式的編碼而將處理器架 構中直接可定址暫存器的數目達到最大,其中在該記憶體中建立 特定集合之虛擬暫存器位址的步驟還包含在存取時指定一虛擬暂 存器位址來啟動簡單間接定址。 3. 如申請專利範圍第1項的處理器架構方法,其可 允許經由虛擬暫存器位址來做多種定址模式的編碼而將處理器架 15 本紙張尺度適用中國國家揉準·( CNS )八4規格(210X297公釐) ^--;--Ί--1T------^ (請先閲讀背面之注意事項再t本頁) -' · 經濟部-a-央揉丰局貝工消费合作社印製
    構中直接可紐暫存詞數目達到最大,其巾在該記憶體中建立 特定集合之虛擬暫存器位址的步驟還包含在存取時指定一虛擬暫 存器位址來啟動具事後自動遞增之間接定址。 4 如申請專利範圍第1項的處理器架構方法,其可 允許經由虛擬m位絲做多種定補式的編碼而將處理器架 構中直接可紐暫存⑽數目達到最A,其巾在觀㈣中建立 特定集合之虛擬暫存器位址的步驟還包含在存取時指定—虛擬暫 存器位址來啟動具事後自動遞減之間接定址。 5·如申請專利範圍第1項的處理器架構方法,其可 允許經由虛擬暫存器位絲做多種定址模式的編碼而將處理器年 構中直接可定址暫存㈣數目達到最大,其中在該記憶體中建立 特定集合之虛擬暫存器位址的步驟還包含在存取時指定—虛擬暫 存器位址來啟動具預先自動遞增之間接定址。 6_ 如申請專利範圍第1項的處理器架構方法,其可 允許經由虛擬暫存器位址來做多種定址模式的編碼而將處理哭架 構中直接可5^址暫存㈣數目制最大,其中在該記憶體中建也 特定集合之虛擬暫存器位址的步驟還包含在存取時指定—汐擬’ 存器位址來啟動具偏差值的間接定址。 16 本紙張尺度適用中國國家標準(CNS ) A4规格(210X297公釐) 111 — — — — I I —-1 I 訂— I I I I I 务 (請先閲讀背面之注意事項本頁) . 經濟部中央標隼局貝工消费合作社印裝 405075 I 々、申請專利範圍 7. 如申請專利範圍第1項的處理器架構方法,其可 允許經由虛擬暫存器位址來做多種定址模式的編碼而將處理器架 構中直接可定址暫存器的數目達到最大,其中在該記憶體中建立 間接定址指標器的步驟還包含建立間接定址指標器的步驟,其為 12位元寬的間接定址指標器。 8. 如申請專利範圍第1項的處理器架構方法,其可 允許經由虛擬暫存器位址來做多種定址模式的編碼而將處理器架 構中直接可定址暫存器的數目達到最大,其中在該記憶體中建立 特定集合之虛擬暫存器位址還包含的步驟: 建立在該記憶體中複數個間接定址指標器;以及 在記憶體中建立等於與該複數個間接定址指標器結合的間 接定址模式總數之一特定集合的虛擬暫存器位址,其中每個虛擬 暫存器位址在存取時命令間接定址模式與間接定址指標一起使 用,藉之允許基於指令的動態選擇指令的定址模式之彈性。 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再本頁) 9. 如申請專利範圍第8項的處理器架構方法,其可 允許經由虛擬暫存器位址來做多種定址模式的編碼而將處理器架 構中直接可定址暫存器的數目達到最大,其中在該記憶體中建立 等於與該複數個間接定址指標器結合的間接定址棋式總數之指定 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 經濟部中央標率局貝工消费合作社印製 405075 bI C8 -------D8 六、申請專利範圍 ' —--- 集合之虛擬暫存器位址之步驟還包含為每觸虛擬暫存器位址選 擇間接定址模式的步驟。 10·如申請專利範圍第9項的處理器架構方法,其可 允許經由虛擬暫存器位址來傲多種定址模式的編碼而將處理器架 構中直接可定址暫存⑽數目達到最A,其中為每個該虛擬暫存 器位址選擇間接定址模式的步驟還包含從—群組中選出―間接定 址模式的步驟’該群組包含:簡單間接定址,自動事後遞增的間 接定址’自動事後遞減關接定址,自動減遞·間接定址, 以及具偏差值的間接定址。 11·如申請專利範圍第9項的處理器架構方法,其可 允許經由虛擬暫存祕址來做多較址模式祕碼而將處理器架 構中直接可m㈣祕目達到最大,其巾在該記憶體中建立 複數個_定邮獅齡魏含粒__接植指標器的 步驟’其為12個位元寬的間接定址指標器。 12. 一種處理器,其可允許經由虛擬暫存器位址來做 多種定址模式的編碼而將處理器中直接可定址暫存器的數目達到 最大,包含: 一中央處理單來執行該指令; 18 本纸張用 t®®家料( 2igx297公釐)' 一 ---------裝--^--. 訂 各 (請先閲讀背面之注意Ϋ項再本頁) --, _ A8 B8 C8 D8 405075 申請專利範圍 一記憶體連結到該C P U來儲存資料: 該記憶體中之一指標暫存器,用來當存取與該指標暫存器 結合的位址時’儲存該指令要存取的位址位置: 在該記憶體中與該指標暫存器結合的特定虛擬暫存器位址 位置,其在一該特定位址位置時命令一間接定址模式與該指標暫 存器一起使用,藉之允許基於指令的動態選擇指令的定址模式之 彈性。 13. 如申請專利範圍第12項的處理器,還包含一虛擬 暫存器位址位置,其特定在存取時用來啟動簡單間接定址。 14· 如申請專利範圍第12項的處理器,還包含一虛擬 暫存器位址位置,其特定在存取時用來啟動具自動事後遞增之間 接定址。 15. 如申請專利範圍第12項的處理器,還包含一虛擬 暫存器位址位置,其特定在存取時用來啟動具自動事後遞減之間 接定址。 16· 如申請專利範圍第12項的處理器,還包含一虛擬 暫存器位址位置,其特定在存取時用來啟動具自動預先遞增之間 接定址。 I I 裝— —,, I- ~~訂| ~~ 線 (請先閲讀背面之注意事項再^P本頁) -' * 經濟部中央梂準局身工消費合作社印隶 19
    ^05075
    Α8 Β8 C8 D8 經 中 央 標 準 局 貝 合 作 社 印 製 '中請專利範固 17. 如申請專利範圍第12項的處理器,還包含一虛擬 暫存态位址位置’其特定在存取時用來啟動具偏差值之間接定址。 18· 如申請專利範圍第彳2項的處理器,其中該指標暫 存器為12位元寬的指標暫存器,; 19· 如申請專利範圍第12項的處理器,還包含: 在該記憶體中的複數個指標暫存器;以及 在記憶體中建立等於與該複數個間接定址指標器暫存器結 合的間接定址模式總數之—待定集合的虛擬暫存驗址其中每 個待定位址位置在存取時命令間接定址模式與複數個指標暫存器 中的結合指標暫存器―起使用,藉之允許胁齡的麵選擇於 令的定址模式之彈性。 20. 如申請專利範圍第19項的處理器’其中該複數個 指標暫存器的每一個均為12位元寬的指標暫存器。 21. 如申請專利範圍第19項的處理器,复中 ,、Τ礤圮憶體 中等於與純數赌標暫存雜合之間接定址㈣總數的該特定 虛擬暫存器位址位置的每一個起始一群组中之一間接定圩忾弋 該群組包含:簡單間接定址,具自動事後遞增的間接定 」 具自 動事.後遞減的間接定址,具自動預先遞增的間接定外,' 』,以及具偏 請 先 閲 讀 背 之 注 Η 項 再 裝 订 線 20 本紙張尺度適用中國國家榇準(CNS) A4規格(210X297公釐) 405075 六、申請專利範圍 差值的間接定址。 ---------裝— (請先閲讀背面之注意事項再衡客本頁) 、1T 經濟部中央標準局員工消費合作社印製 2 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐)
TW087116582A 1997-10-07 1998-10-13 Processor architecture scheme for implementing various addressing modes and method therefor TW405075B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/946,426 US6192463B1 (en) 1997-10-07 1997-10-07 Processor architecture scheme which uses virtual address registers to implement different addressing modes and method therefor

Publications (1)

Publication Number Publication Date
TW405075B true TW405075B (en) 2000-09-11

Family

ID=25484456

Family Applications (1)

Application Number Title Priority Date Filing Date
TW087116582A TW405075B (en) 1997-10-07 1998-10-13 Processor architecture scheme for implementing various addressing modes and method therefor

Country Status (7)

Country Link
US (2) US6192463B1 (zh)
EP (1) EP0908812B1 (zh)
JP (1) JPH11224193A (zh)
KR (1) KR19990036893A (zh)
AT (1) ATE215713T1 (zh)
DE (1) DE69804562T2 (zh)
TW (1) TW405075B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192463B1 (en) * 1997-10-07 2001-02-20 Microchip Technology, Inc. Processor architecture scheme which uses virtual address registers to implement different addressing modes and method therefor
US6560698B1 (en) * 1999-05-07 2003-05-06 Advanced Micro Devices, Inc. Register change summary resource
US20040030963A1 (en) * 2002-08-12 2004-02-12 Sun Microsystems, Inc., A Delaware Corporation Method and apparatus for debugging computer program
US7437532B1 (en) * 2003-05-07 2008-10-14 Marvell International Ltd. Memory mapped register file
KR100897857B1 (ko) 2003-10-23 2009-05-15 마이크로칩 테크놀로지 인코포레이티드 마이크로컨트롤러 명령어 셋트
US20050172064A1 (en) * 2004-01-29 2005-08-04 Marcelo Krygier Method and apparatus for addressing in mass storage non-volatile memory devices
US20070266225A1 (en) * 2006-05-09 2007-11-15 Ko Tak K V Microcontroller unit
US7908458B2 (en) * 2007-11-21 2011-03-15 Microchip Technology Incorporated Ethernet controller
US8004988B2 (en) * 2007-11-21 2011-08-23 Microchip Technology Incorporated Ethernet controller
US7996651B2 (en) * 2007-11-30 2011-08-09 Microchip Technology Incorporated Enhanced microprocessor or microcontroller
US8539210B2 (en) * 2007-11-30 2013-09-17 Microchip Technology Incorporated Context switching with automatic saving of special function registers memory-mapped to all banks
US8209521B2 (en) 2008-10-18 2012-06-26 Micron Technology, Inc. Methods of indirect register access including automatic modification of a directly accessible address register
US8938590B2 (en) * 2008-10-18 2015-01-20 Micron Technology, Inc. Indirect register access method and system
US8402249B1 (en) * 2009-10-19 2013-03-19 Marvell International Ltd. System and method for mixed-mode SDRAM address mapping
GB2540948B (en) * 2015-07-31 2021-09-15 Advanced Risc Mach Ltd Apparatus with reduced hardware register set

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4047245A (en) 1976-07-12 1977-09-06 Western Electric Company, Incorporated Indirect memory addressing
US4240142A (en) 1978-12-29 1980-12-16 Bell Telephone Laboratories, Incorporated Data processing apparatus providing autoincrementing of memory pointer registers
US5142633A (en) 1989-02-03 1992-08-25 Digital Equipment Corporation Preprocessing implied specifiers in a pipelined processor
JPH02266421A (ja) * 1989-04-07 1990-10-31 Ricoh Co Ltd 画像形成装置
US5381537A (en) * 1991-12-06 1995-01-10 International Business Machines Corporation Large logical addressing method and means
JPH08180001A (ja) * 1994-04-12 1996-07-12 Mitsubishi Electric Corp 通信方式及び通信方法及びネットワークインタフェース
US5715418A (en) * 1994-07-27 1998-02-03 Seagate Technologies, Inc. Autonomous high speed linear space address mode translation for use with a computer hard disc system
US5568651A (en) * 1994-11-03 1996-10-22 Digital Equipment Corporation Method for detection of configuration types and addressing modes of a dynamic RAM
JP3451595B2 (ja) * 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5860155A (en) 1995-11-16 1999-01-12 Utek Semiconductor Corporation Instruction decoding mechanism for reducing execution time by earlier detection and replacement of indirect addresses with direct addresses
US5835970A (en) * 1995-12-21 1998-11-10 Cypress Semiconductor Corp. Burst address generator having two modes of operation employing a linear/nonlinear counter using decoded addresses
US5809546A (en) * 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US5978836A (en) * 1997-07-28 1999-11-02 Solectron Corporation Workflow systems and methods
US6192463B1 (en) * 1997-10-07 2001-02-20 Microchip Technology, Inc. Processor architecture scheme which uses virtual address registers to implement different addressing modes and method therefor
US6128727A (en) * 1998-08-21 2000-10-03 Advanced Micro Devices, Inc. Self modifying code to test all possible addressing modes

Also Published As

Publication number Publication date
EP0908812A2 (en) 1999-04-14
DE69804562D1 (de) 2002-05-08
US6192463B1 (en) 2001-02-20
DE69804562T2 (de) 2002-11-21
EP0908812A3 (en) 1999-12-08
JPH11224193A (ja) 1999-08-17
ATE215713T1 (de) 2002-04-15
EP0908812B1 (en) 2002-04-03
US6578139B1 (en) 2003-06-10
KR19990036893A (ko) 1999-05-25

Similar Documents

Publication Publication Date Title
TW405075B (en) Processor architecture scheme for implementing various addressing modes and method therefor
TW490636B (en) Processor for executing highly efficient VLIW
TWI228657B (en) Virtual set cache that redirects store data to correct virtual set to avoid virtual set store miss penalty
TW445409B (en) Data processing system and multi-way set associative cache utilizing class predict data structure and method thereof
US5896519A (en) Apparatus for detecting instructions from a variable-length compressed instruction set having extended and non-extended instructions
US6412066B2 (en) Microprocessor employing branch instruction to set compression mode
TW201346754A (zh) 執行將寫入罩暫存器轉換成向量暫存器中的索引值列表的系統、裝置及方法
EP2630642A1 (en) Memories and methods for performing atomic memory operations in accordance with configuration information
US7114057B2 (en) System and method for storing immediate data
US20220237041A1 (en) Parallel processing system performing in-memory processing
US6978358B2 (en) Executing stack-based instructions within a data processing apparatus arranged to apply operations to data items stored in registers
US6029241A (en) Processor architecture scheme having multiple bank address override sources for supplying address values and method therefor
KR100972160B1 (ko) 데이터 액세스 프로그램 명령 인코딩
TW408282B (en) Processor architecture scheme and instruction set for maximizing available opcodes and for implementing various addressing modes
JPS6355119B2 (zh)
JP2001005675A (ja) プログラム変換装置及びプロセッサ
JP3220714B2 (ja) データramを用いたマイクロコントローラ用の強制ページゼロページング方法
JPS6122817B2 (zh)
KR20060017636A (ko) 레지스터 파일과 메모리 간에 데이터 값들을 전송하는데이터 처리 장치 및 방법
US7124261B2 (en) Access to bit values within data words stored in a memory
JPH0192851A (ja) アドレス空間切替装置
JPH02118999A (ja) Icカード
TW487929B (en) Force page paging scheme for microcontrollers of various sizes using data random access memory
JPH09505428A (ja) ページアドレスモードを有するマイクロコントローラ
US7103751B1 (en) Method and apparatus for representation of an address in canonical form

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MK4A Expiration of patent term of an invention patent