US20050216696A1 - Multi-processor system and memory accessing method - Google Patents

Multi-processor system and memory accessing method Download PDF

Info

Publication number
US20050216696A1
US20050216696A1 US11/082,712 US8271205A US2005216696A1 US 20050216696 A1 US20050216696 A1 US 20050216696A1 US 8271205 A US8271205 A US 8271205A US 2005216696 A1 US2005216696 A1 US 2005216696A1
Authority
US
United States
Prior art keywords
physical address
execution
memory
address
memory space
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.)
Abandoned
Application number
US11/082,712
Inventor
Eiichiro Kawaguchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Assigned to NEC CORPORATION reassignment NEC CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KAWAGUCHI, EIICHIRO
Publication of US20050216696A1 publication Critical patent/US20050216696A1/en
Priority to US11/979,139 priority Critical patent/US7644252B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance

Definitions

  • the present invention relates to a multi-processor system and a memory accessing method.
  • FIG. 1 shows a schematic diagram of a multi-processor system of a first conventional example.
  • the conventional multi-processor system includes an operating system (OS), a plurality of MPUs (Micro Processing Units) operating on the operating system (OS), and a main memory.
  • the plurality of MPUs share the main memory.
  • the multi-processor system further has input/output (I/O) units (not shown).
  • the plurality of MPUs share the I/O units.
  • FIG. 2 shows a schematic diagram of the virtual machine (VM) system.
  • the virtual machine system includes a host operating system (OS) running on the computer, and a plurality of guest operating systems running on the virtual machine.
  • OS host operating system
  • the plurality of guest operating systems run on the virtual machine generated on the host operating system (OS).
  • FIG. 3 shows a schematic diagram of the logic dividing method.
  • the logic dividing system includes an MPU and a plurality of operating systems running on the MPU.
  • a host operating system OS
  • the plurality of operating systems run on the same computer.
  • the plurality of operating systems since the plurality of operating systems run on the single MPU, the plurality of operating systems receive the influence of a trouble, when the trouble has occurred in the MPU. Hence, the trouble has influence on the entire system.
  • JP-A-Heisei 5-204760 discloses a control system of a virtual machine system.
  • the virtual computer system of this conventional example is provided with a plurality of operating systems and a management program for managing the plurality of operating systems. Under the control of this management program, the plurality of operating systems run on a single computer system.
  • a control system of a virtual computer system includes a virtual address—real address converting section and a real address—absolute address converting section.
  • the virtual address—real address converting section assigns a plurality of continuous spaces on a main memory to the plurality of operating systems, and has an address management table.
  • the virtual address—real address converting section uses an address conversion table in the operating system to convert a virtual address into a real address.
  • the real address—absolute address converting section converts the real address obtained by this virtual address—real address converting section to a physical address of the main memory by using the address management table.
  • JP-A-Heisei 2-96833 discloses a job control system.
  • An information processing apparatus for the job control system of this conventional example includes a central processing unit, a main memory, an input/output processor and peripheral units connected to the input/output processor.
  • the control of information processing to be carried out by the information processing apparatus is based on a general-purpose control section stored in a memory region of the main memory.
  • the general-purpose control section has a section for starting a job of a model control section operating under a control of the general-purpose control section, and a section for reserving continuous memory regions different from a memory management region for the general-purpose control section in the main memory when starting the job.
  • the reserved memory region stores sub jobs to be executed under the control of the model control section, a job memory management section of the model control section, a job task management section of the model control section, and a job interruption control section of the different model control section.
  • JP-P2001-101032A discloses an operating system (OS) monitoring system for control between different operating systems.
  • the operating system monitoring system of this conventional example detects an occurrence of a software trouble in a computer system on which a plurality of operating systems run.
  • the operating system (OS) monitoring system has a function of separating hardware resources for the plurality of operating systems by using a virtual hardware which has a function of distributing interruptions from the hardware or the processing time of a CPU.
  • the operating system (OS) monitoring system has a function of permitting data to be read and written between the plurality of operating systems.
  • the operating system monitoring system monitors the operations of the operating systems by periodically checking the writing of the data and the written data and carries out re-loading of the operating systems when detecting the trouble.
  • JP-P2001-101034A discloses a trouble recovering system for control between different operating systems.
  • the trouble recovering system of this conventional example uses a computer system in which a plurality of operating systems run simultaneously.
  • the trouble recovering system has first to fourth units.
  • the first unit assigns hardware resources to the plurality of operating systems.
  • the first unit also attains, by using a software technique, a firewall as a virtual wall for isolating software and hardware such that a trouble of the hardware or the operating system has no influence on the execution of the other operating systems.
  • the first unit transmits information between the respective operating systems.
  • the second unit monitors the operation states of the operating systems and an application program from an isolated operation environment and detects a trouble, stop and an operation impossible state of either of the operating systems.
  • the third unit normally or forcedly stops the troubled operating system (OS).
  • the fourth unit re-starts the operating systems.
  • the trouble recovering system recovers the system automatically at the time of the trouble occurrence by combining them.
  • JP-A-Heisei 11-85547 discloses a virtual cluster configuring method.
  • the virtual cluster configuring method of this conventional example has a virtual cluster configuring unit and an inter-virtual-cluster communicating unit.
  • the virtual cluster configuring unit has dedicated hardware resources such as a processor, a physical memory, and an external device, and configures a plurality of virtual clusters, on which an operating system run on a single computer.
  • In the inter-virtual-cluster communicating unit processes on the different virtual clusters communicate with each other.
  • An object of the present invention is to provide a multi-processor system that can restrict influence of a trouble to a minimum, and a memory accessing method.
  • a multiprocessor system includes a plurality of microprocessors configured to operate on a plurality of operating systems, respectively, and a memory section configured to have a plurality of memory spaces respectively allocated to the plurality of microprocessors.
  • each of the plurality of microprocessors may include a translation look-aside buffer (TLB) and a page table register.
  • TLB stores a copy of at least a part of data of one of the plurality of memory spaces corresponding to the microprocessor, and the copy includes a relation of each of virtual addresses of a virtual address space and a corresponding physical address of a physical address space as the memory space.
  • the page table register refers to the TLB in response to an execution virtual address generated based on an application program to be executed by the microprocessor to determine an execution physical address corresponding to the execution virtual address.
  • the microprocessor accesses the memory space based on the execution physical address.
  • a page table may be provided for the memory space to store the relation of the virtual addresses and the corresponding physical address.
  • the TLB stores the copy of the page table.
  • the page table may further store an identifier to identify the operating system.
  • the page table register of the microprocessor may refer to the TLB to determine whether the stored identifier and the identifier held the microprocessor are coincident with each other, and refer to the TLB for translation of the execution virtual address into the execution physical address, when the stored identifier and the identifier held the microprocessor are coincident with each other.
  • the microprocessor may further include an address check circuit configured to generate a determination result to indicate whether or not the execution physical address meets a predetermined condition.
  • the microprocessor accesses the memory space based on the execution physical address.
  • the predetermined condition may be whether the execution physical address is in a range from an upper limit physical address to a lower limit physical address in the memory space.
  • the microprocessor may further include an upper limit & lower limit physical address storage section configured to store the upper limit physical address and the lower limit physical address.
  • a memory access method is achieved by providing a plurality of microprocessors configured to operate on a plurality of operating systems, respectively, and a memory section configured to have a plurality of memory spaces allocated to the plurality of microprocessors; and by accessing an allocated memory space of the plurality of memory spaces by one of the plurality of microprocessors.
  • the memory space may have a page table configured to store a relation of each of the virtual addresses and a corresponding one of the physical addresses.
  • the accessing may be achieved by referring to the page table in the memory space in response to an execution virtual address to determine execution physical address corresponding to the execution virtual address; and by accessing the memory space based on the execution physical address.
  • the accessing may be achieved by referring to the page table in the memory space to determine whether the stored identifier and the identifier held the microprocessor are coincident with each other; and by when the stored identifier and the identifier held the microprocessor are coincident with each other, determining the execution physical address.
  • the accessing may be achieved by generating a determination result from the address checking circuit to indicate whether or not the execution physical address meets a predetermined condition when the execution physical address is determined; and by accessing the memory space based on the execution physical address when the determination result indicates that the execution physical address meets the predetermined condition.
  • the accessing may be achieved by generating a determination result indicating whether or not the execution physical address is contained in the range when the execution physical address is determined; and by accessing the memory space based on the execution physical address when the determination result indicates that the execution physical address is contained in the range.
  • FIG. 1 is a schematic diagram showing a multi-processor system of a first conventional example
  • FIG. 2 is a schematic diagram showing a virtual machine (VM) system of a second conventional example
  • FIG. 3 is a schematic diagram showing a logic dividing system of a third conventional example
  • FIG. 4 is a schematic diagram showing the hardware configuration of a multi-processor system according to a first embodiment of the present invention
  • FIG. 5 is a diagram showing assignment of the whole memory space of a main memory to MPUs in the multi-processor system of the present invention
  • FIG. 6 is a diagram showing a page table in the multi-processor system of the present invention.
  • FIG. 7 is a flowchart showing the operation of the multi-processor system according to the first embodiment of the present invention.
  • FIG. 8 is a schematic diagram showing the MPUs and a main memory in the multi-processor system according to a second embodiment of the present invention.
  • FIG. 9 is a diagram showing an upper limit & lower limit physical address storing unit in the multi-processor system of the second embodiment.
  • FIG. 10 is a diagram showing the page table in the multi-processor system according to the second embodiment of the present invention.
  • FIG. 11 is a flowchart showing the operation of the multi-processor system according to the second embodiment of the present invention.
  • FIG. 4 shows a schematic diagram of the hardware configuration of the multi-processor system according to the first embodiment of the present invention.
  • the multi-processor system 10 of the present invention includes a plurality of operating systems 11 0 to 11 n (n is an integer of 1 or more), a plurality of MPUs (Micro Processor Units) 12 0 to 12 n , a chip set 13 , a main memory 14 , an input/output device controller (PCI/PCI-X) 15 and a plurality of input/output device groups (PCI device groups) 16 0 to 16 n .
  • the plurality of MPUs 12 0 to 12 n are microprocessors for supporting virtual addresses.
  • the chip set 13 is a controller for linking a symmetrical type multi-processor system (SMP) and is connected to the plurality of MPUs 12 0 , to 12 n , the main memory 14 and the input/output device controller 15 .
  • the main memory 14 has a plurality of memory spaces (MEM spaces) 14 0 to 14 n and a table for managing a system configuration.
  • the input/output device controller (PCI/PCI-X) 15 is a controller to control the PCI device groups 16 0 to 16 n .
  • the plurality of MPUs 12 0 to 12 n operate on the plurality of operating systems 11 0 to 11 n , respectively. That is, the first MPU 12 0 of the plurality of MPUs 12 0 to 12 n operates the first operating system (OS) 11 1 of the plurality of operating systems 11 0 to 11 n .
  • the second MPU 12 1 of the plurality of MPUs 12 0 to 12 n operates the second operating system (OS) 11 1 of the plurality of operating system (OS)s 11 0 to 11 n .
  • OS operating system
  • the plurality of memory spaces (MEMs) 14 0 to 14 n are assigned to the plurality of MPUs 12 0 to 12 n , respectively. That is, the memory (MEM) 14 0 of the plurality of memories (MEMs) 14 0 to 14 n is assigned to the MPU 12 0 .
  • the memory (MEM) 14 1 of the plurality of memories (MEMs) 14 0 to 14 n is assigned to the MPU 12 1 .
  • the memory (MEM) 14 j of the plurality of memories (MEMs) 14 0 to 14 n is assigned to the MPU 12 j .
  • the memory spaces (MEMs) 14 0 to 14 n are fixedly assigned to the MPUs 12 0 to 12 n , respectively.
  • the memory space (MEM) 14 1 may be used by the MPU 12 0
  • the memory space (MEM) 14 0 may be used by the MPU 12 1 .
  • Which of the memory spaces is allocated to either of the MPUs 12 0 to 12 n is determined by referring to the system configuration management table set by a user. In this embodiment, it is assumed that the plurality of memories (MEMs) 14 0 to 14 n are assigned to the plurality of MPUs 12 0 to 12 n , respectively, in an order from the number 1 to in the number n.
  • the PCI device groups 16 0 to 16 n are assigned to the plurality of MPUs 12 0 to 12 n , respectively. That is, the PCI device group 16 0 of the plurality of PCI device groups 16 0 to 16 n is assigned to the MPU 12 0 . The PCI device group 16 0 of the plurality of PCI device groups 16 0 to 16 n is assigned to the MPU 12 1 . The PCI device group 16 j of the plurality of PCI device groups 16 0 to 16 n is assigned to the MPU 12 j .
  • the number of the PCI devices is not limited to n, and may exceed n.
  • the PCI device group 16 0 may include three PCI devices
  • the three PCI devices may be assigned to the MPU 12 0
  • the PCI device 16 1 may include five PCI devices, and the five PCI devices may be assigned to the MPU 12 1 .
  • Which of the PCI device groups is allocated to either of the MPUs is determined by referring to the system configuration management table.
  • FIG. 5 shows a diagram of assignment of the whole memory space of the main memory 14 to the MPUs 12 0 to 12 n in the multi-processor system 10 of the present invention. It should be noted that the system configuration management table is not shown.
  • the memory space (MEM) 14 j has a page table 4 j used to convert a virtual address into a physical address.
  • the MPU 12 j has a page table register 1 j for referring to the page table 4 j .
  • the MPU 12 j further has a translation look-aside buffer (TLB) 2 j for serving as a cache for data of the memory space 14 j including the page table 4 j as an address translation table.
  • TLB translation look-aside buffer
  • the contents of the TLB 2 j is updated in accordance with the progress of the execution of the application program by the MPU 12 j . If the page table register 1 j cannot acquire necessary data when accessing to the TLB 2 j , the page table register 1 j directly refers to the page table 4 j to acquire the necessary data.
  • the memory space is allocated by using the page table provided in the main memory space for every MPU.
  • a virtual address is used to efficiently share the memory space between a plurality of programs and to cope with the limit of the capacity of the main memory 14 .
  • the page tables are used for the plurality of operating systems.
  • Virtual addresses and physical addresses are assigned to the memory space 14 j of the main memory 14 .
  • the virtual address assigned to the memory space (MEM) 14 j includes a virtual page number and an in-page offset.
  • the physical address assigned to the memory space (MEM) 14 j includes a physical page number and the in-page offset.
  • FIG. 6 shows the page table 4 j in the multi-processor system 10 of the present invention.
  • the page table 4 j stores a relation of the virtual page number of each virtual address and the physical page number of the physical address corresponding to the virtual address.
  • FIG. 7 is a flowchart showing the operation of the multi-processor system 10 of the present invention.
  • Each of the MPUs 12 0 to 12 n is started by firmware by referring to the system configuration management table. At this time, the memory spaces 14 0 to 14 n are allocated to the MPUs 12 0 to 12 n , respectively.
  • the MPU 12 j executes a command containing a virtual address.
  • the page table register 1 j of the MPU 12 j refers to the page table 4 j of the allocated memory space (MEM) 14 j in response to the virtual address (Step S 1 ).
  • the MPU 12 j refers to the TLB to convert the virtual address into a physical address of the memory space (MEM) 14 j of the main memory 14 (Step S 2 ).
  • the MPU 12 j accesses the memory (MEM) 14 j based on the physical address (Step S 3 ).
  • the plurality of memory spaces (MEMs) 14 0 to 14 n are assigned to the plurality of MPUs 12 0 to 12 n , respectively, and each of the plurality of PCI devices 16 0 to 16 n is assigned to either of the MPUs 12 0 to 12 n .
  • the multi-processor system 10 of the present invention even if a trouble such as abnormality or fault has occurred in the MPU 12 0 among the MPUs 12 0 to 12 n , the MPUs 12 1 to 12 n do not receive the influence of the trouble, and the resource/software of the operating systems 11 0 to 11 n , the memory spaces (MEMs) 14 0 to 14 n , and the PCI devices 16 0 to 16 n do not receive the influence of the trouble at all.
  • the multi-processor system 10 of the present invention even when the trouble has occurred in the memory space (MEM) 14 0 or the PCI device 16 0 , or a trouble has occurred in the operating system (OS) 11 0 as well as the trouble in the MPU 12 0 , the MPUs 12 1 to 12 n do not receive the influence of the trouble, and the resource/software assigned to the MPUs 12 1 to 12 n do not receive the influence of the trouble at all.
  • MEM memory space
  • OS operating system
  • a user can duplicate an important process, triplicate or more.
  • the same virtual address space may be assigned to the different physical memory spaces (MEMs) 14 0 and 14 1 , and the MPUs 12 0 and 12 1 may operate on the same operating systems based on same application programs, respectively. In this case, even if the trouble has occurred in the MPU 12 0 , the MPU 12 1 operates without receiving the influence of the trouble in the MPU 12 0 .
  • MEMs physical memory spaces
  • the multi-processor system 10 according to the second embodiment of the present invention can further restrict the influence of the trouble.
  • the same description of the multi-processor system 10 according to the second embodiment of the present invention as that of the first embodiment is omitted.
  • FIG. 8 shows a schematic diagram showing the MPUs 12 0 to 12 n and the main memory 14 in the multi-processor system 10 according to the second embodiment of the present invention.
  • the MPU 12 j has an upper limit & lower limit physical address storing unit 5 j and an address check circuit 6 j in addition to the page table register 1 j and the TLB 2 j .
  • FIG. 9 shows the upper limit & lower limit physical address storing unit 5 j in the multi-processor system 10 of the second embodiment.
  • the upper limit & lower limit physical address storing unit 5 j of the MPU 12 j stores an upper limit physical address of the memory space 14 j assigned to the MPU 12 j and a lower limit physical address of the memory space (MEM) 14 j .
  • the address check circuit 6 1 of the MPU 12 j refers to the upper limit & lower limit physical address storing unit 5 j to determine whether the physical address corresponding to the virtual address is in a range from the upper limit physical address to the lower limit physical address in the memory space (MEM) 14 j , and generates a determination result. Therefore, the above-mentioned range is a condition.
  • FIG. 10 shows the page table 4 j in the multi-processor system 10 according to the second embodiment of the present invention.
  • the page table 4 j stores a relation of the virtual page number in the virtual address space and a physical page number in the physical address space corresponding to the memory space 14 j and an operating system (OS) number 8 j as an entry.
  • the MPU 12 j recognizes and holds the operating system (OS) number 8 j for the memory space 14 j stored in the page table 4 j .
  • the operating system (OS) number 8 j is an identifier for uniquely identifying the operating system allocated to the memory space 14 j .
  • N bits the number of operating systems satisfies a relation of (N ⁇ 2 N ) Under assumption that different operating systems are assigned to the respective MPUs, N is desired to satisfy (the number of MPUs) ⁇ 2 N .
  • FIG. 11 is a flowchart showing the operation of the multi-processor system 10 according to the second embodiment of the present invention.
  • the page table register 1 j of the MPU 12 j refers to the TLB 2 j or the page table 4 j of the memory space 14 j in response to the virtual address (Step S 1 ). Subsequently, the page table register 1 j of the MPU 12 j checks whether or not the operating system (OS) number 8 j set and held based on the system configuration management table is coincident with the operating system (OS) number 8 j stored in the page table 4 j of the memory space 14 j (Step S 11 ).
  • OS operating system
  • the page table register 1 j of the MPU 12 j refers to the TLB 2 j or the page table 4 j to convert the virtual address into the physical address. That is, the MPU 12 j converts the virtual address into the physical address (Step S 2 ).
  • the address check circuit 6 j of the MPU 12 j refers to the upper limit & lower limit physical address storing unit 5 j based on the physical address and generates the determination result indicating whether or not the physical address obtained at the step S 2 satisfies the above-mentioned condition (Step S 12 ).
  • This determination result indicates whether or not the physical address is included in the range between the upper limit physical address and the lower limit physical address. For example, when the determination result indicates that the physical address is not included in the above-mentioned range, that is, when the physical address obtained at the step S 2 does not satisfy the above-mentioned condition, the physical address is not adequate (Step S 13 —NO).
  • the MPU 12 j does not access the memory space 14 j . Also, when the determination result indicates that the physical address is included in the above-mentioned range, that is, when the physical address obtained at the step S 2 satisfies the above-mentioned condition, the physical address is suitable (Step S 13 —YES). In this case, the MPU 12 j accesses the memory space 14 j (Step S 3 ).
  • the MPU 12 j can avoid the illegal access to another memory space different from the memory space 14 j to be accessed.
  • the page table 4 j may have an identifier of the MPU 12 j or memory space 14 j in place of the operating system number. In either case, the relation between them can be confirmed. Therefore, even if a trouble such as abnormality or defect has occurred in the MPU 12 0 of the MPUs 12 0 to 12 n , the MPUs 12 1 to 12 n do not receive the influence of the trouble.
  • the resource/software such as the operating systems 11 1 to 11 n , the memory spaces 14 1 to 14 n , and the PCI devices 16 1 to 16 n assigned to the MPUs 12 1 to 12 n do not receive the influence of the trouble at all.

