TWI651649B - 用於執行正負號運算十進位指令的電腦程式產品、電腦系統及電腦實施方法 - Google Patents

用於執行正負號運算十進位指令的電腦程式產品、電腦系統及電腦實施方法 Download PDF

Info

Publication number
TWI651649B
TWI651649B TW106133533A TW106133533A TWI651649B TW I651649 B TWI651649 B TW I651649B TW 106133533 A TW106133533 A TW 106133533A TW 106133533 A TW106133533 A TW 106133533A TW I651649 B TWI651649 B TW I651649B
Authority
TW
Taiwan
Prior art keywords
sign
instruction
computer
input operand
result
Prior art date
Application number
TW106133533A
Other languages
English (en)
Other versions
TW201816601A (zh
Inventor
強納森 D 布瑞布里
萊德 T 卡普蘭
希薇亞 梅莉塔 穆勒
提摩西 J 史洛歌
Original Assignee
美商萬國商業機器公司
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 美商萬國商業機器公司 filed Critical 美商萬國商業機器公司
Publication of TW201816601A publication Critical patent/TW201816601A/zh
Application granted granted Critical
Publication of TWI651649B publication Critical patent/TWI651649B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • 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/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • 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/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • 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/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • 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/30094Condition code generation, e.g. Carry, Zero flag

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (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)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Complex Calculations (AREA)

Abstract

本發明提供一種指令,其用以執行針對該指令組態之複數個正負號運算中之一正負號運算。執行該指令,且該執行包括選擇一輸入運算元之至少一部分作為待置放於一選擇部位中之一結果。該選擇係基於該指令之一控制項,其中該控制項指示待選擇為該結果之該輸入運算元的一使用者定義大小。該結果之一正負號係基於複數個準則而判定,該複數個準則包括基於該指令之該控制項而獲得的該結果之一值,該值相對於一選定值具有一第一特定關係或一第二特定關係。該結果及該正負號儲存於該選擇部位中以提供待用於該運算環境內之處理中的一帶正負號輸出。

Description

用於執行正負號運算十進位指令的電腦程式產品、電腦系統及電腦實施方法
一或多個態樣大體上係關於運算環境內之處理,且特定而言,係關於改良此處理。
在運算環境之處理器內執行的應用程式控制處理器之行為。使用經設計以將指令傳達至處理器之程式設計語言來建立應用程式。存在各種類型之程式設計語言,且每一語言可使用一或多種類型之編碼來表示資料。
舉例而言,二進位寫碼十進位(BCD)為以程式設計語言COBOL及PL/I編碼之原生資料類型,且亦為DB2資料庫管理系統中支援之資料類型。經由語言及類別庫擴充,諸如C及Java之其他語言亦支援一些形式之BCD資料類型。
一種計算BCD類型(緊縮十進位)具有指定以儲存器之每4個位元編碼一個十進位數位的編碼,除最低有效位元組之編碼有4數位正負號碼的4個最低有效位元外。該正負號碼可為涵蓋十六進位值0xA至0xF之任何非數值4位元值。舉例而言,值+123可用儲存器之兩個位元組編碼為十六進位12 3C。
顯示BCD類型(分區十進位)亦共用此類型之正負號編碼。分區十進位中之值+123用儲存器之三個位元組編碼為十六進位F1 F2 C3。正負號 碼覆疊最低有效位元組之4個最高有效位元。
正負號碼至正負號值之映射如下:0xA:+
0xB:-
0xC:+(選定加編碼)
0xD:-(選定減編碼)
0xE:+
0xF:+(選定無正負號編碼)
如上文所提到,某些正負號碼經指明為正準或選定編碼。此意謂儘管此等正負號中之任一者在輸入上被接受,但編譯器產生程式碼將在輸出上產生選定編碼(根據如何宣告資料類型-帶正負號變數使用0xC或0xD,且無正負號變數使用0xF)。
無正負號變數並非「不帶正負號」,而是其在輸入上可具有任一者(甚至減編碼),但為了遵守語言規則,編譯器產生程式碼將在輸出上產生0xF正負號碼以用於運算式(除算術運算式外,亦包括簡單移動且先前比較)。
為了對輸出資料執行正負號運算,使用多個指令。
經由提供用於促進運算環境中之處理的電腦程式產品來克服先前技術之缺點且提供額外優點。該電腦程式產品包含可藉由處理電路讀取且儲存供處理電路執行以用於執行方法之指令的儲存媒體。舉例而言,該方法包括獲得指令以供執行,該指令用以執行針對該指令組態之複數個正負號運算中的一正負號運算。執行該指令,且該執行包括選擇輸入運算元之至 少一部分作為待置放於選擇部位中之結果。該選擇係基於指令之控制項,該指令之控制項指示待選擇為結果之輸入運算元的使用者定義大小。該結果之正負號係基於複數個準則而判定,該複數個準則包括基於指令之控制項而獲得的結果之值,該值相對於選定值具有第一特定關係或第二特定關係。該結果及該正負號儲存於選擇部位中以提供待用於運算環境內之處理中的帶正負號輸出。
使用單一個指令(例如,架構化機器指令)而非多個指令來執行正負號運算會減少待提取、解碼及執行之指令之數目,且改良系統處理及效能。
作為實例,第一特定關係係相等,第二特定關係係不相等,且選定值為零。
在一個實施例中,輸入運算元之至少一部分包括輸入運算元之數個選擇數位,藉由指令之控制項指定選擇數位之數目。舉例而言,該數目個選擇數位包括輸入運算元之數個最右數位。
作為一個實例,該控制項提供於指令之立即數欄位中。
另外,在一個實施例中,該複數個準則進一步包括待執行之正負號運算。又,在另一實施例中,該複數個準則進一步包括選自包括以下各者之準則之群組的至少一個準則:待執行之正負號運算、輸入運算元之正負號,及指令之正號碼控制項(positive sign code control)。
作為實例,複數個正負號運算包括維持、求補數(complement)、強制正及強制負。
另外,在一個實施例中,該執行進一步包括基於指令指示之待檢查有效性的另一控制項而檢查輸入運算元之正負號的有效性。
在一個實例中,該選擇部位為暫存器,該暫存器係使用指令之至少 一個欄位而指定。該至少一個欄位包括(例如)指定暫存器編號之暫存器欄位及指定待附加至暫存器編號之擴充值的擴充欄位。
本文中亦描述及主張與一或多個態樣有關之方法及系統。另外,本文中亦描述及可能主張與一或多個態樣有關之服務。
經由本文中所描述之技術實現額外特徵及優點。本文中詳細描述其他實施例及態樣且將其視為所主張態樣之一部分。
10‧‧‧雲端運算節點
12‧‧‧電腦系統/伺服器
14‧‧‧外部裝置
16‧‧‧處理器或處理單元
18‧‧‧匯流排
20‧‧‧網路配接器
22‧‧‧輸入/輸出(I/O)介面
24‧‧‧顯示器
28‧‧‧系統記憶體
30‧‧‧隨機存取記憶體(RAM)
32‧‧‧快取記憶體
34‧‧‧儲存系統
40‧‧‧程式/公用程式
42‧‧‧程式模組
50‧‧‧雲端運算環境
54A‧‧‧個人數位助理(PDA)或蜂巢式電話/運算裝置
54B‧‧‧桌上型電腦/運算裝置
54C‧‧‧膝上型電腦/運算裝置
54N‧‧‧汽車電腦系統/運算裝置
60‧‧‧硬體及軟體層
61‧‧‧大型電腦
62‧‧‧基於RISC(精簡指令集電腦)架構之伺服器
63‧‧‧伺服器
64‧‧‧刀鋒伺服器
65‧‧‧儲存裝置
66‧‧‧網路及網路連接組件
67‧‧‧網路應用程式伺服器軟體
68‧‧‧資料庫軟體
70‧‧‧虛擬化層
71‧‧‧虛擬伺服器
72‧‧‧虛擬儲存器
73‧‧‧虛擬網路
74‧‧‧虛擬應用程式及作業系統
75‧‧‧虛擬用戶端
80‧‧‧管理層
81‧‧‧資源佈建
82‧‧‧計量及定價
83‧‧‧使用者入口網站
84‧‧‧服務層級管理
85‧‧‧服務等級協議(SLA)規劃及實現
90‧‧‧工作負載層
91‧‧‧地圖測繪及導航
92‧‧‧軟體開發及生命週期管理
93‧‧‧虛擬教室教育遞送
94‧‧‧資料分析處理
95‧‧‧異動處理
96‧‧‧指令處理
100‧‧‧運算環境
120‧‧‧指令提取組件
122‧‧‧指令解碼單元
124‧‧‧指令執行組件
126‧‧‧記憶體存取組件
130‧‧‧寫回組件
136‧‧‧執行正負號運算組件
140‧‧‧暫存器
200‧‧‧運算環境
202‧‧‧原生中央處理單元(CPU)
204‧‧‧記憶體
206‧‧‧輸入/輸出裝置及/或介面
208‧‧‧匯流排
210‧‧‧原生暫存器
212‧‧‧仿真器程式碼/仿真器
250‧‧‧客體指令
252‧‧‧指令提取常式
254‧‧‧指令轉譯常式
256‧‧‧原生指令
260‧‧‧仿真控制常式
300‧‧‧向量執行正負號運算十進位指令
302a‧‧‧作業碼欄位
302b‧‧‧作業碼欄位
304‧‧‧第一向量暫存器欄位
306‧‧‧第二向量暫存器欄位
308‧‧‧第一立即數欄位(I4)
310‧‧‧遮罩欄位(M5)
312‧‧‧第二立即數欄位(I3)
314‧‧‧暫存器擴充位元(RXB)欄位
342‧‧‧正負號運算(SO)
344‧‧‧正號碼(PC)
346‧‧‧運算元2正負號驗證(SV)
348‧‧‧條件碼設定(CS)
350‧‧‧結果數位計數(RDC)
400‧‧‧正負號運算(SO)
402‧‧‧結果之值
404‧‧‧第二運算元正負號(V2)
406‧‧‧正號碼(PC)
408‧‧‧所得正負號碼
410‧‧‧十六進位F(正)
500‧‧‧步驟
504‧‧‧步驟
506‧‧‧步驟
508‧‧‧步驟
510‧‧‧步驟
512‧‧‧步驟
600‧‧‧步驟
602‧‧‧步驟
604‧‧‧步驟
610‧‧‧步驟
614‧‧‧步驟
628‧‧‧步驟
在本說明書之結尾處之申請專利範圍中作為實例特定地指出且清楚地主張一或多個態樣。一或多個態樣之前述內容以及物件、特徵及優點自結合隨附圖式進行之以下詳細描述顯而易見,其中:圖1A描繪併有及使用本發明之一或多個態樣的運算環境之一個實例;圖1B描繪根據本發明之態樣的圖1A之處理器的其他細節;圖2A描繪併有及使用本發明之一或多個態樣的運算環境之另一實例;圖2B描繪圖2A之記憶體之其他細節;圖3A描繪根據本發明之態樣的向量執行正負號運算十進位指令之一個實例;圖3B描繪根據本發明之態樣的圖3A之向量執行正負號運算十進位指令之立即數欄位的控制項之一個實施例;圖3C描繪根據本發明之態樣的圖3A之向量執行正負號運算十進位指令的遮罩欄位之一個實施例;圖3D描繪根據本發明之態樣的圖3A之向量執行正負號運算十進位指 令之另一立即數欄位的控制項之一個實施例;圖4描繪根據本發明之態樣的用於不同正負號運算之結果正負號碼及結果的表之一個實例;圖5描繪根據本發明之態樣的與向量執行正負號運算十進位指令相關聯之處理的一個實例;圖6A至圖6B描繪根據本發明之態樣的促進運算環境中之處理的一個實例,包括執行向量執行正負號運算十進位指令;圖7描繪雲端運算環境之一個實施例;及圖8描繪抽象模型層之一個實例。
一或多個態樣係關於藉由提供用單一指令(例如,在硬體/軟體介面處之單一架構化機器指令)替換待用以執行正負號運算之多個指令的能力來改良運算環境內之處理。在一個實例中,在本文中被稱作向量執行正負號運算十進位指令之指令靈活且緊密地處置各種正負號設定及例外狀況維持/抑制行為。
參看圖1A描述併有及使用本發明之一或多個態樣的運算環境之一個實施例。在一個實例中,運算環境係基於由紐約阿蒙克市之國際商業機器公司供應之z/架構(z/Architecture)。z/架構之一個實施例描述於2015年3月之IBM公開案第SA22-7832-10號「z/Architecture Principles of Operation」中,該公開案特此以全文引用的方式併入本文中。Z/架構(Z/ARCHITECTURE)為美國紐約阿蒙克市之國際商業機器公司之註冊商標。
在另一實例中,運算環境係基於由紐約阿蒙克市之國際商業機器公 司供應之電源架構(Power Architecture)。電源架構之一個實施例描述於2015年4月9日國際商業機器公司之「PowerISATM Version 2.07B」中,該案特此以全文引用的方式併入本文中。電源架構(POWER ARCHITECTURE)為美國紐約阿蒙克市之國際商業機器公司之註冊商標。
運算環境亦可基於其他架構,包括但不限於Intel x86架構。亦存在其他實例。
如圖1A中所展示,運算環境100包括(例如)節點10,該節點具有(例如)電腦系統/伺服器12,該電腦系統/伺服器與眾多其他通用或專用運算系統環境或組態一起操作。可能適合與電腦系統/伺服器12一起使用之熟知運算系統、環境及/或組態之實例包括但不限於:個人電腦(PC)系統、伺服器電腦系統、精簡型用戶端、複雜型用戶端、手持型或膝上型電腦裝置、多處理器系統、基於微處理器之系統、機上盒、可程式化消費型電子裝置、網路PC、小型電腦系統、大型電腦系統及包括以上系統或裝置中之任一者的分散式雲端運算環境,以及其類似者。
可在正由電腦系統執行之電腦系統可執行指令(諸如,程式模組)之一般內容背景下描述電腦系統/伺服器12。通常,程式模組可包括執行特定任務或實施特定抽象資料類型之常式、程式、物件、組件、邏輯、資料結構等。電腦系統/伺服器12可實踐於許多運算環境中,包括但不限於分散式雲端運算環境,其中任務係藉由經由通信網路鏈接之遠端處理裝置執行。在分散式雲端運算環境中,程式模組可位於包括記憶體儲存裝置之本端及遠端電腦系統儲存媒體兩者中。
如圖1A中所展示,以通用運算裝置之形式展示電腦系統/伺服器12。 電腦系統/伺服器12之組件可包括但不限於一或多個處理器或處理單元16、系統記憶體28及匯流排18,該匯流排將包括系統記憶體28之各種系統組件耦接至處理器16。
匯流排18表示若干種類型之匯流排結構中之任一者中的一或多者,包括記憶體匯流排或記憶體控制器、周邊匯流排、加速圖形埠及處理器或使用多種匯流排架構中之任一者之區域匯流排。以實例說明而非限制,此等架構包括工業標準架構(ISA)匯流排、微通道架構(MCA)匯流排、增強型ISA(EISA)匯流排、視訊電子標準協會(VESA)區域匯流排及周邊組件互連(PCI)匯流排。
電腦系統/伺服器12通常包括多種電腦系統可讀媒體。此等媒體可為可由電腦系統/伺服器12存取之任何可用媒體,且其包括揮發性及非揮發性媒體兩者、抽取式及非抽取式媒體兩者。
系統記憶體28可包括呈揮發性記憶體之形式的電腦系統可讀媒體,諸如隨機存取記憶體(RAM)30及/或快取記憶體32。電腦系統/伺服器12可進一步包括其他抽取式/非抽取式、揮發性/非揮發性電腦系統儲存媒體。僅以實例說明,可提供儲存系統34以用於自非抽取式、非揮發性磁性媒體(未展示且通常稱為「硬碟機」)讀取且寫入至非抽取式、非揮發性磁性媒體。儘管未展示,但可提供用於自抽取式、非揮發性磁碟(例如,「軟碟」)讀取及寫入至抽取式、非揮發性磁碟之磁碟機,及用於自抽取式、非揮發性光碟(諸如,CD-ROM、DVD-ROM或其他光學媒體)讀取及寫入至抽取式、非揮發性光碟之光碟機。在此等情況下,每一者可藉由一或多個資料媒體介面連接至匯流排18。如下文將進一步描繪及描述,記憶體28可包括至少一個程式產品,其具有經組態以進行本發明之實施例之功能 的一組(例如,至少一個)程式模組。
以實例說明而非限制,具有一組(至少一個)程式模組42之程式/公用程式40以及作業系統、一或多個應用程式、其他程式模組及程式資料可儲存於記憶體28中。作業系統、一或多個應用程式、其他程式模組及程式資料或其某一組合中之每一者可包括網路連接環境之實施。程式模組42通常進行如本文中所描述之本發明之實施例的功能及/或方法。
電腦系統/伺服器12亦可與以下各者通信:諸如鍵盤、指標裝置、顯示器24等之一或多個外部裝置14;使得使用者能夠與電腦系統/伺服器12互動之一或多個裝置;及/或使得電腦系統/伺服器12能夠與一或多個其他運算裝置通信之任何裝置(例如,網路卡、數據機等)。此通信可經由輸入/輸出(I/O)介面22發生。再另外,電腦系統/伺服器12可經由網路配接器20與諸如區域網路(LAN)、通用廣域網路(WAN)及/或公用網路(例如,網際網路)之一或多個網路通信。如所描繪,網路配接器20經由匯流排18與電腦系統/伺服器12之其他組件通信。應理解,儘管未展示,但可結合電腦系統/伺服器12使用其他硬體及/或軟體組件。實例包括但不限於:微碼、裝置驅動程式、冗餘處理單元、外部磁碟機陣列、RAID系統、磁帶機及資料存檔儲存系統等。
舉例而言,處理器16包括用以執行指令之複數個功能組件。如圖1B中所描繪,此等功能組件包括(例如):指令提取組件120,其用以提取待執行之指令;指令解碼單元122,其用以解碼所提取指令且用以獲得經解碼指令之運算元;指令執行組件124,其用以執行經解碼指令;記憶體存取組件126,其用以在必要時為指令執行存取記憶體;及寫回組件130,其用以提供經執行指令之結果。根據本發明之態樣,此等組件中之一或多 者可用以執行正負號運算(136),如下文進一步描述。
在一個實施例中,處理器16亦包括待由功能組件中之一或多者使用的一或多個暫存器140。
參看圖2A描述併有及使用一或多個態樣之運算環境之另一實施例。在此實例中,運算環境200包括(例如)原生中央處理單元(CPU)202、記憶體204及一或多個輸入/輸出裝置及/或介面206,前述各者經由(例如)一或多個匯流排208及/或其他連接件而彼此耦接。作為實例,運算環境200可包括:由紐約阿蒙克市之國際商業機器公司供應之PowerPC處理器或pSeries伺服器;由加州帕洛阿爾托之惠普公司供應的具有Intel Itanium II處理器之HP Superdome;及/或基於由國際商業機器公司、惠普公司、因特爾公司、甲骨文公司或其他公司供應之架構的其他機器。
原生中央處理單元202包括一或多個原生暫存器210,諸如在環境內之處理期間使用的一或多個通用暫存器及/或一或多個專用暫存器。此等暫存器包括表示環境在任何特定時間點之狀態的資訊。
此外,原生中央處理單元202執行儲存於記憶體204中之指令及程式碼。在一個特定實例中,中央處理單元執行儲存於記憶體204中之仿真器程式碼212。此程式碼使得在一個架構中組態之運算環境能夠仿真另一架構。舉例而言,仿真器程式碼212允許基於除z/架構外之架構之機器(諸如,PowerPC處理器、pSeries伺服器、HP Superdome伺服器或其他者)仿真z/架構且執行基於z/架構開發之軟體及指令。
參看圖2B描述與仿真器程式碼212有關之其他細節。儲存於記憶體204中之客體指令250包含經開發以在除原生CPU 202之架構外之架構中執行的軟體指令(例如,與機器指令相關)。舉例而言,客體指令250可已經 設計以在z/架構處理器上執行,但替代地在可為(例如)Intel Itanium II處理器之原生CPU 202上仿真。在一個實例中,仿真器程式碼212包括指令提取常式252,以自記憶體204獲得一或多個客體指令250且視情況提供對所獲得指令之本端緩衝。該仿真器程式碼亦包括指令轉譯常式254,以判定已獲得之客體指令的類型且將該客體指令轉譯成一或多個對應的原生指令256。此轉譯包括(例如)識別待藉由客體指令執行之功能及選取原生指令以執行彼功能。
另外,仿真器212包括仿真控制常式260以使得執行原生指令。仿真控制常式260可使原生CPU 202執行仿真一或多個先前所獲得之客體指令之原生指令的常式且,在此執行結束時,將控制傳回至指令提取常式以仿真下一客體指令或客體指令群組之獲得。原生指令256之執行可包括將資料自記憶體204載入至暫存器中;將資料自暫存器儲存回至記憶體;或執行某一類型之算術或邏輯運算(如藉由轉譯常式判定)。
每一常式係(例如)以軟體實施,該軟體儲存於記憶體中且藉由原生中央處理單元202執行。在其他實例中,一或多個常式或操作係以韌體、硬體、軟體或其某一組合實施。可使用原生CPU之暫存器210或藉由使用記憶體204中之部位來仿真該仿真處理器之暫存器。在實施例中,客體指令250、原生指令256及仿真器程式碼212可駐留於同一記憶體中或可分配於不同記憶體裝置當中。
如本文中所使用,韌體包括(例如)處理器之微碼、毫碼(millicode)及/或巨集碼。韌體包括(例如)用於實施較高層級機器碼之硬體層級指令及/或資料結構。在一個實施例中,其包括(例如)專屬碼,該專屬碼通常作為包括受信任軟體之微碼或特定於基礎硬體之微碼遞送,且控制作業系統對 系統硬體之存取。
舉例而言,所獲得、經轉譯及經執行之客體指令250為本文中所描述之向量執行正負號運算十進位指令。將具有一種架構(例如,z/架構)之指令自記憶體提取、轉譯及表示為具有另一架構(例如,PowerPC、pSeries、Intel等)之原生指令256之序列。接著執行此等原生指令。
如本文中所指示,存在用於帶正負號及無正負號變數類型及運算(例如,移動、求補數、求反、絕對值等)之各種組合的許多可能編碼。對於編譯器之一個挑戰為如何高效地產生程式碼以涵蓋許多可能編碼。對於硬體設計之相關挑戰為如何緊密地編碼所有此等各種可能性以適合指令編碼限制,且亦不會破壞具有許多現存及未來指令之架構中的可能操作編碼之固定集合。
由於傳統地,儲存器至儲存器(SS)指令對BCD變數操作,因此設定正負號碼常常涉及可減緩現代無序(OOO)處理器之額外記憶體內操作。
額外挑戰為如何對在例外狀況下產生相容結果敏感。舉例而言,一種語言或環境可規定若輸入正負號碼不合法(例如,對於無正負號變數,正負號碼位置中之數值數位),則提供硬體例外狀況,但對於其他狀況下之嚴格相容性,非法編碼將被忽略且僅被視為無正負號(此係因為對於無正負號變數,值+對比-實際上不在討論中)。
甚至對於一變數至另一變數之簡單移動,許多正負號設定操作亦可使用至少兩個機器指令:一個用以移動資料,且一或多個後續指令用以設定正負號。由於無法設定正負號直至資料已移動後,因此建立可進一步減緩OOO處理器之資料相依性。
作為實例,當無正負號變數將加寬時,一個序列將使用ZAP指令用 於加寬,其後接著使用OI(或立即運算)或MVN(移動數值)以將正負號設定為0xF(此係因為ZAP將僅設定0xC或0xD)。此已為兩個指令。另外,由於ZAP驗證輸入正負號碼,因此甚至此序列無法被使用,此係因為若輸入正負號碼不合法,則可出現不合需要的硬體例外狀況。實情為,對於此類型之無正負號變數加寬行為,使用甚至較長且較昂貴序列以便實現相容性。
因此,根據本發明之一或多個態樣,提供指令(例如,在硬體/軟體介面處之單一架構化機器指令)以靈活地且緊密地處置各種正負號設定及例外狀況維持/抑制行為。在本文中被稱作向量執行正負號運算十進位指令之此指令具有一輸入及一個輸出運算元加上執行作為資料自輸入至輸出之移動的部分(而非作為後操作)的許多正負號操縱及設定的能力。
在實施例中,該指令具有靈活的正負號控制及正負號驗證控制以允許對在(例如)無效正負號碼之例外狀況下執行正負號運算行為的微調。在另一實施例中,該指令亦可包括或存取用以選擇性地檢查數值數位之有效性的控制項。其他變化亦係可能的。
向量執行正負號運算十進位指令編碼具有若干部分,其組合以緊密地實現對大範圍運算及輸入/輸出類型之靈活且精細的正負號設定控制。
此等部分包括(例如):
1)指定輸入及輸出運算元。作為實例,運算元指定於暫存器中;然而,記憶體內編碼(例如,指定基址+位移)亦係可能實施例,以及其他實施例。
2)結果數位計數(RDC):用以指定來自輸入運算元之最右數位中的多少將置放於輸出運算元部位中的數目(例如,取決於最大允許大小而為1至 31或1至64)。截斷操作及加寬操作兩者係可能的。若有效數位取決於系統設定而丟失,則可提出溢位指示符。
3)正負號運算(SO):指令編碼之此部分判定正執行之特定正負號運算。舉例而言,SO可指示:- 發生簡單移動,因此自輸入至輸出,應維持正負號碼;- 自輸入至輸出,應對正負號碼求補數(自正切換至負或自負切換至正);- 輸入正負號碼在輸出上應強制為正而不管輸入正負號值(亦即,絕對值類型運算);- 輸入正負號碼在輸出上應強制為負而不管輸入正負號值。
4)正號碼(PC):指令編碼之此部分控制針對正的結果值而應將輸出正負號碼編碼為0xF(二進位的1111)抑或0xC(二進位的1100)。
5)輸入運算元正負號驗證(SV):指令編碼之此部分控制針對強制正及強制負正負號運算是否應發生正負號驗證(及對於非法正負號碼,對應硬體例外狀況)。此控制允許執行正負號十進位運算之使用者在存在可能的非法正負號編碼之情況下維持嚴格的例外狀況相容性。
可使用此類型之控制,例如當執行甚至在存在非法碼/資料之情況下亦應維持與原始行為之嚴格相容性的二進位轉譯(有時稱為二進位最佳化)時。在一個實施例中,對於強制正及負正負號運算,設定SV=0指示跳過有效性檢查,且SV=1指示檢查無效正負號(且在此實施例中,對於以某一方式固有地使用(對比覆寫)輸入正負號碼之正負號運算,發生有效性檢查)。
6)條件碼設定(CS):向量執行正負號運算十進位指令亦允許使用者 請求基於最終結果值而設定條件碼。作為運算之部分,提供指示係零、小於零及大於零之結果值的設定,以及是否存在溢位(有效數位之截斷)的指示。
在一個實施例中,僅以編碼文字之6個位元組(其亦包括下文所描述之作業碼及RXB)編碼上文設定,其中剩餘若干位元用於未來增強。
在一個實例中,藉由(例如)正負號運算(SO)、第二運算元正負號、結果數位計數(RDC)及正號碼(PC)設定之組合來判定結果正負號碼。
下文描述向量執行正負號運算十進位指令之設定及額外細節。在一個實施例中,向量執行正負號運算十進位指令係向量設施(vector facility)之部分,其提供(例如)範圍為一個至十六個元素之固定大小向量。每一向量包括藉由定義於設施中之向量指令所運算的資料。在一個實施例中,若向量由多個元素組成,則每一元素與其他元素並行地經處理。指令完成不會發生直至所有元素之處理完成。在其他實施例中,該等元素部分地經並行及/或順序處理。
向量指令可實施為各種架構之部分,各種架構包括但不限於z/架構、電源架構、x86、IA-32、IA-64等。儘管本文中所描述之實施例係針對z/架構,但本文中所描述之向量指令以及一或多個其他態樣可基於許多其他架構。z/架構僅為一個實例。
在向量設施實施為z/架構之部分的一個實施例中,為使用向量暫存器及指令,將指定控制暫存器(例如,控制暫存器0)中之向量啟用控制項及暫存器控制項設定為(例如)一。若安裝向量設施且執行向量指令而不設定啟用控制項,則辨識到資料例外狀況。若未安裝向量設施且執行向量指令,則辨識到操作例外狀況。
在一個實施例中,存在32個向量暫存器,且其他類型之暫存器可映射至向量暫存器的一象限。舉例而言,暫存器檔案可包括32個向量暫存器,且每一暫存器之長度係128個位元。長度為64個位元之十六個浮點暫存器可覆疊向量暫存器。因此,作為實例,當修改浮點暫存器2時,接著亦修改向量暫存器2。其他類型之暫存器的其他映射亦係可能的。
向量資料以(例如)與其他資料格式相同之自左向右順序呈現於儲存器中。資料格式之編號為0至7的位元構成儲存器中之最左(最小編號)位元組部位中的位元組,位元8至15形成下一順序部位中之位元組,等等。在另一實例中,向量資料可按諸如自右向左之另一順序呈現於儲存器中。
參看圖3A至圖3D描述向量執行正負號運算十進位指令之一個實例。如所展示,該指令具有複數個欄位,且一欄位可具有與其相關聯之下標編號。與指令之欄位相關聯的下標編號指示該欄位應用於之運算元。舉例而言,與向量暫存器V1相關聯之下標編號1指示V1中之暫存器包括第一運算元,等等。暫存器運算元之長度為一個暫存器,其為(例如)128個位元。
參看圖3A,在一個實施例中,向量執行正負號運算十進位指令300包括:作業碼欄位302a、302b,其指示向量執行正負號運算十進位運算;第一向量暫存器欄位304,其用以指明第一向量暫存器(V1);第二向量暫存器欄位306,其用以指明第二向量暫存器(V2);第一立即數欄位(I4)308;遮罩欄位(M5)310;第二立即數欄位(I3)312;及暫存器擴充位元(RXB)欄位314,其中之每一者描述於下文中。在一個實施例中,該等欄位彼此分離且獨立;然而,在其他實施例中,可組合大於一個欄位。下文描述關於此等欄位之其他資訊。
向量暫存器欄位304用以指示待儲存第一運算元之向量暫存器,該第 一運算元包括由指令產生之經修改正負號及第二運算元之指定數目個數位。運算元及結果係(例如)呈帶正負號緊縮十進位格式。在一個實例中,在帶正負號緊縮十進位格式中,除含有在十進位數位右方之正負號(S)的最右位元組外,每一位元組含有兩個十進位數位(D)。
第二運算元(亦即,輸入運算元)含於使用向量暫存器欄位306指定之向量暫存器中。在一個實例中,向量暫存器欄位304、306中之每一者與RXB欄位314一起使用以指明向量暫存器。
舉例而言,RXB欄位314包括用於向量暫存器指明運算元之最高有效位元。將保留用於未由指令指定之暫存器指明項的位元且將其設定為零。舉例而言,在向量暫存器欄位之四位元暫存器指明項左方串接最高有效位元以建立五位元向量暫存器指明項。
在一個實例中,RXB欄位包括四個位元(例如,位元0至3),且該等位元定義如下:
0-用於指令之第一向量暫存器指明項(例如,在位元8至11中)的最高有效位元。
1-用於指令之第二向量暫存器指明項(例如,在位元12至15中)(若存在)的最高有效位元。
2-用於指令之第三向量暫存器指明項(例如,在位元16至19中)(若存在)的最高有效位元。
3-用於指令之第四向量暫存器指明項(例如,在位元32至35中)(若存在)的最高有效位元。
每一位元藉由(例如)組譯器取決於暫存器編號而設定為零或一。舉例而言,對於暫存器0至15,將位元設定為0;對於暫存器16至31,將位元 設定為1,等等。
在一個實施例中,每一RXB位元係用於指令中包括一或多個向量暫存器之特定部位的擴充位元。舉例而言,RXB之位元0係用於部位8至11之擴充位元,其經指派至(例如)V1,等等。特定而言,對於向量暫存器,使用(例如)暫存器欄位之四位元欄位外加其作為最高有效位元之對應暫存器擴充位元(RXB)來指定含有運算元之暫存器。舉例而言,若四位元欄位係0110且擴充位元係0,則五位元欄位00110指示暫存器編號6。在另一實施例中,RXB欄位包括額外位元,且大於一個位元用作對每一向量或部位之擴充。
立即數(I4)欄位308指定包括數個控制項之第四運算元。舉例而言,I4欄位308包括以下各者,如圖3B中所描繪:
‧保留:忽略位元0至3,但將含有零;否則,程式在未來可能不會相容地操作。
‧正負號運算(SO)342:位元4至5指定在判定結果正負號碼時使用之正負號運算。結果正負號碼依據(例如)SO控制項、第二運算元正負號、第二運算元數位、RDC控制項及PC位元(如圖4中所指定)而變化。
‧正號碼(PC)344:當位元6為一時,在結果為正時使用正負號碼1111。當位元6為零時,在結果為正時使用正負號碼1100。
‧運算元2正負號驗證(SV)346:若位元7為一且SO控制項指定強制正或強制負,則檢查第二運算元正負號碼之有效性。若位元7為零且SO控制項指定強制正或強制負,則不檢查第二運算元正負號碼之有效性。當SO控制項指定維持正負號或對正負號求補數時,檢查第二運算元正負號碼之有效性而不管SV位元值。
在一個實例中,M5欄位310包括以下控制項,如圖3C中所描繪:
‧保留:忽略位元0至2,且將含有零;否則,程式在未來可能不會相容地操作。
‧條件碼設定(CS)348:當位元3為零時,不設定條件碼且其保持不變。當位元3為一時,如在下文所得條件碼區段中所指定而設定條件碼。
所得條件碼:在一個實例中,當CS位元為一時,如下設定條件碼:
0 結果為零;無溢位
1 結果小於零;無溢位
2 結果大於零;無溢位
3 溢位
當CS位元為零時,條件碼保持不變。
在一個實例中,I3欄位312包括以下控制項,如圖3D中所描繪:
‧保留:保留位元0至2,且將含有零。否則,辨識到規格例外狀況。
‧結果數位計數(RDC)350:位元3至7含有指定待置放於第一運算元中之第二運算元的最右數位之數目的無正負號二進位數字。在一個實例中,若第二運算元之量值大於可藉由指定數目個數位表示之最大十進位數字,則出現十進位溢位,且若十進位溢位遮罩為一,則出現針對十進位溢位之程式中斷。在一個實施例中,若RDC欄位為零,則辨識到規格例外狀況。
儘管各種欄位及暫存器經描述,但本發明之一或多個態樣可使用其他、額外或較少欄位或暫存器,或其他大小之欄位或暫存器,等等。許多 變化係可能的。舉例而言,可使用隱含暫存器而非明確指定之暫存器或指令欄位。另外,可使用除向量暫存器外之暫存器。另外,在其他實施例中,可選擇其他數位,諸如最左數位或另一子集。再次,其他變化亦係可能的。
在向量執行正負號運算十進位指令之一個實施例的操作中,第二運算元之經修改正負號及指定數目個最右數位係置放於第一運算元部位中,其中其他數位設定為零。在一個實例中,運算元及結果呈帶正負號緊縮十進位格式。
若RDC控制項未指定足夠數位以含有第二運算元之所有最左非零數位,則出現十進位溢位。該操作完成。藉由忽略溢位數位而獲得結果,且若條件碼設定(CS)旗標為一,則設定條件碼3。若在(例如)程式狀態字中之十進位溢位遮罩為一,則出現針對十進位溢位之程式中斷。
若RDC控制項指定少於(例如)三十一個數位,則將零置放於第一運算元之剩餘最左數位中。
在一個實例中,檢查第二運算元之所有數位碼的有效性。除非正負號運算(SO)控制項指定結果正負號強制為正或負且運算元2正負號驗證(SV)控制項為零,否則檢查第二運算元之正負號碼的有效性。
結果正負號碼依據(例如)SO控制項、第二運算元正負號、第二運算元數位、結果數位計數(RDC)控制項及正號碼(PC)控制項(如圖4中所指定)而變化。舉例而言,若SO(400)=00,則在應用RDC之後的第二運算元之數位的值(402)為非零,第二運算元正負號(V2)(404)為正,且PC(406)為一,所得正負號碼(408)為十六進位F(正)410。另外,其展示在此實例中,對輸入運算元正負號碼執行(412)有效性檢查。
儘管提供各種實例,但在不脫離所主張態樣之精神的情況下,變化係可能的。舉例而言,包括於暫存器中之值及/或由指令使用之欄位在其他實施例中可在諸如記憶體部位等之其他部位中。許多其他變化係可能的。
參看圖5描述關於與執行向量執行正負號運算十進位指令相關聯之處理的其他細節。該處理藉由至少一個處理器執行。
參看圖5,最初獲得第二運算元之值(步驟500)。在一個實例中,第二運算元之值包括複數個數位,且作出關於彼等數位是否有效之判定(詢問502)。若該等數位不有效,則向量執行正負號運算十進位指令之處理完成。然而,若該等數位有效,則處理以自I3欄位獲得結果數位計數繼續(步驟504)。另外,選擇第二運算元之至少一部分(步驟506)。舉例而言,選擇結果數位計數中所指示之數目個最右數位。將第二運算元之選定部分置放於選擇部位中(步驟508)。在一個實例中,選擇部位為使用V1欄位指明之暫存器。在另一實例中,選擇部位在記憶體內或為又一部位。此外,判定用於第二運算元之選定部分的正負號(步驟510)。在一個實例中,使用複數個準則判定該正負號,該複數個準則包括(例如):如在I4欄位中所指定之正負號運算;在應用RDC之後的結果量值;第二運算元之正負號;及在I4中所指定之正號碼的值。基於此等準則,獲得所得正負號碼,如圖4中所指示。接著將此所得正負號碼連同指定數目個最右數位置放於選擇部位中(步驟512)。在一個實例中,以正負號緊縮十進位格式置放指定數目個最右數位及正負號碼。
本文中描述用於使用單一架構化指令執行正負號運算之設施。此指令替換一或多個指令序列,且改良電腦處理及效能。在一個實例中,提供 緊密且高效地設定用於緊縮十進位數字之正負號碼的能力。
單一指令(例如,單一架構化指令)可處置(例如)以下狀況:移動資料加正負號設定至0xC、0xD或0xF;截斷資料同時視情況設定或保持正負號;抑制對不可信輸入資料之驗證的能力(作為實例,此為二進位最佳化使用狀況中之相容性選項);正負號求補數;及可選條件碼設定。一些語言提供關於溢位之機器例外狀況,但其他者(例如,COBOL)將條件碼用於使用者定義動作。
現重新討論將ZAP/OI序列用於無正負號變數加寬之上文所描述之實例。此行為現可藉由將RDC至所要較寬結果大小,將SO設定為強制正且將SV設定為0以跳過正負號有效性檢查而用向量執行正負號運算十進位指令實現。所要且完全相容的行為現以單一指令實現。
參看圖6A至圖6B描述關於促進運算環境中之處理的其他細節,包括執行指令以執行正負號運算。
參看圖6A,在一個實施例中,藉由至少一個處理器獲得指令(步驟600),該指令用以執行針對該指令組態之複數個正負號運算中的一正負號運算,且執行該指令(步驟602)。該執行包括(例如)選擇輸入運算元之至少一部分作為待置放於選擇部位中之結果(步驟604)。該選擇係基於指令之控制項(606),該指令之控制項指示待選擇為結果之輸入運算元的使用者定義大小(608)。基於複數個準則對結果之正負號進行判定(步驟610)。該複數個準則包括(例如)基於指令之控制項而獲得的結果之值,該值相對於選定值具有第一特定關係或第二特定關係(612)。該結果及該正負號儲存於選擇部位中以提供待用於運算環境內之處理中的帶正負號輸出(步驟614)。
作為實例,第一特定關係係相等,第二特定關係係不相等,且選定值為零(616)。
另外,在一個實例中,輸入運算元之至少一部分包括輸入運算元之數個選擇數位(例如,數個最右數位),藉由指令之控制項指定選擇數位之數目(618)。此外,參看圖6B,在一個實施例中,控制項提供於指令之立即數欄位中(620)。
又另外,在一個實例中,該複數個準則進一步包括待執行之正負號運算(622)。另外,在另一實施例中,該複數個準則包括選自包括以下各者之準則之群組的至少一個準則:待執行之正負號運算、輸入運算元之正負號,及指令之正號碼控制項(624)。
作為一個實例,該複數個正負號運算包括維持、求補數、強制正及強制負(626)。
在另一實施例中,該執行進一步包括基於指令之指示待檢查有效性的另一控制項而檢查輸入運算元之正負號的有效性(步驟628)。
此外,在一個實例中,該選擇部位為暫存器,該暫存器係使用指令之至少一個欄位而指定(630)。該至少一個欄位包括指定暫存器編號之暫存器欄位及指定待附加至暫存器編號之擴充值的擴充欄位(632)。
一或多個態樣可係關於雲端運算。
事先應理解,儘管本發明包括關於雲端運算之詳細描述,但本文中所敍述之教示之實施不限於雲端運算環境。確切而言,本發明之實施例能夠結合現在已知或稍後開發之任何其他類型之運算環境來實施。
雲端運算為用於實現對可組態運算資源(例如,網路、網路頻寬、伺服器、處理、記憶體、儲存器、應用程式、虛擬機及服務)之共用集區的 便利、按需網路存取的服務遞送模型,該等可組態運算資源可經快速佈建且藉由最少管理努力或與服務提供者之互動而釋放。此雲端模型可包括至少五個特性、至少三個服務模型及至少四個部署模型。
特性如下:按需自助服務(on-demand self-service):雲端消費者可視需要自動地單向佈建運算能力(諸如,伺服器時間及網路儲存器),而無需與服務提供者之人為互動。
寬頻網路存取:可經由網路獲得能力及經由標準機制存取能力,該等標準機制藉由異質精簡型或複雜型用戶端平台(例如,行動電話、膝上型電腦及PDA)促進使用。
資源集用(resource pooling):提供者之運算資源經集用以使用多租戶模型伺服多個消費者,其中根據需求動態地指派及重新指派不同實體及虛擬資源。存在部位獨立性之意義,此係因為消費者通常不具有對所提供資源之準確位置的控制或瞭解,但可能夠在較高抽象層級(例如,國家、州或資料中心)指定部位。
快速彈性:可快速地且彈性地佈建能力(在一些狀況下,自動地)以迅速地橫向擴展(scale out),且快速地釋放能力以迅速地向內擴展(scale in)。對於消費者,可用於佈建之能力常常呈現為無限的且可在任何時間以任何量來購買。
所量測服務:雲端系統藉由在適於服務類型(例如,儲存、處理、頻寬及作用中使用者帳戶)之某一抽象層級下充分利用計量能力而自動控制及最佳化資源使用。可監視、控制及報告資源使用狀況,從而為所利用服務之提供者及消費者兩者提供透明度。
服務模型如下:軟體即服務(SaaS):提供給消費者之能力係使用在雲端基礎架構上運行之提供者之應用程式。可經由諸如網頁瀏覽器(例如,基於網頁之電子郵件)之精簡型用戶端介面自各種用戶端裝置存取應用程式。消費者並不管理或控制包括網路、伺服器、作業系統、儲存器或甚至個別應用程式能力之底層雲端基礎架構,其中可能的例外狀況為有限的使用者特定應用程式組態設定。
平台即服務(PaaS):提供給消費者之能力係將使用由提供者所支援之程式設計語言及工具建立的消費者建立或獲取之應用程式部署至雲端基礎架構上。消費者並不管理或控制包括網路、伺服器、作業系統或儲存器之底層雲端基礎架構,但具有對所部署之應用程式及可能的代管環境組態之應用程式的控制。
基礎架構即服務(IaaS):提供給消費者之能力係佈建處理、儲存器、網路及其他基礎運算資源,其中消費者能夠部署及運行可包括作業系統及應用程式之任意軟體。消費者並不管理或控制底層雲端基礎架構,但具有對作業系統、儲存器、所部署應用程式之控制,及可能的對選擇網路連接組件(例如,主機防火牆)之有限控制。
部署模型如下:私用雲端:僅針對組織操作雲端基礎架構。私用雲端可由組織或第三方來管理且可存在內部部署或外部部署。
社群雲端:該雲端基礎架構由若干組織共用且支援具有共用關注點(例如,任務、安全性要求、策略及順應性考量)之特定社群。該雲端可由組織或第三方來管理且可存在內部部署或外部部署。
公用雲端:該雲端基礎架構可用於公眾或大型工業集團且為出售雲端服務之組織所擁有。
混合雲端:該雲端基礎架構為兩個或大於兩個雲端(私用、社群或公用)之組合物,該等雲端保持獨特實體但藉由實現資料及應用程式攜帶性(例如,用於在雲端之間實現負載平衡之雲端爆裂)之標準化或專屬技術束縛在一起。
藉由集中於無狀態性、低耦合、模組化及語義互操作性對雲端運算環境進行服務定向。雲端運算之關鍵為包含互連節點之網路之基礎架構。一個此類節點係圖1A中所描繪之節點10。
運算節點10僅為合適的雲端運算節點之一個實例且並不意欲建議關於本文中所描述之本發明之實施例的使用或功能性之範疇的任何限制。無論如何,雲端運算節點10能夠按上文所闡述般來實施及/或執行上文所闡述之功能性中之任一者。
現參看圖7,描繪說明性雲端運算環境50。如所展示,雲端運算環境50包含一或多個運算節點10,雲端消費者所使用之本端運算裝置(諸如,個人數位助理(PDA)或蜂巢式電話54A、桌上型電腦54B、膝上型電腦54C及/或汽車電腦系統54N)可與該一或多個運算節點通信。節點10可彼此通信。可在一或多個網路(諸如,如上文所描述之私用、社群、公用或混合雲端或其組合)中將該等節點實體地或虛擬地分組(未圖示)。此情形允許雲端運算環境50供應基礎架構、平台及/或軟體作為服務,針對該等服務,雲端消費者不需要在本端運算裝置上維持資源。應理解,圖7中所展示之運算裝置54A至54N之類型意欲僅為說明性的,且運算節點10及雲端運算環境50可經由任何類型之網路及/或網路可定址連接(例如,使用網 頁瀏覽器)與任何類型之電腦化裝置通信。
現參看圖8,展示藉由雲端運算環境50(圖7)所提供之功能抽象層之集合。事先應理解,圖8中所展示之組件、層及功能意欲僅為說明性的且本發明之實施例不限於此。如所描繪,提供以下層及對應功能:硬體及軟體層60包括硬體及軟體組件。硬體組件之實例包括:大型電腦61;基於RISC(精簡指令集電腦)架構之伺服器62;伺服器63;刀鋒伺服器64;儲存裝置65;以及網路及網路連接組件66。在一些實施例中,軟體組件包括網路應用程式伺服器軟體67及資料庫軟體68。
虛擬化層70提供抽象層,可自該抽象層提供虛擬實體之以下實例:虛擬伺服器71;虛擬儲存器72;虛擬網路73,包括虛擬私用網路;虛擬應用程式及作業系統74;及虛擬用戶端75。
在一個實例中,管理層80可提供下文所描述之功能。資源佈建81提供運算資源及用以執行雲端運算環境內之任務之其他資源的動態採購。當在雲端運算環境內利用資源時,計量及定價82提供成本追蹤,以及對此等資源之消耗之帳務處理及發票開立。在一個實例中,此等資源可包含應用程式軟體授權。安全性提供針對雲端消費者及任務之身分識別驗證,以及對資料及其他資源之保護。使用者入口網站83為消費者及系統管理者提供對雲端運算環境之存取。服務層級管理84提供雲端運算資源分配及管理以使得滿足所需服務層級。服務等級協議(SLA)規劃及實現85提供雲端運算資源之預先配置及採購,針對雲端運算資源之未來要求係根據SLA來預期。
工作負載層90提供功能性之實例,可針對該功能性利用雲端運算環境。可自此層提供之工作負載及功能的實例包括:地圖測繪及導航91;軟 體開發及生命週期管理92;虛擬教室教育遞送93;資料分析處理94;異動處理95;及指令處理96。
本發明可為任何可能的技術細節整合層級處的系統、方法及/或電腦程式產品。該電腦程式產品可包括一(或多個)電腦可讀儲存媒體,其上具有電腦可讀程式指令以使處理器進行本發明之態樣。
電腦可讀儲存媒體可為有形裝置,其可持留及儲存指令以供指令執行裝置使用。電腦可讀儲存媒體可為(例如但不限於)電子儲存裝置、磁性儲存裝置、光學儲存裝置、電磁儲存裝置、半導體儲存裝置或前述各者之任何合適組合。電腦可讀儲存媒體之更特定實例之非窮盡性清單包括以下各者:攜帶型電腦磁片、硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可抹除可程式化唯讀記憶體(EPROM或快閃記憶體)、靜態隨機存取記憶體(SRAM)、攜帶型光碟唯讀記憶體(CD-ROM)、數位化通用光碟(DVD)、記憶棒、軟碟、經機械編碼裝置(諸如,上面記錄有指令之打孔卡或凹槽中之凸起結構)及前述各者之任何合適組合。如本文中所使用,不應將電腦可讀儲存媒體本身解釋為暫時性信號,諸如無線電波或其他自由傳播之電磁波、經由波導或其他傳輸媒體傳播之電磁波(例如,經由光纖纜線傳遞之光脈衝),或經由電線傳輸之電信號。
本文中所描述之電腦可讀程式指令可自電腦可讀儲存媒體下載至各別運算/處理裝置或經由網路(例如,網際網路、區域網路、廣域網路及/或無線網路)下載至外部電腦或外部儲存裝置。網路可包含銅傳輸纜線、光學傳輸光纖、無線傳輸、路由器、防火牆、交換器、閘道器電腦及/或邊緣伺服器。每一運算/處理裝置中之網路配接卡或網路介面自網路接收電腦可讀程式指令且轉遞電腦可讀程式指令以用於儲存於各別運算/處理裝 置內之電腦可讀儲存媒體中。
用於進行本發明之操作之電腦可讀程式指令可為以一或多種程式設計語言之任何組合撰寫之組譯器指令、指令集架構(ISA)指令、機器指令、機器相關指令、微碼、韌體指令、狀態設定資料、用於積體電路系統之組態資料,或原始程式碼或目標碼,該一或多種程式設計語言包括諸如Smalltalk、C++或其類似者之物件導向式程式設計語言,及程序性程式設計語言,諸如「C」程式設計語言或類似程式設計語言。電腦可讀程式指令可完全在使用者之電腦上執行、部分地在使用者之電腦上執行、作為獨立套裝軟體執行、部分地在使用者之電腦上執行且部分地在遠端電腦上執行或完全在遠端電腦或伺服器上執行。在後一種情形中,遠端電腦可經由任何類型之網路(包括區域網路(LAN)或廣域網路(WAN))連接至使用者之電腦,或可連接至外部電腦(例如,使用網際網路服務提供者經由網際網路)。在一些實施例中,包括(例如)可程式化邏輯電路系統、場可程式化閘陣列(FPGA)或可程式化邏輯陣列(PLA)之電子電路系統可藉由利用電腦可讀程式指令之狀態資訊來個人化電子電路系統而執行電腦可讀程式指令,以便執行本發明之態樣。
本文中參考根據本發明之實施例的方法、設備(系統)及電腦程式產品之流程圖說明及/或方塊圖來描述本發明之態樣。應理解,可藉由電腦可讀程式指令實施流程圖說明及/或方塊圖之每一區塊,及流程圖說明及/或方塊圖中之區塊之組合。
可將此等電腦可讀程式指令提供至通用電腦、專用電腦或其他可程式化資料處理設備之處理器以產生機器,以使得經由該電腦或其他可程式化資料處理設備之處理器執行之指令建立用於實施該一或多個流程圖及/ 或方塊圖區塊中所指定之功能/動作的手段。亦可將此等電腦可讀程式指令儲存於電腦可讀儲存媒體中,該等指令可指導電腦、可程式化資料處理設備及/或其他裝置以特定方式起作用,以使得儲存有指令之電腦可讀儲存媒體包含製品,該製品包括實施該一或多個流程圖及/或方塊圖區塊中所指定之功能/動作之態樣的指令。
電腦可讀程式指令亦可載入至電腦、其他可程式化資料處理設備或其他裝置上,以使一系列操作步驟在電腦、其他可程式化設備或其他裝置上執行以產生電腦實施之處理程序,以使得在電腦、其他可程式化設備或其他裝置上執行之指令實施一或多個流程圖及/或方塊圖區塊中所指定之功能/動作。
諸圖中之流程圖及方塊圖說明根據本發明之各種實施例的系統、方法及電腦程式產品之可能實施的架構、功能性及操作。就此而言,流程圖或方塊圖中之每一區塊可表示指令之模組、區段或部分,其包含用於實施指定邏輯功能之一或多個可執行指令。在一些替代實施中,區塊中提到之功能可能不以諸圖中所提到之次序發生。舉例而言,取決於所涉及之功能性,連續展示之兩個區塊實際上可實質上同時執行,或該等區塊可有時以相反次序執行。亦將注意,可藉由執行指定功能或動作或進行專用硬體及電腦指令之組合的基於專用硬體之系統來實施方塊圖及/或流程圖說明之每一區塊,及方塊圖及/或流程圖說明中之區塊之組合。
除上述情形之外,亦可藉由供應對消費者環境之管理之服務提供者來提供、供應、部署、管理、服務(等)一或多個態樣。舉例而言,服務提供者可建立、維持、支援(等)電腦程式碼及/或執行用於一或多個消費者之一或多個態樣之電腦基礎架構。作為回報,服務提供者可根據訂用及/或 收費協議接收來自消費者之付款(作為實例)。另外或替代地,服務提供者可接收來自向一或多個第三方出售廣告內容之付款。
在一個態樣中,可部署一應用程式用於執行一或多個實施例。作為一個實例,應用程式之部署包含提供可操作以執行一或多個實施例之電腦基礎架構。
作為另一態樣,可部署運算基礎架構,包含將電腦可讀程式碼整合至運算系統中,其中程式碼結合運算系統能夠執行一或多個實施例。
作為又一態樣,可提供一種用於整合運算基礎架構之處理程序,包含將電腦可讀程式碼整合至電腦系統中。電腦系統包含電腦可讀媒體,其中電腦媒體包含一或多個實施例。程式碼結合電腦系統能夠執行一或多個實施例。
儘管上文描述各種實施例,但此等實施例僅為實例。舉例而言,其他架構之運算環境可用以併有及使用一或多個實施例。另外,可使用不同指令、指令格式、指令欄位及/或指令值。許多變化係可能的。
另外,其他類型之運算環境可為有益的且可加以使用。作為一實例,可使用適合於儲存及/或執行程式碼之資料處理系統,其包括直接或經由系統匯流排間接地耦接至記憶體元件之至少兩個處理器。記憶體元件包括(例如)在實際執行程式碼期間使用之本端記憶體、大容量儲存器,及提供對至少某一程式碼之臨時儲存以便減少在執行期間必須自大容量儲存器擷取程式碼之次數的快取記憶體。
輸入/輸出或I/O裝置(包括但不限於鍵盤、顯示器、指標裝置、DASD、磁帶、CD、DVD、隨身碟(thumb drive)及其他記憶體媒體等)可直接或經由介入之I/O控制器耦接至系統。網路配接器亦可耦接至系統以 使得資料處理系統能夠變成經由介入之私用網路或公用網路耦接至其他資料處理系統或遠端印表機或儲存裝置。數據機、纜線數據機及乙太網卡僅為幾個可用類型之網路配接器。
本文中所使用之術語僅出於描述特定實施例的目的且並不意欲為限制性的。如本文中所使用,除非上下文另有清晰地指示,否則單數形式「一」及「該」意欲亦包括複數形式。應進一步理解,術語「包含(comprises及/或comprising)」在用於本說明書中時指定所陳述特徵、整體、步驟、操作、元件及/或組件之存在,但不排除一或多個其他特徵、整體、步驟、操作、元件、組件及/或其群組之存在或新增。
以下申請專利範圍中之所有構件或步驟加功能元件之對應結構、材料、動作及等效物(若存在)意欲包括用於結合如特定主張之其他所主張元件來執行功能的任何結構、材料或動作。已出於說明及描述之目的呈現一或多個實施例之描述,但其不意欲為窮盡性的或限於所揭示之形式。對於一般熟習此項技術者而言,許多修改及變化將為顯而易見的。選取及描述實施例以便最佳地解釋各種態樣及實際應用,且使得一般熟習此項技術者能夠理解具有如適於所預期之特定用途之各種修改的各種實施例。

