TWI231915B - Data processing device - Google Patents

Data processing device Download PDF

Info

Publication number
TWI231915B
TWI231915B TW092123691A TW92123691A TWI231915B TW I231915 B TWI231915 B TW I231915B TW 092123691 A TW092123691 A TW 092123691A TW 92123691 A TW92123691 A TW 92123691A TW I231915 B TWI231915 B TW I231915B
Authority
TW
Taiwan
Prior art keywords
data
command
width
information
effective
Prior art date
Application number
TW092123691A
Other languages
English (en)
Other versions
TW200405205A (en
Inventor
Sugako Ohtani
Hiroyuki Kondo
Original Assignee
Renesas Tech Corp
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 Renesas Tech Corp filed Critical Renesas Tech Corp
Publication of TW200405205A publication Critical patent/TW200405205A/zh
Application granted granted Critical
Publication of TWI231915B publication Critical patent/TWI231915B/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
    • 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/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • 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
    • 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
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

1231915
發明所屬之技術領域: 本發明係有關執行除法 命令的資料處理裝置,特別 從被運算資料而檢測之有效 數,並以該當命令執行週期 裝置。 命令和餘數命令等之各種運算 是有關於執行運算命令時根據 負料寬度來设定命令執行週期 數來執行運算處理的資料處理 先前技術: 長产處理裝置中’係、以處置具有可儲存資料 長長度攔的命令碼,而基於被儲存於該當命令碼 之長度攔S之被除數資料長度資㉝,來&定並設定除法命 令及餘數命令之運算處理迴圈次數等之命令 (例如為可參考專利文獻一)。 町朋歎 專利文獻一: 曰本專利公報特開200 1 —034472號 發明内容: 發明所欲解決的課題: 士上过專利文獻一所示,在習知之資料處理裝置中, 係以編譯原始碼而依據該當命令碼之運算命令為在被配置+ 之前’會有所謂需要將被運算資料之資料長度(有效資料 寬度)先予以設定於命令碼内所設置之被運算資料之長度 資訊欄的課題。總之,於欲選擇從被運算資料之有效資料 寬度所引導之最適命令執行週期數之場合時,則必需先決
1231915 五、發明說明(2) 疋每一被運算資料之有效資料寬度。 因為本發明係為了解決如上述般之 係以可得到於執行運算命令時從被運算做出,所以 其有效資料㈣之骏X,而不必冑每—被運;置可檢測 料寬度預先設定為命令碼,於執行運算命八二料之有效資 從每一被運算資料之有效資料寬度所弓丨導U可適宜選擇 週期數之資料處理裝置做為目的。 致適命令執行 用以解決課題的手段: 本發明之資料處理裝置係包括:命 運算命令之命令碼;控制部,從依據命令以解碼 果來檢測以運算命令所應處理之被運算 。卩之解碼結 度,並決定根據該當有效資料寬度之命勃^有效貝料寬 運算部,以㉟制部所決定之命令執行 ^期數;及 令。 期數來執行運算命 實施方式: 以下,來說明本發明之實施的—個形態。 實施形態一. 圖1係顯示依據本發明之實施形態一之資料處理裝置 之構成的方塊圖,並顯示例如為執行除法處理之硬體'在 圖中,命令解碼部1係以接受所應處理之命令碼來解碼, 而將該當解碼結果予以送到控制邏輯部3。在此,以做為 將命令碼解碼所成之結果而得到之資訊而言,於將運算‘’之
1231915
種=(除法命令 '及餘數命令等)予以特定之資訊夕 二:將被運算資料之有無符號予以特定 =態= ' 及在如後述之長度上限值L等般上定命 ;^:八上之々加以使用之所謂控制命令執行週期數之 命令碼資訊)。而且’通用暫存器檔2係由含有複數 Πΐ!,暫存器群所構成’而可儲存以運算處理來處置 之破運异資料。控制邏輯部(控制部)3係以含有長度 檢測電路6和迴圈處理、结束檢測部7而構成,來控制又除法 令及餘數命令之動作。 ' ALUUnthmetic and Logical Unit)部(運算部)4係 UU9,以取入2個被運算資料與可特定應執行何種運 异^資訊而執行運算處理;及餘數暫存器10,含有擴充暫 存器11所構成。移位部5係根據控制邏輯部3之控制信號而 執行被除數資料之移位。還有,在圖示之例中,雖然 控制邏輯部3被輸入於移位部5之控制信號s F1和控制作號 CTS來附上記號氺,但此係表示控制邏輯部3與移位部5之 連接關係。例如、記號* *係表示從控制邏輯部3將控制 信號SF1直接輸入於移位部5之記號。 而且,長度資訊檢測電路(控制部)6係於執行除法命 令及餘數命令時來檢測被除數資料之長度資訊(有效資料 寬度)η ’以做為有效資料寬度而輸出至迴圈處理結束檢測 部7 »該長度資訊檢測電路6係以例如為優先順序解碼器所 構成。控制邏輯部3内之迴圈處理結束檢測部7係基於來自 長度資訊檢測電路6之被除數資料的有效資料寬度η及叶數
2103-5834-PF(Nl);Ahddub.ptd
!231915 五、發明說明(4) 器8之計數器值來檢測除法處理之迴圈之結束時點。在 此’计數器8係以母一次拉開法之反覆處理完畢而增加數 值。再者,64位元之餘數暫存器1〇係含有:擴充暫曰存器 11,逐次來儲存於依據ALU9之除法處理之際所產生之運瞀 資料,並儲存被移位部5所移位之被除數資料。 # 圖2係顯示在圖1中之資料處理裝置被處置之命令格 之圖,並正顯示例如為除法命令及餘數命令之命人碼 ^ ,中,第1運算碼部〇P1、及第2運算碼部〇P2係以ς定來 疋應執行之運算命令之種類(例如為除法命令、餘數命八曰 之資訊。而且,於運算碼部0P1、〇Ρ2係先將被儲存7於 f目的暫存器指定部R1和來源暫存器指定部R2所指定 存器的資料之資料型態(資料型態資訊)以做為命令之一 $ ^予以定義。在此,所謂資料型態係藉指定以有 〇1 (wgned)或無符號(unsigned)之任—種而將成 ^ 之運算元加以處置之資訊。 ’、’、w對象 還有,指定該當資料型態之資訊係也可配 内之運算碼部以外之位元位置。於目的,=°卩々碼 可設定以指定在通用暫存器檔2内之暫 益曰疋部只1係 數之暫存器的資訊。而且,於來源暫暫儲存被除 定以指定在通用暫存器樓2内之暫存。;:二^ 之暫存器的資訊。再者,於命令碼中之砰裏:除數資料· 技術為不同地在除法命令、及餘數命人:係與習知 長度資訊係不被設定。 7 Τ之破除數資料之 圖3係顯示在圖1中之資料處理 直被處置之資料格式
1231915
五、發明說明(5) 之;ί顯示在32位元之資料格式中上段為不具有符號 ::: 及於下段具有符號位元之情形。在圖中,在 “,、上奴之符號位兀之資料格式中,以從最上位之 2 η將於最初檢測出邏輯μ之位元位置予以定義 今H一方面’下段圖之sgn係顯示符號位元。在具有 。亥符號位兀sgn之資料格式中,以從除去符號位 個位π來产尋*將於最初檢測出符號位元之反轉的位元 :5予以定義為第k個。下段之圖係顯示將從32位元 格式之第k個位元至第31個位元止 之情形。 焱的貢枓予以配置 # 其次,就動作來說明。 圖4係顯示實施形態一之資料處理人… 期數之設定動作的流程圖,相當 < °卩7行週 沐沾a走饰 依錁後述之拉開法之哙 法的刚處理…沿著該圖來說明在除 == 在如、-I (有效貧料寬度)n的檢測處理 在例如、資料長度為32位元之資“j處理。 滿足0 < n S 3 2之整數。以下、么7 # 裝置上,η則成為 資料卢搜获罢 為了簡單做說明,將在兮a
ίΪ ϋ置,資料的資料長度做為32位I 譯所產生之丄I解碼°卩1係只要—接受將原程式碼予以編 擎所產生之〒令碼,則解碼該當命 、亍以編 J程式碼之一命令係成為被配置於體Τ記述於 時,被設定於該當命令碼之第丨 田運开硬體上。此 部0Ρ2上之命令之種類(例如為除法异二部人運算碼 和成為運算對象之運算元之資料型態;為為:;;:二) 資
2103-5834-PF(Nl);Ahddub.prd 五、發明說明(6) 訊而被取出 做為該命令碼資訊 送至控制邏輯部3。在 ^果係從命令解碼部1被轉 測電路6來輪入該當解:钍=輯邛3係於内部之長度資訊檢 形態U資料處“置二法命因令此,係開始執行本實施 的暫存器指Ϊ :RU Ϊ3:基於被設定於解碼結果内之S 來讀出被除叙-处w 貝況而從通用暫存器擋2内之暫存器 ^S1 - ^ ^ ^ 在县庚 為之處理係相當於步驟ST1。 訊來基於從解碼結果之命令碼資 盔棼%,此數科資料型態而判定被除數資料之右
i r/^2) J 第。個位AV尋檢而:電:i如口3所示般地’從最上位之 之位元二2/ fj)。在此’於無法檢測具有邏輯值1 數資料之值 長度資訊檢測電路6係以判斷該當被除 電路Γ/Λ,/、要被除數f料為有符號,則長度資訊檢測 電路6係以判定符號為正或負之任一屬性(步驟st4)。在 此,只要符號為正之場合、總之於被除數資料之第〇個位 位元為邏輯值〇 ’則長度資訊檢測電路6係以檢測 該虽符號位7C之反轉值(即、邏輯值丨)為於最初出現之位 7C位置k(步驟ST5)。而且,只要於符號為負之場合時、始 之於被除數資料之第0個位置之符號位元為邏輯值= 2103*5834-PF(N1);Ahddub.ptd 1231915 五、發明說明(7) 度資訊檢測電路6係以檢 輯值〇)為於最初出現之1 曰^位兀之反轉值(即、邏 如上述般地,=位(步驟ST6^ 測電路6係以做為決定該當除法處理之命令檢 一之資料處理裝置所處置依據本貧= ==為止之資料而得之(32_k)二之運,去之至 ^除數資料之資料長度資訊η係以做為有效資料寬; :度測電路6被轉送至迴圈處理結束檢測部广攸 fk-1)個位元為止並非為運算對象,因It;:;)料至 所以將被除數資料之移位寬度做為k,以產生指定亨者 ==信號SF1而輸出至匯流㈣。至此為::處 理係相當於步驟ST7。 其次’來說明依據拉開法之除法處理。 圖5係顯示依據資料處理裝置之除法命令之處理動作 ,以沿著該圖來說明依據拉開法而執行除令 之%合時的處理步驟。 首先,移位部5係以經由通過sn、SF2,而 控制邏輯部3之控制信號SF1所指定之移位寬度k、s盥依據 ^制邏輯部3之控制來取得被除數資料。再者,移;立部5係 藉由從控制邏輯部3所輸出之控制信號CTS而可指示移位方 向為「左」。繼續地,移位部5係將被除數資料以移位寬 度k向左移位。如圖3所示,係從第〇個位元(含有符號位
第11頁 2103-5834-FF(Nl);Ahddub.ptd 1231915
=)至第(k-i)個位元為止並非為運算對象,而非為有效 資料,即藉以移位寬度k將被除數資料向左移位, 可除去該當被除數資料中之不要的資料。 成為 於ί 士述之移位部5之移位結果係以經由通過訂3而被儲 ,於餘數暫存器10内之擴充暫存器〗丨,因而,於餘數 之左半部(32位元)係設定為〇。從該移位部5為取得自 控制邏輯部3來之移位寬度與被除數資料至餘數暫存器i 〇 ^左半部(32位元)為設定為〇為止之動作係相當於步驟 1 a 〇 其次,控制邏輯部3係將控制信號CT1與控制信號CT2 予以輸出至餘數暫存器1〇,而使儲存在餘數暫存器1〇之 =向左移位1位元(步驟ST2a)。在此,控制信號CTl係與在 >知之技術所說明的為同樣地,為控制餘數暫存器丨〇之移 ,方向的信號H,控制信號GT2係指示儲存於餘數暫 存态之LSB(Least Significant Bit)之資料的信號。 ▲繼續地,以迴圈處理結束檢測部7為將初期值0設定於 計數器8,來開始依據拉開法之除法的反覆處理。 、 首先,ALU部4係藉由從基於被設定於來源暫存器指 部R2 =資訊的控制邏輯部3來之控制,而可將儲存於通用 暫存器檔2之除數資料讀出於内部匯流排“,並經由通過 AU2而轉送於ALU9。再者,在ALU9係經由通過aui而取得餘 數暫存器10之左半部(32位元)之資料。其次,ALU9係只 =接受在控制邏輯部3所產生而被輸出之控制信號CTA,則 從通過AU1之資料來執行減掉通過…?之除數資料之減法處
1231915 五、發明說明(9) 理。該當減法結果係從ALU9來儲存於餘數暫存器1〇之左半 部(32位元)。至此為止係相當於步驟ST3a。 只要一執行上述之減法處理,則控制邏輯部3係判定 1數是否為〇以上(步驟ST4a)。具體地加以說明,則與在 習知t技術所說明的為同樣地,控制邏輯部3係將在ALU9 ,運算結果之MSB(Most Significant Bit)以做為控制信 號DVSGN而取出,此時,若控制信號DVSGN為〇,則因為餘 數^0 ’所以控制邏輯部3係將控制信號CT1以「向左移位1 位元」而輸出於ALU部4,並使餘數暫存器1 〇内之資料向左 移,1位元。因而,以做為控制信號CT2 =1,而將餘數暫 存器 10 之 LSB(Least Significant Bit)設定為 i(步驟 ST5a)。即,只要餘數暫存器1〇内之資料為被向左移位1位 兀則餘數暫存器1 〇内之右端之新的位元係被設定為i。 、一方面,若控制信號DVSGN為1,則因為餘數^Q, 以控制邏輯部3係以經由通過Αϋ2,而從内部匯流排 送除數資料至ALU9。再者,於通過AU1係設定餘數暫轉 ίο内之左半部之值。之後,ALU9係將通過AU1之資料盥 過AU2之資料做加法運算,而將運算結果儲餘ς = 器Η之左半部(32位元)内。總之,藉由於餘數暫餘存數^存 左f部加上通用暫存器檔2内之除數資料的值,而之 存器10係變為恢復於上述之減法處理之執行前的、暫 其次,控制邏輯部3係將控制信號CT丨以做為「 位1位元」而輸出於ALU部4,而使餘數暫存器1〇、内°次左移 向左移位1位元。繼續地,以做為控制信號c 貝枓 6〜U,而將餘
2103-5834-PF(Nl);Ahddub.ptd 第13頁 1231915 五、發明說明(10) 數暫存器 10 之LSB(Least Significant Bit)設定為〇 =,將餘數暫存器10向左移位,而於餘數暫存器1〇内之右 知之新的位元予以設疋為〇 ^至此為止係相當於步驟 ST6a 〇 ' 之後,控制邏輯部3係執行反覆次數之判定(步驟 ST7a)、、。具體而言,迴圈處理結束檢測部?為每執次依 ,上述之拉開法之除法的反覆處理,則將計數器8以加1增 篁。之後,迴圈處理結束檢測部7係將以做為在拉開法之 反覆處理之結束次數而先保持著之被除數資料之長度資訊 讀該當計數器8之計數值做比較。此冑,假使計數器8之 计數值為未滿n ’總之若為未滿n次之反覆次數,則再執行 上述之反覆處理。 一方面,假如計數器8之計數值為以n次而結束反覆 理]則控制邏輯部3係將控制信號CT1以做為「向右移位i 彳Λ,ϊ於ALU部4,並使餘數暫存器10内之資料向右 ^立1位4步驟ST8a)。因而,於執行除法命令之場合 oim 存於擴充暫存器11内之資料(商)以經由通過 使輸*於内部匯流排D卜而且,於執行餘數命令之 ΛΛ日Γ將正儲存於餘數暫存器10之上位32位元之資料 (餘數經由通過_2而使輸出於内部匯流排di。於 時,依據該當資料處理裝置之運算結果係以經由内 = 並儲存於通用暫存器檔2内之暫存器(i命: 碼之目的暫存器指定部被指定之暫存器)。 如以上所1C,若依據該實施形態:,則因為包括:長
1231915 五、發明說明(11) 度資訊檢測電路6,於執行除法命令時將被除數資料之長 度資訊以從該當被除數資料來直接檢測,所以於執行除法 命令時,於每一被除數資料之有效資料寬度來選擇最適的 命令執行週期數。 實施形態二. 圖6係顯示本發明之實施形態二之資料處理裝置之構 成的方塊圖,並正顯示執行例如為除法處理之硬體。在圖 中,長度資訊檢測電路(控制部)6a係基於含有被除數資料 之長度上限值L之命令碼的解碼結果,而於執行除法命令 及餘數命令時來檢測被除數資料之長度資訊(有效資料寬 度)η ’以做為有效資料寬度而輸出於迴圈處理結束檢測部 7。該長度資訊檢測電路6a係由··優先順序解碼器,藉由 例如為長度上限值L而僅以L位元寬度做為搜尋對象所構 成。還有,於與圖1為同一構成要素係給與同一符號而省 略掉重複之說明。 圖7係顯示在圖6中之資料處理裝置所被處置之命令格 式之圖,並正顯示例如為除法命令及餘數命令之命令碼。 在圖中’第1運算碼部0P1、及第2運算碼部0P2係可設定以 指定應執行之命令之種類(例如為除法命令、及餘數命令 等)的資訊。而且,於0P1、0P2係先將被儲存於在目的^ 存器指定部R1和來源指定部R2所指定之暫存器的資料型態 (資料型態資訊)做為命令之一部分予以定義。在此,所謂 資料型態係與上述實施形態一為同樣地,為將成為運算g 象之運算元以指定有符號(signed)或無符號(unsigned)之
1231915 五 發明說明(12) ------ 種來處置之資訊。 配置命令碼内之,宣^ 還有’指定資料型態之資訊係也可而且,於目的暫;:二外之位疋位置。 暫存器檔2内之暫^定部R1係可設定以指定於通用 再者,於來源暫存^&扣群^裏儲存被除數之暫存器的資訊。 器檔2内之暫存写曰定部R2係可設定以指定於通用暫存 命令碼中之常數^群爰儲存除數之暫存器的資訊。設置於 訊)係可設定^以并部! t 一部分之長度搁儿(長度上限值資 例如、資料長度=除數資料之長度上限值L的資訊。在 〇 〇 <Q〇 X馬32位凡之資料處理裝置中,L係成為滿 疋υ <L $32之整數。 任 夕阁不在圖6中之資料處理裳置所處置之資料格式 的次粗肩示在長度上限值L為被指定於16位元之32位元 下二^ f中上段為不具有符號位元之情形、及正顯示於 合二具有符,位元之情形。在圖中,MVUH、divh係除法 P 7 ^,憶符號(mnemonic),分別顯示無符號之除法命令 及有符號之除法命令。而且,因為被除數資料之長度上限 值[為被指定為16位元,所以在對應於助憶符號DIVUH、 D1VH之資料格式中,從最上位之第0個位元至第1 5個位元 為止之值係做為無效的資料而被處置。 其次,就動作來說明。 圖9係顯示實施形態二之資料處理裝置之命令執行週 期數之設定動作的流程圖,相當於後述之依據拉開法之除 法的前處理。沿著該圖來說明在執行除法命令及餘數命令
之際之被除數資料之長度資訊η的檢測處理。在例如、資
2103-5834-PF(Nl) ;Ahddub.ptd 第16頁 1231915 五、發明說明(13) 料長度為32位元之資料處理裝 32之整數。以τ 7 η係成為滿足0 <η $ 置來處置之資:Ξ:做:明’將以該當資料處理裝 、且心貝枓的資料長度做為32位元。 首先 命令解碼部1係只要一接受總嘴; 之命令碼,則解碼該當命令碼。因此,=原过始產生 命令係成為被配置於該當運算硬體。此時,:始碼之 (例Λ除22瑪Τ及第2運算碼精2之命他 之資料二命令及餘數命令等)、成為運算對象之運算元 上限值LH6位元)等係做為命令碼資訊而被=枓之長度 送於碼資严之解碼結果係從命令解碼部1被轉 ==:3。在控制邏輯部3係將該當解碼結果輸入 形離-之次=说檢測電路^。因此’可開始執行本實施 开y〜、一之_貝料處理裝置的除法命令。 的暫ίΐ户”㈣#3#'解碼結果内之目 曰疋部R1之資訊而從通用暫存器檔2内之暫存哭 被除數資料而轉送於匯流频,同時也轉送於長度 資檢測電路63。至此為止之處理係相當於步驟ST1。 在長度資訊檢測電路6a係基於從解碼結果之命八 出之被除數資料之資料型態來判定被除數資二之; 無付唬(步驟ST2)。此時,若該當被除數資料為無符號有 則長度資訊檢測電路6a係基於被除數資料之長度上限^ L,如圖8之所示,將從最上位之第〇個位元至第^31—^個 為只做為無效的資料來處置,並搜尋第(32-L)個位元至第
1231915 五、發明說明(14) 31個位元止而檢測於最初出現邏輯值1之位元位置k(第k個 位元)(步驟ST3b)。在此’於未檢測出具有邏輯值1之位元 之場合時’長度資訊檢測電路6a係判斷該當被除數資料之 值為0。 一方面,只要被除數負料為有符號,則長度資訊檢測 電路6a係判定符號是否為正或負之任一屬性(步驟ST4)。 在此,於被除數資料之長度上限值為L、且符號為正之場 合時,總之,只要位於被除數資料之第(32 —L + 1)個之符號 位元為邏輯值0 ’則長度資訊檢測電路6a係搜尋從第
(32_L+1 )個位元至第31個位元而檢測該當符號位元之反轉 值(即,邏輯值1)為於最初所出現之位元位置k(步驟 ST5b)。 而且,於符號為負之場合時,只要位於被除數資料之 第(32-L)個之符號位元為邏輯值},則長度資訊檢測電路 6a係搜尋第(32-L+1)個位元至第31個位元而檢測該當符號 位元之反轉值(即,邏輯值〇 )為於最初所出現之位元位置 匕(步驟ST6b:。在圖8之下段所示之例中,顯示從第i 6號符 號:邏輯值S)至第23個位元止係符號位元為㈤-值3, 而從第24個至第31個止為有效的資料。 & π t 般地,只要位元位置k為被檢測,則長度資訊 t a係j做為被除數資料之資料長度資訊η及反覆 >次it 异出從本實施形態二之資料處理裝置所處置 之負料長度3 2位夕咨粗、# 4· r* 一 之貝枓減去至位兀位置k止之資料而得 做為該運算結果之被除數資料之資料長度資訊
1231915 五、發明說明(15) (有效資料寬度)n係做為有效資料寬度而從長度資訊檢測 電路6a來轉送至迴圈處理結束檢測部7。 而且,長度資訊檢測電路6a係從第〇個位元(含有符號 位元)至第(k-Ι)個位元止並非運算對象,而因為非為有效 ,資料所以將被除數資料之移位寬度做為k,來產生以指 定。亥s移位寬度k之控制信號sfi而輸出至匯流排52。至此 為止之處理係相當於步驟gT7。 關於依據以下之拉開法的除法處理,係與上述實施形 態一為同樣所以省略其重複之說明。 如以上之所述,若依據該實施形態二,則因為將以規 定於檢測被除數資料之長度資訊之際之搜尋範圍的長度上 限值L予以設定為命令碼,所以可高速化被除數資料之長 ,資,之檢測處理。而且,因為處於以長度上限值l所指 定ί ί圍以外之位元位置的資料係全部成為無效,所以於 儲存 > 料時並不需要修正為3 2位元資料。 實施形態三. 圖1 〇係顯示依據本發明之實施形態三之資料 之構成的方塊圖,並正顯示以執行例如為除法處理之石& ΐ料暫存器(記憶部)12係儲存以指定被除數 貪’斗貝枓i U貝料型態資訊)的資訊及其長度上ρρ …上限值資訊)。還有,於與圖丨及圖6為長同度樣上二值 要素係給與同一符號而省略掉重複之說明。门樣之構成 f先,在本實施形態三之資料處理裝置 格式係與上述實施彤 .^ ^ 〜置之〒令 7 I、一為同樣,而不設定在除法命令及
2103-5834-PF(Nl);Ahddub.ptd 第19頁 1231915 ------ 五、發明說明(16) 餘數命令之被除數資料之長度資訊於命令碼中之 c。而且’資料格式係與上述實施形態 ' 長度上限值L所指定之範圍以外之位元位 = = 成為無效。 苴的貝枓係全部 其次,就動作來說明。 在此係說明在執行除法命令及餘數命令 資料之長度資訊η之檢測處理。在例如、^之^數 疋之資料處理裝置中,係η為滿足◦ <η⑶之整=以立 I、為了簡單做說明,將在該當資料處理裝 料的資料長度做為3 2位元。 处置之貝 首先,命令解碼部1係只要一接受以編譯原始 生之命令碼,則解碼該當命令碼。因此,產 命令成為被配置於該當運算硬體。此時,被心定於‘:: ,碼之第1運算碼部0P1及第2運算碼部0Ρ2之命二的 _(例t為除法命令及餘數命令等)和成為運算' 疋之資料型態等係做為命令碼資訊而被取出。象之運异 Η ϋΐΐ令碼資訊之解碼結果係從命令解媽部1被韓 达至控制邏輯部3。在控制邏輯部3係將該 ^被轉 於内部之長度資訊檢測電路6a。 馬、,、。果輸入 括山ΐ _人?制邏輯部3係從通用暫存器檔2内之暫在Α 項出破除數資料而轉送至匯流排S1, =來 訊檢測電路6a。再者,抟制杻加。〆于也得运至長度資 讀入對應於上述::數;::Ϊ 3二模以^ 而轉送至長度資訊檢測電路據本 第20頁 2103.5834.PF(Nl);Ahddub.ptd 1231915 五、發明說明(17) 實施形態三之資料處理裝置之除法命令 在長度資訊檢測電路6a係基於來自模態暫存器丨2之資 料型態而判定被除數資料之有無符號。此時,若該當被除 數資料為無符號,則長度資訊檢測電路6a係基於來自模態 暫存器12之長度上限值L ’而將從最上位之第〇個位元至第 (31-L)個為止做為無效的資料來處置,並搜尋從第ο? 一乙) 個位元至第31個位元而檢測於最初出現邏輯值丨之位元位 置k (第k個位元)。 一方面,只要被除數資料為有符號,則長度資訊檢測 電路6 a係判疋符號為正或負之任一屬性。在此,於被除數 資料之長度上限值為L、且符號為正之場合時,總之、只 要位於被除數資料之第(32-L)個之符號位元為邏~輯值〇 了 則長度資訊檢測電路6係搜尋從第(32-L+1)個位元至第3丄 個位元而檢測該當符號位元之反轉值(即,邏輯值1 )為於 最初所出現之位元位置k。 、 一而且,於符號為負之場合時,總之、只要位於被除數 >料之第(32-L)個之符號位元為邏輯值i,則長度資訊檢 測電路6a係搜尋從第(32_L+1)個位元至第31個位元而檢測 該當符號位元之反轉值(即,邏輯值〇)為於最初所出現之 位元位置k。 如上述般地,只要位元位置k為被檢測,則長度資訊 檢測電路6a係=做為被除數資料之資料長度資訊n及反覆 處理-人數,來异出從本實施形態三之資料處理裝置所處置 之資料長度32位元之資料來減去至位元位置k之資料而得
1231915 五、發明說明(18) 之資料長度資訊(有 而從長度資訊檢測電 之(32-k)。該運算結果之被除數資料 效資料寬度)η係以做為有效資料寬度 路6a來轉送至迴圈處理結束檢測部7。 而且,長度資訊檢測電路6a係從第〇個位元(含有符號 位元)至第(k-ι)個位元止並非為運算對象,因為非為有效 =資料所以將被除數資料之移位寬度做為k ’並產生以指 疋》亥*移位寬度k之控制信號s F1而輸出至匯流排s 2。至此 為止之處理係相當於步驟ST7。
,a關於依據以下之拉開法的除法處理,因為與上述實施 形態一為同樣所以省略重複做說明。 • ^以上所述般地,若依據該實施形態三,則因為包 括:模態暫存器1 2,以設定被除數資料之資料型態和其長 度上限值L,所以不必設置長度資訊欄於命令格式,而可 得到與上述實施形態二為同樣之效果。 ^還有,在從上述實施形態一至上述實施形態三止,雖 係就關於除法處理之硬體和運算方法來做說明,但本發明 係並非被限疋於此。總之,本發明之適用對象係也可為依 據被運算資料之有效資料寬度來執行命令執行週期數所規 定之運算處理。以例如為做為命令碼資訊,於被運算資料 之長度上限值之其他來設定其下限值,而可控制命令執行 週期數之下限,或控制運算結果之下限值。 實施形態四· 圖11係顯示該發明之實施形態四之資料處理裝置之構 成的方塊圖’並正顯示例如為執行除法處理之硬體。在圖
1231915 五、發明說明(19) 中’模態暫存器(記憶部)1 2a係儲存以指定是否應執行依 據長度資訊檢測電路6b之被除數資料之有效資料寬度之檢 測處理的處理設定資訊。還有,於與圖1及圖6為同一構成 要素係給與同一符號而省略重複做說明。 本實施形態四之資料處理裝置係可藉由在上述實施形 態一所示之命令執行週期數之決定•設定處理之外之儲存 於模態暫存器1 2a之處理設定資訊而選擇上述實施形態二 和在上述實施形態三所示之處理,或從已預定之資料寬度 來決定命令執行週期數。
其次,就動作來說明。 在此,係說明在執行除法命令及餘數命令之際之被除 數資料之長度資訊η的檢測處理。在例如、資料長度為3 2 位元之資料處理裝置中,η係成為滿足〇 < η $ 3 2之整數。 以下、為了簡單做說明,將在該當資料處理裝置所處置之 資料之資料長度做為3 2位元。 首先’命令解碼部1係一接受將原始碼編譯所產生之 命令碼,則解碼該當命令碼。因此,記述於原始碼之命令 成為被配置於該當運算硬體。此時,被設定於該當命令碼 之第1運算碼部0Ρ1及第2運算碼部op?之命令的種類(例如 為除法命令及餘數命令等)和成為運算對象之運算元之資 料型態等為做為命令碼資訊而被取出。 該命令碼資訊之解碼結果係從命令解碼部1被轉送至 控制邏輯部3。在控制邏輯部3係於内部之長度資訊檢測電 路6b來輸入該當解碼結果。其次,控制邏輯部3係基於被
1231915
設定於解碼結果内之目的暫存器指定部R1之資訊而從通用 暫存器播2内之暫存器來讀出被除數資料並轉送至匯流排 si,同時也轉送至長度資訊檢測電路6b。 此時’長度資訊檢測電路6b係從模態暫存器丨2a來輸 入處理設定資訊,而基於該當資訊來判斷是否執行被除數 資料之有效資料寬度之檢測處理。具體而言,係以做為處 理設定資訊而先設定將依據長度資訊檢測電路6b之被除數 資料之有效資料寬度之檢測功能做為有效或無效之數位 值。長度資訊檢測電路6b係以基於處理設定資訊之值而判 斷自己之上述功能之有效或無效。 ,此,於被除數資料之有效資料寬度之檢測功能為有 效之場合時,長度資訊檢測電路6 b係使用解碼結果之運算 種類和=料型態,而與上述實施形態一為同樣地來執行處 理’並算出相當於該當除法處理之命令執行週期數之被除 數貝料之有效資料寬度n。將有效資料寬度η設定於迴圈處 理結束檢測部7《以下之處理係與上述實施形態一為同 一方面,於在處理設定資訊以指定被除數資料之有效 資料寬度之檢測功能為無效之旨意的場合時,&度資訊檢 測電路6b係不使檢測被除數資料之有效資料寬度η,而將 微處理裔之貧料長度32位元做為預定之而 設定於迴圈處理結束檢測邮7 、,丁 另又貝竹見又 形態一為同樣。 貝"了。以下之處理係與上述實施 該構成為相當於蔣太杂^ W本只施形悲四適用於上述實施形態
2103*5834-PF(N1);Ahddub.ptd 第24頁 1231915 五、發明說明(21) 一之場合。 圖1 2係顯示圖丨丨中之控制邏輯部及供應於控制邏輯部 之各種資料的方塊圖,並以使用該圖來說明關於將本實施 形態四適用於上述實施形態一至三之任一構成的情形。如 圖所示,於將本實施形態四之構成適用於上述實施形態 二、及三之場合時,長度資訊檢測電路6b係從命令碼之解 碼結果或模態暫存器1 2來輸入被除數資料之長度上限值 L。還有’被除數資料之長度上限值L係也可與處理設定資 訊一起儲存於模態暫存器12a。
在此’於在處理設定資訊以指定被除數資料之有效資 料寬度之檢測功能為有效之旨意的場合時,長度資訊檢測 電路6b係執行與上述實施形態二、或三為同樣之處理,而 算出相當於該當除法處理之命令執行週期數之被除數資料 的有效資料寬度η。將有效資料寬度n設定於迴圈處理結束 檢測部7之以下之處理係與上述實施形態二、或三為同 樣。 一方面,於在處理設定資訊以指定被除數資料之有效 資料寬度之檢測功能為無效之旨意的場合時,長度資訊檢 測電路6b係不使檢測被除數資料之有效資料寬度η,而將 被除數資料之長度上限值L設定為預定之有效資料寬度η。 · 將有效資料寬度η設定於迴圈處理結束檢測部7之以下之處 理係與上述實施形態二、或三為同樣。 還有,以做為儲存於模態暫存器1 2 a之處理設定資 訊,係也可設定除了指定是否執行依據長度資訊檢測電路
2103-5834.PF(Nl);Ahddub.ptd 第25頁 1231915 五、發明說明(22) ~一 6b之被除數資料之有效資料寬度之檢測處理的資訊之外, 以指定是否應使用被除數資料之長度上限值[等之命令碼 資訊的資訊。 /具體地加以說明,則如圖丨2所示,長度資訊檢測電路 6b係先保持被除數資料之長度上限值L及微處理器之資料 長度。此時,在處理設定資訊中,於以指定被除數資料之 有效資料寬度之檢測功能為無效之旨意、且指定被除數資 =之長度上限值L等之命令碼資訊之使用為無效之旨意的 場合時,長度資訊檢測電路6b係不需將被除數資料之長度 上限值L做為有效資料寬度n,以將微處理器之資料長度^ 位7L做為預定之有效資料η而設定於迴圈處理結束檢測部 7 ° 而且,於在處理設定資訊以指定被除數資料之有效 料寬度之檢測功能為無效之旨意、且指定將被除數資料之 長度上限值L等之命令碼資訊之使用做為有效之旨意的場 合時,長度資訊檢測電路6b係將被除數資料之長度上阳 L、及以有效資料寬度n做為預定之有效資料寬度予以設 定於迴圈處理結束檢測部7。 *,以上所述,若依據該實施形態四,則因為藉由儲存 於模態暫存器1 2a之處理設定資訊,而以可選擇從上述奋 施形態一至上述實施形態三止所示之被除數資料之有效貝 料寬度來決定命令執行週期數之處理、及從已預定之料 寬度來決定命令執行週期數之處理而構成,所以可不必於 命令格式來設置長度資訊攔,而得到與上述實施形態二為
1231915
五、發明說明(23) 同樣之效果。而且,町適宜選擇命令執行週期數之決^ 法,並可根據運算命令之種類等柔軟地來決定 、定方 執行週期數。 之命令 發明效 如 部,解 之解碼 效資料 期數; 行運算 效資料 宜選擇 運算處 若 可控制 該當命 被運算 於模態 資訊, 所謂可 果 以上所述’若依據本發明,則因為· 碼運算命令之命令碼;控制部,=命 、:果來檢測以運算命令所應處理之被運算資二:: 決定根據該當有效資料寬度之命令執行i 制:所決定之命令執行週期數來執 ϋ預先可不需將每-被運算資料之有 從二一#二〇二二7碼,而於執行運算命令時來適 二貝料之有效資料寬度所引導之最適的 理之命令執行週期數的效果。 依據本發明,則因炎仏壯 運瞀务八夕A人因為於裝置内之記憶部,預先設定 ^ ^ ^〒々執行週期數, 令碼資訊,來決定拍械 Ρ 7碼貝W向丞π 資料之有效資料寬運算命令所應處理之 暫存琴箅之π h度的°卩令執行週期數,而且保持 嘴存益專之兄憶部來控制命 而使用該當内容來執扞執仃週期數之”碼 消除對命令碼之限處理之控制’所以具有 1231915 圖式簡單說明 圖1係_示本發明之實施形態一之資料處理 方掄® &置 成的方塊圖 之圖 之構 圖 圖2係顯示在圖丨中之資料處理裝置所處置之命令 圖3係顯示圖1中之資料處理裝置所處置 格式 之資料格式 之 .、肩7K實施形態一之資料處理裝置之命令 期數之設定叙从 + 卩7執行 ~ 乍的流程圖 逍 程圖 圓5係顯示資料處理裝置之除法命令之處理 動作 的流 ^0 0 Μκ ” ·、、員示本發明之實施形態二之資料處理裝番 方诒® I夏 成的方塊圖 之構 圖7将杜_ 之圖。 …wp /含格式 圖8係顯示在圖6中之資料處理裝置所處置之 之圖。 只 圖9係顯示實 ” 4不在圖6中之資料處理裝置所處置之命令 料袼式 翅 u <、施形態二之資料處理裝置之命令執仁 期數之設定動从t ^ 研仃 ,勒作的流程圖。 圖1 0係顯示本發明之施形態三之資料處理 成的方塊圖。/ I罝之構 % 圖11係顯示本發明態四之資料處理 成的方塊圖。 衣置之構 圖 1 2 >f^; - 所供 應之各種資;J ^圖11中之控制邏輯部及被控制邏輯部 方塊圖
1231915
符號說明: 1〜命令解碼部; 3〜控制邏輯部(控制部) 5〜移位部; 8〜計數器; 1 0〜餘數暫存器; 1 2、1 2 a ~模態暫存器(言丨 Z〜通用暫存器檔; ’ 4〜ALU部(運算部); 7〜迴圈處理結束檢測部 9〜ALU ; 11〜擴充暫存器; 憶部); 6、6 a、6 b〜長度資訊檢測電路(控制部)。
2103-5834-PF(Nl);Ahddub.ptd 第29頁

Claims (1)

1231915
種資料 解碼部 令碼資 部,從 資訊來 資料寬 數;及 部,以 算命令 申請專 算命令 碼資訊 命令 中具有命 控制 該命令碼 料的有效 執行週期 運算 行上述運 2 ·如 中,於運 數之命令 處理裝置,包括: ’解碼運算命令之命令碼,其中該命令碼 訊,用以控制該運算命令執行週期數; 依據上述命令解碼部之解碼結果所得到之 檢測以上述運算命令所應處理之被運算資 度’並決定根據該當有效資料寬度之命令 上述控制部所決定之命令執行週期數來執 〇 利範圍第1項所述之資料處理裝置,其 之命令碼中來設定可控制其命令執行週期 控制部係命令解碼部為基於以做為解碼結果而抽出之 上述^令碼資訊,來決定以上述運算命令所應處理之根據 被運算資料之有效資料寬度的命令執行週期數。 3·如申請專利範圍第2項所述之資料處理裝置,其 中,於運算命令之命令碼中,以做為命令碼資訊而設定可 指定被運算資料之有無符號的資料型態資訊; 控制部係根據在上述資料型態資訊所特定之被運算資 料之有無符號而檢測其有效資料寬度,並決定根據該當有 效資料寬度之命令執行週期數。 4·如申請專利範圍第2項所述之資料處理裝置,其 中,於運算命令之命令碼中,設定以做為命令碼資訊而指 定於檢測被運算資料之有效資料寬度之際之搜尋範圍之上
第30頁 MM 六 _虎 9212 祁 Qi 申請專利範圍 限值的長度上限值資訊; 限值被運算資料裏基於以上述長度上 度並::根據該當有效資料寬度之命令執行週期數。 中,包括記ΐΓ,ΪΠ1:所述Λ資料處八理裝置’其 的命令碼資訊;儲存可控制運算命令之命令執行週期數 訊’ =:!以;3:=出:上述命令碼資 有效資料寬度的:;;;=處理之被運算資料之根據6」=申请專利範圍第5項所述之資料處理裝置,直 :fe :部係儲存以做為命令碼資訊而指定被運算資料之 有無符號的資料型態資訊; &被運异貝枓之 社夕ί ϋ 係根據以上述資料型態資訊所肖定之被運算資 效資料寬度之命令執行枓寬度,並決定根據該當有中圍第5項所述之資料處理裝置,其 資料3:ϊ:ίΓ為命令碼資訊而指定於檢測被運算 二:4寬度之際之搜尋範圍之上限值的長度上限 控制部係搜尋於上述被運算資料 :值資訊所指定之上限值的資===== 度,並決定根據該當有效資料寬度之命行科寬 8.如申請專利範圍第5項所述之資料處執理仃裝週置期,數其 Λ 曰 修正 2103-5834-PFl(Nl).ptc 第31頁 MM 9212^RQi 年^^---^Μ:_ 六、申請專利範圍 中,記憶部係儲存以指定控制部是否應檢測被運算資料之 有效 > 料寬度的處理設定資訊’ 控制部係只要一有被指定於從上述記憶部所讀出之處 理設定資訊而不執行上述有效資料寬度之檢測的意旨,則 將基於命令碼資訊而被規定之資料寬度予以設定為有效資 料寬度,來執行根據該當有效資料寬度之命令執行週期 數0 9·如申請專利範圍第8項所述之資料處理裝置,其 中’在處理設定資訊來指定命令碼資訊為有效或無效; 控制部係只要一有被指定於上述處理設定資訊不執行 有效資=寬度之檢測的意旨及命令碼資訊為無效的意旨, :將?:之資料寬度予以言史定為*運算資料之有效資料寬 度’來決定根據該當有效資料寬度之命令執行週期數。
2103-5834-PFl(Nl).ptc 第32頁
TW092123691A 2002-09-06 2003-08-28 Data processing device TWI231915B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002261881A JP3886870B2 (ja) 2002-09-06 2002-09-06 データ処理装置

Publications (2)

Publication Number Publication Date
TW200405205A TW200405205A (en) 2004-04-01
TWI231915B true TWI231915B (en) 2005-05-01

Family

ID=31884726

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092123691A TWI231915B (en) 2002-09-06 2003-08-28 Data processing device

Country Status (6)

Country Link
US (9) US7337302B2 (zh)
JP (1) JP3886870B2 (zh)
KR (1) KR100579334B1 (zh)
CN (1) CN100409176C (zh)
DE (1) DE10341065A1 (zh)
TW (1) TWI231915B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3886870B2 (ja) 2002-09-06 2007-02-28 株式会社ルネサステクノロジ データ処理装置
KR100829788B1 (ko) * 2006-07-07 2008-05-16 삼성전자주식회사 커맨드 디코딩 시스템, 플래시 메모리 커맨드 디코딩시스템 및 이를 이용한 방법
CN107688466B (zh) * 2016-08-05 2020-11-03 中科寒武纪科技股份有限公司 一种运算装置及其操作方法
US10127015B2 (en) 2016-09-30 2018-11-13 International Business Machines Corporation Decimal multiply and shift instruction
US10175946B2 (en) * 2016-09-30 2019-01-08 International Business Machines Corporation Perform sign operation decimal instruction
US10241757B2 (en) 2016-09-30 2019-03-26 International Business Machines Corporation Decimal shift and divide instruction

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3684879A (en) * 1970-09-09 1972-08-15 Sperry Rand Corp Division utilizing multiples of the divisor stored in an addressable memory
US4065666A (en) * 1976-10-15 1977-12-27 Rca Corporation Multiply-divide unit
US4228518A (en) * 1978-09-25 1980-10-14 Motorola, Inc. Microprocessor having multiply/divide circuitry
US4742480A (en) * 1985-06-06 1988-05-03 Motorola, Inc. Cycle counter/shifter for division
US4817048A (en) * 1986-08-11 1989-03-28 Amdahl Corporation Divider with quotient digit prediction
JP2675779B2 (ja) * 1987-01-12 1997-11-12 沖電気工業株式会社 命令解読装置
US5185870A (en) * 1987-04-10 1993-02-09 Tandem Computers, Inc, System to determine if modification of first macroinstruction to execute in fewer clock cycles
US5097435A (en) * 1988-12-24 1992-03-17 Kabushiki Kaisha Toshiba High speed dividing apparatus
US5220651A (en) * 1989-10-11 1993-06-15 Micral, Inc. Cpu-bus controller for accomplishing transfer operations between a controller and devices coupled to an input/output bus
US5168571A (en) * 1990-01-24 1992-12-01 International Business Machines Corporation System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data
JPH03271829A (ja) * 1990-03-20 1991-12-03 Fujitsu Ltd 情報処理装置
US5272660A (en) * 1992-06-01 1993-12-21 Motorola, Inc. Method and apparatus for performing integer and floating point division using a single SRT divider in a data processor
US5426600A (en) * 1993-09-27 1995-06-20 Hitachi America, Ltd. Double precision division circuit and method for digital signal processor
US6173305B1 (en) * 1993-11-30 2001-01-09 Texas Instruments Incorporated Division by iteration employing subtraction and conditional source selection of a prior difference or a left shifted remainder
US5604499A (en) * 1993-12-28 1997-02-18 Matsushita Electric Industrial Co., Ltd. Variable-length decoding apparatus
US5734856A (en) * 1994-04-05 1998-03-31 Seiko Epson Corporation System and method for generating supplemental ready signals to eliminate wasted cycles between operations
US5576982A (en) * 1994-10-17 1996-11-19 Unisys Corporation Fast significant bit calculator and its application to integer multiplication and division
JP2987311B2 (ja) * 1995-05-12 1999-12-06 松下電器産業株式会社 プロセッサ及び翻訳装置
US6119213A (en) * 1995-06-07 2000-09-12 Discovision Associates Method for addressing data having variable data width using a fixed number of bits for address and width defining fields
US5675528A (en) * 1995-06-16 1997-10-07 Cyrix Corporation Early detection of overflow and exceptional quotient/remainder pairs for nonrestoring twos complement division
JP2806359B2 (ja) * 1996-04-30 1998-09-30 日本電気株式会社 命令処理方法及び命令処理装置
US5784307A (en) * 1996-05-31 1998-07-21 Intel Corporation Division algorithm for floating point or integer numbers
GB2317467B (en) * 1996-09-23 2000-11-01 Advanced Risc Mach Ltd Input operand control in data processing systems
US5844827A (en) * 1996-10-17 1998-12-01 Samsung Electronics Co., Ltd. Arithmetic shifter that performs multiply/divide by two to the nth power for positive and negative N
US5938760A (en) * 1996-12-17 1999-08-17 International Business Machines Corporation System and method for performance monitoring of instructions in a re-order buffer
US5923862A (en) * 1997-01-28 1999-07-13 Samsung Electronics Co., Ltd. Processor that decodes a multi-cycle instruction into single-cycle micro-instructions and schedules execution of the micro-instructions
US6154870A (en) * 1997-06-04 2000-11-28 Seagate Technology Llc Signal error-correction system and method
US5790827A (en) * 1997-06-20 1998-08-04 Sun Microsystems, Inc. Method for dependency checking using a scoreboard for a pair of register sets having different precisions
FI972885A0 (fi) 1997-07-07 1997-07-07 Vlsi Solution Oy Anordning foer utfoering av en divisionoperation, saerskilt i en tredimensionell grafik
US6154829A (en) * 1997-10-20 2000-11-28 Matsushita Electric Industrial Co., Ltd. Cascaded arithmetic pipeline data processor
JP2954119B2 (ja) * 1997-11-26 1999-09-27 日本電気株式会社 命令実行サイクル可変回路
US5948096A (en) * 1997-12-23 1999-09-07 Intel Corporation Apparatus and method for self-timed marking of variable length instructions having length-affecting prefix bytes
US6122651A (en) * 1998-04-08 2000-09-19 Advanced Micro Devices, Inc. Method and apparatus for performing overshifted rotate through carry instructions by shifting in opposite directions
JP3721780B2 (ja) * 1998-04-21 2005-11-30 富士通株式会社 複数のパイプライン処理機構を有するデータ処理装置
US6170050B1 (en) * 1998-04-22 2001-01-02 Sun Microsystems, Inc. Length decoder for variable length data
US6061781A (en) * 1998-07-01 2000-05-09 Ip First Llc Concurrent execution of divide microinstructions in floating point unit and overflow detection microinstructions in integer unit for integer divide
JP2000066948A (ja) * 1998-08-19 2000-03-03 Nec Corp 圧縮データ入出力機能付メモリlsi
US6487575B1 (en) * 1998-08-31 2002-11-26 Advanced Micro Devices, Inc. Early completion of iterative division
US6351760B1 (en) * 1999-01-29 2002-02-26 Sun Microsystems, Inc. Division unit in a processor using a piece-wise quadratic approximation technique
US6378022B1 (en) * 1999-06-17 2002-04-23 Motorola, Inc. Method and apparatus for processing interruptible, multi-cycle instructions
US6622234B1 (en) * 1999-06-21 2003-09-16 Pts Corporation Methods and apparatus for initiating and resynchronizing multi-cycle SIMD instructions
JP2001034472A (ja) * 1999-07-16 2001-02-09 Mitsubishi Electric Corp データ処理装置および除算、剰余算アルゴリズム
US6549926B1 (en) * 1999-10-26 2003-04-15 Sun Microsystems, Inc. SRT divider having several bits of each partial remainder one-hot encoded to minimize the logic levels needed to estimate quotient bits
US6854051B2 (en) * 2000-04-19 2005-02-08 Hewlett-Packard Development Company, L.P. Cycle count replication in a simultaneous and redundantly threaded processor
US7472259B2 (en) * 2000-12-06 2008-12-30 Analog Devices, Inc. Multi-cycle instructions
JP3905040B2 (ja) * 2001-02-06 2007-04-18 アデランテ テクノロジーズ ベスローテン フェンノートシャップ プロセッサのパイプライン内における命令のフローを操作するための方法、システム及びコンピュータプログラム製品
JP3607209B2 (ja) * 2001-03-08 2005-01-05 松下電器産業株式会社 クロック制御方法及び当該クロック制御方法を用いた情報処理装置
JP4712247B2 (ja) * 2001-08-31 2011-06-29 富士通セミコンダクター株式会社 整数除算または整数剰余算を含むアプリケーションプログラム向けのマイクロプロセッサの開発システム
FR2837459B1 (fr) 2002-03-19 2004-07-09 Meritor Light Vehicle Sys Ltd Procede d'assemblage de portiere
JP3886870B2 (ja) 2002-09-06 2007-02-28 株式会社ルネサステクノロジ データ処理装置
KR100872183B1 (ko) 2006-11-30 2008-12-09 볼보 컨스트럭션 이키프먼트 홀딩 스웨덴 에이비 중장비용 운전실
JP5976411B2 (ja) 2012-06-20 2016-08-23 西川ゴム工業株式会社 グラスラン及びグラスランのドアガラス組付方法

Also Published As

Publication number Publication date
US20180267797A1 (en) 2018-09-20
US20070271443A1 (en) 2007-11-22
KR100579334B1 (ko) 2006-05-12
US20200159528A1 (en) 2020-05-21
TW200405205A (en) 2004-04-01
US20220121442A1 (en) 2022-04-21
US20040049659A1 (en) 2004-03-11
US20160154646A1 (en) 2016-06-02
US20110238958A1 (en) 2011-09-29
US8627046B2 (en) 2014-01-07
US7555635B2 (en) 2009-06-30
US9280341B2 (en) 2016-03-08
US20140115303A1 (en) 2014-04-24
DE10341065A1 (de) 2004-03-18
CN100409176C (zh) 2008-08-06
JP2004102532A (ja) 2004-04-02
CN1489038A (zh) 2004-04-14
US10552149B2 (en) 2020-02-04
US20090235058A1 (en) 2009-09-17
KR20040022187A (ko) 2004-03-11
US7971037B2 (en) 2011-06-28
US11231925B2 (en) 2022-01-25
US11714639B2 (en) 2023-08-01
US7337302B2 (en) 2008-02-26
JP3886870B2 (ja) 2007-02-28
US10001991B2 (en) 2018-06-19

Similar Documents

Publication Publication Date Title
US11755323B2 (en) Apparatus and method for complex by complex conjugate multiplication
US10394562B2 (en) Microprocessor that fuses if-then instructions
US11321086B2 (en) Instructions for fused multiply-add operations with variable precision input operands
TWI657371B (zh) 用於資料推測性執行的系統、設備及方法
JP2009527035A (ja) マイクロプロセッサにおけるパックされた加減演算
KR100988964B1 (ko) 마이크로프로세서 내에서 다수의 레지스터 유닛들로부터의 대응하는 하프워드 유닛들을 결합하기 위한 방법 및 시스템
US20210357215A1 (en) Apparatus and method for multiply, add/subtract, and accumulate of packed data elements
WO2012136975A1 (en) A data processing apparatus and method for performing vector operations
US10552154B2 (en) Apparatus and method for multiplication and accumulation of complex and real packed data elements
US10514923B2 (en) Apparatus and method for vector multiply and accumulate of signed doublewords
JP2013543175A (ja) 汎用論理演算の方法および装置
TW519598B (en) Method of executing division command and residue command and data processing device using the method
TWI231915B (en) Data processing device
US20030037085A1 (en) Field processing unit
US11809867B2 (en) Apparatus and method for performing dual signed and unsigned multiplication of packed data elements
US20190196829A1 (en) Apparatus and method for vector multiply and subtraction of signed doublewords
US20190196812A1 (en) Apparatus and method for vector multiply and accumulate of unsigned doublewords
US11934830B2 (en) Method and apparatus for data-ready memory operations
US20220107804A1 (en) Systems, apparatuses, and methods for dual complex multiply add of signed words
US20190102191A1 (en) Systems, apparatuses, and methods for dual complex by complex conjugate multiply of signed words
US20180181396A1 (en) Method to do control speculation on loads in a high performance strand-based loop accelerator
US10977039B2 (en) Apparatus and method for performing dual signed and unsigned multiplication of packed data elements
US10922080B2 (en) Systems and methods for performing vector max/min instructions that also generate index values
US11249754B2 (en) Apparatus and method for vector horizontal add of signed/unsigned words and doublewords
US20200192665A1 (en) Apparatus and method for multiplication and accumulation of complex values

Legal Events

Date Code Title Description
MK4A Expiration of patent term of an invention patent