TWI670580B - 用於時鐘比較器正負號控制之電腦程式產品、電腦系統及電腦實施方法 - Google Patents
用於時鐘比較器正負號控制之電腦程式產品、電腦系統及電腦實施方法 Download PDFInfo
- Publication number
- TWI670580B TWI670580B TW107100735A TW107100735A TWI670580B TW I670580 B TWI670580 B TW I670580B TW 107100735 A TW107100735 A TW 107100735A TW 107100735 A TW107100735 A TW 107100735A TW I670580 B TWI670580 B TW I670580B
- Authority
- TW
- Taiwan
- Prior art keywords
- clock
- sign
- comparator
- value
- clock comparator
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/78—Methods to solve the "Year 2000" [Y2K] problem
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)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
Abstract
一時鐘比較器正負號控制項用於一比較運算中。獲得判定不帶正負號算術抑或帶正負號算術待用於一比較運算中之一時鐘比較器正負號控制項。接著在一時鐘比較器之一值與一日曆鐘之一值之至少一部分的一比較中使用該時鐘比較器正負號控制項以判定是否將辨識到一選定動作。
Description
一或多個態樣大體上係關於運算環境內之處理,且特定而言,係關於促進此處理。
運算環境常常提供用以控制環境內之處理的計時設施。作為一個實例,由紐約阿蒙克市之International Business Machines Corporation供應的大型電腦處理器提供計時設施,其包括多種硬體計時暫存器、用於設定及檢驗計時暫存器之指令及用於在計時暫存器中之值達到臨限值時的中斷機制。
可提供之實例暫存器係當日時間(time-of-day;TOD)時鐘暫存器及時鐘比較器暫存器。時鐘比較器暫存器用以基於日曆鐘暫存器達到特定值而判定是否將採取諸如中斷之動作。
經由提供用於促進運算環境內之處理的電腦程式產品來克服先前技術之缺點且提供額外優點。電腦程式產品包含可由處理電路讀取且儲存用以執行方法之指令的儲存媒體。該方法包括:獲得待用以判定不帶正負號算術抑或帶正負號算術待用於比較運算中之時鐘比較器正負號控制項;及在時鐘比較器之值與日曆鐘之值之至少一部分的比較中使用時鐘比較器正負號控制項以判定是否將辨識到選定動作。
在比較中使用時鐘比較器正負號控制項引起正確地指示是否將辨識到選定動作,而不管日曆鐘是否已溢位。
在一個實施例中,基於時鐘比較器正負號控制項經設定為第一值,不帶正負號二進位算術待用於比較中,該第一值係用以在各種層級處為作業系統提供相容性之預設值。另外,在一個實施例中,基於時鐘比較器正負號控制項經設定為第二值,帶正負號二進位算術待用於比較中。
作為一實例,選定動作係運算環境內之處理的中斷。
此外,在一個實例中,時鐘比較器具有一個大小,且日曆鐘係大小不同於時鐘比較器之擴展日曆鐘,且其中日曆鐘可溢位。
作為實例,時鐘比較器正負號控制項位於控制暫存器中,時鐘比較器係實施為時鐘比較器暫存器,及/或日曆鐘係實施為日曆鐘暫存器。
另外,在一個態樣中,時鐘比較器正負號控制項用以指定何情形構成日曆鐘之所比較部分中的不連續性。
本文中亦描述及主張與一或多個態樣有關之電腦實施方法及系統。另外,本文中亦描述及可能主張與一或多個態樣有關之服務。
經由本文中所描述之技術實現額外特徵及優點。本文中詳細描述其他實施例及態樣且將其視為所主張態樣之一部分。
100‧‧‧運算環境
102‧‧‧電腦系統
104‧‧‧處理器或處理單元
106‧‧‧記憶體
108‧‧‧輸入/輸出(I/O)介面
110‧‧‧匯流排及/或其他連接件
120‧‧‧快取記憶體
122‧‧‧本端快取記憶體
130‧‧‧程式或應用程式
132‧‧‧作業系統
134‧‧‧電腦可讀程式指令
140‧‧‧外部I/O裝置
142‧‧‧網路介面
144‧‧‧資料儲存裝置
146‧‧‧程式
148‧‧‧電腦可讀程式指令
150‧‧‧指令提取組件
152‧‧‧指令解碼單元
154‧‧‧指令執行組件
156‧‧‧記憶體存取組件
160‧‧‧寫回組件
166‧‧‧時鐘設施之一或多個指令
170‧‧‧暫存器
200‧‧‧運算環境
202‧‧‧原生中央處理單元(CPU)
204‧‧‧記憶體
206‧‧‧輸入/輸出裝置及/或介面
208‧‧‧匯流排
210‧‧‧原生暫存器
212‧‧‧仿真器程式碼
250‧‧‧客體指令
252‧‧‧指令提取常式
254‧‧‧指令轉譯常式
256‧‧‧原生指令
260‧‧‧仿真控制常式
300‧‧‧TOD時鐘暫存器/64位元TOD時鐘
302‧‧‧位元位置51
350‧‧‧TOD時鐘暫存器
352‧‧‧位元位置51
400‧‧‧儲存時鐘指令
402‧‧‧操作碼(作業碼)欄位
404‧‧‧基本(B2)欄位
406‧‧‧位移(D2)欄位
450‧‧‧格式
452‧‧‧結果
500‧‧‧儲存時鐘擴展指令
502‧‧‧操作碼(作業碼)欄位
504‧‧‧基本(B2)欄位
506‧‧‧位移(D2)欄位
550‧‧‧16位元組欄位
552‧‧‧位元組位置0
554‧‧‧位元組位置1至13
556‧‧‧位元組位置14及15
600‧‧‧時鐘比較器暫存器
700‧‧‧控制暫存器
702‧‧‧時鐘比較器正負號控制項
800‧‧‧設定時鐘比較器指令
802‧‧‧操作碼(作業碼)欄位
804‧‧‧基本(B2)欄位
806‧‧‧位移(D2)欄位
900‧‧‧儲存時鐘比較器指令
902‧‧‧操作碼(作業碼)欄位
904‧‧‧基本(B2)欄位
906‧‧‧位移(D2)欄位
在本說明書之結尾處之申請專利範圍中作為實例特定地指出且清楚地主張一或多個態樣。一或多個態樣之前述內容及目標、特徵及優點自結合隨附圖式進行的以下詳細描述顯而易見,其中:圖1A描繪併有及使用本發明之一或多個態樣的運算環境之一個實例;
圖1B描繪根據本發明之態樣的圖1A之處理器的其他細節;圖2A描繪併有及使用本發明之一或多個態樣的運算環境之另一實例;圖2B描繪圖2A之記憶體之其他細節;圖3A描繪根據本發明之態樣的當日時間(TOD)時鐘暫存器之一個實例;圖3B描繪根據本發明之態樣使用的日曆鐘暫存器之另一實例;圖4A描繪根據本發明之態樣使用的儲存時鐘指令之一個實例;圖4B描繪根據本發明之態樣的圖4A之儲存時鐘指令的結果之格式之一個實例;圖5A描繪根據本發明之態樣使用的儲存時鐘擴展指令之一個實例;圖5B描繪根據本發明之態樣的圖5A之儲存時鐘擴展指令的結果之格式之一個實例;圖6描繪根據本發明之態樣使用的時鐘比較器暫存器之一個實例;圖7描繪根據本發明之態樣使用的控制暫存器之一個實例;圖8描繪根據本發明之態樣的設定時鐘比較器指令之一個實例;圖9描繪根據本發明之態樣的儲存時鐘比較器指令之一個實例;及圖10描繪根據本發明之態樣的與時鐘比較器正負號控制項相關聯之處理之一個實施例。
根據本發明之態樣,計時設施經增強以促進運算環境內之處理。舉例而言,提供用於運算環境內之計時信息之比較處理中的時鐘比較器正負號控制項。提供此正負號控制項以促進具有一個大小(例如,64個位元)之
時鐘比較器與具有不同大小(例如,104個位元)之擴展格式當日時間(TOD)時鐘之至少一部分的比較,從而正確地指示待辨識(及可能採取)之動作,諸如時鐘比較器中斷,而不管TOD時鐘是否溢位。
參看圖1A描述併有及使用本發明之一或多個態樣的運算環境之一個實施例。在一個實例中,運算環境係基於由紐約阿蒙克市之International Business Machines Corporation供應之z/Architecture。z/Architecture之一個實施例描述於2015年3月之IBM公開案第SA22-7832-10號「z/Architecture Principles of Operation」中,該公開案特此以全文引用的方式併入本文中。z/Architecture(Z/ARCHITECTURE)係美國紐約阿蒙克市之International Business Machines Corporation之註冊商標。
在另一實例中,運算環境係基於由紐約阿蒙克市之International Business Machines Corporation供應之電源架構(Power Architecture)。電源架構之一個實施例描述於2015年4月9日International Business Machines Corporation之「Power ISATM Version 2.07B」中,該案特此以全文引用的方式併入本文中。電源架構(POWER ARCHITECTURE)係美國紐約阿蒙克市之International Business Machines Corporation之註冊商標。
運算環境亦可基於其他架構,包括但不限於Intel x86架構。亦存在其他實例。
如圖1A中所展示,運算環境100包括例如電腦系統102,該電腦系統例如以通用運算裝置之形式展示。電腦系統102可包括但不限於一或多個處理器或處理單元104(例如,中央處理單元(CPU))、記憶體106(被稱作主記憶體或儲存器,作為實例)及一或多個輸入/輸出介面108,前述各者
經由一或多個匯流排及/或其他連接件110而彼此耦接。
匯流排110表示任何若干種類型之匯流排結構中之一或多者,包括記憶體匯流排或記憶體控制器、周邊匯流排、加速圖形埠,及使用多種匯流排架構中之任一者的處理器或區域匯流排。以實例說明而非限制,此等架構包括工業標準架構(ISA)、微通道架構(MCA)、增強型ISA(EISA)、視訊電子標準協會(VESA)區域匯流排及周邊組件互連(PCI)。
記憶體106可包括例如可耦接至處理器104之本端快取記憶體122的快取記憶體120,諸如共用快取記憶體。另外,記憶體106可包括一或多個程式或應用程式130、作業系統132及一或多個電腦可讀程式指令134。電腦可讀程式指令134可經組態以進行本發明之態樣的實施例之功能。
電腦系統102亦可經由例如I/O介面108與一或多個外部裝置140、一或多個網路介面142及/或一或多個資料儲存裝置144通信。實例外部裝置包括使用者終端機、磁帶機、指標裝置、顯示器等。網路介面142使得電腦系統102能夠與諸如區域網路(LAN)、通用廣域網路(WAN)及/或公用網路(例如,網際網路)之一或多個網路通信,從而提供與其他運算裝置或系統之通信。
資料儲存裝置144(例如,磁碟)可儲存一或多個程式146、一或多個電腦可讀程式指令148及/或資料等。電腦可讀程式指令可經組態以進行本發明之態樣的實施例之功能。
電腦系統102可包括及/或耦接至抽取式/非抽取式、揮發性/非揮發性電腦系統儲存媒體。舉例而言,其可包括及/或耦接至非抽取式非揮發性磁性媒體(通常被稱作「硬碟機」)、用於自抽取式非揮發性磁碟(例如,「軟碟」)讀取及寫入至抽取式非揮發性磁碟(例如,「軟碟」)之磁碟機,
及/或用於自諸如CD-ROM、DVD-ROM或其他光學媒體之抽取式非揮發性光碟讀取或寫入至抽取式非揮發性光碟之光碟機。應理解,可結合電腦系統102使用其他硬體及/或軟體組件。實例包括但不限於:微碼、裝置驅動程式、冗餘處理單元、外部磁碟機陣列、RAID系統、磁帶機及資料存檔儲存系統等。
電腦系統102可與眾多其他通用或專用運算系統環境或組態一起操作。可能適合與電腦系統102一起使用之熟知運算系統、環境及/或組態之實例包括但不限於:個人電腦(PC)系統、伺服器電腦系統、精簡型用戶端、複雜型用戶端、手持型或膝上型電腦裝置、多處理器系統、基於微處理器之系統、機上盒、可程式化消費型電子裝置、網路PC、小型電腦系統、大型電腦系統及包括以上系統或裝置中之任一者的分散式雲端運算環境,以及其類似者。
參看圖1B描述關於處理器104之一個實例的其他細節。處理器104包括用以執行指令之複數個功能組件。此等功能組件包括例如:指令提取組件150,其用以提取待執行之指令;指令解碼單元152,其用以解碼所提取指令且用以獲得經解碼指令之運算元;指令執行組件154,其用以執行經解碼指令;記憶體存取組件156,其用以在必要時為指令執行存取記憶體;及寫回組件160,其用以提供經執行指令之結果。根據本發明之態樣,此等組件中之一或多者可用以執行如下文進一步描述之時鐘設施之一或多個指令166。
在一個實施例中,處理器104亦包括待由功能組件中之一或多者使用的一或多個暫存器170。
參看圖2A描述併有及使用一或多個態樣的運算環境之另一實施例。
在此實例中,運算環境200包括例如原生中央處理單元(CPU)202、記憶體204及一或多個輸入/輸出裝置及/或介面206,前述各者經由例如一或多個匯流排208及/或其他連接件而彼此耦接。作為實例,運算環境200可包括:由紐約阿蒙克市之International Business Machines Corporation供應之PowerPC處理器或pSeries伺服器;及/或基於由International Business Machines Corporation、Intel或其他公司供應之架構的其他機器。
原生中央處理單元202包括一或多個原生暫存器210,諸如在環境內之處理期間使用的一或多個通用暫存器及/或一或多個專用暫存器。此等暫存器包括表示環境在任何特定時間點之狀態的資訊。
此外,原生中央處理單元202執行儲存於記憶體204中之指令及程式碼。在一個特定實例中,中央處理單元執行儲存於記憶體204中之仿真器程式碼212。此程式碼使得在一個架構中組態之運算環境能夠仿真另一架構。舉例而言,仿真器程式碼212允許基於除z/Architecture外之架構的諸如PowerPC處理器、pSeries伺服器或其他伺服器或處理器的機器仿真z/Architecture且執行基於z/Architecture開發之軟體及指令。
參看圖2B描述與仿真器程式碼212有關之其他細節。儲存於記憶體204中之客體指令250包含經開發以在除原生CPU 202之架構外之架構中執行的軟體指令(例如,與機器指令相關)。舉例而言,客體指令250可能已經設計以在z/Architecture處理器上執行,但替代地在可能係例如Intel處理器之原生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/Architecture)之指令自記憶體提取、轉譯及表示為具有另一架構(例如,PowerPC、pSeries、Intel等)之原生指令256之序列。接著執行此等原生指令。
根據本發明之態樣,本文中所描述之環境及/或其他環境中之一或多者的處理器包括計時設施,其具有例如計時暫存器(例如,硬體暫存器)、用於設定及檢驗計時暫存器之指令及用於在計時暫存器中之值達到臨限值時的中斷機制。參考z/Architecture及其前導描述此設施之實例,但本發明之態樣同樣適用於其他架構。
計時暫存器之一個實例係當日時間(TOD)時鐘暫存器,其實例描繪於圖3A中。如最初在由International Business Machines Corporation供應之S/370架構(大約在1970年)中所定義,TOD時時鐘暫存器300之內容係64位元不帶正負號二進位整數,其中每微秒遞增位元位置51(302)。(應注意,在IBM大型電腦架構中,作為一個實例,將位元自左向右以遞升次序編號。)給定此解決方案,位元0表示大約71.35年。因此,可在TOD時鐘暫存器中考慮之持續時間係大約142.7年;此持續時間被稱作時期。
在20世紀90年代後期,引入擴展TOD時鐘設施以供例如IBM系統架構使用,其增加TOD時鐘暫存器之大小。如圖3B中所展示,TOD時鐘暫存器350擴展至例如104個位元。此擴展實現更精確量測(亦即,將位元新增至暫存器右方)。位元位置51(352)繼續表示1微秒;因此,暫存器之總持續時間並未增加。
定義儲存時鐘(STCK)指令,其允許由任何應用程式檢驗TOD時鐘暫存器之最左64個位元(亦即,無需特殊權限來執行STCK)。在一個實施例中,指令可能係硬體/軟體介面處之單一架構化機器指令。
參考圖4A描述儲存時鐘指令之一個實例。儲存時鐘指令400包括:操作碼(作業碼)欄位402,其具有指示儲存時鐘操作之作業碼;基本(B2)欄位404;及位移(D2)欄位406。在一個實施例中,指令之欄位彼此分離且
獨立。然而,在另一實施例中,可組合大於一個欄位。另外,與指令之欄位相關聯的下標編號指示應用該欄位之運算元。舉例而言,具有下標2之欄位係與第二運算元相關聯。
作為一個實例,將由B2 404指明之暫存器的內容加至由D2 406提供之值以提供如下文所描述而使用的第二運算元位址。
在操作中,在一個實例中,例如64位元TOD時鐘300之位元0至63的當前值儲存於由第二運算元位址指明之8位元組欄位中,其限制條件係作為實例,該時鐘處於設定、停止或未設定狀態下。此展示於圖4B中,該圖描繪儲存時鐘指令之執行的結果452之格式450(亦即,64位元TOD時鐘值)。
在一個實施例中,當時鐘停止時,將0儲存於在時鐘運行時遞增之最右位元位置右方的位置中。對於儲存時鐘,當儲存運行時鐘之值時,可將非零值儲存於最右遞增位元右方之位置中;此將確保儲存唯一值。
作為一實例,當例如時鐘處於錯誤狀態或非操作狀態下時,將0儲存於運算元位置處。
在一個實例中,在提取時鐘之值之前執行及在將值置放於儲存器中之後再次執行串列化功能。
由指令儲存之時鐘值的品質係由所得條件碼設定指示。實例條件碼包括:0-時鐘在設定狀態下;1-時鐘在未設定狀態下;2-時鐘在錯誤狀態下;及3-時鐘在停止狀態或非操作狀態下。
另外,可發生以下程式例外狀況:作為實例,存取(儲存運算元2);及異動約束。
在一個實施例中,時鐘之位元位置31每1.048576秒遞增;因此,對
於涉及人類回應之計時應用程式,最左時鐘字可提供足夠解析度。
另外,條件碼0通常指示時鐘已由控制程式(例如,作業系統)設定。因此,該值可用於經過時間量測中且作為有效的當日時間及行事曆指示。條件碼1指示時鐘值係自用於時鐘之電源接通起的經過時間。在此狀況下,該值可用於經過時間量測中,但可能並非有效的當日時間指示。在一個實施例中,條件碼2及3意謂由儲存時鐘提供之值不用於時間量測或指示。
此外,在一個實例中,條件碼3指示時鐘處於停止狀態或非操作狀態下。通常可區別此等兩個狀態,此係因為作為一個實例,當時鐘處於非操作狀態下時儲存全零值。
對於擴展TOD時鐘暫存器,定義儲存時鐘擴展(STCKE)指令,其儲存整個104位元TOD時鐘以及TOD時鐘左方一個位元組的零(留下供擴增之空間)。
參考圖5A描述儲存時鐘擴展指令之一個實例。在一個實施例中,指令可能係硬體/軟體介面處之單一架構化機器指令。作為一實例,儲存時鐘擴展指令500包括:操作碼(作業碼)欄位502,其具有指示儲存時鐘擴展操作之作業碼;基本(B2)欄位504;及位移(D2)欄位506。在一個實施例中,指令之欄位彼此分離且獨立。然而,在另一實施例中,可組合大於一個欄位。另外,與指令之欄位相關聯的下標編號指示應用該欄位之運算元。舉例而言,具有下標2之每一欄位係與第二運算元相關聯。
在一個實例中,將由B2 504指明之暫存器的內容加至由D2 506提供之值以提供如下文所描述而使用的第二運算元位址。
在操作中且參看圖5B,TOD時鐘之位元0至103的當前值儲存於由第
二運算元位址指明之16位元組欄位550的位元組位置1至13(554)中,其限制條件係作為實例,該時鐘處於設定、停止或未設定狀態下。將0儲存於位元組位置0(552)中,該位置係本文中進一步描述之被稱作時期索引(EX)的擴展欄位。另外,作為實例,將TOD可程式化欄位之內容(TOD可程式化暫存器之位元16至31)儲存於位元組位置14及15(556)中。
在一個實施例中,當時鐘停止時,將0儲存於在時鐘運行時遞增之最右位元位置右方的位置中的時鐘值中。亦可儲存可程式化欄位。
當儲存運行時鐘之值時,時鐘之例如位元位置64至103(例如,儲存運算元之位元位置72至111)中的值係非零;此確保由儲存時鐘擴展所儲存之值相較於由儲存時鐘所儲存且用0擴展之值係唯一的。
作為一實例,當時鐘處於錯誤狀態或非操作狀態下時,將0儲存於運算元位置處。
在一個實例中,在提取時鐘之值之前執行及在將值置放於儲存器中之後再次執行串列化功能。
由指令儲存之時鐘值的品質係由所得條件碼設定指示。實例條件碼包括:0-時鐘在設定狀態下;1-時鐘在未設定狀態下;2-時鐘在錯誤狀態下;及3-時鐘在停止狀態或非操作狀態下。
另外,可發生以下程式例外狀況:存取(儲存運算元2);及異動約束。
在一個實施例中,條件碼0通常指示時鐘已由控制程式設定。因此,該值可用於經過時間量測中且作為有效的當日時間及行事曆指示。條件碼1指示時鐘值係自用於時鐘之電源接通起的經過時間。在此狀況下,該值可用於經過時間量測中,但可能並非有效的當日時間指示。在一個實施例
中,條件碼2及3意謂由儲存時鐘擴展提供之值不用於時間量測或指示。
使用TOD時鐘(無論是否擴展)之作業系統通常已採納全二進位0之TOD時鐘值表示1900年1月1日上午00:00:00的慣例。此慣例表示被稱作標準時期之持續時間。以標準時期給定TOD時鐘之持續時間,時鐘將在2042年9月17日23:53:57.370496國際原子時間(TAI)繞回至0。
除TOD時鐘外,由計時設施提供且用於本發明之一或多個態樣中的另一暫存器係時鐘比較器。時鐘比較器提供無論何時TOD時鐘之值超過由程式指定之值皆使外部中斷由處理器辨識(且可發生)的手段。在一個實例中,如圖6中所描繪,時鐘比較器暫存器600具有例如64個位元。在一個實例中,組態中之每一CPU具有時鐘比較器暫存器,其格式與TOD時鐘之位元0至63相同。作為實例,時鐘比較器可藉由被稱作設定時鐘比較器指令之特權指令設定,且藉由特權儲存時鐘比較器指令檢驗。
在一個態樣中,當待比較之TOD時鐘的一部分之值大於時鐘比較器暫存器之值時,可存在對時鐘比較器中斷之請求(但若時鐘處於錯誤或非運行狀態下,則應用某些例外狀況)。在一個實例中,此比較使用不帶正負號二進位算術,且可能不比較時鐘比較器暫存器之所有位元;然而,在一個實施例中,比較至少位元0至47。(在其他實施例中,可比較更多或更少位元。)待處理時鐘比較器中斷實際上是否發生取決於例如針對時鐘比較器外部中斷是否啟用CPU。在一個實例中,啟用係由兩個控制項判定:
1.外部中斷(亦被稱作中斷)係由控制暫存器中之選定位元,諸如程式狀態字組(PSW)中之位元7啟用。程式狀態字組係執行狀態暫存器及程式計數器之功能的控制暫存器。其含有用於適當程式執行之資訊,包括但不限於條件碼、指令位址及其他資訊。位元7指示啟用外部中斷。當該位元
經設定為例如1時,啟用外部中斷。
2.若啟用外部中斷,則諸如控制暫存器0之控制暫存器中的第二控制項中之位元判定是否啟用外部中斷之時鐘比較器子類別。
待處理時鐘比較器中斷可藉由將時鐘比較器暫存器設定為等於或大於TOD時鐘之值的值來撤回。
當前,儲存時鐘擴展(STCKE)指令將0儲存於最左的8個位元位置(圖5B之EX欄位552)中。在使用開始於1900年1月1日之標準時期的情況下,TOD時鐘將在2042年9月17日溢位。當此溢位發生時,將向左傳播進位。亦即,時期索引(EX)欄位552將被視為TOD時鐘之邏輯擴充。當EX及TOD時鐘欄位以此方式串連時,其提供大約35,000年之擴展時期。
然而,時鐘比較器暫存器之大小尚未增加。此實現較簡單電路系統,但呈現如何比較TOD時鐘與時鐘比較器值之問題。在具有上文所描述之增強的情況下,TOD時鐘可適應比單一時期大256倍之擴展時期;然而,時鐘比較器限於單一時期。
舉例而言,考慮當前TOD時鐘幾乎要溢位之情境,例如,其含有十六進位FFFFFFFF,00000000。由於位元位置51表示1微秒,因此位元位置31表示1.048,576秒。因此,TOD時鐘將在剛超過1秒時溢位。若程式希望將時鐘比較器設定為準確地在2.097,152秒發生,則其將十六進位值00000002,00000000加至當前TOD時鐘。相加之結果係十六進位1,00000001,00000000,但因為在一個實施例中,時鐘比較器僅容納64位元值(其位元位置對應於TOD時鐘之彼等位置),所以進位結果丟失,且時鐘比較器設定為十六進位00000001,00000000。根據不帶正負號二進位算術之規則,時鐘比較器現小於TOD時鐘,因此時鐘比較器中斷將即刻變成
待處理,即使預期事件不會發生持續2秒亦如此。
因此,根據本發明之態樣,提供使用64位元時鐘比較器與擴展格式TOD時鐘而不管TOD時鐘是否溢位(亦即,不管時期索引是否變成TOD時鐘之邏輯擴充)的能力。在一個態樣中,提供定義時鐘比較器正負號控制項以允許時鐘比較器之比較帶正負號或不帶正負號的多時期設施(MEF)。當供作業系統恰當地使用時,時鐘比較器正負號控制項允許64位元時鐘比較器正確地指示時鐘比較器中斷,而不管TOD時鐘之對應位元是否已溢位。在一個實施例中,當多時期設施安裝於組態中時,時鐘比較器正負號控制項可用。(應注意,MEF提供時期索引,當TOD時鐘達到其最大值時其溢位至時期索引中);然而,時鐘比較器正負號控制項獨立於時期索引而操作。)
在一個實施例中,時鐘比較器正負號控制項係實施為控制暫存器中之位元。舉例而言,如圖7中所描繪,諸如控制暫存器0之控制暫存器700包括時鐘比較器正負號控制項702。在一個特定實施例中,時鐘比較器正負號控制項702係控制暫存器0之位元10,但存在其他可能性。在一個實例中,時鐘比較器正負號控制項之含義如下。
˙0=比較遵循不帶正負號二進位算術之規則;˙1=比較遵循帶正負號二進位算術之規則。
由於在一個實例中,控制暫存器0之位元10先前未經指派且按照預設重設為0值,因此使用值0提供不帶正負號比較確保與不知曉MEF之較舊作業系統的相容性,即使較舊作業系統正在支援MEF之機器上操作亦如此。
為進一步解釋正負號控制項之使用,重複上文所引用之實例,但假
定正執行帶正負號比較。
TOD時鐘=十六進位FFFFFFFF,00000000
時鐘比較器=十六進位00000001,00000000
在使用帶正負號算術之情況下,每一值之位元0係正負號位元。因此,TOD時鐘最初含有小於時鐘比較器之正值的負值。假定TOD時鐘已前進足夠量以超過時鐘比較器(例如,至值01,00000001,00000123)。此處,最左位元組係時期索引,且並不參與比較。因此,TOD時鐘值(00000001,00000123)現大於時鐘比較器(00000001,00000000),由此時鐘比較器中斷變成待處理。
在一個實施例中,程式可如下設定時鐘比較器值以從未辨識到時鐘比較器中斷或即刻辨識到時鐘比較器中斷:
˙當時鐘比較器正負號控制項係0時:
˙將時鐘比較器設定為0使時鐘比較器中斷即刻變成待處理。
˙將時鐘比較器設定為1防止辨識到時鐘比較器中斷條件。
˙當多時期設施經安裝且時鐘比較器正負號控制項係1時:
˙將時鐘比較器設定為最大負值(十六進位80000000,00000000)使時鐘比較器中斷即刻變成待處理。
˙將時鐘比較器設定為最大正值(十六進位7FFFFFFF,FFFFFFFF)防止辨識到時鐘比較器中斷條件。
在另一態樣中,當多時期設施安裝於組態中時,時鐘比較器正負號控制項提供控制程式可出於時鐘比較器檢查的目的指定何情形構成TOD時鐘之所比較部分中之不連續性的手段:自最大不帶正負號TOD時鐘值轉變成0,或自最大帶正號TOD時鐘值轉變成最大負值。亦即,當使用不帶正
負號比較時,在被視為不帶正負號值之所比較位元增加使得該值自最大不帶正負號值環繞至0時,日曆鐘之所比較部分中的不連續性發生。當使用帶正負號比較時,在被視為帶正負號值之所比較位元增加使得該值自最大正值環繞至最大負值時,日曆鐘之所比較部分中的不連續性發生。
假定組態在時期期間重新初始化至少一次,則建議例如在初始化程式時,時鐘比較器正負號控制項經設定為TOD時鐘之位元位置0的內容。此情形確保時鐘比較器檢查觀測不到TOD時鐘中之不連續性,只要例如時鐘比較器在未來不設定為大於時期之一半,其對於時鐘比較器之典型使用並不顯著,其中時鐘比較器值通常經設定以指示短間隔,例如小於1秒。
為在更改時鐘比較器正負號控制項時確保一致結果,在一個實施例中,程式將(a)停用時鐘比較器中斷,(b)設定時鐘比較器正負號控制項,(c)發出設定時鐘比較器指令以設定新比較器值,且接著(d)在適當時啟用時鐘比較器中斷。
一旦經設定,時鐘比較器正負號控制項便意欲保持不變,直至接下來的初始CPU重設(諸如,在初始程式載入(IPL)時)。時鐘比較器正負號控制項之動態改變可導致對由於改變之控制項而撤回的時鐘比較器條件之錯誤辨識或導致對由於改變之控制項而變成待處理的時鐘比較器條件之延遲辨識。
如上文所指示,可使用設定時鐘比較器指令來設定時鐘比較器。參看圖8描述關於此指令之其他細節。在一個實施例中,指令可能係硬體/軟體介面處之單一架構化機器指令。
在一個實例中,設定時鐘比較器指令800包括例如:操作碼(作業碼)欄位802,其具有指定設定時鐘比較器操作之作業碼;基本(B2)欄位804;
及位移(D2)欄位806。在一個實例中,指令之欄位彼此分離且獨立。然而,在另一實施例中,可組合大於一個欄位。另外,與指令之欄位相關聯的下標編號指示應用該欄位之運算元。舉例而言,具有下標2之欄位係與第二運算元相關聯。
在一個實例中,將由B2 804指明之暫存器的內容加至由D2 806提供之值以提供如下文所描述而使用的第二運算元位址。
在操作中,在一個實例中,用由第二運算元位址指明之雙字組的內容替換時鐘比較器之當前值。
作為一個實例,運算元之對應於待與TOD時鐘比較之位元位置的彼等位元設定於時鐘比較器中;在一個實施例中,運算元之剩餘最右位元位置之內容被忽略且不保留於時鐘比較器中。
另外,在一個實施例中,運算元待指明於雙字組邊界上;否則,辨識到規格例外狀況。
此外,在一個實例中,關於所有定址及保護例外狀況,抑制操作。另外,可發生以下程式例外狀況:存取(提取運算元2);特權操作;規格;及異動約束。
除以上情形外,時鐘比較器亦可由儲存時鐘比較器指令檢驗。在一個實施例中,指令可能係硬體/軟體介面處之單一架構化機器指令。
參考圖9描述儲存時鐘比較器指令之一個實例。在一個實例中,儲存時鐘比較器指令900包括例如:操作碼(作業碼)欄位902,其具有指定儲存時鐘比較器操作之作業碼;基本(B2)欄位904;及位移(D2)欄位906。在一個實施例中,指令之欄位彼此分離且獨立。然而,在另一實施例中,可組合大於一個欄位。另外,與指令之欄位相關聯的下標編號指示應用該欄位
之運算元。舉例而言,具有下標2之欄位係與第二運算元相關聯。
在一個實例中,將由B2 904指明之暫存器的內容加至由D2 906提供之值以提供如下文所描述而使用的第二運算元位址。
在操作中,在一個實例中,時鐘比較器之當前值儲存於由第二運算元位址指明之雙字組位置處。
作為一個實例,為時鐘比較器之不與TOD時鐘比較的最右位元位置提供0。
在一個實施例中,運算元待指明於雙字組邊界上;否則,辨識到規格例外狀況。另外,在一個實例中,可發生以下程式例外狀況,例如:存取(儲存運算元2);特權操作;規格;及異動約束。
本文中描述定義時鐘比較器正負號控制項之設施,該時鐘比較器正負號控制項允許時鐘比較器之比較帶正負號或不帶正負號。此藉由甚至在溢位條件下仍提供正確結果來促進運算環境內之處理。本發明之一或多個態樣不可避免地與電腦系統相關,從而改良系統內之處理。
參看圖10描述與時鐘比較正負號控制項相關聯之其他細節。在一個實例中,藉由例如處理器獲得待用以判定不帶正負號算術抑或帶正負號算術待用於比較運算中的時鐘比較器正負號控制項(1000)。此獲得藉由例如存取控制暫存器(例如,控制暫存器0)之正負號控制項(例如,位元10)來實現。接著在時鐘比較器之值與當日時間(TOD)時鐘之值之至少一部分的比較中使用時鐘比較器正負號控制項以判定是否將辨識到選定動作(例如,中斷)(1002)。舉例而言,藉由使用例如儲存時鐘比較器指令來獲得時鐘比較器之值,且藉由使用例如儲存時鐘擴展指令來獲得TOD時鐘之值。取決於時鐘比較器正負號控制項之值而使用不帶正負號算術或帶正負號算術
來比較時鐘比較器之值與TOD時鐘之值之至少一部分。若例如該比較指示TOD時鐘之值之至少一部分大於時鐘比較器之值,則將辨識到選定動作。
在一個實施例中,基於時鐘比較器正負號控制項經設定為第一值,不帶正負號二進位算術待用於比較中(第一值係用以在各種層級處為作業系統提供相容性之預設值)(1004);且基於時鐘比較器正負號控制項經設定為第二值,帶正負號二進位算術待用於比較中(1006)。
在比較中使用時鐘比較器正負號控制項引起正確地指示是否將辨識到選定動作,而不管日曆鐘是否已溢位(1008)。
在一個實例中,時鐘比較器具有一個大小,且日曆鐘係大小不同於時鐘比較器之擴展日曆鐘,且日曆鐘可溢位(1010)。
另外,作為實例,時鐘比較器正負號控制項位於控制暫存器中(1012),時鐘比較器係實施為時鐘比較器暫存器(1014),及/或日曆鐘係實施為日曆鐘暫存器(1016)。
另外,在一個實例中,時鐘比較器正負號控制項進一步用以指定何情形構成日曆鐘之所比較部分中的不連續性(1020)。
許多變化係可能的。
本發明可能係在任何可能的技術細節整合層級處的系統、方法及/或電腦程式產品。該電腦程式產品可包括一(或多個)電腦可讀儲存媒體,其上具有電腦可讀程式指令以使處理器進行本發明之態樣。
電腦可讀儲存媒體可能係有形裝置,其可持留及儲存指令以供指令執行裝置使用。電腦可讀儲存媒體可能係例如但不限於電子儲存裝置、磁性儲存裝置、光學儲存裝置、電磁儲存裝置、半導體儲存裝置或前述各者之任何合適組合。電腦可讀儲存媒體之更特定實例之非窮盡性清單包括以
下各者:攜帶型電腦磁片、硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可抹除可程式化唯讀記憶體(EPROM或快閃記憶體)、靜態隨機存取記憶體(SRAM)、攜帶型光碟唯讀記憶體(CD-ROM)、數位化通用光碟(DVD)、記憶卡、軟碟、經機械編碼裝置,諸如上面記錄有指令之打孔卡或凹槽中之凸起結構,及前述各者之任何合適組合。如本文中所使用,不應將電腦可讀儲存媒體本身解釋為暫時性信號,諸如無線電波或其他自由傳播之電磁波、經由波導或其他傳輸媒體傳播之電磁波(例如,經由光纖纜線傳遞之光脈衝),或經由電線傳輸之電信號。
本文中所描述之電腦可讀程式指令可自電腦可讀儲存媒體下載至各別運算/處理裝置或經由網路(例如,網際網路、區域網路、廣域網路及/或無線網路)下載至外部電腦或外部儲存裝置。網路可包含銅傳輸纜線、光學傳輸光纖、無線傳輸、路由器、防火牆、交換器、閘道器電腦及/或邊緣伺服器。每一運算/處理裝置中之網路配接卡或網路介面自網路接收電腦可讀程式指令且轉遞電腦可讀程式指令以用於儲存於各別運算/處理裝置內之電腦可讀儲存媒體中。
用於進行本發明之操作之電腦可讀程式指令可能係以一或多種程式設計語言之任何組合撰寫之組譯器指令、指令集架構(ISA)指令、機器指令、機器相關指令、微碼、韌體指令、狀態設定資料、用於積體電路系統之組態資料,或原始程式碼或物件碼(object code),該一或多種程式設計語言包括諸如Smalltalk、C++或其類似者之物件導向式程式設計語言,及程序性程式設計語言,諸如「C」程式設計語言或類似程式設計語言。電腦可讀程式指令可完全在使用者之電腦上執行、部分地在使用者之電腦上執行、作為獨立套裝軟體執行、部分地在使用者之電腦上執行且部分地在
遠端電腦上執行或完全在遠端電腦或伺服器上執行。在後一種情形中,遠端電腦可經由任何類型之網路(包括區域網路(LAN)或廣域網路(WAN))連接至使用者之電腦,或可連接至外部電腦(例如,使用網際網路服務提供者經由網際網路)。在一些實施例中,包括例如可程式化邏輯電路系統、場可程式化閘陣列(FPGA)或可程式化邏輯陣列(PLA)之電子電路系統可藉由利用電腦可讀程式指令之狀態資訊來個人化電子電路系統而執行電腦可讀程式指令,以便執行本發明之態樣。
本文中參考根據本發明之實施例的方法、設備(系統)及電腦程式產品之流程圖說明及/或方塊圖來描述本發明之態樣。應理解,可藉由電腦可讀程式指令實施流程圖說明及/或方塊圖之每一區塊,及流程圖說明及/或方塊圖中之區塊之組合。
可將此等電腦可讀程式指令提供至通用電腦、專用電腦或其他可程式化資料處理設備之處理器以產生機器,使得經由該電腦或其他可程式化資料處理設備之處理器執行之指令建立用於實施該一或多個流程圖及/或方塊圖區塊中所指定之功能/動作的手段。亦可將此等電腦可讀程式指令儲存於電腦可讀儲存媒體中,該等指令可指導電腦、可程式化資料處理設備及/或其他裝置以特定方式起作用,使得儲存有指令之電腦可讀儲存媒體包含製品,該製品包括實施該一或多個流程圖及/或方塊圖區塊中所指定之功能/動作之態樣的指令。
電腦可讀程式指令亦可載入至電腦、其他可程式化資料處理設備或其他裝置上,以使一系列操作步驟在電腦、其他可程式化設備或其他裝置上執行以產生電腦實施之處理程序,使得在電腦、其他可程式化設備或其他裝置上執行之指令實施一或多個流程圖及/或方塊圖區塊中所指定之功
能/動作。
諸圖中之流程圖及方塊圖說明根據本發明之各種實施例的系統、方法及電腦程式產品之可能實施的架構、功能性及操作。就此而言,流程圖或方塊圖中之每一區塊可表示指令之模組、區段或部分,其包含用於實施指定邏輯功能之一或多個可執行指令。在一些替代實施中,區塊中提到之功能可能不以諸圖中所提到之次序發生。舉例而言,取決於所涉及之功能性,連續展示之兩個區塊實際上可大體上同時執行,或該等區塊可有時以相反次序執行。亦將注意,可藉由執行指定功能或動作或進行專用硬體及電腦指令之組合的基於專用硬體之系統來實施方塊圖及/或流程圖說明之每一區塊,及方塊圖及/或流程圖說明中之區塊之組合。
除上述情形之外,亦可藉由供應對消費者環境之管理之服務提供者來提供、供應、部署、管理、服務(等)一或多個態樣。舉例而言,服務提供者可建立、維持、支援(等)電腦程式碼及/或針對一或多個消費者執行一或多個態樣之電腦基礎架構。作為回報,服務提供者可根據訂用及/或收費協議接收來自消費者之付款(作為實例)。另外或替代地,服務提供者可接收來自向一或多個第三方出售廣告內容之付款。
在一個態樣中,可部署一應用程式用於執行一或多個實施例。作為一個實例,應用程式之部署包含提供可操作以執行一或多個實施例之電腦基礎架構。
作為另一態樣,可部署運算基礎架構,包含將電腦可讀程式碼整合至運算系統中,在該系統中,程式碼結合運算系統能夠執行一或多個實施例。
作為又一態樣,可提供一種用於整合運算基礎架構之處理程序,包
含將電腦可讀程式碼整合至電腦系統中。電腦系統包含電腦可讀媒體,其中電腦媒體包含一或多個實施例。程式碼結合電腦系統能夠執行一或多個實施例。
儘管上文描述各種實施例,但此等實施例僅係實例。舉例而言,其他架構之運算環境可用以併有及使用一或多個實施例。另外,可使用不同指令、指令格式、指令欄位及/或指令值。另外,電腦系統及/或環境可包括更多、更少及/或不同的組件。許多變化係可能的。
另外,其他類型之運算環境可係有益的且可加以使用。作為一實例,可使用適合於儲存及/或執行程式碼之資料處理系統,其包括直接或經由系統匯流排間接地耦接至記憶體元件之至少兩個處理器。記憶體元件包括例如在實際執行程式碼期間使用之本端記憶體、大容量儲存器,及提供對至少某一程式碼之臨時儲存以便減少在執行期間必須自大容量儲存器擷取程式碼之次數的快取記憶體。
輸入/輸出或I/O裝置(包括但不限於鍵盤、顯示器、指標裝置、DASD、磁帶、CD、DVD、隨身碟(thumb drive)及其他記憶體媒體等)可直接或經由介入之I/O控制器耦接至系統。網路配接器亦可耦接至系統以使得資料處理系統能夠變得經由介入之私用網路或公用網路耦接至其他資料處理系統或遠端印表機或儲存裝置。數據機、纜線數據機及乙太網路卡僅係幾個可用類型之網路配接器。
本文中所使用之術語僅係出於描述特定實施例的目的且並不意欲係限制性的。如本文中所使用,除非上下文另外清晰地指示,否則單數形式「一」及「該」意欲亦包括複數形式。將進一步理解,術語「包含(comprises及/或comprising)」在用於本說明書中時指定所陳述特徵、整
體、步驟、操作、元件及/或組件之存在,但不排除一或多個其他特徵、整體、步驟、操作、元件、組件及/或其群組之存在或新增。
以下申請專利範圍中之所有構件或步驟加功能元件之對應結構、材料、動作及等效物(若存在)意欲包括用於結合如特定主張之其他所主張元件來執行功能的任何結構、材料或動作。已出於說明及描述之目的呈現一或多個實施例之描述,但其不意欲為窮盡性的或限於所揭示之形式。對於一般熟習此項技術者而言,許多修改及變化將係顯而易見的。選取及描述實施例以便最佳地解釋各種態樣及實際應用,且使得一般熟習此項技術者能夠理解具有如適於所預期之特定用途之各種修改的各種實施例。
Claims (17)
- 一種用於促進一運算環境中之處理的電腦程式產品,該電腦程式產品包含:一電腦可讀儲存媒體,其可由一處理電路讀取且儲存用以執行一方法之指令,該方法包含:獲得一時鐘比較器正負號控制項,該時鐘比較器正負號控制項待用以判定一不帶正負號算術抑或一帶正負號算術待用於一比較運算中;及在一時鐘比較器之一值與一日曆鐘之一值之至少一部分的一比較中使用該時鐘比較器正負號控制項以判定是否將辨識到一選定動作,其中在該比較中使用該時鐘比較器正負號控制項引起正確地指示是否將辨識到該選定動作,而不管該日曆鐘是否已溢位;並且基於該比較執行該選定動作。
- 如請求項1之電腦程式產品,其中基於該時鐘比較器正負號控制項經設定為一第一值,不帶正負號二進位算術待用於該比較中,該第一值係用以在各種層級處為作業系統提供相容性之一預設值。
- 如請求項2之電腦程式產品,其中基於該時鐘比較器正負號控制項經設定為一第二值,帶正負號二進位算術待用於該比較中。
- 如請求項1之電腦程式產品,其中該選定動作係該運算環境內之處理的一中斷。
- 如請求項1之電腦程式產品,其中該時鐘比較器具有一個大小且該日曆鐘係一大小不同於該時鐘比較器之一擴展日曆鐘,且其中該日曆鐘可溢位。
- 如請求項1之電腦程式產品,其中該時鐘比較器正負號控制項位於一控制暫存器中。
- 如請求項1之電腦程式產品,其中該時鐘比較器係實施為一時鐘比較器暫存器,且該日曆鐘係實施為一日曆鐘暫存器。
- 如請求項1之電腦程式產品,其中該方法進一步包含使用該時鐘比較器正負號控制項以指定何情形構成該日曆鐘之一所比較部分中的一不連續性。
- 一種用於促進一運算環境中之處理的電腦系統,該電腦系統包含:一記憶體;及一處理器,其與該記憶體通信,其中該電腦系統經組態以執行一方法,該方法包含:獲得一時鐘比較器正負號控制項,該時鐘比較器正負號控制項待用以判定一不帶正負號算術抑或一帶正負號算術待用於一比較運算中;及在一時鐘比較器之一值與一日曆鐘之一值之至少一部分的一比較中使用該時鐘比較器正負號控制項以判定是否將辨識到一選定動作,其中在該比較中使用該時鐘比較器正負號控制項引起正確地指示是否將辨識到該選定動作,而不管該日曆鐘是否已溢位;並且基於該比較執行該選定動作。
- 如請求項9之電腦系統,其中基於該時鐘比較器正負號控制項經設定為一第一值,不帶正負號二進位算術待用於該比較中,該第一值係用以在各種層級處為作業系統提供相容性之一預設值。
- 如請求項10之電腦系統,其中基於該時鐘比較器正負號控制項經設定為一第二值,帶正負號二進位算術待用於該比較中。
- 如請求項9之電腦系統,其中該選定動作係該運算環境內之處理的一中斷。
- 如請求項9之電腦系統,其中該時鐘比較器具有一個大小且該日曆鐘係一大小不同於該時鐘比較器之一擴展日曆鐘,且其中該日曆鐘可溢位。
- 一種促進一運算環境中之處理的電腦實施方法,該電腦實施方法包含:藉由一處理器獲得一時鐘比較器正負號控制項,該時鐘比較器正負號控制項待用以判定一不帶正負號算術抑或一帶正負號算術待用於一比較運算中;及在一時鐘比較器之一值與一日曆鐘之一值之至少一部分的一比較中使用該時鐘比較器正負號控制項以判定是否將辨識到一選定動作,其中在該比較中使用該時鐘比較器正負號控制項引起正確地指示是否將辨識到該選定動作,而不管該日曆鐘是否已溢位;並且基於該比較執行該選定動作。
- 如請求項14之電腦實施方法,其中基於該時鐘比較器正負號控制項經設定為一第一值,不帶正負號二進位算術待用於該比較中,該第一值係用以在各種層級處為作業系統提供相容性之一預設值。
- 如請求項15之電腦實施方法,其中基於該時鐘比較器正負號控制項經設定為一第二值,帶正負號二進位算術待用於該比較中。
- 如請求項14之電腦實施方法,其中該時鐘比較器具有一個大小且該日曆鐘係一大小不同於該時鐘比較器之一擴展日曆鐘,且其中該日曆鐘可溢位。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/409,601 US10423191B2 (en) | 2017-01-19 | 2017-01-19 | Clock comparator sign control |
| US15/409,601 | 2017-01-19 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201841093A TW201841093A (zh) | 2018-11-16 |
| TWI670580B true TWI670580B (zh) | 2019-09-01 |
Family
ID=60923498
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW107100735A TWI670580B (zh) | 2017-01-19 | 2018-01-09 | 用於時鐘比較器正負號控制之電腦程式產品、電腦系統及電腦實施方法 |
Country Status (8)
| Country | Link |
|---|---|
| US (3) | US10423191B2 (zh) |
| EP (1) | EP3571588B1 (zh) |
| JP (1) | JP6909297B2 (zh) |
| KR (1) | KR102202148B1 (zh) |
| CN (1) | CN110199261B (zh) |
| RU (1) | RU2721895C1 (zh) |
| TW (1) | TWI670580B (zh) |
| WO (1) | WO2018134032A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10423191B2 (en) | 2017-01-19 | 2019-09-24 | International Business Machines Corporation | Clock comparator sign control |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060117316A1 (en) * | 2004-11-24 | 2006-06-01 | Cismas Sorin C | Hardware multithreading systems and methods |
| US20070061605A1 (en) * | 2005-09-09 | 2007-03-15 | International Business Machines Corporation | System and method for TOD-clock steering |
| US7774455B1 (en) * | 2000-09-26 | 2010-08-10 | Juniper Networks, Inc. | Method and system for providing secure access to private networks |
| US20150277923A1 (en) * | 2014-03-27 | 2015-10-01 | International Business Machines Corporation | Idle time accumulation in a multithreading computer system |
| TW201610708A (zh) * | 2014-03-18 | 2016-03-16 | 萬國商業機器公司 | 用於可在多種架構中初始化之控制公用程式之共同開機順序 |
| TW201610840A (zh) * | 2014-03-27 | 2016-03-16 | 萬國商業機器公司 | 多執行緒電腦系統中之位址擴展及縮短 |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2846271C2 (de) | 1978-10-24 | 1981-01-08 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Schaltung zur Ermittlung des Phasenjitters von Digitalsignalen |
| US4589093A (en) * | 1983-03-28 | 1986-05-13 | Xerox Corporation | Timer manager |
| JP2907958B2 (ja) * | 1990-06-06 | 1999-06-21 | 富士通株式会社 | 時刻機構制御方法 |
| US5828890A (en) | 1997-01-30 | 1998-10-27 | Northbrook Services | System for interrupting program operation when an out-of-range value is encountered to correct a data value |
| US6144980A (en) * | 1998-01-28 | 2000-11-07 | Advanced Micro Devices, Inc. | Method and apparatus for performing multiple types of multiplication including signed and unsigned multiplication |
| JP3881763B2 (ja) * | 1998-02-09 | 2007-02-14 | 株式会社ルネサステクノロジ | データ処理装置 |
| US6775789B2 (en) * | 1999-06-21 | 2004-08-10 | International Business Machines Corporation | Method, system and program products for generating sequence values that are unique across operating system images |
| JP4669007B2 (ja) * | 2004-10-25 | 2011-04-13 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 少なくとも2つの処理ユニットを有する計算機システムにおいて切替及びデータを比較する方法及び装置 |
| CN100430890C (zh) * | 2005-08-31 | 2008-11-05 | 上海海尔集成电路有限公司 | 一种8位risc微控制器 |
| US9069547B2 (en) * | 2006-09-22 | 2015-06-30 | Intel Corporation | Instruction and logic for processing text strings |
| US7752028B2 (en) * | 2007-07-26 | 2010-07-06 | Microsoft Corporation | Signed/unsigned integer guest compare instructions using unsigned host compare instructions for precise architecture emulation |
| GB2455009B (en) * | 2008-01-22 | 2012-02-29 | Ibm | Time-of-day cycle count estimation |
| US8073976B2 (en) * | 2008-03-27 | 2011-12-06 | Microsoft Corporation | Synchronizing clocks in an asynchronous distributed system |
| US8289074B2 (en) | 2010-03-22 | 2012-10-16 | Qualcomm Incorporated | Discrete time operational transconductance amplifier for switched capacitor circuits |
| JP5764985B2 (ja) * | 2011-03-11 | 2015-08-19 | 富士通株式会社 | 情報処理装置および時刻制御方法 |
| US9459864B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Vector string range compare |
| US10437602B2 (en) * | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
| US10120681B2 (en) * | 2014-03-14 | 2018-11-06 | International Business Machines Corporation | Compare and delay instructions |
| US10423191B2 (en) | 2017-01-19 | 2019-09-24 | International Business Machines Corporation | Clock comparator sign control |
-
2017
- 2017-01-19 US US15/409,601 patent/US10423191B2/en active Active
- 2017-12-22 CN CN201780083797.8A patent/CN110199261B/zh active Active
- 2017-12-22 KR KR1020197020650A patent/KR102202148B1/ko active Active
- 2017-12-22 EP EP17825249.0A patent/EP3571588B1/en active Active
- 2017-12-22 WO PCT/EP2017/084520 patent/WO2018134032A1/en not_active Ceased
- 2017-12-22 JP JP2019536914A patent/JP6909297B2/ja active Active
- 2017-12-22 RU RU2019102998A patent/RU2721895C1/ru active
-
2018
- 2018-01-09 TW TW107100735A patent/TWI670580B/zh active
-
2019
- 2019-08-19 US US16/544,063 patent/US11199870B2/en active Active
-
2021
- 2021-10-20 US US17/506,235 patent/US11934220B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7774455B1 (en) * | 2000-09-26 | 2010-08-10 | Juniper Networks, Inc. | Method and system for providing secure access to private networks |
| US20060117316A1 (en) * | 2004-11-24 | 2006-06-01 | Cismas Sorin C | Hardware multithreading systems and methods |
| US20070061605A1 (en) * | 2005-09-09 | 2007-03-15 | International Business Machines Corporation | System and method for TOD-clock steering |
| TW201610708A (zh) * | 2014-03-18 | 2016-03-16 | 萬國商業機器公司 | 用於可在多種架構中初始化之控制公用程式之共同開機順序 |
| US20150277923A1 (en) * | 2014-03-27 | 2015-10-01 | International Business Machines Corporation | Idle time accumulation in a multithreading computer system |
| TW201610840A (zh) * | 2014-03-27 | 2016-03-16 | 萬國商業機器公司 | 多執行緒電腦系統中之位址擴展及縮短 |
Also Published As
| Publication number | Publication date |
|---|---|
| RU2721895C1 (ru) | 2020-05-25 |
| US20190377379A1 (en) | 2019-12-12 |
| WO2018134032A1 (en) | 2018-07-26 |
| KR102202148B1 (ko) | 2021-01-13 |
| JP2020505677A (ja) | 2020-02-20 |
| CN110199261A (zh) | 2019-09-03 |
| EP3571588A1 (en) | 2019-11-27 |
| US11934220B2 (en) | 2024-03-19 |
| US20180203480A1 (en) | 2018-07-19 |
| US10423191B2 (en) | 2019-09-24 |
| US11199870B2 (en) | 2021-12-14 |
| TW201841093A (zh) | 2018-11-16 |
| KR20190096393A (ko) | 2019-08-19 |
| JP6909297B2 (ja) | 2021-07-28 |
| US20220035399A1 (en) | 2022-02-03 |
| CN110199261B (zh) | 2023-09-29 |
| EP3571588B1 (en) | 2023-12-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI664530B (zh) | 用於測試待處理外部中斷指令之電腦程式產品、電腦系統及電腦實施方法 | |
| TWI701551B (zh) | 用於於虛擬化環境中保存/復原受防護之儲存器控制之電腦程式產品、電腦實施方法及電腦系統 | |
| CN106133682A (zh) | 用于能在多种架构中初始化的控制实用工具的公用引导序列 | |
| CN103582879B (zh) | 管理耦合设施中的操作员消息缓冲器 | |
| TWI670649B (zh) | 用於在異動執行期間之受保護儲存器事件處置之電腦程式產品、電腦系統及電腦實施方法 | |
| TWI651955B (zh) | 用於基於偵測受防護儲存器事件以識別處理器屬性之電腦程式產品、電腦系統及電腦實施方法 | |
| US11194705B2 (en) | Automatically introducing register dependencies to tests | |
| TW201830257A (zh) | 受防護儲存器事件處理之執行時期檢測 | |
| IL265558A (en) | Preservation and retrieval of memory controllers stored in a virtual environment | |
| CN111930575A (zh) | 一种固件获取方法、装置及电子设备 | |
| JP5588006B2 (ja) | 改良型モニタ機能実装 | |
| TWI670580B (zh) | 用於時鐘比較器正負號控制之電腦程式產品、電腦系統及電腦實施方法 | |
| US9507646B2 (en) | Cycle-level thread alignment on multi-threaded processors | |
| TWI706325B (zh) | 用於至間接指定位置之條件分支之電腦程式產品、電腦系統及電腦實施方法 | |
| JP2025509190A (ja) | 先行ゼロ・カウンタの正しさを検証すること | |
| HK40006832B (zh) | 处理到间接指定位置的条件分支的方法和计算机系统 | |
| US20180089351A1 (en) | Method to increase performance when modeling random latch values |