Claims (20)

  1. 一種用於促進一運算環境內之處理的電腦程式產品,該電腦程式產品包含:一電腦可讀儲存媒體,其可由一處理電路讀取且儲存供該處理電路執行以用於執行一方法之指令,該方法包含:獲得一指令以供執行,該指令用以執行針對該指令組態之複數個正負號運算中的一正負號運算;及執行該指令,該執行包括:選擇一輸入運算元之至少一部分作為待置放於一選擇部位中之一結果,該選擇係基於該指令之一控制項,該指令之該控制項指示待選擇為該結果之該輸入運算元的一使用者定義大小;基於複數個準則而判定該結果之一正負號,該複數個準則包括基於該指令之該控制項而獲得的該結果之一值,該值相對於一選定值具有一第一特定關係或一第二特定關係;及將該結果及該正負號儲存於該選擇部位中以提供待用於該運算環境內之處理中的一帶正負號輸出。
  2. 如請求項1之電腦程式產品,其中該第一特定關係係相等,該第二特定關係係不相等,且該選定值為零。
  3. 如請求項1之電腦程式產品,其中該輸入運算元之該至少一部分包含該輸入運算元之數個選擇數位,選擇數位之數目藉由該指令之該控制項指定。
  4. 如請求項3之電腦程式產品,其中該數目個選擇數位包含該輸入運算元之數個最右數位。
  5. 如請求項1之電腦程式產品,其中該控制項提供於該指令之一立即數欄位中。
  6. 如請求項1之電腦程式產品,其中該複數個準則進一步包括待執行之該正負號運算。
  7. 如請求項1之電腦程式產品,其中該複數個準則進一步包括選自包含以下各者之準則之一群組的至少一個準則:待執行之一正負號運算、該輸入運算元之一正負號,及該指令之一正號碼控制項。
  8. 如請求項1之電腦程式產品,其中該複數個正負號運算包含維持、求補數、強制正及強制負。
  9. 如請求項1之電腦程式產品,其中該執行進一步包括基於該指令之指示待檢查有效性的另一控制項而檢查該輸入運算元之一正負號的有效性。
  10. 如請求項1之電腦程式產品,其中該選擇部位為一暫存器,該暫存器係使用該指令之至少一個欄位而指定。
  11. 如請求項10之電腦程式產品,其中該至少一個欄位包含指定一暫存器編號之一暫存器欄位及指定待附加至該暫存器編號之一擴充值的一擴充欄位。
  12. 一種用於促進一運算環境內之處理的電腦系統,該電腦系統包含:一記憶體;及一處理器,其與該記憶體通信,其中該電腦系統經組態以執行一方法,該方法包含:獲得一指令以供執行,該指令用以執行針對該指令組態之複數個正負號運算中的一正負號運算;及執行該指令,該執行包括:選擇一輸入運算元之至少一部分作為待置放於一選擇部位中之一結果,該選擇係基於該指令之一控制項,該指令之該控制項指示待選擇為該結果之該輸入運算元的一使用者定義大小;基於複數個準則而判定該結果之一正負號,該複數個準則包括基於該指令之該控制項而獲得的該結果之一值,該值相對於一選定值具有一第一特定關係或一第二特定關係;及將該結果及該正負號儲存於該選擇部位中以提供待用於該運算環境內之處理中的一帶正負號輸出。
  13. 如請求項12之電腦系統,其中該第一特定關係係相等,該第二特定關係係不相等,且該選定值為零。
  14. 如請求項12之電腦系統,其中該輸入運算元之該至少一部分包含該輸入運算元之數個選擇數位,選擇數位之數目藉由該指令之該控制項指定,且其中該數目個選擇數位包含該輸入運算元之數個最右數位。
  15. 如請求項12之電腦系統,其中該複數個準則進一步包括選自包含以下各者之準則之一群組的至少一個準則:待執行之一正負號運算、該輸入運算元之一正負號,及該指令之一正號碼控制項。
  16. 如請求項12之電腦系統,其中該執行進一步包括基於該指令之指示待檢查有效性的另一控制項而檢查該輸入運算元之一正負號的有效性。
  17. 一種促進一運算環境內之處理的電腦實施方法,該電腦實施方法包含:藉由至少一個處理器獲得一指令以供執行,該指令用以執行針對該指令組態之複數個正負號運算中的一正負號運算;及執行該指令,該執行包括:選擇一輸入運算元之至少一部分作為待置放於一選擇部位中之一結果,該選擇係基於該指令之一控制項,該指令之該控制項指示待選擇為該結果之該輸入運算元的一使用者定義大小;基於複數個準則而判定該結果之一正負號,該複數個準則包括基於該指令之該控制項而獲得的該結果之一值,該值相對於一選定值具有一第一特定關係或一第二特定關係;及將該結果及該正負號儲存於該選擇部位中以提供待用於該運算環境內之處理中的一帶正負號輸出。
  18. 如請求項17之電腦實施方法,其中該輸入運算元之該至少一部分包含該輸入運算元之數個選擇數位,選擇數位之數目藉由該指令之該控制項指定,且其中該數目個選擇數位包含該輸入運算元之數個最右數位。
  19. 如請求項17之電腦實施方法,其中該複數個準則進一步包括選自包含以下各者之準則之一群組的至少一個準則:待執行之一正負號運算、該輸入運算元之一正負號,及該指令之一正號碼控制項。
  20. 如請求項17之電腦實施方法,其中該執行進一步包括基於該指令之指示待檢查有效性的另一控制項而檢查該輸入運算元之一正負號的有效性。
