TWI536261B - 用於資料元素的條件式選擇的設備、方法、電腦程式產品、及虛擬機 - Google Patents
用於資料元素的條件式選擇的設備、方法、電腦程式產品、及虛擬機 Download PDFInfo
- Publication number
- TWI536261B TWI536261B TW100135780A TW100135780A TWI536261B TW I536261 B TWI536261 B TW I536261B TW 100135780 A TW100135780 A TW 100135780A TW 100135780 A TW100135780 A TW 100135780A TW I536261 B TWI536261 B TW I536261B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- storage element
- condition
- instruction
- data processing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 19
- 238000004590 computer program Methods 0.000 title claims description 7
- 238000012545 processing Methods 0.000 claims description 78
- 230000004044 response Effects 0.000 claims description 26
- 239000002131 composite material Substances 0.000 claims description 14
- 239000000463 material Substances 0.000 claims description 9
- 238000013500 data storage Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 17
- 238000011156 evaluation Methods 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 229920002994 synthetic fiber Polymers 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
- G06F9/265—Microinstruction selection based on results of processing by address selection on input of storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
本發明係關於資料處理設備之領域,且特定言之,係基於條件選擇來源資料元素之條件式選擇指令之領域。
條件式選擇曾經用在藉由如Cambridge UK的ARM處理上,該等指令命令處理器僅於回應滿足預先定義之條件時,實行處理操作。可要求以滿足的條件之實例為少於、多於、等於、為負、進位輸入、為零等等。
特定言之,高端處理設備至少部分平行地實行指令,在該等高端處理設備上的條件式指令之缺點為,當指令流中條件式指令的後續指令要求條件式指令的結果來當輸入時,可能依據條件的滿足與否而要求原始值或更新值。當後續指令已進入管線,而條件式指令亦仍在管線中,原始值或更新值需要在管線中可為後續指令所用。此舉可能要求原始值的附加讀取,對速度或功率來說有相當高的負擔。
利用選擇指令導致處理器基於滿足之條件,從二個來源暫存器選擇欲被寫入目的暫存器的結果,此舉亦為習知技藝。
將期望可以保持許多條件式指令的功能且仍然維持效能。
從第一態樣看來,本發明提供處理設備包含:一資料儲存所,包含用於儲存資料元素之複數個儲存元素;一指令解碼器,經配置以解碼至少一個條件式選擇指令,該至少一個條件式選擇指令指定主要來源儲存元素、次要來源儲存元素、條件、以及在儲存於次要來源儲存元素的資料元素中實行之操作;一資料處理器,經配置以藉由指令解碼器控制來實行資料處理操作,其中包含下列步驟:資料處理器係回應經解碼的至少一個條件式選擇指令與具有預先決定結果的條件,以在來自次要來源儲存元素之資料元素中實行該操作,以形成合成資料元素;以及資料處理器係回應經解碼的至少一個條件式選擇指令與不具有預先決定結果的條件,以從主要儲存元素中的資料元素形成合成資料元素
本發明認知到,條件式選擇指令係回應預先決定結果之條件,而選擇儲存在儲存元素中之特定值的有效方式。預先決定結果可為條件已滿足,或條件未滿足。本發明亦認知到,若條件式選擇指令導致在一個儲存元素之值中實行操作時,隨著直接決定選擇存取二個儲存元素中的一個,則此舉可提供具有許多傳統條件式指令之性質,又沒有效能缺點的指令。
在一些實施例中,指令更進一步指定目的儲存元素,資料處理器係回應至少一個條件式選擇指令,以儲存合成資料元素在目的儲存元素中。
指令可指定合成資料元素儲存於目的儲存元素中,或該目的儲存元素可經配置以直接複寫合成資料元素在預先決定的儲存位置上。
在一些實施例中,目的儲存元素可為來源儲存元素之一者,而在其他實施例中,目的儲存元素可為不同的儲存元素。
在一些實施例中,資料處理器係回應經解碼的至少一個條件式選擇指令與未具有預先決定結果的條件,以在次要來源儲存元素中之資料元素中實行操作,並從主要來源儲存元素中之資料元素形成合成資料元素。
在條件不具有預先決定結果時,則選擇主要來源儲存元素為合成資料元素之來源。在一些實施例中,儘管選擇主要來源儲存元素,但藉由條件式選擇指令指定的操作仍在次要來源儲存元素中之資料元素中實行。儘管此狀況中並不需要此操作結果,然而不論如何,實行此操作係有利的,例如一般決定條件結果耗費一顯著數量的指令運行時間,而因此,若在知道條件是否具有預先決定結果之前,在次要來源儲存元素中實行操作,則二個儲存元素在條件結果決定之前都已備妥,可減少程序的閒置時間。
在一些實施例中,該至少一個條件式選擇指令包含:增加條件式選擇指令,且該操作包含以下步驟:增加來自次要來源儲存元素之資料元素。
條件式選擇指令可具有相關聯的不同操作,但在一些實施例中,條件式選擇指令包含:增加條件式選擇指令,其中該操作包含以下步驟:增加選擇資料元素。
在另一些實施例中,條件式選擇指令包含:反向條件式選擇指令,其中該操作包含以下步驟:邏輯反向選擇資料元素,以產生逐位元邏輯反向的儲存元素值。
此二操作可在一些實施例中結合以形成一反向增加條件式選擇指令。以逐位元邏輯反向並接著增加值以產生資料元素的運算否定。
在一些實施例中,儲存元素資料儲存所包含:映射至零值之儲存元素名稱。
條件式選擇指令提供相關聯的操作,例如反向與增加,而儲存元素映射至零值的可能性提供處理設備實行很多不同操作的能力,該等操作映射至藉由許多舊有條件式指令實行的操作。該等實例列舉於下。這樣一來,以適當的方式利用此條件式選擇功能可模擬許多舊有系統提供的條件式指令。此條件式選擇功能提供一種有效且方便的方式,該方式提供舊有條件式指令之功能並且沒有許多效能缺點。
熟習此項技藝者應明瞭,儲存元素可為若干種事物,舉例而言,在一些實施例中,儲存元素可為暫存器,而在另一些實施例中,儲存元素可為記憶體位置。
在一些實施例中,指令解碼器經配置為回應該條件式選擇指令,以輸出增加控制信號;以及處理器經配置以處理經解碼的條件式選擇指令,該等經解碼的條件式選擇指令包含:加法器,經配置以接收來自次要來源儲存元素之值與進位輸入信號;多工器,經配置以接收來自主要來源儲存元素之信號與來自加法器之輸出之信號,多工器之選擇信號包含條件,且具有該預先決定結果的該條件觸發多工器選擇加法器之輸出;其中回應已設定該增加控制信號,將進位輸入信號設定成1,且加法器增加至少一個來源儲存元素的接收值。
本發明之實施例之更進一步的優點為需要實施該等功能的電路系統為一簡單處理電路系統,並在許多狀況下呈現在處理器中,且可再利用以提供需要的功能。舉例而言,可利用加法器與進位輸入信號,增加控制信號設定進位輸入信號,以及多工器之選擇功能為條件結果,以提供增加操作。
在一些實施例中,指令解碼器經配置為回應條件式選擇指令,以輸出反向控制信號;以及處理器經配置以處理經解碼的條件式選擇指令,該等經解碼的條件式選擇指令包含:加法器,經配置為回應已設定反向控制信號,以接收來自次要儲存元素通過反向器之值,並回應未設定反向控制信號,以接收來自次要儲存元素未通過反向器之值;多工器,經配置以接收來自主要來源儲存元素之信號與來自加法器的輸出信號,多工器之選擇信號包含條件,且具有該預先決定結果的該條件觸發多工器選擇加法器輸出。
利用反向器可提供反向功能,且若與加法器耦接,反向與增加可在需要時結合。
舉例而言,在一些實施例中,指令解碼器經配置為回應條件式選擇指令,以輸出增加控制信號與反向控制信號;其中回應已設定增加控制信號,將進位輸入信號設定成1,且回應已設定反向控制信號,加法器增加從次要來源儲存元素所接收之反向值。
提供反向與增加構件可由2的補數形式提供運算否定值的能力。
在一些實施例中,主要來源儲存元素與次要來源儲存元素為相同儲存元素。
儘管可使用不同來源儲存元素,在一些實施例中,該等來源儲存元素為相同儲存元素。在此狀況下,若條件具有預先決定結果,從實行操作的儲存元素中形成結果元素,而若條件不具有預先決定結果,利用資料元素來形成合成資料元素。此舉可在條件式選擇中具有優點,接著,若條件具有預先決定結果,實行操作,且若條件不具有預先決定結果,不實行操作。此舉實施的一個方式為,從儲存元素形成二條路徑,一條通過實行操作的功能電路系統,另一條直接從儲存元素走,根據條件結果選取傳送合成元素的路徑。
在一些實施例中,從回應至少一個先前資料處理操作而設定之運算邏輯旗標來決定條件結果。
不論條件是否具有預先決定結果,都從回應至少一個先前資料處理操作而設定之電腦狀態儲存元素中之運算邏輯旗標來決定。該等先前資料處理操作回應實行於條件式選擇指令之前的至少一個指令而實行,且該等指令決定條件的結果,例如,不論滿足與否皆根據此結果設定旗標。因此,為了決定條件是否具有確定結果,比較確定條件碼與旗標,若相匹配,則決定條件具有預先決定結果;若未匹配,則決定條件不具有預先決定結果。顯而易見地,此系統可反向以使得未匹配為具有預先決定結果,而匹配則不具有預先決定結果。
先前資料處理操作可為若干種事物,但在一些實施例中,該先前資料處理操作包含:具有其他值的至少一個來源儲存元素之資料元素。
條件碼可為某種事物,例如在來源儲存元素B中小於確定值的值。為了決定此條件結果,比較儲存於儲存元素B之值與確定值,而藉由將儲存在儲存元素B之值減去確定值,該條件應為小於,旗標回應此條件設定。此操作回應指令流中的稍早指令。因此,若設定負旗標,則條件已滿足。
在另一些實施例中,至少一個先前資料處理操作包含以下步驟:比較主要來源儲存元素之資料元素與次要來源儲存元素之資料元素。
若兩個來源儲存元素具有確定的相互關係,則比較兩者之值,且僅實行確定操作即為適當。若此為條件,然後再一次的稍早的處理操作可為:比較該等值,設定旗標,並從狀態旗標決定條件是否滿足。
條件可為若干事物,舉例而言,條件可為不等於、等於、小於、大於、大於或等於、小於或等於、為零、或為負。從條件旗標可決定所有條件。
運算邏輯旗標包含:一負結果旗標、一零結果旗標、一進位輸出旗標、與一帶正負號溢位旗標中之至少一者。因此,值之間的比較通常為減法,而結果為負者將指示其中一個值大於另一個,同樣地結果為零者將指示兩值相等,諸如此類。
在一些實施例中,條件的預先決定結果包含:條件已滿足。
如同先前提到,條件的預先決定結果可為條件已滿足,或者,亦可為條件未滿足。
在一些實施例中,資料處理設備包含:回應運算指令,用於實行加法與減法操作之運算電路系統,其中回應條件式選擇指令,至少一些用於在次要來源儲存元素中之資料元素中實行操作之電路系統包含運算電路系統。
如同先前提到,可利用運算電路實行例如增加之操作,該等操作可實行條件式選擇功能。若此運算電路已經呈現在處理器中用以實行加法與減法操作,則接著可方便地再利用此電路系統以實行條件式選擇指令。在此狀況中,可提供指令的功能而不需大量額外附加的電路系統,藉此對電路區域作有效率地使用。
在一些實施例中,條件式選擇指令包含一指示器,該指示器指示來源與目的儲存元素的寬度。
本發明之實施例適合利用不同寬度儲存元素的設備。因此,舉例而言,硬體可具有暫存器,該暫存器之儲存元素為64位元寬,但是偶爾可利用32位元寬的儲存元素執行程式。在此狀況下,可設定指示器並存取暫存器的相關部分。
本發明的第二態樣提供一種資料處理設備之方法,包含以下步驟:接收至少一個條件式選擇指令,該至少一個條件式選擇指令指定主要來源儲存元素、次要來源儲存元素、條件、以及在儲存於次要來源儲存元素之資料元素中實行之操作;解碼至少一個所接收的條件式選擇指令;決定條件是否具有預先決定結果;若條件具有預先決定結果,則選擇次要來源儲存元素,並在來自選擇來源儲存元素之資料元素中實行操作,以形成合成資料元素;以及若條件不具有預先決定結果,則選擇主要來源儲存元素中之資料元素,以形成合成資料元素。
本發明的第三態樣提供一種儲存電腦程式之電腦程式產品,包含:條件式選擇指令,當運行在資料處理器上,以控制資料處理器實行如本發明的第二態樣所述之方法之步驟時,可操作該條件式選擇指令。
本發明的第四態樣提供一種用於處理資料之構件,包含:儲存元素儲存構件,用於儲存資料元素在儲存元素中;指令解碼構件,用於解碼至少一個條件式選擇指令,該至少一個條件式選擇指令指定主要來源儲存元素、次要來源儲存元素、條件、以及在儲存於次要來源儲存元素的資料元素中實行之操作;處理構件,用於實行藉由指令解碼構件控制的資料處理操作,其中:處理構件係回應經解碼的至少一個條件式選擇指令與具有預先決定結果的條件,以在來自次要來源儲存元素之資料元素上實行操作,以形成合成資料元素;以及處理構件係回應經解碼的至少一個條件式選擇指令與不具有預先決定結果的條件,以從主要儲存元素中的資料元素形成合成資料元素。
本發明的第五態樣藉由一電腦程式運行在一資料處理設備上提供一種虛擬機,該虛擬機根據如本發明的第一態樣所述之資料處理設備提供一指令運行環境。
參閱實施例中對應之隨附圖式,並從實施例之詳細說明將可明顯得知如上所述之內容與本發明之其他物件、特徵結構、與優點。
第1圖圖示根據本發明之一個實施例之資料處理設備10。此資料處理設備10具有用於儲存被處理的指令之資料儲存所20。資料處理設備10具有用於處理指令之管線30,該指令包括用於從資料儲存所20讀取指令的讀取單元32,用於解碼該等指令的指令解碼器34,以及用於處理解碼指令的處理單元36。
亦具有暫存器組40包含複數個暫存器。處理單元36從該等暫存器寫入與讀出資料。暫存器組包括含有處理器狀態旗標的程式狀態暫存器(CPSR)。回應處理操作而設定該等狀態旗標,並藉由處理器可利用狀態旗標以決定處理器的特定條件或狀態。
在此實施例中,亦具有映射至零的暫存器X31。因此,當藉由指令選擇此暫存器時,永遠給零值。
解碼器34經配置以經解碼的一個指令為條件式選擇指令。回應此解碼指令,處理器在由指令指定的來源暫存器之一個中實行由指令指定的操作,接著當合成元素寫入目的暫存器,則選擇此來源暫存器或另一來源暫存器。
第2圖圖示處理單元36中的處理電路系統之實例,該處理電路系統可用於係回應條件式選擇指令以實行處理操作。
在本發明之實施例中,條件式選擇指令可在暫存器之一的值中實行二個操作之一。條件式選擇指令可回應已設定增加控制信號(INCREMENT)而增加值,或可回應已設定反向控制旗標(INVERT),而藉由實行逐位元對儲存值之每一位元做邏輯反向,以反向值。條件式選擇指令取決於條件,因此,不論決定條件滿足與否,輸出都取決於此一或其他暫存器。
因此,第2圖的實施例有二個來源暫存器Rn與Rm。在此實施例中,二個來源暫存器皆為32位元寬,儘管在替代的實施例中,二個來源暫存器皆為64位元寬。在另一些實施例中,二個來源暫存器皆可為64位元寬,但係回應條件式選擇指令中之選擇位元,而把二個來源暫存器當作32位元暫存器,且僅較高或較低的32位元寫入或讀出。
根據實行條件式選擇指令可指定的任何操作,暫存器Rm之一為次要暫存器。因此,在此實施例中,條件式選擇指令可指定反向操作、增加操作、兩者或兩者皆非。若為兩者皆非,接著條件式選擇功能利用多工器50直接選擇暫存器Rm或暫存器Rn。
應注意,儘管暫存器Rm與Rn圖示為不同暫存器,但暫存器Rm與Rn在本發明之實施例中可為相同暫存器,並具有直接從暫存器至多工器的資料路徑與通過功能電路系統的另一資料路徑。
從指令相關聯的條件決定多工器50的選擇信號,利用評估單元60評估該指令。在此實施例中,評估單元60比較此指令相關聯的條件碼與儲存在處理設備的CPSR暫存器中的運算邏輯旗標。若條件碼與旗標匹配,接著決定條件已滿足與暫存器Rm被選擇。若條件碼與旗標不匹配,接著決定暫存器Rm被選擇。
因此,在基本狀況下,當反向或增加信號都沒有設定,指令如條件式選擇功能指令動作,且取決於條件滿足與否以選擇Rm或Rn。然而,若指令為反向條件選擇指令,則設定反向(INVERT)信號,且異或(XOR)閘70對暫存器Rm的每一個位元逐位元作反向,而反向值為經由加法器75至多工器50之輸出。若未設定增加(INCREMENT)信號,則值則直接為逐位元反向,若選擇功能選擇暫存器Rm,反向值為目的暫存器Rd之輸出。若選擇功能選擇暫存器Rn,則實行逐位元反向,但至目的暫存器的輸出不選擇反向結果。
增加信號亦為此處理電路系統之輸入,且增加信號在加法器75時為進位輸入信號,因此當設定增加信號時,加法器接收一進位輸入。因此,當設定增加信號時,若條件具有預先決定結果,利用多工器50增加並選擇XOR閘70之值輸出,在未設定反向的狀況下,值儲存於暫存器Rm,與在設定反向信號的狀況下,反向值儲存於暫存器Rm。若設定反向與增加信號兩者,接著值輸出為儲存於暫存器Rm之值的負的2的補數。若僅設定增加信號,直接對儲存於暫存器Rm之值增加1。
應注意,實行於儲存在暫存器Rm之值的操作,在利用多工器50實行選擇之前實行。因此,若不選擇暫存器Rm,就沒有實行該等操作的目標。然而,條件碼評估一般耗費明顯的時間,因此,若僅在實行操作的最後才要求此結果,此舉可具有優點。
第3圖圖示處理電路系統的替代實施例,類似於如第2圖所圖示,除了在處理設備的一般運算電路中的再利用加法器電路系統75。因此,當與第2圖比較,第3圖具有附加AND閘80,當處理電路系統實行條件式選擇指令時,利用附加AND閘80遮蔽暫存器A至加法器75之輸入。因此,當運行條件式選擇指令時,AND閘之輸入為0,使得儲存於暫存器A之值無法到達加法器。當利用一般處理操作的部分運算電路系統時,AND閘不遮蔽暫存器A之輸入,且可利用加法器75加上暫存器A與B,或加上暫存器A與具有反向值的暫存器B。
在條件式選擇功能的狀況下,利用加法器75增加儲存於暫存器B之值,或增加儲存於暫存器B之反向值,因此,加法器的另一個輸入(暫存器A)在實行一般運算指令下呈現被AND閘80遮蔽。在其他方面,此電路系統與第2圖所述之電路系統相同。
XOR邏輯藉由產生中介結果以提供反向功能,該中介結果逐位元對暫存器B中的每一位元與反向信號作互斥OR(XOR)。應瞭解,此電路系統可合併如第3圖所圖示之處理器的主要運算單元,或可如第2圖所圖示建立為分別的電路系統。
第4圖圖示條件式選擇指令的不同類型與輸出值之實例。因此,回應沒有反向或增加信號的條件式選擇指令,至目的暫存器之輸出為儲存於主要暫存器Rn之值或為儲存於次要暫存器Rm之值,係取決於條件與運算邏輯單元是否匹配。
回應增加信號己設定的條件式選擇指令,增加從暫存器Rm所接收的值,且又一次,至目的暫存器之輸出為儲存於暫存器Rn之值或為儲存於暫存器Rm之增加值,係取決於條件與旗標。
若設定反向信號,接著對從暫存器Rm所接收的值逐位元反向,而又一次,寫入目的暫存器之輸出為Rm之反向值或為Rn之值,係取決於條件與旗標是否匹配。
若設定反向與增加信號,接著來自暫存器Rm之值則反向且增加。此舉產生儲存於Rm之值的2的補數,即為原始值的運算否定型式。又一次,寫入目的暫存器之輸出為儲存於暫存器Rn之值或為儲存於暫存器Rm之反向增加值,係取決於條件與旗標是否匹配。
在此實施例中,此條件碼為四位元碼,指示不選擇暫存器Rn,而是選擇暫存器Rm所需的旗標型式。儲存於CPSR暫存器的旗標(Flags)為四位元值並包含N、Z、C與B。N指示負結果,Z指示零結果,C指示進位輸出,以及B指示帶正負號的運算溢位。該等旗標藉由稍早的資料處理操作設定。因此,在條件式選擇指令運行之前,操作運行以實行所需之比較以決定條件式選擇指令滿足與否。該等操作可回應比較指令而實行,該等比較指令依照比較結果設定旗標。為了決定條件滿足與否,與指示條件已滿足的確定旗標值匹配的條件碼可在條件式選擇指令中編碼,直接比較此碼與旗標將決定條件滿足與否。
該等稍早的處理指令可採取比較指令的型式,或許用於比較來源暫存器之一值與來源暫存器之另一值,又或許比較來源暫存器之值與設定值。比較指令一般實行減法操作,且此結果設定運算旗標。因此,若指令與條件碼為當A小於B時將增加B,則接著比較指令可將B減去A,且若結果為負,則設定N旗標,因此,條件碼應具有匹配已設定的N旗標之型式。此比較指令可在條件式選擇指令之前實行,且該比較指令甚至可在沒有設定運算邏輯旗標的中間指令提供之前實行數個指令。
如先前所述,此條件式選擇指令的優點之一係可提供先前條件式指令之功能而沒有先前條件式指令之一些缺點。第5圖圖示條件式選擇指令可提供等效功能之例示性條件式指令。
因此,在第一個實例中,條件式選擇指令可在1與0之間提供選擇。此舉使用映射至0的暫存器。雖然該暫存器在第1圖的實施例中為經設定映射至值0的暫存器X31,而在此圖中為達精簡之目的係以如R0圖示。在此狀況中,映射至0的暫存器用於作為二個來源暫存器,且可取決於條件選擇0值或選擇增加值為0值來使用增加功能,並因此,取決於條件而使輸出為0或1。
條件式選擇指令亦可用來在0值與所有1的遮罩之間選擇。在此狀況中,使用反向操作且使用映射至0的暫存器再一次用於作為二個來源暫存器。在此狀況中,若非選擇此暫存器作為目的暫存器,則為選擇此暫存器的反向版本。此暫存器的反向版本將為1的遮罩,並取決於條件是否滿足,提供0值暫存器或1的遮罩給目的暫存器。
條件式選擇指令亦可用以輸出儲存於暫存器中之絕對值。為了提供此功能,最初藉由比較此暫存器之值與0值以設定條件旗標,該暫存器在此實例中為R3。選擇增加與反向功能的條件式選擇指令與暫存器R3用於作為二個來源暫存器與目的暫存器,而條件為小於。因此,若R3小於0,即若R3為負值,則增加並反向儲存於R3之值,以提供此值(該負值)之2的補數。因此,若儲存於R3之值為負,則否定該值,此亦表示儲存於R3之值的正值版本為輸出。然而,若儲存於R3之值為正,條件小於為未滿足,且主要暫存器亦為R3,則儲存於主要暫存器之值為輸出。因此,藉由使用此特定條件式選擇指令,以提供絕對值指令。
下一個實例提供條件式增加值,在此狀況中,條件式選擇指令選擇增加操作。在此狀況中,主要暫存器指定為R3,而次要暫存器為目的暫存器。條件為儲存於R3之值等於儲存於R4之增加值,因此,若為此狀況,則儲存於R3之值為輸出。若不為此狀況,則增加儲存於R4之值並儲存於R4。
下列指令顯示相關指令之條件可如何不取決於儲存於來源暫存器之值,但可相關於儲存於其他暫存器之值。在此狀況中,條件式選擇指令用於模擬條件式指令,若儲存於B之值等於0,則儲存於A之值應增加。為了使用條件式選擇指令以實行此舉,用於設定旗標之起始指令為比較儲存於B之值與0。接著,運行的條件式選擇指令實行增加操作,且來源與目的暫存器相同,以及條件為等於。因此,若暫存器B與0之比較指令為等於,因為此比較指令實際上為減法,將設定Z旗標。
指令之條件碼指示應設定旗標0。若為此狀況,已增加的次要暫存器之值儲存於暫存器A,即A增加。若未設定0旗標,即儲存於暫存器B之值不等於0,則主要暫存器之值為輸出,該主要暫存器亦為暫存器A。在此狀況中,在主要暫存器中沒有實行操作,因此主要暫存器之值為輸出,而非主要暫存器之增加值為輸出。
第5圖的最後實例顯示如何利用條件式選擇指令實行若B大於0,A可設定成1,否則A設定成0。在此狀況中,比較指令用於設定旗標以比較暫存器B與0。運行的條件式選擇指令具有已設定的增加信號與來源暫存器,該等來源暫存器為映射至0的暫存器與目的暫存器,在此狀況中為暫存器A。因此,若暫存器B與0的比較指令顯示暫存器B大於0,則選擇次要暫存器並如設定增加值般設定此0值之輸入增加1,且儲存1於暫存器A。若條件未滿足,則B不大於0,則選擇主要暫存器為暫存器0,且儲存0於暫存器A。
因此,可由上列實例看出,條件式選擇指令可用以提供運行於條件基礎之上的許多不同功能。此外,從先前的圖之中可清楚知悉,條件式選擇指令能以簡單電路系統實施。
第6圖圖示根據本發明之一個實施例之示例性條件式選擇指令。在此實例中,具有指示器SF指示操作指令在32位元暫存器或64位元暫存器中。指示器SF使得指令可使用在可處理32位元值或64位元值的處理器上。應注意在另一些實施例中,此旗標可取決於使用指令的處理器的性質,用以在不同大小的值之間選擇。
有單一位元的反向(INVERT)欄位,以控制第2圖與第3圖的XOR邏輯,並決定次要暫存器之值反向與否。接著有9位元欄位的操作碼(OPCODE),以唯一識別此指令為條件式選擇指令。接著有4位元的次要暫存器說明符Rm,以識別暫存器在此指令為主要來源暫存器。
接著有4位元的條件(Cond)欄位,以指定選擇條件與指示需要哪種旗標型式以選擇主要暫存器或次要暫存器。接著有1位元未使用,而接著有亦為1位元的增加指示器(Increment),以控制先前之圖的加法器進位輸入,並決定儲存於次要暫存器之值是否增加。接著有4位元的主要來源暫存器說明符Rn,以識別主要來源暫存器,而接著有目的暫存器說明符Rd。就這點而言,主要和次要來源暫存器參照為「主要」與「次要」係主要和次要來源暫存器出現在指令中被寫下的順序,主要和次要來源暫存器不具有更進一步的意義。
應注意,此為簡單示例性指令編碼,暫存器操作碼與條件欄位的寬度僅為指示,並取決於藉由處理設備所支持的指令暫存器與測試條件的數目。此外,雖然在此實例中,暫存器用於儲存來源與目的元素,但在另一些實施例中,來源與目的儲存元素可位於記憶體,其中資料元素說明符將定址於記憶體位置。
第7圖圖示運行此條件式選擇指令之方法之實行步驟的流程圖。因此,最初接收經解碼的條件式選擇指令,此舉指定二個暫存器,暫存器1與暫存器2。
指派暫存器2之中間值。該中間值決定是否設定反向。若為是,中間值則邏輯反向。該中間值決定是否設定增加。若設定增加,中間值則增加。則取決於藉由條件指令指定的條件是否滿足,以選擇至目的暫存器的輸出值。因此,至目的暫存器的輸出若非中間值則為暫存器1之值。在一些實施例中,若條件已滿足,則中間值為至目的暫存器之輸出,而若條件不滿足,則至目的暫存器之輸出為暫存器1之值。然而,在另一些實施例中,回應條件已滿足的輸出可為暫存器1之值,而回應條件不滿足的輸出為中間值。
若中間值為輸出,則取決於條件式選擇指令是否指定反向操作及/或增加操作,此值可為暫存器2之初始值、可為增加1之初始值、邏輯反向的初始值、或邏輯反向並接著增加1之初始值。
第8圖圖示可利用的虛擬機實施方式。當稍早所述之實施例在操作指定的處理硬體支援技術相關的設備與方法實施本發明,亦可能提供所謂的虛擬機實施硬體裝置。該等虛擬機實施方式在主處理器530執行,以執行主操作系統520,並支援虛擬機程式510。通常地,大型高效能處理器需要提供以合理速度運行的虛擬機實施方式,但在某些情況下,例如當因為相容性或再利用的理由,而期望在另一個處理器上執行本地程式時,可調整這樣的方法。虛擬機程式510提供應用程式介面至應用程式500,該應用程式介面與由實際硬體提供的應用程式介面相同,該實際硬體為藉由虛擬機程式510建模的裝置。因此,包括如上述記憶體存取控制的程式指令可利用虛擬機程式510在應用程式500之中運行,以建模程式指令與虛擬機硬體的互動。
儘管本發明圖示之實施例已於此詳細敘述並參照隨附圖式,可瞭解本發明並不局限於先前之實施例,以及在不脫離本發明之範疇與精神的情況下,熟習此項技藝者可作出本發明之各種改變與改良,且本發明之範疇與精神係由以下申請專利範圍來決定。
10...資料處理設備
20...資料儲存所
30...管線
32...讀取單元
X31...暫存器
34...指令解碼器
36...處理單元
40...暫存器組
50...多工器
60...評估單元
70...XOR閘
75...加法器
80...AND閘
500...應用程式
510...虛擬機程式
520...主操作系統
530...主處理器
第1圖圖示根據本發明之一個實施例之資料處理設備;
第2圖圖示根據本發明之一個實施例之用於實行條件式選擇指令之處理電路系統;
第3圖圖示根據本發明之一個實施例之再利用於實行條件式選擇指令之運算電路系統,該運算電路系統在資料處理設備中;
第4圖圖示根據本發明之一個實施例之條件式選擇指令與範例狀態旗標;
第5圖圖示如何利用條件式選擇指令模擬舊有條件式指令實行功能之實例;
第6圖圖示流程圖,該流程圖說明根據本發明之一個實施例之方法;
第7圖圖示條件式選擇指令編碼之實例;以及
第8圖為說明本技術之虛擬機實施的示意圖。
50...多工器
60...評估單元
70...XOR閘
75...加法器
Claims (27)
- 一種資料處理設備,包含:一資料儲存器,包含用於儲存資料元素之複數個儲存元素;一指令解碼器,經配置以解碼至少一個條件式選擇指令,該至少一個條件式選擇指令指定一主要來源儲存元素、一次要來源儲存元素、一條件、以及在儲存於該次要來源儲存元素的一資料元素中實行之一操作,其中該操作包含下列之一者:增加來自該次要來源儲存元素之該資料元素,邏輯地反向來自該次要來源儲存元素之該資料元素,以產生一逐位元邏輯反向的儲存元素值,或邏輯地反向並增加來自該次要來源儲存元素之該資料元素,以產生該資料元素之一運算否定;一資料處理器,經配置以藉由該指令解碼器控制來實行資料處理操作,其中:該資料處理器係回應該經解碼的至少一個條件式選擇指令與具有一預先決定結果的該條件,以在來自該次要來源儲存元素之該資料元素中實行該操作,以形成一合成資料元素;以及該資料處理器係回應該經解碼的至少一個條件式選擇指令與不具有一預先決定結果的該條件,以從該主要儲存元素中的該資料元素形成該合成資料元素。
- 如請求項1所述之資料處理設備,其中該指令更指定一 目的資料元素,且該資料處理器係回應該至少一個條件式選擇指令,以儲存該合成資料元素於該目的資料元素中。
- 如請求項2所述之資料處理設備,其中該目的儲存元素包含該等主要或次要來源儲存元素之一者。
- 如請求項1所述之資料處理設備,其中該資料處理器係回應該經解碼的至少一個條件式選擇指令與不具有一預先決定結果之該條件,以在該次要來源儲存元素中之該資料元素中實行該操作,並從該主要來源儲存元素中之該資料元素形成該合成資料元素。
- 如請求項1所述之資料處理設備,其中該儲存元素資料儲存所包含:映射至一零值之一儲存元素名稱。
- 如請求項1所述之資料處理設備,其中該等儲存元素包含暫存器,且該儲存元素資料儲存器包含一暫存器組。
- 如請求項1所述之資料處理設備,其中該等儲存元素包含記憶體位置,且該儲存元素資料儲存器包含一記憶體。
- 如請求項1所述之資料處理設備,其中:該指令解碼器經配置為回應該條件式選擇指令,以輸出一增加控制信號;以及該處理器經配置以處理該等經解碼的條件式選擇指令,該等經解碼的條件式選擇指令包含:一加法器,經配置以接收來自該次要來源儲存元素之值與一進位輸入信號; 一多工器,經配置以接收來自該主要來源儲存元素之信號與來自該加法器之一輸出之信號,該多工器之一選擇信號包含該條件,且具有該預先決定結果的該條件觸發該多工器選擇該加法器之該輸出;其中回應已設定該增加控制信號,將該進位輸入信號設定成1,且該加法器增加來自該至少一個來源儲存元素的一接收值。
- 如請求項1所述之資料處理設備,其中該指令解碼器經配置為回應該條件式選擇指令,以輸出一反向控制信號;以及該處理器經配置以處理該等經解碼的條件式選擇指令,該等經解碼的條件式選擇指令包含:一加法器,經配置為:回應已設定該反向控制信號,以接收來自該次要儲存元素通過一反向器之值,並回應未設定該反向控制信號,以接收來自該次要儲存元素未通過該反向器之值;一多工器,經配置以接收來自該主要來源儲存元素之信號與來自該加法器之一輸出之信號,該多工器之一選擇信號包含該條件,且具有該預先決定結果的該條件觸發該多工器選擇該加法器之該輸出。
- 如請求項8所述之資料處理設備,其中該指令解碼器經配置為:回應該條件式選擇指令,以輸出一增加控制信號與一反向控制信號;回應已設定該增加控制信號,將該進位輸入信號設定 成1,且回應已設定該反向信號,該加法器增加從該次要來源儲存元素所接收的該反向值。
- 如請求項1所述之資料處理設備,其中該主要來源儲存元素與該次要來源儲存元素為一相同儲存元素。
- 如請求項1所述之資料處理設備,其中該條件之一結果係從回應至少一個先前資料處理操作而設定之運算邏輯旗標所決定。
- 如請求項12所述之資料處理設備,其中該至少一個先前資料處理操作包含以下步驟:比較至少一個該等來源儲存元素中之一資料元素與另一值。
- 如請求項13所述之資料處理設備,其中該至少一個先前資料處理操作包含以下步驟:比較該主要來源儲存元素中之一資料元素與該次要來源儲存元素中之一資料元素。
- 如請求項12所述之資料處理設備,其中該條件包含:不等於、等於、小於、大於、大於或等於、小於或等於、為零、以及為負之至少一者。
- 如請求項12所述之資料處理設備,其中該等運算邏輯旗標包含:一負結果旗標、一零結果旗標、一進位輸出旗標、以及一帶正負號溢位旗標之至少一者。
- 如請求項1所述之資料處理設備,其中該條件之該預先決定結果包含已滿足該條件。
- 如請求項1所述之資料處理設備,該條件式選擇指令包含一指示器,該指示器指示該等來源與目的儲存元素的 一寬度。
- 如請求項1所述之資料處理設備,該資料處理設備包含回應運算指令,用於實行加法與減法操作的運算電路系統,其中該至少一些回應該條件式選擇指令,用於在該次要來源儲存元素之該資料元素中實行該操作的電路系統包含該運算電路系統。
- 一種資料處理設備之方法,包含以下步驟:接收至少一個條件式選擇指令,該至少一個條件式選擇指令指定一主要來源儲存元素、一次要來源儲存元素、一條件、以及在儲存於該次要來源儲存元素的一資料元素之一操作,其中該操作包含:增加來自該次要來源儲存元素之該資料元素,邏輯地反向來自該次要來源儲存元素之該資料元素,以產生一逐位元邏輯反向的儲存元素值,或邏輯地反向並增加來自該次要來源儲存元素之該資料元素,以產生該資料元素之一運算否定中之一者;解碼該至少一個所接收的條件式選擇指令;決定該條件是否具有一預先決定結果;若該條件具有該預先決定結果,選擇該次要來源儲存元素,並在來自該所選擇的儲存元素之一資料元素中實行該操作,以形成一合成資料元素;以及若該條件不具有該預先決定結果,選擇該主要來源儲存元素中之該資料元素,以形成該合成資料元素。
- 如請求項20所述之方法,包含實行一附加步驟: 儲存該合成資料元素在一目的儲存元素中,該目的儲存元素藉由該至少一個條件式選擇指令指定。
- 如請求項20所述之方法,其中在該次要來源儲存元素中之該資料元素中實行該操作之後,實行決定該條件是否具有該預先決定結果之該步驟。
- 如請求項20所述之方法,其中該至少一個條件式選擇指令包含:一增加條件式選擇指令,且該操作包含以下步驟:增加來自該次要來源儲存元素之該資料元素。
- 如請求項20所述之方法,其中該至少一個條件式選擇指令包含:一反向條件式選擇指令,且該操作包含以下步驟:邏輯地反向來自該次要來源儲存元素之該資料元素,以產生一逐位元邏輯反向的儲存元素值。
- 如請求項20所述之方法,其中該至少一個條件式選擇指令包含:一反向增加條件式選擇指令,且該操作包含以下步驟:邏輯地反向並增加來自該次要來源儲存元素之該資料元素,以產生該資料元素之一運算否定。
- 一種儲存一電腦程式之非暫態電腦程式產品,包含:一條件式選擇指令,當運行在一資料處理器上,以控制該資料處理器實行如請求項20所述之方法之步驟時,可操作該條件式選擇指令。
- 一種虛擬機,藉由一電腦程式運行在一資料處理設備上提供,該虛擬機根據如請求項1所述之資料處理設備提供一指令運行環境。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1017176.7A GB2484654B (en) | 2010-10-12 | 2010-10-12 | Conditional selection of data elements |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201216154A TW201216154A (en) | 2012-04-16 |
TWI536261B true TWI536261B (zh) | 2016-06-01 |
Family
ID=43304419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100135780A TWI536261B (zh) | 2010-10-12 | 2011-10-03 | 用於資料元素的條件式選擇的設備、方法、電腦程式產品、及虛擬機 |
Country Status (10)
Country | Link |
---|---|
US (2) | US9753724B2 (zh) |
EP (1) | EP2628073B1 (zh) |
JP (1) | JP5732139B2 (zh) |
KR (1) | KR101802740B1 (zh) |
CN (1) | CN103282876B (zh) |
GB (1) | GB2484654B (zh) |
IL (1) | IL225614A (zh) |
MY (1) | MY164515A (zh) |
TW (1) | TWI536261B (zh) |
WO (1) | WO2012049474A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2523823B (en) * | 2014-03-07 | 2021-06-16 | Advanced Risc Mach Ltd | Data processing apparatus and method for processing vector operands |
GB2564853B (en) * | 2017-07-20 | 2021-09-08 | Advanced Risc Mach Ltd | Vector interleaving in a data processing apparatus |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2228597A (en) * | 1989-02-27 | 1990-08-29 | Ibm | Data processor with conditional instructions |
JPH04363722A (ja) * | 1991-05-17 | 1992-12-16 | Toshiba Corp | 情報処理装置 |
US5805913A (en) * | 1993-11-30 | 1998-09-08 | Texas Instruments Incorporated | Arithmetic logic unit with conditional register source selection |
US5537560A (en) * | 1994-03-01 | 1996-07-16 | Intel Corporation | Method and apparatus for conditionally generating a microinstruction that selects one of two values based upon control states of a microprocessor |
US20020002666A1 (en) * | 1998-10-12 | 2002-01-03 | Carole Dulong | Conditional operand selection using mask operations |
JP2001022576A (ja) | 1999-07-12 | 2001-01-26 | Hitachi Ltd | データ処理装置 |
GB2352308B (en) * | 1999-07-21 | 2004-06-30 | Element 14 Ltd | Accessing a test condition |
AU2003224042A1 (en) | 2002-04-05 | 2003-10-20 | Optimization Methods Deutschland Gmbh | Method and device for optimizing the order of assignment of a number of supplies to a number of demanders |
WO2006010872A1 (en) * | 2004-07-27 | 2006-02-02 | Arm Limited | Handling of conditional instructions in a data processing apparatus |
JP4891252B2 (ja) | 2004-11-10 | 2012-03-07 | エヌヴィディア コーポレイション | 汎用乗算加算機能ユニット |
US7428566B2 (en) * | 2004-11-10 | 2008-09-23 | Nvidia Corporation | Multipurpose functional unit with multiply-add and format conversion pipeline |
US7624256B2 (en) | 2005-04-14 | 2009-11-24 | Qualcomm Incorporated | System and method wherein conditional instructions unconditionally provide output |
JP2009163624A (ja) | 2008-01-09 | 2009-07-23 | Nec Electronics Corp | プロセッサ装置及び条件分岐処理方法 |
JP4962476B2 (ja) * | 2008-11-28 | 2012-06-27 | ソニー株式会社 | 算術復号装置 |
GB2480285A (en) | 2010-05-11 | 2011-11-16 | Advanced Risc Mach Ltd | Conditional compare instruction which sets a condition code when it is not executed |
-
2010
- 2010-10-12 GB GB1017176.7A patent/GB2484654B/en active Active
-
2011
- 2011-09-23 US US13/200,348 patent/US9753724B2/en active Active
- 2011-09-29 JP JP2013533280A patent/JP5732139B2/ja active Active
- 2011-09-29 EP EP11767046.3A patent/EP2628073B1/en active Active
- 2011-09-29 MY MYPI2013700502A patent/MY164515A/en unknown
- 2011-09-29 CN CN201180049212.3A patent/CN103282876B/zh active Active
- 2011-09-29 WO PCT/GB2011/051847 patent/WO2012049474A1/en active Application Filing
- 2011-09-29 KR KR1020137009023A patent/KR101802740B1/ko active IP Right Grant
- 2011-10-03 TW TW100135780A patent/TWI536261B/zh active
-
2013
- 2013-04-07 IL IL225614A patent/IL225614A/en active IP Right Grant
-
2017
- 2017-08-02 US US15/666,978 patent/US9983872B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2628073A1 (en) | 2013-08-21 |
WO2012049474A1 (en) | 2012-04-19 |
EP2628073B1 (en) | 2017-05-03 |
US20170329603A1 (en) | 2017-11-16 |
KR101802740B1 (ko) | 2017-12-28 |
IL225614A0 (en) | 2013-06-27 |
CN103282876B (zh) | 2016-02-03 |
TW201216154A (en) | 2012-04-16 |
GB2484654B (en) | 2013-10-09 |
GB201017176D0 (en) | 2010-11-24 |
US9983872B2 (en) | 2018-05-29 |
KR20130101052A (ko) | 2013-09-12 |
IL225614A (en) | 2017-02-28 |
JP5732139B2 (ja) | 2015-06-10 |
US9753724B2 (en) | 2017-09-05 |
US20120089817A1 (en) | 2012-04-12 |
GB2484654A (en) | 2012-04-25 |
JP2013539882A (ja) | 2013-10-28 |
CN103282876A (zh) | 2013-09-04 |
MY164515A (en) | 2017-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6807383B2 (ja) | 転送プレフィックス命令 | |
US6115808A (en) | Method and apparatus for performing predicate hazard detection | |
US10678540B2 (en) | Arithmetic operation with shift | |
KR100315407B1 (ko) | 제2입력과제3입력의제1부울조합과제2입력과제3입력의제2부울조합의논리곱인제1입력의합을형성하는3입력산술논리유닛 | |
US11663006B2 (en) | Hardware apparatuses and methods to switch shadow stack pointers | |
JPH09311786A (ja) | データ処理装置 | |
WO2012136975A1 (en) | A data processing apparatus and method for performing vector operations | |
KR20130064797A (ko) | 범용 논리 연산 방법 및 장치 | |
CN107851016B (zh) | 向量算术指令 | |
TWI536261B (zh) | 用於資料元素的條件式選擇的設備、方法、電腦程式產品、及虛擬機 | |
JP2000137610A (ja) | 特殊ミリコ―ド命令によって条件の設定およびテストを行う方法 | |
JP2000137611A (ja) | 特殊ミリコ―ド命令によって条件の設定およびテストを行う方法 | |
US10331449B2 (en) | Encoding instructions identifying first and second architectural register numbers | |
US20210096858A1 (en) | Mutli-modal gather operation | |
JP2014238832A (ja) | 少なくとも1つの処理パイプラインにおけるオペランド生成 | |
KR101635856B1 (ko) | 데이터 요소에 있는 비트들의 제로화를 위한 시스템, 장치, 및 방법 | |
US11630667B2 (en) | Dedicated vector sub-processor system | |
JPH04195629A (ja) | 演算フラグ生成装置 | |
JPS623345A (ja) | 割込方式 | |
JPS6155731A (ja) | コンデイシヨンコ−ド判定機能を備えるプロセツサ | |
JPS63118835A (ja) | 演算装置 | |
JPS63279321A (ja) | マイクロプログラム制御装置 | |
JPS6093553A (ja) | 演算制御装置 |