throbber
United States Patent 19
`Takagi
`
`|I||||III
`US005481688A
`5,481,688
`11) Patent Number:
`(45) Date of Patent:
`Jan. 2, 1996
`
`54 INFORMATION PROCESSING SYSTEM
`HAVING AN ADDRESSTRANSLATION
`TABLE LOADED WITH MAN/EXPANDED
`MEMORY PRESENCE BITS
`
`75 Inventor: Hitoshi Takagi, Tokyo, Japan
`(73) Assignee: NEC Corporation, Tokyo, Japan
`
`21 Appl. No.: 20,369
`(22 Filed:
`Feb. 22, 1993
`30
`Foreign Application Priority Data
`Feb. 21, 1992
`JP
`Japan .................................... 4-035198
`(51) Int. Cl. ................................. G06F 12/10
`52 U.S. Cl. ..................... 395/418; 395/419; 364/DIG. 1
`58 Field of Search ..................................... 395/425, 375,
`395/275, 400
`
`56
`
`References Cited
`U.S. PATENT DOCUMENTS
`4,279,014 7/1981 Cassonnet et al. ..................... 395/400
`4,476,524 10/1984 Brown et al. ........................... 395/425
`4,669,043 5/1987 Kaplinsky ...
`... 395/425
`5,129,070 7/1992 Dorotte .........
`... 395/400
`5,182,799
`l/1993 Tamura et al. .......................... 395/400
`5,233,700 8/1993 Takagi ..................................... 395/400
`5,237,668 8/1993 Blandy et al. .......................... 395/400
`5,347,636 9/1994 Ooi et al. ............................ 395/400X
`FOREIGN PATENT DOCUMENTS
`0214870 3/1987 European Pat. Off..
`
`
`
`OTHER PUBLICATIONS
`Enterprise System Architecture/390 Principles of Operation
`Publication No. IBM SA22-720-0, Oct. 1990, pp. 7-39 to
`7-41.
`
`Primary Examiner-Michael A. Whitefield
`Attorney, Agent, or Firm-Foley & Lardner
`
`ABSTRACT
`57
`An information processing system has a main memory unit,
`an expanded memory unit, and an instruction processing
`unit producing a virtual address. An address translation
`table, namely, a page table stores page table words which
`include main/expanded memory presence bits indicating to
`which memory unit of the main memory unit and the
`expanded memory unit real pages are stored. Preferably, the
`instruction processing unit may include an access type
`determiner for determining an access type for at least one
`operand. The access type indicates which memory unit is the
`optimum one for the operand. Instead of the access type
`determiner, the instruction processing unit may include
`segment descriptor registers for storing segment descriptors
`having expanded memory bits indicating which memory
`units are the optimum ones for the segments. In place of the
`access type determiner, the instruction processing unit may
`include virtual space registers for indicating virtual space
`numbers identifying a plurality of virtual spaces and an
`access type determining circuit for determining which
`memory unit is the optimum one for a designated virtual
`space.
`
`4 Claims, 10 Drawing Sheets
`
`223,
`
`208
`207
`II SERE
`
`FOR 1ST OPERAND
`FOR ST
`228 OPERAND
`
`FOR2ND OFPERAND
`
`FOR2ND
`OPERAND
`
`ACCESS TYPE. O. MAN MEMORY ACCESS
`ACCESS TYPE - 1 EXPANDED MEMORY ACCESS
`
`LzLabs GmbH. Ex. 1023-1
`
`

`

`U.S. Patent
`
`Jan. 2, 1996
`
`Sheet 1 of 10
`
`5,481,688
`
`(IP)
`
`INSTRUCTION
`PROCESSING UNIT
`
`ADDRESS
`TRANSLATION UNIT
`
`21
`
`
`
`
`
`
`
`
`
`
`
`
`
`EXPANDED
`MEMORY UNIT
`
`LzLabs GmbH. Ex. 1023-2
`
`

`

`U.S. Patent
`
`Jan. 2, 1996
`
`Sheet 2 of 10
`
`5,481,688
`
`
`
`INSTRUCTION
`1st 8:ERAND
`2NESEIRD2
`
`15 1
`
`y2
`
`2. 200
`2O
`-?'
`
`DONT CARE
`
`OP : INSTRUCTION CODE
`Xi INDEX REGISTER NUMBER FOR OPERAND i
`Di : SEGMENT DESCRIPTOR REGISTER NUMBER FOR OPERAND i
`yi: ADDRESS FOR OPERAND i
`L. : TRANSFER LENGTH SPECIFYING REGISTER NUMBER
`
`
`
`MNEMONIC
`
`OOOOOO 101
`OOOOOO 1111
`
`MOVE MAN MEMORY TO
`EXPANDED MEMORY PAGED
`MOVE EXPANDED MEMORY TO
`MAIN MEMORY PAGED
`
`LOGIC FOR ACCESS TYPE DETERMINER
`OP = OOOOOO 1101 --> ST OPERAND MAIN MEMORY ACCESS
`2ND OFPERAND EXPANDED MEMORY ACCESS
`OP = 000 0001111 -> 1ST OPERAND EXPANDED MEMORY ACCESS
`2ND OFERAND MAN MEMORY ACCESS
`
`F. G. 2
`
`LzLabs GmbH. Ex. 1023-3
`
`

`

`U.S. Patent
`
`Jan. 2, 1996
`
`Sheet 3 of 10
`
`5,481,688
`
`200
`
`
`
`202
`201
`D2 y2
`x2 op. xID y
`--
`--
`SEGMENT DESCRIPTOR REGISTERS 206
`20||NDEX REGISTERS
`24RFF 2O7
`208
`fEEFI E
`205 H || |
`|
`| 21o
`VIRTUAL SPACE
`H- YS
`REGISTERS (WSR)
`212 N.
`213
`
`
`
`
`
`
`
`
`
`
`
`OOOOOO 1101
`1111
`
`2.
`0
`1
`O
`
`1
`0 DETERMI
`NER
`
`219
`217
`WSNP OFFSET
`OFFSET
`P:
`WSN
`VIRTUAL ADDRESS AccESS TYPE VIRTUAL ADDRESS ACCESS TYPE
`FOR 1ST OPERAND
`FOR 2ND OFERAND
`FOR 2ND
`FOR 1ST
`228 OPERAND
`OPERAND
`TRANSFER DATA ENGTH
`ACCESS TYPE - O MAIN MEMORY ACCESS
`ACCESS TYPE - 1 EXPANDED MEMORY ACCESS
`
`220
`
`F. G. 3
`
`LzLabs GmbH. Ex. 1023-4
`
`

`

`U.S. Patent
`
`Jan. 2, 1996
`
`Sheet 4 of 10
`
`5,481,688
`
`F. G. 4A
`
`O
`
`
`
`20
`
`29 32
`
`FG. 4B
`MEANING OF FLAG FIELD
`
`BIT 20
`21
`22
`23
`24
`25
`26
`27
`28
`
`MEANING OF '1"
`READABLE
`WRITABLE
`EXPANDED MEMORY BIT
`LOADING FOR CACHE MEMORY
`EXTENDED VIRTUAL SPACE MODE
`EXECUTABLE
`PRIVLEGE
`BOUND FELD IS WALD
`PRESENCE OF SEGMENT
`
`LzLabs GmbH. Ex. 1023-5
`
`

`

`U.S. Patent
`
`Jan. 2, 1996
`
`Sheet S of 10
`
`5,481,688
`
`101
`
`VIRTUAL ADDRESS (VA)
`
`PDBR: PAGE TABLE
`DIRECTORY
`BASE
`REGISTER
`WSPTD VIRTUAL
`SPACE
`PASEABLE
`DIRECTORY
`PTB : PAGEABLE'
`BASE
`PT PAGE TABLE
`
`
`
`MAIN MEMORY
`REAL PAGES
`
`-
`
`EXPANDED MEMORY
`REAL PAGES
`
`-
`
`LzLabs GmbH. Ex. 1023-6
`
`

`

`U.S. Patent
`
`Jan. 2, 1996
`
`Sheet 6 of 10
`
`5,481,688
`
`F.G. 6A
`
`O
`MAN MEMORY REAL PAGE ADDRESS
`
`27 293031 35
`of c
`
`F.G. 6B
`
`O
`
`EXPANDED MEMORY REAL
`PAGE ADDRESS
`
`27 29.30 31 35
`P C
`
`LzLabs GmbH. Ex. 1023-7
`
`

`

`U.S. Patent
`
`Jan. 2, 1996
`
`Sheet 7 of 10
`
`5,481,688
`
`O
`
`27 29 3031 35
`
`EP c - PTw
`
`305
`PAGE PRESENCE
`CHECK CKT
`
`OK OR MPF OR SF
`
`MPF : MISSING PAGE FAULT
`SF SECURITY FAULT
`
`F. G. 7
`
`
`
`LzLabs GmbH. Ex. 1023-8
`
`

`

`5,481,688
`
`agvsay—>Jd
`
`ALIYM—Wh=adi
`
`
`
` SUYM—A—qgvsyO=a4i0=ONGJI
`
`6Old
`
`U.S. Patent
`
`WOu4dNOS
`
`Jan. 2, 1996
`
`Sheet 8 of 10
`
`€¢ WaWW
`
`LzLabs GmbH. Ex. 1023-9
`
`LzLabs GmbH. Ex. 1023-9
`
`

`

`U.S. Patent
`
`Jan. 2, 1996
`
`Sheet 9 of 10
`
`5,481,688
`
`200
`201
`202
`-XCPIXIDI-IID I
`INDEX REGISTERS
`
`2O3 254 N
`227
`
`
`
`VIRTUAL SPACE La E
`FEERs is
`212s
`213-
`
`\ Y - Y /
`
`y2
`
`215
`
`VY-Y /
`
`217
`/? WSN PI offset
`off SET
`WSN P
`ACCESS TYPE VIRTUAL ADDRESS ACCESS TYPE
`VIRTUAL ADDRE
`FOR 1ST
`FOR 2ND OPERAND
`FOR 2ND
`FOR ST OPERAND
`228 OPERAND
`OPERAND
`
`220
`
`TRANSFER DATA LENGTH
`
`ACCESS TYPE - O MAN MEMORY ACCESS
`ACCESS TYPE 1 EXPANDED MEMORY ACCESS
`
`FG. IO
`
`LzLabs GmbH. Ex. 1023-10
`
`

`

`U.S. Patent
`
`Jan. 2, 1996
`
`Sheet 10 of 10
`
`5,481,688
`
`200
`201
`X: OPT KID Y I
`--
`20INDEX REGISTERS
`2: F. 20;
`
`22
`
`
`
`2O2
`ILID: y
`--
`SEGMENT DESCRIPTOR REGISTERS 206
`-208
`
`
`
`209
`
`10
`
`VIRTUAL SPACE L
`REGISTERS (WSR) H
`212-Ea
`213
`
`
`
`
`
`V Y -
`
`1 /
`
`
`
`V 1
`
`y2 21b
`1/
`215
`
`WSN P
`
`217
`219
`off SEth-2WSNI PI6ffset
`
`VIRTUAL ADDRESS ACCESS TYPE VIRTUAL ADDRESS ACCESS TYPE
`FOR 1ST OPERAND
`FOR ST
`FOR 2ND OPERAND
`FOR 2ND
`228 OPERAND
`OPERAND
`
`220
`
`ACCESS TYPE - O MAIN MEMORY ACCESS
`ACCESS TYPE is 1 EXPANDED MEMORY ACCESS
`
`F. G.
`
`LzLabs GmbH. Ex. 1023-11
`
`

`

`5,481,688
`
`1
`INFORMATION PROCESSING SYSTEM
`HAVING AN ADDRESS TRANSLATION
`TABLE LOADED WITH MAN/EXPANDED
`MEMORY PRESENCE BITS
`
`10
`
`15
`
`BACKGROUND OF THE INVENTION
`This invention relates to an information processing sys
`tem and, in particular, to a method of designating an area for
`storing data and a mapping of a virtual space to a real
`memory unit.
`As is well known in the art, an expanded memory unit
`(EXPMEM) is a storage arrangement positioned between a
`main memory unit (MN MEM) and an external memory unit
`(EXT MEM) such as a disk. A combination of the main
`memory unit and the expanded memory unit is referred to as
`the real memory unit. The expanded memory unit can only
`be operable at an access speed lower than that of the main
`memory unit, though the storage capacity thereof is much
`20
`larger than that of the main memory unit. It is expected that
`the performance of the information processing system will
`be improved by using the expanded memory unit as the area
`for storing the data which is so far stored in the external
`memory unit. For example, the expanded memory unit can
`be used as a temporary memory for a file or a swapped area
`for virtual memory control.
`It is assumed that the main memory unit is operable at a
`main access speed AS(MN) and has a main storage capacity
`SC(MN), the expanded memory unit is operable at an
`expanded access speed AS(EXP) and has an expanded
`storage capacity SCOEXP), and the external memory unit is
`operable at an external access speed AS(EXT) and has an
`external storage capacity SC(EXT). The following relation
`ships generally hold for the access speed and the storage
`capacity of the main memory unit, the expanded memory
`unit and the external memory unit:
`AS(MN)2AS(EXP)2ASOEXT), and
`
`25
`
`30
`
`35
`
`SC(MN)sSC(EXP)sSC(EXT).
`The expanded memory unit is assigned with addresses
`which are independent of those assigned to the main
`memory unit. The addresses assigned to the main memory
`unit are called main memory real addresses while the
`addresses assigned to the expanded memory unit are referred
`to as expanded memory real addresses.
`Inasmuch as the main memory unit, the expanded
`memory unit and the external memory unit are related to
`each other, it is necessary to effectively control allocation of
`data among those memory units in order to improve the
`performance of the information processing system while
`taking a full advantage of the expanded memory unit. With
`respect to this, the present invention is directed to provide a
`control arrangement which enables the effective control for
`allocating the data and, in particular, to provide a control
`arrangement which enables the effective control even when
`the virtual space control, which is only for the main memory
`unit in the prior art, is also applied to the expanded memory
`unit.
`The U.S. Pat. No. 4476,524 issued to Brown et al
`discloses some prior art regarding the method for controlling
`memory contents stored in the expanded memory unit and
`how a programmer recognizes addresses in the expanded
`memory unit. The prior art disclosed in the above-mentioned
`patent allows the programmer to recognize only real
`addresses of addresses in the expanded memory unit. In the
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`information processing system providing multiprogram
`ming where a plurality of programs are run by a plurality of
`users, a control program (for instance, an operating system)
`for controlling the information processing system controls
`the memory contents in the expanded memory unit. A
`method of controlling the memory contents in the expanded
`memory unit by the control program is as follows:
`1. A user or a program who would like to access the
`memory contents stored in the expanded memory unit
`requests that of the control program.
`2. The control program checks justice of the request from
`the user or the program who sent the request, following
`which it provides access.
`As is apparent from the above description, whenever the
`user or the program accesses the memory contents stored in
`the expanded memory unit, the prior art disclosed in the
`above patent requires him or it to do so via the control
`program. As a result, it takes a long time for processing the
`memory contents stored in the expanded memory unit in the
`prior art, which only results in degradation of the processing
`performance.
`A virtual storage control system allows the main memory
`unit to enlarge a logical storage space, to protect the stored
`contents, to use data among programs in common, and to
`effectively use resources by reallocating data on the real
`memory unit. Through the above-mentioned method of
`controlling the memory contents stored in the expanded
`memory unit via the control program, degraded performance
`of the system will result because of the necessity of doing it
`via the control program.
`If it is possible to apply the virtual storage control system
`which is, at present, only for the main memory unit to the
`expanded memory unit and allow the system to control data
`by a single control system, it is expected to build a fast, high
`security, flexible information processing system while tak
`ing full advantage of the main memory unit, the expanded
`memory unit and the external memory unit.
`One example of applying a conventional virtual storage
`control system to the expanded memory unit is disclosed in
`a reference SA22-7201-0 issued by International Business
`Machines Corporation (October 1990), pages 7-39 to 7-41,
`under the title of "Enterprise Systems Architecture/390:
`Principles of Operation'. An information processing system
`disclosed in the above-mentioned reference comprises a
`page table (an address translation table) for storing page
`table words where the correspondence is defined between
`virtual page addresses and main memory page addresses.
`That is, the information processing system carries out
`address translation for translating a virtual page address into
`a main memory page address by using the page table. When
`a real page corresponding to a virtual page search is absent
`in the main memory unit, a page-invalid bit in the page table
`represents "1". In such a case, the information processing
`system carries out additional address translation to deter
`mine to which unit the real page in question is to be stored,
`the expanded memory unit or the external memory unit.
`Thus, this technique requires the additional address transla
`tion on accessing the contents stored in the expanded
`memory unit or the external memory unit. In addition, a
`system control program is activated when the real page is
`absent in the main memory unit. This program is substan
`tially modified as a result of the additional address transla
`tion. Such modification is, however, accompanied by deg
`radation of performance of the program itself. The
`performance of this program has important effects on that of
`the information processing system and therefore the addition
`address translation adversely affects the performance of the
`information processing system.
`The access of the page table or, if necessary, the subse
`quent additional address translation only reveals in which
`memory units is the real page stored. The memory unit
`
`LzLabs GmbH. Ex. 1023-12
`
`

`

`5,481,688
`
`3
`storing the real page in question is, however, not always the
`optimum one for it. Another processing is required for
`determining the optimum memory unit for the real page in
`accordance with attributes of data (operands) and frequency
`of access. Thus, it is desired to provide means enabling
`judgement in which memory units should be the data to be
`accessed by a program stored.
`SUMMARY OF THE INVENTION
`It is therefore an object of this invention to provide an
`information processing system which enables systematic
`control of an expanded memory unit as well as a main
`memory unit based on a virtual storage control system.
`It is another object of this invention to provide an infor
`nation processing system of the type described, which is
`capable of effectively reallocating stored contents between
`the main memory unit and an external memory unit at a high
`speed.
`Other objects of this invention will become clear as the
`description proceeds.
`According to a first aspect of this invention, an informa
`tion processing system comprises a main memory unit
`operable at a relatively high speed and having a relatively
`Small storage capacity, and an expanded memory unit oper
`able at a relatively low speed and having a relatively large
`Storage capacity, a combination of the main memory unit
`and the expanded memory unit being operable as a real
`memory unit. The information processing system further
`comprises an instruction processing unit producing a virtual
`address, and an address translation table for translating the
`virtual address into a real address. The address translation
`table stores page table words, each of which includes a real
`page address corresponding to a virtual page address, a
`main/expanded memory presence bit corresponding to the
`real page address and a page presence bit corresponding to
`the real page address. The main/expanded memory presence
`bit indicates to which memory unit of the main memory unit
`and the expanded memory unit a real page, indicated by the
`real page address is to be loaded.
`The page presence bit indicates whether the real page is
`present in the real memory unit. The main memory unit is
`accessible when the main/expanded memory presence bit
`indicates that the real page should be stored in the main
`memory unit and the page presence bit indicates presence of
`the real page in the real memory unit. The expanded memory
`unit is accessible when the main/expanded memory presence
`bit indicates that the real page should be stored in the
`expanded memory unit and when the page presence bit
`indicates presence of the real page in the real memory unit.
`The real page is loaded into the main memory unit after
`production of a missing page fault when the main/expanded
`memory presence bit indicates that the real page should be
`stored in the main memory unit and when the page presence
`bit indicates absence of the real page in the real memory
`unit. The real page is loaded into the expanded memory unit
`after production of the missing page fault when the main/
`expanded memory presence bit indicates that the real page
`should be stored in the expanded memory unit and the page
`presence bit indicates absence of the real page in the real
`memory unit.
`According to a second aspect of this invention, an infor
`mation processing system comprises a main memory unit
`operable at a relatively high speed and having a relatively
`Small Storage capacity, an expanded memory unit operable
`at a relatively low speed and having a relatively large storage
`capacity, and an instruction processing unit for processing an
`
`55
`
`60
`
`65
`
`O
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`4
`instruction word for accessing at least one operand to
`produce a virtual address. A combination of the main
`memory unit and the expanded memory unit is operable as
`a real memory unit. The instruction processing unit includes
`access type determining means for determining an access
`type for the at least one operand on the basis of information
`included in the instruction word. The access type indicates
`which memory unit of the main memory unit and the
`expanded memory unit is the optimum one for the at least
`one operand. The access type determining means produces
`an access type bit indicating the access type. An address
`translation table translates the virtual address into a real
`address. The address translation table stores page table
`words, each of which include a real page address corre
`sponding to a virtual page address, a main/expanded
`memory presence bit corresponding to the real page address,
`and a page presence bit corresponding to the real page
`address. The main/expanded memory presence bit indicating
`to which memory unit of the main memory unit and the
`expanded memory unit a real page is to be loaded. The page
`presence bit indicates whether the real page is present in the
`real memory unit. The main memory unit is accessible when
`the main/expanded memory presence bit indicates that the
`real page should be stored in the main memory unit and the
`page presence bit indicates presence of the real page in the
`real memory unit. The expanded memory unit is accessible
`when the main/expanded memory presence bit indicates that
`the real page should be stored in the expanded memory unit
`and when the page presence bit indicates presence of the real
`page in the real memory unit. The real page is loaded into the
`main memory unit after production of a missing page fault
`when the main/expanded memory presence bit indicates that
`the real page should be stored in the main memory unit and
`when the page presence bit indicates absence of the real page
`in the real memory unit. The real page is loaded into the
`expanded memory unit after production of the missing page
`fault when the main/expanded memory presence bit indi
`cates that the real page should be stored in the expanded
`memory unit and the page presence bit indicates absence of
`the real page in the real memory unit.
`According to a third aspect of this invention, an informa
`tion processing system comprises a main memory unit
`operable at a relatively high speed and having a relatively
`Small storage capacity, an expanded memory unit operable
`at a relatively low speed and having a relatively large storage
`capacity, and an instruction processing unit including seg
`ment descriptor registers for storing segment descriptors
`defining segments which are logical data blocks. The seg
`ment descriptors include start virtual addresses, segment
`sizes, and expanded memory bits indicating which of the
`main memory unit and the expanded memory unit is the
`optimum one for the segments.
`According to a fourth aspect of this invention, an infor
`mation processing system comprises a main memory unit
`operable at a relatively high speed and having a relatively
`Small storage capacity, an expanded memory unit operable
`at a relatively low speed and having a relatively large storage
`capacity and an instruction processing unit including means
`for indicating virtual space numbers for identifying a plu
`rality of virtual spaces and means for specifying which of the
`main memory unit or the expanded memory unit is the
`optimum one for holding information which resides in a
`designated virtual space.
`BRIEF DESCRIPTION OF THE DRAWING
`FIG. 1 is a block diagram of a central processing system
`of a single processor in an information processing system to
`which the present invention is applicable;
`
`LzLabs GmbH. Ex. 1023-13
`
`

`

`5,481,688
`
`S
`FIG. 2 shows a format of a data transfer instruction for
`transferring data between a main memory unit and an
`expanded memory unit, in which the data transfer instruc
`tion is executed on the central processing system depicted in
`FIG. 1;
`FIG. 3 is a block diagram of an instruction processing unit
`used in the central processing system depicted in FIG. 1;
`FIG. 4A shows a format of a segment descriptor stored in
`a segment descriptor register for use in the instruction
`processing unit depicted in FIG. 3;
`FIG. 4B shows a format of a Flag field of the segment
`descriptor illustrated in FIG. 4A;
`FIG. 5 is a block diagram for use in describing operation
`of address translation in the information processing system
`according to the present invention;
`FIG. 6A shows a format of a page table word (PTW) for
`the main memory unit for use in the central processing
`system depicted in FIG. 1;
`FIG. 6B shows a format of another page table word
`(PTW) for the expanded memory unit for use in the central
`processing system depicted in FIG. 1;
`FIG. 7 is a view for use in describing operation of
`presence check on the basis of an access type and a main/
`25
`expanded memory presence bit E and a page presence bit P
`both of which are included in a page table word (PTW);
`FIG. 8 is a circuit diagram of a page presence check
`circuit depicted in FIG. 7;
`FIG. 9 is a block diagram of a memory control unit used
`in the central processing system depicted in FIG. 1;
`FIG. 10 is a block diagram of another instruction pro
`cessing unit used in the central processing system depicted
`in FIG. 1; and
`FIG. 11 is a block diagram of still another instruction
`processing unit used in the central processing system
`depicted in FIG. 1.
`
`15
`
`10
`
`20
`
`30
`
`35
`
`6
`memory control unit 23 receives readout data/status from the
`main memory unit 24 via a readout data/status bus 61. The
`memory control unit 23 supplies the main memory unit 24
`with writing data via a writing data bus 62. The memory
`control unit 23 supplies the expanded memory unit 25 with
`an expanded memory address EMA and a command via an
`address bus 63 and a command bus 64, respectively. The
`memory control unit 23 receives readoutdata/status from the
`expanded memory unit 25 via a readout data/status bus 65.
`The memory control unit 23 supplies the expanded memory
`unit 25 with writing data via a writing data bus 66.
`FIG.2 shows a format of a data transfer instruction. The
`data transfer instruction is an instruction for carrying out
`data transfer between the main memory unit 24 and the
`expanded memory unit 25 that is executed on the central
`processing system depicted in FIG. 1. In the example being
`illustrated, the data transfer instruction is classified into two
`instructions, that is, a first data transfer instruction indicative
`of transfer of data from the main memory unit 24 to the
`expanded memory unit 25 and a second data transfer instruc
`tion indicative of transfer of data from the expanded
`memory unit 25 to the main memory unit 24. The first data
`transfer instruction is called an MMEP instruction while the
`second data transfer instruction is referred to as an MEMP
`instruction. Each data transfer instruction consists of an
`instruction word 200, a first operand descriptor 201, and a
`second operand descriptor 202. The instruction word 200
`comprises an OP field indicative of operation of the instruc
`tion in question, an X1 field indicative of the number of an
`index register for a first operand, and an X2 field indicative
`of the number of another index register for a second oper
`and. The first operand descriptor 201 comprises a first
`descriptor (D1) field indicative of a segment descriptor for
`the first operand, a y1 field indicative of an operand location
`for the first operand, and an L field indicative of a transfer
`length of data. Similarly, the second descriptor 202 com
`prises a second descriptor (D2) field indicative of another
`segment descriptor for the second operand and a y2 field
`indicative of another operand location for the second oper
`and.
`Turning to FIG. 3, description will proceed to the instruc
`tion processing unit 21 used in the central processing system
`depicted in FIG. 1. The instruction processing unit 21
`processes the data transfer instruction illustrated in FIG. 2 to
`generate first and second virtual addresses for the first and
`the second operands and first and second access type bits a1
`and a2 for the first and the second operands.
`The instruction processing unit 21 is supplied with the
`data transfer instruction illustrated in FIG. 2. The instruction
`processing unit 21 comprises index registers 203 each of
`which stores a base address for the operand and so on. In the
`index registers 203, an index register 204 is indicated by the
`X2 field in the instruction word 200 while another index
`register 205 is indicated by the X1 field in the instruction
`word 200. The instruction processing unit 21 further com
`prises segment descriptor registers 206.
`Turning to FIGS. 4A and 4B, each of the segment
`descriptor registers 206 stores segment descriptor defining
`segments which are logical data blocks. The segment
`descriptor comprises Base and Bound fields indicative of
`location and a size in a virtual space of the segment,
`respectively, and a W field indicative of a virtual space
`register number of a virtual space register (WSR) for storing
`a virtual space number (WSN). The segment descriptor
`further includes a Flag field indicative of an attribute of the
`segment. The attribute of the segment is shown in FIG. 4B.
`
`40
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`Referring to FIG. 1, description will be given generally as
`regards a central processing system of a signal processor in
`an information processing system according to the present
`invention. The central processing system comprises an
`45
`instruction processing unit (IP) 21, an address translation
`unit (AT) 22, a memory control unit (MC) 23, a main
`memory unit (MM) 24, and an expanded memory unit (EM)
`25. A combination of the main memory unit 24 and the
`expanded memory unit 25 is called a real memory unit.
`The instruction processing unit 21 supplies the address
`translation unit 22 with a virtual address VA and a command
`via an address bus 51 and a command bus 52, respectively.
`The instruction processing unit 21 receives readout data/
`status from the address translation unit 22 via a readout
`data/status bus 53. The instruction processing unit 21 sup
`plies the address translation unit 22 with writing data via a
`writing data bus 54. The address translation unit 22 supplies
`the memory control unit 23 with a real address and a
`command via an address bus 55 and a command bus 56,
`respectively. The address translation unit 22 receives readout
`data/status from the memory control unit 23 via a readout
`data/status bus 57. The address translation unit 22 supplies
`the memory control unit 23 with writing data via a writing
`data bus 58. The memory control unit 23 supplies the main
`memory unit 24 with a main memory address MMA and a
`command via an address bus 59 and a command bus 60. The
`
`50
`
`55
`
`60
`
`65
`
`LzLabs GmbH. Ex. 1023-14
`
`

`

