TWI608363B - 架構模式組態 - Google Patents
架構模式組態 Download PDFInfo
- Publication number
- TWI608363B TWI608363B TW104108513A TW104108513A TWI608363B TW I608363 B TWI608363 B TW I608363B TW 104108513 A TW104108513 A TW 104108513A TW 104108513 A TW104108513 A TW 104108513A TW I608363 B TWI608363 B TW I608363B
- Authority
- TW
- Taiwan
- Prior art keywords
- mode
- architectural
- computing environment
- architectural mode
- architecture
- Prior art date
Links
- 230000015654 memory Effects 0.000 claims description 157
- 238000003860 storage Methods 0.000 claims description 109
- 238000012545 processing Methods 0.000 claims description 77
- 238000000034 method Methods 0.000 claims description 52
- 238000004590 computer program Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 19
- 230000009849 deactivation Effects 0.000 claims 3
- 230000006870 function Effects 0.000 description 48
- 238000013519 translation Methods 0.000 description 39
- 238000005192 partition Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 17
- 238000004088 simulation Methods 0.000 description 16
- 238000009434 installation Methods 0.000 description 15
- 230000009471 action Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 239000000872 buffer Substances 0.000 description 10
- 238000007667 floating Methods 0.000 description 10
- 230000006399 behavior Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000006073 displacement reaction Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 208000015976 Corneal dystrophy-perceptive deafness syndrome Diseases 0.000 description 1
- 102000004137 Lysophosphatidic Acid Receptors Human genes 0.000 description 1
- 108090000642 Lysophosphatidic Acid Receptors Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000012884 algebraic function Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 229920000638 styrene acrylonitrile Polymers 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000001052 transient effect Effects 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/44—Arrangements for executing specific programs
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- 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/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Description
一或多項態樣大體而言係關於運算環境之重新組態,且詳言之,係關於更改此等環境之重新組態。
運算環境取決於環境之架構組態而提供一系列能力及功能。已由紐約阿蒙克市之國際商業機器公司提供之兩個架構包括ESA/390及z/架構。
ESA/390為z/架構之舊版架構。然而,當引入z/架構時,繼續支援ESA/390。為了在一環境中支援兩個架構,遵循某些程序。舉例而言,在供電中,啟動ESA/390,且接著,在需要時可切換至z/架構。此情形允許舊版軟體繼續執行而無改變。提供其他此等程序以便在一環境中支援兩個架構組態。
經由提供一種用於重新組態一運算環境之電腦程式產品來克服先前技術之缺點且提供優點。該電腦程式產品包括(例如)一電腦可讀儲存媒體,其可由一處理電路讀取且儲存供該處理電路執行以用於執行一方法之指令。該方法包括(例如):由一處理器判定在一運算環境中安裝一組態架構模式設施,該運算環境經組態以用於複數種架構模式且具有一經定義之開機順序(power-on sequence),該經定義之開機順序使該運算環境在該複數種架構模式中之一種架構模式中開機,該
一種架構模式包含一第一指令集架構且具有第一組所支援特徵;基於判定該組態架構模式設施經安裝,由該處理器重新組態該運算環境以限制該一種架構模式之使用,其中該重新組態包括:選擇一不同開機順序以使該運算環境在該複數種架構模式中之另一種架構模式中開機,其中該另一種架構模式不同於該一種架構模式,且該另一種架構模式包含一第二指令集架構且具有第二組所支援特徵;及執行該不同開機順序以使該運算環境代替該一種架構模式在該另一種架構模式中開機,從而限制該一種架構模式之使用。
本文亦描述及主張與一或多項實施例有關之方法及系統。另外,本文亦描述且可能主張與一或多項實施例有關之服務。
實現額外特徵及優點。本文詳細描述其他實施例及態樣且將其視為所主張的本發明之一部分。
100‧‧‧運算環境
102‧‧‧中央處理器複合體
104‧‧‧處理器記憶體
106‧‧‧輸入/輸出器件
108‧‧‧控制單元
110‧‧‧中央處理單元
111‧‧‧輸入/輸出子系統
112‧‧‧邏輯分割區
113‧‧‧處理器韌體
114‧‧‧邏輯分割區超管理器
115‧‧‧其他處理器韌體
120‧‧‧應用程式
122‧‧‧駐留作業系統
130‧‧‧組態架構模式設施
150‧‧‧運算環境
152‧‧‧中央處理器複合體
154‧‧‧處理器記憶體
162‧‧‧虛擬機
163‧‧‧處理器韌體
164‧‧‧主機超管理器
165‧‧‧其他處理器韌體
172‧‧‧客體作業系統
200‧‧‧運算環境
202‧‧‧處理器
204‧‧‧組態架構模式設施
206‧‧‧快取記憶體
208‧‧‧記憶體部分
210‧‧‧快取記憶體
212‧‧‧輸入/輸出子系統
214‧‧‧外部輸入/輸出器件
300‧‧‧運算環境
302‧‧‧原生中央處理單元
304‧‧‧記憶體
306‧‧‧輸入/輸出器件及/或介面
308‧‧‧匯流排
310‧‧‧原生暫存器
311‧‧‧組態架構模式設施
312‧‧‧仿真器程式碼
350‧‧‧客體指令
352‧‧‧指令提取常式
354‧‧‧指令轉譯常式
356‧‧‧原生指令
360‧‧‧仿真控制常式
500‧‧‧程式狀態字組
502‧‧‧程式事件記錄遮罩(R)
504‧‧‧動態位址轉譯模式(T)
506‧‧‧輸入/輸出遮罩(IO)
508‧‧‧外部遮罩(EX)
510‧‧‧程式狀態字組金鑰(金鑰)
512‧‧‧位元12
514‧‧‧機器檢查遮罩(M)
516‧‧‧等待狀態(W)
518‧‧‧問題狀態(P)
520‧‧‧位址空間控制項(AS)
522‧‧‧條件碼(CC)
524‧‧‧程式遮罩
526‧‧‧擴展定址模式(EA)
528‧‧‧基本定址模式(BA)
530‧‧‧指令位址
700‧‧‧載入程式狀態字組指令
702‧‧‧操作碼欄位
704‧‧‧基本欄位(B2)
706‧‧‧位移欄位(D2)
800‧‧‧信號處理器指令
802‧‧‧操作碼欄位
804‧‧‧第一暫存器欄位(R1)
806‧‧‧第二暫存器欄位(R3)
808‧‧‧基本欄位(B2)
810‧‧‧位移欄位(D2)
1300‧‧‧電腦程式產品
1302‧‧‧非暫時性電腦可讀儲存媒體
1304‧‧‧電腦可讀程式碼構件、邏輯及/或指令
5000‧‧‧主機電腦系統
5000'‧‧‧主機電腦系統
5001‧‧‧中央處理單元
5002‧‧‧電腦記憶體
5003‧‧‧動態位址轉譯
5004‧‧‧指令提取單元
5005‧‧‧載入/儲存單元
5006‧‧‧指令解碼單元
5007‧‧‧轉譯後備緩衝器
5008‧‧‧指令執行單元
5009‧‧‧快取記憶體
5010‧‧‧網路
5011‧‧‧儲存媒體器件
5012‧‧‧存取暫存器轉譯
5013‧‧‧存取暫存器轉譯後備緩衝器
5020‧‧‧系統
5021‧‧‧基本電腦系統
5022‧‧‧顯示器件
5023‧‧‧滑鼠
5024‧‧‧鍵盤
5025‧‧‧記憶體
5026‧‧‧處理器
5027‧‧‧長期儲存器
5029‧‧‧網路
5030‧‧‧印表機/掃描儀
5031‧‧‧軟體程式碼
5032‧‧‧應用程式
5040‧‧‧資料處理網路
5041‧‧‧工作站
5042‧‧‧工作站
5043‧‧‧工作站
5044‧‧‧工作站
5045‧‧‧工作站
5046‧‧‧用戶端伺服器
5047‧‧‧網際網路
5048‧‧‧遠端伺服器
5050‧‧‧使用者
5051‧‧‧使用者
5053‧‧‧快取記憶體/記憶體介面
5054‧‧‧輸入/輸出單元
5055‧‧‧指令提取單元
5056‧‧‧解碼/分派單元
5057‧‧‧執行單元
5058‧‧‧分支單元
5059‧‧‧暫存器
5060‧‧‧載入儲存單元
5061‧‧‧程式計數器(指令計數器)
5062‧‧‧動態位址轉譯
5063‧‧‧存取暫存器轉譯
5065‧‧‧其他處理器單元
5066‧‧‧算術邏輯單元
5067‧‧‧暫存器電路
5068‧‧‧暫存器電路
5069‧‧‧暫存器電路
5070‧‧‧輸出暫存器電路
5071‧‧‧介接邏輯
5072‧‧‧其他經架構設施
5073‧‧‧其他電路
5074‧‧‧算術邏輯單元
5075‧‧‧輸入暫存器電路
5076‧‧‧輸入暫存器電路
5077‧‧‧輸入暫存器電路
5080‧‧‧輸出暫存器電路
5082‧‧‧分支歷史表
5083‧‧‧其他元件
5085‧‧‧算術邏輯單元
5086‧‧‧暫存器電路
5087‧‧‧暫存器電路
5088‧‧‧暫存器電路
5089‧‧‧暫存器電路
5090‧‧‧控制邏輯
5091‧‧‧主機處理器/經仿真之處理器
5092‧‧‧經仿真之主機電腦系統
5093‧‧‧仿真處理器
5094‧‧‧記憶體
5096‧‧‧主機電腦記憶體
5097‧‧‧仿真常式
6010‧‧‧雲端運算節點
6012‧‧‧電腦系統/伺服器
6014‧‧‧外部器件
6016‧‧‧處理器或處理單元
6018‧‧‧匯流排
6020‧‧‧網路配接器
6022‧‧‧輸入/輸出介面
6024‧‧‧顯示器
6028‧‧‧系統記憶體
6030‧‧‧隨機存取記憶體
6032‧‧‧快取記憶體
6034‧‧‧儲存系統
6040‧‧‧程式/公用程式
6042‧‧‧程式模組
6050‧‧‧雲端運算環境
6054A‧‧‧蜂巢式電話
6054B‧‧‧桌上型電腦
6054C‧‧‧膝上型電腦
6054N‧‧‧汽車電腦系統
6060‧‧‧硬體及軟體層
6062‧‧‧虛擬化層
6064‧‧‧管理層
6066‧‧‧工作負載層
在本說明書完結時在申請專利範圍中作為實例特別地指出且清楚地主張一或多項態樣。前述內容及其他目標、特徵及優點將自結合隨附圖式進行之以下詳細描述顯而易見,其中:圖1A描繪併有且使用組態架構模式設施之一或多項態樣之運算環境的一實例;圖1B描繪併有且使用組態架構模式設施之一或多項態樣之虛擬運算環境的一實例;圖2描繪併入且使用組態架構模式設施之一或多項態樣之運算環境的另一實例;圖3A描繪併有且使用組態架構模式設施之一或多項態樣之運算環境的又一實例;圖3B描繪圖3A之記憶體之另外細節;圖4A描繪使運算環境在一種架構模式中開機之邏輯之一實施例;
圖4B描繪與圖4A之開機處理程序相關聯之進一步處理的一實施例;圖5描繪程式狀態字組之格式之一實施例;圖6A描繪使運算環境在與圖4A中開機之一種架構模式不同之架構模式中開機的邏輯之一實施例;圖6B描繪與圖6A之開機處理程序相關聯之進一步處理的一實施例;圖7描繪載入程式狀態字組指令之格式之一實例;圖8A描繪信號處理器指令之格式之一實例;圖8B描繪與圖8A之信號處理器指令相關聯之處理的一實施例;圖9描繪在重新組態組態中使運算環境開機之邏輯之一實施例;圖10描繪在重新組態運算環境時作出之其他改變;圖11描繪重設運算環境之邏輯之一實施例;圖12描繪組態運算環境之邏輯之一實施例;圖13描繪電腦程式產品之一實施例;圖14描繪主機電腦系統之一實施例;圖15描繪電腦系統之另一實例;圖16描繪包含電腦網路之電腦系統之另一實例;圖17描繪電腦系統之各種元件之一實施例;圖18A描繪圖17之電腦系統之執行單元的一實施例;圖18B描繪圖17之電腦系統之分支單元的一實施例;圖18C描繪圖17之電腦系統之載入/儲存單元的一實施例;圖19描繪經仿真之主機電腦系統之一實施例;圖20描繪雲端運算節點之一實施例;圖21描繪雲端運算環境之一實施例;及圖22描繪抽象模型層之一實例。
根據一態樣,提供一種能力,該能力限制經組態以支援多個組態之一運算環境對一組態之使用,以使得該受限制組態之一或多項態樣不可用。作為一實例,處理器係在組態架構模式(CAM)中組態。在CAM中,最初經組態用於複數個架構(例如,舊版架構及增強型架構)之運算環境(例如,處理器、邏輯分割區、客體)經重新組態以使得不再支援該等架構中之至少一者(諸如,舊版架構)之一或多項態樣。在此組態中,該架構之該等不受支援態樣不可用。
作為一特定實例,在支援多個架構(諸如,ESA/390及z/架構)之運算環境中提供組態z/架構架構模式(CZAM)設施,該設施移除使用ESA/390之態樣之能力。實情為,使用z/架構(及/或其他架構,在其他實施例中,除ESA/390以外的)。作為實例,CZAM可適用於原生機器、邏輯分割區及/或虛擬客體。
參看圖1A描述併入且使用組態架構模式設施之一或多項態樣之運算環境的一實例。參看圖1A,在一實例中,運算環境100係基於z/架構,該z/架構係由紐約阿蒙克市之國際商業機器(IBM®)公司提供。z/架構描述於題為「z/架構-操作原理(z/Architecture-Principles of Operation)」之公開案號為SA22-7932-09號之IBM公開案(2012年9月,第10版)中,該公開案在此以其全文引用之方式併入本文中。儘管運算環境係基於z/架構,但在一實施例中,其亦支援一或多個其他架構組態,諸如ESA/390。
Z/架構、IBM、Z/VM及Z/OS(下文參考)為紐約阿蒙克市之國際商業機器公司之註冊商標。本文中使用之其他名稱可為國際商業機器公司或其他公司之註冊商標、商標或產品名稱。
作為一實例,運算環境100包括中央處理器複合體(CPC)102,其經由一或多個控制單元108耦接至一或多個輸入/輸出(I/O)器件106。
中央處理器複合體102包括(例如)耦接至一或多個中央處理器(亦即,中央處理單元(CPU)110)之處理器記憶體104(亦即,主記憶體、主儲存器、中央儲存器)及輸入/輸出子系統111,以上各者中之每一者在下文加以描述。
處理器記憶體104包括(例如)一或多個分割區112(例如,邏輯分割區),及包括邏輯分割區超管理器114及其他處理器韌體115之處理器韌體113。邏輯分割區超管理器114之一實例為紐約阿蒙克市之國際商業機器公司提供的處理器資源/系統管理器(PR/SM)。
邏輯分割區充當單獨系統且其中具有一或多個應用程式120及視情況具有駐留作業系統122,對於每一邏輯分割區,該等應用程式可為不同的。在一實施例中,該作業系統為紐約阿蒙克市之國際商業機器公司提供之z/OS作業系統、z/VM作業系統、z/Linux作業系統或TPF作業系統。邏輯分割區112由邏輯分割區超管理器114管理,該邏輯分割區超管理器由在處理器110上執行之韌體實施。如本文中所使用,韌體包括(例如)處理器之微碼及/或微型碼。其包括(例如)用於實施較高層級機器碼之硬體層級指令及/或資料結構。在一實施例中,其包括(例如)專屬碼,該專屬碼通常作為包括受信任軟體之微碼或底層硬體所特有之微碼遞送,且控制作業系統對系統硬體之存取。
中央處理器110為分配給邏輯分割區之實體處理器資源。詳言之,每一邏輯分割區112具有一或多個邏輯處理器,該等邏輯處理器中之每一者表示分配給該分割區之所有或一部分實體處理器110。特定分割區112之邏輯處理器可專用於該分割區,以便將底層處理器資源110保留用於彼分割區;或與另一分割區共用該底層處理器資源,以使得底層處理器資源有可能可用於另一分割區。在一實例中,CPU中之一或多者包括本文所描述之組態架構模式設施130的態樣。
輸入/輸出子系統111引導輸入/輸出器件106與主儲存器104之間
的資訊流。其耦接至中央處理複合體,其中其可為中央處理複合體之一部分或與中央處理複合體分離。I/O子系統減輕中央處理器的與輸入/輸出器件直接通信之任務且准許資料處理與輸入/輸出處理同時進行。為了提供通信,I/O子系統採用I/O通信配接器。存在各種類型之通信配接器,包括(例如)通道、I/O配接器、PCI卡、乙太網路卡、小型電腦儲存介面(SCSI)卡等。在本文所描述之特定實例中,I/O通信配接器為通道,且因此,I/O子系統在本文中被稱作通道子系統。然而,此情形僅為一實例。可使用其他類型之I/O子系統。
I/O子系統在管理至輸入/輸出器件106或來自輸入/輸出器件106之資訊流中使用一或多個輸入/輸出路徑作為通信鏈路。在此特定實例中,此等路徑被稱為通道路徑,此係由於通信配接器為通道。
參看圖1B描述併入且使用CAM設施之一或多項態樣之運算環境的另一實例。在此實例中,運算環境150包括提供虛擬機支援之中央處理器複合體152。CPC 152經由一或多個控制單元108耦接至一或多個輸入/輸出(I/O)器件106。中央處理器複合體152包括(例如)耦接至一或多個中央處理器(亦即,中央處理單元(CPU))110之處理器記憶體154(亦即,主記憶體、主儲存器、中央儲存器),及輸入/輸出子系統111。
處理器記憶體154包括(例如)一或多個虛擬機162,及包括主機超管理器164及其他處理器韌體165之處理器韌體163。主機超管理器164之一實例為紐約阿蒙克市之國際商業機器公司提供的z/VM®。
CPC之虛擬機支援提供操作大量虛擬機162之能力,每一虛擬機能夠代管客體作業系統172(諸如,Linux)。每一虛擬機162能夠充當單獨系統。亦即,每一虛擬機可獨立地進行重設,代管客體作業系統,且用不同程式120操作。在虛擬機中執行之作業系統或應用程式看起來能夠存取完全及完整系統,但實際上,其僅能夠存取其可獲得
之一部分。
在此特定實例中,虛擬機之模型為V=V模型,其中虛擬機之絕對或真實記憶體係依靠主機虛擬記憶體,而非真實或絕對記憶體。每一虛擬機具有一虛擬線性記憶體空間。實體資源由主機164擁有,且共用實體資源由主機在需要時分派給客體作業系統,以滿足其處理需求。此V=V虛擬機(亦即,可分頁客體)模型假定:客體作業系統與實體共用機器資源之間的互動係由主機控制,此係由於大量客體通常妨礙主機簡單地分割硬體資源及將硬體資源指派給經組態客體。V=V模型之一或多項態樣進一步描述於題為「z/VM:執行客體作業系統(z/VM:Running Guest Operating Systems)」之IBM®公開案號為SC24-5997-02之IBM®公開案(2001年10月)中,該公開案在此以其全文引用之方式併入本文中。
中央處理器110為可指派給虛擬機之實體處理器資源。舉例而言,虛擬機162包括一或多個邏輯處理器,該等邏輯處理器中之每一者表示可動態地分配給虛擬機之所有或一部分實體處理器資源110。虛擬機162由主機164管理。
在一實施例中,主機(例如,zVM®)及處理器(例如,系統z)硬體/韌體彼此以受控合作方式互動以便處理V=V客體作業系統操作,而不需要自客體作業系統及主機傳送控制/將控制傳送至客體作業系統及主機。可經由允許針對可分頁儲存模式客體解譯性地執行指令之設施直接執行客體操作,而無需主機干預。此設施提供主機可發佈之指令開始解譯性執行(SIE),從而指明被稱為狀態描述之控制區塊,其保持客體(虛擬機)狀態及控制項,諸如執行控制項及模式控制項。該指令將機器置於直接處理客體指令及中斷之解譯性執行模式中,直至出現需要主機注意之條件為止。當出現此類條件時,結束解譯性執行,且呈現主機中斷,或SIE指令完成儲存所遇到之條件之細節;此
後一動作被稱為攔截。解譯性執行之一實例描述於系統/370擴展架構/解譯性執行(IBM公開案第SA22-7095-01號,1985年9月)中,該公開案在此以其全文引用之方式併入本文中。
詳言之,在一實施例中,解譯性執行設施提供用於虛擬機之執行之指令。被稱為開始解譯性執行(SIE)之此指令係由建立客體執行環境之主機發佈。主機為直接管理真實機器之控制程式且客體係指任何虛擬或解譯機器。由發佈SIE指令之主機將機器置於解譯性執行模式中。在此模式中,機器提供經選擇架構(例如,z/架構、ESA/390)之功能。功能尤其包括(例如)具有特殊權限之程式指令及問題程式指令之執行、位址轉譯、中斷處置,及計時。機器據說解譯其在虛擬機之內容脈絡中執行之功能。
SIE指令具有被稱為狀態描述之運算元,其包括與客體之當前狀態相關之資訊。當SIE之執行結束時,在將控制傳回至主機之前,將表示客體之狀態之資訊(包括客體PSW)儲存於狀態描述中。
解譯性執行架構提供用於絕對儲存空間之儲存模式,其被稱作可分頁儲存模式。在可分頁儲存模式中,主機層級之動態位址轉譯用以映射客體主儲存器。主機具有以下能力:藉由使用主機DAT將可分頁儲存模式客體之真實儲存空間分散至主機真實儲存器中之任何處的可用訊框,及將客體資料移出分頁至輔助儲存器。當分配真實機器資源同時保留用於客體之一系列相連的絕對儲存空間之預期外觀時,此技術提供靈活性。
虛擬機環境可能要求應用兩次DAT:第一次在客體層級,經由客體管理轉譯表將客體虛擬位址轉譯成客體真實位址,且接著,對於可分頁客體,在主機層級,將對應主機虛擬位址轉譯成主機真實位址。
在某些狀況下,主機將在通常委派給機器之操作中調解。為此目的,狀態描述包括可由主機設定以「截獲」或「攔截」特定條件之
控制項。攔截控制位元請求機器在遇到特定客體指令時將控制傳回至主機模擬。干預控制項俘獲啟用狀態至PSW中之引入,以使得主機可呈現中斷,其保持針對客體未決。可在解譯進行之同時由主機在另一真實處理器上異步地設定干預控制項。機器週期性地自儲存空間中重新提取控制項,以使得將辨識經更新之值。藉此可使得客體中斷為未決的,而不會過早地干擾解譯。
在一實施例中,狀態描述中之模式控制項亦指定客體係在ESA/390中抑或z/架構模式中執行且選擇多種方式中之一者來表示主機儲存器中之客體虛擬機之客體主儲存器。根據一實施例,在狀態控制項中提供控制位元以在客體處於第一架構模式中及處於第二架構模式中(例如,分別為z/架構及ESA/390)之間選擇。根據另一實施例,兩個相異指令可為主機提供建立第一及第二客體虛擬機之能力,例如,可提供相異指令SIEz及SIEe以分別在z/架構及ESA/390模式中開始客體機器。
SIE指令執行藉由控制程式分派之虛擬伺服器,直至已消耗伺服器之時間配量為止或直至伺服器想要執行硬體無法虛擬化或控制程式將重新取得控制之操作為止。在那時,SIE指令結束且將控制傳回至控制程式,該控制程式模擬指令或將虛擬伺服器置於非自主等待狀態。當完成時,控制程式再次排程虛擬伺服器使其執行,且循環再次開始。以此方式,使得CPU之完整能力及速度可用於虛擬伺服器。僅攔截需要來自控制程式之輔助或藉由控制程式進行之驗證的彼等具有特殊權限之指令。此等SIE攔截(如其被稱為地那般)亦供控制程式用以對虛擬伺服器可對真實器件執行之操作強加限制。
關於SIE之另外細節描述於ESA/390解譯性執行架構(用於VM/ESA之基礎,Osisek等人,IBM系統日誌,第30卷,第1號,1991年1月,第34至51頁)中,該文件在此以其全文引用之方式併入本文
中。
參看圖2描述併有且使用組態架構模式設施之一或多項態樣之運算環境的另一實例。在此實例中,運算環境200包括未經分割之環境,其經組態以用於複數種架構模式,包括z/架構及ESA/390。其包括(例如)處理器(中央處理單元-CPU)202,其包括(例如)組態架構模式設施204及一或多個快取記憶體206。處理器202通信地耦接至具有一或多個快取記憶體210之記憶體部分208,且耦接至輸入/輸出(I/O)子系統212。I/O子系統212通信地耦接至外部I/O器件214,其可包括(例如)資料輸入器件、感測器及/或諸如顯示器之輸出器件。
參看圖3A描述併有且使用組態架構模式設施之一或多項態樣之運算環境的另一實例。在此實例中,運算環境300包括(例如)原生中央處理單元(CPU)302、記憶體304,及一或多個輸入/輸出器件及/或介面306,前述各者經由(例如)一或多個匯流排308及/或其他連接耦接至彼此。作為實例,運算環境300可包括:由紐約阿蒙克市之國際商業機器公司提供之PowerPC處理器或電力系統(Power Systems)伺服器;由加利福尼亞帕洛阿爾托之惠普公司提供的具有Intel Itanium II處理器之HP Superdome;及/或基於由國際商業機器公司、惠普公司、英特爾公司、Oracle公司或其他公司提供之架構之其他機器。
原生中央處理單元302包括一或多個原生暫存器310,諸如在環境內之處理期間使用之一或多個通用暫存器及/或一或多個專用暫存器,以及組態架構模式設施311。此等暫存器包括表示在任何特定時間點之環境之狀態的資訊。
此外,原生中央處理單元302執行儲存於記憶體304中之指令及程式碼。在一特定實例中,中央處理單元執行儲存於記憶體304中之仿真器程式碼312。此程式碼使得在一架構中組態之運算環境能夠仿真一或多個其他架構。舉例而言,仿真器程式碼312允許基於除z/架
構以外之架構之機器(諸如,PowerPC處理器、電力系統伺服器、HP Superdome伺服器或其他者)仿真z/架構(及/或ESA/390)及執行基於z/架構開發之軟體及指令。
參看圖3B描述與仿真器程式碼312有關之另外細節。儲存於記憶體304中之客體指令350包含經開發以在除原生CPU 302之架構以外之架構中執行的軟體指令(例如,與機器指令相關)。舉例而言,客體指令350可經設計以在z/架構處理器202上執行,但改為在原生CPU 302上仿真,該原生CPU 302可為(例如)Intel Itanium II處理器。在一實例中,仿真器程式碼312包括指令提取常式352以自記憶體304中獲得一或多個客體指令350,及視情況提供用於所獲得之指令之本端緩衝。該仿真器程式碼亦包括指令轉譯常式354以判定已獲得之客體指令的類型且將該客體指令轉譯成一或多個對應的原生指令356。此轉譯包括(例如)識別待藉由客體指令執行之功能及選擇原生指令以執行彼功能。
另外,仿真器程式碼312包括仿真控制常式360以使得執行原生指令。仿真控制常式360可使得原生CPU 302執行仿真一或多個先前所獲得之客體指令之原生指令的常式且,在此執行完結時,將控制傳回至指令提取常式以仿真下一客體指令或客體指令群組之獲得。原生指令356之執行可包括將資料自記憶體304載入至暫存器;將資料自暫存器儲存回至記憶體;或執行某一類型之算術或邏輯運算(如藉由轉譯常式判定)。
每一常式係(例如)以軟體來實施,軟體儲存於記憶體中且由原生中央處理單元302執行。在其他實例中,該等常式或操作中之一或多者係以韌體、硬體、軟體或其某一組合來實施。所仿真處理器之暫存器可使用原生CPU之暫存器310或藉由使用記憶體304中之位置來仿真。在實施例中,客體指令350、原生指令356及仿真器程式碼312可
駐留於同一記憶體中或可分散於不同記憶體器件當中。
上文所描述之運算環境僅為可使用之運算環境的實例。可使用其他環境,包括但不限於其他未經分割之環境、其他經分割之環境及/或其他仿真環境;實施例不限於任何一種環境。
根據一或多項態樣,在運算環境之一或多個處理器(例如,中央處理單元)中安裝組態架構模式(CAM)設施以控制環境之重新組態。舉例而言,當在支援複數種架構模式之運算環境中安裝CAM時,運算環境經重新組態以便限制該等架構模式中之至少一者之一或多項態樣的使用。
組態架構模式設施之一特定實例為組態z/架構架構模式(CZAM)設施。CZAM之安裝由(例如)經設定為(例如)一之設施安裝指示符(例如,位元138)來指示。在一特定實例中,當位元138經設定為一時,安裝CZAM設施,且在安裝時,正常重設及清除重設將組態置於z/架構架構模式中。因此,在一實例中,指示z/架構架構模式為作用中之設施位元(例如,位元2)亦經設定為一。
基於CZAM之安裝,運算環境(例如,單一處理器、邏輯分割區、虛擬客體等)經重新組態以使得經選擇架構(例如,ESA/390)之一或多項態樣不再受支援。下文描述不再受支援之各種態樣及/或受CZAM之安裝影響的某些處理程序。
儘管在本文所描述之實施例中,複數種架構模式包括舊版架構(例如,ESA/390)及增強型架構(例如,z/架構)且舊版架構(ESA/390)之態樣不再受支援,但其他實施例可包括其他架構。ESA/390及z/架構僅為實例。
受CZAM之安裝影響的一處理程序為開機處理程序。為了描述此處理程序如何受影響,最初,參看圖4A至圖4B描述支援多個架構組態且並不包括CZAM設施之環境之開機處理程序,且接著,參看圖6A
至圖6B描述經組態用於多個架構組態且確實包括CZAM設施之環境之開機處理程序。系統之開機包括(例如)起動系統及起始開機順序或起始系統中之操作之其他手段。該開機可對應於實體開機、硬體重設及/或虛擬開機(例如,在經仿真之系統、虛擬機或客體環境中)。
最初參看圖4A,基於正開機之運算環境的處理器及正啟動之業者金鑰(例如,載入正常或載入清除金鑰),處理器進入載入狀態且將運算環境設定為特定架構模式(例如,ESA/390模式)(步驟400)。舉例而言,執行初始程式載入(IPL),諸如通道控制字組(CCW)初始程式載入(IPL)(步驟402)。初始程式載入提供用於使得自指明之器件讀取程式及用於起始彼程式之執行的手動手段。藉由將載入單元位址控制項設定為四位數字以指明輸入器件且藉由隨後啟動特定CPU之載入清除或載入正常金鑰來手動地起始CCW型IPL。
啟動載入清除金鑰使得在該組態上執行清除重設;且啟動載入正常金鑰使得在此CPU(金鑰經啟動所在之CPU)上執行初始CPU重設,將CPU重設傳播至該組態下之所有其他CPU,及在該組態之剩餘CPU上執行子系統重設。啟動載入清除金鑰或載入正常金鑰設定架構模式(例如,ESA/390)。
在操作之載入部分中,在執行重設之後,此CPU接著進入載入狀態。在執行重設操作期間,此CPU不必進入停止狀態。當CPU處於載入狀態時,開啟載入指示符。
隨後,自藉由載入單元位址控制項指明之I/O器件起始通道程式讀取操作。執行通道程式之效應如同以下情形一般:在絕對儲存位置0處開始之格式0 CCW用為零之修飾符位元、為零之資料位址、為24之位元組計數、為一之鏈式命令及SLI旗標及為零之所有其他旗標來指定讀取命令。
當成功完成IPL輸入/輸出操作時,將用於IPL器件之子系統識別
字組儲存於經選擇絕對儲存位置(例如,位置184至187)中,將零儲存於其他經選擇絕對儲存位置(例如,位置188至191)中,且自經選擇絕對儲存位置(例如,位置0至7)載入新程式狀態字組(PSW)(步驟404)。程式狀態字組控制運算環境之操作。
若PSW載入成功且未偵測到機器故障,此CPU離開載入狀態,且斷開載入指示符。若速率控制項經設定至處理位置,則CPU進入操作狀態,且運算環境之操作在新程式狀態字組(PSW)之控制下繼續進行(步驟406)。經啟動之運算環境接著執行(步驟408),如參看圖4B進一步描述。
參看圖4B,在ESA/390模式中起始經啟動之運算環境(步驟420),且因此,在ESA/390模式中執行操作(步驟422)。在某一點,可進行將架構模式自ESA/390改變成z/架構之請求。詳言之,程式將命令碼(例如,指明設定架構之代碼)發送至處理器,該處理器用該命令碼發佈信號處理器(SIGP)指令以自ESA/390模式切換至z/架構模式(步驟424)。舉例而言,使用CPU傳信及回應設施,其包括信號處理器指令(下文所描述)及解譯且作用於伺服器命令碼(包括用於設定架構之命令碼)之機制。該設施提供CPU間之通信,包括:傳輸、接收及解碼一組經指派之命令碼;起始指定操作;及對傳信CPU作出回應。藉由使用設定架構,將架構模式設定為所要組態(例如,z/架構)。下文進一步描述此處理之另外細節。
此後,進行關於是否接受SIGP操作之判定(查詢426)。基於傳回碼,當已進行CPU已處於藉由碼指定之架構模式中之判定時(亦即,判定設定架構表示至當前模式自身之切換,或判定是否自一種模式切換至另一種模式),可診斷出大量錯誤條件,包括「無效參數」指示。若接受SIGP且設定架構表示合法模式切換操作,則接收SIGP操作之運算環境之所有處理器使用(例如)本文所描述之設定架構處理轉
變至z/架構模式中(步驟248)。然而,若SIGP操作不合法,則指示錯誤(步驟430)。
如上文所描述,開機操作載入程式狀態字組。參看圖5描述程式狀態字組(PSW)之格式之一實施例。參看圖5,在此實例中,除了位元31經展示為EA以外,程式狀態字組之格式為ESA/390格式,如下文所指示。
在一實施例中,作為一實例,程式狀態字組500包括以下欄位:程式事件記錄遮罩(R)502:位元1控制是否針對與程式事件記錄(PER)相關聯之中斷啟用CPU。當位元為零時,無PER事件可造成中斷。當位元為一時,准許中斷,經受控制暫存器9中之PER事件遮罩位元;DAT模式(T)504:位元5控制是否發生用以存取儲存器之邏輯及指令位址之隱含動態位址轉譯(DAT)。當位元為零時,斷開DAT,且將邏輯及指令位址視為真實位址。當位元為一時,開啟DAT,且調用動態位址轉譯機制。
I/O遮罩(IO)506:位元6控制是否針對I/O中斷啟用CPU。當位元為零時,無法發生I/O中斷。當位元為一時,I/O中斷經受控制暫存器6中之I/O中斷子類別遮罩位元。當I/O中斷子類別遮罩位元為零時,無法發生針對彼I/O中斷子類別之I/O中斷;當I/O中斷子類別遮罩位元為一時,可能發生針對彼I/O中斷子類別之I/O中斷;外部遮罩(EX)508:位元7藉由包括於外部類別中之條件控制是否針對中斷啟用CPU。當位元為零時,無法發生外部中斷。當位元為一時,外部中斷經受控制暫存器0中之對應外部子類別遮罩位元。當子類別遮罩位元為零時,與子類別相關聯之條件無法造成中斷。當子類別遮罩位元為一時,可能發生彼子類別中之中斷。
PSW金鑰(金鑰)510:位元9至11形成用於供CPU儲存參考之存取
金鑰。若參考經受金鑰受控保護,則當儲存資訊時或當自受保護從而免於提取之位置提取資訊時,PSW金鑰與儲存金鑰匹配。然而,對於移動至主要、移動至次要、隨金鑰移動、隨源金鑰移動及隨目的地金鑰移動中之每一者的運算元中之一者,且對於隨視情況選用之規格移動之任一運算元或兩個運算元,使用指定為運算元之存取金鑰代替PSW金鑰。
位元12 512:此位元指示當前架構模式。對於ESA/390 PSW格式,其經設定為一。對於z/架構PSW格式,此位元經定義為零。當在z/架構模式中時,定義載入PSW擴展(LPSWE)指令以用於載入真實z/架構PSW(其具有不同於本文所描述之格式之格式,包括具有位元64至127中之指令位址)。然而,仍支援ESA/390載入PSW(LPSW),且其可用以載入ESA/390格式PSW。當執行LPSW且運算環境處於z/架構模式中時,處理器將ESA/390格式PSW擴展至z/架構格式,包括將位元12反轉。此情況為摺疊作業系統執行以建立ESA/390格式PSW之z/架構PSW格式的反轉。亦即,在支援ESA/390及z/架構兩者之運算環境中,當將PSW之複本置放於儲存器中時,作業系統將全z/架構PSW摺疊成ESA/390 PSW之大小及格式。因此,具有PSW格式相依性之其他軟體可能無法察覺到z/架構PSW。
機器檢查遮罩(M)514:位元13藉由機器檢查條件控制是否針對中斷啟用CPU。當位元為零時,無法發生機器檢查中斷。當位元為一時,准許歸因於系統損害及指令處理損害產生之機器檢查中斷,但歸因於其他機器檢查子類別條件產生之中斷經受控制暫存器14中之子類別遮罩位元。
等待狀態(W)516:當位元14為一時,CPU等待;亦即,CPU不處理指令,但可能發生中斷。當位元14為零時,以正常方式發生指令提取及執行。當位元為一時,等待指示符為一。
問題狀態(P)518:當位元15為一時,CPU處於問題狀態。當位元15為零時,CPU處於監督狀態。在監督狀態下,所有指令為有效的。在問題狀態下,僅提供有意義之資訊至問題程式且無法影響系統完整性之彼等指令係有效的;此等指令被稱為無特殊權限之指令。在問題狀態下並非有效之指令被稱為具有特殊權限之指令。當問題狀態下之CPU試圖執行具有特殊權限之指令時,辨識具有特殊權限之操作例外狀況。僅在滿足特定授權測試之情況下,處於問題狀態之CPU才執行被稱為具有半特殊權限之指令之另一指令群組;否則,取決於所違反之特定要求,辨識具有特殊權限之操作例外狀況或某一其他程式例外狀況。
位址空間控制項(AS)520:位元16及17結合PSW位元5控制轉譯模式。
條件碼(CC)522:位元18及19為條件碼之兩個位元。取決於在執行某些指令中獲得之結果,條件碼經設定為0、1、2或3。大部分算術及邏輯運算以及一些其他運算設定條件碼。指令依條件分支可將對條件碼值之任何選擇指定為用於分支之準則。
程式遮罩524:位元20至23為四個程式遮罩位元。每一位元與一程式例外狀況相關聯,如下:
當遮罩位元為一時,例外狀況導致中斷。當遮罩位元為零時,不會發生中斷。HFP有效值遮罩位元之HFP指數下溢遮罩位元之設定亦判定在發生對應例外狀況時完成操作之方式。
擴展定址模式(EA)526:位元31結合位元32、基本定址模式位元控制有效位址之大小及有效位址產生。當位元31為零時,藉由位元32控制定址模式。當位元31及32兩者為一時,指定64位元定址。
基本定址模式(BA)528:位元31及32控制有效位址之大小及有效位址產生。當位元31及32兩者為零時,指定24位元定址。當位元31為零且位元32為一時,指定31位元定址。當位元31及32兩者為一時,指定64位元定址。位元31為一且位元32為零之組合為無效組合,其造成辨識規格例外狀況。定址模式並不控制PER位址之大小或用以存取DAT、ASN、可分派單元控制項、連結、項目及追蹤表或存取清單或連結堆疊之位址之大小。概述藉由PSW之位元31及32進行的定址模式之控制如下:
指令位址530:PSW之位元33至63為指令位址。除非CPU處於等待狀態(PSW之位元14為一),否則位址指明待執行之下一指令之最左邊位元組的位置。
根據一態樣,當在運算環境中安裝且啟動組態架構模式設施(諸如,組態z/架構架構模式(CZAM)設施)時,改變了開機處理程序。參看圖6A描述CZAM開機處理程序之一實施例。
參看圖6A,基於正開機之運算環境之處理器,當安裝CZAM時,將運算環境設定為藉由組態架構模式設施指定之特定架構模式(例如,z/架構模式(亦被稱作ESAME))(步驟600)。舉例而言,如上文所描述,執行初始程式載入(IPL),諸如通道控制字組(CCW)初始程式載入(IPL)(步驟602),且當成功完成IPL輸入/輸出操作時,將用於IPL器
件之子系統識別字組儲存於經選擇絕對儲存位置(例如,位置184至187)中,將零儲存於其他經選擇絕對儲存位置(例如,位置188至191)中,且在此實施例中,自經選擇絕對儲存位置(例如,位置0至7)建立16位元組新程式狀態字組(PSW)(步驟604)。新16位元組PSW係例如由經選擇儲存雙字組(例如,位置0至7)之內容形成。雙字組之位元12將為一;否則,可指示錯誤。(錯誤可為辨識之規格例外狀況、機器檢查或又一錯誤指示。)除了將位元12反轉以外,將新近建立之PSW之位元0至32設定為經選擇雙字組之位元0至32。當新近建立之PSW之位元33至96設定為零。自經選擇雙字組之位元33至63初始化新近建立之PSW的位元位置97至127。
在一實施例中,在載入待藉由指令載入之PSW欄位之前,不檢查該等PSW欄位之有效性。在一實施例中,檢查PSW之位元12之有效性。在又一實施例中,檢查所有欄位之有效性。在另一實施例中,在初始化PSW之後,檢查在載入PSW之前並不進行檢查之任何位元的有效性,且處理器可指示錯誤(例如,藉由提高辨識之規格例外狀況、機器檢查或又一錯誤指示)。
運算環境進入操作狀態,且運算環境之操作在新程式狀態字組(PSW)之控制下繼續進行(步驟606)。經啟動之運算環境接著執行(步驟608),如參看圖6B進一步描述。
參看圖6B,在z/架構模式中起始經啟動之運算環境(步驟620),且因此,在z/架構模式中執行操作(步驟622)。模式切換為不必要的,且處理直接繼續進行z/架構模式中之處理。因此,在一實施例中,不需要以下步驟:自ESA/390模式切換至z/架構模式之信號處理器(SIGP)操作;關於SIGP操作是否為所接受之操作的判定;在SIGP操作為所接受之操作時轉變至z/架構;或在不接受SIGP操作時之錯誤指示。
在不執行上文所指示之步驟的情況下,運算環境(亦即,經組態之環境,例如,單一處理器、邏輯分割區、VM客體)之所有處理器處於z/架構模式中。因此,如本文所描述,根據一態樣,將在ESA/390模式中啟動或開機之能力自經組態用於ESA/390及z/架構兩者之運算環境移除。詳言之,儘管運算環境經組態以支援多個架構,但提供限制經組態架構中之至少一者之某些態樣的能力,該等態樣中之一者為在彼架構中開機之能力。
在一或多項實施例中,z/架構模式中之開機提供一種指定以下情形之機制:在z/架構模式中將啟動及重設(1)邏輯分割區(客體-1)及(2)邏輯分割區及客體-2中之一者,而無需在ESA/390模式中啟動。此特徵可無條件地安裝或在組態開關之控制下安裝。
修改關於PSW初始化之啟動順序。舉例而言,在IPL結束時,載入絕對位置0至7處之IPL PSW。當前進行以下操作:當重設條件為ESA/390時,位元12為一,進行有效ESA/390 IPL PSW,且程式進行至在ESA/390架構模式中執行指令。在安裝CZAM之情況下,重設條件為z/架構,位元12仍為一,作出有效ESA/390 IPL PSW,但在形成16位元組z/架構當前PSW期間將位元12反轉,如上文所定義。
除開機處理程序之外,亦可藉由安裝組態架構模式設施來改變或影響其他處理程序、行為及/或操作。此等受影響之處理程序、行為及/或操作為ESA/390及z/架構模式所特有的。然而,對於其他類型之架構而言,類似及/或不同處理程序可能受影響。在一或多項實施例中可能受影響之實例處理程序、行為及/或操作包括(例如):
(1)啟用自模式至自身(例如,自z/架構模式至z/架構模式)之切換而不產生錯誤(或忽略該錯誤)。亦即,處理器可發佈SIGP指令以切換至z/架構模式且若已處於彼模式,則將不會產生錯誤。先前,嘗試至對應於當前模式之模式之切換產生錯誤。
(2)停用至ESA/390模式之切換。基於安裝及啟動CZAM,停用至ESA/390之切換且現在產生錯誤。若位元12未經設定為指示z/架構模式(藉由儲存器中之為「1」之位元12表示,當將ESA/390 PSW轉換成有效z/架構PSW時,將該位元12反轉成位元「0」以表示PSW中之z/架構),藉由檢查PSW之位元12及考慮到例外狀況來防止切換回至ESA/390。
(3)修改載入PSW操作以限制對位元12之處置。若安裝組態z/架構架構模式設施,則載入PSW在其第二運算元之位元12不為一時辨識規格例外狀況。載入PSW將其第二運算元之位元0至32(除了將位元12反轉以外)及運算元之位元33至63分別作為當前PSW之位元0至32及位元97至127載入,且其將當前PSW之位元33至96設定為零。
參看圖7描述關於載入PSW指令之另外細節。在一實施例中,載入PSW指令700包括:操作碼欄位702,其包括操作碼以指示載入PSW操作;基本欄位(B2)704;及位移欄位(D2)706。將藉由B2欄位指明之通用暫存器之內容添加至D2欄位之內容以形成儲存器中的第二運算元之位址(被稱作第二運算元位址)。
在載入PSW指令之操作中,用16位元組PSW替換當前PSW,該16位元組PSW係由藉由第二運算元位址指明之位置處之雙字組的內容形成。
雙字組之位元12將為一;否則,取決於模型,可辨識規格例外狀況。若安裝了組態z/架構架構模式設施,則在雙字組之位元12不為一時辨識規格例外狀況。
除了位元12經反轉以外,將雙字組之位元0至32置於當前PSW之位置0至32中。將雙字組之位元33至63置於當前PSW之位置97至127中。將當前PSW之位元33至96設定為零。
在提取運算元之前或之後且又在完成操作之後,執行序列化及
檢查點同步功能。
將運算元指明為在雙字組邊界上;否則,辨識規格例外狀況。若運算元之位元12為零,則取決於模型,可辨識規格例外狀況。
除了檢查位元12以外,在載入待藉由指令載入之PSW欄位之前,不檢查該等欄位之有效性。然而,緊於載入之後,當以下狀況中之任一者針對新近載入之PSW成立時,辨識規格例外狀況,且發生程式中斷:
*位元0、2至4、12或24至30中之任一者為一。
*位元31及32兩者為零,且位元97至103並非全部為零。
*位元31及32分別為一及零。
在此等狀況下,完成操作且所得指令長度碼為0。
操作因所有定址及保護例外狀況而受到抑制。
所得條件碼:如載入之新PSW中所指定般設定該碼。
程式例外狀況:
*存取(提取,運算元2)
*具有特殊權限之操作
*規格
程式化備註:第二運算元應具有ESA/390 PSW之格式。若運算元之位元12為零,則在執行載入PSW期間或之後,將辨識規格例外狀況。
關於PSW之另外細節描述於Plambeck等人之「z/架構之開發及屬性(Development and Attributes of z/Architecture)」(IBM J.Res.&Dev.,第46卷,第4/5號,2002年7月/9月)中,該文件在此以其全文引用之方式併入本文中。
除可歸因於組態架構模式設施之安裝而改變之以上處理程序、操作及/或行為之外,亦可在一或多項實施例中改變重設模式,如下
文所解釋。
(4)改變重設模式(例如,用於重設、清除重設及用於重設之其他動作)。當安裝CZAM設施時,若CPU重設係由(例如)載入正常金鑰之啟動而造成,則CPU重設將架構模式設定為z/架構模式。
存在作為ESA/390及z/架構模式之部分而包括的大量重設功能,包括(例如)CPU重設、初始CPU重設、子系統重設、清除重設及開機重設,下文描述以上各者中之每一者。
CPU重設提供一種在資訊受損量最少之情況下清除設備檢查指示及CPU狀態下之任何所得不可預測性的手段。詳言之,當保留CPU狀態以用於進行分析或繼續執行操作時,CPU重設用於清除檢查條件。若未安裝組態z/架構架構模式(CZAM)設施,則在CPU重設係由載入正常金鑰(業者設施)之啟動造成之情況下,CPU重設將架構模式設定為ESA/390模式。當安裝CZAM設施時,在CPU重設係由載入正常金鑰之啟動造成之情況下,CPU重設將架構模式設定為z/架構模式。當CPU重設設定ESA/390模式時,其儲存當前PSW以使得可藉由將架構模式改變回至z/架構之信號處理器設定架構命令還原PSW。
在一實施例中,CPU重設造成以下動作:
1.終止當前指令或其他處理順序(諸如,中斷)之執行,且清除所有程式中斷及監督呼叫中斷條件。
2.清除在CPU本端之任何待決外部中斷條件。不清除浮動外部中斷條件。
3.清除在CPU本端之任何待決機器檢查中斷條件及錯誤指示及任何檢查停止狀態。不清除浮動機器檢查中斷條件。報告給組態中之所有CPU且已進行對CPU之待決的任何機器檢查條件據稱在CPU之本端。
4.清除預取之指令或運算元之所有複本。另外,清除將由於在當前檢查點間隔中執行指令而儲存之任何結果。
5.清除存取暫存器轉譯(ART)後備緩衝器及轉譯後備緩衝器中之項目。
6.若重設係由組態中之任何CPU上的載入正常金鑰之啟動造成,則發生以下動作:
a.當未安裝CZAM設施時,將CPU之架構模式(及由於藉由組態中之所有其他CPU執行之該(等)初始CPU重設,該等所有其他CPU之架構模式)自z/架構模式改變成ESA/390模式。若安裝CZAM設施,則將CPU之架構模式(及由於藉由組態中之所有其他CPU執行之該(等)初始CPU重設,該等所有其他CPU之架構模式)設定為z/架構模式。
b.當未安裝CZAM設施時,儲存當前PSW以供還原z/架構模式之信號處理器設定架構命令隨後使用。
c.當未安裝CZAM設施時,將當前PSW自16個位元組改變成8個位元組。將八位元組PSW之位元設定如下:將位元0至11及位元13至32設定為等於16位元組PSW之相同位元,將位元12設定為一,及將位元33至63設定為等於16位元組PSW之位元97至127。
藉由系統重設正常金鑰之啟動或藉由信號處理器CPU重設命令造成之CPU重設及ESA/390模式中之任何CPU重設不影響所俘獲之z/架構-PSW暫存器(亦即,當CPU最後由於具有代碼0之設定架構命令或歸因於載入正常金鑰之啟動產生的CPU重設而自z/架構模式變成ESA/390模式時儲存的PSW)。
7.在已完成動作1至6之後,將CPU置於停止狀態。當CCW型IPL順序遵循在彼CPU上之重設功能時,CPU在重設功能完成時進入載入狀態且不必在執行重設操作期間進入停止狀態。當清單引導式IPL順序遵循彼CPU上之重設功能時,CPU進入操作狀態且不必在執行重設
操作期間進入停止狀態。
暫存器、儲存器內容及在CPU外部之條件狀態藉由CPU重設而保持不變。然而,若在重設時改變內容之操作正在進行中,則暫存器之後續內容、位置或狀態係無法預測的。並不藉由CPU重設釋放在執行執行鎖定操作時藉由CPU保持之鎖定。
當在CPU正執行I/O指令或正進行I/O中斷時起始CPU中之重設功能時,可能完成或可能不完成CPU與通道子系統之間的當前操作,且相關聯之通道子系統設施之所得狀態可為無法預測的。
程式化備註:
1.將改變欄位之狀態、條件或內容之大部分操作在CPU處於停止狀態時不可能發生。然而,一些信號處理器功能及一些業者功能可改變此等欄位。為了消除在發佈CPU重設時丟失欄位之可能性,應停止CPU,且應無業者功能在進行中。
2.若架構模式經改變成ESA/390模式且當前PSW之位元31為一,則PSW係無效的。
初始CPU重設提供CPU重設連同當前PSW、所俘獲之z/架構PSW、CPU計時器、時鐘比較器、首碼、突發事件位址控制、浮點控制及當日時間(TOD)可程式化暫存器之初始化的功能。若未安裝CZAM設施,則在CPU重設係由載入正常金鑰之啟動造成之情況下,初始CPU重設將架構模式設定為ESA/390模式。當安裝CZAM設施時,在CPU重設係由載入正常金鑰之啟動造成之情況下,初始CPU重設將架構模式設定為z/架構模式。
初始CPU重設將CPU重設功能與以下清除及初始化功能進行組合:
1.當未安裝CZAM設施時,在CPU重設係由載入正常金鑰之啟動
造成之情況下,將CPU之架構模式(及組態中之所有其他CPU之架構模式)設定為ESA/390模式。否則,若安裝CZAM設施,則將CPU之架構模式(及組態中之所有其他CPU之架構模式)設定為z/架構模式。
2.將當前PSW、所俘獲之z/架構PSW、首碼、CPU計時器、時鐘比較器及TOD可程式化暫存器之內容設定為零。當IPL順序遵循彼CPU上之重設功能時,不必將PSW之內容設定為零。
3.將控制暫存器之內容設定為其初始z/架構值。設定控制暫存器之所有64位元而不管CPU係在ESA/390架構模式中抑或在z/架構架構模式中。
4.將浮點控制暫存器之內容設定為零。
5.將突發事件位址暫存器之內容初始化至十六進位0000000000000001。
此等清除及初始化功能包括驗證。
當CPU在操作結束時處於ESA/390架構模式中時將當前PSW設定為零造成PSW為無效的,此係由於PSW位元12在彼模式中將為一。因此,在此狀況下,若在重設之後將CPU置於操作狀態下而不首先引入新PSW,則辨識規格例外狀況。
子系統重設提供用於清除浮動中斷條件以及用於調用I/O系統重設之手段。
清除重設造成初始CPU重設及子系統重設得以執行且,另外,除了TOD時鐘以外,清除或初始化組態中之所有CPU中之所有儲存位置及暫存器。此清除可用於偵錯程式及確保使用者隱私。清除重設亦釋放供執行鎖定操作指令使用之所有鎖定。若未安裝CZAM設施,則清除重設將架構模式設定為ESA/390模式。當安裝CZAM設施時,清除
重設將架構模式設定為z/架構模式。清除不影響外部儲存器,諸如供控制程式使用以保持不可定址分頁之內容的直接存取儲存器件。
清除重設將初始CPU重設功能與造成以下動作之初始化功能進行組合:
1.當未安裝CZAM設施時,將組態中之所有CPU之架構模式設定為ESA/390模式。若安裝CZAM設施,則將組態中之所有CPU之架構模式設定為z/架構模式。
2.將組態中之所有CPU之存取暫存器、通用暫存器及浮點暫存器設定為零。將通用暫存器之所有64位元設定為零,而不管在起始清除重設功能時CPU係在ESA/390架構模式中抑或在z/架構架構模式中。
3.使用有效區塊檢查碼將組態中之主儲存器之內容及相關聯儲存金鑰設定為零。
4.釋放在執行執行鎖定操作指令時供組態中之任何CPU使用之鎖定。
5.執行子系統重設。
在設定暫存器及清除儲存器及儲存金鑰時包括驗證。
程式化備註:
1.架構模式不因系統重設正常金鑰之啟動或不因信號處理器CPU重設或初始CPU重設命令之執行而改變。組態中之所有CPU處於同一架構模式中。
2.由於CPU重設操作不影響將保持不變之欄位之內容,因此CPU將不執行指令且將針對重設時之所有中斷而停用。除了CPU計時器之操作以及機器檢查中斷發生之可能性以外,可藉由將CPU置於等待狀態及藉由針對I/O及外部中斷停用該CPU來停止所有CPU活動。為了避免在CPU計時器經更新或機器檢查中斷發生時造成重設之可能
性,CPU將處於停止狀態。
3. CPU重設、初始CPU重設、子系統重設及清除重設並不影響TOD時鐘之值及狀態。
4. CPU進入檢查停止狀態之條件為相依於模型的且包括排除當前操作之完成之故障。因此,若在CPU處於檢查停止狀態的同時執行CPU重設或初始CPU重設,則PSW、暫存器及儲存位置(包括在發生錯誤時存取之儲存金鑰及儲存位置)之內容可具有無法預測值,且,在一些狀況下,在藉由此等重設清除檢查停止狀態之後,內容可仍為錯誤的。在此情形下,需要清除重設來清除錯誤。
將機器之組件之開機重設功能作為用於彼組件之開機順序之部分執行。可包括用於TOD時鐘、主儲存器、擴展儲存器及通道子系統之開機順序作為CPU開機順序之部分,或可分別起始用於此等單元之開機順序。
CPU開機重設:開機重設造成初始CPU重設得以執行且可能或可能不會造成在通道子系統中執行I/O系統重設。使用有效區塊檢查碼將通用暫存器、存取暫存器及浮點暫存器之內容清除至零。釋放供執行鎖定操作使用且與CPU相關聯之鎖定,除非其由已開機之CPU保持。若未安裝CZAM設施且重設與建立組態相關聯,則將CPU置於ESA/390模式中;否則,將CPU置於已處於組態中之CPU之架構模式中。若安裝CZAM設施,則將CPU置於z/架構模式中。
可藉由使用業者設施手動地起始CPU重設、初始CPU重設、子系統重設及清除重設。初始CPU重設為初始程式載入功能之部分。開機重設作為開啟電源之部分而執行。
當未安裝CZAM設施時,若重設係藉由系統重設清除、載入正常或載入清除金鑰或藉由建立組態之CPU開機重設起始,則將架構模式
設定為ESA/390模式;否則,除了開機重設將模式設定為已處於該組態中之CPU之模式以外,架構模式不變。若安裝CZAM設施,則將架構模式設定為z/架構模式。
下文描述可歸因於組態架構模式設施之安裝而改變的其他處理程序、操作及/或行為:
(5)在執行重設時,抑制所採取以促進ESA/390與z/架構模式之間的改變的其他重設相關動作。當未安裝CZAM設施時,儲存當前PSW以供還原z/架構模式之信號處理器設定架構命令隨後使用。當未安裝CZAM設施時,將當前PSW自16個位元組改變成8個位元組。在一實例中,將八位元組PSW之位元設定如下:將位元0至11及位元13至32設定為等於16位元組PSW之相同位元,將位元12設定為一,及將位元33至63設定為等於16位元組PSW之位元97至127。當安裝CZAM設施時,不儲存PSW以供還原z/架構模式之信號處理器設定架構命令隨後使用,且不將當前PSW自16位元組改變成8位元組。
(6)改變用於以組態CPU服務電話邏輯處理器(SCLP)命令及載入金鑰操作來組態CPU之處理程序。在藉由重設定義之模式中進行組態而非在ESA/390中進行組態。組態CPU SCLP命令將主體CPU置於已處於經組態狀態之CPU之架構模式中。將置於一組態中之至少第一CPU結合CPU開機重設置於彼處,且作為彼重設之部分,將其置於在CPU開機重設中定義之架構模式中。在模型設定經組態CPU之模式時,該模型可替代地設定處於待用狀態之CPU之模式。
啟動載入清除金鑰或載入正常金鑰分別設定如在清除重設或初始CPU重設中定義之架構模式。
(7)改變SIGP以不允許設定架構命令將架構模式改變成ESA/390。
參看圖8A描述信號處理器(SIGP)指令之一實施例。在一實施例
中,信號處理器指令800具有複數個欄位,包括(例如):具有指示信號處理器操作之操作碼的操作碼欄位(作業碼)802;第一暫存器欄位(R1)804;第二暫存器欄位(R3)806;基本欄位(B2)808;及位移欄位(D2)810。R1指明通用暫存器,其內容為第一運算元;R3指明通用暫存器,其內容為第三運算元;且將藉由R2指明之暫存器之內容添加至D2中之位移以提供第二運算元之位址。
在操作中,將八位元命令碼及(若被呼叫)32位元參數傳輸至藉由第三運算元中所含之CPU位址指明之CPU。該結果藉由條件碼指示且可藉由在第一運算元位置之位元位置32至63中組合之狀態來詳述。
第二運算元位址不用於定址資料;實情為,位址之位元56至63含有八位元命令碼。忽略第二運算元位址之位元0至55。命令碼指定待由經定址CPU執行之功能。在一實例中,命令碼之指派及定義包括(例如)以下各者:代碼
通用暫存器R3之位元位置48至63中所含之16位元二進位數形成CPU位址。忽略暫存器之位元0至47。當所指定命令為設定架構命令時,忽略CPU位址;組態中之所有其他CPU被視為經定址的。
在位元位置32至63中含有32位元參數之通用暫存器為R1或R1+1,無論哪一者為奇數暫存器。其取決於是否提供參數之命令碼及其使用目的。
在一實例中,剛描述之運算元具有以下格式:藉由R1指明之通用暫存器:位元0至31未經使用;位元32至63包括狀態;藉由R1或R1+1指明之通用暫存器,無論哪一者為奇數暫存器;位元0至31未經使用;位元32至63包括參數;藉由R3指明之通用暫存器:位元0至48未經使用;位元49至63包括CPU位址;第二運算元位址:位元0至55未經使用;位元56至63包括命令碼。
在操作開始之前且又在操作完成之後,執行序列化功能。
當接受命令碼且未傳回非零狀態時,設定條件碼0。當狀態資訊係由此CPU(執行SIGP之CPU)產生或由經定址CPU傳回時,將狀態置於通用暫存器R1之位元位置32至63中,暫存器之位元0至31保持不變,且設定條件碼1。
當至經定址CPU之存取路徑忙碌或經定址CPU係可操作的但處於其無法對命令碼作出回應之狀態時,設定條件碼2。
當經定址CPU為不可操作的(亦即,其未在安裝中提供,其不處於該組態中,其處於某些維護工程師測試模式中之任一者中,或其電源關閉)時,設定條件碼3。
所得條件碼:
0 接受之命令碼
1 儲存之狀態
2 忙碌
3 不可操作
程式例外狀況:
*具有特殊權限之操作
*異動約束
當在信號處理器指令之第二運算元位址之位元位置56至63中指定設定架構信號處理器命令時,參數暫存器之位元位置56至63之內容用作指定欲將組態中之所有CPU設定至之架構模式之代碼:代碼0指定ESA/390模式,且代碼1及2指定z/架構模式。代碼1指定:對於組態中之所有CPU中之每一者,將當前ESA/390 PSW變換成z/架構PSW。代碼2指定:將執行信號處理器之CPU之PSW變換成z/架構PSW,且對於組態中之所有其他CPU中之每一者,將使用用於彼CPU之所俘獲之z/架構PSW暫存器的值設定PSW。倘若所俘獲之z/架構PSW暫存器尚未藉由重設而設定為全部為零,則使用所俘獲之z/架構PSW暫存器
之值設定PSW將還原CPU在於z/架構模式中持續時存在的PSW。
忽略參數暫存器之位元0至55。忽略信號處理器指令之CPU位址暫存器之內容;組態中之所有其他CPU被視為經定址的。
當未安裝CZAM設施時,僅在以下情況下才接受命令:代碼為0、1或2,CPU尚未處於藉由該代碼指定之模式中,所有其他CPU中之每一者處於停止狀態或檢查停止狀態,且無其他條件排除接受命令。
當安裝CZAM設施時,因為不准許返回至ESA/390模式,所以不接受代碼0,且由於CPU已處於z/架構架構模式中,因此代碼1及2之規格導致指示無效參數及條件碼1之完成。可能或可能不檢查通常藉由設定架構命令驗證之其他先決條件。
若接受,則在執行信號處理器期間由所有CPU完成命令。在此實施例中,在任何狀況下,不同CPU皆不可能處於不同架構模式中。
在一實例中,如下完成設定架構命令:
‧若參數暫存器中之代碼不為0、1或2,或若CPU已處於藉由該代碼指定之架構模式中,則不接受命令。實情為,將藉由信號處理器指令之R1欄位指明之通用暫存器的位元55(無效參數)設定為一,且設定條件碼1。
‧若情形並非組態中之所有其他CPU處於停止或檢查停止狀態之情況,則不接受命令。實情為,將藉由信號處理器指令之R1欄位指明之通用暫存器的位元54(不正確狀態)設定為一,且設定條件碼1。
‧如藉由代碼指定般設定組態中之所有CPU之架構模式(例如,將控制操作之PSW之位元12設定為指定架構模式,及/或設定運算環境中指示指定架構模式之另一指示)。
‧若命令將架構模式自ESA/390改變成z/架構且代碼為1,則,
對於組態中之每一CPU,將八位元組當前PSW改變成16位元組PSW,且如下設定16位元組PSW之位元:將位元0至11及位元13至32設定為等於八位元組PSW之相同位元,將位元12及位元33至96設定為零,且將位元97至127設定為等於八位元組PSW之位元33至63。又,將ESA/390首碼之位元19(其變成z/架構首碼之位元51)設定為零。
若代碼為2,則如在代碼1狀況中一樣設定執行信號處理器之CPU之PSW及所有CPU之首碼值。對於組態中之所有其他CPU中之每一者,使用所俘獲之z/架構PSW暫存器之值設定PSW。然而,若CPU在架構模式轉變時或隨後執行不同於CPU重設之重設,則所俘獲之z/架構PSW暫存器已經設定至全部為零。
‧若命令將架構模式自z/架構改變成ESA/390,則,對於組態中之每一CPU,(1)將在執行信號處理器之CPU之狀況下為經更新之PSW的當前PSW儲存於所俘獲之z/架構PSW暫存器中,及(2)藉由如下設定八位元組PSW之位元來將16位元組之當前PSW改變成八位元組PSW:將位元0至11及位元13至32設定為等於16位元組PSW之相同位元;將位元12設定為一;及將位元33至63設定為等於16位元組PSW之位元97至127。變成ESA/390首碼之位元19的z/架構首碼之位元51保持不變。
‧清除組態中之所有CPU之ALB及TLB的內容。
‧對組態中之所有CPU執行序列化及檢查點同步功能。
若命令將架構模式自z/架構改變成ESA/390且信號處理器命令造成指令提取PER事件之發生,則僅將指令位址之最右邊31個位元儲存於ESA/390 PER位址欄位中。
在一實施例中,關於CZAM,以下情形為先決條件:所有其他CPU中之每一者處於停止或檢查停止狀態,且無其他條件排除接受命令。當安裝CZAM設施時,因為不准許返回至ESA/390模式,所以不接受代碼0,且由於CPU已處於z/架構架構模式中,因此代碼1及2之
規格導致指示無效參數及條件碼1之完成。可能或可能不檢查通常藉由設定架構命令驗證之其他先決條件。在又一實施例中,具有代碼1及2之SIGP指示成功完成而無需進一步指示。
參看圖8B描述與針對設定架構命令碼執行SIGP指令相關聯之處理之一實施例。參看圖8B,運算環境之處理器執行SIGP指令且獲得指示設定架構操作之命令碼(步驟850)。在一實例中,命令碼包括於SIGP指令之第二運算元位址中。
另外,自(例如)藉由SIGP指令指定之參數暫存器獲得待切換至之所請求架構模式(步驟852)。另外,進行關於是否安裝諸如CZAM之組態架構模式設施之判定(查詢854)。在一實例中,此操作由設施指示符來判定。
若未安裝CZAM,則進行關於CPU是否已處於所請求架構模式中之進一步判定(查詢856)。若CPU已處於所請求架構模式中,則在(例如)藉由SIGP指令指明之暫存器中提供狀態(步驟858),且將該狀態視為錯誤(步驟860)。然而,若CPU不處於所請求模式中(查詢856),則進行關於是否滿足藉由指令指定之其他條件(諸如,運算環境之經組態之其他CPU是否處於停止狀態等)的判定(查詢862)。若不滿足該等條件,則處理繼續進行至步驟858。否則,接受命令(步驟864),且改變架構模式。因此,如上文所描述般設定PSW(步驟866),且針對指令之此態樣之處理結束(步驟868)。
返回至查詢854,若安裝CZAM,則進行關於CPU是否處於所請求模式中之判定(查詢870)。若CPU已處於所請求模式中,則在一實例中,提供CPU已處於所請求架構模式((例如,z/架構)中之狀態(步驟872)。然而,在此實施例中,此狀態係可接受的且不視為錯誤(步驟874)。或者忽略該狀態,或在另一實施例中,可提供為非錯誤碼之條件碼。在又一實施例中,狀態僅指示成功完成。其他可能性亦存在以
指示無錯誤,即使CPU已處於所請求架構模式中亦如此。
返回至查詢870,然而,若CPU不處於所請求模式中,則不接受命令,此係由於返回至該一種架構模式(例如,ESA/390)係非法的(步驟876)。提供狀態(步驟878),該狀態被視為錯誤(步驟880)。
在一實施例中,當CZAM在系統中作為非可選設施時,接著可省略查詢854且控制可自步驟852直接傳遞至步驟870。在此實施例中,可能不實施步驟854至868。
在另一實施例中,當接收到切換至當前架構模式之命令時,可能不接受該命令且可在步驟874中指示錯誤。
可基於CAM之安裝改變之其他行為、處理程序及/或操作包括:
(8)對設施位元之改變:將新位元(例如,位元138)添加至設施位元以指示組態z/架構架構模式設施,且將指示z/架構架構模式是否為作用中之位元2設定為一(指示作用中)。
在至少一實施例中,針對LPAR及客體-1(第一級客體-由超管理器起始之客體(例如,藉由發佈開始解譯性執行(SIE)指令))安裝CZAM設施,但針對客體-2(第二級客體-由另一客體啟動之客體(例如,藉由發佈SIE指令))不安裝CZAM設施。
在至少一實施例中,當安裝CZAM且起始z/架構客體-2時,根據圖6A之技術在z/架構模式中起始客體。然而,當安裝CZAM且起始ESA/390客體-2時,根據圖4A之技術,在ESA/390模式中起始客體,此係因為在此實施例中該客體不受CZAM影響。因此,主機及第一級客體受CZAM控制,其中主機及第一級客體將在z/架構中經起始/重設等,而不管對架構模式之偏好(例如,迫使處於z/架構中,此係因為不支援ESA/390),但第二級ESA/390客體不受CZAM影響且將繼續在ESA/390中經起始/重設等。
如本文所描述,基於安裝組態架構模式實施(諸如,組態z/架構
架構模式設施),改變經組態用於多種架構模式之運算環境之某些處理程序、操作及/或行為。一種此處理程序為開機處理程序。參看圖9描述與安裝組態架構模式設施時之開機處理程序相關聯之處理的其他態樣。
參看圖9,最初進行關於是否在運算環境中安裝組態架構模式設施之判定,該運算環境經組態用於複數種架構模式且具有經定義之開機順序以使該運算環境在一種架構模式(例如,舊版模式,諸如ESA/390)中開機(步驟900)。該一種架構模式包括第一指令集架構且具有第一組所支援特徵,諸如31位元定址、32位元通用暫存器之使用,及各種特徵。若判定不安裝該組態架構模式設施(查詢902),則執行當前開機順序(步驟904),如參看圖4A至圖4B所描述。否則,重新組態運算環境以限制該一種架構模式(例如,舊版ESA/390模式)之使用(步驟906)。該重新組態包括(例如)選擇一不同開機順序以使運算環境在另一種架構模式(例如,架構模式之更遲或增強型版本,例如z/架構)中開機(步驟908)。該另一種架構模式包括第二指令集架構且具有第二組所支援特徵,諸如64位元定址、64位元通用暫存器之使用及各種設施,諸如動態位址轉譯及/或其他設施。接著執行開機順序以使運算環境在該另一種架構模式中開機,從而限制該一種架構模式之使用(步驟910),如(例如)參看圖6A至圖6B所描述。在一實例中,此執行包括載入PSW及使位元12反轉。此後,在該另一種架構模式(例如,z/架構)中執行運算環境(步驟912)。
在另一實施例中,參看圖10,重置組態包括停用支援該一種架構模式之一或多個操作,包括停用切換操作(步驟1000)。舉例而言,基於切換回至該一種架構模式(例如,ESA/390)之請求,變更信號處理器指令以提供錯誤。
另外,改變一或多個其他處理程序、操作及/或行為以支援該另
一種架構模式而非該一種架構模式中之開機,且限制該一種架構模式之使用(步驟1002)。此等一或多個其他處理程序包括(例如):組態CPU SCLP命令,其將CPU置於已處於經組態狀態之CPU之架構模式中1004;載入清除金鑰及載入正常金鑰,其分別為如清除重設或初始CPU重設中所定義般設定架構模式之業者設施1006;信號處理器指令,其經改變以接受自架構模式至相同架構模式之切換,以便提供狀態且不視為錯誤1008;及將設施位元添加至設施指示符以指示組態架構模式設施1010。
如本文所描述,不受組態架構模式設施之安裝影響之另一操作為重設操作。參看圖11描述與重設相關聯之處理之一實施例。最初,處理器獲得(例如,接收,提供,或以其他方式得到)重設操作(步驟1100),且執行重設操作以將運算環境重設至另一種架構模式(例如,z/架構)(步驟1102),如本文所描述。此情形包括(例如)使用呈用於架構之適當格式之PSW及將PSW中之位元12設定為零。
本文詳細描述一種組態架構模式設施,其限制經組態用於複數個架構之運算環境所支援之一架構的某些架構態樣之使用。在一實例中,安裝組態架構模式設施,且可重新組態支援多個架構組態之運算環境以使得不再支援該等架構模式中之一者(例如,舊版模式)之態樣,但另一種架構模式(例如,增強型架構模式)保持受支援。當如此組態運算環境時,防止運算環境被重置組態回至不受支援之架構模式。
在另一實施例中,在經選擇架構模式(諸如,z/架構)中動態地組態運算環境。在此實施例中,可能並不進行關於是否安裝CZAM設施之檢查,且可能並不執行明確SIGP設定架構命令。參看圖12描述執行此組態之邏輯之一實施例。
參看圖12,在一實施例中,處理器組態運算環境以在經選擇架
構模式(例如,z/架構)中執行操作(步驟1200)。該組態包括(例如)使用所儲存之程式狀態字組開始運算環境之初始化(步驟1202)。在一實例中,所儲存之程式狀態字組具有不同於經選擇架構模式之架構模式之格式。因此,進行所儲存之程式狀態字組具有不同於經選擇架構模式之架構模式之格式的判定(步驟1204)。基於彼判定,自動地修改所儲存之程式狀態字組以具有經選擇架構模式之格式(步驟1206)。該自動地修改係在不存在切換至經選擇架構模式之明確請求之情況下執行。接著完成使用修改之程式狀態字組進行之運算環境之初始化以將運算環境組態於經選擇架構模式中(步驟1208)。
在一實施例中,CZAM設施可與一或多個其他設施一起使用,該一或多個其他設施包括(例如)無DAT設施及/或控制公用程式開機設施,無DAT設施及/或控制公用程式開機設施分別描述於以下共同申請、共同讓渡之申請案中:Gainey等人之題為「管理與經選擇架構設施相關聯之處理(Managing Processing Associated with Selected Architectural Facilities)」之申請案(IBM檔案號:POU920140020US1);及Michael K.Gschwind之「能夠在多個架構中初始化之控制公用程式之共同開機序列(Common Boot Sequence for Control Utility Able to be Initialized in Multiple Architectures)」申請案(IBM檔案號:POU920140019US1),上述申請案中之每一者在此以其全文引用之方式併入本文中。
參看圖13,在一實例中,電腦程式產品1300包括(例如)一或多個非暫時性電腦可讀儲存媒體1302以將電腦可讀程式碼構件、邏輯及/或指令1304儲存於其上,以提供及促進一或多項實施例。
本發明可為一系統、一方法及/或一電腦程式產品。電腦程式產品可包括電腦可讀儲存媒體(或多個媒體),其上具有電腦可讀程式指令以使得處理器執行本發明之態樣。
電腦可讀儲存媒體可為有形器件,其可保持及儲存指令以供指令執行器件使用。電腦可讀儲存媒體可為(例如但不限於)電子儲存器件、磁性儲存器件、光學儲存器件、電磁儲存器件、半導體儲存器件或前述各者之任何合適組合。電腦可讀儲存媒體之更特定實例之非窮盡性清單包括以下各者:攜帶型電腦磁片、硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可擦除可程式化唯讀記憶體(EPROM或快閃記憶體)、靜態隨機存取記憶體(SRAM)、攜帶型光碟唯讀記憶體(CD-ROM)、數位影音光碟(DVD)、記憶棒、軟性磁碟、機械編碼器件(諸如其上記錄有指令之凹槽中之打孔卡片或凸起結構)及前述各者之任何合適組合。如本文所使用,不應將電腦可讀儲存媒體本身解釋為暫時性信號,諸如無線電波或其他自由傳播之電磁波、經由波導或其他傳輸媒體傳播之電磁波(例如,經由光纜傳遞之光脈衝),或經由導線傳輸之電信號。
本文中所描述之電腦可讀程式指令可自電腦可讀儲存媒體下載至各別運算/處理器件或經由網路(例如,網際網路、區域網路、廣域網路及/或無線網路)下載至外部電腦或外部儲存器件。網路可包含銅傳輸纜線、光學傳輸光纖、無線傳輸、路由器、防火牆、交換器、閘道器電腦及/或邊緣伺服器。每一運算/處理器件中之網路配接卡或網路介面自網路接收電腦可讀程式指令且轉遞電腦可讀程式指令以用於儲存於各別運算/處理器件內之電腦可讀儲存媒體中。
用於執行本發明之操作之電腦可讀程式指令可為以一或多種程式設計語言之任何組合撰寫之組譯器指令、指令集架構(ISA)指令、機器指令、機器相依指令、微碼、韌體指令、狀態設定資料或原始程式碼或目標碼,該一或多種程式設計語言包括諸如Smalltalk、C++或其類似者之物件導向式程式設計語言,及習知程序性程式設計語言,諸如「C」程式設計語言或類似程式設計語言。電腦可讀程式指令可
完全在使用者之電腦上執行、部分地在使用者之電腦上執行、作為獨立套裝軟體執行、部分地在使用者之電腦上執行且部分地在遠端電腦上執行或完全在遠端電腦或伺服器上執行。在後一種情形中,遠端電腦可經由任何類型之網路(包括區域網路(LAN)或廣域網路(WAN))連接至使用者之電腦,或可連接至一外部電腦(例如,使用網際網路服務提供者經由網際網路)。在一些實施例中,電子電路(包括(例如)可程式化邏輯電路、場可程式化閘陣列(FPGA)或可程式化邏輯陣列(PLA))可藉由利用電腦可讀程式指令之狀態資訊將電子電路個人化而執行電腦可讀程式指令,以便執行本發明之態樣。
本文中參考根據本發明之實施例的方法、裝置(系統)及電腦程式產品之流程圖說明及/或方塊圖來描述本發明之態樣。應理解,可藉由電腦可讀程式指令實施流程圖說明及/或方塊圖中之每一區塊,及流程圖說明及/或方塊圖中的區塊之組合。
可將此等電腦可讀程式指令提供至通用電腦、專用電腦或其他可程式化資料處理裝置之處理器以產生一機器,以使得經由該電腦或其他可程式化資料處理裝置之處理器執行之指令建立用於實施該或該等流程圖及/或方塊圖區塊中所指定之功能/動作之手段。亦可將此等電腦可讀程式指令儲存於一電腦可讀儲存媒體中,其可指導電腦、可程式化資料處理裝置及/或其他器件以特定方式發揮作用,使得其中儲存有指令之電腦可讀儲存媒體包含一製造物件,該製造物件包括實施該或該等流程圖及/或方塊圖區塊中所指定之功能/動作之態樣的指令。
電腦可讀程式指令亦可載入至電腦、其他可程式化資料處理裝置或其他器件上,以使得在該電腦、其他可程式化裝置或其他器件上執行一系列操作步驟以產生電腦實施處理程序,使得在該電腦、其他可程式化裝置或其他器件上執行之指令實施該一或多個流程圖及/或
方塊圖區塊中所指定之功能/動作。
諸圖中之流程圖及方塊圖說明根據本發明之各種實施例之系統、方法及電腦程式產品的可能實施之架構、功能性及操作。就此而言,流程圖或方塊圖中之每一區塊可表示一模組、區段或指令之部分,其包含用於實施指定邏輯功能之一或多個可執行指令。在一些替代實施中,區塊中所提及之功能可不按諸圖中所提及之次序發生。舉例而言,取決於所涉及之功能性,以連續方式展示之兩個區塊實際上可實質上同時執行,或該等區塊有時可以相反次序執行。亦將注意,可藉由執行指定功能或動作或執行專用硬體及電腦指令之組合的基於專用硬體之系統實施方塊圖及/或流程圖說明中之每一區塊,及方塊圖及/或流程圖說明中的區塊之組合。
除上述情形之外,可藉由提供客戶環境之管理之服務提供者來提供(provide、offer)、部署、管理、服務一或多項態樣等。舉例而言,服務提供者可建立、維持、支援電腦程式碼及/或執行用於一或多個客戶之一或多項態樣之電腦基礎結構等。作為回報,服務提供者可在訂用及/或費用協定下接收來自客戶之付款(作為實例)。另外或替代地,服務提供者可接收來自於向一或多個第三方出售廣告內容之付款。
在一態樣中,可部署一應用程式以用於執行一或多項實施例。作為一實例,應用程式之部署包含提供可操作以執行一或多項實施例之電腦基礎結構。
作為另一態樣,可部署運算基礎結構,包含將電腦可讀程式碼整合至運算系統中,其中程式碼與運算系統結合能夠執行一或多項實施例。
作為又一態樣,可提供一種用於整合運算基礎結構之處理程序,包含將電腦可讀程式碼整合至電腦系統中。電腦系統包含電腦可
讀媒體,其中電腦媒體包含一或多項實施例。程式碼結合電腦系統能夠執行一或多項實施例。
儘管上文描述各種實施例,但此等實施例僅為實例。舉例而言,其他架構之運算環境可用以併有及使用一或多項實施例。另外,可使用不同指令、指令格式、指令欄及/或指令值。又另外,其他類型之處理程序、操作及/或行為可受CAM之安裝影響。此外,可類似地移除其他架構功能。許多變化係可能的。
另外,其他類型之運算環境可為有益的且可加以使用。作為一實例,可使用適合於儲存及/或執行程式碼之資料處理系統,其包括直接或經由系統匯流排間接地耦接至記憶體元件之至少兩個處理器。記憶體元件包括(例如)在實際執行程式碼期間使用之本端記憶體、大容量儲存器,及提供至少某一程式碼之臨時儲存以便減少在執行期間必須自大容量儲存器擷取程式碼之次數的快取記憶體。
輸入/輸出或I/O器件(包括(但不限於)鍵盤、顯示器、指標器件、DASD、磁帶、CD、DVD、隨身碟(Thumb Drive)及其他記憶體媒體等)可直接或經由介入之I/O控制器耦接至系統。網路配接器亦可耦接至系統以使得資料處理系統能夠變成經由介入之私人網路或公用網路耦接至其他資料處理系統或遠端印表機或儲存器件。數據機、纜線數據機及乙太網路卡僅為幾個可用類型之網路配接器。
參看圖14,描繪實施一或多項實施例之主機電腦系統5000之代表性組件。代表性主機電腦5000包含與電腦記憶體(亦即,中央儲存器)5002通信之一或多個CPU 5001,以及至儲存媒體器件5011及網路5010以用於與其他電腦或SAN及其類似者通信之I/O介面。CPU 5001與具有經架構指令集及經架構功能性之架構相順應。CPU 5001可具有存取暫存器轉譯(ART)5012,其包括ART後備緩衝器(ALB)5013,其用於選擇待由動態位址轉譯(DAT)5003用於將記憶體之程式位址
(虛擬位址)變換成真實位址的位址空間。DAT通常包括用於快取轉譯之轉譯後備緩衝器(TLB)5007,以使得對電腦記憶體5002之區塊的稍後存取不需要延遲位址轉譯。通常,在電腦記憶體5002與處理器5001之間使用快取記憶體5009。快取記憶體5009可為具有可用於一個以上CPU之大快取記憶體及介於大快取記憶體與每一CPU之間的更小更快(更低層級)快取記憶體的階層。在一些實施中,將較低層級之快取記憶體分裂以提供用於指令提取及資料存取之單獨低層級快取記憶體。
在一實施例中,由指令提取單元5004經由快取記憶體5009自記憶體5002提取指令。在指令解碼單元5006中解碼指令且將其分派至一或多個指令執行單元5008(在一些實施例中,與其他指令一起)。通常使用若干個執行單元5008,例如算術執行單元、浮點執行單元及分支指令執行單元。由執行單元執行指令,從而在需要時自指令指定之暫存器或記憶體存取運算元。若將自記憶體5002存取(載入或儲存)運算元,則載入/儲存單元5005通常在經執行之指令的控制下處置存取。可在硬體電路中或在內部微碼(韌體)中或藉由以上兩者之組合執行指令。
如所提及,電腦系統包括本端(或主)儲存器中之資訊,以及定址、保護及參考及改變記錄。定址之一些態樣包括位址之格式、位址空間之概念、各種類型之位址,及一種類型之位址經轉譯成另一種類型之位址的方式。一些主儲存器包括永久性指派之儲存位置。主儲存器為系統提供對資料之直接可定址快速存取儲存。在可處理資料與程式兩者之前,將資料與程式兩者載入至主儲存器中(自輸入器件)。
主儲存器可包括一或多個更小更快存取緩衝儲存器,其有時被稱為快取記憶體。快取記憶體通常與CPU或I/O處理器實體相關聯。除了對效能之影響以外,程式大體上觀測不到實體構造之影響及相異儲存媒體之使用。
可針對指令及針對資料運算元維持單獨快取記憶體。將快取記憶體內之資訊以相連位元組維持於被稱為快取區塊或快取行(或簡稱為行)之整數邊界上。模型可提供抽取快取記憶體屬性指令,其傳回快取行之位元組大小。模型亦可提供預取資料及預取資料相對較長指令,其影響儲存器至資料或指令快取記憶體中之預取或資料自快取記憶體之釋放。
儲存器被視為長的水平位元串。對於大部分操作,對儲存器之存取按自左至右順序進行。將位元串細分成八個位元之單元。八位元單元被稱為位元組,其為所有資訊格式之基本建置區塊。儲存器中之每一位元組位置由獨特非負整數來識別,該獨特非負整數為彼位元組位置之位址或簡稱為位元組位址。鄰近位元組位置具有連續位址,在左側自0開始且按自左至右順序進行。位址為無正負號之二進位整數且為24、31或64位元。
在儲存器與CPU或通道子系統之間傳輸資訊,一次一個位元組或一群位元組。除非另外指定,否則在(例如)z/架構中,儲存器中之一群位元組由群組之最左位元組來定址。群組中之位元組之數目由待執行之操作暗示或明確地指定。當用於CPU操作中時,一位元組群組被稱為一欄位。在每一位元組群組內,在(例如)z/架構中,位元按自左至右順序編號。在z/架構中,最左位元有時被稱作「高位」位元,且最右位元被稱作「低位」位元。然而,位元編號並非儲存位址。僅位元組可經定址。為了對儲存器中之位元組之個別位元操作,存取整個位元組。位元組中之位元自左至右經編號為0至7(在(例如)z/架構中)。位址中之位元可針對24位元位址經編號為8至31或40至63,或針對31位元位址經編號為1至31或33至63;該等位元針對64位元位址經編號為0至63。在一實例中,位元8至31及1至31適用於處於寬度為32位元之一位置(例如,暫存器)中之位址,而位元40至63及33至63適用
於處於寬度為64位元之位置中之位址。在多個位元組之任何其他固定長度格式內,構成格式之位元自0開始連續編號。出於錯誤偵測之目的且較佳地用於校正,可隨每一位元組或隨一群位元組傳輸一或多個檢查位元。此等檢查位元由機器自動地產生且無法藉由程式直接控制。儲存容量按位元組之數目來表達。當儲存運算元欄位之長度由指令之操作碼來暗示時,稱該欄位具有固定長度,該長度可為一個、兩個、四個、八個或十六個位元組。可針對一些指令暗示較大欄位。當未暗示儲存運算元欄位之長度而明確地陳述該長度時,稱該欄位具有可變長度。可變長度運算元之長度可按一個位元組之增量(或對於一些指令,按兩個位元組之倍數或其他倍數)變化。當將資訊置放於儲存器中時,替換包括於指明欄位中之僅彼等位元組位置之內容,即使至儲存器之實體路徑之寬度可能大於所儲存之欄位之長度亦如此。
某些資訊單元將在儲存器中之整數邊界上。當資訊之儲存位址為單元之位元組長度之倍數時,邊界被稱為資訊單元之整數。對整數邊界上之2、4、8、16及32個位元組之欄位給予特殊名稱。半字組為二位元組邊界上的兩個連續位元組之群組且為指令之基本建置區塊。字組為四位元組邊界上的四個連續位元組之群組。雙字組為八位元組邊界上的八個連續位元組之群組。四倍字組為16位元組邊界上的16個連續位元組之群組。八倍字組為32位元組邊界上的32個連續位元組之群組。當儲存位址指明半字組、字組、雙字組、四倍字組及八倍字組時,位址之二進位表示分別含有一個、兩個、三個、四個或五個最右零位元。指令將在兩位元組整數邊界上。大部分指令之儲存運算元不具有邊界對準要求。
在針對指令及資料運算元實施單獨快取記憶體之器件上,若程式儲存至隨後提取指令所自之快取行中,則可經歷顯著延遲,而不管儲存器是否更改隨後提取之指令。
在一實例中,可由軟體(有時被稱為已授權內部碼、韌體、微碼、微型碼或微微碼及其類似者,前述各者中之任一者將與一或多項實施例相一致)來實踐實施例。參看圖14,體現一或多項態樣之軟體程式碼可由主機系統5000之處理器5001自長期儲存媒體器件5011(諸如,CD-ROM光碟機、磁帶機或硬碟機)存取。軟體程式碼可體現於各種已知媒體中之任一者上以用於供資料處理系統(諸如,磁片、硬碟機或CD-ROM)使用。程式碼可於此等媒體上予以散佈,或可自電腦記憶體5002或一電腦系統之儲存器經由至其他電腦系統之網路5010散佈至使用者,以供由此等其他系統之使用者使用。
軟體程式碼包括作業系統,其控制各種電腦組件及一或多個應用程式之功能及互動。在程式碼可用於由處理器5001處理之情況下,通常將程式碼自儲存媒體器件5011分頁至相對較高速之電腦儲存器5002。用於在記憶體中、在實體媒體上體現軟體程式碼及/或經由網路散佈軟體程式碼之技術及方法係熟知的且本文將不會進一步加以論述。當在有形媒體(包括但不限於電子記憶體模組(RAM)、快閃記憶體、光碟(CD)、DVD、磁帶及其類似者)上建立及儲存程式碼時,程式碼常常被稱作「電腦程式產品」。電腦程式產品媒體通常可由較佳地在電腦系統中之處理電路讀取以供由處理電路執行。
圖15說明可供實踐一或多項實施例之代表性工作站或伺服器硬體系統。圖15之系統5020包含代表性基本電腦系統5021,諸如個人電腦、工作站或伺服器,包括可選周邊器件。基本電腦系統5021包括一或多個處理器5026及用以根據已知技術連接處理器5026與系統5021之其他組件及實現處理器5026與系統5021之其他組件之間的通信的匯流排。匯流排將處理器5026連接至記憶體5025及長期儲存器5027,長期儲存器可包括(例如)硬碟機(包括例如磁性媒體、CD、DVD及快閃記憶體中之任一者)或磁帶機。系統5021亦可能包括使用者介面配接
器,其經由匯流排將微處理器5026連接至一或多個介面器件(諸如,鍵盤5024、滑鼠5023、印表機/掃描儀5030,及/或其他介面器件),其可為任何使用者介面器件,諸如觸敏式螢幕、數位化輸入小鍵盤等。匯流排亦經由顯示器配接器將顯示器件5022(諸如,LCD螢幕或監視器)連接至微處理器5026。
系統5021可藉由能夠與網路5029通信5028之網路配接器與其他電腦或電腦之網路通信。實例網路配接器為通信通道、符記環、乙太網路或數據機。替代地,系統5021可使用諸如蜂巢式數位封包資料(CDPD)卡之無線介面進行通信。系統5021可與區域網路(LAN)或廣域網路(WAN)中之此等其他電腦相關聯,或系統5021可為與另一電腦呈用戶端/伺服器配置中之用戶端,等等。所有此等組態以及適當通信硬體及軟體為此項技術中所已知的。
圖16說明可供實踐一或多項實施例之資料處理網路5040。資料處理網路5040可包括複數個個別網路,諸如無線網路及有線網路,前述各者中之每一者可包括複數個個別工作站5041、5042、5043、5044。另外,如熟習此項技術者將瞭解,可包括一或多個LAN,其中LAN可包含耦接至主機處理器之複數個智慧型工作站。
仍參看圖16,網路亦可包括大型電腦或伺服器,諸如閘道電腦(用戶端伺服器5046)或應用程式伺服器(可存取資料儲存庫且亦可直接自工作站5045存取之遠端伺服器5048)。閘道電腦5046充當進入每一個別網路中之點。當將一網路連接協定連接至另一網路連接協定時,需要閘道器。閘道器5046可借助於通信鏈路較佳地耦接至另一網路(例如,網際網路5047)。閘道器5046亦可使用通信鏈路直接耦接至一或多個工作站5041、5042、5043、5044。可利用可自國際商業機器公司購得之IBM eServer系統z伺服器來實施閘道電腦。
同時參看圖15及圖16,可體現一或多項態樣之軟體程式碼5031
可由系統5020之處理器5026自長期儲存媒體5027(諸如,CD-ROM光碟機或硬碟機)存取。軟體程式碼可體現於多種已知媒體中之任一者中以用於供資料處理系統(諸如,磁片、硬碟機或CD-ROM)使用。程式碼可於此等媒體上予以散佈,或可自記憶體或一電腦系統之儲存器經由至其他電腦系統之網路散佈至使用者5050、5051,以供此等其他系統之使用者使用。
替代地,程式碼可體現於記憶體5025中,且由處理器5026使用處理器匯流排來存取。此程式碼包括作業系統,其控制各種電腦組件及一或多個應用程式5032之功能及互動。在程式碼可用於由處理器5026處理之情況下,通常將程式碼自儲存媒體5027分頁至高速記憶體5025。用於在記憶體中、在實體媒體上體現軟體程式碼及/或經由網路散佈軟體程式碼之技術及方法係熟知的且本文將不會進一步加以論述。當在有形媒體(包括但不限於電子記憶體模組(RAM)、快閃記憶體、光碟(CD)、DVD、磁帶及其類似者)上建立及儲存程式碼時,程式碼常常被稱作「電腦程式產品」。電腦程式產品媒體通常可由較佳地在電腦系統中之處理電路讀取以供處理電路執行。
最容易用於處理器之快取記憶體(通常比處理器之其他快取記憶體快且小)係最低的(L1或第一級)快取記憶體且主儲存器(主記憶體)係最高層級快取記憶體(若存在3個層級,則為3)。最低層級快取記憶體常常劃分成保持待執行之機器指令的指令快取記憶體(I-快取記憶體)及保持資料運算元之資料快取記憶體(D-快取記憶體)。
參看圖17,針對處理器5026描繪例示性處理器實施例。通常,一或多個層級之快取記憶體5053用以緩衝記憶體區塊以便改良處理器效能。快取記憶體5053為保持很可能使用之記憶體資料之快取行的高速緩衝器。典型快取行為64、128或256位元組之記憶體數據。單獨快取記憶體常常用於快取指令而非用於快取資料。常常藉由此項技術中
熟知之各種「窺探」演算法來提供快取記憶體一致性(記憶體及快取記憶體中之行之複本的同步)。處理器系統之主記憶體儲存器5025常常被稱作快取記憶體。在具有4個層級之快取記憶體5053之處理器系統中,主儲存器5025有時被稱作層級5(L5)快取記憶體,此係因為其通常更快且僅保持可用於電腦系統之非揮發性儲存器(DASD、磁帶等)之一部分。主儲存器5025「快取」由作業系統置入分頁至主儲存器5025及自主儲存器5025移出分頁之資料頁。
程式計數器(指令計數器)5061追蹤待執行之當前指令之位址。z/架構處理器中之程式計數器為64位元且可經截短至31或24位元以支援先前定址限制。程式計數器通常體現於電腦之程式狀態字組(PSW)中,以使得其在內容脈絡切換期間持續。因此,正在進行中之具有程式計數器值之程式可由(例如)作業系統來中斷(自程式環境至作業系統環境之內容脈絡切換)。在程式並非作用中時,程式之PSW維持程式計數器值,且在作業系統正執行時,使用作業系統之程式計數器(在PSW中)。通常,將程式計數器遞增達等於當前指令之位元組之數目的量。精簡指令集運算(RISC)指令通常為長度固定的,而複雜指令集運算(CISC)指令通常為長度可變的。IBM z/架構之指令為長度為2、4或6位元組之CISC指令。例如,藉由分支指令之內容脈絡切換操作或採取分支操作來修改程式計數器5061。在內容脈絡切換操作中,將當前程式計數器值連同關於正執行之程式之其他狀態資訊(諸如,條件碼)一起儲存於程式狀態字組中,且載入新程式計數器值,其指向待執行之新程式模組之指令。執行採取分支操作以便准許程式藉由將分支指令之結果載入至程式計數器5061中來作出決策或在程式內循環。
通常,指令提取單元5055用以代表處理器5026提取指令。提取單元提取「下一循序指令」、採取分支指令之目標指令或遵循內容脈絡切換之程式的第一指令。現代指令提取單元常常使用預取技術以基
於可能使用經預取之指令之可能性推測地預取指令。舉例而言,提取單元可提取16位元組之指令,其包括下一循序指令及額外位元組之其他循序指令。
接著由處理器5026執行經提取之指令。在實施例中,將經提取之指令傳遞至提取單元之分派單元5056。分派單元解碼指令且將關於經解碼指令之資訊轉遞至適當單元5057、5058、5060。執行單元5057通常將自指令提取單元5055接收關於經解碼算術指令之資訊且將根據指令之作業碼對運算元執行算術運算。較佳地自記憶體5025、經架構暫存器5059或自正執行之指令之立即欄位將運算元提供至執行單元5057。當儲存時,將執行結果儲存於記憶體5025、暫存器5059中或儲存於其他機器硬體(諸如,控制暫存器、PSW暫存器及其類似者)中。
使用動態位址轉譯5062且視情況使用存取暫存器轉譯5063將虛擬位址變換成真實位址。
處理器5026通常具有用於執行指令之功能的一或多個單元5057、5058、5060。參看圖18A,執行單元5057可借助於介接邏輯5071與經架構通用暫存器5059、解碼/分派單元5056、載入儲存單元5060及其他5065處理器單元通信5071。執行單元5057可使用若干個暫存器電路5067、5068、5069以保持算術邏輯單元(ALU)5066將進行操作所針對之資訊。ALU執行諸如加法、減法、乘法及除法之算術運算以及諸如及、或及互斥或(XOR)、旋轉及移位之邏輯函數。較佳地,ALU支援相依於設計之特殊化運算。其他電路可提供其他經架構設施5072,包括(例如)條件碼及復原支援邏輯。通常,將ALU運算之結果保持在輸出暫存器電路5070中,輸出暫存器電路可將結果轉遞至多種其他處理函式。存在處理器單元之許多配置,本描述僅意欲提供對一實施例之代表性理解。
加法指令例如將在具有算術及邏輯功能性之執行單元5057中執
行,而浮點指令例如將在具有特殊化浮點能力之浮點執行中執行。較佳地,執行單元藉由對運算元執行作業碼定義之函數來對藉由指令識別之運算元進行運算。舉例而言,可藉由執行單元5057對可見於兩個暫存器5059中之運算元執行加法指令,該兩個暫存器係藉由指令之暫存器欄位識別。
執行單元5057對兩個運算元執行算術加法且將結果儲存於第三運算元中,其中該第三運算元可為第三暫存器或兩個源暫存器中之一者。執行單元較佳地利用算術邏輯單元(ALU)5066,其能夠執行諸如移位、旋轉、及、或及互斥或之多種邏輯函數以及包括加法、減法、乘法、除法中之任一者之多種代數函數。一些ALU 5066經設計用於純量運算或一些ALU經設計用於浮點。取決於架構,資料可為位元組由大到小(Big Endian)(其中最低有效位元組在最高位元組位址處)或位元組由小到大(Little Endian)(其中最低有效位元組在最低位元組位址處)。IBM z/架構為位元組由大到小。帶正負號欄位可為正負號及量值,取決於架構,其為1之補數或2之補數。由於2之補數中之負值或正值僅需要在ALU內進行加法,因此2之補數係有利的,因為ALU不需要設計減法能力。通常以簡寫方式描述數字,例如,其中12位元欄位定義4,096位元組區塊之位址且通常描述為4Kbyte(千位元組)區塊。
參看圖18B,通常將用於執行分支指令之分支指令資訊發送至分支單元5058,該分支單元常常使用分支預測演算法(諸如,分支歷史表5082)來在其他條件運算完成之前預測分支之結果。將在條件運算完成之前提取且推測地執行當前分支指令之目標。當條件運算完成時,基於條件運算之條件及推測之結果完成或丟棄推測地執行之分支指令。若條件碼滿足分支指令之分支要求,則典型分支指令可測試條件碼及至目標位址之分支,可(例如)基於包括可見於暫存器欄位中之
一之若干個數字或指令之立即欄位運算目標位址。分支單元5058可使用具有複數個輸入暫存器電路5075、5076、5077及一輸出暫存器電路5080之ALU 5074。例如,分支單元5058可與通用暫存器5059、解碼分派單元5056或其他電路5073通信5081。
一群指令之執行可出於多種原因而中斷,該等原因包括(例如)由作業系統起始之內容脈絡切換、造成內容脈絡切換之程式例外狀況或錯誤、造成複數個程式(在多執行緒環境中)之內容脈絡切換或多執行緒活動之I/O中斷信號。較佳地,內容脈絡切換動作儲存關於當前正執行之程式之狀態資訊且接著載入關於正被調用之另一程式之狀態資訊。舉例而言,可將狀態資訊儲存於硬體暫存器中或記憶體中。狀態資訊較佳地包含指向待執行之下一指令之程式計數器值、條件碼、記憶體轉譯資訊及經架構暫存器內容。可藉由硬體電路、應用程式、作業系統程式或韌體碼(微碼、微微碼或經授權內部碼(LIC))單獨地或組合地鍛煉內容脈絡切換活動。
處理器根據指令定義之方法存取運算元。指令可使用指令之一部分之值提供立即運算元,可提供明確指向通用暫存器或專用暫存器(例如,浮點暫存器)之一或多個暫存器欄位。指令可利用藉由作業碼欄位識別為運算元之隱含暫存器。指令可利用運算元之記憶體位置。可藉由暫存器、立即欄位或暫存器及立即欄位之組合來提供運算元之記憶體位置,如藉由以下各者舉例說明:z/架構長位移設施,其中指令定義(例如)相加在一起以提供記憶體中之運算元之位址的基底暫存器、索引暫存器及立即欄位(位移欄位)。除非另外指示,否則本文中之位置通常暗示主記憶體(主儲存器)中之位置。
參看圖18C,處理器使用載入/儲存單元5060存取存儲器。載入/儲存單元5060可藉由獲得記憶體5053中之目標運算元之位址及將運算元載入於暫存器5059或另一記憶體5053位置中來執行載入操作,或可
藉由獲得記憶體5053中之目標運算元之位址及將自暫存器5059或另一記憶體5053位置獲得之資料儲存於記憶體5053中之目標運算元位置來執行儲存操作。載入/儲存單元5060可為推測式的且可按相對於指令序列而言為無序之順序來存取記憶體;然而,載入/儲存單元5060將用於維持按次序執行指令之程式的外觀。載入/儲存單元5060可與通用暫存器5059、解碼/分派單元5056、快取記憶體/記憶體介面5053或其他元件5083通信5084,且包含各種暫存器電路5086、5087、5088及5089、ALU 5085及控制邏輯5090以運算儲存位址及提供管線定序以保持操作按次序。一些操作可為無序的,但載入/儲存單元提供功能性以使無序操作在程式看起來為已按次序執行,如此項技術中所熟知。
較佳地,應用程式「經歷」之位址常常被稱作虛擬位址。虛擬位址有時被稱作「邏輯位址」及「有效位址」。此等虛擬位址係虛擬的,因為其藉由多種動態位址轉譯(DAT)技術中之一者經重導向至實體記憶體位置,該等技術包括但不限於:僅對虛擬位址加上偏移值作為前置詞;經由一或多個轉譯表轉譯虛擬位址,該等轉譯表較佳地單獨或組合地包含至少一區段表格及一分頁表格,較佳地,具有指向分頁表格之項目的區段表格。在z/架構中,提供轉譯階層,其包括區第一表格、區第二表格、區第三表格、區段表格及可選分頁表格。常常藉由利用轉譯後備緩衝器(TLB)來改良位址轉譯之效能,該轉譯後備緩衝器包含將虛擬位址映射至相關聯實體記憶體位置之項目。當DAT使用轉譯表轉譯虛擬位址時,建立項目。虛擬位址之後續使用可接著利用快速TLB之項目而非緩慢循序轉譯表存取。可藉由包括最近最少使用(LRU)之多種替換演算法管理TLB內容。
在處理器為多處理器系統之處理器之狀況下,每一處理器具有保持共用資源(諸如,針對一致性而互鎖之I/O、快取記憶體、TLB及
記憶體)之責任。通常,「窺探」技術將用於維持快取一致性。在窺探環境中,每一快取行可經標記為處於共用狀態、排他性狀態、改變狀態、無效狀態及其類似狀態中之任一者中以便促進共用。
I/O單元5054(圖17)為處理器提供用於附接至周邊器件(包括(例如)磁帶、磁碟、印表機、顯示器及網路)之手段。常常藉由軟體驅動程式將I/O單元呈現給電腦程式。在大型電腦(諸如,來自IBM®之系統z)中,通道配接器及開放系統配接器為大型電腦之I/O單元,其提供作業系統與周邊器件之間的通信。
另外,其他類型之運算環境可受益於一或多項態樣。作為一實例,環境可包括仿真器(例如,軟體或其他仿真機制),其中仿真特定架構(包括(例如)指令執行、經架構功能,諸如位址轉譯,及經架構暫存器)或特定架構之子集(例如,在具有處理器及記憶體之原創電腦系統上)。在此環境中,仿真器之一或多個仿真功能可實施一或多項實施例,即使執行仿真器之電腦可能具有不同於正進行仿真之能力的架構亦如此。作為一實例,在仿真模式中,解碼經仿真之特定指令或操作,且建置適當仿真功能以實施個別指令或操作。
在仿真環境中,主機電腦包括(例如):記憶體,其儲存指令及資料;指令提取單元,其自記憶體提取指令且視情況提供用於經提取之指令之本端緩衝;指令解碼單元,其接收經提取之指令且判定已經提取之指令之類型;及指令執行單元,其執行該等指令。執行可包括將資料自記憶體載入至暫存器中;將資料自暫存器儲存回至記憶體;或執行如由解碼單元判定之某一類型之算術或邏輯運算。在一實例中,以軟體實施每一單元。舉例而言,將由該等單元執行之操作實施為仿真器軟體內之一或多個次常式。
更特定言之,在大型電腦中,程式設計師(通常為當今的「C」程式設計師)常常借助於編譯器應用程式使用經架構機器指令。可在z/
架構IBM®伺服器中或替代地在執行其他架構之機器中原生地執行儲存於儲存媒體中之此等指令。可在現有的及未來的IBM®大型電腦伺服器中及在IBM®之其他機器(例如,電力系統伺服器及系統x伺服器)上仿真該等指令。可在使用由IBM®、Intel®、AMD及其他公司製造之硬體在廣泛多種機器上執行Linux的機器中執行該等指令。除在z/架構下之彼硬體上執行以外,可使用Linux以及使用藉由赫拉克勒斯(Hercules)、UMX或軟體基礎公司(FSI)進行之仿真之機器,其中大體上執行係在仿真模式中進行。在仿真模式中,藉由原生處理器執行仿真軟體以仿真經仿真之處理器之架構。
原生處理器通常執行包含韌體或原生作業系統之仿真軟體,以執行經仿真之處理器之仿真。仿真軟體負責提取及執行經仿真之處理器架構之指令。仿真軟體維持經仿真之程式計數器以追蹤指令邊界。仿真軟體可一次提取一或多個經仿真之機器指令且將該一或多個經仿真之機器指令轉換成原生機器指令之對應群組以供原生處理器執行。可快取此等經轉換之指令,以使得可完成更快轉換。儘管如此,仿真軟體將用於維持經仿真之處理器架構之架構規則以便確保針對經仿真之處理器撰寫之作業系統及應用程式正確地進行操作。此外,仿真軟體將用於提供藉由經仿真之處理器架構識別之資源,其包括但不限於控制暫存器、通用暫存器、浮點暫存器、包括區段表格及分頁表格之動態位址轉譯功能(例如,中斷機制、內容脈絡切換機制、當日時間(TOD)時鐘及至I/O子系統之經架構介面),使得經設計以在經仿真之處理器上執行之作業系統或應用程式可在具有仿真軟體之原生處理器上執行。
解碼正進行仿真之特定指令,且呼叫次常式以執行個別指令之功能。在理解較佳實施例之描述之後,(例如)在「C」次常式或驅動程式中或在為特定硬體提供驅動程式之某一其他方法中實施仿真經仿
真之處理器之功能的仿真軟體功能,如將在熟習此項技術者之技術內。各種軟體及硬體仿真專利及許多其他專利說明針對熟習此項技術者可獲得之目標機器達成經架構以用於不同機器之指令格式之仿真的多種已知方式,該等軟體及硬體仿真專利包括但不限於:Beausoleil等人之題為「用於硬體仿真之多處理器(Multiprocessor for Hardware Emulation)」之美國專利證書第5,551,013號;及Scalzi等人之題為「用於仿真目標處理器上之不相容指令的所儲存目標常式之預處理(Preprocessing of Stored Target Routines for Emulating Incompatible Instructions on a Target Processor)」之美國專利證書第6,009,261號;及Davidian等人之題為「解碼客體指令以直接存取仿真客體指令之仿真常式(Decoding Guest Instruction to Directly Access Emulation Routines that Emulate the Guest Instructions)」之美國專利證書第5,574,873號;及Gorishek等人之題為「用於允許在系統中執行非原生程式碼之共處理器支援之對稱多處理匯流排及晶片組(Symmetrical Multiprocessing Bus and Chipset Used for Coprocessor Support Allowing Non-Native Code to Run in a System)」之美國專利證書第6,308,255號;及Lethin等人之題為「用於架構仿真之動態最佳化目標碼轉譯器及動態最佳化目標碼轉譯方法(Dynamic Optimizing Object Code Translator for Architecture Emulation and Dynamic Optimizing Object Code Translation Method)」之美國專利證書第6,463,582號;及Eric Traut之題為「用於經由主機指令之動態重新編譯在主機電腦上仿真客體指令之方法(Method for Emulating Guest Instructions on a Host Computer Through Dynamic Recompilation of Host Instructions)」之美國專利證書第5,790,825號,前述各專利證書中之每一者在此以其全文引用之方式併入本文中。
在圖19中,提供經仿真之主機電腦系統5092之實例,其仿真主
機架構之主機電腦系統5000'。在經仿真之主機電腦系統5092中,主機處理器(CPU)5091為經仿真之主機處理器(或虛擬主機處理器)且包含仿真處理器5093,其具有與主機電腦5000'之處理器5091之原生指令集架構不同的原生指令集架構。經仿真之主機電腦系統5092具有可供仿真處理器5093存取之記憶體5094。在實例實施例中,將記憶體5094分割成主機電腦記憶體5096部分及仿真常式5097部分。根據主機電腦架構,主機電腦記憶體5096可供經仿真之主機電腦5092之程式存取。仿真處理器5093執行與經仿真之處理器5091之架構不同的架構之經架構指令集的原生指令,該等原生指令係自仿真常式記憶體5097獲得,且可藉由使用在順序及存取/解碼常式中獲得之一或多個指令自主機電腦記憶體5096中之程式存取用於執行之主機指令,該順序及存取/解碼常式可解碼所存取之主機指令以判定用於仿真所存取之主機指令之功能的原生指令執行常式。經定義用於主機電腦系統5000'架構之其他設施可藉由經架構設施常式來仿真,該等設施例如包括諸如以下各者之設施:通用暫存器、控制暫存器、動態位址轉譯及I/O子系統支援及處理器快取記憶體。仿真常式亦可利用仿真處理器5093中可用之功能(諸如,通用暫存器及虛擬位址之動態轉譯)來改良仿真常式之效能。亦可提供特殊硬體及卸載引擎來輔助處理器5093仿真主機電腦5000'之功能。
在另一實施例中,一或多項態樣係關於雲端運算。事先應理解,儘管本發明包括關於雲端運算之詳細描述,但本文中所敍述之教示之實施不限於雲端運算環境。確切而言,本發明之實施例能夠結合現在已知或稍後開發之任何其他類型之運算環境來實施。
雲端運算為一種用於實現對可組態之運算資源(例如,網路、網路頻寬、伺服器、處理、記憶體、儲存器、應用程式、虛擬機及服務)之共用集區的便利的按需求網路存取之服務遞送模型,該等運算
資源可藉由最少的管理努力或與服務之提供者的互動而快速地佈建及釋放。此雲端模型可包括至少五個特性、至少三個服務模型及至少四個部署模型。
特性如下:隨選自助服務:雲端消費者可在需要時自動地單方面地佈建運算能力(諸如,伺服器時間及網路儲存空間),而無需與服務之提供者之人為互動。
寬帶網路存取:可經由網路獲得能力及經由標準機制存取能力,該等標準機制藉由異質精簡型或複雜型用戶端平台(例如,行動電話、膝上型電腦及PDA)促進使用。
資源共用:提供者之運算資源經共用以使用多租用戶模型為多個消費者服務,其中根據需求動態指派及重新指派不同實體及虛擬資源。存在位置獨立性之意義,其中消費者大體上不具有對所提供之資源之確切位置的控制或瞭解,但可能能夠按較高抽象層級(例如,國家、州或資料中心)指定位置。
快速彈性:可快速地且彈性地佈建能力(在一些狀況下,自動地)以迅速地向外延展,且可快速地釋放能力以迅速地向內延展。在消費者看來,可用於佈建之能力常常看起來為無限的且可在任何時間以任何數量來購買。
所量測服務:雲端系統藉由在適於服務類型(例如,儲存、處理、頻寬及活動使用者賬戶)之某一抽象層級下充分利用計量能力而自動控制及最佳化資源使用。可監視、控制及報告資源使用狀況,從而為所利用之服務之提供者及消費者兩者提供透明度。
服務模型如下:軟體即服務(SaaS):提供給消費者之能力係使用在雲端基礎結構上執行之提供者之應用程式。可經由諸如網頁瀏覽器(例如,基於網
路之電子郵件)之精簡型用戶端介面自各種用戶端器件存取應用程式。消費者並不管理或控制包括網路、伺服器、作業系統、儲存器或甚至個別應用程式能力之底層雲端基礎結構,其中可能的例外狀況為有限的使用者特定應用程式組態設定。
平台即服務(PaaS):提供給消費者之能力係將消費者建立之應用程式或使用提供者所支援之程式設計語言及工具建立的所獲取之應用程式部署至雲端基礎結構上。消費者並不管理或控制包括網路、伺服器、作業系統或儲存器之底層雲端基礎結構,但具有對所部署之應用程式及可能的代管環境組態之應用程式的控制。
基礎結構即服務(IaaS):提供給消費者之能力係佈建處理、儲存、網絡及其他底層運算資源,其中消費者能夠部署及執行可包括作業系統及應用程式之任意軟體。消費者並不管理或控制底層雲端基礎結構,但具有對作業系統、儲存器、所部署之應用程式之控制,及可能的對選擇網路連接組件(例如,主機防火牆)之有限控制。
部署模型如下:私用雲端:僅針對組織操作雲端基礎結構。該雲端可由組織或第三方來管理且可存在於內部部署或外部部署。
社群雲端:雲端基礎結構由若干個組織共用且支援具有共用關注點(例如,任務、安全要求、策略及順應性考量)之特定社群。該雲端可由組織或第三方來管理且可存在於內部部署或外部部署。
公用雲端:可使得雲端基礎結構可用於公眾或大型工業集團且為出售雲端服務之組織所擁有。
混合雲端:雲端基礎結構為兩個或兩個以上雲端(私用、社群或公用)之組成物,該等雲端保持獨特實體但藉由實現資料及應用程式攜帶性(例如,用於在雲端之間實現負載平衡之雲端爆裂)之標準化或專屬技術束縛在一起。
藉由集中於無國籍、低耦合、模組化及語義互操作性對雲端運算環境進行服務定向。雲端運算之關鍵為包含互連節點之網路之基礎結構。
現參看圖20,展示雲端運算節點之一實例之示意圖。雲端運算節點6010僅為合適的雲端運算節點之一實例且並不意欲暗示關於本文所描述之本發明之實施例的使用或功能性之範疇的任何限制。無論如何,雲端運算節點6010能夠按上文所闡述般來實施及/或執行上文所闡述之功能性中之任一者。
在雲端運算節點6010中,存在電腦系統/伺服器6012,其可藉由眾多其他通用或專用運算系統環境或組態操作。可能適合於供電腦系統/伺服器6012使用之熟知運算系統、環境及/或組態之實例包括(但不限於):個人電腦系統、伺服器電腦系統、精簡型用戶端、複雜型用戶端、手持型或膝上型電腦器件、多處理器系統、基於微處理器之系統、機上盒、可程式化消費型電子器件、網路PC、小型電腦系統、大型電腦系統及包括上述系統或器件中之任一者之分散式雲端運算環境,及其類似者。
可能在正由電腦系統執行之電腦系統可執行指令(諸如,程式模組)之一般內容脈絡中描述電腦系統/伺服器6012。大體而言,程式模組可包括執行特定任務或實施特定抽象資料類型之常式、程式、物件、組件、邏輯、資料結構等。可在分散式雲端運算環境中實踐電腦系統/伺服器6012,其中由經由通信網路而連結之遠端處理器件執行任務。在分散式雲端運算環境中,程式模組可位於包括記憶體儲存器件之區域及遠端電腦系統儲存媒體中。
如圖20中所展示,雲端運算節點6010中之電腦系統/伺服器6012係以通用運算器件之形式展示。電腦系統/伺服器6012之組件可包括(但不限於)一或多個處理器或處理單元6016、系統記憶體6028及匯流
排6018,該匯流排將包括系統記憶體6028之各種系統組件耦接至處理器6016。
匯流排6018表示若干種類型之匯流排結構中之任一者中的一或多者,包括記憶體匯流排或記憶體控制器、周邊匯流排、加速圖形埠及處理器或使用多種匯流排架構中之任一者之本端匯流排。以實例說明而非限制,此等架構包括工業標準架構(ISA)匯流排、微通道架構(MCA)匯流排、增強型ISA(EISA)匯流排、視訊電子標準協會(VESA)本端匯流排及周邊組件互連(PCI)匯流排。
電腦系統/伺服器6012通常包括多種電腦系統可讀媒體。此等媒體可為可由電腦系統/伺服器6012存取之任何可用媒體,且其包括揮發性及非揮發性媒體、抽取式及非抽取式媒體。
系統記憶體6028可包括呈揮發性記憶體之形式的電腦系統可讀媒體,諸如隨機存取記憶體(RAM)6030及/或快取記憶體6032。電腦系統/伺服器6012可進一步包括其他抽取式/非抽取式、揮發性/非揮發性電腦系統儲存媒體。僅以實例說明,可提供儲存系統6034以用於自非抽取式、非揮發性磁性媒體(圖中未展示且通常被稱為「硬碟機」)讀取及寫入至非抽取式、非揮發性磁性媒體。儘管未展示,但可提供用於自抽取式、非揮發性磁碟(例如,「磁碟片」)讀取及寫入至抽取式、非揮發性磁碟之磁碟機,及用於自抽取式、非揮發性光碟(諸如,CD-ROM、DVD-ROM或其他光學媒體)讀取及寫入至抽取式、非揮發性光碟之光碟機。在此等情況下,每一者可藉由一或多個資料媒體介面連接至匯流排6018。如下文將進一步描繪及描述,記憶體6028可包括具有經組態以執行本發明之實施例之功能的一組(例如,至少一者)程式模組之至少一程式產品。
以實例說明而非限制,具有一組(至少一者)程式模組6042之程式/公用程式6040以及作業系統、一或多個應用程式、其他程式模組及
程式資料可儲存於記憶體6028中。作業系統、一或多個應用程式、其他程式模組及程式資料或其某一組合中之每一者可包括網路連接環境之實施。程式模組6042大體上執行如本文所描述之本發明之實施例的功能及/或方法。
電腦系統/伺服器6012亦可與以下各者通信:一或多個外部器件6014,諸如鍵盤、指標器件、顯示器6024等;使得使用者能夠與電腦系統/伺服器6012互動之一或多個器件;及/或使得電腦系統/伺服器6012能夠與一或多個其他運算器件通信之任何器件(例如,網路卡、數據機等)。此通信可經由輸入/輸出(I/O)介面6022發生。再另外,電腦系統/伺服器6012可與一或多個網路通信,該一或多個網路諸如區域網路(LAN)、一般廣域網路(WAN),及/或經由網路配接器6020之公用網路(例如,網際網路)。如所描繪,網路配接器6020經由匯流排6018與電腦系統/伺服器6012之其他組件通信。應理解,儘管圖中未展示,但可結合電腦系統/伺服器6012使用其他硬體及/或軟體組件。實例包括(但不限於):微碼、器件驅動程式、冗餘處理單元、外部磁碟機陣列、RAID系統、磁帶機及資料封存儲存系統等。
現參看圖21,描繪說明性雲端運算環境6050。如所展示,雲端運算環境6050包含一或多個雲端運算節點6010,供雲端消費者使用之本端運算器件(諸如,個人數位助理(PDA)或蜂巢式電話6054A、桌上型電腦6054B、膝上型電腦6054C,及/或汽車電腦系統6054N)可與該一或多個雲端運算節點通信。節點6010可彼此通信。可在一或多個網路(諸如,如上文所描述之私用、社群、公用或混合雲端或其組合)中將該等節點實體地或虛擬地分組(未展示)。此情形允許雲端運算環境6050提供基礎結構、平台及/或軟體作為服務,針對該等服務,雲端消費者不需要在本端運算器件上維持資源。應理解,圖21中所展示之運算器件6054A至6054N之類型意欲僅為說明性的且運算節點6010及
雲端運算環境6050可經由任何類型之網路及/或網路可定址連接(例如,使用網頁瀏覽器)與任何類型之電腦化器件通信。
現參看圖22,展示藉由雲端運算環境6050(圖21)提供之一組功能抽象層。事先應理解,圖22中所展示之組件、層及功能意欲僅為說明性的且本發明之實施例不限於此。如所描繪,提供以下層及對應功能:硬體及軟體層6060包括硬體及軟體組件。硬體組件之實例包括:大型電腦,在一實例中為IBM® zSeries®系統;基於精簡指令集電腦(RISC)架構之伺服器,在一實例中為IBM pSeries®系統;IBM xSeries®系統;IBM BladeCenter®系統;儲存器件;網路及網路連接組件。軟體組件之實例包括:網路應用程式伺服器軟體,在一實例中為IBM WebSphere®應用程式伺服器軟體;及資料庫軟體,在一實例中為IBM DB2®資料庫軟體。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere及DB2為在全世界許多管轄區註冊之國際商業機器公司之商標)。
虛擬化層6062提供一抽象層,可自該抽象層提供虛擬實體之以下實例:虛擬伺服器;虛擬儲存器;虛擬網路(包括虛擬私用網路);虛擬應用程式及作業系統;及虛擬用戶端。
在一實例中,管理層6064可提供下文所描述之功能。資源佈建提供運算資源及用以執行雲端運算環境內之任務之其他資源的動態採購。計量及定價提供成本追蹤(當在雲端運算環境內利用資源時),及對此等資源之消耗之帳務處理及發票請款。在一實例中,此等資源可包含應用程式軟體授權。安全性提供針對雲端消費者及任務之識別驗證,以及對資料及其他資源之保護。使用者入口網站為消費者及系統管理者提供對雲端運算環境之存取。服務等級管理提供雲端運算資源分配及管理以便滿足所需服務等級。服務等級協定(SLA)規劃及履行
提供雲端運算資源之預先配置及採購,針對雲端運算資源之未來要求係根據SLA來預期。
工作負載層6066提供功能性之實例,針對該功能性,可利用雲端運算環境。可自此層提供之工作負載及功能之實例包括:地圖建置及導航;軟體開發及生命週期管理;虛擬教室教育遞送;資料分析處理;及異動處理。
本文所使用之術語僅出於描述特定實施例之目的且並不意欲為限制性的。如本文所使用,除非上下文另外清楚地指示,否則單數形式「一」及「該」意欲亦包括複數形式。應進一步理解,術語「包含(comprises及/或comprising)」在用於本說明書中時指定所陳述特徵、整數、步驟、操作、元件及/或組件之存在,但不排除一或多個其他特徵、整數、步驟、操作、元件、組件及/或其群組之存在或添加。
以下申請專利範圍中之所有構件或步驟加功能元件之對應結構、材料、動作及等效物(若存在)意欲包括用於結合如特別主張之其他所主張元件來執行功能的任何結構、材料或動作。已出於說明及描述之目的呈現一或多項實施例之描述,但其不意欲為窮盡性的或限於所揭示之形式。對於一般熟習此項技術者而言,許多修改及變化將為顯而易見的。選擇及描述實施例以便最佳地解釋各種態樣及實際應用,且使得一般熟習此項技術者能夠理解各種實施例及適於所預期之特定用途的各種修改。
Claims (15)
- 一種用於重新組態一運算環境之電腦程式產品,該電腦程式產品包含:一電腦可讀儲存媒體,其可由一處理電路讀取且儲存供該處理電路執行以用於執行一方法之指令,該方法包含:由一處理器判定在一運算環境中安裝一組態架構模式設施,該運算環境經組態以用於複數種架構模式且具有一經定義之開機順序,該經定義之開機順序使該運算環境在該複數種架構模式中之一種架構模式中開機,該一種架構模式包含一第一指令集架構且具有第一組所支援特徵;基於判定該組態架構模式設施經安裝,由該處理器重新組態該運算環境以限制該一種架構模式之使用,其中該重新組態包含:選擇一不同開機順序以使該運算環境在該複數種架構模式中之另一種架構模式中開機,其中該另一種架構模式不同於該一種架構模式,且該另一種架構模式包含一第二指令集架構且具有第二組所支援特徵;及執行該不同開機順序以使該運算環境代替該一種架構模式在該另一種架構模式中開機,從而限制該一種架構模式之使用,其中該執行該不同開機順序包含建立一新程式狀態字組以控制該運算環境在該另一種架構模式中之操作,該建立該新程式狀態字組包含使該新程式狀態字組中之一架構模式指示符反轉以指示該另一種架構模式,其中該建立該新程式狀態字組包含形成該新程式狀態字 組以具有由該另一種架構模式指示之一格式,該格式包含將一位址欄位自一第一大小擴大至一第二大小,及將在該新程式狀態字組中之一架構模式指示符反轉以指示該另一種架構模式。
- 如請求項1之電腦程式產品,其中該判定該組態架構模式設施經安裝包含檢查一設施指示符,該設施指示符將無條件地設定或在一組態指示符之控制下設定。
- 如請求項1之電腦程式產品,其中該重新組態進一步包含在該運算環境內停用一或多個操作以支援該一種架構模式,該一或多個操作包含自該另一種架構模式切換至該一種架構模式之一切換操作,其中停用返回至該一種架構模式之一切換。
- 如請求項3之電腦程式產品,其中該停用包含基於切換回至該一種架構模式之一請求而更改一信號處理器指令之處理以提供一錯誤。
- 如請求項1之電腦程式產品,其中該方法進一步包含執行該運算環境之至少一處理器之一重設,其中該執行該重設包含:在該另一種架構模式中重設該運算環境,該重設包含將該運算環境之一架構模式設定為該另一種架構模式。
- 如請求項1之電腦程式產品,其中該重新組態包含改變一信號處理器操作之處理,其中將該運算環境之一架構模式設定為該運算環境當前正處於之該架構模式的一信號處理器操作導致儲存指示該運算環境當前正處於該架構模式中之狀態,此狀態被該信號處理器操作之一發佈者視為可接受的。
- 如請求項1之電腦程式產品,其中該一種架構模式為一舊版模式且該另一種架構模式為一增強型模式,且其中該第一組所支援特徵包含31位元定址及32位元通用暫存器之使用,且該第二組 所支援特徵包含64位元定址及64位元通用暫存器之使用。
- 如請求項1之電腦程式產品,其中該運算環境為一虛擬客體環境,其具有:一主機處理器、處於一第一虛擬化等級之一第一客體虛擬機,及處於一第二虛擬化等級之一第二客體虛擬機,且其中該重新組態係針對該主機處理器及該第一客體虛擬機執行,但不針對該第二客體虛擬機執行該重新組態,該第二客體虛擬機係在該一種架構模式中經起始及處理。
- 一種用於重新組態一運算環境之電腦系統,該電腦系統包含:一記憶體;及一處理器,其與該記憶體通信,其中該電腦系統經組態以執行一方法,該方法包含:由該處理器判定在一運算環境中安裝一組態架構模式設施,該運算環境經組態以用於複數種架構模式且具有一經定義之開機順序,該經定義之開機順序使該運算環境在該複數種架構模式中之一種架構模式中開機,該一種架構模式包含一第一指令集架構且具有第一組所支援特徵;基於判定該組態架構模式設施經安裝,由該處理器重新組態該運算環境以限制該一種架構模式之使用,其中該重新組態包含:選擇一不同開機順序以使該運算環境在該複數種架構模式中之另一種架構模式中開機,其中該另一種架構模式不同於該一種架構模式,且該另一種架構模式包含一第二指令集架構且具有第二組所支援特徵;及執行該不同開機順序以使該運算環境代替該一種架構模式在該另一種架構模式中開機,從而限制該一種架構模式之使用, 其中該執行該不同開機順序包含建立一新程式狀態字組以控制該運算環境在該另一種架構模式中之操作,該建立該新程式狀態字組包含使該新程式狀態字組中之一架構模式指示符反轉以指示該另一種架構模式,其中該建立該新程式狀態字組包含形成該新程式狀態字組以具有由該另一種架構模式指示之一格式,該格式包含將一位址欄位自一第一大小擴大至一第二大小,及將在該新程式狀態字組中之一架構模式指示符反轉以指示該另一種架構模式。
- 如請求項9之電腦系統,其中該重新組態進一步包含在該運算環境內停用一或多個操作以支援該一種架構模式,該一或多個操作包含自該另一種架構模式切換至該一種架構模式之一切換操作,其中停用返回至該一種架構模式之一切換。
- 如請求項10之電腦系統,其中該停用包含基於切換回至該一種架構模式之一請求而更改一信號處理器指令之處理以提供一錯誤。
- 如請求項9之電腦系統,其中該重新組態包含改變一信號處理器操作之處理,其中將該運算環境之一架構模式設定為該運算環境當前正處於之該架構模式的一信號處理器操作導致儲存指示該運算環境當前正處於該架構模式中之狀態,此狀態被該信號處理器操作之一發佈者視為可接受的。
- 一種重新組態一運算環境之方法,該方法包含:由一處理器判定在一運算環境中安裝一組態架構模式設施,該運算環境經組態以用於複數種架構模式且具有一經定義之開機順序,該經定義之開機順序使該運算環境在該複數種架構模式中之一種架構模式中開機,該一種架構模式包含一第一指令 集架構且具有第一組所支援特徵;基於判定該組態架構模式設施經安裝,由該處理器重新組態該運算環境以限制該一種架構模式之使用,其中該重新組態包含:選擇一不同開機順序以使該運算環境在該複數種架構模式中之另一種架構模式中開機,其中該另一種架構模式不同於該一種架構模式,且該另一種架構模式包含一第二指令集架構且具有第二組所支援特徵;及執行該不同開機順序以使該運算環境代替該一種架構模式在該另一種架構模式中開機,從而限制該一種架構模式之使用。
- 如請求項13之方法,其中該重新組態進一步包含在該運算環境內停用一或多個操作以支援該一種架構模式,該一或多個操作包含自該另一種架構模式切換至該一種架構模式之一切換操作,其中停用返回至該一種架構模式之一切換。
- 如請求項13之方法,其中該重新組態包含改變一信號處理器操作之處理,其中將該運算環境之一架構模式設定為該運算環境當前正處於之該架構模式的一信號處理器操作導致儲存指示該運算環境當前正處於該架構模式中之狀態,此狀態被該信號處理器操作之一發佈者視為可接受的。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/217,840 US9582295B2 (en) | 2014-03-18 | 2014-03-18 | Architectural mode configuration |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201602806A TW201602806A (zh) | 2016-01-16 |
TWI608363B true TWI608363B (zh) | 2017-12-11 |
Family
ID=54142196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104108513A TWI608363B (zh) | 2014-03-18 | 2015-03-17 | 架構模式組態 |
Country Status (22)
Country | Link |
---|---|
US (6) | US9582295B2 (zh) |
EP (1) | EP3114561B1 (zh) |
JP (1) | JP6585612B2 (zh) |
KR (1) | KR101884544B1 (zh) |
CN (1) | CN106133683B (zh) |
AU (1) | AU2015230885B2 (zh) |
BR (1) | BR112016021602B1 (zh) |
CA (1) | CA2940911C (zh) |
DK (1) | DK3114561T3 (zh) |
ES (1) | ES2717525T3 (zh) |
HU (1) | HUE043750T2 (zh) |
IL (1) | IL247856B (zh) |
LT (1) | LT3114561T (zh) |
MX (1) | MX2016011921A (zh) |
PL (1) | PL3114561T3 (zh) |
PT (1) | PT3114561T (zh) |
RU (1) | RU2664413C2 (zh) |
SG (1) | SG11201606095SA (zh) |
SI (1) | SI3114561T1 (zh) |
TW (1) | TWI608363B (zh) |
WO (1) | WO2015139992A1 (zh) |
ZA (1) | ZA201605470B (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9916185B2 (en) | 2014-03-18 | 2018-03-13 | International Business Machines Corporation | Managing processing associated with selected architectural facilities |
US9588774B2 (en) | 2014-03-18 | 2017-03-07 | International Business Machines Corporation | Common boot sequence for control utility able to be initialized in multiple architectures |
US9582295B2 (en) | 2014-03-18 | 2017-02-28 | International Business Machines Corporation | Architectural mode configuration |
US9853863B1 (en) | 2014-10-08 | 2017-12-26 | Servicenow, Inc. | Collision detection using state management of configuration items |
WO2016151398A1 (en) * | 2015-03-23 | 2016-09-29 | Societal Innovations Ipco Limited | System and method for configuring a platform instance at runtime |
US10642706B2 (en) * | 2016-07-20 | 2020-05-05 | International Business Machines Corporation | Detection and recovery of lost host enabled facilities |
US10514932B2 (en) * | 2016-09-26 | 2019-12-24 | Amazon Technologies, Inc. | Resource configuration based on dynamic group membership |
US10282327B2 (en) | 2017-01-19 | 2019-05-07 | International Business Machines Corporation | Test pending external interruption instruction |
US10732858B2 (en) | 2017-01-19 | 2020-08-04 | International Business Machines Corporation | Loading and storing controls regulating the operation of a guarded storage facility |
US10725685B2 (en) | 2017-01-19 | 2020-07-28 | International Business Machines Corporation | Load logical and shift guarded instruction |
US10452288B2 (en) | 2017-01-19 | 2019-10-22 | International Business Machines Corporation | Identifying processor attributes based on detecting a guarded storage event |
US10496311B2 (en) | 2017-01-19 | 2019-12-03 | International Business Machines Corporation | Run-time instrumentation of guarded storage event processing |
US10496292B2 (en) | 2017-01-19 | 2019-12-03 | International Business Machines Corporation | Saving/restoring guarded storage controls in a virtualized environment |
US10579377B2 (en) | 2017-01-19 | 2020-03-03 | International Business Machines Corporation | Guarded storage event handling during transactional execution |
US11126474B1 (en) * | 2017-06-14 | 2021-09-21 | Amazon Technologies, Inc. | Reducing resource lock time for a virtual processing unit |
US10481908B2 (en) | 2017-06-23 | 2019-11-19 | International Business Machines Corporation | Predicted null updated |
US10740067B2 (en) | 2017-06-23 | 2020-08-11 | International Business Machines Corporation | Selective updating of floating point controls |
US10379851B2 (en) | 2017-06-23 | 2019-08-13 | International Business Machines Corporation | Fine-grained management of exception enablement of floating point controls |
US10684852B2 (en) | 2017-06-23 | 2020-06-16 | International Business Machines Corporation | Employing prefixes to control floating point operations |
US10725739B2 (en) | 2017-06-23 | 2020-07-28 | International Business Machines Corporation | Compiler controls for program language constructs |
US10514913B2 (en) | 2017-06-23 | 2019-12-24 | International Business Machines Corporation | Compiler controls for program regions |
US10908998B2 (en) * | 2017-08-08 | 2021-02-02 | Toshiba Memory Corporation | Managing function level reset in an IO virtualization-enabled storage device |
US10592281B1 (en) | 2017-09-28 | 2020-03-17 | Amazon Technologies, Inc. | Wait optimizer for recording an order of first entry into a wait mode by a virtual central processing unit |
CN108900086B (zh) * | 2018-08-01 | 2020-01-17 | 环鸿电子(昆山)有限公司 | 可程序隔离式电源电路结构及系统 |
US11086715B2 (en) * | 2019-01-18 | 2021-08-10 | Arm Limited | Touch instruction |
US11574060B2 (en) * | 2019-04-24 | 2023-02-07 | International Business Machines Corporation | Secure initial program load |
TWI719720B (zh) * | 2019-11-18 | 2021-02-21 | 瑞昱半導體股份有限公司 | 資料寫入系統與方法 |
CN112860174B (zh) * | 2019-11-27 | 2024-07-12 | 瑞昱半导体股份有限公司 | 数据写入系统与方法 |
CN214851908U (zh) * | 2021-06-16 | 2021-11-23 | 深圳市不插电光电科技有限公司 | 一种能够独立集成化控制的机顶盒彩灯条 |
US12020059B2 (en) | 2021-08-30 | 2024-06-25 | International Business Machines Corporation | Inaccessible prefix pages during virtual machine execution |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496971B1 (en) * | 2000-02-07 | 2002-12-17 | Xilinx, Inc. | Supporting multiple FPGA configuration modes using dedicated on-chip processor |
TW200849089A (en) * | 2007-02-01 | 2008-12-16 | Ibm | Controlling instruction execution in a processing environment |
Family Cites Families (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59123943A (ja) | 1982-12-29 | 1984-07-17 | Fujitsu Ltd | Vmアシスト制御方式 |
JPS60254358A (ja) * | 1984-05-31 | 1985-12-16 | Toshiba Corp | マルチア−キテクチヤマイクロプロセツサシステム |
JPH02135528A (ja) | 1988-11-16 | 1990-05-24 | Oki Electric Ind Co Ltd | マルチosにおける起動os選択方法 |
US5212777A (en) | 1989-11-17 | 1993-05-18 | Texas Instruments Incorporated | Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation |
WO1994027215A1 (en) | 1993-05-07 | 1994-11-24 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
JPH06332803A (ja) | 1993-05-25 | 1994-12-02 | Hitachi Ltd | 仮想計算機システムにおけるtlb制御方法 |
GB2289353B (en) | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Data processing with multiple instruction sets |
US5551013A (en) | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
US5638525A (en) * | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
US5790825A (en) | 1995-11-08 | 1998-08-04 | Apple Computer, Inc. | Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions |
US6009261A (en) | 1997-12-16 | 1999-12-28 | International Business Machines Corporation | Preprocessing of stored target routines for emulating incompatible instructions on a target processor |
US6199202B1 (en) | 1998-01-06 | 2001-03-06 | Hewlett-Packard Company | Method and apparatus for the inter-operation of differing architectural and run time conventions |
US6308255B1 (en) | 1998-05-26 | 2001-10-23 | Advanced Micro Devices, Inc. | Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system |
US20020147969A1 (en) | 1998-10-21 | 2002-10-10 | Richard A. Lethin | Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
US6772325B1 (en) | 1999-10-01 | 2004-08-03 | Hitachi, Ltd. | Processor architecture and operation for exploiting improved branch control instruction |
US7058791B1 (en) | 2000-08-09 | 2006-06-06 | Advanced Micro Devices, Inc. | Establishing a mode indication responsive to two or more indications |
US7406682B2 (en) | 2001-03-26 | 2008-07-29 | Emc Corporation | Translator-compiler for converting legacy management software |
US7496498B2 (en) | 2003-03-24 | 2009-02-24 | Microsoft Corporation | Front-end architecture for a multi-lingual text-to-speech system |
US7496915B2 (en) | 2003-04-24 | 2009-02-24 | International Business Machines Corporation | Dynamic switching of multithreaded processor between single threaded and simultaneous multithreaded modes |
US7552426B2 (en) | 2003-10-14 | 2009-06-23 | Microsoft Corporation | Systems and methods for using synthetic instructions in a virtual machine |
US7234037B2 (en) | 2003-11-25 | 2007-06-19 | International Business Machines Corporation | Memory mapped Input/Output operations |
US8024730B2 (en) * | 2004-03-31 | 2011-09-20 | Intel Corporation | Switching between protected mode environments utilizing virtual machine functionality |
US7562209B2 (en) | 2004-04-07 | 2009-07-14 | Marvell International, Ltd. | Supporting different instruction set architectures during run time |
US7339837B2 (en) * | 2004-05-18 | 2008-03-04 | Infineon Technologies Ag | Configurable embedded processor |
US7260702B2 (en) | 2004-06-30 | 2007-08-21 | Microsoft Corporation | Systems and methods for running a legacy 32-bit x86 virtual machine on a 64-bit x86 processor |
US7308571B2 (en) | 2004-10-06 | 2007-12-11 | Intel Corporation | Overriding processor configuration settings |
US7647589B1 (en) | 2005-02-07 | 2010-01-12 | Parallels Software International, Inc. | Methods and systems for safe execution of guest code in virtual machine context |
US7562349B2 (en) | 2005-04-25 | 2009-07-14 | Sap Ag | Version adaptation interface for integration of different virtual machines |
US7496495B2 (en) | 2005-05-12 | 2009-02-24 | Microsoft Corporation | Virtual operating system device communication relying on memory access violations |
KR100663864B1 (ko) * | 2005-06-16 | 2007-01-03 | 엘지전자 주식회사 | 멀티-코어 프로세서의 프로세서 모드 제어장치 및 방법 |
JP2007007074A (ja) | 2005-06-29 | 2007-01-18 | Nagaoka Univ Of Technology | 温熱治療装置 |
US7523291B2 (en) | 2005-07-26 | 2009-04-21 | International Business Machines Corporation | System and method for testing for memory address aliasing errors |
RU2294010C1 (ru) | 2005-09-05 | 2007-02-20 | Павел Михайлович Шестаков | Способ обработки цифровых данных |
US7409537B2 (en) | 2005-10-06 | 2008-08-05 | Microsoft Corporation | Fast booting an operating system from an off state |
JP2007207074A (ja) | 2006-02-03 | 2007-08-16 | Ricoh Co Ltd | オペレーションシステム、スレッド制御機構、及び情報処理装置 |
EP2087424A4 (en) | 2006-04-26 | 2009-12-23 | Tata Consultancy Services | SYSTEM AND METHOD FOR AUTOMATED RE-ARCHITECTURE OF FORMER SYSTEMS MODELS USING OBJECT-ORIENTED LANGUAGE |
US8001549B2 (en) | 2006-04-27 | 2011-08-16 | Panasonic Corporation | Multithreaded computer system and multithread execution control method |
US8117614B2 (en) | 2006-05-19 | 2012-02-14 | International Business Machines Corporation | Extract CPU time facility |
CN100470476C (zh) * | 2006-05-25 | 2009-03-18 | 杭州晟元芯片技术有限公司 | 一种芯片上电后的程序引导方法 |
US20080093277A1 (en) | 2006-06-13 | 2008-04-24 | John Armour | Cadence detection in a sequence of video fields |
US8028290B2 (en) | 2006-08-30 | 2011-09-27 | International Business Machines Corporation | Multiple-core processor supporting multiple instruction set architectures |
US8479264B2 (en) | 2006-09-29 | 2013-07-02 | Micron Technology, Inc. | Architecture for virtual security module |
WO2008083277A1 (en) | 2006-12-31 | 2008-07-10 | San Disk Corporation | Portable multi-platform booting systems and architectures |
US7739434B2 (en) | 2008-01-11 | 2010-06-15 | International Business Machines Corporation | Performing a configuration virtual topology change and instruction therefore |
US7734900B2 (en) | 2008-01-11 | 2010-06-08 | International Business Machines Corporation | Computer configuration virtual topology discovery and instruction therefore |
US8117417B2 (en) | 2008-01-11 | 2012-02-14 | International Business Machines Corporation | Dynamic address translation with change record override |
US8677098B2 (en) | 2008-01-11 | 2014-03-18 | International Business Machines Corporation | Dynamic address translation with fetch protection |
US8321861B2 (en) | 2008-02-20 | 2012-11-27 | Arm Limited | Non-native program execution across multiple execution environments |
US8176280B2 (en) | 2008-02-25 | 2012-05-08 | International Business Machines Corporation | Use of test protection instruction in computing environments that support pageable guests |
US8086811B2 (en) | 2008-02-25 | 2011-12-27 | International Business Machines Corporation | Optimizations of a perform frame management function issued by pageable guests |
US8095773B2 (en) | 2008-02-26 | 2012-01-10 | International Business Machines Corporation | Dynamic address translation with translation exception qualifier |
WO2013098643A2 (en) | 2011-12-16 | 2013-07-04 | Hyperion Core Inc. | Advanced processor architecture |
US8301865B2 (en) | 2009-06-29 | 2012-10-30 | Oracle America, Inc. | System and method to manage address translation requests |
US20110179254A1 (en) | 2010-01-15 | 2011-07-21 | Sun Microsystems, Inc. | Limiting speculative instruction fetching in a processor |
GB2478726B (en) | 2010-03-15 | 2013-12-25 | Advanced Risc Mach Ltd | Mapping between registers used by multiple instruction sets |
US9851969B2 (en) | 2010-06-24 | 2017-12-26 | International Business Machines Corporation | Function virtualization facility for function query of a processor |
US10521231B2 (en) | 2010-06-24 | 2019-12-31 | International Business Machines Corporation | Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor |
US8479172B2 (en) | 2010-11-23 | 2013-07-02 | International Business Machines Corporation | Virtual machine testing |
US9645822B2 (en) * | 2011-04-07 | 2017-05-09 | Via Technologies, Inc | Conditional store instructions in an out-of-order execution microprocessor |
US9141389B2 (en) | 2011-04-07 | 2015-09-22 | Via Technologies, Inc. | Heterogeneous ISA microprocessor with shared hardware ISA registers |
US8924695B2 (en) * | 2011-04-07 | 2014-12-30 | Via Technologies, Inc. | Conditional ALU instruction condition satisfaction propagation between microinstructions in read-port limited register file microprocessor |
DE102011017596A1 (de) | 2011-04-27 | 2012-10-31 | Robert Bosch Gmbh | Mikrofluidisches System und Verfahren für eine Polymerase Kettenreaktion |
US9063747B2 (en) | 2011-04-28 | 2015-06-23 | Freescale Semiconductor, Inc. | Microprocessor systems and methods for a combined register file and checkpoint repair register |
TW201248499A (en) | 2011-05-18 | 2012-12-01 | Asustek Comp Inc | Method of swapping between operating systems applied to computer system |
KR101780052B1 (ko) | 2011-08-24 | 2017-09-19 | 한국전자통신연구원 | 정보처리 시스템에서 운영체제 전환방법 |
CN102955713B (zh) * | 2011-08-31 | 2015-11-25 | 北京中电华大电子设计有限责任公司 | 一种802.11n无线网卡芯片仿真固件优化的处理方法 |
US8930950B2 (en) | 2012-01-19 | 2015-01-06 | International Business Machines Corporation | Management of migrating threads within a computing environment to transform multiple threading mode processors to single thread mode processors |
US9251027B2 (en) | 2012-03-05 | 2016-02-02 | Dell Productes L.P. | Information handling system performance optimization system |
US9298469B2 (en) | 2012-06-15 | 2016-03-29 | International Business Machines Corporation | Management of multiple nested transactions |
EP2891379B1 (en) | 2012-08-30 | 2019-07-31 | University of Virginia Patent Foundation, D/B/A University of Virginia | Ultra low power sensing platform with multimodal radios |
US9348757B2 (en) | 2012-10-08 | 2016-05-24 | International Business Machines Corporation | System supporting multiple partitions with differing translation formats |
JP6075013B2 (ja) | 2012-10-31 | 2017-02-08 | 富士通株式会社 | ログ取得プログラム、ログ取得装置及びログ取得方法 |
US9916185B2 (en) | 2014-03-18 | 2018-03-13 | International Business Machines Corporation | Managing processing associated with selected architectural facilities |
US9588774B2 (en) | 2014-03-18 | 2017-03-07 | International Business Machines Corporation | Common boot sequence for control utility able to be initialized in multiple architectures |
US9582295B2 (en) | 2014-03-18 | 2017-02-28 | International Business Machines Corporation | Architectural mode configuration |
US9921848B2 (en) | 2014-03-27 | 2018-03-20 | International Business Machines Corporation | Address expansion and contraction in a multithreading computer system |
US9594660B2 (en) | 2014-03-27 | 2017-03-14 | International Business Machines Corporation | Multithreading computer system and program product for executing a query instruction for idle time accumulation among cores |
-
2014
- 2014-03-18 US US14/217,840 patent/US9582295B2/en active Active
- 2014-11-26 US US14/554,806 patent/US9594576B2/en active Active
-
2015
- 2015-03-09 RU RU2016127224A patent/RU2664413C2/ru active
- 2015-03-09 MX MX2016011921A patent/MX2016011921A/es active IP Right Grant
- 2015-03-09 WO PCT/EP2015/054850 patent/WO2015139992A1/en active Application Filing
- 2015-03-09 KR KR1020167028754A patent/KR101884544B1/ko active IP Right Grant
- 2015-03-09 PT PT15711073T patent/PT3114561T/pt unknown
- 2015-03-09 EP EP15711073.5A patent/EP3114561B1/en active Active
- 2015-03-09 DK DK15711073.5T patent/DK3114561T3/en active
- 2015-03-09 PL PL15711073T patent/PL3114561T3/pl unknown
- 2015-03-09 ES ES15711073T patent/ES2717525T3/es active Active
- 2015-03-09 LT LTEP15711073.5T patent/LT3114561T/lt unknown
- 2015-03-09 HU HUE15711073A patent/HUE043750T2/hu unknown
- 2015-03-09 SG SG11201606095SA patent/SG11201606095SA/en unknown
- 2015-03-09 CA CA2940911A patent/CA2940911C/en active Active
- 2015-03-09 JP JP2016557130A patent/JP6585612B2/ja active Active
- 2015-03-09 CN CN201580014479.7A patent/CN106133683B/zh active Active
- 2015-03-09 BR BR112016021602-4A patent/BR112016021602B1/pt active IP Right Grant
- 2015-03-09 AU AU2015230885A patent/AU2015230885B2/en active Active
- 2015-03-09 SI SI201530669T patent/SI3114561T1/sl unknown
- 2015-03-17 TW TW104108513A patent/TWI608363B/zh active
-
2016
- 2016-08-05 ZA ZA2016/05470A patent/ZA201605470B/en unknown
- 2016-09-15 IL IL247856A patent/IL247856B/en active IP Right Grant
-
2017
- 2017-01-09 US US15/401,693 patent/US10545772B2/en active Active
- 2017-03-10 US US15/455,198 patent/US10552175B2/en active Active
-
2019
- 2019-07-16 US US16/512,987 patent/US11029974B2/en active Active
- 2019-07-16 US US16/513,034 patent/US11023256B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496971B1 (en) * | 2000-02-07 | 2002-12-17 | Xilinx, Inc. | Supporting multiple FPGA configuration modes using dedicated on-chip processor |
TW200849089A (en) * | 2007-02-01 | 2008-12-16 | Ibm | Controlling instruction execution in a processing environment |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI608363B (zh) | 架構模式組態 | |
TWI639090B (zh) | 用於可在多種架構中初始化之控制公用程式之共同開機順序 | |
US10027674B2 (en) | Determining virtual adapter access controls in a computing environment | |
TWI639084B (zh) | 管理與經選擇架構設施相關聯之處理 | |
US10061600B2 (en) | Ascertaining configuration of a virtual adapter in a computing environment |