Extended memory address control system

Abstract: An extended memory address control system includes a disk address designation unit (20) for managing the extended nemory (7) as a virtual disk, a disk address conversion unit (23) for converting a virtual disk address designated by the disk address designation unit (20) to a first physical address of the extended memory (7), a memory address designation unit (21) for managing the extended memory (7) as a continuous memory space, a memory address conversion unit (24) for converting a memory address designated by the memory address designation unit (21) to a second physical address of the extended memory (7), a type discrimination unit (22) for discriminating whether the extended memory (7) is managed as a virtual disk or a continuous memory space, and an access control unit for accessing the extended memory (7) using one of the first and second physical addresses in accordance with a content indicated by the type discrimination unit (22).

Description: The present invention relates to an extended memory address control system. Supercomputers have arithmetic processing speed incommensurably higher than that of versatile computers, and can solve various equations expressing natural phenomena using a large volume of data at high speed for a variety of studies and technical developments in scientific and technical fields. For example, if a crush test of vehicle bodies in a vehicle manufacturer can be simulated using a supercomputer, the number of vehicles used in a test can be decreased. An aircraft manufacturer employs a supercomputer to analyze air vortices formed around wings which have been tested using a wind tunnel. In a supercomputer which conducts large-scale scientific technical calculations, the scale of a problem increases as an object to be calculated is also increased, and a huge volume of data is necessary. Therefore, many data are stored in a secondary memory such as a magnetic disk device. Thus, calculations are executed while inputting/outputting data between the magnetic disk device and a main memory. Therefore, an input/output (I/O) time between the secondary and main memories largely influences performance of the entire program. Thus, the supercomputer has an extended memory to increase an I/O speed. A supercomputer of this type comprises a system controller, an I/O processor connected thereto, a control processor, a high-speed arithmetic processor, a first main memory, a second main memory, and an extended memory. The control processor has a supervisor function, and realizes I/O control, and a compiler and a linker for user programs. The first main memory stores a control program for controlling the control processor. The second main memory stores load modules of the user programs, and data. The high-speed arithmetic processor executes the user programs. The I/O processor controls data transfer between peripheral devices such as a magnetic disk, and the first main memory. The I/O processor, the control processor, and the high-speed arithmetic processor can be operated independently of each other, thus improving a throughput of the system. Data transfer between the extended memory and the second main memory is controlled by commands on the high-speed arithmetic processor. Data transfer between the extended memory and the first main memory is controlled by commands on the control processor. In a conventional information processing apparatus of this type, an extended memory is managed as a virtual disk for a user to increase an I/O speed. However, since a buffer size is extended to increase a hit rate and to decrease the number of I/O times in order to increase a database access speed, a large buffer must be allocated to the extended memory since the main memory has a limited memory size. In this case, if the extended memory is managed as the virtual disk, since it has discontinuous address spaces, an overhead of managing address spaces is increased when a large-sized buffer is to be allocated. Thus, an address management module must be called at many positions of an operating system for each access, thus impairing performance. In the conventional supercomputer, since addresses of the extended memory are managed as the virtual disk addresses, they cannot be recognized as continuous addresses on the operating system. Thus, backing store I/Os frequently occur since a large logical space is used when a buffer having a large number of continuous addresses is prepared in the extended memory to increase a database access speed, or when the extended memory is utilized as a paging backing store, a swapping backing store, or their caches to improve performance of the system or to shorten a TSS response time, or when a file on a disk is mapped on a logical space to access the file by a transfer command. Thus, when the extended memory is used as a backing store to improve performance, an overhead of managing address spaces is increased. As a result, as the number of access times of the extended memory is increased, access performance is impaired. EP-A-0 214 870 discloses a control system for data transfer instructions with extended storage devices. Said system does not provide a direct path from the channel processor or disk to the extended memory. It is therefore an object of the present invention to provide an extended memory address control system which can reduce an overhead of managing address spaces to improve access performance. This object is solved with the features of the claims. The present invention is further described with reference to the following drawings: Fig. 1 is a block diagram showing an arrangement of an information processing apparatus to which an extended memory address control system according to an embodiment of the present invention is applied; Fig. 2 is a timing chart for explaining a data transfer operation between an extended memory and an arithmetic main memory according to the present invention; Fig. 3 shows a format of a channel program created in the arithmetic main memory; and Fig. 4 is a timing chart for explaining a data transfer operation between the extended memory and a control main memory according to the present invention. The present invention will be described hereinafter with reference to the accompanying drawings. Referring to Fig. 1, an information processing apparatus to which an extended memory address control system according to an embodiment of the present invention is applied comprises a system controller 1, an I/O processor 2, connected thereto, for controlling system I/Os, a control processor 3 having program compiling and linking functions, and a supervisor function, a high-speed arithmetic processor 4 for executing a user program mainly consisting of vector calculations at high speed, a control main memory 5 which serves as a memory for the control processor 3 and on which an operating system function can be operated, a large-capacity, high-speed arithmetic main memory 6 which is used for the high-speed arithmetic processor 4 and stores vector data of user programs mainly consisting of vector calculations and user programs executed by the high-speed arithmetic processor 4, and an extended memory 7. The system controller 1 includes an extended memory data transfer control unit 9 for controlling data transfer between the extended memory 7 and the control main memory 5 on the basis of commands on the high-speed arithmetic processor 4 in accordance with a data transfer request between the extended memory 7 and the arithmetic main memory 6 from a processor included in a first processor group including the control processor 3, the I/O processor and the like, and a monitor call request of a user program executed on the high-speed arithmetic processor 4, and for controlling data transfer between the extended memory 7 and the control main memory 5 in accordance with a data transfer request between the extended memory 7 and the control main memory 5, which is issued from a processor included in the first processor group. The control processor 3 has a disk address designation means 20 for managing the extended memory 7 as a virtual disk, a memory address designation means 21 for managing the extended memory 7 as a continuous memory space, and a memory address conversion means 25 for converting memory addresses designated by the memory address designation means 21 to physical addresses of the extended memory 7. The high-speed arithmetic processor 4 has a disk address conversion means 23 for converting virtual disk addresses designated by the disk address designation means 20 to physical addresses of the extended memory 7, a memory address conversion means 24 for converting memory addresses designated by the memory address designation means 21 to physical addresses of the extended memory 7, and a type discrimination means 22 for discriminating whether the extended memory 7 is managed as the virtual disk or the continuous memory space. The control processor 3 has supervisor functions such as job I/O edit processing, file processing, resource management for the I/O processor 2, job scheduling, a compiler and a linker for user programs, and the like. The high-speed arithmetic processor 4 has a function of being able to execute vector or scalar commands of a user program at high speed, and employs a multiple parallel pipeline system for executing vector calculations especially at high speed. In order to continuously supply data to arithmetic pipelines, the high-speed arithmetic processor 4 is controlled by an arithmetic data transfer control unit 8 to increase a throughput between the high-speed arithmetic processor 4 and the arithmetic main memory 6. Data transfer between the extended memory 7 and the arithmetic main memory 6 is controlled by commands on the high-speed arithmetic processor 4. Therefore, while transfer is executed between the extended memory 7 and the arithmetic main memory 6, high-speed execution processing of vector or scalar commands of a user program executed on the high-speed arithmetic processor 4 is interrupted. Data transfer between the extended memory 7 and the arithmetic main memory 6 will be described below with reference to Fig. 2. When a transfer command between the extended memory 7 and the arithmetic main memory 6 is executed by the control processor 3, a channel program CP shown in Fig. 3 is created in the arithmetic main memory 6. At this time, an address type Pa and an extended memory address Pb are stored on the channel program CP by the disk address designation means 20 or the memory address designation means 21 in accordance with a format of addresses in the extended memory 7 to be processed by an operating system. In addition, the channel program CP also includes control information such as an arithmetic main memory address Pc, a transfer length Pd, and the like. The transfer command is executed as an asynchronous command on the control processor 3. For example, if a certain process includes n transfer commands, n channel programs (CP 1 ,..., CP n ) corresponding to these commands are created, as shown in Fig. 3. The control processor 3 executes interprocessor communication with the high-speed arithmetic processor 4 after it creates all the channel programs. Upon reception of the interprocessor communication command, the high-speed arithmetic processor 4 reads out channel program information created in the arithmetic main memory 6 by the control processor 3. Thereafter, the type discrimination means 22 discriminates whether the extended memory 7 is managed as a virtual disk or a continuous memory space. According to a discrimination result, the extended memory address is converted to the physical address using the disk address conversion means 23 or the memory address conversion means 24. The high-speed arithmetic processor 4 executes an extended memory data transfer command, and sends control information such as a type of command, the converted physical address of the extended memory 7, the start address of the arithmetic main memory 6, and the like, thus starting data transfer between the arithmetic main memory 6 and the extended memory 7. The extended memory data transfer control unit 9 sequentially reads data from the arithmetic main memory 6, and transfers them to the extended memory 7. Upon completion of data transfer, a message indicating this is supplied to the high-speed arithmetic processor 4 by interruption from the extended memory data transfer control unit 9. The high-speed arithmetic processor which received the data transfer completion message reads status to discriminate normality/abnormality of data transfer, and reports the discrimination result to the control processor 3 through the interprocessor communication. In general, the memory address conversion means, the disk address conversion means, and the type discrimination means may be arranged in the system controller 1 in accordance with a hardware volume/performance depending on a system configuration. Data transfer between the extended memory 7 and the control main memory 5 will be described below with reference to Fig. 4. Data transfer between the extended memory 7 and the control main memory 5 is processed by an operating system of only a continuous memory address format. Therefore, upon execution of this command, the control processor 3 causes the memory address conversion means 25 to convert a designated address of the extended memory 7 to a physical address using a memory address conversion means 25. The control processor 3 then sends the start address of the control main memory 5, the start address of the extended memory 7, commands, a transfer data volume, and the like to the extended memory data transfer control unit 9, thus starting data transfer. Upon completion of data transfer, a message indicating this is supplied from the extended memory data transfer control unit 9 to the control processor 3. The control processor 3 reads status to discriminate normality/abnormality of data transfer. As described above, according to the present invention, whether the extended memory is managed as a continuous memory address space or a virtual disk address space is designated under the control of an operating system, so that an overhead of managing address spaces can be reduced, as needed, to improve access performance. In a conventional user program, addresses of the extended memory are processed as virtual disk addresses. However, according to the present invention, a user can unconsciously execute such a program under the control of an operating system without modifying the program.

