TW408282B - Processor architecture scheme and instruction set for maximizing available opcodes and for implementing various addressing modes - Google Patents

Processor architecture scheme and instruction set for maximizing available opcodes and for implementing various addressing modes Download PDF

Info

Publication number
TW408282B
TW408282B TW087117921A TW87117921A TW408282B TW 408282 B TW408282 B TW 408282B TW 087117921 A TW087117921 A TW 087117921A TW 87117921 A TW87117921 A TW 87117921A TW 408282 B TW408282 B TW 408282B
Authority
TW
Taiwan
Prior art keywords
bits
register
patent application
addressing modes
address
Prior art date
Application number
TW087117921A
Other languages
English (en)
Inventor
Joseph W Triece
Sumit K Mitra
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 TW408282B publication Critical patent/TW408282B/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/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/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/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/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Executing Machine-Instructions (AREA)

Description

408232 好米部中决禕卑局負Η消贽合作社印" A7 B7 五、發明説明(1) 相關申諸f 本專利申請案是接續1997年1〇月8日由同一發明人所 提出之共同待審之專利申請案,名稱為“PROCESSOR ARCHITECTURE SCHEME FOR IMPLEMENTING VARIOUS ADDRESSING MODES AND METHOD THEREFOR”,併入本文參考。 發明背景 發明領垃: 廣義而言,本發明與處理器有關,明確地說,本發明 的處理器架構技術與指令集允許最大數量之可用運算碼, 以及經由虛擬暫存器位址使處理器架構技術中的直接可定 址暫存器的數量最大化以允許多定址模式的編碼。 H技術描: 一般來說,處理器就是中央處理單元(cpu)的實體, 匕用來存取與執行儲存的指令或微處理器碼。處理器的例 子如微控制器、微處理器及數位處理器等。無論是那一種 類型的處理器都是運算資料,所謂資料也就是一般所稱的 運算几°此資料一般是儲存在暫存器或記憶體空間。 Λ才曰令指揮處理器的CPU執行某項運算,以及為該運算 確岭或多個運算元。處理器提供各種裝置供運算定址資 料這些裝置通常稱之為定址模式。典型上,定址模式是 供算術與邏輯運算以及資料移動運算所用,且應用於源運 (2丨0X 297公釐) n —^n In ^^1 ^^1— l. ml 1^1 - I n^>J (誚先聞讀背面之注意事項再填寫本頁) s-lb•部t次標枣局只Vi消费合作社印聚 4 Ο 8 2 u 2 ^ Β7 __._____ -------- — 五、發明説明(2 ) 算元、目的運算元或兩者。 目前的處理器架構技術的問題是增加或改變定址模式 極度困難。不對指令集的結構做大幅度的更改,根本不了 能增加或改變定址模式。不過更改指令集的結構並非五人 所願,因為有很多工具,如組譯器與編輯器都需要做巨— 變動。 田 實施不同定址模式的一種方法是在運算碼襴或暫存器 定址欄中加入專用的位元。藉設定專用位元即可實施不同 的定址模式。此種架構技術的問題是可用運算碼的數量或 直接可定址的“暫存器”數量大幅減少。例如,如果使用8_ 位元的指令編“運算碼”’如果“運算碼”中的兩個位元被用 來決定定址模式’則可用指令的總數量從256個減少到64 個。另一方面’如果指令字元中有8個位元可用來指定暫 存器運算元,它可以直接定址256個暫存器。不過,如果 為了結合其它定址模式而使用8位元中的一個做此用途, 所能直接定址的暫存器數量只剩下128個。 在現行的處理器架構技術中可使用另一種定址模式, 經由“控制暫存器”實施編碼以獲得最大數量的可直接定址 的暫存器。不過這又產生另一個問題’因為間接定址模式 的“選擇”是靜態的(直到重新架構)’從指令到指令不是動 態的51 因此,吾人需要一種增進的微控制器架構技術。增進 的微控制器架構技術必須允許使用者增加或變更定址模式 。增進的微控制器架構技術必須進一步允許使用者在指令 _ 4 - 本紙張尺度適州中國B3家#埤Ί ('NS > Λ4規格(2丨0X 297公漦> (請先閲讀背面之注意事項再填寫本頁} 装. 經淖部屮决樣^^只1消赀合作社印來 A7 __40828^_B7____ 五、發明説明(3 ) 到指令的基礎上動態地改變定址模式。增進的微控制器架 構技術必須允許使用者增加與改變定址模式,同時在既定 的指令位元數量可以得到最大數量的可用運算碼。增進的 微控制器架構技術必須進一步允許使用者增加與改變定址 . 模式,同時可以得到最大數量的直接定址的暫存器。 發明概述 根據本發明的實施例,本發明的目的是提供一種增進 的微控制器架構技術。 根據本發明的另一目的是提供一種增進的微控制器架 構技術,它允許使用者增加或改變定址模式。 根據本發明的另一目的是提供一種增進的微控制器架 構技術,它允許使用者增加或改變定址模式’同時可得到 最大數量的可直接定址暫存器。 根據本發明還有另一目的是在提供前述增進的同時’ 還具有在指令到指令的基礎上保持動態選擇定址模式的能 力。 根據本發明還有另一目的是提供一種增進的微控制器 架構技術,它允許使用者增加或改變定址模式’同時在既 定的指令位元數量下,可得到最大數量的可用運算碼。 較佳眚施例概述 根據本發明的較佳實施例,揭示一種允許多定址模式 的系統,同時可得到最大數量的可用運算碼與可定址暫存 本紙張尺度冗州中國囤家標蜱((,NS ) Λ4規格(21〇χ 297公嫠) (讀先閲讀背面之注$項再填寫本頁) 衷- 訂 4G82G2 A7 B7 _ 五、發明说明(4) - ' 器。系統的處理H架構技術經由使用虛擬暫存 器位址允許 —II - - - —^^^1 n^— I— —^ir 士 八一 I n^i ^nt 1 (請先閲讀背面之注意事項再填寫本I ) 多定址模式的編碼。系統的指令集具有許多指令。每一個 才曰·?具有許^位元’在許多指令中的每—個指令的許多位 元中’沒有一個位元是專門用來實施不同的定址模式。許 多指令中的每-個指令都可經由定址處理器架構技術中的 虛擬暫存隸址’實施不同的定址模式。 從以下對本發明之較佳實施例的描述並配合附圖的 說明’將可明瞭本發明的前述及其它目的、特徵與優點。 圖式概述 圖1描繪習知技術指令的典塑編碼簡單方塊圖。 圖2描緣第二種習知技術指令的典型編碼實施例的簡 單方塊圖。 圖3描繪使用本發明之指令編碼的簡單方塊圖。 圖4是使用本發明之資料記憶體圖的簡單方塊圖。 較佳f施例详細說明 对清部中火枋準局負二消费合作社印製
現請參閱圖1,顯示處理器所執行的典型習知技術指 令10。指令10包括第一位元組12與第二位元組14。每一個 位元組12與14包括許多位元16。第一位元組12用來建立運 算碼攔12A。運算碼欄12指定指令要執行的特定運算(即“ 加,,、“位移”、“分支”等)°第二位元組丨4是暫存器或資料 位址欄14A。暫存器或資料位址攔〗4A指示要被運算的運 算元(即資料)。可以有一個以上的暫存器或資料位址欄14A -6 - 標(狐> Λ4 麟(210X297 公釐) 4082η
五、發明説明(5 經#.部十决樣孪局另^消f Λε作*印製 。例如Hx是源位址糊與目的位址爛。 ^圖所示的習知技術中,每 度都是I位元。為嘴狀 ^ 兀沮Η,、Μ扪嵬 ㈣留异碼欄以中,兩個位元(位元4與5; :=,定定址模式。例如,如果位元㉚=〇1, l;〇 °
兀位疋的暫存器位址14A °如果位元<5:4> = 1C "Γ是間接定址模式。在本例中’第二位元組H 中的二:G>可編碼成偏移的資料指標暫存器。 用的編職術有幾個問題。雖紐算碼以是使 ―址二 其中有兩個位元(位元4與5)被用來決 〇此使得可用的運算碼指令總數從256個減少 —此外’由於在第—指令位元組m用兩個位 址模式’因此最多只有4種定址模式。 現請參閱圖2,圖中顯示可被處理器執行的另一種習 知技術的指令20。如同圖!的指令1〇,指令2〇包括許多位 元22。一般來說,將位元22劃分成三個主要櫚:(!)運算 碼卿、(2)暫存器或資料位址攔26、以及⑺定址模式_ 。如同圖1的指令10,運算4_24的位元組合喪指定處理 器所要執行的特定運算。一般來說,有三種主要的運算類 型:(1)算術與邏輯運算(即加、減等);(2)資料移動運算 ,·以及(3)藏式控制(例如分支運算)。暫存器或資料位址欄 %指示要被運算的運算元(即資料卜可以有一個以上的暫 存器或資料位址攔26。例如,它可以是源位址攔與目的位 址攔。 -7- 本紙張尺度诚州家椋埤"TrNS ) Λ4規格(2丨0Χ 297公釐) ^—4 —^ρ I» - ^^^1 n n^i i ^^1 1^1 ^^^1 I ^^^1^"J (請先w讀背面之注意事項再填寫本頁) 五 A7 _______B7____ 、發明说明(6辦282 圖2中所示的指令20是寬度16位元的指令》在指令20 中的第7個位元是用來選擇定址模式。如果第7個位元是零 (0)’暗示此為直接定址。因此,位元<6:〇>構成7位元的 暫存器位址’它允許128個暫存器。如果第7個位元是壹(1) ,則暗示是間接位址。當此情況,位元<6:〇>編碼資料指 標器的位址以及指標器的增/減選擇。 在習知技術中,指令中的8個位元是用來編“運算碼” 。因此,8個位元留下來定址暫存器的位置。使用這8個位 元,在架構中可容納的暫存器數量到達256個。不過,由 於第7個位元被用做定址模式位元,以區分間接定址與直 接定址,因此僅只能容納128個暫存器β因此,為了實施 定址模式位元,使得可定址的暫存器數量減少一半。此外 ,增加或改變定址模式極度困難。不大幅度改變指令集的 結構’根本不可能改變或增加定址模式。2文變指令集結構 非吾人所願,因為有很多工具,如組譯器與編譯器都:須 大幅修改。 從以上的描述可知,在習知技術的指令中,需要使用 -或多個位兀來指示所要實施的特定定址模式。因此,大 幅減少了可用運算碼指令的數量以及可定址暫存器的數量 現请參閱圖3,圓中顯示根據本發明之 術所執行的指令30。指人3〇β由沐“器技 m 多心2所構成。一般 它指示將被執行的運算類型,⑺目的位』:=處 !_ * - - - - - 1 I . I « —1- I I - ^^1 til - ττ ·γβ (销先閱讀背面之注項再填艿本茛) .¾¾部屮央桴準妁另了;消费合作‘社印Μ i、紙張尺度相巾_家樣冷 ((NS ) Λ4_ ( 2!〇χ 297公釐 :-^¾部屮"標革局,Λ-Τ·消费合作社印纪 40828^· a? B7 五'發明説明(7 ) 理器運算的結果將被儲存的位置(即“W”或工作暫存器,或 檔案暫存器),以及(3)暫存器位址攔38 ’它指示指令30所 要運算之暫存器或資料變數的位址。在本發明的較佳實施 例中,指令是16位元的指令。 指令30的獨特之處是除了目的位元36外,運算碼攔34 與暫存器位址攔38的長度,是由使用者希望實施的運算碼 數量或可定址暫存器數量來決定。例如,如果使用者希望 運算碼欄34中使用7個位元,那麼使用者可實施最大的128 個運算碼。如果使用者只需要64個運算碼,運算碼欄34可 以只使用6個位元。由於目的位元36使用1個位元,暫存器 位址欄48使用9個位元,此將允許使用者可以實施512個可 定址暫存器。同樣地,如果只需要I28可定址暫存器(即暫 存器位址攔38使用7個位元實施),如果目的位元36使用1 個位元32 ’則運算碼攔34可使用9個位元,如此,即可允 許使用者擁有多達512個運算碼。因此,如前所述,本發 明的指令30可在既定的位元數量下,允許使用者擁有最大 數量的可用運算碼及可定址暫存器。 麟參閱圖4 ’圖中顯示使用指令3()的處理器架構技 術4〇。處理器架構技術4〇具有在資料記憶體42内實施的資 料指標器暫存器48。資料記憶體42包括許多位址位置44β 在圖4所示的實施例中,記憶體是線性化的4k記憶體,它 被劃分成許多記憶體頁46,其中的每—頁#都有W個位 址位置44在暫存器位址圖中保留有資料指標器暫存器料 所具有的-或多個虛擬暫存器位址位置5〇。當每一個被保 •9- 本紙張以------— ——- > I i a^l ^^1 r ^^1 ^^1 I i I (誚先閲讀背面之注意事項再填寫本頁) #屮央標本局只工消资合作杜印裝 408282 五、發明説明(8) 留的虛擬暫存器位址位置50被存取時,它將啟始一個間接 定址模式。 目前,主要的定址模式類型有五種:簡單間接定址、 自動後遞增間接定址、自動後遞減間接定址、自動預增間 接定址、偏移間接定址。在簡單間接定址模式中,運算元 的位址保存在資料指標器暫存器48中。CPU 52首先存取 資料指標器暫存器48取得位址,並使用此位址存取運算元 。自動遞增或自動遞減間接定址是在資料存取前(即預遞 增或預遞減)或資料存取後(即後遞增或後遞減)增加或減 少資料指標器暫存器48。在偏移間接定址模式中,計算運 算元位址的方法是在資料指標器暫存器48的内含中加上一 偏移值。該偏移值可以嵌在指令中,或來自其它暫存器。 在本實施例中,偏移值來自“w”暫存器,它是累加器或“ 工作”暫存器。如前所述,資料指標器暫存器48可在存取 運算元之前或之後增加或減少。 資料指標器暫存器48所欲實施的每一種間接定址模式 ’在資料記憶體42中都需要有一單獨的虛擬暫存器位址位 置50。在本發明的較佳實施例中,需要五個虛擬暫存器位 址位置50來實施以上討論的五種間接定址模式。不過,額 外或較少的間接定址模式也可實施,視所使用的資料指標 器暫存器48而定。此外,額外的資料指標器暫存器48也可 在資料記憶體42中實施。在暫存器位址圖中的每一個資料 指標器暫存器48都保留有一或多個虛擬暫存器位址位置5〇 。當每一個保留的虛擬暫存器位址位置50被存取時,它即 -10 - 本紙張尺度14;彳1中賴家榡) Λ4規格(21GX 297公羡) " --...... n^i n^— ί ^^1· It— a m -- In V V. (翱先閱讀背面之注意事項再填筘本頁) 怒滅部中"撐準局θ-τ·消费合作社印?表 4G8ZQ4 -------一—- 五、發明说明(9 ) 為相關的資料指標器暫存器料啟始一個間接定址模式。每 一個資料指標器暫存器48都是可讀取與可寫入的位址位置 。在本發明的較佳實施例中,每一個資料指標器暫存器48 都是12位元寬的指標器,可以存取長度為4k位元組的3己憶 體區域。因此’每一個資料指標器暫存器48被組織成如同 兩個8位元寬的暫存器(高位元組與低位元組),它當成可 讀取與可寫入的暫存器存取。因此,在本發明的較佳實施 例中,使用7個位址位置實施具有5種間接定址模式的12位 元寬的資料指標器。 本發明可以得到最大數量的暫存器位址,它可以當成 一般用途的暫存器使用。在使用本發明的較佳實施例的指 令編碼技術中,可用8個位元定址資料記憶體或暫存器》 此允許多達256個暫存器。由於其_7個暫存器用來實施各 種間接定址技術,因此還有249個可直接定址的暫存器。 可以進一步增加額外的資料指標器暫存器48卻不需大幅縮 減直接可定址暫存器的數量。本發明與圖丨中所描繪的習 知技術範例相較,大幅增加了可定址暫存器的數量。 本發明也允許彈性地增加或刪減間接暫存器。由於間 接暫存器並未編竭於指令本身中,但keyed 特殊的暫存 器位址’它可以增加新的資料指標器暫存器48。因此,根 據相同處理器的兩不同結果,實施不同數量 暫存器比傳統方法容易地多。 本發明也允許彈性地増加、刪減或改變定址模式。正 如資料指標器暫存器48很容易增加或刪除,各種的定址模 -11 - 本祕以刺 _ (銪先閱讀背面之注^^項再填寫本頁) 裝. 訂 Α7 Β7 4GB282 五、發明説明10 ) 式也很容易增加或刪除》增加一個新的定址模式所需要做 的事是指定一個新的資料位址位置成為一個特殊的位址。 使用本發明’可以混合與匹配定址模式與暫存器。習 知技術中的定址模式被編碼在指令格式中,成為指令中不 可或缺的一部分。使用本發明後,可以擁有任何數量的指 標器暫存器’每一個指標器暫存器都可支援任何數量的間 接定址模式。資料指標器暫存器48與定址模式的總合,僅 受實施它們所需的邏輯與電路的限制。 本發明也允許在指令到指令的基礎上彈性地使用任何 間接定址模式。在習知技術中,要使用特殊的控制暫存器 控制間接定址的改變。它的限制是一旦控制位元被設定成 特定的模式,所有指令都只能使用所選擇的模式,直到控 制位元被改變。此使得在一段碼中所能選擇的定址模式減 少到只有一種,因為控制位元無法經常改變。在本發明中 ’間接位址的每一種改變都是給予一個唯一的暫存器位址 。因此,可以在任何指令中使用任何間接定址。 雖然本發明是參考較佳實施例來顯示與說明,但必須 瞭解的是,經由這些技術,形式與細節上可做前述與其它 的改變,都不會偏離本發明的精神與範爵。 -12- 本紙張尺度读用屮國围家標蟑< (’NS ) Λ4現格(2丨0Χ297公釐) (誚先閲讀背面之注^^項再填巧本頁〕 裴_ ------

Claims (1)

  1. / 經濟部中央橾準局員工消費合作社印裝 408282 b88 _ g88 —_ 六、申請專利範®* "" 申請專利範圍是: 1.—種允許多定址模式的系統,同時可有最大數量的可 用運算碼與可定址暫存器,包括: 處理器架構技術允許經由使用虛擬暫存器位址以 多定址模式編碼;以及 具有許多才曰令的指令集,每一個指令具有許多位 凡,其中該許多位元中沒有任何位元是用來實施不同 定址模式的專用位元,該許多指令中的每一個都能經 由疋址該處理器架構技術中的該虛擬暫存器位址實施 不同的定址模式。 2.根據申請專利範圍第丨項中允許多定址模式同時可有最 大數量的可用運算碼與可定址暫存器的系統,其中該 許多指令中的每一個指令進一步包括: 該許多位元中的第一組位元是用來定義運算碼攔 ,用以指示要被執行的運算,其中該許多位元中該第 一組位元的大小,是由欲實施之運算碼的數量所定義 » 目的碼,用來指示執行該運算得到的結果所要儲 存的位置;以及 每個該指令的該許多位元所剩下的位元用來定 義暫存器位址,用以指示該運算要執行之資料的位址 〇 3·根據申請專利範圍第丨項中允許多定址模式同時可有最 大數量的可用運算碼與可定址暫存器的系統,其中該 -13- 本紙張尺度通用中國國家標隼(CNs } A4^t格(21〇χ297公董) •裝-----Ί 訂------ (請先聞讀背面之注$項再填寫本頁) 經濟部中央標準局員工消費合作社印製 Αδ Β8 C8 D8六、申請專利範圍 許多指令中的每一個指令進一步包括: 該許多位元中的第一組位元是用來定義暫存器位 址,用以指示要被運算執行的資料的暫存器位址,其 中該許多位元中該第一組位元的大小是由欲實施之暫 存器位址的數量所定義; 目的碼,用來指示執行該運算得到的結果所要儲 存的位置;以及 每一個該指令的該許多位元所剩下的位元用來定 義運算碼欄,用來指示要執行的運算。 4. 根據申請專利範圍第1項中允許多定址模式同時可有最 大數量的可用運算碼與可定址暫存器的系統,其中該 許多指令中的每一個指令的長度都是16位元。 5. 根據申請專利範圍第4項中允許多定址模式同時可有最 大數量的可用運算碼與可定址暫存器的系統,其中該 許多指令中的每一個指令進一步包括: 該16個位元中的前8個位元專門用來定義暫存器位 址,用以指示該運算所要執行之資料的暫存器位址; 該16個位元中的第9個位元專門做為目的位元,用 來指示執行該運算得到的結果所要儲存的位置;以及 該16個位元中的最後7個位元專門用來定義運算碼 ,用以指示要執行的運算。 6. 根據申請專利範圍第4項中允許多定址模式同時可有最 大數量的可用運算碼與可定址暫存器的系統,其中該 許多指令中的每一個指令進一步包括: -14- ---------‘裝-------訂------义 (請先聞請背面之注意事項再填寫本頁) 本紙張尺度適用中國固家標準(CNS ) A4規格(210X297公釐> 408282 it C8 D8 六、申請專利範圍 該16個位元中的前7個位元專門用來定義暫存器位 址,用以指示該運算所要執行之資料的暫存器位址; 該16個位元中的第8個位元專門做為目的位元,用 來指示執行該運算得到的結果所要儲存的位置;以及 該16個位元中的最後8個位元專門用來定義運算碼 ,用以指示要執行的運算。 7. 根據申請專利範圍第1項中允許多定址模式同時可有最 大數量的可用運算碼與可定址暫存器的系統,其中該 處理器架構技術包括: 中央處理單元執行該指令; 記憶體耦合到該中央處理單元儲存資料; 在該記憶體t的指標器暫存器,當與該指標器暫 存器有關的位址被存取時,用以儲存該指令要存取的 位址位置; 經濟部中央標準局員工消費合作社印策 (請先閱讀背面之注意事項再填寫本頁) 位於該記憶體中與該指標器暫存器有關的專用虛 擬暫存器位址位置,當該專用位址位置其中之一被存 取時,該指標器暫存器指令一個間接定址模式與該指 標器暫存器一起使用,藉以在指令到指令的基礎上, 允許有動態選擇定址模式的彈性。 8. 根據申請專利範圍第7項中允許多定址模式同時可有最 大數量的可用運算碼與可定址暫存器的系統,進一步 包括一個虛擬暫存器位址位置,當它被存取時,專門 用來啟始簡單的間接定址。 9. 根據申請專利範圍第7項中允許多定址模式同時可有最 -15- 本紙張尺度適用中國國家標準(CNS ) A4规格(210X 297公釐) 經濟部中央標準局員工消費合作社印策 A8 B8 C8 D8六、申請專利範圍 大數量的可用運算碼與可定址暫存器的系統,進一步 包括一個虛擬暫存器位址位置,當它被存取時,專門 用來啟始自動後遞增的間接定址。 10. 根據申請專利範圍第7項中允許多定址模式同時可有最 大數量的可用運算碼與可定址暫存器的系統,進一步 包括一個虛擬暫存器位址位置,當它被存取時,專門 用來啟始自動後遞減的間接定址。 11. 根據申請專利範圍第7項中允許多定址模式同時可有最 大數量的可用運算碼與可定址暫存器的系統,進一步 包括一個虛擬暫存器位址位置,當它被存取時,專門 用來啟始自動預增的間接定址。 12. 根據申請專利範圍第7項中允許多定址模式同時可有最 大數量的可用運算碼與可定址暫存器的系統,進一步 包括一個虛擬暫存器位址位置,當它被存取時,專門 用來啟始偏移間接定址。 13. 根據申請專利範圍第7項中允許多定址模式同時可有最 大數量的可用運算碼與可定址暫存器的系統,其中該 指標器暫存器是12位元寬的指標器暫存器。 14. 根據申請專利範圍第7項中允許多定址模式同時可有最 大數量的可用運算碼與可定址暫存器的系統,進一步 包括 在該記憶體中的許多指標器暫存器:以及 在該記憶體甲專用的虛擬暫存器位址位置,等於 '與該許多指標器暫存器有關的間接定址模式的總數量 -16- 408282 — I •裝 訂 ί^ (請先閲讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS >人4说格(210Χ297公釐) 4082S2 AS B8 C8 D8 六、申請糊棚 -- ,其中當每一個專用的位址位置被存取時,指示一個 間接定址模式與該許多指標H暫存器中 標器暫存器-起使用,藉以在指令到指令的2=指 允許有動態選擇定址模式的彈性。 15.根據申請專利範圍第14項中允許多定址模式同時可有 最大數量的可用運算碼與可定址暫存器的系統,其中 該許多指標器暫存e巾的每-個都是12位元寬的指標 器暫存器。 16_根據申請專利範圍第15項中允許多定址模式同時可有 最大數量的可用運算碼與可定址暫存器的系統,其中 在該記憶體中等於與該許多指標器暫存器有關的間接 定址模式總數量的每一個專用虛擬暫存器位址位置, 從簡單間接定址、自動後遞增間接定址 '自動後遞減 間接定址、自動預增間接定址、偏移間接定址中啟始 一個間接定址模式。 —裝 (請先閲讀背面之注項再填寫本頁) 訂 經濟部中央標率局員工消費合作社印製 本紙張尺度適财關家辟(CNS >从祕 Qx297公董)
TW087117921A 1997-10-29 1998-11-16 Processor architecture scheme and instruction set for maximizing available opcodes and for implementing various addressing modes TW408282B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/959,942 US5987583A (en) 1997-10-07 1997-10-29 Processor architecture scheme and instruction set for maximizing available opcodes and address selection modes

Publications (1)

Publication Number Publication Date
TW408282B true TW408282B (en) 2000-10-11

Family

ID=25502611

Family Applications (1)

Application Number Title Priority Date Filing Date
TW087117921A TW408282B (en) 1997-10-29 1998-11-16 Processor architecture scheme and instruction set for maximizing available opcodes and for implementing various addressing modes

Country Status (7)

Country Link
US (1) US5987583A (zh)
EP (1) EP0913766B1 (zh)
JP (1) JPH11212787A (zh)
KR (1) KR19990037573A (zh)
AT (1) ATE223082T1 (zh)
DE (1) DE69807412T2 (zh)
TW (1) TW408282B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098160A (en) * 1997-10-28 2000-08-01 Microchip Technology Incorporated Data pointer for outputting indirect addressing mode addresses within a single cycle and method therefor
IL126043A (en) * 1998-09-02 2003-01-12 D S P Group Ltd Method and system for setting a new memory address pointer in a dsp
US6708268B1 (en) * 1999-03-26 2004-03-16 Microchip Technology Incorporated Microcontroller instruction set
EP1218818A2 (en) 2000-03-21 2002-07-03 Koninklijke Philips Electronics N.V. Data carrier having address mode extension means and command extension means
US7437532B1 (en) * 2003-05-07 2008-10-14 Marvell International Ltd. Memory mapped register file
GB2402763B (en) * 2003-06-13 2006-03-01 Advanced Risc Mach Ltd Data access program instruction encoding
WO2005043383A1 (en) 2003-10-23 2005-05-12 Microchip Technology Incorporated Microcontroller instruction set
US20050138330A1 (en) 2003-12-23 2005-06-23 Maxim Integrated Products, Inc. MAXQ 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
US7996651B2 (en) 2007-11-30 2011-08-09 Microchip Technology Incorporated Enhanced microprocessor or microcontroller
JP5757320B2 (ja) * 2013-12-12 2015-07-29 日本電気株式会社 データ処理装置、データ処理方法およびデータ処理プログラム
CN106293627B (zh) * 2016-07-27 2019-01-11 珠海市杰理科技股份有限公司 寄存器调用及调用指令编码的方法、装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3946366A (en) * 1973-01-26 1976-03-23 Sanders Associates, Inc. Addressing technique employing both direct and indirect register addressing
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
US5367648A (en) * 1991-02-20 1994-11-22 International Business Machines Corporation General purpose memory access scheme using register-indirect mode
US5717908A (en) * 1993-02-25 1998-02-10 Intel Corporation Pattern recognition system using a four address arithmetic logic unit
US5832533A (en) * 1995-01-04 1998-11-03 International Business Machines Corporation Method and system for addressing registers in a data processing unit in an indexed addressing mode
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

Also Published As

Publication number Publication date
KR19990037573A (ko) 1999-05-25
JPH11212787A (ja) 1999-08-06
EP0913766A3 (en) 1999-12-29
ATE223082T1 (de) 2002-09-15
DE69807412T2 (de) 2003-04-17
EP0913766A2 (en) 1999-05-06
US5987583A (en) 1999-11-16
EP0913766B1 (en) 2002-08-28
DE69807412D1 (de) 2002-10-02

Similar Documents

Publication Publication Date Title
TW408282B (en) Processor architecture scheme and instruction set for maximizing available opcodes and for implementing various addressing modes
TWI496079B (zh) 電腦實作方法、處理器以及含有用於基於向量寫入遮罩之內容而將兩個純量常數之其中之一者儲存倒一般目的暫存器中的指令的實體機器可讀取儲存媒體
US7882332B1 (en) Memory mapped register file
TWI470542B (zh) 擴展記憶體源至目的地暫存器及壓縮源暫存器至目的地記憶體位置之系統、裝置、及方法
JP6849275B2 (ja) インデックスおよび即値を用いてベクトル置換を実行するための方法および装置
TWI639952B (zh) 用於建置及維持在亂序硬體軟體協同設計處理器中具有堆疊同步指令的述詞值之堆疊的方法、設備與非暫態機器可讀媒體
TWI740859B (zh) 用於跨步的載入(strided load)的系統、設備及方法
TW201643706A (zh) 用以執行融合單一週期遞增-比較-跳越之指令與邏輯
GB2438229A (en) Method of moving data in a processing system by specifying the source and target address spaces to a move data instruction.
TW201237750A (en) Address generation in a data processing apparatus
JP6760935B2 (ja) 多倍長整数(big integer)の算術演算を実行するための方法および装置
US11681611B2 (en) Reservation architecture for overcommitted memory
KR101729424B1 (ko) 128-비트 프로세서에서의 skein256 sha3 알고리즘에 대한 명령어 세트
US6981132B2 (en) Uniform register addressing using prefix byte
SK284085B6 (sk) Procesor
JPH06332695A (ja) データ処理装置及びその制御回路
US6578139B1 (en) Processor architecture scheme which uses virtual address registers to implement different addressing modes and method therefor
US6029241A (en) Processor architecture scheme having multiple bank address override sources for supplying address values and method therefor
KR20020091066A (ko) 프로세서에서 동작 모드의 확립
TWI325542B (en) Data access program instruction encoding
US5878243A (en) Apparatus for decreasing the cycle times of a data processing system
TW569140B (en) A method and system for selecting and using source operands in computer system instructions
EP3757774A1 (en) Hardware support for dual-memory atomic operations
TW487929B (en) Force page paging scheme for microcontrollers of various sizes using data random access memory
US5802564A (en) Method and apparatus for increasing processor performance

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees