TW393623B - Constant reconstructing processor which supports reductions in code size - Google Patents

Constant reconstructing processor which supports reductions in code size Download PDF

Info

Publication number
TW393623B
TW393623B TW087109488A TW87109488A TW393623B TW 393623 B TW393623 B TW 393623B TW 087109488 A TW087109488 A TW 087109488A TW 87109488 A TW87109488 A TW 87109488A TW 393623 B TW393623 B TW 393623B
Authority
TW
Taiwan
Prior art keywords
aforementioned
constant
stored
register
instruction
Prior art date
Application number
TW087109488A
Other languages
English (en)
Inventor
Shuichi Takayama
Nobuo Higaki
Tetsuya Tanaka
Takehito Heiji
Masato Suzuki
Original Assignee
Matsushita Electric Ind Co Ltd
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
Priority claimed from JP15904997A external-priority patent/JP3670801B2/ja
Priority claimed from JP23435697A external-priority patent/JPH1173331A/ja
Application filed by Matsushita Electric Ind Co Ltd filed Critical Matsushita Electric Ind Co Ltd
Application granted granted Critical
Publication of TW393623B publication Critical patent/TW393623B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/324Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing
    • 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
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context

Landscapes

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

Description

經濟部中央標準局負工消費合作社印^ A7 ----__B7_ 五、發明説明(1 ) ~--- 發明之背景 (1) 發明之領域 本發明,係關於微處理機,尤其是,關於使指令中所 生之無用領域和未使用領域有效化的技術。 (2) 習知技術之說明 隨著近幾年之微處理機應用製品之高功能化及高速化 ,而要求可實行高碼效率之程式的微處理機(以下,單純 稱謂「處理機」)。就是’希望在構成程式之各指令中不 含無用瑪和未使用之領域。 二而’特別,如 VLIW(Very Long Instruction Word) — 般之定長指令時,在指令中必需存放無操作碼(n〇p碼)等 之無用瑪。VUW,係由多數之作業棚所成;於各作業棚 中,雖指定有對應於處理機所具備的多數運算單元之操作 ’但因操作之依存關料’而未必經常存在可並行實行的 多數之操作。 就延種用來迴避隨這種n〇p碼之插入而降低碼效率之 習知技術而言,例如,有特開平8-161169所揭露之Vuw 方式之計算機系統。 第1圖,係顯示上述習知技術中之指令格式。 於此習知技術,例如,若在作業欄#2有必要配置 碼時,在其作業欄#2中預先配置其他指令所使用之常數以 替代n〇P碼,並在作業欄#1之一部分之地方,配置用來表 示其趣旨之指令有效化資訊。而且,處理機,係在其命令 之執行時,參考指令有效化資訊,藉此解碼(讀出)為在作 本紙張尺度適用中國國家鱗(CNS ) Α4規格(加—公麓) -.^-- I*· (請先閲讀背面之注意事項再填寫本頁)
,1T • I I— II · 4 經濟部中央標準局貝工消費合作社印聚 A7 ------B7__ 五、發明説明(2) 業欄#2只存放常數,將其作為運算元來用於運算。藉此, 迴避指令中因插入nop碼而造成之無用領域之產生。 然而,上述習知技術卻存在著可補足無用領域之常數 的大小被限制的問題。 例如,只在32位元長之一個作業欄需要存放n〇p碼時 ,無法存放由64位元所成之數值常數β又,例如,若只32 位元之定長指令中之8位元為未使用領域時,可補足其8位 元之常數係限定為由8位元以下所表達之常數,例如無法 用由32位元所表達之絕對地址來彌補。 就是,上述習知技術,雖在產生較大位數之無用領域 時呈現效果,但若指令之位數僅為例如如32位元一般地小 時,那裡所產生之無用領域也小,所以存在著許多無用領 域在未用常數來補足就那樣留下來等之問題。 為了迴避這種問題,而可考慮設置一用來存儲常數於 處理機之專用暫存器(常數暫存器)。然而,具有那種常數 之處理機,卻會產生多重任務中之上下文交換用之處理時 間增大等之問題。就是,為了 —面以時間分割多路來切換 多數之任務一面予以實行,而在某任務之實行中將控制遷 移於作業系,並為了其任務之再實行而將必需要之資訊( 上下文)疏散於記憶體等之疏散領域,接著有必要頻繁地 實行使下一個應實行之任務的上下文返回等之上下文交換 ,然而由於在上下文中也含有常數暫存器之值,而其份兒 使上下文交換之處理時間增大。 發明之概要 ^張尺度刺巾關家_ ( CNS ) Α视格(21GX2^i·釐"j---------. I - - - n n i— I m I, - ^^1 —I— -- -- —-.-1 \—* 、T (請先閲讀背面之注意事項再填寫本頁)
A7 一_ — B7* — - 五、發明説明(3) ~一''· --- 於是,本發明,係鐘於此種缺點而做者,其第一目的 係在於提供一種,其用來補足指令中之無用㈣㈣h 大小不受其指令之位數限制的處理機。藉此,縱使為指令 中之小位數的領域也可迴避當做無用領域留下來,且把支 援南碼效率之程式的生成作為目標。 又本發月之第一目的,係在提供一種既可達成上述 目的,且縮短為上下文交換所需要的處理時間之處理機。 達成上述第-目的之本發明為_種用以解碼實行指令 之處理機,包含有: 才曰令暫存器,係用以保持前述指令; 解瑪手段,係用以解碼所保持之指令; 常數暫存器,係具有用來保持常數之記憶領域,· 常數存儲手段,係在藉前述解碼手段來解碼為「前述 指令中存有應存儲於前述常數暫存器之常數」時,若在前 述常數暫存器中未存儲有效之常數時,將存放在前述指令 ^之常數存儲於前述常數暫存器,反之若在前述常數暫存 器中已存储其他有效之常數時,將其常數留下來不動而 將存放在前述指令中之常數存儲於前述常數暫存器;及 實行手段,係由前述解碼手段解碼為「前述指令為一 用來指示使用前述常數暫存器之運算的指令」時讀出前 述常數存儲器巾所存儲之所有常數m憎述運算。 藉此,將分割配置在整個多數指令的常數之片段存 儲記錄在常數暫存器(連結於位方向),復元成原來之一個 常數。因此即使在指令中產生小位數之無用領域,也可用 本紙張尺度制巾關家鮮(CNS)罐格(2數297公着---------- (請先閲讀背面之注意事項再填寫本頁)
6
發明説明( 經濟部中央標準局貝工消費合作社印製 位數大的常數之一部分來補足其無用領域,支援高碼效 之程式之生成。 5 在此,前述常數存儲手段,也可一面移位已存儲在前 述常數暫存器之常數,一面存儲前述新的常數。 藉此,僅將常數存儲於常數暫存器之同一位置即可呓 錄常數,因此不需要管理下_應存儲之常數暫存器之位置 〇 又,前述常數存儲手段,也可從前述常數暫存器之下 部數位向上部數位依次記錄存儲前述常數。 藉此,常數暫存器從下部數位被彌補下去,因此可實 現-適於置位有效位數係、可變長之常數於常數暫存器的處 理機。 又,前述處理機更可包含擴充手段,其係對於前述常 數進行零擴充及碼擴充之至少一方的擴充處理。 藉此,將常數暫存器中所存儲之常數作為運算元利用 時’保證其運算元成為施有零擴充或碼擴充之適當常數。 又,前述擴充手段,可對於存储於前述常數暫存 之常數進行前述擴充處理。 藉此,保證常數暫存器中所存儲之常數驗常進行 擴充處理的適當常數;從常數暫存器讀出常數後不需要進 打擴充處理’因此可縮短使时數暫存器所存儲之常數來 操作的需要時間。 又,前述擴充手段,可對於從前述常數暫存器讀 常數進行前述擴充處理。 器前 了 出之 J- - - I 1^1 I I HI 4. i^i -I - --- —I I- I I-- -¾ 、T -'/{\. {請先閲讀背面之注意事項再填寫本頁) A7 B7. 經濟部中央標準局負工消費合作社印掣 五、發明説明(5 ) 藉此,將常數存儲於常數暫存器時之擴充處理變成不 需要,所以可縮短存儲於常數暫存器所需之時間。 又,前述常數存儲手段,也可從前述常數暫存器之上 位位數向下位位數依次記錄存儲前述常數。 藉此,從上位位數彌補常數暫存器,因此可實現適於 將以下位位數之全部作為零之常數置位於常數暫存器之處 理機》 又,前述常數存儲手段,可在不使已存儲在前述常數 暫存器之常數移位之狀態下,將前述新常數存儲在鄰接於 其常數之位置。 藉此,一旦存儲在常數暫存器之常數即不會變動其位 數位置,因此用來分割一個常數成多數指令之無用領域來 配置之編譯程式中的排程則變為容易。 又,前述常數存儲手段,可在剛藉由前述實行手段讀 出前述常數暫存器中所存儲之常數後,將零存儲在前述常 數暫存器》 藉此,僅將常數存儲在常數暫存器即可保證常數暫存 器中所存儲之常數為經常被零擴充的適當常數,每使用常 數暫存器之存儲值即為預先清除常數暫存器而用之獨立的 刪除指令則變成不需要。 又,前述實行手段,係備有一按照前述指令實行分支 操作之分支實行部;前述常數存儲手段,也可在藉前述分 支實行部來實行分支操作時,將零存儲於前述常數暫存器 (諳先閱讀背面之注意事項再填寫本頁) 裝·
、1T A7 Β7· 五、發明説明(6 ) 藉此’常數暫存器之存儲值隨分支操作之實行而被清 除’因此可迴避因常數暫存器中留有不需要的存儲值而造 成之障礙。 又’前述處理機係連接於一用來記憶處理機内部狀態 的外部記憶體’以便使用;該處理機更包含: 疏散手段’其係若由前述解碼手段來解碼為前述指令 係使前述常數暫存器之内容疏散於前述外部記憶體之疏散 指令時,實行其疏散;及 疏散禁止手段,係在前述常數暫存器中未存儲有效之 常數時,禁止藉由前述疏散手段來實行之前述内容之疏散 藉此可迴避常數暫存器為空狀態或存儲無效之常數時 之無效的疏散,因此可提高伴隨著多重任務之實行的上下 文交換之處理速度。 又’前述處理機,更包含有: 經濟部中央標率扃負工消費合作社印^ ---------装-- I 9 ί (請先閱讀背面之注意事項再填寫本頁) 訂 返回手段,其係若由前述解碼手段解碼為前述指令係 使前述外部記•㈣之内容返μ前料數暫㈣之返回指 令時,實行其返回;及 返回禁止手段,其係正由前述返回指令指示對應於由 前述疏散禁止手段所禁止之疏散的返回時,禁止藉由前述 返回手段來實行之前述内容之返回。 藉此,可迴避關於本來未返回之常數的從外部記憶體 向常數暫存器之返回’因此可提高伴隨著多重任務之實行 的上下文交換之處理速度。 本紙張尺度適用中國國家標準(CNS ) Α4規格(2丨0Χ297公酱 9 經满部中央榡準局員工消費合作社印12 A7 ---—__ _ Β7· 五、發明説明 又,包含有有效資訊記愧手段,其係用以記憶一用來 表示常數是否存儲在前述常數暫存器之有效資訊; 、前述疏散手段具有有效資訊疏散部,其係使記憶於前 述有效資訊記憶手段之有效資訊疏散於前述外部記憶體; 前述疏散禁止手段,係藉著參考前述有效資訊而判斷 為常數並未存儲在前述常數暫存器時禁止前述内容之疏散 » 前述返回手段具有有效資訊返回部,其係使記憶在前 述外部記憶體之有效資訊返回至前述有效資訊記憶手段; 前述返回禁止手段,係藉著參考疏散在前述外部記憶 體之有效資訊,而判斷為正由前述返回指令指示對應於由 前述疏散禁止手段所禁止之疏散的返回時,禁止前述内容 之返回。 藉此,處理機僅參考有效資訊即可迴避上述無用之疏 散和返回’因此用以實現之電路變成簡單。 又,前述有效資訊疏散部,係於由前述解碼手段解碼 為前述指令暫存器所保持之指令為前述疏散指令時,使前 述有效資訊疏散至前述外部記憶體;而前述有效資訊返回 部則由前述解碼手段解碼為前述指令暫存器所保持之指令 為前述返回指令時,使前述外部記憶體所記憶之有效資訊 返回至前述有效資訊記憶手段。 藉此’僅僅一個指令即可將常數暫存器之内容及有效 資訊成組成疏散或返回’因此用來上下文交換之程式尺寸 被縮小化。 本纸張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) n n n n n I 1^1 n n I n n T -U3-e (請先閲讀背面之注意事項再填寫本頁) 10 經濟部中央標準局貝工消費合作社印裝 A7 ---------B? _ 五、發明説明(〇 又前述有效資訊,係表示前述常數暫存器中所存 之常數的有效位數; 前述疏散禁止手段,係於前述有效資訊顯示零時禁止 前述疏散; ' 前述返回禁止手段,係於前述有效資訊顯示零時禁止 前述返回。 藉此,有效資訊顯示常數暫存器之内容有效性同時, 顯示常數之有效位數,因此不只是常數之疏散及返回之實 行控制,且為了使用有常數之運算處理的位數控制而可 活用此有效資訊。 又,若於用以實行由並行之多數操作所成之指令的 VLIW處理機中,沒有可並行實行之操作時,實行一配置 有要在隨後繼續之指令使用之常數的指令,以代替操作。 藉此,不只是對於用來指定單一操作之指令中產生的 無用領域,且對於一個之指令中可指定二個以上之操作的 VLIW中產生的無用領域,也可預先補足常數。 又,若於用以實行由並行實行之多數操作所成之指令 的VLIW處理機中,沒有可並行實行之操作時,在配置有 常數之指令中並行實行前述常數以外之操作以代替操作同 時,可預先依序存儲前述常數,以便在隨後繼續之指令使 用。 藉此,即使為僅在VLIW之一部分之操作存放有常數 時,也並行地實行其常數之存儲及其他操作。而且其常數 被記錄且存儲起來,供隨後繼續之指令所利用,所以g 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨0X297公釐) f請先閲讀背面之注意事項再填寫本頁) Μ. 訂· 11 經滴部中央標準局貝工消费合作社印製 A7 ________ Β7·五、發明説明(9 ) ---- 位數大之常數,也可預先將之分割,補足成多數之指人。 又,前述VUW處理機係用以解碼,實行含有格式化 棚及多數之作業欄之指令者,其中,該格式化欄存放有用 以指定指令之格式的格式碼,而多數之作業爛則用以指定 並行實行之操作;該VLIW處理機包含有: 常數暫存器,係用以存儲常數; 解碼手段,係藉著參考前述格式碼,而解碼至少一個 之前述作業欄中存放有常數事宜; 常數存儲手段’其係若藉由前述解碼手段來解碼為存 放有前述常數時,如果判斷為常數並未存儲於前述常數暫 存器的話將前述常數存儲於給定位置,反之如果判斷為常 數已存放在前述常數暫存器的話,將已存儲在前述常數暫 存器之常數留下來不動,而存儲新常數於前述常數暫存器 ;及 實行手段,係讀出前述常數暫存器中所存儲之所有常 數’以實行將其常數作為運算元之操作。 藉此’生成讓處理機實行的VLIW串時可將位數大之 常數預先分割配置在整個多數之VLIW。而且,存玫有常 數之指令中之位置(作業攔)雖藉格式化碼來明示地指定, 但常數之存儲對方(常數暫存器)和存儲位置(常數暫存器 上之位數位置)卻在暗默中指定者,因此用來存儲指令中 所存放之常數於常數暫存器之特定位置的明示性操作碼, 變成不需要。 如上所述,即使為藉編譯程式來生成機械指令串時, 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨0X297公釐) (請先閱讀背面之注意事項再填寫本頁} 裝- -*9 .1^1 · 12 五 、發明説明( 10 A7 B7 36 經濟部中央標準局負工消費合作社印聚 控 在該等指令串中有必要設置小無用領域之場合,可預先分 割要在隨後繼續之指令使用的常數並加以補足等之最適合 化排程’因此程式之碼尺寸被縮小化,尤其是,作為裝配 用途之處理機用時之實用價值頗大。 週_式之簡單說明 第1圖,係顯示習知技術之指令格式。 第2圖(a),係顯示由本發明之處理機所實行的指令之 欄構成。 第2圖(b)〜第2圖(d),係顯示16種之指令格式。 第2圖(b)係顯示可指定3操作之指令格式;第2圖卜)係 顯不可指定2操作之指令格式;第2圖(d)係顯示可指定"桑 作之指令格式。 第3圖為顯示操作碼之例;係分別由第2圖所使用之三 種操作碼“cc” 、“opl”及“〇p2”所指定的具體操作。 第4圚為一方塊圖,係顯示該處理機之硬體構成。 第5圖為一方塊圓,係顯示該處理機之常數暫存器 及其周邊電路之詳細構成。 第6圖(a)〜(d)係顯示依據第5圖所示之常數暫存器 制部32之常數存儲方法。 第6圖(a)係顯示格式化碼為“〇”或“丨,,時之存儲方法. 第6圖(b)係顯示格式化碼為“4”時之存儲方法;第6圖(^係 顯示格式化碼為“5”時之存儲方法;第6圖(d)係顯示格式 化碼為“2”、“3”及“A”中之任一時或常數暫存器%之存^ 值被當運算元指定時之存儲方法。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公羡) ^1 —^^1 ! - In I —i .1-'J^及 - —I nn ^ J 舞 /f - ^ (讀先閱讀背面之注意事項再填寫本頁) 13 A7 B7· 五、發明説明(11 ) 第7圖為一方塊圖,係顯示該處理機之PC部33的詳細 構成。 第8圖為一流程圖,係顯示處理32位元之常數的一例 〇 第9圖係顯示由該處理機來進行第8圖所示之處理的程 式之例。 第10圓為定時圖,係顯示實行第9圖所示之程式時之 本處理機之動作。 11圓係顯示由該處理機來進行16位元常數之處理的 程式之例。 第12圖(a)係顯示由通常之處理機所實行之指令的攔 疋義。第12圓係顯示該指令格式。 第13圖係顯示由上述通常之處理機來進行跟第9圖所 示之程式同一内容之處理的、程式之例。 第14囷係顯示由上述通常之處理㈣進行3艮第η圖所 不之程式同一内容之處理的、程式之例。 經濟部中央標率局貝工消費合作社印^ _ ίι·¥ ! (請先閱讀背面之注意事項再填寫本頁) 第15圖為_方塊圖,係顯示第一變形例之常數暫存器 36的周邊電路之構成。 第16圖(a)〜(h) ’係顯示格式化碼為“〇,,或“ 1,,時分 別’藉由存儲位數計數器91之值為〇〜7時之常數暫存器控 制部來進行的常數存儲方法。 二 第W圚,係顯示格式化碼為“4,,時,分別,藉由存儲 位數计數器91之值為〇〜7時之常數暫存器控制部列來 之常數存儲方法β
14 經濟部中央標準局貝工消費合作社印泶 A7 ---------_B7____ 五、發明説明(12) 一 第丨8圖’係顯示格式化碼為“5,,時,分別,藉由存儲 位數計數器91之值為〇〜7時之常數暫存器控制部9〇來進行 之常數存儲方法》 第B圖,係顯示格式化碼為“2”、“3”及“A”中之任一 時或常數暫存器36之存儲值被當做運算元指定時,藉助常 數暫存器控制部90之常數存儲方法。 第20圏為一方塊圖’係顯示第二變形例之常數暫存器 36的周邊電路之構成。 索21圓為一遷移圖,係顯示第2〇圖所示之讀出旗標記 憶部192之值的變化。 第22圖(a)〜(f),係顯示該變形例之常數暫存器36及 讀出旗標記憶部192之值的變化;第22圖(a)係顯示剛讀出 常數暫存器36中所存儲之常數《〇χ 87654321”後之内容; 第22圊(b)〜第22圖(e)係顯示剛繼其後依次存儲4位元之常 數 “0 X 8”、“0 X 7”、“0 X 6”、“0 X 5”後之内容;第 22 圓(f) 係顯示剛讀出第22圖(e)中之常數“0XFFFF8765”後之内容 〇 第2 3圊為一方塊圊’係顯不第三變形例之常數暫存器 36的周邊電路之構成。 第24圖為一方塊圓’係顯示第四變形例之常數暫存器 36的周邊電路之構成。 第25圖為一方塊圖,係顯示第五變形例之常數暫存器 36的周邊電路之構成及連接關係。 第26圖為一狀態遷移圖’,係顯示讀出旗標記憶部28之 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) I - - - I - —II - - 4 -i— i---- I. . I 丁 (請先閱讀背面之注意事項再填寫本頁) -15 - 經濟部中央標準局員工消費合作社印犁 A7 ______B7_ 五、發明説明(13) 值的變化。 第27圖為一流程圓,係顯示處理24位元之常數的一例 〇 第28圖顯示由本變形例之處理機來實行第27圖所示之 處理内容的程式之例。 〆第29圖係顯示由實施形態1之處理機來實行與第27圖 所示之流程圖同一内容之處理的程式例。 第30圚為一方塊圖,係顯示實施形態之處理機5〇〇的 硬體構成。 第31圖係顯示,有效位元數暫存器321之存儲值與常 數暫存器320之有效位元數的對應。 第32圖,係顯示用於本實施形態之說明的指令及其格 式。 第33圖為一方塊圖,係顯示常數復元電路322之詳細 構成。 第34圖為一定義圖,係用以定義多工器3224、3225、 3226及次有效位元數生成電路3227之動作。 第35圖係顯示疏散返回無效化電路301之詳細構成。 第36圖(a)為用以說明本處理機之動作的流程圖;第36 圚(b),係顯示對應於該流程圊之程式(指令571〜573)的列 表。 第37圊(a)為一流程圖,係顯示在有效位元數暫存器 321中存儲有OblO(下部26位元有效)之時間點進入嵌入處 理時(事例1)之指令流程。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本f ) -訂 16 A7 B7. 五、發明説明(14) 第37圖(b)為一流程圖’係顯示在有效位元數暫存器 中存儲有ObOO(全位元無效)之時間點進入嵌入處理時(事 例2)之指令流程。 第38圚為一流程圊,係略示事例1及2之處理機之動作 ,即’常數暫存器320之值的疏散及返回之有關動作。 第39圚,係顯示僅疏散及返回有效位元數暫存器32 j 之值的專用指令格式。· 第40圖為VLIW處理機600之機能方塊圖,其係相當 於將實施形態2之上下文交換機能附加於實施形態1之 VLIW處理機者。 第41圚’係由本處理機6〇〇所實行的VLIW 670之例。 適宜實施例之說明 以下,就本發明之處理機的實施形態,使用圖式來詳 細說明。又,於本說明書中,所謂「指令」係意味著可由 本處理機同時並行地解碼且實行之碼全體;又,所謂「操 作」係意味者由本處理機並行實行的數值運算、邏輯運算 、轉移、分支等之處理單位或用來指定其處理單位之碼。 (實施形態1) 關於實施形態1之處理機,係用來達成上述第一目的 之處理機者,其特徵為具有:將分割配置在整個多數指令 之常數的各片段,一面記錄(連結於位數方向)一面存儲於 專用暫存器,藉此復元成原來一個之常數的機能。 (指令格式) 首先說明有關由本處理機斯解碼實行之指令的構造。 (請先閲讀背面之注意事項再填寫本頁)
*1T 經濟部中央標準局貝工消費合作社印製
17 經濟部中央標準局貝工消費合作社印« A7 ________ B7 五、發明説明(15) —一- 本處理機為採用VLIW結構格式之處理機(以下,稱謂 「VLIW處理機」)’其係用以解碼實行做元定長之指令 〇 第2圖(a)係顯示由本處理機所實行的指令兄之攔構成 。第2圖(b)〜第2圊⑷係顯示16種之指令格式。其中,第2 圖⑻為可同時指定3操作之指令格式;第2圖⑷為可同時 指定2操作之指令格式;第2圏(d)為可同時指定一操作之 指令格式。 此指令50為32位元定長,係由各劃分成4位元之8個欄 (自上位起1>0.0欄51、P1.(^52、…、p3 2欄58)所成。又 ,將P2.0爛53〜P2.2攔55之群總括起來稱做第一運算棚59 ;將?3.0欄56〜1>3.2糊58之群總括起來稱做第二運算棚6〇 於第2圖(b)〜第2圖⑷中,“const,,為常數;而依此所 用之操作之種類而意味著立即值、絕對地址、位移等之數 值常數和字符常數。“Gp”係意味著指定操作種類之操作瑪 ;“Rs”係意味著成為源運算元之暫存器;“Rd,,係意味著成 為目的地運算元之暫存器;“ee”為用來指定分支操作之操 作碼,其係將本處理機所具備之專用32位-元暫存器(第4圖 所示之常數暫存器3 6)之存儲值作為分支對方之絕對地或 相對地址(位移)。 又,緊接著這些碼後所添附之數值,係用來表示究竟 為了第運算棚59及第一運算爛60中之那一操作使用者。 例如,若格式碼為“6”之指令格式時,存放在η 〇 2之4 I - I I I 1 I- - · · i: 1^1 - -*_1 I X» -ϊ^-·β *»/ί, (請先閲讀背面之注意事項再填寫本頁)
18 經濟部中央標準局負工消費合作社印製 A7 ~---- -—____ B7 五、發明説明(16 ) 位元之常數“const 1”與存放在P2.1欄54之4位元之常數 const 1便結合起來;意味著成為對應於第一運算攔59之 操作碼“opl”的源運算元,以作為8位元之常數。 又,沒有數值之常數“const”,係表示存儲在本處理 機所具備的專用32位元暫存器(第4圖所示之常數暫存器36) 之常數。例如,存放在格式碼為“〇,’之指令格式中的ρι〇 攔52之4位元常數“const”,係存儲在暗默地指定的常數暫 存器36之常數。 苐3圖為說明圖,係用來說明第2圖中所使用的、由三 種操作碼“CC”、“〇p”及“〇p”之各個所指定的具艘操作。 4位元之操作碼“cc”,係用以指定16種之分支操作中 之一個。一個之分支操作,係由分支條件及分支形式所特 定。在分支條件中有相等之(“eq”)、不等之(“neq,,)、更大 之(“gt”)等。在分支形式中有:將上述常數暫存器36之存 儲值作為分支對方之絕對地址分支之形式(於助憶顯示中 未添附i者)’及作為相對地址分支之形式(於助憶顯示申 有添附“i”者)。例如,操作碼“eq,,,係意味著眼前之比較 結果相等時依據絕對地址指定來進行分支之操作;操作碼 “eqi”則意味著,眼前之比較結果相等時依據相對地址指 定來進行分支之操作。 4位元之操作碼“opl”有:指定屬於“add”(加法)“sub,,( 減法)、“mul”(乘法)、“and’,(邏輯積)、“or”(邏理和)等算 術邏輯運算之操作中的一個之情況;及指定屬於“m〇v”[字 (32位元)資料之轉移]' ‘‘movh,,(半字資料之轉移)、“m〇vb,,( 本紙張尺錢财關家料([叫44胁(2丨()\297公釐/ -— -- (请先閱讀背面之注意事項再填寫本頁) 訂 19 經濟部中央標準局員工消費合作社印聚 A7 〜_____ B7五、發明説明(17 ) ~—— 字節資料之轉移)等暫存器。暫存器間轉移之操作中的一 個之情況。 4位元之操作碼“op2”有:除與上述操作碼“〇pi,,同一 之算術邏輯運算及暫存器•暫存器間轉移以外’再加上指 定屬於“Id”(從記憶體向暫存器字資料之負載)、“π,( 從暫存器向記憶趙之字資料之存儲)等暫存器•記憶體間 轉移之操作中的一個之況。 其次’說明第2圖(a)所示之各欄51、52、59、6〇之特 徵。 P0.0欄5卜係用以存放一用來特定該指令5〇之格式的 4位元格式碼之攔位者;具體言之,係用以特定第2_) 〜第2圊(d)所示之16種指令格式之一個。 Ρ1·〇攔52’係用以存放t數或分支用之操作碼的棚位 當把常數存放於此Ρ1·〇欄52時(格式碼=〇丨、4〜9時) ,其常數有:成為存儲於常數暫存器36之對像的情況(格 式碼=〇、1、4' 5時);及構成第-運算欄59或第二運算欄 60之運算元的一部分之情況(格式碼=5、7、8、9、Β時), 更且’若成為存儲於常數暫器36之對象時,有:僅存儲其 之常數的㈣(格式碼…時);及與存放在第一運 算欄59或第二運算糊60之12位元之常數一同存儲之情況( 格式碼=4.5時)。 一方面’若在此Ρ1._52存放有分支用之操作碼“a” 時(格式碼2 3、A時),其係意味著將存错在常數暫存器 本紙張尺度1¾则’關緖準(CNS ) A4規格(210X297公釐 --— — -20 - (請先閱讀背面之注意事項再填筠本f) 裝· -β
-^n— t^i t— -I A7 B7 經濟部中央標準局員工消費合作社印製 五、發明説明(18 %之常數作為分支對方之絕對地址,或,作為相對地叫 移位)分支。 第一運算攔59,係存放操作碼與運算元(源及目的地) 之組或常數,其中該操作碼係用以衫沒有本處理機與外 部(記憶體)之資料轉移的操作(算術邏輯運算、暫存器 轉移)。 3 第二運算欄60,除了上述第一運算搁59之情形以外, 有時候也存放操作碼與運算元之組,其巾該操作碼係用來 指定伴隨著本處理機與外部(記憶體)之資料轉移的操作( 暫存器、記憶間轉移)。 又,如上述之操作種類之分配於各攔位之事,係基於 :在諾埃曼型處理機方面並不需要同時實行二個以上之分 支操作;及將本處理機與外部(記憶體)之運算元之輸入輸 出口(第4圖所示之運算元存取部4〇)限定為一個等。 在此’第2圖(b)〜第2圖(d)所示之指令格式中有以下 之特徵》 第一,使常數存儲於常數暫存器36以便看清常數 “const”之指令格式,有以下之三種。 (1) 格式碼為“〇,,或“1”時: 依照此指令’將存放在Pl_〇攔52之4位元的常數存儲 在常數暫存器36。 (2) 格式碼為“4”時: 依照此指令’將存放在P1.0欄52〜^二攔^之“位元 的常數存儲在常數暫存器36。, 本紙張尺度適用中國國家標隼(CNS〉Α4規格(210X297公釐)
(請先閱讀背面之注意事項再填寫本頁J '裝
'1T 21 經濟部中央標率局員工消費合作社印製 A7 ------—__________ B7 五、發明説明(~~~~ -- (3)格式碼為“5”時: 依足、此私令,將存放在ρι 〇攔52及打〇攔56〜p3_2攔 58之16位元的常數存儲在常數暫存器刊。 第二,本處理機,雖可對於一個指令指定最大三個之 操作但那時候,為了從第2圖所示之3操作用之指令格式 得知’而豸等三個操作之種類成為以下之任一組合。 ⑴將4位元之常數置位於f數暫存器36之操作及兩個 泛用操作(格式碼為“〇,,、“丨,,時)。 (幻將置位於常數暫存器36之值作為絕對地址或相對 地址來为支之操作及二個泛用操作(格式碼為“2”、“3,,時) 〇 如此,本碑理機之指令,具有儘管僅為32位元長但仍 可同時指定最大三個之操作的、高碼效率之欄構成。 (處理機之硬體構成) 其次,說明本處理機之硬體構成。 第4圖為一方塊圖,係顯示實施形態1之處理機的硬艘 構成》 本處理機,一如上述,為一並行實行最大三個操作之 VLIW處理機;大別之’由指令暫存器1〇、解碼部2〇及實 行部30所構成。 指令暫存器10,係用以保持從指令取出部39送來的1 個指令之32位元暫存器。 解碼部20,係用以解碼由指令暫存器1 〇所保持之指令 ,將按照其解碼結果之控制線輪出至實行部30者,其大別 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨OX297公釐) ---------「装-- -· (請先閱讀背面之注意事項再填寫本頁) 訂 22 A7 B7
五、發明説明(2〇 ) 之,由格式解碼器21及指令解碼器22所構成。 指令解碼器22,更包含:分支解碼器23,其係用以解 碼pi.o攔12中所保持之操作碼“ cc,,,根據其結果控制pc部 33,第-運算解碼器24,其係用以解碼p2 〇棚⑽保持之 操作碼,根據其結果來控制第一運算部37;及第二運算解 碼器25,其係用以解碼!>3,〇欄16所保持之操作碼,根據其 結果來控制第二運算部38及運算元存取部40。 格式解碼器21,係藉著解碼抑^攔丨丨中所保持之4位 兀的扣令格式,而特定指令暫存器1〇所保持之指令格式究 竟為第2圖(b)〜第2圖(d)所示之16種中之那一個,按照其 結果許可或禁止藉助分支解碼器23、第一運算解碼器24及 第二運算解碼器25之解碼動作,或者使實行部3〇之常數暫 存器控制部32動作。 又’上述解碼器21、23〜25,係在基本上一週期解碼 一個操作,以便將控制信號授給實行部30。又,用來連接 指令暫存器10及實行部30之26位元的常數信號線26 ,係用 以轉移指令暫存器10中所存放之常數和運算元至實行部之 匯流排者。 實行部30,係根據解碼部20之解碼結果,並行實行最 大三個操作之電路單元,其係由實行控制部31、PC部33 、暫存器群34、第一運算部37、第二運算部38、指令取出 部及運算元存取部所構成。又,在此實行部30之中,關於 常數暫存器控制部32、PC部33及常數暫存器36者,在另 外之圊式也顯示詳細之構成' 本紙張尺度適用中國國家標準(CNS ) Ad規格(210X297公釐) I I —製 I I I 訂 4 , (請先閱讀背面I注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印裝 23 A7 B? 經濟部中央標準局負工消費合作社印t 五、發明説明(21 ) 實行控制部31,係根據在解碼部20之實行結果來控制 實行部30之各構成要素33〜40之控制電路和配線之總稱, 除了通常之處理機應具備之構成要素(定時控制、動作許 可禁止控制、狀態管理、嵌入控制等之電路)以外,更具 有本處理機所特有之常數暫存器控制部32。常數暫存器控 制部32,係根據來自格式解碼器21之指示來實行,將指令 暫存器中所保持之4位元或16位元之常數(const),存儲在 常數暫存器36之控制。
Pb(程式计數器)部3 3,係在藉由分支解碼器之控制下 ,將存放有下一個應解碼實行之指令的外部記憶體(未圖 示)上之地址,輸出至指令取出部39。 指令取出部39,係透過32位元之IA(指令地址)匯流排 及32位元之ID(指令資料)匯流排,從未圖示之外部記憶體 取出指令塊’將之保持於内部之指令快速緩衝記憶體之同 時,將相當於輸出自PC部33之地址的指令供給指令暫存 器》 暫存料34’係由15油位元泛用㈣㈣及㈣^ 位元常數暫存器36所構成。存儲在這些_暫存器35、^ 之值’係被轉移至第-運算部37及第二運算部38,在此施 用運算或者將之單純通過之後,送至暫存胃群Μ或運 算元存取部40。又,存儲在常數暫存器%之值除用於第 -運算部37及第二運算部38之運算以外,也轉移至⑽阳 ’在此為了生成成為分支對方之有效地址而使用。 第一運算部37,係於内部具有對於二個之32位元資料 '.·'裝------1T *- (請先閲讀背面之注意事項再填寫本頁)
A7 ________B7 五、發明説明— —— 進行算術邏輯運算的ALU及進行乘法的乘法器,在藉由第 一運算解碼器24之控制下實行二種操作(算術邏輯運算及 暫存器轉移)。 第二運算部38,係與第一運算部37同樣,於内部具有 對於一個之32位元資料進行算術邏輯運算之ALU及進行乘 法的乘法器,在藉由第二運算解碼器25之控制下,實行二 種之操作(算術邏輯運算及暫存器間轉移)。 運算7G存取部40,係在藉由第二運算解碼器之控制下 ,在命存器群34與未圖示之外部記憶體間,進行運算元之 轉移的電路者,而於内部具有用來保持其運算元和運算元 地址的緩衝器。具體言之,例如,若於指令暫存器1〇2P3〇 攔16中存放有操作碼“ ld ”時,存放在外部記憶體之一字資 料則經過運算元存取部4〇而負載在暫存器群34之任—暫存 器;又,若存放有操作碼“ st,,時,暫存器群34中之任一暫 存器之存儲值則被存儲在外部記憶體。 經滴部中央標準局員工消費合作社印聚 .^ϋ n^i 1Λ 1^1 ^11^. 參 4 /1.. (請先閲讀背面之注意事項再填寫本頁) 上述PC部33、暫存器群34、第一運算部37、第二運 算部38及運算元存取部4〇,如圖所示,係由内部匯流排(L1 匯流排、R1 ®流排、L2匯流排、R2匯流排、D1匯流排、 D2匯流排)所連接著。又,ug流排及R1匯流排係分別 連接至第一運算部37之兩個輸入口;以匯流排及r2匯流 排’係分連接至第二運算部38之兩個輸入口 ; D1匯流排 及D2匯流排係分別連接至第一運算部37及第二運算部38 之輸出口。 (常數暫存器36及其周邊電路之詳細構成) 本紙張尺度適用中國國家標準(CNS > 25 B7 五、發明説明(23 ) 其次,就常數暫存器36及其周邊電路詳細說明之。 第5圖為一方塊圖,係顯示常數暫存器36及其周邊電 路之詳細構成與連接關係。又,圖中之固定值(“〇,,)2 7, 係意味著表示常數“〇,,之4條信號線之固定配線。 常數暫存器控制部32,係由五個之3輸入選擇器32a〜 32e及二個之4輸入選擇器32f〜32h所構成;常數暫存器36 ,係由八個之4位元寬度暫存器36a〜36h所構成。又,各 輸入輸出資料為並行4位元。 畲數暫存器控制部32,係按照來自格式解碼器2丨及指 7解碼器22之控制信號控制上述八個之輸入選擇器32a〜 32h,藉此利用以下所示之四種存方法之任一方法使指 令暫存器ίο所保持之常數或零存儲於常數暫存器36〇 第6圖(a)〜第6圖(d),係用以說明其四種存儲方法之 圖。. 第6圖(a)係顯示藉格式解碼器21來解碼為p〇 〇攔u所 保持之值為‘‘0,,或時之存續方法。這是相當於,僅將存 放在Pl.o攔12之4位元常數存儲於常數暫存器36之例子。 具體言之,以4位元單元使常數暫存器所保持之資料 移位於上位之同時’將指令暫存器1〇<ρι 〇攔中所保持之 4位元常數存儲於常數暫存器36最下位之4位元暫存器36h 〇 第6圓(b),係藉格式解碼器21來解碼為p〇〇棚1丨中所 保持之值為“4”時之存儲方法。這是相當於,將存放於^ 〇 棚12〜P2.2欄15之16位元常數存儲於常數暫存器%之例子 本紙張尺度賴巧國$轉(CNS )赠格(21Qx297公资)---------- — -26 - 經滴部中央標準局員工消費合作社印製 A 7 _____ B7* 五、發明説明(24 ) ο 具趙言之’使保持在常數暫存器36之下位16位元36e 〜36h之資料’移位於上位16位元36a〜36d之同時,將保 持在指令暫存器1〇之^丨力攔^〜P2.2欄15之16位元常數, 存儲於常數暫存器36之下位位元36e〜36h。 第6圖(c),係藉格式解碼器21來解碼為p〇^攔丨丨中所 保持之值為“5”時之存儲方法。這是相當於,將存放在p1〇 欄12及P3.0欄16〜P3.2攔18之16位元常數存儲於常數暫存 器3 6之例子。 具體言之,使保持在常數暫存器36之下位16位元36e 〜36h之資料’移位於上位16位元36a〜36d之同時,將保 持在指令暫存器1〇2P1.〇欄及P3 〇欄16〜p3 2欄18之16位 元常數,存儲於常數暫存器36之下位16位元36e〜36h。 第6圖(d) ’係顯示藉格式解碼器21來解碼為p〇力欄^ 中所保持之值為“2”、“3”及“A”中之任一時或藉指令解碼 器22來解碼為卩^欄^、p2 2欄15、p3 2欄^及^。攔以 之至少一個指定有常數暫存器(R15)時之存儲方法。這是 相當於,藉由存放在P1.0欄12中之分支操作、第一運算攔 59及第二運算攔60之至少一個之操作來使用(讀出)常數暫 存器36之存儲值後,將全零存儲於常數暫存器(清除常數 暫存器3 6)之例子。 具想&之,常數暫存器36之存儲值被ρς;部33、第一 運算部37及第二運算部38中之任一個所讀出後,緊接著將 32位元之常數“〇,,存儲於常數暫存器36 β 本紙張尺度適财賴家標举(CNS ) M規格(2數297公楚) * .裝------,玎 -/Ji\ (請先閱讀背面之注意事項再填寫本頁) 27 經濟部中央標準局貝工消費合作社印製 A7 ---------B7_ 五、發明説明(25 ) 又’在常數暫存器36之使用後預先清除之原因,係為 了保證常數暫存器36中時常存儲有零擴充之值之故。在此 ,所謂零擴充,係指某數值之有效位數未滿一定之位數時 ’用零來彌補比其有效位數更上位之位數全部之處理而言 〇 如上所述’若指令暫存器10之P0.0欄11之值為“0Ί,, 、4”、“5”時,一面使已存儲之常數移位一面將新的常數 存儲於常數暫存器36。又,常數暫存器36,其存儲值一旦 被讀由使用的話,即抹除其内容。如此之後,常數暫存器 36,可記錄(連結於位數方向)連接不斷地存儲之常數。 (PC部33之詳細構成) 其次說明PC部33之詳細構成。 第7圓為一方塊圖,係顯示pc部33之詳細構成。 PC部33,係由表示常數“4”之固定配線即固定值 (“4”)33a、.2輸入選擇器33b、加法器33c、一用來保持應 下一個解碼實行的指令地址之PC33d、及4輸入選擇器33e 所構成。 此PC部33 ’係按照來自解碼部20之控制信號使選擇 器33b、33e動作,藉此使以下三種之值作為有效地址從選 擇器33e輸出至指令取出部39。 (1)於pc 33d之内容,加“4”之值 這是相當於,以不分支之狀態依次實行之例子,即, 在解碼實行之指令中未指定分支操作之例子。又,之所以 加“4”,是基於一個指令之長為4字節(32位元)。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閱讀背面之注意事項再填寫本頁} 裝.
、1T
» - I - I I 28 經濟部中央標準局負工消費合作社印製 A7 B7 五、發明説明(26 ) (2) 於PC 33d之内容,加常數暫存器之内容的值 這是相當於,將常數暫存器36之内容作為相對地分支 之例子,例如,由分支解碼器23解碼為藉P1.0攔12指定有 藉助相對地址之分支的例子。 (3) 常數暫存器36之内容 這是相當於,將常數暫存器36之内容作為絕對地址分 支之例子,例如,由分支解碼器23解碼為藉P1.0欄12指定 有藉助絕對地址之分支的例子。 如上所述,此PC部33由於構成備有專用加法器33C, 且直接使用常數暫存器36所保持之值,所以可實行將常數 暫存器36之存儲值作為絕對地址或相對地址來分支之實行 控制。 (處理機之動作) 其次,就解碼實行具體指令時之本處理機之動作說明 之0 第8圖為一流程圖,係顯示處理32位元之常數的一例 〇 於本圖中顯示:求暫存器R0與R1之存儲值之差(步驟 S80);對其結果乘暫存器R2之存儲值(步驟S81);進而對 其結果,加32位元之常數“0 X 87654321”(16進制數之 “87654321”)(步驟S82、S83);最後,預先清除暫存器R3( 步驟S84)等處理。 第9圖,係顯示由本處理機來實行第8圖所示之處理内 容的程式例。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公嫠) n I- - in ml in I -I I— -I -- I 1 - - - I- - - I * · (請先閱讀背面之注意事項再填寫本頁) 29 經漪部中央標準局貝工消費合作社印聚 A7 ________B7__ 五、發明説明(27 ) 此程式,係由二個指令71〜7 3所構成。1個相當於一 個指令,而各指令之内容則藉存放在各欄位之助憶來表達 。又,常數均用16進制數來表達。又,“fmtn(n=〇〜F),,係 表示格式碼“n”,“Rn(n=〇〜15)”係表示暫存器群34中之一 個暫存器。又,“R15”係意味著常數暫存器36。 第10圖為一定時圖,係顯示實行第9圖所示之程式時 之本處理機的動作》 於本圓中,顯示有時鐘週期、泛用暫存器尺❶〜们及 常數看存器R15之内容,在四個匯流排]^,R1,L2,R2 流動之資料《使用上述第9圖及第1〇圖,說明每各指令” 〜73之本處理機之動作。 (指令71) 當指令71被負載在指令暫存器1〇時,本處理機則進行 第10圊所示之時鐘週期to〜tl所示之動作。 格式解碼器21,從指令暫存器^之抑力攔丨丨之值 (“fm4”)判斷為,此指令為格式碼“4,,之2操作指令進而 控制實行部30以便並行實行以下之兩個操作。 (1) 第一操作 由常數暫存器控制部32’來控制内部之八個選擇器32& 〜32h’藉此利用第6圊(b)所示之存儲方法將保持在ρι 〇 棚12〜P2.2欄15之16位元常數(0X8765)存儲於常數暫存器 36之下位16位元。其結果’如第1〇圖之時鐘週期t〇〜⑽ 示’常产暫存HR15之内容,則從到其為止之“0χ__〇〇” 變化為“Οχ00008765”。 本紙張尺纽财關家樣準(CNS ) Α4規格(210X2974^~~~--- -*^n I - _1 ! --1 I— _ In 1^1 a^i— nn T"v * * /iv .(請先閲讀背面之注意事項再填寫本頁} 30 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(28) — (2)第二操作 由第二運算部38,將泛用暫存器R〇之内容(‘‘〇 χ 33 333333”)及泛用暫存器R1之内容(‘‘〇 X 22222222”)作為輸 入,在此進行減法之後,將其結果再存儲於泛用暫存器R〇 。其結果,如第10圖之時鐘週期t0〜tl所示,泛用暫存器尺〇之 内容’則從到其為止之“0X33333333”變化為“0xllllllll,,。 (指令72) 其次,當指令72被負載在指令暫存器1〇時,本處理機 則進行第10圖之時鐘週期tl〜t2所示之動作β 格式解碼器21 ’ 一如上述指令71之情況所示,從指令 暫存器10之Ρ0.0攔11之值(“fmt 4”)判斷為,此指令為格式 碼“4’’之2操作指令,進而控制實行部30以便並行實行以下 之兩個操作。 (1) 第一操作 由常數暫存器控制部32,來控制内部之八個選擇器32a 〜32h,藉此利用第6圖(b)所示之存儲方法,將保持在ρι 〇 攔12〜Ρ2·2攔15之16位元常數(Οχ 4321)存儲於常數暫存器 36之下位16位元。其結果’如第1〇圖之時鐘週期tl〜t2K 示,常數暫存器R15之内容,則從到其為止之“〇χ〇〇〇〇8765,, 變化為“Οχ 87654321”。 (2) 第二操作 由第二運算部38,將泛用暫存器R2之内容(“〇 X 00000004”)及泛用暫存器R〇之内容(“〇 X i i i i ji丨”)作為輸 入,在為輸入,在此進行乘法,之後,將其結果再存儲於泛 本紙张尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁) 髮· 31 A7 B7 經濟部中央標準局貝工消費合作社印^
X
X 五、發明説明(29 ) 用暫存器R0。其結果,如第10圖之時鐘週期ti〜t2所示, 泛用暫存器R0之内容,則從到其為止之‘‘〇 X 11Π1111,,變 化為 “0X44444444”。 (指令73) 最後,當指令73被負載於指令暫存器10時,本處理機 則進行第10圖之時鐘週期t2〜t3所示之動作。 格式解碼器21 ’從指令暫存器1〇之1>〇〇攔丨〗之值 (“fmt7”)判斷為,此指令為格式碼“7”之2操作指令,進而 控制食行部30以便並行實行以下之兩個操作。 (1) 第一操作 由第二運算部37,將常數暫存器R15之内容(“οχ 87654321”)值及泛用暫存器r〇之内容(“〇 χ 44444444,,)作為 輸入,在此進行加法之後,將其結果再存儲於泛用暫存器 R0。其結果,一如第10圖之時鐘週期t2〜t3所示,泛用暫 存器R0之内容’則從到其為止之“〇>< 44444444”變化為“〇 XCBA98765”,清除常數暫存器R15之内容。 (2) 第二操作 由第二運部38,將分割存放在Ρ1·0欄12&p3丨欄17之 8位元常數(“0X00”)作為輸入,使其照原樣通過後,存儲 在泛用暫存器R3。其結果,一如第1〇圖之時鐘週期t2〜 所示,泛用暫存器R3之内容,則從到其為止之“〇 FEDCBA98”變化為 “〇 χ 〇〇〇〇〇〇〇〇”。 如此之後,於本處理機中,32位元之常數“〇 87654321”則被分割配置在二個指令71,72,一面依次移 本紙張尺度適用中國國家椋準(CNS ) Λ4規格(210X297公楚) si— I - - - - - - I >4 ^^1 I 1^1 I— I I -- ---- X» *« /£,, (請先閲讀背面之注意事項再填寫本頁) 32 經濟部中央標準局貝工消费合作社印製 A 7 ____B7 五、發明説明(3〇 ) 位一面存儲於常數暫存器36之後,由第三號之指令73所利 用。如此之後,藉三個之指令71〜73來實行第8圖之流程 圖所表示之處理。 其次’使用用來處理16位元之常數的其他程式,來說 明本處理機之動作。 第11圖係顯示用來處理16位元常數之程式的例。 此程式,係由五個扁令74〜78所構成。 每各指令71〜73之本處理機之動作係如下。 (指令74) 當指令74被負載在指令暫存器1〇時,格式解碼器η, 則從指令暫存器10之P0.0欄11之值(“fmt〇”)判斷為,此指 令為格式碼“0”之3操作指令,進而控制實行部3〇以便並行 實行以下之三個操作。 . (1)第一操作 由常數暫存器控制部32,來控制内部之八個選擇器32a 〜32h,藉此利用第6圖(3)所示之存儲方法’將保持在ρι 〇 攔12之4位元常數(“0X8,,)存儲於常數暫存器%最下位之斗 位元暫存器36h。 (2) 第二操作 同樣,由第一運算部37,將泛用暫存器尺6之值作為 輸入,使其照原樣通過後,存儲於泛用暫存器R1。 (3) 第三操作 同樣,由第二運算部38 ’將泛用暫存器尺7之值作為 輸入’使其照原樣通過後,存儲於泛用暫存器R2。 本紙張尺度適财ϋϋ家鮮(CNS )⑽見格(2丨Qx297公楚) ϋ 1 n II - m *, - -I I-1— - ...... I -- I 丁 ·· -yjf, (請先閲讀背面之注項再填寫本頁) 33 A7 B7 經濟部中央標準扃貝工消費合作社印掣 五、發明説明(31 ) (指令75) 按照上述’當指令75被負載在指令暫存器1〇時格式 解碼器21,則判斷為此指令為格式碼“〇,,之3操作指令進 而控制實行部30以便並行實行以下之三個操作。 (1) 第一操作 由常數暫存器控制部32 ’來控制内部之八個選擇器 〜32h,藉此利用第6圈(a)所示之存儲方法,將保持在ρι 〇 欄12之4位元常數(“0X7”)存儲於常數暫存器%之最下位 之4位元暫存器36h。結果,在常數暫存器%之下位8位元 ,置位常數“0X87”。 (2) 第二操作 由第一運算部37,將泛用暫存器助舰之值作為輸 入,在此進行加法後’將其結果再存健於泛用暫存器ri 〇 (3) 第三操作 同樣’由第二運算部38,將泛用暫存器肋及们之值 作為輸入,在此進行加法後,將其結果再存儲於泛用暫存 器R2。 (指令76,指令77) 同樣,實行指令76, 77,藉此將常數“ 〇χ 8765”置位 於常數暫存器36之下位16位元。 (指令78) 當指令78被負載在指令暫存器1〇時本處理機,則進 行與第9圊所示之指令73之情況相同之動作。 豕紙張尺度i财而^鮮(―CNS ) Α4ίι格( -- I n n n n - · 丁 *T f « -/IV. (讀先閱讀背面之注意事項再填寫本頁) 34 經濟部中央標準局貞工消费合作社印製 A7 —---E_____ 五、發明説明(32 ) 如上所述,在本處理機方面,16位元之常數“οχ 8765,, ,被分割配置在四個指令74〜77之整個,進而一面依次移 位一面存儲於常數暫存器36之後,被第五號之指令所利用 〇 (與通常之處理機比較) 其次,說明關於由通常之處理機來進行與上述第9圖 及第11圚所示之程式同一内容之處理的例子,並與實施形 態之處理機比較。又,在此所謂通常之處理機,係指如實 施形ΐ 1之處理機之常數暫存器36和常數暫存器控制部32 一般’僅只不具備一用來記錄存儲所分割之常數的手段之 處理機而言’並假定用來實行32位元定長之指令者。 第12圊(a),係顯示由通常之處理機來實行的指令之 欄位定義;第12圖(b),係顯示其指令之格式。就是,假 定通常之處理機係用以實行三種之2操作指令ιοί〜ι〇3及 一種之1操作指令104者。 第13圊,係用通常之處理機來進行與第9圖所示之程 式同一内容之處理(即,第8圖之流程圖所示之處理)的程 式之例。 由第13圊與第9圖之比較可知,通常之處理機用之程 式’較之實施形態1之處理機用之程式多兩個指令。 又,指令105、106之所以含有nop碼,是因為指令1〇6 係使用指令105之運算結果,而無法使此等指令並行實行 之故。又,其所以將一個之常數“〇χ876554321,,分割成上 位16位元及下位16位元之兩個後置位於常數暫存器r 本紙張尺度刺巾關§:鮮(CNS ) A4規格(210X297公楚1 1^1 —^^1 1^1 im m I -1-1 4. ---------------- M3 、1' *· yf, (請先閱讀背面之注意事項再填寫本筲) 35 A7 _ Β7· 五ν發明説明(33 ) 令107、108),是因為在32位元之一個指令中,無法同時 配置置放指令之操作碼及32位元常數之兩方之故。 同樣,第14圓,係用通常之處理機來進行與第η圖所 示之程式同一内容之處理的程式之例。 由第14圖與第11圖之比較可知,通常之處理機用之程 式,較之實施形態1之處理機用之程式多一個指令。 如上所述,如依實施形態1之處理機,則儘管16位元 和32位元之常數被分割配置在多數之指令全體,也藉著將 之記錄存儲於常數暫存器36而復元於原常數,且被用於分 支和算術運算等之操作。就是,即使為指令中產生的小領 域,也可分割常數來彌補,所以較之讓通常之處理機實行 之場合,更可縮小程式之碼尺寸。 (常數暫存器36之周邊電路之變形例) 其次’例示幾個關於第5圖所示之常數暫存器3 6的周 邊電路之變形例。 (第一變形例) 經濟部中央標準局貝工消費合作社印製 , 裝-- » , /Γ4. (請先閲讀背面之注^|^項再填寫本頁) 第15圖為一方塊圖,係顯示第一變形例之常數暫存器 36的周邊電路之構成及連接關係。 第5圖之常數暫存器控制部32,雖使常數暫存器妬作 為移位暫存器作用,但第15圊之常數暫存器控制和卻使 常數暫存器36作為並行輸入之暫存器作用,在此方面有差 異。具趙言之,常數暫存器控制部9〇與格式解碼器21之連 接及常數暫存器控制部90之構成要素,係與第5圖所示者 不同。 本紙張尺度適用中國國家標準(CNS) Αϋϋ_ (2丨οχ297公着y 36 經濟部中央標準局只工消費合作社印製 Α7 Β7 五、發明説明(34) ~~--- 常數暫存器控制部90,係、由存儲位數計數器91及8輸 入選擇器,〜9Gh所構成。存儲位計數器91為3位元之計 數器,其係於時間點用四位元字(n_e)單位來表示常數 暫存器36中所記錄之常數的有效位數者。 當常數暫存器控制部90,從格式解碼器21接收「存儲 指令暫存器H)中所保持之常數」的趣旨之指示時,藉著參 考在其時間點之存儲位數計數器W之值,而將其常數存儲 於常數暫存器36之適當位置;其後,預先更新存儲位數計 數器91。又,當從格式解碼器21或指令解碼器22接收「為 了某些操作而讀出常數暫存器36之存儲值」之趣旨的通知 時,將來自固定值(“〇’’)92之全零存儲於常數暫存器36 ; 其後’預先將存儲位數計數器91復位。 具體言之,當常數暫存器控制部90 ,從格式解碼器21 接收「P0.0攔11之值為“〇”或“丨”」之趣旨的指示時,按照 其時之存儲位數計數器91之值〇〜7,控制選擇器9〇a〜9〇h ,以便藉第16圖(a)〜第16圖(1〇所示之各存儲方法將ρι 〇 攔12中所存放之丨nibbie之常數存儲於常數暫存器% ;其 後,將存儲位數計數器91增量1。 同樣,當常數暫存器控制部90,從格式解碼器21接收 P0.0」欄11之值為“4”」之趣旨的指示時,按照其時間 點之存儲位數計數器91之值0〜7,控制選擇器90a〜9〇h, 以便藉第17圊(a)〜第17圖(h)所示之各存儲方法將ρι 〇攔 12〜P2.2攔15中所存放之4 nibble之常數存儲於常數暫存 器36 ;其後將存儲位數計數器.91增量4 » 本紙張尺度適用中國囤家標準(CNS ) A4規格(21〇χ297公釐) |~7!;---裝------訂 (請先閱讀背面之注意事項再填寫本頁) -37 A7 _ _ B7— 五、發明説明(35) — 同樣,當常數暫存H控制㈣,從格式解碼器21接收 「!>〇·〇攔η之值為“5、之趣旨的指示時,按照其時間點 之存儲位數計數器91之值〇〜7,控制選擇器9〇a〜9〇h,以 便分別藉第18圈⑷〜第18圓⑻所示之各存儲方法,將ρι 〇 攔12及P3.0攔16〜?3.2攔18所存放之4 nibbie之常數存儲 於常數暫存器36,其後,將存儲位數計數器91增量 更且’若常數暫存器控制部90,從格式解碼器21接收 了「P0.0攔η之值為“2”、“3”及“A”中之任—個」之趣旨 的指示時,或從指令解碼器22接收了「其係將常數暫存器 36之存儲值作為運算元之操作」之趣旨的指示時如第D 圊所不之常數暫存器36—般,使32位元之常數“〇,,存儲於 常數暫存器36,其後,將存儲位數計數器91清除成零。 如上所述,藉由此第一變形例之常數暫存器控制部9〇 ,與上述常數暫存器控制部32之情況同樣,分割配置在多 數之指令全體的常數被記錄存儲在常數暫存器36,藉此復 元成原來之常數》 但與上述常數暫存器控制部之情況不同的是,存放在 後來實行的指令之常數被存儲在常數暫存器36之上位位數 ,因此,為了使此變形例之處理機實行第8圖之流程圖所 不之處理,而需要在第9圖所示之程式,預先改換指令71 之常數“Ο X 8765”與指令72之常數“〇 X 4321,,。 (第二變形例) 其次,例示第二變形例。 第20圖為一方塊圖,係顯'示第二變形例之常數暫存器 本紙張尺度適用中國國豕標準(CNS ) Α4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁)
m I I .'裝. 訂 經濟部中央標準局貝工消費合作社印製 38 A7 __________B7 五、發明説明(36 ) 一-- 36的周邊電路之構成及連接關係。 此第二變形例雖在使常數暫存器36之存儲值一面移位 -面記錄新常數方面,與第5圖所示者相同,但在存儲於 常數暫存器36之前先將常數予以碼擴充之方面及儘管常數 暫存器36之存儲值被讀出之時候也不將常數暫存器%清除 方面,卻相異0 又,所謂㈣充’係指若某數值之有效位數不滿一定 之位數時,將其數值之最上位元看做碼位元,用跟其碼位 元相同之邏輯值來彌補上位位數之處理而言。 碼擴充控制部191 ,若其指令暫存器1〇所存放之常數 為關於讀出常數暫存器36之存儲值後初次存儲者時,控制 常數暫存器控制部190,以便將其常數碼擴充後存儲在常 數暫存器36 ;反之,若非上述之情況時,控制常數暫存器 控制部190以便以不將其常數碼擴充之狀態存儲於常數暫 存器36。為此,碼擴充控制部191,備有用來預先記憶1位 元之讀出旗標於内部之讀出旗標記憶部丨92,並根據來自 格式解碼器21及指令解碼器22之指示,更新讀出旗標記憶 部192。 。 第21圖係顯示讀出旗標記憶部192之值的變化之狀態 遷移囷。 當碼擴充控制部191,從格式解碼器21或指令解碼器22 接收「常數暫存器36之存儲被讀出」之趣旨的通知時,其 讀出後將讀出旗標記憶部192之值置位於“1” ;而當從格式 解碼器接收「將存放於指令暫存器1〇之常數存儲於常數暫 本紙張尺度適财_料(規格(21()χ2·廣) ---- -39 - —^n m · ' Μ--- ♦ t y_«m (請先閲讀背面之注意事項再填寫衣瓦) --口 經濟部中央標準局貝工消費合作社印聚 A7 B7 經濟部中央標準局員工消費合作社印12 五、發明説明(37 ) 存器36」之趣旨的通知時,其存儲後將讀出旗標記憶部192 之值置位於“0”。然後,碼擴充控制部191,使新常數存儲 於常數暫存器36時參考讀出旗標記憶部192,若其值為“ 時,使其常數在碼擴充後存儲於常數暫存器36。 又,於第20圖,從選擇器190h及選擇器19如之輸出分 支而配線在其他選擇器之信號線,僅為相當於各輸出4位 元中之最上位元的信號“》 第22圓(a)〜第22圖(f),係顯示此第二變形例中之常 數暫存器36及讀出旗標記憶部192之值的變化。 第22圖(a),係顯示剛讀出常數暫存器36中所存儲之 常數“0 X 87654321”後之它們之内容;第22圖(b)〜第22圖(e) 係顯示,剛在其後依次存儲4位元之常數“〇χ8”、“〇χ7” 、“ 0X6”、“0X5”後之它們之内容;第22圖⑴係顯示,剛 讀出第22圖⑷中之常數“0XFFFF8765,,後之它們之内容。 如此之後,於第二變形例,由碼擴充控制部191藉讀 出旗標記憶部192來管理碼擴充之必需性之有無,藉此將 分割配置在多數指令全體之常數,記錄存儲於常數暫存器 36 ’作為所碼擴充之原常數加以復元。 (第三變形例) 其次’例示第三變形例。 第23圖為一方塊圖,係顯示第三變形例之常數暫存器 36的周邊電路之構成及連接關係。 此第三變形例,與上述第二變形例相較’雖在使常數 暫存器36之存儲值-面移位,面記錄新常數方面及進 --I I I - . - —^1 —^1 V - - , I— I. In —.1 .L. (請先閲讀背面之注意事項再填寫本頁)
40 經濟部中央標準局貝工消費合作社印製 A7 ___ B7 Λ、發明説明(一 —---- 擴充方面有共同點,但並非在存儲常數於常數暫存器妬時 進行擴充處理,而是從常數暫存器讀出常數時進行擴充處 理方面,卻相異。 又,如與第5圖所示之周邊電路及連接關係比較的話 ,此第二變形例並未設置用來存儲全零於常數暫存器%之 構成,而重新附加有擴充控制部291及零/碼擴充部293。 常數暫存器控制部290,除了不做清除常數暫存器36 之事以外’其餘則進行與第5圖所示之常數暫存器控制部32 同樣之動作。 碼擴充控制部291 ’係於讀出數暫存器36中所存儲之 常數時,控制零/碼擴充部293,以便其常數適當地零擴充 或進行碼擴充。為此,擴充控制291,係於内部備有由3位 疋之計數器所成之存儲位數計數器292。存儲位數計數器 292,係用來預先以nibble單位記憶記錄於常數暫存器36 之常數有效位數者。當擴充控制部291從格式解碼器21, 接收了「新之常數已存儲在常數暫存器」的趣旨之通知時 ,將存儲位數計數器292增量其常數之位數(nibble單位之 位數);而若從格式解碼器21或指令解碼器22接收「讀出 了常數暫存器36之存儲值」之趣旨的通知時,將存儲計數 器292予以復位。 此擴充控制部291,進而,根據來自指令解碼器22之 指示’將用來指定擴充形式(零擴充或碼擴充)之1位元之 控制信號、及用來表示存儲位數計數器292之值的3位元之 控制信號,輸出至零/碼擴張部293。 本紙張尺舰用巾軸家縣(CNS ) A4規格(21GX297公釐) -I I I - - · I - I I— I I m I I-- m ^^1 HI *J ·ί\ (請先閱讀背面之注意事項再填寫本頁) 41 經漪部中央標準局貝工消費合作社印製 A7 _____B7 五、發明説明(39 ) 零/碼擴充部293,則把輸出自常數暫存器36之32位元 的存儲值作為輸入’根據從擴充控制部291通知之擴充形 式及有效位數(nibble單位之位數),進行零擴充或碼擴充 。具想言之’若從擴充控制部291指定之擴充形式為碼擴 充時’將相當於通知自擴充控制部291之有效位數的最上 位之位元邏輯值複製於比其有效位數更上位之所有位數, 並將複製而得之值予以輸出;一方面,若為零擴充時,輸 出將該等上位之所有位數作為零之值。 例如’若所輸入之存儲值為“0X 87654321,,,從擴充 控制部291通知之擴充形式為碼擴充且有效位數為4 時’零/碼擴充部293則輸出“〇χ 00004321”。 如此,藉日本第三變形例,將分割配置在多數指令全 體之常數記錄存儲於常數暫存器36,藉此復元為原來之常 數,待零擴充或碼擴充之後,被分支或運算等之操作所利 用0 (第四變形例) 其次,例示第四變形例。 第圊為方塊圊,係顯示第四變形例之常數暫存器 36的周邊電路之構成及連接關係。 此第四變形例,與第5圊所述者相較,雖在使常數暫 存器36之存儲值一面移位一面記錄新常數方面有共同點, 但卻在移位方向及存儲於常數暫存器之位置方面互不相同 具體°之’使常數暫存器36之存儲值從上位位數移位至 下位位數之同時,將存放在指冷暫存器10之新常數存储於 本紙張尺度適用中關家標率( 21Gx297公酱-y (請先閲讀背面之注意事項再填寫本頁) 、1Τ 42 經濟部中央標準局貝工消費合作社印¾ A7 ---- -Β7· 五、發明説明(4〇 ) 常數暫存器36之上位位數。又,在剛讀出常數暫存器36之 存儲值後清除常數暫存器36方面,係與第5圖者相同。 從第24圖與第5圖之比較可知,此等之連接關係成為 對稱於位數方向,所用之構成要素為同一。 如依本第四變形例,可藉更少之存儲次數,將以下位 位數全部作為零之數值置位於常數暫存器36。例如,若待 清除常數暫存器36後置位新32位元之常數“〇 χ 8765〇〇〇〇” 時,如為第5圖所示之連接的話,雖必需要存儲二個之16 位元常數“0Χ 8765,,及“0X0000”,但如為第Μ圊所示之連 接的話,僅存儲一個之16位元常數“〇χ 8765,,即可。其在 置位以小數點以下全部作為零的固定小數點數值時,頗方 便。 (第五變形例) 其次,例示第五變形例 第五變形例之處理機,與上述實施形態丨相較,雖在 使常暫存器36之存儲值一面移位一面記錄新常數方面有共 同點,但依常數暫存器36之内部狀態,而具有一種機能( 將連結一作為第一運算攔59之源運算元54直接指定之常數 及一已存儲在常數暫存器36之常數而成的32位元之常數, 作為第一運算欄59之實質性運算元供給第一運算部37)方 面,卻相異。 以下’只具體說明與上述實施形態1不同之處。 第25圖為一方塊圖,係顯示第五變形例之常數暫存器 36的周邊電路之構成及連接關係。 本纸張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) n I I n n n n I I Λ n I - I - I T *, /·ι (諳先閲讀背面之注意事項再填寫本頁) 43 經濟部中央標準局員工消費合作杜印^
Α7 ------- Β7· 五、發明説明(41 ) ' --- 讀出旗標記憶部28,為一用來記憶常數暫存器36之内 部狀態的1位元記憶體,其係為調查是否零清除常數暫存 器36而使用者。 第26圚為狀態遷移圖,係顯示讀出旗標記憶部以之值 的變化。若讀出常數暫存器36之存儲值,且未進行對於常 數暫存器36之常數之存儲時,讀出旗標記憶部28之值,則 被置位於“1”。當旗出旗標記憶部28之值為“1”之狀態,且 被指定為存儲常數之操作時,常數暫存器%之内容則在設 在常政前由常數暫存器控制部490之控制所零清除。其後 ,讀出旗標記憶部28之值被置位於‘‘〇,、 藉著準備此種讀出旗標記憶部28,而在存儲新常數時 變成可判定零清除之必需性之有無;從而不需要在使用常 數暫存器36之值的時間點預先零清除常數暫存㈣。藉此 ,可實現如以下所示之常數暫存器36的存儲值全體之再利 用。 本變形例之處理機,係對於第2圖所示之各格式之指 令,按照讀出旗標記憶部28之值,進行如下所述之不同動 作。又,依照本變形例之處理機,讀出旗標記憶部8之值 ’係置位於“1”以作為初始狀態。 關於格式碼(P0.0棚11之存儲值)“〇’,: (1)讀出旗標記憶部28之值為“1”時 首先’實行被指定在第一運算襴59之“opl”。源運算 元為“Rs 1 ;目的地運算元為“Rd 1”。 與之同時,實行被指定在第二運算欄60之“ 〇p2”。
本紙張尺度適用中國國家標準(CNS ) A4规格(2]〇χ297公釐)
44 - 經濟部中央標準局員工消費合作社印製 A7 — _____Β7· 五、發明説明(42 ) 運算元為“Rs2”;目的地運算元為“Rd2,,。 其次’將被指定在Pl_〇糊52之“const”存儲於常數暫存 器36之36h,零清除36a〜36g。然後,使讀出旗標記憶部28 之值成為“0”。 (2)讀出旗標記憶部28之值為“〇,,時 首先’實行被指定在第一運算欄59之“〇p 1’,。源運算 元為“Rsl”;目的地運算元為“Rdl”。 與其同時,實行被指定在第二運算攔6〇之“op2,\源 運算先為“Rs2”;目的地運算元為“Rd2,,。 其次’待將常數暫存器36之3 6b〜3 6h向左移位4位元 之後,將被指定在P1.0攔52之“const”存儲於常數暫存器36 之36h »讀出旗標記憶部28之值依然為‘‘〇,,。 關於格式碼“ 1,,: (1) 讀出旗標記憶部28之值為“1”時 首先,.實行被指定在第一運算欄59之“〇p 1”。目的地 運算元為“Rdl”。源運算元為由Ρ2_ι欄54所指定的4位元之 常數“constl”。 與其同時,實行被指定在第二運算攔60之“〇p2,^源 運算元為“Rs2”;目的地運算元為“Rd2,,。 其次,將被指定在P1.0攔52之“const”存儲於常數暫存 器36之36h ’並零清除36a〜3 6g。然後,使讀出旗標記憶 部28之值成為。 (2) 讀出旗標記憶部28之值為“〇,,時 首先’實行被指定在第一運算欄59之“opl”。目的地 本紙張尺度通用中國國家標準(CNS ) A4規格(21〇χ:297公釐) I u I— ------. —-- -- T \,03r 、·=·β *w it.J、 , (請先閱讀背面之注意事項再填寫本頁) 45 A7 B7· 五、發明説明(43 ) 運算元為“Rdl”。料算元為,連結常數暫存器36之3仍 〜36h與被指定在^一欄^之々位元常數“ c〇nsU,,之32位元 常數。然後’由於讀出了常數暫存器36之内容,而將讀出 旗標記憶部28之值置位於“ 1,,。 與其同時,實行被指定在第二運算攔6〇之“〇132,,。源 運算元為“Rs2”;目的地運算元為“Rd2,,。 其次,在此時間點,讀出旗標記憶部28之值成為“Γ, ,所以將被指定在Ρ1.0欄52之“ c〇nst,,存儲於常數暫存器36 之36h。並零清除36a〜36g。然後,使讀出旗標記憶部28 之值依然為“0”。 關於格式碼“2” : (1) 讀出旗標記憶部28之值為“1”時 首先’實行被指定在第一運算棚59之“op 1 ’,。源運算 元為“Rsl”;目的地運算元為“Rdl”。 與其同時,實行被指定在第二運算欄6〇之“ 〇p2,’。源 運算元為“Rs2”;目的地運算元為“Rd2,,。 其次’判定是否滿足被指定在Ρ1·〇攔52之“cc”操作之 分支條件;若滿足時,於pc部33,從常數暫存器36之内容 求出分支對方地址後,將之存儲於pC(Pr〇grarn Counter)。 讀出旗標記憶部28之值仍為“1”。 (2) 讀出旗標記憶部28之值為“〇,,時 首先,實行被指定在第一運算欄59之“op 1,,。源運算 元為“Rs 1”;目的地運算元為“Rd 1 ”。 與其同時’實行被指定在第二運算欄60之“op2”。源 本紙張尺度剌中關§:縣(CNS ) M祕(2|QX297公着) (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標準扃員工消费合作社印製
46 A7 B7 五、發明説明(44) 運算元為“Rs2”;目的地運算元為“Rd2”。 其次,判定是否滿足被指定在P1.0欄52之“cc”操作之 分支條件;若滿足時,於PC部33,從常數暫存器36之内 容求出分支對方地址後,將之存儲於PC。 最後,將讀出旗標記憶部28之值置位於“1”。 關於格式碼“3”: (1) 讀出旗標記憶部28之值為“1”時 首先,實行被指定在第一運算攔59之“opl”。目的地 運算元為“Rdl”。源運算元為被指定在P2.1欄54之4位元的 常數“constl”。 與其同時,實行被指定在第二運算欄60之“op2”。源 運算元為“Rs2”;目的地運算元為“Rd2”。 其次,判定是否滿足被指定在Ρ1·〇欄52之“cc”操作之 分支條件;若滿足時,於pc部33,從常數暫存器36之内容 求出分支對方地址後,將之存儲於PC(Program Counter)。 讀出旗標記憶部28之值依然為“1”。 (2) 讀出旗標記憶部28之值為“0”時 經濟部中央標準局—工消費合作社印家 : 裝-- (锖先閱讀背面之注意事項再填寫本頁) 首先,實行被指定在第一運算攔59之“opl”。目的地 運算元為“Rdl”。源運算元為被指定在P2.1攔54之4位元常 數“constl”。 與其同時,實行被指定在第二運算攔60之“op2”。源 運算元為“Rs2”;目的地運算元為“Rd2”。 其次,判定是否滿足被指定在P1.0欄52之“cc”操作之 分支條件;若滿足時,於pc部33,從常數暫存器36之内容 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 47 經濟部中央標準局員工消費合作社印衆 A7 B7 五、發明説明(45) 求出分支對方地址後,將之存儲於Pc(pr0gram counter)。 最後’將讀出旗標記憶部2 8之值置位於“ 1,’。 關於格式碼“4” : (1) 讀出旗標記憶部28之值為“1”時 首先,實行被指定在第二運算欄6〇之“〇p2,\源運算 元為“Rs2”;目的地運算元為“Rd2,,。 其次,將被指定在P1.0欄52〜P2.2欄55之16位元的常 數“const”,存儲於常數暫存器36之下位16位元36e〜36h ,並拿清除36a〜36g。然後,使讀出旗標記憶部28之值成 為 “0,,。 (2) 讀出旗標記憶部28之值為“〇,,日夺 首先,實行被指定在第二運算攔60之“op2”》源運算 元為“Rs2”;目的地運算元為“Rd2,,。 其次,待將常數暫存器36之下位16位元36e〜36h移位 於36a〜36d之後,將被指定在P1 〇欄52〜p2 2欄之55之16 位元的常數“const”存儲於常數暫存器36之下位16位元36e 〜36h。讀出旗標記憶部28之值依然為“〇,,。 關於格式碼“5”: (1)讀出旗標記憶部28之值為“1”時 首先,實行被指定在第一運算攔59之“op 1”。源運算 元為“Rsl”;目的地運算元為“Rdl,,。 其次’將被指定在P1.0攔52及P3.0欄56〜P3.2攔58之 16位元的常數“const” ’存儲於常數暫存器36之下位16位 元36e〜36h,並零清除36a〜36d。然後,使讀出旗標記憶 本紙張尺度適用中國國家標準(CNS ) Λ4規格(2丨0X297公釐) (請先閲讀背面之注意事項再填寫本頁) 策·
*1T 48 A7 B7 五、發明説明(46 ) 部28之值成為。 (2)讀出旗標記憶部28之值為“0,,時 首先’實行被指定在第一運算攔59之“〇ρ 1,’。源運算 元為“Rsl”;目的地運算元為‘‘Rdl’,。 其次’待將常數暫存器36之下位16位元36e〜36h移位 於36a〜36d之後,將被指定在pro攔52及P3.0攔之56〜P3.2 欄58之常數“c〇nst”存儲於常數暫存器36之下位16位元36e 〜36h。讀出旗標記憶部28之值依然為“〇’,。 础於格式碼“6” : (1) 讀出旗標記憶部28之值為“1”時 首先’實行被指定在第一運算攔59之“opl”。目的地 運算元為“Rdl”。源運算元為,使被指定在P1 0攔52之4位 元的常數“constl”與被指定在P2.1攔54之4位元常數 “const 1”連結的8位元之常數。 與其同時,實行被指定在第二運算欄60之“〇p2”。源 運算元為“Rs2”;目的地運算元為“Rd2”。^ (2) 讀出旗標記憶部28之值為時 經濟部中央標準局貝工消費合作社印聚 (請先閲讀背面之注意事項再填本頁) ,11 首先’實行被指定在第一運算欄59之“op 1”。目的地 運算元為“Rdl”。源運算元為,連結一被指定在常數暫存 器36之下位24位元36c〜36h及P1.0欄52之4位元常數 “constl”及一被指定在P2.1欄54之4位元常數“constl”的、32 位元常數。然後,由於讀出常數暫存器36之内容,而將讀 出旗標記憶部28之值置位於“1”。 與其同時,實行被指定在第二運算欄60之“op2”。源
-49 - Β7· 五、發明説明(48 ) 的地運算元為“Rd2”。源運算元為被指定在P3.1欄57之4位 元常數“const2”。 (2)讀出旗標記憶部28之值為“0”時 首先,實行被指定在第一運算欄59之“opl”。目的地 運算元為“Rdl”。源運算元為,連結一被指定在常數暫存 器36之下位24位元及P1.0欄52之4位元常數“constl”及一被 指定在P2.1攔54之4位元常數“constl”的、32位元常數。然 後,由於讀出了常數暫存器36之内容,而將讀出旗標記憶 部28之值置位於“1”。 與其同時,實行被指定在第二運算欄60之“op2”。目 的地運算元為“Rd2”。源運算元為被設定在P3.1攔57之4位 元的常數“const2”。 關於格式碼“9” : (1) 讀出旗標記憶部28之值為“1”時 首先,實行被指定在第一運算攔59之“op 1”。目的地 運算元為“Rdl”。源運算元為被指定在P2.1欄54之4位元常 數“constl”。 經濟部中央標準局貝工消費合作社印裝 (請先閱讀背面之注意事項再填寫本頁) 與其同時,實行被指定在第二運算欄60之“op2”。目 的地運算元為“Rd2”。源運算元為使被指定在P1.0欄52之4 位元常數“const2”,源運算元為使被指定在P1.0欄52之4位 元常數“const2”及被指定在P3.1欄57之4位元常數“const2” 連結的8位元常數。 (2) 讀出旗標記憶部28之值為“0”時 首先,實行被指定在第一運算欄59之“op 1”。目的地 本紙張尺度適用中國國家標準(CNS ) A4規格(2I0X297公釐) 51 A7 B7 五、發明説明(49 ) 運算元為“Rdl”。源運算元為,連結一被指定在常數暫存 器36之下位28位元36b〜36h及P1.0欄52之4位元常數、及 一被指定在P1.0欄52之4位元常數“constl”的、32位元之常 數。然後,由於讀出了常數暫存器36之内容,而使讀出旗 標記憶部28之值置位於“1”。 與其同時,實行被指定在第二運算欄60之“op2”。目 的地運算元為“Rd2”。滅運算元為,使被指定在P1.0攔52 之4位元常數“const2”及被指定在P3.1攔57之4位元常數連 結的、8位元常數。 關於格式碼“A” : (1) 讀出旗標記憶部28之值為“Γ時 首先,實行被指定第二運算元60之“op2”。目的地運 算元為“Rdl”。源運算元為,使被指定在P2.0欄53〜P2.2 欄55之12位元常數“const2”與被指定在P3.1攔57的4位元常 數“const2”連結的、16位元常數。 經濟部中央標準局貝工消費合作社印裝 (請先閱讀背面之注意事項再填寫本頁) 其次,判定是否滿足被指定在P1.0欄52之“cc”操作之 分支條件;若滿足時,於pc部33,從常數暫存器36之内容 求出分支對方地址後,將之存儲於PC(Program Counter)。 讀出旗標記憶部28之值仍為“1”。 (2) 讀出旗標記憶部28之值為“0”時 首先,實行被指定在第二運算攔60之“op2”。目的地 運算元為“Rdl”。源運算元為,使被指定在P2.0攔53〜P2.2 欄55之12位元常數“const2”與被指定在P3.1欄57的4位元常 數“const2”連結的16位元常數。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 52 A7 Β7· 五、發明説明(50 ) ~—' 其次,判定是否滿足被指定在P1.0欄52之“ ce,,操作之 分支條件;若滿足時,於p(^p33,從常數暫存器36之内容 求出分支對方地址後,將之存儲於PC(Pr〇gram Counts)。 最後’將讀出旗標記憶部28之值仍為“1”。 關於格式碼“B” : 其係只實行1操作之指令,且,不管讀出旗標記憶部28 之值如何,並不進行常λ暫存器36之内容之參考。運算元 為:使被指定在?1.〇欄52〜Ρ22欄55之16位元常數 “C〇nSt2”與被指定在Ρ3.1欄57〜Ρ3.2攔58之8位元常數 “const2”連結的、24位元常數。 其次’說明有關將具體之指令解碼實行時之本變形例 的處理機之動作。 第27圏為一流程圖,係顯示處理24位元之常數的一例 ’於本圖中,顯示有:求出暫存器110與111之存儲值之差( 步驟S100);於其結果加24位元之常數“〇χ 876543”(步驟 S101 ’ S102);最後,將暫存器r2之存儲值預先轉移至暫 存器R1(步驟S103)等處理。 經濟部中央標率局員工消費合作社印製 n I t^n ^^1 n m 1^1 V - ------ ^^1 11 ^^1 ,ye *-/f, (請先閲讀背面之注意事項再填离本頁) 第28圖’係顯示由本變形例之處理機來進行第27圖所 不之處理内容的程式之例。此程式,係由二個指令171,172 所構成。兹說明每各指令171、172之本變形例處理機之動 作。 首先’使讀出旗標記憶部28之值成為“Γ,以作為初 始狀態。 (指令171) 本紙張尺度適用中國國家標準(CNS ) A4規格(21〇χ297公釐) 53 經濟部中央標率局貝工消費合作社印製 A7 -------- -Β7· 五、發明説明(51) - 當指令171被負載在指令暫存器1〇時,格式解碼器21 ,則從指令暫存器10之!>0.0攔i!之值(“fmt4”),判斷此指 令為格式碼“4”之2操作指令,並控制實行部3〇以便並行實 行以下兩個之操作。 (1) 第一操作 由常數暫存器控制部4抑’控制内部之八個選擇器49〇a 〜490h,藉此利用第5崮所示之存儲方法將保持在ρι 〇 欄12〜P2.2棚15中所保持之16位元常數(〇χ8765)存儲於常 數暫存器36之下位16位元。然後,使讀出旗標記憶部以之 值成為“0”。 (2) 第二操作 由第二運算部38,將泛用暫存器则之内容及泛用暫 存器R1之内容作為輸入,從R0内容減去尺丨之内容之後, 將其結果再存儲於泛用暫存器R〇e (指令172) 當指令172被負載在指令暫存器1〇時,格式解碼器2ι ,則從指令暫存器1〇之po.o欄u之值(“fmt6,,),判斷此指 令為格式碼“6”之2操作指令,並控制實行部3〇以便並行實 行以下兩個之操作。 (1)第一操作 P2.0欄13之操作為,將常數取之運算元之操作;由於 讀出旗標記憶部28之值為“0,,,所以將常數暫存器%之下 位24位元(0 X008765),被指定在P1 〇攔12之4位元常數(〇 x 4)及被指定在P2.1欄14之4位元常數(〇 χ 3)連結成(〇 χ 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨OX297公釐) ---I-I-I » I n I ----丁 、-e *· /-ts (請先閲讀背面之注意事項再填寫本頁) 54 經濟部中央標隼局負工消费合作社印製 A7 _____ B7 五、發明説明(52) ~-- 00876543)值,使用此值及泛用暫存器尺〇之内容來進行加 法後,將其結果再存儲於泛用暫存器R〇。 然後,將讀出旗標記憶部28之值置位於“Γ,β (2)第二操作 由第二運算部38,將泛用暫存器R2之值作為輸入, 照原樣通過後,存儲於泛用暫存器R1。 如此進行之後,暗默地利用常數暫存器36之存儲值, 將連結由常數暫存器36及操作所指定之常數而成之常數, 作為運算元實行,藉此可實行藉兩個指令來處理24位元常 數的操作。 第29圖,係由實施形態!之處理機來進行跟第圖所 不之流程圖同一内容之處理的程式例。從第29圖與第以圖 之比較可知,上述實施形態丨之處理機用程式,較之本變 形例之處理機用者多出一個指令,如第29圖所示實施形 態1之處理機,由於其一個之操作只能執行「對於常數暫 存器之值的設定」及「常數暫存器存儲值之利用」中之一 方,所以為了完成第27圖所示之處理,而必需實行為設定 24位元常數所必需之二個指令173、174、以及用來利用其 常數之指令175,即,共三個之指令173〜175。其結果, 不得不插入無動作操作“nop”(指令175之第二運算欄6〇)。 综上,如依本變形例之處理機,則可從常數暫存器中 所存儲之常數及由才旨♦中之操作所指定之常數生成成為運 算元之常數同時,實行使用其常數之操作。藉此,較之實 施形態之情況,更減少實行週期數。 本紙張尺度i4則,國^^( CNS ) Λ4規格(:1() ':97公釐) ;---^---厂:裝! (請先閱讀背面之注意事項再填寫本頁) 訂 經濟部中央標準局貝工消費合作社印製 A7 _____ B7 五、發明説明(53 ) 以上,雖就用來達成第一目的之處理機,根據實施形 態1及五個變形例作了說明’但不用說本發明並不限於此 實施形態及變形例。即, (1)就將常數存儲於常數暫存器36之位置而言,有: 從下位位數彌補下去之方式(例如第5圖所式之方式);及 從上位位數彌補下去之方式(例如第24圖所示之方式 又’有:當將新之舍數存儲於常數暫存器36時,使已 經存儲之前述常數移位下去之方式(例如,第5圖所示之方 式);犮不進行移位,而代之存儲於不同位數位置之方式( 例如,第5圖所示之方式)。 又’就常數之上位位數之擴充方式而言,有:進行零 擴充之方式(例如’第5圖所示之方式);及進行碼擴充之 方式(例如,第20圖所示之方式)。 又,就進行零擴充或碼擴充之定時而言,有:存儲於 常數暫存器前進行的方式(例如,第2〇圖所示之方式);及 從常數暫存器36讀出後進行的方式(例如,第23圖所示之 方式)。 又,就進行零擴充之具體的實現方式而言,有:剛讀 出常數暫存器36之存儲值後將全零存儲於常數暫存器刊之 方式(例如,第5圖所示之方式);及在常數存儲時或讀出 時插入固定值之方式(例如,第23圖所示之方式)。 因此,藉著組合關於此等存儲位置、移位之有無、擴 充方式、擴充之定時、讀出後之自動清除等之各方式而 輕易構築更多之變化。 、 良------丁 • . /,ί\ Ί (請先閲讀背面之注意事項再填寫本頁)
56 A7 ________ B7* 五、發明説明(54) 再者,上述實施形態,雖例示了僅具備上述各方式之 —方的例,但並不限定於此。例如,具備用來進行常數之 零擴充之構成及用來進行碼擴充之構成兩方,藉置位於指 令之操作碼,使其中之一個選擇性地動作之方式也可。 (2) 又’上述實施形態,雖例示了數值常數之處理例 ,但不用說文字常數也可。這是因為即使為分割配置在多 數命令全體之文字常數,也可藉對於常數暫存器36之多數 次之存儲,來復元長位數的原文字常數之故。 (3) 於上述實施形態,從第2圖(b)〜第2圓(d)之指令格 式可知’其可藉一個指令來存儲於常數暫存器36之常數位 數為4位元及16位元中之任一位元,但本發明並不限定於 此位數。例如’將用來存儲12位元或28位元之常數暫存器 36之指令格式,加以定義也可。為此,變更常數暫存器% 之周邊電路之連接關係即可。 (4) 又》上述實施形態之處理機雖為具有兩個運算部37 、38之VLIW處理機,但不用說,本發明也可適用於一種只 經濟部中央標準局貝工消費合作社印製 n m I n^i - m 壬^m m.----^^1 0 . ,T (請先閱讀背面之注意事項再填寫本頁) 備有一個運算部且不採取VLIW結構格式(用以實行一個之 指令中只指定一個操作之單一操作指令)之處理機。 特別’在定長指令時,有時候定義許多具有未使用領 域之指令。例如,MIPS公司製之RISC處理機“R2000”雖 實行32位元定長指令,但此處理機之指令集(〇rderset)中 定義有具有未使用領域之指令(例如,ADD指令備有5位元 之未使用領域)。如依本發明,可迴避在單一操作指令中 產生之無用領域之發生。 本紙張尺度適财關家辦.(CNS ) A4規格(2!{)><297公趁) 57 五、 發明説明(55 ) A7 Β7· 經濟部中央標準局負工消費合作社印製 (5)又,於上述實施形態,4位元之操作碼“cc”雖意味 著暗默地參考常數暫存器36之存儲值的間接分支操作:但 也可包含相對地只分支固定性之目的地地址份之操作,或 使用泛用暫存器35之存儲值的間接分支操作。此時,常數 暫存器控制部32,不只要是剛讀出常數暫存器36之存儲值 後清除常數暫存器36,且剛實行伴隨著操作碼“cc”之分支 操作後清除常數暫存器36即可。這些事,係肢分配那一 種操作給4位元之操作碼“cc,,之設計事項,不用說可以 藉分太解碼器33及常數暫存器控制部32之變更輕易達成。 (實施形態2) 其次說明有關實施形態2之處理機。實施形態2之處理 機係肖來達成上述第〕目的之處理機冑;其特徵為具有 「僅在需要時使常數暫存器之值疏散•返回,藉此回避上 下乂換中之無用動作」的機能。又,在排頭附有〇b之數值 係表示2進制數者。 (處理機之硬體構成) 第30圖為一方塊圖,係顯示本實施形態2之處理機5〇〇 之硬體構成,本處理機,係由指令暫存器51〇、指令解碼 電路520、實行部53〇及指令取出部55〇所構成。又,本圖 中’也同時顯示了一連接至本處理機5〇0之周邊電路,即 ’用以上下文之疏散的外部記憶器540。 指令取出部550,係包含:指令記憶裝置,其係用以 預先存儲多數之命令;及指令取出電路,其係從指令記憶 裳置讀出應實行之指令,轉移至指令暫存器51〇。 請 先 閲 讀 背 之 注
項衰裝 頁I 訂 V-- 本紙張尺度通則,賴家縣(CNS ) Μ規格(2丨以297公着) 58 經濟部中央標隼局貝工消費合作社印聚 A7 B7. 五、發明説明(56) 指令暫存器510,係用以保持從指令取出部5〇〇發送過 來的指令之16位元暫存器。 才曰7解碼電路520,係用以解碼由指令暫存器51〇所保 持之指令,並將對應於其解碼結果之控制信號輸出至實行 部530者。又,上述指令解碼電路52〇,係基本上一週期解 碼一個指令,將控制信號授給實行部53(),係根據指令解 碼電路處之解碼結果,來實行指令之電路單元者;其係由 實行控制電路300、疏散返回無效化電路3〇1、泛用暫存器 31〇、運算器311、運算元存取電路312、常數暫存器32〇、 有效位元數暫存器32卜常數復元電路322、多工器330、331 、332所構成》又,此實行部53〇中,關於疏散返回無效化 電路301、常數復元電路322者,在另外之圊式再予詳細說 明之。 泛用暫存器310’為16個之32位元暫存器R〇〜R15 ; 其存儲在此等16個暫存器的值,係根據指令解碼電路52〇 之解碼結果及實行控制電路300所生成之控制信號,轉移 至運算器和運算元存取電路312,在此施行運算,或者, 進行與外部記憶體540之轉移,或者,單純通過之後,被 發送至泛用暫存器310。 常數暫存器320為32位元暫存器;其存儲在此暫存器 之值’係根據指令解碼電路520之解碼結果及實行控制電 路300所生成之控制信號,轉移至常數復元電路322或運算 元存取電路312。 常數復元電路322,係根據指令解碼電路520之解碼結 本纸張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) ^ ί裝-- • V /1.. (請先閲讀背面之注意事項再填寫本頁) 、1Τ 59 五、 經滴部中央標车局貝工消费合作社印聚 發明説明(57 ) 果乃實行控制電路300所生成之控制信號及有效位元數暫 存器321之值,使用含在指令暫存器51〇中所存儲的指令之 常數及常數暫存器320之存儲值,來生成新之值,進而, 將之轉移至運算器311或運算元存取電路312,在此施行運 算’或者’進行與外部記憶體54〇之轉移,或者,在此單 純通過後’被發送至泛用暫存器310。但,如後述之5如指 令一般單純記錄值時,生成新的值,單純通過運算器3U 後,被發送至常數暫存器320,關於新值之生成方法之詳 細方法則於後文敘述之。又,用來連接指令暫存器51〇與 實行部530之13位元之常數信號線u,係用以轉移指令暫 存器510中所存放之常數至實行部53〇的匯流排。 有效位元數暫存器321 ’係用以表示所分割之常數被 存儲於常數暫存器320到那一位元;常數暫存器320被新之 值更新之同時有效位元數暫存器321也被更新。又,若指 今暫存器510中所存儲之指令中保持了使用常數暫存器32〇 内之常數的指令(例如,後述addi指令)時,藉由實行控制 電路300將ObOO(全位元無效)存儲於有效位元數暫存321。 第31圖,係顯示有效位元數暫存器321之存儲值與常數暫 存器320之有效位數之具體對應。 實行控制電路300,係根據在指令解碼電路520之實行 結果來控制實行部530之各構成要素310〜332之控制電路 和配線之總稱;除了具有通常之處理機所具備之構成要素 (定時控制電路、動作許可禁止控制電路、狀態暫存器及 狀態管理電路、嵌入控制電路等)以外,更具有常數暫存器320 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ---------裳------、=τ (請先閲讀背面之注意事項再填寫本頁) 60 經濟部中央標準局員工消費合作社印聚 A7 _______B7__ 五、發明説明(58 ) 之控制電路》 疏散返回無效電路301為本處理機之特有電路;其係 在指令暫存器510中所存儲之指令為常數暫存器32〇之疏散 或返回之指令,且常數暫存器320之值為無效之事(值為 0b00)被顯示在有效位元數暫存器321時,根據來自指令解 碼電路520、實行控制電路300之指示,使運算元存取電路 312之控制信號303變化成後述之無動作。 運算器311,係對於兩個之32位元資料進行算術邏輯 運算之ALU,並在實行控制電路3〇〇之控制下動作。 運算元存取電路312,係將運算器311之輸出作為運算 凡地址,並將多工器332之輸出作為運算元,藉此同外部 記憶體540之間進行運算元之轉移的電路者;其内部備有 一用來保持其運算元和運算元地址之緩衝器。 若由疏散返回無效電路301所輸出之控制信號3〇3係表 示負載」.時,外部記憶體540中所存放之1字則經過運算 元存取電路312及多工器331,而被讀出於匯流排’當其為 泛用暫存器310之R〇〜R15之任一,或者,後述之常數暫 存器320之返回時,被存儲在常數暫存器32〇。 又,當控制信號303顯示「存儲」時,若為泛用暫存 器310之R〇〜R15之任一,或者,後述之常數暫存器32〇之 疏散時,常數暫存器320中所存儲之值,則被多工器332所 選擇出,經由運算元存取電路312而被寫入於外部記憶體 540 » 又,當控制信號303顯示「無動作時」,運算元存取 本紙張尺度適用中國國家標準(CNS ) A4規格(210x297公釐) (請先閱讀背面之注意事項再填寫本頁) i:-Iί.裝------訂------ 61 A7 _____B7 五、發明説明(59 ) ~~ 路312則忽視運算元地址或運算元,而不進行同外部記憶 體540之轉移。 (指令格式) 其次’說明有關本處理機之指令’第32圖係顯示在本 實施形態用於說明之指令及其格式。如第32圖所示,各指 令為16位元之定長指令;上位3位元為操作1(〇pl)之欄位 ,且為sfst指令之事,‘藉著解碼此欄位而可判斷指令之 種類。在ofst指令以外之指令中,於下一 3位元有操作2(〇〇2) 之欄位;此等指令可藉著解碼opl及0p2而判斷指令之種類 。在addi之指令中’於下一 4位元有暫存器欄(Rn),而存 放有目的地暫存器之號碼。在下一攔中有常數(imm6);而 存放有加法於Rn之6位元之常數。 其次說明各指令之機能 (1) sfst imml3 經濟部中央標準扃貝工消費合作社印聚 I— i^i I - 1— —I— I— I ^^1 l^i ... ^^1 —-I !— - I I 0¾ 、T ». ./,¾. (請先閱讀背面之注$項再填寫本頁) 上述指令為,將常數暫存器320之值向左移位13位元 ,並將13位元立即值(imm 13)插入下位侧後存儲於常數暫 存器320之指令者。若常數暫存器32成為無效時,將13位 元立即值單純碼擴充後存儲於常數暫存器32〇(sfst為shift-set之縮寫)。 (2) addi imm6, Rn 上述指令為,將常數暫存器320之值向左移位6位元, 並加算將6位元立即值(imm6)插入下位侧之值、及泛用暫 存器310之Rn(n為0〜15)之值後,存儲於Rn之指令者。若 常數暫存器320為無效時將6位元立即值單純碼擴充後用於 本紙張尺度適用中國國家梯準(CNS ) A4規格(2丨OX297公釐) 62 A7 B7 五、發明説明(60 ) 加法。又,當實行本指令時,常數暫存器320則被無效化 〇 (3) save IMR, (Rn) 上述指令為,將常數暫存器疏散至外部記憶體之指令 ;其疏散對方地址則使用泛用暫存器310之Rn值。
(4) restore (Rn), IMR 上述指令為,將常數暫存器320從外部記憶體540返回 之指令;疏散對方地址則使用泛用暫存器310之Rn值。 (常數復元電路322之詳細) 第33圖為一方塊圖,係顯示常數復元電路322之詳細 構成。 3220為一電路,係用以連結從指令暫存器510經過匯 流排11來轉移的13位元常數、及常數暫存器320之存儲值 的下位19位元;常數暫存器320成為較上位側,並成為全 體32位元之值。 經濟部中央標準局貝工消費合作社印聚 ---------^-- *- (請先閱讀背面之注意事項再填寫本頁) 同樣,3221為一電路,係用以連結從指令暫存器510 經過匯流排11來轉移的6位元(13位元之下位6位元)之常數 、及常數暫存器320之存儲值的下位26位元;常數暫存器 320成為較上位侧,並成為全體32位元之值。 3222為一電路,係用以碼擴充從指令暫存器510經過 匯流排來轉移的13位元常數成32位元;3223為一電路,係 用以碼擴充從指令暫存器510經過匯流排11來轉移的6位元 (13位元之下位6位元)之常數成32位元。 3224〜3226為多工器;3227為副有效位元生成電路。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 63 經濟部中央標準局貝工消費合作社印製 A7 ______B7 五、發明説明(61 ) 第34圖係用以定義多工器3224、3225、3226及副有效 位元數生成電路3227之動作的圖;其係藉實行控制電路3〇〇 之控制信號305及有效位元數321之值來決定動作。第“圖 中之sfst及use係表示被保持在指令暫存器5丨〇之指令之種 類;其係藉實行控制電路300之控制信號3〇5來表示❶sftt 係sfst係sfst指令被保持在指令暫存器5 1 〇時之動作;use係 使用addi指令等之常數的指令被保持時之動作。副有效位 元數,係由副有效位元數生成電路3227所輸出之值;其係 在下一週期存儲在有效元數暫存器321。 (疏散返回無效化電路301之詳細) 第35圖’係顯示疏散返回無效化電路3〇1之詳細構成 〇 邏輯電路為一電路,若其有效位元數暫存器321之存 儲值為0X00的話輸出1,其以外的話輸出〇。閘元件3〇11 為AND電路;閘元件3012為OR電路;閘元件3〇13、3〇14 係AND電路3 011之輸出側為邏輯倒相輸之and電路。 信號線302(a)、302(b)、302(c)係將第30圖之3位元寬 皮之控制信號3021位元1位元地顯示者;信號線3〇2(a)、 303(b)、303(c)係將第30圖之3位元寬度之控制信號3031位 元1位元地顯示’並將之控制以便對於第3 〇圖之運算元存 取電路312,分別進行無動作、負載、存儲。 控制信號304,係如第30圖所示,由實行控制電路3〇〇 所輸出之控制信號,其係在被保持在指令暫存51〇之指令 為save指令或restor指令時輸至1,其以外時則輸出〇。 本紙張尺度適用中國國家橾準(CNS ) Α4規格(210X297公釐) — I — n m I - - ... - 1 I I - n 丁 爿"Γ 、-=* •-/3ί- (請先閲讀背面之注意事項再填寫本頁) 64 經濟部中央標準局貝工消費合作社印製 A7 _______B7 五、發明説明(62 ) 在此構成下,當有效位元數暫存器321之存儲為〇b〇〇 、控制彳§號3 04為1,就是,被保持在指令暫存器5丨〇之指 令為save指令或restor指令時,與控制信號3〇2無關地,控 制信號303(a)成為1,303(b)、303(c)則成為〇,運算元存 取電路312之動作則成為「無動作」。 一方面,若有效位元數暫存器321之存儲值不是〇b〇〇 ,或者控制信號304為0’時,控制信號3〇2則照原狀輸出至 控制信號303。 (4理機之動作) 其次’說明實行具體指令時之本處理機之有關動作。 又,於本實施形態,上下文交換之起動係假定藉非同步之 嵌入來進行。又,省略關於嵌入之運算元之具體處理,而 只說明常數暫存器之疏散及返回之動作。 第36圖(a)係用來說明本處理機之動作的流程圖;第36 圖(b)係顯示其所對應之程式(指令571〜573)之列表。在此 ,顯示將32位元之常數0ΧΠ345678加算於泛用暫存器r〇 之程式。第36圖(c)〜(f),係顯示伴隨著上述指令571〜573 之實行的有效位元數暫存器321及常數暫存器320之内容變 化;第36圏(g),係顯示由指令573所實行時之實質性運算 元。 以下,按每各指令571〜573說明動作。又,在本程式 實行前方面’如第36圊(c)所示,假定在有效位元數暫存 器321中存儲有一用來表示常數暫存器320之無效的值〇b〇〇 本紙張尺度適用中國國家標卒(CMS ) A4規格(210χ297公瘦) — m - I—---良— — - — II 丁 *-/V (請先閲讀背面之注^h項再填荇本頁) 65 A7 B7 五、發明説明(63 ) (1) sfst 0X0246(指令571) 當上述指令571被保持在指令暫存器510時,實行控制 電路300則進行以下之控制,實行指令571。 首先,由常數復元電路322,按照第34圖實行以下動 作:由於被保持在指令暫存器510之指令為sfst指令,有效 位元數暫存器321為ObOO,而多工器3225選擇A,且多工 器3226選擇B,因此,向多工器330輸出0X00000246(其係 保持在指令暫存器510之指令571的13位元之立即值,即, 以13位元碼擴充0 X 0246之值),且向有效位元數暫存器321 輸出ObOl。 輸出至多工器330之值0X00000246,單純通過運算器 311後,單純經過多工器331而被發送至常數暫存器320。 又,有效位元數暫存器321被更新為0b01。 在以上之動作下,常數暫存器320及有效位元數暫存 器321内容,於是變化成如第3b圖(d)所示者。又,運算元 存取電路312,係因控制信號302,305顯示「無動作」而 不動作。又,泛用暫存器310也不變化。 (2) sfst OX 1159(指令572) 經濟部中央標準局員工消費合作社印繁 (請先閲讀背面之注意事項再填寫本頁) 當上述指令572被保持在指令暫存器510時,實行控制 電路300則進行以下之控制,實行指令572。
首先,由常數復元電路322,按照第34圖實行以下之 動作:由於被保持在指令暫存器510之指令為sfst指令,有 效位元數暫存器321為0b01,而多工器3224選擇A,多工 器3226選擇A,因此將常數暫存器320之存儲值0X 本紙張尺度適用中國國家標準(CNS ) A4规格(210X297公釐) 66 經漪部中央標率局貝工消費合作社印聚 A7 B7 五、發明説明(64 ) 00000246向左移位13位元,並將0X0048dl59(其係將被保 持在指令暫存器510之指令的13位元立即值0X1159插入下 位13位元之值)輸出至多工器330。OblO則輸出至有效位元 數暫存器321。 輸出至多工器330之0 X 0048dl59則單純通過運算機 311後,經過多工器而被送至常數暫存器320。又,有效位 元數暫存器321被更新為OblO。 在以上之動作下,常數暫存器320及有效位元數暫存 器321之内容,變化成如第36圖(e)所示者。又,運算元存 取電路312,係因控制信號302、303顯示「無動作」而不 動作。又,泛用暫存器310也不變化。 (3)addi 0X38,R0(指令573) 當上述指令573被保持在指令暫存器510時,實行控制 電路300則進行以下之控制,實行指令573。 首先,由常數復元電路322,按照第34圖實行以下之 動作:由於被保持在指令暫存器510之指令為addi指令(適 用use之欄),有效位元數暫存器321為Ob 10,而多工器3224 選擇B,多工器3226選擇A,因此將常數暫存器320之存儲 值0X0048dl59向左移位6位元,並將0 X 12345678(其係將 被保持在指令暫存器510之指令的6位元立即值0X38插入 下位6位元之值,即第36圖(g)所示之值)輸出至多工器330 。0b00則輸出至有效位元數暫存器321。 輸出至多工器330之值0X 12345678於是輸入於運算器 311之A口。一方面,從泛用暫存器310讀出R0之值後,輸 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) I I I- - - - —i— - V - i - - - - —--- m XV 、-° (請先閲讀背面之注意事項再填寫本頁) 67 A7 B7 五、發明説明(65 ) 入於運算器311之另一方之B 口。運算器311於是藉實行控 制電路300之控制,加算各輸入值,然後經過多工器331而 被送至泛用暫存器310之R〇。又,有效位元數暫存器321 被更新為ObOO。 在以上之動作下,常數暫存器320及有效位元數暫存 器321之内容,變化成如第36圖(f)所示者。又,運算元存 取電路312,係因控制信號3〇2、3〇3顯示「無動作」而不 動作。 在此,就上述程式例之中途發生嵌入,進行上下文交 換時之動作,說明嵌入位置各異的兩個事例。 (事例1) 在此,說明上述程式例之中途即將進行addi指令573 之前發生嵌入、進行上下文交換時之動作。 第37(a)圖為一流程圖,係顯示事例i中之指令的流動 。此時,如第36圖(e)所示,在常數暫存器32〇存儲〇 χ 0048dl59,並在有效位元數暫存器321存儲〇Μ〇(下位26位 元顯示有效)之時間點’成為進入嵌入處理。 若在嵌入處理中進行常數暫存器32〇之疏散時,save IMR ’(R15)指令則被保持在指令暫存器5丨〇,來實行。實 行控制電路300進而進行以下之控制,實行指令。 常數暫存器320之存儲值於是經過多工器332而作為運 算元輸入於運算元存取電路312。一方面,泛用暫存器31〇 之R15之值被輸入於運算器311之B口,單純通過後,作為 運算元地址輸入於運算元存儲電路312。 本紙張尺度迺用V阖因冢標準(CNS ) A4規格(2丨OX29*7公釐) (請先閱讀背面之注意事項再填寫本頁) 装.
、1T 經演部中央標率局貝工消費合作社印掣 68 經濟部中央標準局負工消費合作社印$ A7 ------ B7 五、發明説明(66) 實行控制電路300 ’接著輸出用來表示其為向控制信 號304疏散或返回指令事宜,並向控制信號3〇2輸出「 存儲(只卜7)」’藉此趨向進行疏散。 疏散返回無效化電路301,係因有效位元數暫存器321 之存儲值為Obio,而使控制信號3〇2照原狀向控制信號3〇3 輪出;運算元存取電路312則進行「存儲(只卜7)」動作 即進行常數暫存器320之疏散。又,有效位元數暫存器321 之内容,係作為本處理機之狀態暫存器之一部分,與狀態 暫存ΙΪ之疏散同時,進行疏散。 又,當進行常數暫存器320之返回時,首先存在於狀 態暫存器之有效位元數暫存器321之内容〇Μ〇被送回,其 後,將reSt〇re(R15) IMR指令保持於指令暫存器51〇來實行 。實行控制電路300於是進行以下之控制,實行指令。 泛用暫存器310之R15接著被輸入於運算器3112Βσ ,單純通過後,作為運算元地址輸入於運算元存取路3ΐ2 實行控制電路300於是向控制信號3〇4輸出用來表示其 為疏散或返回指令事宜之j,並向控制信號3〇2輸出「負載 j,以便進行返回β 疏散返回無效化電路30i,係因其有效位元數暫存器 321之存儲值為〇blo,而使控制信號2〇2照原狀向控制信號 303輸出;運算元存取電路3〗2則進行「負載」動作;所讀 出之值OXO〇48dl59於是經過多工器33丨而被送至常數暫存 器320。即’進行常數暫存器3.2〇之返 I- I -—-I —I— H— i ! .1 n----- X ·V ysrl (請先閱讀背面之注意事項再填寫本頁)
五、 發明説明(67) A7 B7 經濟部中央標準局貝工消費合作社印聚 (事例2) 在此,說明剛進行上述程式例之3(1(}1指令後發生嵌入 ,進行上下文交換時之動作。 第3 7(b)圖為一流程圖,係顯示事例2中之指令之流動 。此時,如第36圖⑴所示,在常數暫存器32〇存儲〇 χ 〇〇48dl59,並在有效位元數暫存器321存儲〇b〇〇(全位元無 效)之時間點’成為進入嵌入處理。 若在嵌入處理中進行常數暫存器32〇之疏散時,save IMR,‘(R15)指令則被保持在指令暫存器51〇,來實行。實 行控制電路300進而進行以下之控制,實行指令。 常數暫存器320之存儲值於是經過多工器332而作為運 算元輸入於運算元存取電路312。一方面,泛用暫存器31〇 之R15之值被輸入於運算器311之3口,單純通過後,作為 運算元地址輸入於運算元存儲電路312。 實行控制電路300,接著輸出用來表示其為向控制信 號304疏散或返回指令事宜之!,並向控制信號3〇2輸出「 存儲」,以便進行返回。 疏散返回無效化電路301,係因有效位數暫存器321之 存儲值為ObOO,且控制信號邗斗為!,而使控制信號3〇2在 疏散返回無效化電路301中成無效化,向控制信號輸出「 無動作」。因此,運算元存取電路312不作任何動作。又, 有效位元數暫存器321之内容,係作為本處理機之狀態暫 存器之一部分,與狀態暫存器之疏散同時,進行疏散。 又’當進行常數暫存器320之返回時,首先,存在於 (請先閱讀背面之注意事項再填寫本頁} 裝-
,1T 70 經濟部中央標準局貝工消費合作社印聚 A7 ______B7_ 五、發明説明(68 ) 狀態暫存器之有效位元數暫存器321之内容〇b〇〇被送回, 其後’將restore(R15),IMR指令保持於指令暫存器51〇 , 來實行,實行控制電路300於是進行以下之控制,實行指 令。 泛用暫存器310之R15接著被輸入於運算器311之8口 ’單純通過後作為運算元地址輸入於運算元存取電路312 〇 實行控制電.路300,於是向控制信號304輸出用來表示 其為疏散或返回事宜之1,並向控制信號3〇2輸出「負載」 ,以便進行返回》 疏散返回無效化電路301,係因有效位數暫存器321之 存儲值為ObOO ’且控制信號3〇4為1,而使控制信號3〇2在 疏散返回無效化電路301中成無效化,向控制信號303輸出 「無動作」。因此,運算元存取電路312不作任何動作。 如此,事例2時,運算元存取則被無效化,因而不進 行與外部記憶體540之實際轉移。為此,藉助疏散/返回之 記憶體存取次數減少常數暫存器之份兒,結果可縮短上下 文交換之處理時間。如本實施形態所示,若將立即值分割 配置,記錄於常數暫存器320時,位元數之大常數愈少, 常數暫存器320之有效性愈低。因此,位元數之大常數愈 少,本發明之效果愈大。 第38圖為一流程圖’係略示了上述事例1及2中之處理 機之動作’即’有關常數暫存器320之值的疏散及返回之 動作。此處理機’在實行常數暫存器32〇之疏散或返回時( 不浓尺及通州肀國國冬標準(CNS ) A4規格(210x297公釐 (請先閱讀背面之注意事項再填寫本頁) 袈· 、11 71 經濟部中央標牟局員工消費合作社印製 A 7 —________ 五、發明説明(69 ) 步驟S200) ’參考有效位元數暫存器321之存儲值,若其存 儲值為ObOO,即,有效之常數表示「其存儲值為0b00,即 ’有效之常數並未存儲’或未曾存儲」之趣旨時(步驟S2〇i) ’並不進行如那種之無用之疏散及返回(步驟S2〇2)。 以上’雖就用以達成第二目的之處理機,依據實施形 態2作了說明’但不用說’本發明並不限於此實施形態2。 即, (1) 實施形態2,雖使用16位元定長之指令格式,並使 用13位元、6位元作為立即值,但本發明並不限定於此等 之位元數。再者,泛用暫存器310、常數暫存器320雖為32 位元之暫存器,但同樣,本發明並不限定於此等之位元數 〇 (2) 又’雖以一個之構成來說明實施形態2之處理機之 常數暫存器,但本發明也可為多數個之常數暫存器32〇。 (3) 又,依照實施形態2之處理機,其雖提示了上下文 交換之疏散、返回之例,但本發明也可適用於進行同上下 文交換無關的常數暫存器與記憶裝置間之轉移。 (4) 又,依照實施形態2之處理機,其雖設有一用來表 不常數暫存器中所存儲之常數的有效位元數之有效位元數 暫存器321,但只要是用來保持有效/無效常態之暫存器, 即其他形態之暫存器也可獲同樣之效果。 (5) 又’實施形態2之處理機,雖以addi指令之例作為 使用立即值之指令’但本發明只要是使用其他同樣之立即 值的指令,即任何指令均可。 本紙張尺度適用中國國家標準(CNS > A4規格(2丨0><297公釐) I I--II--“ 良|--II _ 丁 ., V 's*.'i (請先閱讀背面之注意事項再填寫本頁) 72 五、發明説明(70 A7 B7 經^部中央標準局負工消费合作社印聚 (6) 又’依照實施形態2之處理機,其雖分別定義 IMR、(Rn)指令及restore、(Rn)、IMR指令,以作為常數 暫存器320之疏散•返回指令,但其他形態之指令也可。 例如,在暫存器列表形式之運算元中定義常數暫存器 320之疏散、返回者,或,與含在通常上下文之泛用暫存 器320(Rn)中之任一或狀態暫存器之疏散·返回搭配來定 義常數暫存器320之疏^ ·返回者也可。後者為,例如將 R15和狀態暫存器疏散·返回時,在暗默中常數暫存器32〇 也成爲疏散•返回之對象等的指令者。 save IMR、(Rn)指令和 rest〇r (Rn)、imR指令等之指 令,雖因常數暫存器之疏散.返回即使被作成無效化也存 在著它們專用之指令,而有碼尺寸增加之問題,但在進行 如上述之動作下’顯然只指定常數暫存器32〇之疏散•返 回之令變成不需要,具有可削減碼尺寸之特有效果。 (7) 又’依照實施形態2,有效位元數暫存器32丨之值 ,係用做狀態暫存器之一部分而在上下文交換時暗默地進 行疏散及返回,但本發明並不限定於此方法。如第39圖所 示,定義只疏散及返回有效位元數暫存器321之值的專用 指令也可。又,於第39圖中,IBM表示有效位元數暫存器 321,Rn則表示一用來存儲應疏散或返回之外部記憶趙wo 的地址之泛用暫存器310。 (8) 又,實施形態2之處理機,雖如sfst指令和指令 一般實行「以一個之指令定義一個操作」的指令,但如實 施形態1一般實行「以一個之指令定義多數個操作」的所 張尺度適用中國國家樣準(CNS ) A4規格(2丨0X297公楚) (請先閱讀背面之注意事項再填商本頁) f裝.
、1T • 1^1 nn 73 經濟部中央標準局貝工消費合作社印^ A7 Β7· 五、發明説明(71 ) 謂VLIW形式之指令也可。 第40圖為VLIW處理機600(相當於將上下文交換之機 能能附加於實施形態1之VLIW處理機)之機能方塊圖。此 處理機600之實行部630,包含有與實施形態2同一機能之 有效位元數暫存器631及疏散返回無效化電路632。 第41圖,係由本處理機600所實行之VLIW 670之例。 在格式碼51為0X0之指令670之第二運算攔60,存放有一 使常數暫存器R15之内容疏散於由泛用暫存器R3所顯示之 外部記憶體的記憶裝置之操作(save)。當此操作碼由第二 運算解碼器25所解碼時,常數暫存器36之内容則通過第二 運算部38而被送至運算元存取部40»而且,疏散返回無效 化電路632,則參考在其時間點之有效位元數暫存器631之 值,藉此按照第38圖所示之流程,由運算元存取部40許可 或禁止將上述内容疏散於外部記憶體事宜。 如此,使實施形態2之上下文交換機能附加於實施形 態1之常數復元型VLIW處理機,藉此迴避伴隨著NOP指令 之插入的碼尺寸之徒勞肥大化,且,支援回避了任務交換 之徒勞上下文交換的疏散及返回之處理機,即,碼尺寸之 縮小化,同時實現可高速實行任務交換之VLIW處理機。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) II - I «^1. -· - I _=_1 t - ^^1 I -I- --1- - -- -- τ» f If '^-5 (請先閲讀背面之注意事項再填寫本頁) 74

Claims (1)

  1. 經濟部中央標準局貝工消费合作社印製 έ88 C8. -—-—____________D8 六、申請專利範圍 一~ --— 1. 一種用以解碼實行之處理機,包含有: 指令暫存^ m保持前述指令; 解碼手段,係用以解碼所保持之指令; 常數暫存器,係具有用來保持常數之記憶領域; 常數存儲手段’係在藉前述解碼手段來解碼為「 前述指令中存有應存儲於前述常數暫存器之常數」時 ,若在前述常㈣存器巾未相有狀常數時,將存 放在前述指令中之常數存儲於前述常數暫存器,反之 若在前述常數暫存器中已存儲其他有效之常數時,將 其常數留下來不管,而將存放在前述指令中之常數存 儲於前述常數暫存器;及 f行手段’係由前述解瑪手段解碼為「前述指令 為-用來指示使用前述常數暫存器之運算的指令」時 ,讀出前述常數存儲器中所存儲之所有常數,以實行 前述運算。 2. 依據申請專利範圍第μ所述之處理機,其特徵為: 前述常數存儲手段,係-面使已存儲在前述常數 暫存器之常數移位,一面將存放在前述指令中之常數 予以存儲; 在此,已存儲在前述常數暫存器之常數與存放在 前述指令中之常數,係連結於位數方向。 3. 依據中請專利範圍第2項所述之處理機,其特徵為: 前述常數存儲手段,係-面使已存儲在前述常數 暫存II之常數向上位位數移位,—面將存放在前述指 本纸張尺度適用中國國家標準(CNS ) Λ4规格(210X297公着)" ζ 、裝-- (请先閎讀背面之注^|^項再填寫本頁) 訂 iV- /1 77 經濟部中央標準局貝工消费合作社印裝 A8 B8_ gS.__六、申請專利範圍 令中之常數存儲於前述常數暫存器之下位位數。 4. 依據申請專利範圍第3項所述之處理機,其特徵為: 前述處理機更包含擴充手段,其係對於前述常數 進行零擴充及碼擴充之至少一方的擴充處理。 5. 依據申請專利範圍第4項所述之處理機,其特徵為: 前述擴充手段,係對於存儲於前述常數暫存器前 之前述指令中所存放之常數,進行前述擴充處理。 6. 依據申請專利範圍第4項所述之處理機,其特徵為: 前述擴充手段,係對於從前述常數暫存器讀出之 常數’進行前述擴充處理。 7. 依據申請專利範圍第2項所述之處理機,其特徵為: 前述常數存儲手段,係一面使已存儲在前述常數 暫存器之常數向下位位數移位,一面將前述指令中所 存放之常數存儲於前述常數暫存器之上位位數。 8. 依據申請專利範圍第丨項所述之處理機,其特徵為: 前述常數存儲手段,係在不使已存儲在前述常數 暫存器之常數移位之狀態下,將存放在前述指令中之 常數存儲於鄰接於其常數之位置; 在此,已存儲在前述常數暫存器之常數與存放在 前述指令中之常數,係連結於位數方向。 9. 依據申請專利範圍第8項所述之處理機,其特徵為: 則述常數存儲手段,係將存放在前述指令中之常 數,存儲於比已存儲在前述常數暫存器之常數更上位 位數。 本紙張尺度適用中國國家樣準(CNS ) A4規格(2丨ο X 297公釐) (請先間讀背面之注項再填寫本頁) 裝· 訂 78 A8 B8 C8. D8 申請專利範圍 1〇·依據中請專利範圍第8項所述之處理機,其特徵為: 前述常數存儲手段,係將存放在前述指令中之常 數,存儲於比已存儲在前述常數暫存器之常數更下位 位數。 u.依據申請專利範圍第1項所述之處理機,其特徵為: 前述常數存儲手段,係在剛藉由前述實行手段讀 出前述暫存器中所存储之常數後,將零存儲於前述常 數暫存器。 12·依據中請專利範圍第1項所述之處理機,其特徵為: 刖述實行手段,係備有一按照前述指令實行分支 操作之分支實行部; 前述常數存儲手段,係在藉前述分支實行部來實 行分支操作時,將零存儲於前述常數暫存器。 13.依據中請專利範圍第]項所述Μ 其特徵為: 在此,前述處理機,係連接於記憶處理機 之内部狀態的外部記憶體’以便使束 前述處理機,更包含: 丨- 疏散手段,其係若由前述解碼手段來解碼為前述 指令係使前述常數暫存器之内容疏散於前述外部記憶 體之疏散指令時,實行其疏散;及 疏散禁止手段,其係在前述常數暫存器中未存健 有效之常數時,禁止藉由前述疏散手段來實行之前述 内容之疏散。 14·依據申請專利範圍帛13項所述之處理機,其更包含·· (请先:g讀背面之注意事項存填寫本頁) -裝· 訂 經濟部中央橾準局貝工消費合作社印裝 79 ABCD 經濟部中央標準局負工消費合作社印装 六、申請專利範圍 返回手段,其係若由前述解碼手段解碼為前述指 令係使前述外部記憶體之内容返回至前述常數暫存器 之返回指令時,實行其返回;及 返回禁止手段,其係正由前述返回指令指示一對 應於由前述疏散禁止手段所禁止之疏散的返回時,禁 止藉由前述返回手段來實行之前述内容之返回。 15.依據申請專利範圍第14項所述之處理機,其更包含有 —有效資訊記憶手段,係用以記憶一用來表示常數是 否存儲在前述常數暫存器之有效資訊; 前述疏散手段具有有效資訊疏散部,其係使記憶 於刖述有效資訊記憶手段之有效資訊疏散於前述外部 記憶體; 前述疏散禁止手段,係藉著參考前述有效資訊而 判斷為常數並未存儲在前述常數暫存器時禁止前述内 容之疏散; 前述返回手段具有有效資訊返回部,其係使記憶 在前述外部記憶體之有效資訊返回至前述有效資訊記 憶手段; 前述返回禁止手段,係藉著參考疏散在前述外部 記憶體之有效資訊,而判斷為正由前述返回指令指示 一對應於由前述疏散禁止手段所禁止之疏散的返回 時,禁止前述内容之返回。 16·依據申請專利範圍第15項所述之處理機,其特徵為·· 前述有效資訊疏散部,係於由前述解碼手段解碼 本紙張賴中國國家標準(CNS ) ϋ ( C請先閲讀背面之注項再填寫本頁) •裝* ik 80 經 \標V. 局 員 工 消 费 合 作 社 印 装
    六、申請專利範圍 為前述指令暫存器所保持之指令為前述疏散指令時, 使則述有效資訊疏散至前述外部記憶雜; 前述有效資訊返回部,係於由前述解碼手段解碼 為前述指令暫存器所保持之指令為前述返回指令時, 使前述外部記憶雜所記憶之有效資訊返回至料有效 資訊記憶手段。 17.依據申請專利範圍第16項所述之處理機,其特徵為: .前述有效資訊係表示前述常數暫存器中所存儲之 常數的有效位數; 冑述疏散禁止手段,係於前述有效資訊顯示零時 禁止剛述疏散; —禁止手段,係於前述有效資訊顯示零時 禁止前述返回。 18· 一 =LIW處理機,以解碼,實行含有格式化搁 :=之作業攔之指令者,其中,該格式化欄存放有 Π:令之格式的格式碼,而一則用:U並行實狀操作;該VUW處理機包含有: 指令暫存||,_簡持前述指令; 解碼手段,係用以解碼所保持之指 參考前述格0,㈣碼 藉者 放有常數事宜; ㈤之刚述作業攔中存 係具有用來保持常數之_; 、前述指令中存放Ϊ應Γ若由前述解碼手段來解瑪為 \ 存放有應存儲於前述常數暫存m數時 I n n Ί— I n n I n. - I - J·/%. r^先問磧背面之注##*項再嚷寫本頁) .訂 J 本紙張巾® S丨料(CNsTX7^7li〇^97^.*~ 81 經濟部中央梯準局属工消費合作社印製 El 申請專利範圍 ,=果前述常數暫存器未存财效之常數的話將存放 在别述作業攔之常數存健於前述常數暫存器,反之如 果前述常數暫存器已存儲有其他有效常數的話將其常 數留下來不動,而將存放於前述作業棚之常數存儲於 前述常數暫存器; 實行手段’其係若由前述解碼手段解碼為前述指 令係用以指示-使用前述常數暫存器之運算的指令時 ,讀出前述常數存儲n巾所存儲之所㈣數,以實行 前述運算。 19.依據申請專利範圍第18項所述之vuw處理機,其特 徵為: 、 前述常數存儲手段,係一面使已存儲在前述常數 暫存器之常數移位,一面將存放在前述作業棚中之常 數予以存儲。 20.依據申請專利範圍第19項所述之vuw處理機,其特 徵為: 、 别述常數存儲手段,係一面使已存儲在前述常數 暫存器之常數向上位位數移位,一面將存放在前述指 令中之常數存儲於前述常數暫存器之下位位數。 21. 依據申請專利範圍第20項所述之VLIW處理機,其特 徵為: 前述處理機更包含擴充手段,其係對於前述常數 進行零擴充及碼擴充之至少一方的擴充處理。 22. 依據申請專利範圍第21項所述之VLIW處理機,其特徵 本纸張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)
    82 A8 B8 C8. D8 &、申請專利範圍 為: 前述擴充手段,係對於存儲於前述常數暫存器前 之前述常數,進行前述擴充處理。 23. 依據申請專利範圍第21項所述之VLIW處理機,其特徵 為: 前述擴充手段,係對於從前述常數暫存器讀出之 常數,進行前述擴充處理。 24. 依據申請專利範圍第19項所述之VLIW處理機,其特徵 為: 前述常數存儲手段,係一面使已存儲在前述常數 暫存器之常數向下位位數移位,一面將前述指令中所 存放之常數存儲於前述常數暫存器之上位位數。 25. 依據申請專利範圍第18項所述之VLIW處理機,其特 徵為: 前述常數存儲手段,係在不使已存儲在前述常數 暫存器之常數移位之狀態下,將存放在前述作業欄之 常數存儲於鄰接於其常數之位置。 經濟部中央標準局貝工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 26. 依據申請專利範圍第25項所述之VLIW處理機,其特 徵為: 前述常數存儲手段,係將存放在前述指令中之常 數,存儲於比已存儲在前述常數暫存器之常數更上位 位數。 27. 依據申請專利範圍第25項所述之VLIW處理機,其特 徵為: 本紙張尺度適用中國國家標準(CNS ) Λ4規格(210X 297公釐) 83 A8 B8 C8. D8 經濟部中央標準局貝工消費合作社印製 申請專利範圍 前述常數存儲手段,係將存放在前述指令中之常 數’存儲於比已存儲在前述常數暫存器之常數更下位 位數。 28. 依據申請專利範圍第18項所述之VLIW處理機,其特 徵為: 前述常數存儲手段,係在剛藉由前述實行手段讀 出前述常數暫存器中所存儲之常數後,將零存儲於前 述常數暫存器。 29. 依挺申請專利範圍第18項所述之vliw處理機,其特 徵為: 前述實行手段,係備有一按照前述指令實行分支 操作之分支實行部; 前述常數存儲手段,係在藉前述分支實行部來實 行分支操作時,將零存儲於前述常數暫存器。 30. 依據申請專利範圍第18項所述之VLIW處理機,其特 徵為: 在此前述處理機,係連接於一用來記憶處理機之 内部狀態的外部記憶體,以便使用。 前述處理機更包含: 疏散手段,其係若由前述解碼手段來解碼為前述 指令係使前述常數暫存器之内容疏散於前述外部記憶 體之疏散指令時,實行其疏散;及 疏散禁止手段,其係在前述常數暫存器中未存儲 有效之常數時,禁止藉由前述疏散手段來實行之前述 泰紙張尺度適用中國國家標準(CNS ) Λ4規格(210X 297公釐 ^ ^ ί·裝 訂------W (請先聞讀背面之注意事項再填寫本頁) 84 經濟部中央標準局貞工消費合作社印製 A8 B8 __gS· 六、申請專利範圍 ' —- 内容之疏散。 31. 依據中明專利n圍第3()項所述之處理機,其更 包含: ' 返回手段,其係若由前述解碼手段解碼為前述指 7係使m述外部3己憶ϋ之内容返回至前述常數暫存器 之返回指令時,實行其返回;及 &回禁止手段,其係正由前述返回指令指示一對 應於由前述疏散禁止手段所禁止之疏散的返回時,禁 止藉由前述返回手段來實行之前述内容之返回。 32. 依據中請專利範圍第31項所述之vuw處理機,其更 ^含有-有效記憶手段’係用以記憶—用來表示常數 是否存儲在前述常數暫存器之有效資訊; ▲前述疏散手段具有有效資訊疏散部,其係使記憶 於刖述有效資訊記憶手段之有效資訊疏散於前述外部 記憶體; 前述疏散禁止手段,係藉著參考前述有效資訊而 判斷為常數並未存财前述常數暫存㈣,禁止前述 内容之疏散; 前述返回手段具有有效資訊返回部,其係使記憶 在前述外部記憶體之有效資訊返回至前述有效資訊記 憶手段; 前述返回禁止手段,係藉著參考疏散在前述外部 δ己憶體之有效資訊,而判斷為正由前述返回指令指示 一對應於由前述疏散禁止手段所禁止之疏散的返回 本紙張尺度賴t®®家鰣(CNS ) A4j^( 210X297^ )—
    85 A8 B8 C8. D8 其特 六、申請專利範圍 時,禁止前述内容之返回。 33.依據中請專利範gj第32項所述之vuw處理機, 徵為: 前述有效資訊疏散部,係於由前述解碼手段解碼 為前述指令暫存器所保持之指令為前述疏散指令時, 使前述有效資訊疏散至前述外部記憶體; 前述有效資訊返回部,係於由前述解碼手段解碼 為前述指令暫存器所保持之指令為前述返回指令時, 使前述外部記憶體所記憶之有效資訊返回至前述有效 資訊記憶手段。 34.依據申請專利範圍第33項所述之VLIW處理機,其特 徵為: 前述有效資訊,係表示前述常數暫存器中所存儲 之常數的有效位數; 前述疏散禁止手段,係於前述有效資訊顯示零時 禁止前述疏散; 前述返回禁止手段,係於前述有效資訊顯示零時 禁止前述返回。 _·1 Η 裝 訂^ (請先閲讀背面之注$項再填寫本頁) 經濟部中央標準局只工消費合作社印製 本紙張尺度通用中國國家標準(CNS ) A4規格(210 X 297公釐) 86
TW087109488A 1997-06-16 1998-06-15 Constant reconstructing processor which supports reductions in code size TW393623B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP15904997A JP3670801B2 (ja) 1997-06-16 1997-06-16 プロセッサ
JP23435697A JPH1173331A (ja) 1997-08-29 1997-08-29 プロセッサおよびコンテキストの退避または復帰の方法

Publications (1)

Publication Number Publication Date
TW393623B true TW393623B (en) 2000-06-11

Family

ID=26485967

Family Applications (1)

Application Number Title Priority Date Filing Date
TW087109488A TW393623B (en) 1997-06-16 1998-06-15 Constant reconstructing processor which supports reductions in code size

Country Status (8)

Country Link
US (1) US6219779B1 (zh)
EP (1) EP0897147A3 (zh)
KR (1) KR100618247B1 (zh)
CN (1) CN1269052C (zh)
IL (1) IL124905A (zh)
MY (1) MY126508A (zh)
SG (1) SG66480A1 (zh)
TW (1) TW393623B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI707272B (zh) * 2019-04-10 2020-10-11 瑞昱半導體股份有限公司 可執行指令的電子裝置以及指令執行方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3790607B2 (ja) 1997-06-16 2006-06-28 松下電器産業株式会社 Vliwプロセッサ
JP3327818B2 (ja) * 1997-08-29 2002-09-24 松下電器産業株式会社 プログラム変換装置及び記録媒体
US6412063B1 (en) * 1999-04-02 2002-06-25 Via-Cyrix, Inc. Multiple-operand instruction in a two operand pipeline and processor employing the same
JP2001142695A (ja) * 1999-10-01 2001-05-25 Hitachi Ltd 記憶場所への定数のロード方法、宛先記憶場所への定数のロード方法、レジスタへの定数のロード方法、符号ビット数の決定方法、2進数の正規化方法、及びコンピュータシステム内の命令
US6950669B2 (en) 2000-07-05 2005-09-27 Telefonaktiebolaget Lm Ericsson (Publ) Power control algorithm for packet data based on queue/channel utilization
US7941651B1 (en) * 2002-06-27 2011-05-10 Intel Corporation Method and apparatus for combining micro-operations to process immediate data
EP1378824A1 (en) * 2002-07-02 2004-01-07 STMicroelectronics S.r.l. A method for executing programs on multiple processors and corresponding processor system
US8006071B2 (en) * 2004-03-31 2011-08-23 Altera Corporation Processors operable to allow flexible instruction alignment
WO2008006400A1 (en) * 2006-07-11 2008-01-17 Freescale Semiconductor, Inc. Microprocessor and method for register addressing therein
KR20090027358A (ko) * 2007-09-12 2009-03-17 엘지이노텍 주식회사 디지털 지상파 및 케이블 복합튜너
GB2486905A (en) * 2010-12-30 2012-07-04 Cambridge Silicon Radio Ltd Amalgamating instructions by replacing unencoded space
JP6214142B2 (ja) * 2012-10-09 2017-10-18 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
US10540148B2 (en) * 2014-06-12 2020-01-21 Oracle International Corporation Complex constants
JP6372250B2 (ja) * 2014-08-25 2018-08-15 サンケン電気株式会社 演算処理装置
US10297003B2 (en) 2015-09-21 2019-05-21 Qualcomm Incorporated Efficient saving and restoring of context information for context switches

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3979725A (en) * 1973-08-06 1976-09-07 Xerox Corporation Multi-way program branching circuits
US4107781A (en) * 1976-10-27 1978-08-15 Texas Instruments Incorporated Electronic calculator or microprocessor with indirect addressing
US4740893A (en) * 1985-08-07 1988-04-26 International Business Machines Corp. Method for reducing the time for switching between programs
US5001662A (en) * 1989-04-28 1991-03-19 Apple Computer, Inc. Method and apparatus for multi-gauge computation
JPH0353328A (ja) * 1989-07-20 1991-03-07 Hitachi Ltd レジスタ退避回復方法ならびに処理装置
JP2835103B2 (ja) * 1989-11-01 1998-12-14 富士通株式会社 命令指定方法及び命令実行方式
JPH05197545A (ja) 1991-12-10 1993-08-06 Mitsubishi Electric Corp マイクロコンピュータ
US5442576A (en) * 1994-05-26 1995-08-15 Motorola, Inc. Multibit shifting apparatus, data processor using same, and method therefor
JPH08161169A (ja) 1994-12-09 1996-06-21 Toshiba Corp Vliw方式の計算機システム及びvliwの解釈・実行方法
US5966514A (en) * 1995-05-31 1999-10-12 Matsushita Electric Industrial Co., Ltd. Microprocessor for supporting reduction of program codes in size
JPH0954693A (ja) 1995-08-11 1997-02-25 Toshiba Corp Vliwプロセッサ
JP3658072B2 (ja) * 1996-02-07 2005-06-08 株式会社ルネサステクノロジ データ処理装置およびデータ処理方法
US5890009A (en) * 1996-12-12 1999-03-30 International Business Machines Corporation VLIW architecture and method for expanding a parcel
JP3578883B2 (ja) * 1997-01-31 2004-10-20 三菱電機株式会社 データ処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI707272B (zh) * 2019-04-10 2020-10-11 瑞昱半導體股份有限公司 可執行指令的電子裝置以及指令執行方法

Also Published As

Publication number Publication date
IL124905A (en) 2001-09-13
MY126508A (en) 2006-10-31
CN1204089A (zh) 1999-01-06
IL124905A0 (en) 1999-01-26
KR100618247B1 (ko) 2006-10-24
EP0897147A3 (en) 2001-10-10
US6219779B1 (en) 2001-04-17
EP0897147A2 (en) 1999-02-17
CN1269052C (zh) 2006-08-09
SG66480A1 (en) 1999-07-20
KR19990007024A (ko) 1999-01-25

Similar Documents

Publication Publication Date Title
TW393623B (en) Constant reconstructing processor which supports reductions in code size
TW490636B (en) Processor for executing highly efficient VLIW
TWI804200B (zh) 執行複數的熔合乘-加指令的系統與方法
US5687336A (en) Stack push/pop tracking and pairing in a pipelined processor
JP3171201B2 (ja) 複数命令セットのマッピング
TWI489386B (zh) 由多個指令集使用之暫存器之間的映射
JP5829714B2 (ja) マスクされたフルレジスタアクセスを用いて部分レジスタアクセスを実施するプロセッサ、方法、及びシステム
US9792115B2 (en) Super multiply add (super MADD) instructions with three scalar terms
US7996662B2 (en) Floating point status/control register encodings for speculative register field
US5748515A (en) Data processing condition code flags
EP2241968A2 (en) System with wide operand architecture, and method
GB2438229A (en) Method of moving data in a processing system by specifying the source and target address spaces to a move data instruction.
JP6498226B2 (ja) プロセッサおよび方法
CN107250993A (zh) 向量缓存行写回处理器、方法、系统和指令
TW201203103A (en) Operand size control
KR20170037685A (ko) 적분 이미지 계산 명령어를 위한 방법 및 장치
TW201243726A (en) Systems, apparatuses, and methods for blending two source operands into a single destination using a writemask
US5881259A (en) Input operand size and hi/low word selection control in data processing systems
JP5947879B2 (ja) マスクレジスタを用いてジャンプを行うシステム、装置、および方法
JP2017538213A (ja) アウトオブオーダーハードウェアソフトウェア協調設計プロセッサにおいてスタック同期命令を用いてプレディケート値のスタックを実装し維持する方法および装置
JP6778375B2 (ja) ベクトルビット反転を実行するためのプロセッサ、方法、およびシステム
EP1105792B1 (en) System with wide operand architecture, and method
JP2018506096A (ja) ベクトルビットシャッフルを実行するための方法および装置
JP2002229777A (ja) プロセッサ装置
WO2000077623A1 (en) Data processor with an arithmetic logic unit and a stack

Legal Events

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