TW106133533A 2016-09-30 2017-09-29 用於執行正負號運算十進位指令的電腦程式產品、電腦系統及電腦實施方法 TWI651649B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/281,173 2016-09-30
US15/281,173 US10175946B2 (en) 2016-09-30 2016-09-30 Perform sign operation decimal instruction

Publications (2)

Publication Number Publication Date
TW201816601A TW201816601A (zh) 2018-05-01
TWI651649B true TWI651649B (zh) 2019-02-21

Family

ID=60191332

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106133533A TWI651649B (zh) 2016-09-30 2017-09-29 用於執行正負號運算十進位指令的電腦程式產品、電腦系統及電腦實施方法

Country Status (17)

Country Link
US (2) US10175946B2 (zh)
EP (1) EP3519942B1 (zh)
JP (1) JP7021408B2 (zh)
KR (1) KR102238189B1 (zh)
CN (1) CN109791489B (zh)
AU (1) AU2017333837B2 (zh)
BR (1) BR112019006626A2 (zh)
CA (1) CA3036125A1 (zh)
ES (1) ES2965065T3 (zh)
HU (1) HUE064386T2 (zh)
IL (1) IL265549B (zh)
MX (1) MX2019003606A (zh)
PL (1) PL3519942T3 (zh)
RU (1) RU2718968C1 (zh)
TW (1) TWI651649B (zh)
WO (1) WO2018060102A1 (zh)
ZA (1) ZA201902529B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10175946B2 (en) * 2016-09-30 2019-01-08 International Business Machines Corporation Perform sign operation decimal instruction
US11023205B2 (en) * 2019-02-15 2021-06-01 International Business Machines Corporation Negative zero control in instruction execution
US11099853B2 (en) 2019-02-15 2021-08-24 International Business Machines Corporation Digit validation check control in instruction execution
US11836459B2 (en) * 2021-03-30 2023-12-05 Apple Inc. Floating-point division circuitry with subnormal support

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200802078A (en) * 2006-02-15 2008-01-01 Qualcomm Inc Power-efficient sign extension for booth multiplication methods and systems
US20100306292A1 (en) * 2009-05-27 2010-12-02 Microchip Technology Incorporated DSP Engine with Implicit Mixed Sign Operands
TW201123745A (en) * 2009-12-31 2011-07-01 Nat Univ Tsing Hua Low density parity check codec and method of the same
US8510363B2 (en) * 2003-06-30 2013-08-13 Intel Corporation SIMD sign operation
US20140115303A1 (en) * 2002-09-06 2014-04-24 Renesas Electronics Corporation Data processing device

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1405049A1 (ru) * 1985-10-31 1988-06-23 Предприятие П/Я Р-6886 Устройство дл суммировани двух чисел с плавающей зап той
JP2826927B2 (ja) * 1992-09-19 1998-11-18 株式会社ピーエフユー 演算処理装置および処理方法
RU2143726C1 (ru) * 1997-07-15 1999-12-27 Козлов Михаил Кириллович Формульный процессор с командоподобными логическими управляющими элементами
US8560591B2 (en) 2007-04-25 2013-10-15 International Business Machines Corporation Detection of potential need to use a larger data format in performing floating point operations
US8190664B2 (en) 2007-04-26 2012-05-29 International Business Machines Corporation Employing a mask field of an instruction to encode a sign of a result of the instruction
JP2009110353A (ja) 2007-10-31 2009-05-21 Hitachi Ltd マイクロコントローラ及び制御システム
US20090182984A1 (en) * 2008-01-11 2009-07-16 International Business Machines Corporation Execute Relative Long Facility and Instructions Therefore
US9335993B2 (en) * 2011-12-29 2016-05-10 International Business Machines Corporation Convert from zoned format to decimal floating point format
US9329861B2 (en) * 2011-12-29 2016-05-03 International Business Machines Corporation Convert to zoned format from decimal floating point format
US9588762B2 (en) * 2012-03-15 2017-03-07 International Business Machines Corporation Vector find element not equal instruction
US9916185B2 (en) * 2014-03-18 2018-03-13 International Business Machines Corporation Managing processing associated with selected architectural facilities
US9858058B2 (en) * 2014-03-31 2018-01-02 International Business Machines Corporation Partition mobility for partitions with extended code
US20160092162A1 (en) * 2014-09-30 2016-03-31 International Business Machines Corporation Machine instructions for converting to decimal floating point format from packed decimal format
US20160092163A1 (en) * 2014-09-30 2016-03-31 International Business Machines Corporation Machine instructions for converting from decimal floating point format to packed decimal format
US10175946B2 (en) * 2016-09-30 2019-01-08 International Business Machines Corporation Perform sign operation decimal instruction
US10127015B2 (en) * 2016-09-30 2018-11-13 International Business Machines Corporation Decimal multiply and shift instruction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140115303A1 (en) * 2002-09-06 2014-04-24 Renesas Electronics Corporation Data processing device
US8510363B2 (en) * 2003-06-30 2013-08-13 Intel Corporation SIMD sign operation
TW200802078A (en) * 2006-02-15 2008-01-01 Qualcomm Inc Power-efficient sign extension for booth multiplication methods and systems
US20100306292A1 (en) * 2009-05-27 2010-12-02 Microchip Technology Incorporated DSP Engine with Implicit Mixed Sign Operands
TW201123745A (en) * 2009-12-31 2011-07-01 Nat Univ Tsing Hua Low density parity check codec and method of the same

Also Published As

Publication number Publication date
RU2718968C1 (ru) 2020-04-15
ZA201902529B (en) 2022-04-28
ES2965065T3 (es) 2024-04-10
US20180095727A1 (en) 2018-04-05
JP7021408B2 (ja) 2022-02-17
EP3519942A1 (en) 2019-08-07
US20180095726A1 (en) 2018-04-05
PL3519942T3 (pl) 2024-02-26
IL265549B (en) 2022-08-01
JP2019532415A (ja) 2019-11-07
US10175946B2 (en) 2019-01-08
IL265549A (en) 2019-05-30
CN109791489A (zh) 2019-05-21
HUE064386T2 (hu) 2024-03-28
TW201816601A (zh) 2018-05-01
AU2017333837A1 (en) 2019-04-04
EP3519942B1 (en) 2023-11-08
KR20190058502A (ko) 2019-05-29
CA3036125A1 (en) 2018-04-05
US10346134B2 (en) 2019-07-09
KR102238189B1 (ko) 2021-04-09
WO2018060102A1 (en) 2018-04-05
MX2019003606A (es) 2019-06-17
CN109791489B (zh) 2023-08-11
EP3519942C0 (en) 2023-11-08
AU2017333837B2 (en) 2020-07-16
BR112019006626A2 (pt) 2019-07-02

Similar Documents

Publication Publication Date Title
TWI656477B (zh) 用於具有可選擇比較屬性之浮點指令之電腦程式產品,電腦系統及電腦實現方法
TWI651649B (zh) 用於執行正負號運算十進位指令的電腦程式產品、電腦系統及電腦實施方法
CN116940927A (zh) 十进制缩放和转换和拆分到十六进制浮点指令
TWI636397B (zh) 十進制移位及除法指令
TWI653576B (zh) 用於十進位乘法及移位指令之電腦程式產品、電腦系統及電腦實施方法
AU2022227809B2 (en) Vector pack and unpack instructions
TWI653579B (zh) 用於十進位立即載入指令之電腦程式產品、電腦系統及電腦實施方法
TW202036272A (zh) 載入/儲存位元組反轉元件指令