Abstract

A multiprocessor system includes a plurality of microprocessors configured to operate on a plurality of operating systems, respectively, and a memory section configured to have a plurality of memory spaces respectively allocated to the plurality of microprocessors. Each of the plurality of microprocessors may include a translation look-aside buffer (TLB) and a page table register. The TLB stores a copy of at least a part of data of one of the plurality of memory spaces corresponding to the microprocessor, and the copy includes a relation of each of virtual addresses of a virtual address space and a corresponding physical address of a physical address space as the memory space. The page table register refers to the TLB in response to an execution virtual address generated based on an application program to be executed by the microprocessor to determine an execution physical address corresponding to the execution virtual address. The microprocessor accesses the memory space based on the execution physical address.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates to a multi-processor system and a memory accessing method.
  • 2. Description of the Related Art
  • In recent years, a multi-processor system including a plurality of processors has been developed in order to improve processing performance.
  • FIG. 1 shows a schematic diagram of a multi-processor system of a first conventional example. The conventional multi-processor system includes an operating system (OS), a plurality of MPUs (Micro Processing Units) operating on the operating system (OS), and a main memory. The plurality of MPUs share the main memory. The multi-processor system further has input/output (I/O) units (not shown). The plurality of MPUs share the I/O units. In such a conventional multi-processor system, when a trouble such as abnormality or fault has occurred in a part of the resource such as the main memory and the I/O units shared by the plurality of MPUs, there is a possibility that the trouble influences on the entire system.
  • From the viewpoint of the plurality of operating systems running on a single computer system, a virtual machine (VM) system is known as a second conventional example. FIG. 2 shows a schematic diagram of the virtual machine (VM) system. The virtual machine system includes a host operating system (OS) running on the computer, and a plurality of guest operating systems running on the virtual machine. In the virtual machine system, the host operating system (OS) is first started on the computer to operate the virtual machine. The plurality of guest operating systems run on the virtual machine generated on the host operating system (OS). However, in the virtual machine system, when a trouble such as abnormality or fault has occurred in a hardware resource in association with the host operating system (OS), or when the trouble has occurred in the host operating system (OS), the plurality of guest operating systems running on the virtual machine receive the influence of the trouble. Thus, the trouble has influence on the entire system.
  • Moreover, a logic dividing system is known as a third conventional example. FIG. 3 shows a schematic diagram of the logic dividing method. The logic dividing system includes an MPU and a plurality of operating systems running on the MPU. In the logic dividing system, a host operating system (OS) is not needed unlike the virtual machine system, but the plurality of operating systems run on the same computer. However, in the logic dividing system, since the plurality of operating systems run on the single MPU, the plurality of operating systems receive the influence of a trouble, when the trouble has occurred in the MPU. Hence, the trouble has influence on the entire system.
  • In conjunction with the above description, Japanese Laid Open Patent Application (JP-A-Heisei 5-204760) discloses a control system of a virtual machine system. The virtual computer system of this conventional example is provided with a plurality of operating systems and a management program for managing the plurality of operating systems. Under the control of this management program, the plurality of operating systems run on a single computer system. A control system of a virtual computer system includes a virtual address—real address converting section and a real address—absolute address converting section. The virtual address—real address converting section assigns a plurality of continuous spaces on a main memory to the plurality of operating systems, and has an address management table. The virtual address—real address converting section uses an address conversion table in the operating system to convert a virtual address into a real address. The real address—absolute address converting section converts the real address obtained by this virtual address—real address converting section to a physical address of the main memory by using the address management table.
  • Also, Japanese Laid Open Patent Application (JP-A-Heisei 2-96833) discloses a job control system. An information processing apparatus for the job control system of this conventional example includes a central processing unit, a main memory, an input/output processor and peripheral units connected to the input/output processor. The control of information processing to be carried out by the information processing apparatus is based on a general-purpose control section stored in a memory region of the main memory. In the job control system, the general-purpose control section has a section for starting a job of a model control section operating under a control of the general-purpose control section, and a section for reserving continuous memory regions different from a memory management region for the general-purpose control section in the main memory when starting the job. The reserved memory region stores sub jobs to be executed under the control of the model control section, a job memory management section of the model control section, a job task management section of the model control section, and a job interruption control section of the different model control section.
  • Also, Japanese Laid Open Patent Application (JP-P2001-101032A) discloses an operating system (OS) monitoring system for control between different operating systems. The operating system monitoring system of this conventional example detects an occurrence of a software trouble in a computer system on which a plurality of operating systems run. The operating system (OS) monitoring system has a function of separating hardware resources for the plurality of operating systems by using a virtual hardware which has a function of distributing interruptions from the hardware or the processing time of a CPU. Also, the operating system (OS) monitoring system has a function of permitting data to be read and written between the plurality of operating systems. The operating system monitoring system monitors the operations of the operating systems by periodically checking the writing of the data and the written data and carries out re-loading of the operating systems when detecting the trouble.
  • Also, Japanese Laid Open Patent Application (JP-P2001-101034A) discloses a trouble recovering system for control between different operating systems. The trouble recovering system of this conventional example uses a computer system in which a plurality of operating systems run simultaneously. The trouble recovering system has first to fourth units. The first unit assigns hardware resources to the plurality of operating systems. The first unit also attains, by using a software technique, a firewall as a virtual wall for isolating software and hardware such that a trouble of the hardware or the operating system has no influence on the execution of the other operating systems. Also, the first unit transmits information between the respective operating systems. The second unit monitors the operation states of the operating systems and an application program from an isolated operation environment and detects a trouble, stop and an operation impossible state of either of the operating systems. The third unit normally or forcedly stops the troubled operating system (OS). The fourth unit re-starts the operating systems. Thus, the trouble recovering system recovers the system automatically at the time of the trouble occurrence by combining them.
  • Also, Japanese Laid Open Patent Application (JP-A-Heisei 11-85547) discloses a virtual cluster configuring method. The virtual cluster configuring method of this conventional example has a virtual cluster configuring unit and an inter-virtual-cluster communicating unit. The virtual cluster configuring unit has dedicated hardware resources such as a processor, a physical memory, and an external device, and configures a plurality of virtual clusters, on which an operating system run on a single computer. In the inter-virtual-cluster communicating unit, processes on the different virtual clusters communicate with each other.
  • SUMMARY OF THE INVENTION
  • An object of the present invention is to provide a multi-processor system that can restrict influence of a trouble to a minimum, and a memory accessing method.
  • In an aspect of the present invention, a multiprocessor system includes a plurality of microprocessors configured to operate on a plurality of operating systems, respectively, and a memory section configured to have a plurality of memory spaces respectively allocated to the plurality of microprocessors.
  • Here, each of the plurality of microprocessors may include a translation look-aside buffer (TLB) and a page table register. The TLB stores a copy of at least a part of data of one of the plurality of memory spaces corresponding to the microprocessor, and the copy includes a relation of each of virtual addresses of a virtual address space and a corresponding physical address of a physical address space as the memory space. The page table register refers to the TLB in response to an execution virtual address generated based on an application program to be executed by the microprocessor to determine an execution physical address corresponding to the execution virtual address. The microprocessor accesses the memory space based on the execution physical address.
  • In this case, a page table may be provided for the memory space to store the relation of the virtual addresses and the corresponding physical address. The TLB stores the copy of the page table.
  • Also, the page table may further store an identifier to identify the operating system. The page table register of the microprocessor may refer to the TLB to determine whether the stored identifier and the identifier held the microprocessor are coincident with each other, and refer to the TLB for translation of the execution virtual address into the execution physical address, when the stored identifier and the identifier held the microprocessor are coincident with each other.
  • Also, the microprocessor may further include an address check circuit configured to generate a determination result to indicate whether or not the execution physical address meets a predetermined condition. When the determination result indicates that the execution physical address meets the predetermined condition, the microprocessor accesses the memory space based on the execution physical address. In this case, the predetermined condition may be whether the execution physical address is in a range from an upper limit physical address to a lower limit physical address in the memory space. The microprocessor may further include an upper limit & lower limit physical address storage section configured to store the upper limit physical address and the lower limit physical address.
  • In another aspect of the present invention, a memory access method is achieved by providing a plurality of microprocessors configured to operate on a plurality of operating systems, respectively, and a memory section configured to have a plurality of memory spaces allocated to the plurality of microprocessors; and by accessing an allocated memory space of the plurality of memory spaces by one of the plurality of microprocessors.
  • Here, when virtual addresses and physical addresses are allocated to each of the plurality of memory spaces, respectively, the memory space may have a page table configured to store a relation of each of the virtual addresses and a corresponding one of the physical addresses. The accessing may be achieved by referring to the page table in the memory space in response to an execution virtual address to determine execution physical address corresponding to the execution virtual address; and by accessing the memory space based on the execution physical address.
  • Also, when the page table in the memory space stores an identifier to identify the memory space, the accessing may be achieved by referring to the page table in the memory space to determine whether the stored identifier and the identifier held the microprocessor are coincident with each other; and by when the stored identifier and the identifier held the microprocessor are coincident with each other, determining the execution physical address.
  • Also, when the microprocessor further includes an address check circuit, the accessing may be achieved by generating a determination result from the address checking circuit to indicate whether or not the execution physical address meets a predetermined condition when the execution physical address is determined; and by accessing the memory space based on the execution physical address when the determination result indicates that the execution physical address meets the predetermined condition.
  • Also, when the condition is a range from an upper limit physical address of the physical addresses allocated to the memory space to a lower limit physical address of the physical addresses, the accessing may be achieved by generating a determination result indicating whether or not the execution physical address is contained in the range when the execution physical address is determined; and by accessing the memory space based on the execution physical address when the determination result indicates that the execution physical address is contained in the range.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic diagram showing a multi-processor system of a first conventional example;
  • FIG. 2 is a schematic diagram showing a virtual machine (VM) system of a second conventional example;
  • FIG. 3 is a schematic diagram showing a logic dividing system of a third conventional example;
  • FIG. 4 is a schematic diagram showing the hardware configuration of a multi-processor system according to a first embodiment of the present invention;
  • FIG. 5 is a diagram showing assignment of the whole memory space of a main memory to MPUs in the multi-processor system of the present invention;
  • FIG. 6 is a diagram showing a page table in the multi-processor system of the present invention;
  • FIG. 7 is a flowchart showing the operation of the multi-processor system according to the first embodiment of the present invention;
  • FIG. 8 is a schematic diagram showing the MPUs and a main memory in the multi-processor system according to a second embodiment of the present invention;
  • FIG. 9 is a diagram showing an upper limit & lower limit physical address storing unit in the multi-processor system of the second embodiment;
  • FIG. 10 is a diagram showing the page table in the multi-processor system according to the second embodiment of the present invention; and
  • FIG. 11 is a flowchart showing the operation of the multi-processor system according to the second embodiment of the present invention.
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • Hereinafter, a multi-processor system according to the present invention will be described in detail with reference to the attached drawings.
  • FIG. 4 shows a schematic diagram of the hardware configuration of the multi-processor system according to the first embodiment of the present invention. The multi-processor system 10 of the present invention includes a plurality of operating systems 11 0 to 11 n (n is an integer of 1 or more), a plurality of MPUs (Micro Processor Units) 12 0 to 12 n, a chip set 13, a main memory 14, an input/output device controller (PCI/PCI-X) 15 and a plurality of input/output device groups (PCI device groups) 16 0 to 16 n. The plurality of MPUs 12 0 to 12 n are microprocessors for supporting virtual addresses. The chip set 13 is a controller for linking a symmetrical type multi-processor system (SMP) and is connected to the plurality of MPUs 12 0, to 12 n, the main memory 14 and the input/output device controller 15. The main memory 14 has a plurality of memory spaces (MEM spaces) 14 0 to 14 n and a table for managing a system configuration. The input/output device controller (PCI/PCI-X) 15 is a controller to control the PCI device groups 16 0 to 16 n.
  • The plurality of MPUs 12 0 to 12 n operate on the plurality of operating systems 11 0 to 11 n, respectively. That is, the first MPU 12 0 of the plurality of MPUs 12 0 to 12 n operates the first operating system (OS) 11 1 of the plurality of operating systems 11 0 to 11 n. The second MPU 12 1 of the plurality of MPUs 120 to 12 n operates the second operating system (OS) 11 1 of the plurality of operating system (OS)s 11 0 to 11 n. The j-th (j=0, 1, 2 to n) MPU 12 j of the plurality of MPUs 12 0 to 12 n operates the j-th operating system (OS) 11 j of the plurality of operating systems 11 0 to 11 n.
  • The plurality of memory spaces (MEMs) 14 0 to 14 n are assigned to the plurality of MPUs 12 0 to 12 n, respectively. That is, the memory (MEM) 14 0 of the plurality of memories (MEMs) 14 0 to 14 n is assigned to the MPU 12 0. The memory (MEM) 14 1 of the plurality of memories (MEMs) 14 0 to 14 n is assigned to the MPU 12 1. The memory (MEM) 14 j of the plurality of memories (MEMs) 14 0 to 14 n is assigned to the MPU 12 j. It is not always necessary that the memory spaces (MEMs) 14 0 to 14 n are fixedly assigned to the MPUs 12 0 to 12 n, respectively. In short, the memory space (MEM) 14 1 may be used by the MPU 12 0, and the memory space (MEM) 14 0 may be used by the MPU 12 1. Which of the memory spaces is allocated to either of the MPUs 12 0 to 12 n is determined by referring to the system configuration management table set by a user. In this embodiment, it is assumed that the plurality of memories (MEMs) 14 0 to 14 n are assigned to the plurality of MPUs 12 0 to 12 n, respectively, in an order from the number 1 to in the number n.
  • The PCI device groups 16 0 to 16 n are assigned to the plurality of MPUs 12 0 to 12 n, respectively. That is, the PCI device group 16 0 of the plurality of PCI device groups 16 0 to 16 n is assigned to the MPU 12 0. The PCI device group 16 0 of the plurality of PCI device groups 16 0 to 16 n is assigned to the MPU 12 1. The PCI device group 16 j of the plurality of PCI device groups 16 0 to 16 n is assigned to the MPU 12 j. The number of the PCI devices is not limited to n, and may exceed n. For example, when the PCI device group 16 0 may include three PCI devices, the three PCI devices may be assigned to the MPU 12 0. Also, when the PCI device 16 1 may include five PCI devices, and the five PCI devices may be assigned to the MPU 12 1. Which of the PCI device groups is allocated to either of the MPUs is determined by referring to the system configuration management table.
  • FIG. 5 shows a diagram of assignment of the whole memory space of the main memory 14 to the MPUs 12 0 to 12 n in the multi-processor system 10 of the present invention. It should be noted that the system configuration management table is not shown. The memory space (MEM) 14 j has a page table 4 j used to convert a virtual address into a physical address. The MPU 12 j has a page table register 1 j for referring to the page table 4 j. The MPU 12 j further has a translation look-aside buffer (TLB) 2 j for serving as a cache for data of the memory space 14 j including the page table 4 j as an address translation table. The contents of the TLB 2 j is updated in accordance with the progress of the execution of the application program by the MPU 12 j. If the page table register 1 j cannot acquire necessary data when accessing to the TLB 2 j, the page table register 1 j directly refers to the page table 4 j to acquire the necessary data.
  • When the plurality of operating systems run, the memory space is allocated by using the page table provided in the main memory space for every MPU. Usually, a virtual address is used to efficiently share the memory space between a plurality of programs and to cope with the limit of the capacity of the main memory 14. In this embodiment, the page tables are used for the plurality of operating systems. Virtual addresses and physical addresses are assigned to the memory space 14 j of the main memory 14. The virtual address assigned to the memory space (MEM) 14 j includes a virtual page number and an in-page offset. The physical address assigned to the memory space (MEM) 14 j includes a physical page number and the in-page offset.
  • FIG. 6 shows the page table 4 j in the multi-processor system 10 of the present invention. The page table 4 j stores a relation of the virtual page number of each virtual address and the physical page number of the physical address corresponding to the virtual address.
  • FIG. 7 is a flowchart showing the operation of the multi-processor system 10 of the present invention. Each of the MPUs 12 0 to 12 n is started by firmware by referring to the system configuration management table. At this time, the memory spaces 14 0 to 14 n are allocated to the MPUs 12 0 to 12 n, respectively.
  • While executing a program, the MPU 12 j executes a command containing a virtual address. At this time, the page table register 1 j of the MPU 12 j refers to the page table 4 j of the allocated memory space (MEM) 14 j in response to the virtual address (Step S1). The MPU 12 j refers to the TLB to convert the virtual address into a physical address of the memory space (MEM) 14 j of the main memory 14 (Step S2). Then, the MPU 12 j accesses the memory (MEM) 14 j based on the physical address (Step S3).
  • According to the multi-processor system 10 of the present invention, the plurality of memory spaces (MEMs) 14 0 to 14 n are assigned to the plurality of MPUs 12 0 to 12 n, respectively, and each of the plurality of PCI devices 16 0 to 16 n is assigned to either of the MPUs 12 0 to 12 n. For this reason, according to the multi-processor system 10 of the present invention, even if a trouble such as abnormality or fault has occurred in the MPU 12 0 among the MPUs 12 0 to 12 n, the MPUs 12 1 to 12 n do not receive the influence of the trouble, and the resource/software of the operating systems 11 0 to 11 n, the memory spaces (MEMs) 14 0 to 14 n, and the PCI devices 16 0 to 16 n do not receive the influence of the trouble at all.
  • Also, according to the multi-processor system 10 of the present invention, even when the trouble has occurred in the memory space (MEM) 14 0 or the PCI device 16 0, or a trouble has occurred in the operating system (OS) 11 0 as well as the trouble in the MPU 12 0, the MPUs 12 1 to 12 n do not receive the influence of the trouble, and the resource/software assigned to the MPUs 12 1 to 12 n do not receive the influence of the trouble at all.
  • In addition, according to the multi-processor system 10 of the present invention, a user can duplicate an important process, triplicate or more. For example, the same virtual address space may be assigned to the different physical memory spaces (MEMs) 14 0 and 14 1, and the MPUs 12 0 and 12 1 may operate on the same operating systems based on same application programs, respectively. In this case, even if the trouble has occurred in the MPU 12 0, the MPU 12 1 operates without receiving the influence of the trouble in the MPU 12 0.
  • In this way, according to the multi-processor system 10 of the present invention, even if the trouble such as abnormality or defect has occurred, the influence of the trouble can be restricted to the minimum.
  • Next, the multi-processor system 10 according to the second embodiment of the present invention will be described below. The multi-processor system 10 according to the second embodiment of the present invention can further restrict the influence of the trouble. The same description of the multi-processor system 10 according to the second embodiment of the present invention as that of the first embodiment is omitted.
  • FIG. 8 shows a schematic diagram showing the MPUs 12 0 to 12 n and the main memory 14 in the multi-processor system 10 according to the second embodiment of the present invention. The MPU 12 j has an upper limit & lower limit physical address storing unit 5 j and an address check circuit 6 j in addition to the page table register 1 j and the TLB 2 j.
  • FIG. 9 shows the upper limit & lower limit physical address storing unit 5 j in the multi-processor system 10 of the second embodiment. The upper limit & lower limit physical address storing unit 5 j of the MPU 12 j stores an upper limit physical address of the memory space 14 j assigned to the MPU 12 j and a lower limit physical address of the memory space (MEM) 14 j. The address check circuit 6 1 of the MPU 12 j refers to the upper limit & lower limit physical address storing unit 5 j to determine whether the physical address corresponding to the virtual address is in a range from the upper limit physical address to the lower limit physical address in the memory space (MEM) 14 j, and generates a determination result. Therefore, the above-mentioned range is a condition.
  • FIG. 10 shows the page table 4 j in the multi-processor system 10 according to the second embodiment of the present invention. The page table 4 j stores a relation of the virtual page number in the virtual address space and a physical page number in the physical address space corresponding to the memory space 14 j and an operating system (OS) number 8 j as an entry. The MPU 12 j recognizes and holds the operating system (OS) number 8 j for the memory space 14 j stored in the page table 4 j.
  • The operating system (OS) number 8 j is an identifier for uniquely identifying the operating system allocated to the memory space 14 j. In order to add this entry to each of the page tables 4 0 to 4 n, N bits (the number of operating systems satisfies a relation of (N≦2N) Under assumption that different operating systems are assigned to the respective MPUs, N is desired to satisfy (the number of MPUs)≦2N.
  • FIG. 11 is a flowchart showing the operation of the multi-processor system 10 according to the second embodiment of the present invention.
  • The page table register 1 j of the MPU 12 j refers to the TLB 2 j or the page table 4 j of the memory space 14 j in response to the virtual address (Step S1). Subsequently, the page table register 1 j of the MPU 12 j checks whether or not the operating system (OS) number 8 j set and held based on the system configuration management table is coincident with the operating system (OS) number 8 j stored in the page table 4 j of the memory space 14 j (Step S11). As the check result, when the operating system (OS) number 8 j held by the MPU 12 j and the operating system (OS) number 8 j stored in the page table 4 j of the memory space (MEM) 14 j are not coincident with each other, that is, when the virtual address is not the appropriate memory space 14 j (Step S11—NO), the MPU 12 j does not access the memory space 14 j. On the other hand, as the checked result, the operating system (OS) number 8 j held by the MPU 12 j and the operating system (OS) number 8 j stored in the page table 4 j of the memory space (MEM) 14 j are coincident with each other, that is, it is the appropriate memory space 14 j (Step S11—YES), the page table register 1 j of the MPU 12 j refers to the TLB 2 j or the page table 4 j to convert the virtual address into the physical address. That is, the MPU 12 j converts the virtual address into the physical address (Step S2). Then, the address check circuit 6 j of the MPU 12 j refers to the upper limit & lower limit physical address storing unit 5 j based on the physical address and generates the determination result indicating whether or not the physical address obtained at the step S2 satisfies the above-mentioned condition (Step S12). This determination result indicates whether or not the physical address is included in the range between the upper limit physical address and the lower limit physical address. For example, when the determination result indicates that the physical address is not included in the above-mentioned range, that is, when the physical address obtained at the step S2 does not satisfy the above-mentioned condition, the physical address is not adequate (Step S13—NO). In this case, the MPU 12 j does not access the memory space 14 j. Also, when the determination result indicates that the physical address is included in the above-mentioned range, that is, when the physical address obtained at the step S2 satisfies the above-mentioned condition, the physical address is suitable (Step S13—YES). In this case, the MPU 12 j accesses the memory space 14 j (Step S3).
  • According to the multi-processor system 10 in the second embodiment, the MPU 12 j can avoid the illegal access to another memory space different from the memory space 14 j to be accessed. The page table 4 j may have an identifier of the MPU 12 j or memory space 14 j in place of the operating system number. In either case, the relation between them can be confirmed. Therefore, even if a trouble such as abnormality or defect has occurred in the MPU 12 0 of the MPUs 12 0 to 12 n, the MPUs 12 1 to 12 n do not receive the influence of the trouble. Also, the resource/software such as the operating systems 11 1 to 11 n, the memory spaces 14 1 to 14 n, and the PCI devices 16 1 to 16 n assigned to the MPUs 12 1 to 12 n do not receive the influence of the trouble at all.
  • In this way, with the multi-processor system 10 in the second embodiment, the influence of the trouble can be restricted to the further minimum.

Claims (12)

1. A multiprocessor system comprising:
a plurality of microprocessors configured to operate on a plurality of operating systems, respectively; and
a memory section configured to have a plurality of memory spaces respectively allocated to said plurality of microprocessors.
2. The multiprocessor system according to claim 1, wherein each of said plurality of microprocessors comprises:
a translation look-aside buffer (TLB) configured to store a copy of at least a part of data of one of said plurality of memory spaces corresponding to said microprocessor, said copy including a relation of each of virtual addresses of a virtual address space and a corresponding physical address of a physical address space as said memory space; and
a page table register configured to refer to said TLB in response to an execution virtual address generated based on an application program to be executed by said microprocessor to determine an execution physical address corresponding to said execution virtual address, and
said microprocessor accesses said memory space based on said execution physical address.
3. The multiprocessor system according to claim 2, wherein a page table is provided for said memory space to store the relation of the virtual addresses and the corresponding physical address, and
said TLB stores the copy of said page table.
4. The multiprocessor system according to claim 3, wherein said page table further stores an identifier to identify said operating system, and
said page table register of said microprocessor refers to said TLB to determine whether the stored identifier and said identifier held said microprocessor are coincident with each other, and refers to said TLB for translation of said execution virtual address into said execution physical address, when the stored identifier and said identifier held said microprocessor are coincident with each other.
5. The multiprocessor system according to claim 2, wherein said microprocessor further comprises:
an address check circuit configured to generates a determination result to indicate whether or not said execution physical address meets a predetermined condition, and
when said determination result indicates that said execution physical address meets said predetermined condition, said microprocessor accesses said memory space based on said execution physical address.
6. The multiprocessor system according to claim 5, wherein said predetermined condition is whether said execution physical address is in a range from an upper limit physical address to a lower limit physical address in said memory space.
7. The multiprocessor system according to claim 6, wherein said microprocessor further comprises:
an upper limit & lower limit physical address storage section configured to store said upper limit physical address and said lower limit physical address.
8. A memory access method comprising:
providing a plurality of microprocessors configured to operate on a plurality of operating systems, respectively, and a memory section configured to have a plurality of memory spaces allocated to said plurality of microprocessors; and
accessing an allocated memory space of said plurality of memory spaces by one of said plurality of microprocessors.
9. The memory access method according to claim 8, wherein virtual addresses and physical addresses are allocated to each of said plurality of memory spaces, respectively,
said memory space has a page table configured to store a relation of each of said virtual addresses and a corresponding one of said physical addresses, and
said accessing comprises:
referring to said page table in said memory space in response to an execution virtual address to determine execution physical address corresponding to said execution virtual address; and
accessing said memory space based on said execution physical address.
10. The memory access method according to claim 8, wherein said page table in said memory space stores an identifier to identify said memory space, and
said accessing comprises:
referring to said page table in the said memory space to determine whether the stored identifier and said identifier held said microprocessor are coincident with each other; and
when the stored identifier and said identifier held said microprocessor are coincident with each other, determining said execution physical address.
11. The memory access method according to claim 9, wherein said microprocessor further comprises an address check circuit, and
said accessing comprises:
when said execution physical address is determined, generating a determination result from said address checking circuit to indicate whether or not said execution physical address meets a predetermined condition; and
when said determination result indicates that said execution physical address meets said predetermined condition, accessing said memory space based on said execution physical address.
12. The memory access method according to claim 11, wherein said condition is a range from an upper limit physical address of said physical addresses allocated to said memory space to a lower limit physical address of said physical addresses, and
said accessing comprises:
when said execution physical address is determined, generating a determination result indicating whether or not said execution physical address is contained in said range; and
when said determination result indicates that said execution physical address is contained in said range, accessing said memory space based on said execution physical address.
US11/082,712 2004-03-23 2005-03-18 Multi-processor system and memory accessing method Abandoned US20050216696A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/979,139 US7644252B2 (en) 2004-03-23 2007-10-31 Multi-processor system and memory accessing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004085673A JP2005275629A (en) 2004-03-23 2004-03-23 Multiprocessor system and memory access method
JP2004-085673 2004-03-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/979,139 Continuation US7644252B2 (en) 2004-03-23 2007-10-31 Multi-processor system and memory accessing method

Publications (1)

Publication Number Publication Date
US20050216696A1 true US20050216696A1 (en) 2005-09-29

Family

ID=34991534

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/082,712 Abandoned US20050216696A1 (en) 2004-03-23 2005-03-18 Multi-processor system and memory accessing method
US11/979,139 Expired - Fee Related US7644252B2 (en) 2004-03-23 2007-10-31 Multi-processor system and memory accessing method

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/979,139 Expired - Fee Related US7644252B2 (en) 2004-03-23 2007-10-31 Multi-processor system and memory accessing method

Country Status (2)

Country Link
US (2) US20050216696A1 (en)
JP (1) JP2005275629A (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236016A1 (en) * 2005-04-19 2006-10-19 Tetrick R S Method, system, and apparatus to support device configuration
US20090089406A1 (en) * 2007-09-30 2009-04-02 Sun Microsystems, Inc. Virtual cluster based upon operating system virtualization
US20090204740A1 (en) * 2004-10-25 2009-08-13 Robert Bosch Gmbh Method and Device for Performing Switchover Operations in a Computer System Having at Least Two Execution Units
US20100023941A1 (en) * 2008-07-28 2010-01-28 Fujitsu Limted Virtual machine monitor
US20100183009A1 (en) * 2009-01-19 2010-07-22 International Business Machines Corporation Discriminatory mtu fragmentation in a logical partition
US20110010483A1 (en) * 2007-06-28 2011-01-13 Nokia Corporation Memory protection unit in a virtual processing environment
US20110314068A1 (en) * 2007-02-13 2011-12-22 Itay Sherman Interface for extending functionality of memory cards
US20150106586A1 (en) * 2013-10-16 2015-04-16 Tellabs Oy Method and a device for controlling memory-usage of a functional component
US9063868B2 (en) 2010-05-24 2015-06-23 Panasonic Intellectual Property Corporation Of America Virtual computer system, area management method, and program
GB2539428A (en) * 2015-06-16 2016-12-21 Advanced Risc Mach Ltd Data processing apparatus and method with ownership table
US10558590B2 (en) 2015-06-16 2020-02-11 Arm Limited Secure initialisation
CN111124664A (en) * 2019-11-22 2020-05-08 华为技术有限公司 Method and device for accessing second operating system resource by first operating system
US10802729B2 (en) 2015-06-16 2020-10-13 Arm Limited Apparatus and method for sharing pages including enforcing ownership rights independently of privilege level
US10838877B2 (en) 2015-06-16 2020-11-17 Arm Limited Protected exception handling
US10936504B2 (en) 2015-06-16 2021-03-02 Arm Limited Apparatus and method for address translation and control of whether an access request is rejected based on an ownership table indicating an owner process for a block of physical addresses

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007264976A (en) * 2006-03-28 2007-10-11 Nec Corp Computer system, data saving method and program
JP2010225054A (en) * 2009-03-25 2010-10-07 Nec Corp Computer system, failure processing method, and program
WO2011160896A1 (en) 2010-06-25 2011-12-29 International Business Machines Corporation Method for address translation, address translation unit, data processing program, and computer program product for address translation
JP5466768B2 (en) * 2010-11-02 2014-04-09 インターナショナル・ビジネス・マシーンズ・コーポレーション Apparatus and computer for controlling memory access
JP5545250B2 (en) * 2011-03-22 2014-07-09 株式会社デンソー Control device
KR102299008B1 (en) 2014-10-16 2021-09-06 삼성전자주식회사 Application processor and semiconductor system comprising the same

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4916426A (en) * 1987-08-28 1990-04-10 Ngk Insulators, Ltd. Pressure sensor
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US20010052054A1 (en) * 1999-03-29 2001-12-13 Hubertus Franke Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems
US6467007B1 (en) * 1999-05-19 2002-10-15 International Business Machines Corporation Processor reset generated via memory access interrupt
US20020184345A1 (en) * 2001-05-17 2002-12-05 Kazunori Masuyama System and Method for partitioning a computer system into domains
US6567897B2 (en) * 2001-03-01 2003-05-20 International Business Machines Corporation Virtualized NVRAM access methods to provide NVRAM CHRP regions for logical partitions through hypervisor system calls
US6684305B1 (en) * 2001-04-24 2004-01-27 Advanced Micro Devices, Inc. Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence
US20040088509A1 (en) * 2001-02-06 2004-05-06 Franz-Josef Brucklmayr Microprocessor circuit for data carriers and method for organizing access to data stored in a memory
US6874014B2 (en) * 2001-05-29 2005-03-29 Hewlett-Packard Development Company, L.P. Chip multiprocessor with multiple operating systems
US7047394B1 (en) * 1999-01-28 2006-05-16 Ati International Srl Computer for execution of RISC and CISC instruction sets

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62226367A (en) 1986-03-28 1987-10-05 Mitsubishi Electric Corp Digital computer system
JPH0296833A (en) 1988-10-03 1990-04-09 Nec Corp Different type job control system
JPH05204760A (en) 1992-01-29 1993-08-13 Nec Corp Control system for virtual computer system
JPH1185547A (en) 1997-09-12 1999-03-30 Hitachi Ltd Virtual cluster configuration method
JP2001101034A (en) 1999-09-29 2001-04-13 Hitachi Ltd Fault restoring method under inter-different kind of os control
JP2001101032A (en) 1999-09-29 2001-04-13 Hitachi Ltd Os monitoring system under inter-different kind of os control
US7076628B1 (en) * 2000-06-27 2006-07-11 Texas Instruments Incorporated Microprocessor memory space allocation management

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4916426A (en) * 1987-08-28 1990-04-10 Ngk Insulators, Ltd. Pressure sensor
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US7047394B1 (en) * 1999-01-28 2006-05-16 Ati International Srl Computer for execution of RISC and CISC instruction sets
US20010052054A1 (en) * 1999-03-29 2001-12-13 Hubertus Franke Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems
US6449699B2 (en) * 1999-03-29 2002-09-10 International Business Machines Corporation Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems
US6467007B1 (en) * 1999-05-19 2002-10-15 International Business Machines Corporation Processor reset generated via memory access interrupt
US20040088509A1 (en) * 2001-02-06 2004-05-06 Franz-Josef Brucklmayr Microprocessor circuit for data carriers and method for organizing access to data stored in a memory
US6567897B2 (en) * 2001-03-01 2003-05-20 International Business Machines Corporation Virtualized NVRAM access methods to provide NVRAM CHRP regions for logical partitions through hypervisor system calls
US6684305B1 (en) * 2001-04-24 2004-01-27 Advanced Micro Devices, Inc. Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence
US20020184345A1 (en) * 2001-05-17 2002-12-05 Kazunori Masuyama System and Method for partitioning a computer system into domains
US6961761B2 (en) * 2001-05-17 2005-11-01 Fujitsu Limited System and method for partitioning a computer system into domains
US6874014B2 (en) * 2001-05-29 2005-03-29 Hewlett-Packard Development Company, L.P. Chip multiprocessor with multiple operating systems

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090983B2 (en) * 2004-10-25 2012-01-03 Robert Bosch Gmbh Method and device for performing switchover operations in a computer system having at least two execution units
US20090204740A1 (en) * 2004-10-25 2009-08-13 Robert Bosch Gmbh Method and Device for Performing Switchover Operations in a Computer System Having at Least Two Execution Units
US20060236016A1 (en) * 2005-04-19 2006-10-19 Tetrick R S Method, system, and apparatus to support device configuration
US8832161B2 (en) * 2007-02-13 2014-09-09 Google Inc. Interface for extending functionality of memory cards
US20110314068A1 (en) * 2007-02-13 2011-12-22 Itay Sherman Interface for extending functionality of memory cards
US20110010483A1 (en) * 2007-06-28 2011-01-13 Nokia Corporation Memory protection unit in a virtual processing environment
US8661181B2 (en) * 2007-06-28 2014-02-25 Memory Technologies Llc Memory protection unit in a virtual processing environment
US8200738B2 (en) * 2007-09-30 2012-06-12 Oracle America, Inc. Virtual cluster based upon operating system virtualization
US20090089406A1 (en) * 2007-09-30 2009-04-02 Sun Microsystems, Inc. Virtual cluster based upon operating system virtualization
US20100023941A1 (en) * 2008-07-28 2010-01-28 Fujitsu Limted Virtual machine monitor
US8261267B2 (en) * 2008-07-28 2012-09-04 Fujitsu Limited Virtual machine monitor having mapping data generator for mapping virtual page of the virtual memory to a physical memory
US20100183009A1 (en) * 2009-01-19 2010-07-22 International Business Machines Corporation Discriminatory mtu fragmentation in a logical partition
US8265079B2 (en) * 2009-01-19 2012-09-11 International Business Machines Corporation Discriminatory MTU fragmentation in a logical partition
US9063868B2 (en) 2010-05-24 2015-06-23 Panasonic Intellectual Property Corporation Of America Virtual computer system, area management method, and program
EP2863313A1 (en) * 2013-10-16 2015-04-22 Coriant Oy A method and a device for controlling memory-usage of a functional component
CN104572507A (en) * 2013-10-16 2015-04-29 特拉博斯股份有限公司 Method and a device for controlling memory-usage of a functional component
US20150106586A1 (en) * 2013-10-16 2015-04-16 Tellabs Oy Method and a device for controlling memory-usage of a functional component
GB2539428A (en) * 2015-06-16 2016-12-21 Advanced Risc Mach Ltd Data processing apparatus and method with ownership table
WO2016203191A1 (en) * 2015-06-16 2016-12-22 Arm Limited Data processing apparatus and method with ownership table
CN107690628A (en) * 2015-06-16 2018-02-13 Arm 有限公司 Data processing equipment and method with ownership table
US10558590B2 (en) 2015-06-16 2020-02-11 Arm Limited Secure initialisation
GB2539428B (en) * 2015-06-16 2020-09-09 Advanced Risc Mach Ltd Data processing apparatus and method with ownership table
US10802729B2 (en) 2015-06-16 2020-10-13 Arm Limited Apparatus and method for sharing pages including enforcing ownership rights independently of privilege level
US10838877B2 (en) 2015-06-16 2020-11-17 Arm Limited Protected exception handling
US10936504B2 (en) 2015-06-16 2021-03-02 Arm Limited Apparatus and method for address translation and control of whether an access request is rejected based on an ownership table indicating an owner process for a block of physical addresses
US11314658B2 (en) 2015-06-16 2022-04-26 Arm Limited Apparatus and method including an ownership table for indicating owner processes for blocks of physical addresses of a memory
CN111124664A (en) * 2019-11-22 2020-05-08 华为技术有限公司 Method and device for accessing second operating system resource by first operating system

Also Published As

Publication number Publication date
JP2005275629A (en) 2005-10-06
US20080065856A1 (en) 2008-03-13
US7644252B2 (en) 2010-01-05

Similar Documents

Publication Publication Date Title
US7644252B2 (en) Multi-processor system and memory accessing method
US8359449B2 (en) Prioritizing virtual real memory paging based on disk capabilities
US6665759B2 (en) Method and apparatus to implement logical partitioning of PCI I/O slots
US7783858B2 (en) Reducing memory overhead of a page table in a dynamic logical partitioning environment
US7480911B2 (en) Method and apparatus for dynamically allocating and deallocating processors in a logical partitioned data processing system
US7139940B2 (en) Method and apparatus for reporting global errors on heterogeneous partitioned systems
JP4123942B2 (en) Information processing device
US7660912B2 (en) I/O adapter LPAR isolation in a hypertransport environment
US8271989B2 (en) Method and apparatus for virtual processor dispatching to a partition based on shared memory pages
US7356665B2 (en) Method and system for machine memory power and availability management in a processing system supporting multiple virtual machines
US6834340B2 (en) Mechanism to safely perform system firmware update in logically partitioned (LPAR) machines
US6877158B1 (en) Logical partitioning via hypervisor mediated address translation
US8312201B2 (en) Managing memory allocations loans
US20020129212A1 (en) Virtualized NVRAM access methods to provide NVRAM chrp regions for logical partitions through hypervisor system calls
US8949659B2 (en) Scheduling workloads based on detected hardware errors
US20030212873A1 (en) Method and apparatus for managing memory blocks in a logical partitioned data processing system
US7117385B2 (en) Method and apparatus for recovery of partitions in a logical partitioned data processing system
US20040205776A1 (en) Method and apparatus for concurrent update and activation of partition firmware on a logical partitioned data processing system
US8566479B2 (en) Method and system to allow logical partitions to access resources
US20060010276A1 (en) Isolation of input/output adapter direct memory access addressing domains
US20030212883A1 (en) Method and apparatus for dynamically managing input/output slots in a logical partitioned data processing system
US8139595B2 (en) Packet transfer in a virtual partitioned environment
US20050076179A1 (en) Cache optimized logical partitioning a symmetric multi-processor data processing system
US20080168207A1 (en) I/O Adapter LPAR Isolation In A Hypertransport Envikronment Employing A Content Addressable Memory
CN115080223A (en) Execution method of memory read-write instruction and computing equipment

Legal Events

Date Code Title Description
AS Assignment

Owner name: NEC CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KAWAGUCHI, EIICHIRO;REEL/FRAME:016039/0221

Effective date: 20050307

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION