US5873128AExpiredUtilityPatentIndex 71
Data processing system with dynamic address translation function
Est. expiryJun 28, 2013(expired)· nominal 20-yr term from priority
G06F 12/1009
71
PatentIndex Score
7
Cited by
5
References
16
Claims
Abstract
A data processing system has a dynamic address translation function for dynamically translating virtual addresses into real addresses and processes data. The system employs a plurality of control registers for managing the developed addresses of address translation tables and a selector for selecting one of the control registers. The control register selected by the selector specifies one of the address translation tables, which is used to dynamically translate a virtual address into a real address.
Claims
exact text as granted — not AI-modifiedWe claim:
1. A channel unit, within a data processing system having a dynamic address translation function for dynamically translating virtual addresses into real addresses, comprising: a plurality of control registers to manage developed addresses of address translation tables used for translating logical addresses to real addresses for a plurality of logical address spaces in the channel unit, one of the control registers being used to specify an address translation table for a system space and another of the control registers being used to specify an address translation table of a user data space, the system space having at least one command for controlling the channel unit, to prevent use of the system space in the channel unit by a user of the user data space in the channel unit; selection means for selecting one of the control registers; and address translation table switching means for activating the selected control register; the selected and activated control register specifying one of the address translation tables to dynamically translate a virtual address in the corresponding logical address space in the channel unit into a real address.
2. The system according to claim 1, wherein one of the control registers specifies one of the address translation tables that serves the system space in the channel unit.
3. The system according to claim 1, wherein one of the control registers specifies one of the address translation tables that serves the user data space in the channel unit.
4. The system according to claim 1, wherein the selection means employs a predetermined bit contained in a command provided by the system as a selecting one of the control registers.
5. The system according to claim 4, wherein the selection means employs a flag for enabling/disabling the selection flag.
6. The system according to claim 4, wherein the address translation table switching means activates the control register selected by the selection flag.
7. The system according to claim 5, wherein the address translation table switching means calculates an AND of the selection flag and enable/disable flag, to activate the selected and enabled control register.
8. The system according to claim 1, wherein the system is a channel unit for controlling input/output units.
9. A data processing system with a dynamic address translation function for dynamically translating virtual addresses into real addresses and processing data in a channel unit, comprising: a plurality of control registers for managing developed addresses of address translation tables used for translating logical addresses to real addresses for a plurality of logical address spaces in the channel unit, one of the control registers being used to specify an address translation table for a system space in the channel unit, and another of the control registers being used to specify an address translation table for a user data space in the channel unit, said plurality of control registers preventing use of the system space by a user of the user data space, the system space having at least one command for controlling the channel unit; selection means for selecting one of the control registers, employing a predetermined bit contained in a command provided by the system as a flag for selecting one of the control registers and a bit for enabling/disabling the selection flag; and address translation table switching means for calculating the AND of the selection flag and enable/disable flag, to activate one of the control registers that has been selected and enabled, the selected and enabled control register specifying an address translation table to dynamically translate a virtual address in the corresponding logical address space in the channel unit into a real address.
10. The system according to claim 9, wherein the system is a channel unit for controlling input/output units.
11. A method of dynamically translating virtual addresses into real addresses and processing data in a channel unit to prevent use of a system space in the channel unit by a user of a user data space in the channel unit, the system space having at least one command for controlling the channel unit, comprising: determining whether it is a virtual address mode or a real address mode; processing data under the real address mode, if it is determined to be the real address mode; translating a virtual address into a real address according to segment and page tables specified by a control register prepared for translating addresses related to a predetermined program, fetching a command developed at a real address, and storing the command in a buffer, if it is determined to be the virtual address mode; and translating a virtual address into a real address according to segment and page tables specified by a control register selected according to a selection flag contained in the command, and transferring data developed at the real address to a given unit according to the command.
12. The method according to claim 11, wherein the step of selecting a control register according to the selection flag contained in the command further includes a step of calculating the AND of the selection flag and a flag for enabling/disabling the selection flag, and selecting a control register according to a result of the AND operation.
13. The method according to claim 12, wherein, when the AND is false, the virtual address is translated into a real address according to segment and page tables specified by the control register prepared for translating addresses related to the predetermined program, and user data developed at the real address are fetched and transferred to the given unit.
14. The method according to claim 11, wherein the predetermined program is a channel program of a channel unit for controlling input/output units, the command is a channel command contained in the channel program, and the given unit is one of the input/output units.
15. A data processing system with a dynamic address translation function for dynamically translating virtual addresses into real addresses and processing data in a channel unit and for preventing use of a system space in the channel unit by a user of a user data space in the channel unit, the system space having at least one command for controlling the channel unit, comprising: a plurality of control registers to manage developed addresses of address translation tables used for translating logical addresses to real addresses for the system and user data spaces in the channel unit; a selection device to select one of the control registers; and an address translation table switching device to activate the selected control register; the selected and activated control register specifying one of the address translation tables to dynamically translate a virtual address in a corresponding system space or user data space in the channel unit into a real address.
16. A dynamic translator in a computer system having a main memory with a real memory space mapped into a plurality of virtual memory spaces, an external storage, and at least one processor executing a channel program composed of a sequence of channel commands moving data between one of said virtual memory spaces and said external storage, said dynamic translator comprising: a first address translation table creating a virtual user memory space; a user control register managing said first address translation table; a second address translation table creating a virtual system memory space; a system control register managing said second address translation table; and a selector reading a control section in each channel command and based on the control section selecting one of said system control register and said user control register to translate a virtual address in the channel command, thereby constraining the channel command when operating on user data to exclusively access the virtual user memory space and to prevent accessing the virtual system memory space.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.