Claims: An extended memory address control system in an information processing apparatus comprising a system controller (1), a high-speed arithmetic processor (4), a first main memory, and an extended memory (7), characterized by further comprising a control processor (3) in a first processor group which has a supervisor function, and realizes input/output control, and a compiler and a linker for a user program, and a second main memory (6) for storing a load module of the user program, and data, said first main memory (5) being provided for storing a control program for controlling said control processor (3), said high-speed arithmetic processor (4) being provided in a second processor group for executing the user program, said extended memory (7) being provided for increasing an input/output speed, and said system controller (1) being provided for controlling said control processor (3), said first main memory (5), said second main memory (6), said high-speed arithmetic processor (4), and an extended memory (7), said extended memory address control system comprising: disk address designation means (20) for managing said extended memory (7) as a virtual disk; disk address conversion means (23) for converting a virtual disk address designated by said disk address designation means (20) to a first physical address of said extended memory (7); memory address designation means (21) for managing said extended memory (7) as a continuous memory space; memory address conversion means (24,25) for converting a memory address designated by said memory address designation means (21) to a second physical address of said extended memory (7); type discrimination means (22) for discriminating whether said extended memory (7) is managed as a virtual disk or a continuous memory space; and access control means for accessing said extended memory (7) using one of the first and second physical addresses in accordance with a content indicated by said type discrimination means (22), wherein data transfer between said first main memory (5) and said extended memory (7) executed by said control processor (3) is executed by controlling addresses by only said memory address designation means (21), and data transfer between said second main memory (6) and said extended memory (7) executed by said high-speed arithmetic processor (4) is executed by controlling addresses by said disk address designation means (20) and said memory address designation means (21).

Inventors: JIPPO AKIRA, JIPPO, AKIRA
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 1990
Main classification: G06F12
IPC codes: G06F12, G06F3