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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 23
- 238000012545 processing Methods 0.000 claims description 7
- 230000002079 cooperative effect Effects 0.000 claims description 5
- 235000015170 shellfish Nutrition 0.000 claims description 4
- 230000000295 complement effect Effects 0.000 claims 1
- 239000012771 household material Substances 0.000 claims 1
- 238000005303 weighing Methods 0.000 claims 1
- 238000013461 design Methods 0.000 description 19
- 230000008859 change Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 210000003746 feather Anatomy 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30138—Extension of register space, e.g. register cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/35—Indirect 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)
- 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公釐)
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)
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)
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 |
-
1997
- 1997-10-07 US US08/946,426 patent/US6192463B1/en not_active Expired - Lifetime
-
1998
- 1998-09-28 AT AT98118314T patent/ATE215713T1/de not_active IP Right Cessation
- 1998-09-28 DE DE69804562T patent/DE69804562T2/de not_active Expired - Lifetime
- 1998-09-28 EP EP98118314A patent/EP0908812B1/en not_active Expired - Lifetime
- 1998-10-07 JP JP10285657A patent/JPH11224193A/ja not_active Withdrawn
- 1998-10-07 KR KR1019980041806A patent/KR19990036893A/ko not_active Application Discontinuation
- 1998-10-13 TW TW087116582A patent/TW405075B/zh not_active IP Right Cessation
-
2000
- 2000-10-18 US US09/691,375 patent/US6578139B1/en not_active Expired - Lifetime
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 |