Method for providing virtual addressing for externally specified addressed input/output operations
First Claim
1. In a digital computer system of the type having a memory addressed by a real address, having a virtual addressing system for converting virtual addresses into real addresses utilizing a channel page table having a predetermined starting address, having input/output operations, having said input/output channels capable of externally specifying an address, and having channel state information which specifies a starting address of said channel page table, an improved method of addressing comprising the steps of:
- treating said externally specified address as a virtual address having a page portion and a displacement portion;
addressing said channel page table using said starting address of said channel page table;
indexing into said channel page table with said page portion to select a particular location within said channel page table in order to obtain a page frame number which specifies the real address of the start of said page portion in said memory; and
concatenating said page frame number with said displacement portion to obtain said real address.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of addressing memory in a digital computer where a plurality of devices are connected to a single input/output channel to the digital computer communicate with the digital computer by externally specifying the memory address of the data word or words to be transferred to or from the digital computer. More specifically, the invention provides a method for treating the externally specified address coming from one of the multiple devices external to the digital computer as a virtual address. Thus, an input/output process operating in the digital computer may operate within the digital computer'"'"'s system virtual address space. This method allows input/output processes to be able to utilize the address mapping subsystem of the central processor of the digital computer. The method of memory addressing utilizes a subchannel page table for each one of the multiple devices connected to one input/output channel in addition to a channel page table utilized for each individual input/output channel.
69 Citations
7 Claims
-
1. In a digital computer system of the type having a memory addressed by a real address, having a virtual addressing system for converting virtual addresses into real addresses utilizing a channel page table having a predetermined starting address, having input/output operations, having said input/output channels capable of externally specifying an address, and having channel state information which specifies a starting address of said channel page table, an improved method of addressing comprising the steps of:
-
treating said externally specified address as a virtual address having a page portion and a displacement portion; addressing said channel page table using said starting address of said channel page table; indexing into said channel page table with said page portion to select a particular location within said channel page table in order to obtain a page frame number which specifies the real address of the start of said page portion in said memory; and concatenating said page frame number with said displacement portion to obtain said real address. - View Dependent Claims (2, 3)
-
-
4. In a digital computer system of the type having a memory addressed by a real address, having a virtual addressing system for converting virtual addresses into real addresses utilizing a channel page table having a predetermined starting address, having input/output operations, having a plurality of devices multiplexed over one of a plurality of input/output channels, having said input/output channels capable of externally specifying an address having a subchannel number portion and an address portion, and having channel state information which specifies a starting address of said channel page table, an improved method of addressing comprising the steps of:
-
treating said address portion of said externally specified address as a virtual address having a page portion and a displacement portion; addressing said channel page table using said starting address of said channel page table; indexing into said channel page table using said subchannel number portion to select a particular location within said channel page table in order to obtain a subchannel page table pointer which specifies the starting address of a subchannel page table; retrieving said subchannel page table pointer from said channel page table; addressing said subchannel page table using said subchannel page table pointer as the starting address; indexing into said subchannel page table with said page portion to select a particular location within said subchannel page table in order to obtain a page frame number which specifies the start of said page portion in said memory; retrieving said page table number from said subchannel page table; and concatenating said page frame number with said dispacement portion to obtain said real address. - View Dependent Claims (5, 6)
-
-
7. In a digital computer system of the type having a memory addressed by a real address, having a virtual addressing system for converting virtual addresses into real addresses utilizing a channel page table having a predetermined starting address, having input/output operations, having a plurality of devices multiplexed over one input/output channel, having said input/output channels capable of externally specifying an address having a subchannel number portion and an address portion, and having channel state information which specifies a starting address of said channel page table and which specifies an index into said channel page table, an improved method of addressing comprising the steps of:
-
treating said address portion of said externally specified address as a virtual address having a page portion and a displacement portion; adding said index into said channel page table with said subchannel number to obtain a modified index; addressing said channel page table using said starting address of said channel page table; indexing into said channel page table using said modified index to select a particular location within said channel page table in order to obtain a subchannel page table pointer which specifies the starting address of a subchannel page table; retrieving said subchannel page table pointer from said channel page table; addressing said subchannel page table using said subchannel page table pointer as the starting address; indexing into said subchannel page table with said page portion to select a particular location within said subchannel page table in order to obtain a page frame number which specifies the start of said page portion in said memory; retrieving said page frame number from said subchannel page table; and concatenating said page frame number with said displacement portion to obtain a real address.
-
Specification