Dual mapping memory expansion unit
First Claim
1. In a data processing system including an I/O bus having a plurality of conductors for carrying both data and address signals;
- a plurality of I/O devices including devices forming physically addressed storage locations connected to said bus in parallel, each of said I/O devices being assigned to a respective address slot consisting of a predetermined block of the available addresses on said bus;
a central processor unit for processing a program stored in at least one of said storage locations, the addresses of said storage locations being divided into first, second, and third portions; and
address conversion means connected in series between said central processor unit and said bus for transmitting onto the bus, in response to a virtual address from said central processor unit, a physical address for selecting a storage location;
the improvement comprisinga plurality of expansion memory units providing a total number of memory locations exceeding the number of physical addresses making up an address slot on said bus;
a memory expansion unit connected to said bus in parallel with said I/O devices and having an address slot assigned thereto for converting the block of physical addresses corresponding to said address slot on said bus into an expanded range of physical addresses for selecting said memory locations in said expansion memory units; and
means for connecting the respective expansion memory units to said memory expansion unit;
said memory expansion unit including a mapping register in the form of a random access memory storing the base physical address for a block of consecutively addressed memory locations, said mapping register being responsive to the first portion of said physical address received from said bus for reading out a selected base physical address; and
adder means for combining the output of said mapping register and the second portion of the physical address received from said bus to produce an intermediate address;
at least a portion of said intermediate address juxtaposed with the third portion of said physical address received from said bus being forwarded to said expansion memory units as an expanded physical address.
0 Assignments
0 Petitions
Accused Products
Abstract
In a unified bus data processing system, a memory expansion unit is connected to the bus to convert bus addresses into addresses in a physical memory which may be many times larger than the maximum size that the bus would have been capable of addressing previously. Thus, the memory expansion unit provides directly addressable memory locations which serve to expand the range of physical addresses allocated to the bus by selectively connecting a plurality of expansion memory units to said bus. The memory expansion unit is programmed to convert groups of bus addresses into the same size group of addresses anywhere in physical memory. Until the memory expansion unit is programmed, physical memory is directly addressable by the central processing unit by applying the appropriate bus address and the normal control signals thereto. The memory expansion unit can also perform a dual mapping function by allocating the expansion memory space differently for the central processor unit than for the other devices connected to the bus. Such control and memory expansion is made available while also retaining the possibility of partial physical memory space on the bus for a portion of the bus address space.
68 Citations
22 Claims
-
1. In a data processing system including an I/O bus having a plurality of conductors for carrying both data and address signals;
- a plurality of I/O devices including devices forming physically addressed storage locations connected to said bus in parallel, each of said I/O devices being assigned to a respective address slot consisting of a predetermined block of the available addresses on said bus;
a central processor unit for processing a program stored in at least one of said storage locations, the addresses of said storage locations being divided into first, second, and third portions; and
address conversion means connected in series between said central processor unit and said bus for transmitting onto the bus, in response to a virtual address from said central processor unit, a physical address for selecting a storage location;
the improvement comprisinga plurality of expansion memory units providing a total number of memory locations exceeding the number of physical addresses making up an address slot on said bus; a memory expansion unit connected to said bus in parallel with said I/O devices and having an address slot assigned thereto for converting the block of physical addresses corresponding to said address slot on said bus into an expanded range of physical addresses for selecting said memory locations in said expansion memory units; and means for connecting the respective expansion memory units to said memory expansion unit; said memory expansion unit including a mapping register in the form of a random access memory storing the base physical address for a block of consecutively addressed memory locations, said mapping register being responsive to the first portion of said physical address received from said bus for reading out a selected base physical address; and
adder means for combining the output of said mapping register and the second portion of the physical address received from said bus to produce an intermediate address;
at least a portion of said intermediate address juxtaposed with the third portion of said physical address received from said bus being forwarded to said expansion memory units as an expanded physical address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
- a plurality of I/O devices including devices forming physically addressed storage locations connected to said bus in parallel, each of said I/O devices being assigned to a respective address slot consisting of a predetermined block of the available addresses on said bus;
-
14. In a data processing system including an I/O bus having a plurality of conductors for carrying both data and address signals;
- a plurality of I/O devices including devices forming physically addressed storage locations connected in parallel to said bus, each of said I/O devices being assigned to a respective address slot consisting of a predetermined block of the available addresses on said bus; and
a central processor unit for processing a program stored in at least one of said storage locations, the addresses of said storage locations being divided into first, second, and third portions;
the improvement comprisinga plurality of expansion memory units providing a total number of memory locations exceeding the number of physical addresses making up an address slot; a memory expansion unit connected in parallel with said I/O devices and having an address slot assigned thereto for converting the block of physical addresses corresponding to said address slot on said bus into an expanded range of physical addresses for selecting said memory locations in said expansion memory units, including means for generating a different set of expanded physical addresses in response to addresses received on said bus from said central processor unit than the set generated in response to addreses received on said bus from one of said I/O devices connected to said bus; and means for connecting the respective expansion memory units to said memory expansion unit. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
- a plurality of I/O devices including devices forming physically addressed storage locations connected in parallel to said bus, each of said I/O devices being assigned to a respective address slot consisting of a predetermined block of the available addresses on said bus; and
Specification