US9009422B2 - Information processing apparatus and interrupt control method - Google Patents
Information processing apparatus and interrupt control method Download PDFInfo
- Publication number
- US9009422B2 US9009422B2 US13/196,965 US201113196965A US9009422B2 US 9009422 B2 US9009422 B2 US 9009422B2 US 201113196965 A US201113196965 A US 201113196965A US 9009422 B2 US9009422 B2 US 9009422B2
- Authority
- US
- United States
- Prior art keywords
- psw
- new
- cpu
- program status
- status word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- 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/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/327—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for interrupts
Definitions
- the embodiments discussed herein are directed to an information processing apparatus and an interrupt control program.
- an information processing apparatus such as a server, emulates a CPU (Central Processing Unit) that has architecture different from that of a physical CPU installed in the information processing apparatus.
- the information processing apparatus also emulates, in addition to the CPU, an OS (Operating System) that is different from an OS installed in the information processing apparatus.
- OS Operating System
- a server equipped with an open source OS such as LINUX (registered trademark) reproduces a general-purpose OS, which is installed in mainframe, within the own server and runs application or the like for the general-purpose OS.
- LINUX registered trademark
- Such an information processing apparatus not only executes instruction emulation for reproducing an instruction for a different architecture but also executes an interrupt process when any exception occurs.
- an interrupt process for example, Japanese Laid-open Patent Publication No. 58-117059 discloses a technology, in which a status monitoring function, which has been reset every time an interrupt process occurs, is reset only when the reset is needed.
- Japanese Laid-open Patent Publication No. 62-043737 discloses a technology, in which a PSW (Program Status Word) corresponding to an interrupt process is fixedly stored in a buffer memory that is different form a general buffer memory so that time taken to load the PSW at the time of the interrupt process can be shortened.
- PSW Program Status Word
- PSA Program Save Area
- a PSW Program Save Area
- a PSA is an area of a memory for storing information, such as a PSW corresponding to an interrupt process. Even if the PSA is locked in order to prevent overwriting, when information in the PSA needs to be updated, the lock is released, so that a PSW may be overwritten at the time of the update.
- a CPU may overwrite a PSA that is reserved by another CPU.
- a PSW stored in the PSA is rewritten; therefore, a conventional information processing apparatus executes a determination process for determining whether or not a PSW corresponding to an interrupt process contains an error every time an interrupt process occurs. Because the determination process is executed every time an interrupt process occurs, there is a problem in that time taken to execute the interrupt process increases.
- a PSW contains an error is determined by checking values in a plurality of fields in the PSW of 64 bits. For example, when emulating an OS in a 31-bit address mode, an information processing apparatus determines whether bits 24 to 31 are 1 or not. The information processing apparatus also checks a value of each of bit 0 , bits 2 and 3 , a bit 12 , a bit 16 , and a bit 17 . When all of the bits have normal values, the information processing apparatus executes an interrupt process.
- the information processing apparatus executes the above determination process every time an interrupt process occurs, when interrupt processes occur frequently, the determination process on the PSW becomes a bottleneck. Therefore, overhead in the interrupt process increases and time taken before a start of the interrupt process increases, resulting in increasing time taken to the interrupt process as a whole.
- an information processing apparatus includes a memory that stores therein a program status word containing an address of data that is to be read when an interrupt process is executed; and a processor determines whether or not the program status word stored in the memory is available, controls the memory to stores a determination result in the memory in association with the program status word, acquires the program status word and the determination result from the memory when the interrupt process occurs, and reads data on the basis of the address contained in the acquired program status word when the acquired determination result indicates that the program status word is available.
- FIG. 1 is a block diagram of a configuration of an information processing apparatus according to a first embodiment
- FIG. 2 is a block diagram of a configuration of an information processing apparatus according to a second embodiment
- FIG. 3 illustrates an example of information stored in a PSA area
- FIG. 4 illustrates an example of determination of available flags stored in a new-PSW storage area
- FIG. 5 illustrates an example of determination of check results stored in the new-PSW storage area
- FIG. 6 is a diagram explaining an example of a relationship between a format check of a new PSW and an interrupt process
- FIG. 7 is a flowchart of the flow of the format check of a new PSW
- FIG. 8 is another flowchart of the flow of the format check of a new PSW
- FIG. 9 is a flowchart of the flow of the interrupt process
- FIG. 10 illustrates an example in which the format check of a new PSW is executed by using a plurality of CPUs
- FIG. 11 illustrates an example in which the format check of a new PSW is executed for a plurality of instruction executing CPUs.
- FIG. 12 illustrates an example of a computer system that executes an interrupt control program.
- FIG. 1 is a block diagram of a configuration of an information processing apparatus according to a first embodiment.
- an information processing apparatus 1 is an apparatus, such as a server, that includes a memory 2 , a CPU (Central Processing Unit) 3 , and a CPU 4 , which are connected to one another via a bus.
- the memory 2 is, for example, a memory for storing a program status word corresponding to an interrupt process and storing a determination result indicating whether or not the program status word contains an error, in an associated manner.
- the program status word is also referred to as a PSW (Program Status Word).
- the program status word corresponding to an interrupt process contains an instruction address (IA) indicating a storage destination of data, in which an execution content (an instruction) of the interrupt process is defined, and contains data that is determined in advance in accordance with a data format of the PSW.
- the CPU reads an instruction address from a program status word corresponding to an interrupt process in response to occurrence of an interrupt and reads an instruction for the interrupt process on the basis of the read instruction address.
- the CPU 3 is an arithmetic processing device that does not execute various processes, such as a normal arithmetic process and an interrupt process, and includes a determining unit 3 a and a result storing unit 3 b .
- the determining unit 3 a determines whether or not a program status word corresponding to an interrupt process contains an error, that is, whether or not the program status word can be used as a header of an instruction address.
- the determination of the program status word is performed by determining whether data, which is determined in advance in accordance with a data format and which is contained in the program status word, matches a data format.
- the result storing unit 3 b stores the program status word that is determined by the determining unit 3 a and a determination result in the memory 2 in an associated manner.
- the CPU 4 is an arithmetic processing device that executes various processes, such as a normal arithmetic process and an interrupt process, and includes a result acquiring unit 4 a and a process executing unit 4 b .
- the CPU 4 executes a process for emulating a CPU or an OS (Operating System) having architecture that is different from that of a CPU or an OS installed on the information processing apparatus 1 .
- the result acquiring unit 4 a acquires, when an interrupt process occurs, a determination result of a program status word corresponding to the interrupt process from the memory 2 .
- the process executing unit 4 b acquires the program status word associated with the determination result from the memory 2 and executes the interrupt process by using an instruction address of the acquired program status word.
- the information processing apparatus 1 causes the CPU 3 , which does not execute various processes, such as an interrupt process, to check a PSW before occurrence of an interrupt.
- various processes such as an interrupt process
- the information processing apparatus 1 starts the interrupt process without checking the PSW. Therefore, it is possible to shorten a process time of the interrupt process.
- the CPU 4 may include the determining unit 3 a and the result storing unit 3 b in addition to the result acquiring unit 4 a and the process executing unit 4 b . By executing the determination process between various processes, such as a normal arithmetic process and an interrupt process, the CPU 4 can execute the interrupt process without performing a format check of a PSW.
- a PSW Program Status Word
- new PSW a PSW that is maintained in a register by the CPU at the time of occurrence of the interrupt process
- FIG. 2 is a block diagram of the configuration of the information processing apparatus according to the second embodiment.
- an information processing apparatus 10 includes a communication control I/F 11 , an input-output I/F 12 , an storage device 13 , a main memory 14 , an instruction executing CPU 15 , and a checking CPU 16 , which are connected to one another via a bus.
- the communication control I/F 11 is an interface, such as a network card, that controls communication with other devices.
- the communication control I/F 11 receives various requests from the other devices and transmits results of processes or the like to the other devices.
- the input-output I/F 12 is, for example, an input device, such as a keyboard or a mouse, and an output device, such as a display or a speaker.
- the input-output I/F 12 receives a transaction execution instruction from an administrator or the like and displays a result of execution.
- the storage device 13 is a storage device, such as a hard disk drive, for storing various types of data to be used by the instruction executing CPU 15 for executing instructions.
- the main memory 14 is a main memory or the like for storing various types of data or programs to be used by the instruction executing CPU 15 for executing instructions.
- the main memory 14 includes an emulation area 14 a , a new-PSW storage area 14 c , and a configuration-information storage area 14 d.
- the emulation area 14 a is an area representing a memory space for an OS or the like to be emulated by the instruction executing CPU 15 .
- the emulation area 14 a includes a PSA (Program Save Area) area 14 b .
- PSA Program Save Area
- the emulation area 14 a represents a memory space for the general-purpose OS.
- the PSA area 14 b is an area that is reserved in advance within the emulation area 14 a and that stores therein a new PSW, which is loaded at the time of occurrence of an interrupt, and an old PSW, which is maintained by the instruction executing CPU 15 at the time of occurrence of the interrupt.
- the PSA area 14 b also stores therein interrupt related information, such as contents of a register at the time of occurrence of an interrupt, or an interrupt code.
- FIG. 3 illustrates an example of information stored in the PSA area.
- the PSA area illustrated in FIG. 3 is reserved and stored in a low address area from 0 bytes to 512 bytes in the emulation area 14 a .
- the values illustrated in FIG. 3 are just examples, and the present invention is not limited to these examples.
- the types of interrupts illustrated in FIG. 3 are just examples, and the present invention is not limited to these examples.
- a new PSW that is to be loaded by the instruction executing CPU 15 when a restart interrupt occurs is stored in “0 bytes to 7 bytes”.
- An old PSW that is maintained in a register or the like by the instruction executing CPU 15 at the time of occurrence of a restart interrupt is stored in “8 bytes to 15 bytes”.
- An old PSW that is maintained in a register or the like by the instruction executing CPU 15 at the time of occurrence of an external interrupt is stored in “24 bytes to 31 bytes”.
- An old PSW that is maintained in a register or the like by the instruction executing CPU 15 at the time of occurrence of an SVC (supervisor call) interrupt is stored in “32 bytes to 39 bytes”.
- An old PSW that is maintained in a register or the like by the instruction executing CPU 15 at the time of occurrence of a program interrupt is stored in “40 bytes to 47 bytes”.
- An old PSW that is maintained in a register or the like by the instruction executing CPU 15 at the time of occurrence of machine check is stored in “48 bytes to 55 bytes”.
- An old PSW that is maintained in a register or the like by the instruction executing CPU 15 at the time of occurrence of an input-output interrupt is stored in “56 bytes to 63 bytes”.
- a new PSW that is to be loaded by the instruction executing CPU 15 when an external interrupt occurs is stored in “88 bytes to 95 bytes”.
- a new PSW that is to be loaded by the instruction executing CPU 15 when an SVC interrupt occurs is stored in “96 bytes to 103 bytes”.
- a new PSW that is to be loaded by the instruction executing CPU 15 when a program interrupt occurs is stored in “104 bytes to 111 bytes”.
- a new PSW that is to be loaded by the instruction executing CPU 15 when machine check occurs is stored in “112 bytes to 119 bytes”.
- a new PSW that is to be loaded by the instruction executing CPU 15 when an input-output interrupt occurs is stored in “120 bytes to 127 bytes”.
- Interrupt related information, control information used by the information processing apparatus 10 at the time of execution of various processes, and the like are stored in “128 bytes to 512 bytes”.
- the new-PSW storage area 14 c is an area for sharing information, which is used when an interrupt occurs, between the instruction executing CPU 15 and the checking CPU 16 .
- the new-PSW storage area 14 c stores therein “a new PSW, an available flag, and a check result” in association with each “interrupt type”.
- the “interrupt type” indicates a type of an interrupt, such as an external interrupt, an input-output interrupt, or a program interrupt.
- the “new PSW” is, for example, a 64-bit PSW to be loaded when an interrupt occurs, and is written in a format according to specifications of an emulation operating mechanism or the like included in the information processing apparatus 10 .
- the “available flag” is a 2-bit flag used for determining whether or not a new PSW is available.
- a “bit 0 of the available flag” is a flag indicating whether or not a new PSW in the PSA area 14 b is rewritten. When the new PSW is rewritten, “1” is stored in this flag, and when the new PSW is not rewritten, “0” is stored in this flag.
- a “bit 1 of the available flag” is a flag indicating whether or not the checking CPU 16 has completed a format check of a new PSW. When the format check is completed, “1” is stored in this flag, and when the format check is not completed, “0” is stored in this flag.
- FIG. 4 illustrates an example of determination of available flags stored in the new-PSW storage area. As illustrated in FIG. 4 , when “bit 0 , bit 1 ” is “0, 0”, it is indicated that a new PSW which has not been updated and a format of which has not been checked is stored, so that the instruction executing CPU 15 determines that the new PSW is unavailable.
- bit 0 , bit 1 When “bit 0 , bit 1 ” is “1, 0”, it is indicated that a new PSW which has been updated but a format of which has not been checked is stored, so that the instruction executing CPU 15 determines that the new PSW is unavailable.
- bit 0 , bit 1 When “bit 0 , bit 1 ” is “0, 1”, it is indicated that a new PSW of which format has been checked is stored, so that the instruction executing CPU 15 determines that the new PSW is available.
- bit 0 , bit 1 ” When “bit 0 , bit 1 ” is “1, 1”, it is indicated that a new PSW of which format has been checked but which has been updated after the format check is stored, so that the instruction executing CPU 15 determines that the new PSW is unavailable. While an example in which 2-bit information is used is explained above, the present invention is not limited to this example.
- the “check result” is 2-bit information indicating a result of determination that is performed by the checking CPU 16 to determine whether or not a PSW contains an error, for example, a result of the format check of a new PSW.
- FIG. 5 illustrates an example of determination of check results stored in the new-PSW storage area. As illustrated in FIG. 5 , a value of “00” indicates that a format of a new PSW is correct and a value of “01” indicates that a format of a new PSW is incorrect. A value of “10” indicates that an instruction address (IA) of a new PSW is an odd number and a value of “11” is not used in the present embodiment. While an example in which 2-bit information is used is explained above, the present invention is not limited to this example.
- the configuration-information storage area 14 d stores therein system configuration information, such as the number of instruction executing CPUs or the number of extra CPUs, that is used for determining how to allocate the checking CPU 16 or the instruction executing CPU 15 .
- the “number of instruction executing CPUs” is the number of CPUs that execute an instruction or that are executing an instruction
- the “number of extra CPUs” is the number of CPUs that do not execute an instruction or that are not executing an instruction.
- the information stored as above may be stored by an administrator or the like, or may be stored by the information processing apparatus 10 in accordance with a load status of each CPU or an instruction processing status of each CPU.
- the instruction executing CPU 15 is a CPU that executes an interrupt process except for the format check of a new PSW and that executes an instruction emulation process.
- the instruction executing CPU 15 includes an instruction-emulation executing unit 15 a , an interrupt executing unit 15 b , and a new-PSW updating unit 15 c .
- the instruction executing CPU 15 executes a normal arithmetic process or the like in addition to a process for emulating an OS or a CPU that has architecture different from architecture of an OS or a CPU included in the information processing apparatus 10 .
- the instruction-emulation executing unit 15 a emulates an OS or a CPU and executes an instruction from the emulated OS or the emulated CPU. For example, the instruction-emulation executing unit 15 a executes an instruction from the emulated OS or the emulated CPU by using the emulation area 14 a represented in the main memory 14 , thereby executing an instruction emulation process.
- the interrupt executing unit 15 b acquires a determination result of a new PSW corresponding to the interrupt process from the new-PSW storage area 14 c .
- the interrupt executing unit 15 b acquires, from the new-PSW storage area 14 c , the new PSW that is associated with the determination result and executes the interrupt process by using an instruction address of the acquired new PSW.
- the interrupt executing unit 15 b stores an old PSW, which is maintained in a register or the like at the time of occurrence of the external interrupt, in the PSA area 14 b . Subsequently, the interrupt executing unit 15 b acquires, from the new-PSW storage area 14 c , an “available flag” associated with a new PSW of the external interrupt. When the acquired “available flag” is “0, 0”, “1, 0”, or “1, 1”, the interrupt executing unit 15 b determines that the new PSW is unavailable, and monitors the “available flag” until the “available flag” becomes “0, 1” or executes exception handling.
- the interrupt executing unit 15 b determines that the new PSW is available and acquires a “check result” associated with the new PSW from the new-PSW storage area 14 c .
- the interrupt executing unit 15 b clears the available flag after the exception handling is completed. Or the available flag is cleared by the exception handling after the exception handling is completed.
- the interrupt executing unit 15 b determines that a format of the new PSW is correct and acquires the new PSW from the new-PSW storage area 14 c . Subsequently, the interrupt executing unit 15 b ends the external interrupt process by using an instruction address of the acquired new PSW.
- the interrupt executing unit 15 b determines that the format of the new PSW is incorrect and ends the process or executes exception handling.
- the interrupt executing unit 15 b determines that the instruction address of the new PSW is an odd number and ends the process or executes exception handling.
- the interrupt executing unit 15 b When the executed interrupt process is completed, the interrupt executing unit 15 b notifies the instruction-emulation executing unit 15 a of completion of the interrupt process.
- the instruction-emulation executing unit 15 a that has received the notice loads the old PSW that has been stored in the PSA area 14 b upon occurrence of the interrupt, and resumes a process that has been interrupted due to the occurrence of the interrupt by using an instruction address of the old PSW.
- the new-PSW updating unit 15 c updates a new PSW stored in the PSA area 14 b .
- the new-PSW updating unit 15 c updates a corresponding new PSW.
- the new-PSW updating unit 15 c changes a value of the “bit 0 ” of the “available flag”, which is stored in the new-PSW storage area 14 c in association with the updated new PSW, to “1”. That is, the new-PSW updating unit 15 c synchronizes the update of the new PSW with the update of the “available flag”.
- the new-PSW updating unit 15 c executes a trap for detecting update of a new PSW, and when detecting the update of the new PSW, sends a notice to a kernel.
- the kernel that has received the notice excludes an access to the corresponding new PSW.
- the new-PSW updating unit 15 c updates a value of the “bit 0 ” of the “available flag” corresponding to the new PSW to “1”. In this manner, the new-PSW updating unit 15 c can synchronize the update of the new PSW with the update of the “available flag”. Furthermore, it is possible to prevent the new PSW from being loaded during a time period from the update of the new PSW to the update of the “available flag”.
- the checking CPU 16 is a CPU that determines whether a format of a new PSW has an error or not.
- the checking CPU 16 includes a check processing unit 16 a and a check-result storing unit 16 b .
- the checking CPU 16 is a CPU that does not execute various processes, such as a normal arithmetic process and an interrupt process. The type of an interrupt for which a format check is to be executed can be arbitrarily specified.
- the check processing unit 16 a executes a format check for determining whether or not a new PSW corresponding to an interrupt process has an error, at a predetermined time interval. For example, when a new PSW is newly stored in the PSA area 14 b through operation of an OS or the like or when it is detected that the “bit 0 ” of the “available flag” in the new-PSW storage area is changed to “1”, the check processing unit 16 a loads a corresponding new PSW from the PSA area 14 b and executes a format check.
- a method of the format check executed by the check processing unit 16 a is specified by an address mode of a CPU or the like or a bit width. Because the information processing apparatus 10 can arbitrarily use a CPU and an address mode, any check methods that correspond to the address mode can be used.
- the check processing unit 16 a checks whether all of values of bits 24 to 32 are 0 and whether a value of a bit 0 is 0, among a new PSW of 64 bits. Furthermore, the check processing unit 16 a checks whether values of bits 2 and 3 are 0, whether a value of a bit 12 is 1, whether a value of a bit 16 is 0, whether a value of a bit 17 is 1, and whether an instruction address of the new PSW is not an odd number. Then, the check processing unit 16 a outputs a check result to the check-result storing unit 16 b.
- the check-result storing unit 16 b stores the new PSW, for which whether there is an error or not has been determined by the check processing unit 16 a , and a determination result in the new-PSW storage area 14 c in an associated manner. For example, assuming that the check-result storing unit 16 b receives, from the check processing unit 16 a , a notice indicating that “a format of the new PSW is correct” as a check result of the new PSW for an input-output interrupt, the check-result storing unit 16 b stores “the new PSW for the input-output interrupt” and the check result of “00” in the new-PSW storage area 14 c in an associated manner, and stores “1” in the bit 1 of the “available flag”.
- the check-result storing unit 16 b receives, from the check processing unit 16 a , a notice indicating that “an instruction address of the new PSW is an odd number” as a check result of the new PSW for an external interrupt, the check-result storing unit 16 b stores “the new PSW for the external interrupt” and the check result of “10” in the new-PSW storage area 14 c in an associated manner, and stores “1” in the bit 1 of the “available flag”.
- the check-result storing unit 16 b receives, from the check processing unit 16 a , a notice indicating that “a format of the new PSW is incorrect” as a check result of the new PSW for a program interrupt, the check-result storing unit 16 b stores “the new PSW for the program interrupt” and the check result of “01” in the new-PSW storage area 14 c in an associated manner, and stores “1” in the bit 1 of the “available flag”.
- FIG. 6 is a diagram explaining an example of a relationship between the format check of a new PSW and the interrupt process.
- the PSA area 14 b stores therein a new PSW corresponding to a program interrupt and a new PSW corresponding to an input-output interrupt.
- the checking CPU 16 periodically or continuously monitors the “available flag” that is stored in the new-PSW storage area 14 c in association with a new PSW corresponding to the input-output interrupt (hereinafter, this PSW is described as a new PSW (input output)).
- this PSW is described as a new PSW (input output)
- the checking CPU 16 loads the new PSW (input output) from the PSA area 14 b .
- the checking CPU 16 executes a format check on the loaded new PSW (input output).
- the checking CPU 16 stores the new PSW (input output) and a check result in the new-PSW storage area 14 c and updates the available flag.
- the checking CPU 16 which has stored the check result, periodically or continuously monitors the available flag associated with the new PSW (input output).
- the checking CPU 16 loads the new PSW (input output) from the PSA area 14 b again.
- the checking CPU 16 executes the above format check, stores a result of the format check and the new PSW (input output) in the new-PSW storage area 14 c , and updates the available flag.
- the checking CPU 16 periodically or continuously monitors the “available flag” that is stored in the new-PSW storage area 14 c in association with a new PSW corresponding to a program interrupt (hereinafter, this PSW is described as a new PSW (program)).
- this PSW is described as a new PSW (program)
- the checking CPU 16 loads the new PSW (program) from the PSA area 14 b .
- the checking CPU 16 executes a format check on the loaded new PSW (program).
- the checking CPU 16 stores the new PSW (program) and a check result in the new-PSW storage area 14 c and updates the available flag.
- the checking CPU 16 which has stored the check result, periodically or continuously monitors the available flag associated with the new PSW (program).
- the checking CPU 16 loads the new PSW (program) from the PSA area 14 b again.
- the checking CPU 16 executes the above format check, stores a result of the format check and the new PSW (program) in the new-PSW storage area 14 c , and updates the available flag.
- the instruction executing CPU 15 stores a PSW, which is maintained in a register or the like at the time of occurrence of the interrupt, in the PSA area 14 b as an old PSW. Subsequently, the instruction executing CPU 15 acquires an available flag and a check result, which are stored in the new-PSW storage area 14 c in association with the new PSW (input output). When determining that the new PSW (input output) is available, the instruction executing CPU 15 loads the new PSW (input output) from the new-PSW storage area 14 c and executes the input-output interrupt by using an instruction address of the new PSW (input output).
- the instruction executing CPU 15 stores a PSW, which is maintained in a register or the like at the time of occurrence of the interrupt, in the PSA area 14 b as an old PSW. Subsequently, the instruction executing CPU 15 acquires an available flag and a check result that are stored in the new-PSW storage area 14 c in association with the new PSW (program). When determining that the new PSW (program) is available, the instruction executing CPU 15 loads the new PSW (program) from the new-PSW storage area 14 c and executes the program interrupt by using an instruction address of the new PSW (program).
- the instruction executing CPU 15 When rewriting a new PSW (input output) stored in the PSA area 14 b , the instruction executing CPU 15 updates the available flag, which is stored in the new-PSW storage area 14 c in association with the new PSW (input output), at the same time of the rewriting. As a result, the checking CPU 16 can detect update of the new PSW (input output) and execute the format check again.
- the instruction executing CPU 15 updates the available flag, which is stored in the new-PSW storage area 14 c in association with the new PSW (program), at the same time of the rewriting.
- the checking CPU 16 can detect update of the new PSW (program) and execute the format check again.
- the instruction executing CPU 15 may include the check processing unit 16 a and the check-result storing unit 16 b in addition to the instruction-emulation executing unit 15 a , the interrupt executing unit 15 b , and the new-PSW updating unit 15 c .
- the CPU 4 can execute the interrupt process without performing a format check of a new PSW.
- FIGS. 7 and 8 are flowcharts of the flow of the format check of a new PSW.
- FIG. 9 is a flowchart of the flow of the interrupt process.
- the checking CPU 16 checks an “available flag” for each type of an interrupt stored in the new-PSW storage area 14 c (S 101 ) and determines whether or not a new PSW is available (S 102 ).
- the checking CPU 16 acquires a corresponding new PSW from the PSA area 14 b (S 104 ), checks an address mode used in the information processing apparatus 10 (S 105 ), and determines whether the address mode is a 31-bit mode or not (S 106 ).
- the checking CPU 16 determines whether or not any of the bits 24 to 32 of the new PSW is 1 (S 107 and S 108 ). When any of the bits 24 to 32 of the new PSW is 1 (YES at S 108 ), the checking CPU 16 executes a process at S 125 . That is, the checking CPU 16 stores “01” in a check result of a new PSW to be subjected to a format check. When all of the bits 24 to 32 of the new PSW is 0 (NO at S 108 ), the checking CPU 16 checks a bit 0 (S 109 ).
- the checking CPU 16 determines whether or not any of the bits 24 to 39 of the new PSW is 1 (S 110 and S 111 ). When any of the bits 24 to 39 of the new PSW is 1 (YES at S 111 ), the checking CPU 16 executes the process at S 125 . When all of the bits 24 to 39 are 0 (NO at S 111 ), the checking CPU 16 checks a bit 0 of the new PSW (S 109 ).
- the checking CPU 16 executes the process at S 125 .
- the checking CPU 16 checks bits 2 and 3 of the new PSW (S 113 ).
- the checking CPU 16 executes the process at S 125 .
- the checking CPU 16 checks a bit 12 of the new PSW (S 115 ). Because the instruction executing CPU 15 operates in an extended control mode, 1 is set to the bit 12 of the new PSW.
- the checking CPU 16 executes the process at S 125 .
- the checking CPU 16 checks a bit 16 of the new PSW (S 117 ).
- the checking CPU 16 executes the process at S 125 .
- the checking CPU 16 checks a bit 17 of the new PSW (S 119 ).
- the checking CPU 16 executes the process at S 125 .
- the checking CPU 16 checks an instruction address of the new PSW (S 121 ).
- the checking CPU 16 stores “10” in a check result (S 123 ).
- the checking CPU 16 stores “00” in the check result (S 124 ).
- the checking CPU 16 stores “01” in the check result (S 125 ).
- the checking CPU 16 stores the new PSW, for which the format check has been completed, and the check result in a predetermined area of the new-PSW storage area 14 c in an association manner (S 126 ), and changes a bit 1 of the available flag to 1 (S 127 ). At this time, a bit 0 of the available flag is 0 until the new PSW is rewritten. Thereafter, the process returns to S 101 and the above processes are repeated.
- the instruction executing CPU 15 stores interrupt related information in a predetermined area of the PSA area 14 b (S 202 ).
- the instruction executing CPU 15 stores a PSW, which is maintained in a register or the like at the time of occurrence of the interrupt, in a predetermined area of the PSA area 14 b as an old PSW (S 203 ).
- the instruction executing CPU 15 acquires, from the new-PSW storage area 14 c , an available flag of a new PSW corresponding to the interrupt that has occurred (S 204 ) and determines whether or not the new PSW is available (S 205 ).
- the instruction executing CPU 15 acquires a check result of the new PSW from the new-PSW storage area 14 c (S 206 ).
- the instruction executing CPU 15 executes the interrupt process by using an instruction address of the new PSW (S 208 ).
- the instruction executing CPU 15 determines that exception handling has occurred and repeats the process at S 201 .
- the instruction executing CPU 15 repeats the process at S 204 .
- the checking CPU 16 determines whether or not a new PSW corresponding to an interrupt process contains an error.
- the checking CPU 16 stores the new PSW, for which whether an error is contained or not has been determined, and a determination result in the new-PSW storage area 14 c in an associated manner.
- the instruction executing CPU 15 acquires a determination result of a new PSW corresponding to the interrupt process from the new-PSW storage area 14 c .
- the instruction executing CPU 15 executes the interrupt process by using an instruction address of the new PSW associated with the determination result.
- the checking CPU 16 executes a format check of a new PSW and stores the result of the format check in advance of an interrupt process. Consequently, the instruction executing CPU 15 , which executes an interrupt process, need not check the new PSW when executing the interrupt process. Therefore, even when an interrupt process occurs a number of times, it is possible to reduce overhead of the interrupt process. As a result, it is possible to reduce process time of the interrupt process.
- a format check is executed when a new PSW is rewritten, so that it is possible to synchronize update of the new PSW with the check result. Therefore, it is possible to prevent inconsistency, in which, for example, an old check result for which a format check has not been executed is maintained even after the new PSW is updated.
- the present invention is not limited to this example. For example, it is possible to use two checking CPUs and one instruction executing CPU or it is possible to use one checking CPU and two instruction executing CPUs.
- a third embodiment an example will be explained in which a plurality of checking CPUs and a plurality of instruction executing CPUs are used.
- FIG. 10 illustrates an example in which a format check of a new PSW is executed by using a plurality of CPUs.
- an information processing apparatus includes an instruction executing CPU, a checking CPU 30 , a checking CPU 40 , and a main memory.
- the main memory is the same as the main memory 14 explained in the second embodiment and the instruction executing CPU is the same as the instruction executing CPU 15 explained in the second embodiment; therefore, detailed explanation will not be repeated.
- the checking CPU 30 is a CPU that executes a format check of a new PSW (input output) corresponding to an input-output interrupt. For example, the checking CPU 30 periodically or continuously monitors an “available flag” that is stored in the new-PSW storage area 14 c in association with a new PSW (input output). When detecting that the new PSW (input output) is rewritten or when determining that the new PSW has not been checked, the checking CPU 30 loads the new PSW (input output) from the PSA area 14 b . Subsequently, the checking CPU 30 executes a format check of the loaded new PSW (input output). Then, the checking CPU 30 stores the new PSW (input output) and a check result in the new-PSW storage area 14 c and updates the available flag.
- an “available flag” that is stored in the new-PSW storage area 14 c in association with a new PSW (input output).
- the checking CPU 30 loads the new PSW (input output) from the PS
- the checking CPU 30 which has stored the check result, periodically or continuously monitors the available flag associated with the new PSW (input output).
- the checking CPU 30 loads the new PSW (input output) from the PSA area 14 b .
- the checking CPU 30 executes the above format check, stores the result of the format check and the new PSW (input output) in the new-PSW storage area 14 c , and updates the available flag.
- the checking CPU 40 is a CPU that executes a format check of a new PSW (program) corresponding to a program interrupt. For example, the checking CPU 40 periodically or continuously monitors an “available flag” that is stored in the new-PSW storage area 14 c in association with a new PSW (program). When detecting that the new PSW (program) is rewritten or when determining that the new PSW has not been checked, the checking CPU 40 loads the new PSW (program) from the PSA area 14 b . Subsequently, the checking CPU 40 executes a format check of the loaded new PSW (program). Then, the checking CPU 40 stores the new PSW (program) and a check result in the new-PSW storage area 14 c and updates the available flag.
- the checking CPU 40 which has stored the check result, periodically or continuously monitors the available flag associated with the new PSW (program).
- the checking CPU 40 loads the new PSW (program) from the PSA area 14 b .
- the checking CPU 40 executes the above format check, stores the result of the format check and the new PSW (program) in the new-PSW storage area 14 c , and updates the available flag.
- FIG. 11 illustrates an example in which a format check of a new PSW is executed for a plurality of instruction executing CPUs.
- an information processing apparatus includes a memory (A), a memory (B), an instruction executing CPU 50 , an instruction executing CPU 60 , and a checking CPU 45 .
- the memory (A) is a storage unit representing a memory space for architecture to be emulated by the instruction executing CPU 50 , and includes a PSA area and a new-PSW storage area.
- the PSA area stores therein a new PSW corresponding to a type of an interrupt.
- the new-PSW storage area stores therein a new PSW, an available flag, and a check result for each type of an interrupt, in an associated manner.
- the memory (B) is a storage unit representing a memory space for architecture to be emulated by the instruction executing CPU 60 , and includes a PSA area and a new-PSW storage area.
- the PSA area stores therein a new PSW corresponding to a type of an interrupt.
- the new-PSW storage area stores therein a new PSW, an available flag, and a check result for each type of an interrupt, in an associated manner.
- the instruction executing CPU 50 is a CPU that executes an interrupt process except for a format check of a new PSW and executes an instruction emulation process.
- the instruction executing CPU 50 has the same functions as those of the instruction executing CPU 15 explained in the second embodiment.
- the instruction executing CPU 50 refers to the storage area (A) that stores therein information related to architecture to be emulated, and executes an interrupt process or the like by using various types of information on the new PSW stored in the memory (A).
- the instruction executing CPU 50 stores a PSW, which is maintained in a register or the like at the time of occurrence of the interrupt, in the memory (A) as an old PSW. Thereafter, the instruction executing CPU 50 acquires an available flag and a check result, which are stored in the memory (A) in association with the new PSW (input output). When determining that the new PSW (input output) is available, the instruction executing CPU 50 loads the new PSW (input output) from the memory (A) and executes the input-output interrupt by using an instruction address of the new PSW (input output).
- the instruction executing CPU 60 is a CPU that executes an interrupt process except for a format check of a new PSW and executes an instruction emulation process.
- the instruction executing CPU 60 has the same functions as those of the instruction executing CPU 15 explained in the second embodiment.
- the instruction executing CPU 60 refers to the memory (B) that stores therein information related to architecture to be emulated, and executes an interrupt process or the like by using various types of information on the new PSW stored in the memory (B).
- the instruction executing CPU 60 stores a PSW, which is maintained in a register or the like at the time of occurrence of the interrupt, in the memory (B) as an old PSW. Thereafter, the instruction executing CPU 60 acquires an available flag and a check result, which are stored in the memory (B) in association with the new PSW (input output). When determining that the new PSW (input output) is available, the instruction executing CPU 60 loads the new PSW (input output) from the memory (B) and executes the input-output interrupt by using an instruction address of the new PSW (input output).
- the checking CPU 45 is a CPU that executes a format check of a new PSW (program) corresponding to a program interrupt.
- the checking CPU 45 executes a format check of the new PSW stored in each of the memory (A) and the memory (B) and stores a check result or the like in the memory (A) and the memory (B).
- the checking CPU 45 periodically or continuously monitors an “available flag” that is stored in the memory (A) in association with a new PSW (program).
- an “available flag” that is stored in the memory (A) in association with a new PSW (program).
- the checking CPU 45 loads the new PSW (program) from the memory (A).
- the checking CPU 45 executes a format check of the loaded new PSW (program).
- the checking CPU 45 stores the new PSW (program) and a check result in the memory (A) and updates the available flag.
- the checking CPU 45 which has stored the check result, periodically or continuously monitors the available flag that is associated with the new PSW (program).
- the checking CPU 45 loads the new PSW (program) from the memory (A) again.
- the checking CPU 45 executes the above format check, stores a result of the format check and the new PSW (program) in the memory (A), and updates the available flag.
- the checking CPU 45 periodically or continuously monitors an “available flag” that is stored in the memory (B) in association with a new PSW (program).
- an “available flag” that is stored in the memory (B) in association with a new PSW (program).
- the checking CPU 45 loads the new PSW (program) from the memory (B).
- the checking CPU 45 executes a format check of the loaded new PSW (program).
- the checking CPU 45 stores the new PSW (program) and a check result in the memory (B) and updates the available flag.
- the checking CPU 45 which has stored the check result, periodically or continuously monitors the available flag that is associated with the new PSW (program).
- the checking CPU 45 loads the new PSW (program) from the memory (B) again.
- the checking CPU 45 executes the above format check, stores a result of the format check and the new PSW (program) in the memory (B), and updates the available flag.
- the third embodiment when a plurality of extra CPUs, in other words, a plurality of CPUs that is not executing a process, is present, it is possible to cause each of the CPUs to execute a format check of a new PSW of a different type of an interrupt. Therefore, it is possible to reduce loads on the checking CPU. Furthermore, it is possible to prevent delay in the format check of a new PSW, enabling to increase a process speed. Moreover, even when a plurality of architectures is in operation, it is possible to separately execute a format check of a new PSW by generating memory spaces corresponding to the respective architectures.
- the information processing apparatus explained in the first to the third embodiments can determine how to allocate a checking CPU in accordance with information stored in the configuration-information storage area 14 d . For example, when “the number of instruction executing CPUs” stored in the configuration-information storage area 14 d is smaller than “the number of extra CPUs”, the information processing apparatus performs allocation so that a format check of a new PSW for one instruction executing CPU is executed by using one or more extra CPUs. At this time, the number of types of interrupts for which the format check is performed by each checking CPU is made uniform.
- the information processing apparatus When “the number of instruction executing CPUs” stored in the configuration-information storage area 14 d is equal to “the number of extra CPUs”, the information processing apparatus performs allocation so that a format check of a new PSW corresponding to one instruction executing CPU is executed by using one extra CPU. When “the number of instruction executing CPUs” stored in the configuration-information storage area 14 d is greater than “the number of extra CPUs”, the information processing apparatus performs allocation so that a format check of a new PSW corresponding to one or more instruction executing CPUs is executed by using one extra CPU.
- the configuration-information storage area 14 d may be monitored by using a configuration in which rewrite of a specific area is detected and notified or may be monitored by allocating a process of monitoring a configuration-information storage area to another CPU.
- the present invention is not limited to this example.
- a multi-core that includes a plurality of processor cores in one processor package.
- a core that executes a process is caused to function as an instruction executing CPU and a core that is not executing the process is caused to function as a checking CPU described above so that the same processes as those of the first to the third embodiments can be executed.
- the present invention is not limited to this example.
- any information processing apparatuses that do not emulate architecture and that include a plurality of CPUs or a multi-core can execute the same processes as those of the first to the third embodiments.
- each device illustrated in the drawings are only for conceptually illustrating the functions thereof and are not necessarily physically configured as illustrated in the drawings.
- the specific forms of separate or integrated devices for example, the check processing unit 16 a and the check-result storing unit 16 b , are not limited to those illustrated in the drawings. All or part of the device can be configured by functionally or physically separating or integrating any of the units depending on various loads or use conditions.
- each device can be implemented by a CPU and by programs analyzed and executed by the CPU or implemented as hardware by wired logic.
- FIG. 12 illustrates an example of a computer system that executes an interrupt control program.
- a computer system 100 includes a RAM 101 , an HDD 102 , a ROM 103 , a CPU 104 , and a CPU 105 .
- a program that implements the same functions as those of the above embodiments is stored in advance in the ROM 103 .
- an instruction-emulation execution program 103 a an interrupt execution program 103 b , and a new-PSW update program 103 c are stored in the ROM 103 .
- a check processing program 103 d and a check-result storing program 103 e are stored in the ROM 103 .
- the CPU 104 and the CPU 105 read and execute the programs 103 a to 103 e , so that processes are loaded as illustrated in FIG. 12 . That is, the programs 103 a to 103 e become an instruction-emulation execution process 104 a , an interrupt execution process 104 b , a new-PSW update process 104 c , a check processing process 105 a , and a check-result storing process 105 b , respectively.
- the instruction-emulation execution process 104 a corresponds to the instruction-emulation executing unit 15 a illustrated in FIG. 2
- the interrupt execution process 104 b corresponds to the interrupt executing unit 15 b
- the new-PSW update process 104 c corresponds to the new-PSW updating unit 15 c illustrated in FIG. 2
- the check processing process 105 a corresponds to the check processing unit 16 a
- the check-result storing process 105 b corresponds to the check-result storing unit 16 b illustrated in FIG. 2 .
- a PSA-area table 101 a , a new-PSW-storage-area table 101 b , and a configuration-information-storage-area table 101 c are provided in the RAM 101 .
- the PSA-area table 101 a corresponds to the PSA area 14 b illustrated in FIG. 2
- the new-PSW-storage-area table 101 b corresponds to the new-PSW storage area 14 c
- the configuration-information-storage-area table 101 c corresponds to the configuration-information storage area 14 d.
- the programs 103 a to 103 e described above are not necessarily stored in the ROM 103 .
- the programs 103 a to 103 e may be stored in a “portable physical medium”, such as a flexible disk (FD), a CD-ROM, an MO disk, a DVD disk, a magnet-optical disk, or an IC card, that are inserted into the computer system 100 ; a “fixed physical medium”, such as a hard disk drive (HDD) that is provided inside or outside the computer system 100 ; or “another computer system (or a server)” that is connected to the computer system 100 via a public line, the Internet, LAN, WAN, or the like, so that the computer system 100 can read out and execute the programs from these media.
- a “portable physical medium” such as a flexible disk (FD), a CD-ROM, an MO disk, a DVD disk, a magnet-optical disk, or an IC card
- a “fixed physical medium” such as a hard disk drive (HDD) that
- the programs in the other embodiments are recorded in a computer-readable manner in a recording medium, such as the above “portable physical medium”, the “fixed physical medium”, or the “computer medium”.
- the computer system 100 reads and executes the programs from the recording medium to thereby implement the same functions as those of the above embodiments.
- the programs in the other embodiments are not necessarily executed by the computer system 100 . For example, even when other computer systems or servers execute the programs or even when these systems or the servers execute the programs in cooperation with each other, the present invention can be applied.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
- Executing Machine-Instructions (AREA)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/642,888 US9069742B1 (en) | 2010-08-10 | 2015-03-10 | Information processing apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-179561 | 2010-08-10 | ||
JP2010179561A JP5565187B2 (ja) | 2010-08-10 | 2010-08-10 | 情報処理装置および割込み制御プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/642,888 Division US9069742B1 (en) | 2010-08-10 | 2015-03-10 | Information processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
US20120042137A1 US20120042137A1 (en) | 2012-02-16 |
US9009422B2 true US9009422B2 (en) | 2015-04-14 |
Family
ID=45565626
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/196,965 Expired - Fee Related US9009422B2 (en) | 2010-08-10 | 2011-08-03 | Information processing apparatus and interrupt control method |
US14/642,888 Expired - Fee Related US9069742B1 (en) | 2010-08-10 | 2015-03-10 | Information processing apparatus |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/642,888 Expired - Fee Related US9069742B1 (en) | 2010-08-10 | 2015-03-10 | Information processing apparatus |
Country Status (2)
Country | Link |
---|---|
US (2) | US9009422B2 (ja) |
JP (1) | JP5565187B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954619B1 (en) | 2013-08-07 | 2015-02-10 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Memory module communication control |
US9261098B2 (en) | 2013-08-13 | 2016-02-16 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Fan speed and memory regulator control based on memory margin |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58117059A (ja) | 1981-12-31 | 1983-07-12 | Fujitsu Ltd | 情報処理装置 |
JPS58215779A (ja) | 1982-06-07 | 1983-12-15 | Nec Corp | デ−タ処理装置 |
JPS6243737A (ja) | 1985-08-21 | 1987-02-25 | Hitachi Ltd | 割り込み制御方式 |
JPH02244334A (ja) | 1989-03-17 | 1990-09-28 | Fujitsu Ltd | 情報処理装置 |
JPH02244345A (ja) | 1989-03-17 | 1990-09-28 | Fujitsu Ltd | 情報処理装置 |
JPH02245937A (ja) | 1989-03-20 | 1990-10-01 | Fujitsu Ltd | 情報処理装置 |
JPH03105529A (ja) | 1989-09-20 | 1991-05-02 | Fujitsu Ltd | Psw形式エラー制御回路 |
JPH03225529A (ja) | 1990-01-31 | 1991-10-04 | Fujitsu Ltd | マイクロプロセッサ |
JPH08278895A (ja) | 1995-02-07 | 1996-10-22 | Hitachi Ltd | データ処理装置 |
US20040268064A1 (en) * | 2003-06-26 | 2004-12-30 | Rudelic John C | Tracking Modifications to a memory |
US20060271762A1 (en) * | 2003-06-17 | 2006-11-30 | Koninklijke Philips Electronics N.V. | Microcontroller and addressing method |
WO2009087159A1 (en) | 2008-01-11 | 2009-07-16 | International Business Machines Corporation | Execute relative instruction |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5577231A (en) * | 1994-12-06 | 1996-11-19 | International Business Machines Corporation | Storage access authorization controls in a computer system using dynamic translation of large addresses |
US6842728B2 (en) * | 2001-03-12 | 2005-01-11 | International Business Machines Corporation | Time-multiplexing data between asynchronous clock domains within cycle simulation and emulation environments |
US7383412B1 (en) * | 2005-02-28 | 2008-06-03 | Nvidia Corporation | On-demand memory synchronization for peripheral systems with multiple parallel processors |
-
2010
- 2010-08-10 JP JP2010179561A patent/JP5565187B2/ja not_active Expired - Fee Related
-
2011
- 2011-08-03 US US13/196,965 patent/US9009422B2/en not_active Expired - Fee Related
-
2015
- 2015-03-10 US US14/642,888 patent/US9069742B1/en not_active Expired - Fee Related
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58117059A (ja) | 1981-12-31 | 1983-07-12 | Fujitsu Ltd | 情報処理装置 |
JPS58215779A (ja) | 1982-06-07 | 1983-12-15 | Nec Corp | デ−タ処理装置 |
JPS6243737A (ja) | 1985-08-21 | 1987-02-25 | Hitachi Ltd | 割り込み制御方式 |
JPH02244334A (ja) | 1989-03-17 | 1990-09-28 | Fujitsu Ltd | 情報処理装置 |
JPH02244345A (ja) | 1989-03-17 | 1990-09-28 | Fujitsu Ltd | 情報処理装置 |
JPH02245937A (ja) | 1989-03-20 | 1990-10-01 | Fujitsu Ltd | 情報処理装置 |
JPH03105529A (ja) | 1989-09-20 | 1991-05-02 | Fujitsu Ltd | Psw形式エラー制御回路 |
JPH03225529A (ja) | 1990-01-31 | 1991-10-04 | Fujitsu Ltd | マイクロプロセッサ |
JPH08278895A (ja) | 1995-02-07 | 1996-10-22 | Hitachi Ltd | データ処理装置 |
US5881295A (en) | 1995-02-07 | 1999-03-09 | Hitachi, Ltd. | Data processor which controls interrupts during programming and erasing of on-chip erasable and programmable non-volatile program memory |
US20060271762A1 (en) * | 2003-06-17 | 2006-11-30 | Koninklijke Philips Electronics N.V. | Microcontroller and addressing method |
US20040268064A1 (en) * | 2003-06-26 | 2004-12-30 | Rudelic John C | Tracking Modifications to a memory |
WO2009087159A1 (en) | 2008-01-11 | 2009-07-16 | International Business Machines Corporation | Execute relative instruction |
Non-Patent Citations (1)
Title |
---|
Japanese Office Action mailed by JPO and corresponding to Japanese application No. 2010-179561 on Mar. 4, 2014, with English translation. |
Also Published As
Publication number | Publication date |
---|---|
US9069742B1 (en) | 2015-06-30 |
JP2012038197A (ja) | 2012-02-23 |
JP5565187B2 (ja) | 2014-08-06 |
US20120042137A1 (en) | 2012-02-16 |
US20150178228A1 (en) | 2015-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7007425B2 (ja) | 部分的にオフロードされた仮想化マネージャにおけるメモリ割当て技術 | |
EP3479223B1 (en) | Secure booting of virtualization managers | |
JP6845264B2 (ja) | オポチュニスティックハイパーバイザを用いたパフォーマンスの変動の低減 | |
JP5214105B2 (ja) | 仮想マシンの監視 | |
US9449314B2 (en) | Virtualization of a central processing unit measurement facility | |
US7774636B2 (en) | Method and system for kernel panic recovery | |
US8533390B2 (en) | Circular buffer in a redundant virtualization environment | |
US7725894B2 (en) | Enhanced un-privileged computer instruction to store a facility list | |
US8281318B2 (en) | Systems and methods for inter process communication based on queues | |
JP5547373B2 (ja) | 単一プロセッサまたはマルチプロセッサ・コンピュータ・システムにおけるマルチタスク・アプリケーションのロギングおよび再生を最適化する方法 | |
JP2020091835A (ja) | 情報を処理するための方法及び装置 | |
KR20110124734A (ko) | 콜백을 사용하여 소프트웨어의 동적 계측을 위한 고장안전 메커니즘 | |
US7539986B2 (en) | Method for guest operating system integrity validation | |
US20140149996A1 (en) | Runtime emulating static thread local storage of portable executable software code | |
US20090276205A1 (en) | Stablizing operation of an emulated system | |
JP2008529114A5 (ja) | ||
GB2504772A (en) | Coprocessor providing service address space for diagnostics collection | |
US9069742B1 (en) | Information processing apparatus | |
WO2012137239A1 (ja) | 計算機システム | |
US8200918B2 (en) | Tracking ownership of memory in a data processing system through use of a memory monitor | |
US20090241111A1 (en) | Recording medium having instruction log acquiring program recorded therein and virtual computer system | |
US20090217014A1 (en) | Processor, memory device, processing device, and method for processing instruction | |
Huang et al. | Optimizing crash dump in virtualized environments | |
McLeod | Usermode OS components on seL4 with rump kernels | |
JP2016076152A (ja) | エラー検出システム、エラー検出方法およびエラー検出プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FUJITSU LIMITED, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TAKEISHI, NAOTO;WATANABE, KAZUYOSHI;REEL/FRAME:026758/0834 Effective date: 20110712 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20190414 |