`5,481,688
`
`10
`
`15
`
`20
`
`30
`
`35
`
`40
`
`7
`Turning back to FIG. 3, the D1 field in the first operand
`descriptor 201 indicates one of the segment descriptor
`registers 206 that stores a W field 207 and a Base field 208
`while the D2 field in the second operand descriptor 202
`indicates another one of descriptor registers 206 that stores
`another W field 209 and another. Base field 210. The
`instruction processing unit 21 comprises virtual space reg
`isters 211. In the virtual space registers 211, a virtual space
`register 212 is indicated by the W field 207 while another
`virtual space register 213 is indicated by the W field 209.
`The instruction processing unit 21 yet comprises first and
`second adders 214 and 215 and an access type determiner
`216. The first adder 214 is supplied with contents of the
`index register 205, the Base field 208, and the y1 field of the
`first operand descriptor 201. The first adder 214 adds the
`contents of the index register 205, the Base field 208, and the
`y1 field to produce a first intra-virtual space address which
`includes a P# field, where Pit represents a page number and
`an offset field. A combination of the first intra-virtual space
`address and the virtual space number WSN in the virtual
`space register 212 composes the first virtual address for the
`first operand that is stored in a first virtual address register
`217. The access type determiner 216 is supplied with the OP
`25
`field of the instruction word 200. The access type determiner
`216 determines a first access type for the first operand on the
`basis of the OP field to produce a first access type bit al.
`indicative of the first access type that is stored in a first
`access type register 218.
`Likewise, the second adder 215 is sup lied with contents
`of the index register 204, the Base field 210, and they2 field
`of the second operand descriptor 202. The second adder 215
`adds the contents of the index register 204, the Base field
`210 and the y2 field to produce a second intra-virtual space
`address which includes another Pi field and another offset
`field. A combination of the second intra-virtual space
`address and the virtual space number WSN in the virtual
`space register 213 composes the second virtual address for
`the second operand that is stored in a second virtual address
`register 219. The access type determiner 216 also determines
`the second access type for the second operand on the basis
`of the OP field to produce a second access type bit a2
`indicative of the second access type that is stored in a second
`access type register 220. Each of the first and the second
`access type bits a1 and a2 is a bit for indicating which
`memory unit is the optimum one for the operand, the main
`memory unit 24 or the expanded memory unit 25. In the
`manner as shown in FIG. 2, the access type is determined
`based on a table as follows:
`
`45
`
`50
`
`TABLE
`ACCESS TYPE
`
`1st operand
`
`2nd operand
`
`OP field
`
`(binary)
`
`000 0001101 MAIN MEMORY
`ACCESS
`000 000 1111 EXPANDED
`MEMORYACCESS
`
`EXPANDED
`MEMORYACCESS
`MAIN MEMORY
`ACCESS
`
`In addition, the L field in the first operand descriptor 201
`indicates, as one of the index registers 203, an index register
`227 which stores a transfer data length signal indicative of
`a transfer data length 1. The transfer data length signal is
`stored in a transfer data length register 228.
`
`55
`
`60
`
`65
`
`8
`As described above, the instruction processing unit 21
`generates the first and the second virtual addresses for the
`first and the second operands and the first and the second
`access type bits a1 and a2 for the first and the second
`operands. Instructions other t

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket