[11] [45] [56] References Cited. 4,285,040 8/1981 Carlson et al /200 4,355,355 10/1982 Butwell et al. 364/ Claims, 5 Drawing Sheets \SO

Similar documents
Hay (43) Pub. Date: Oct. 17, 2002

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2002/ A1 Fukuzato (43) Pub. Date: Jun.

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2007/ A1. Operating System. 106 q f 108.

llllllllllllllillllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

Ulllted States Patent [19] [11] Patent Number: 5,805,897

Telephone Dressing Systems - Advantages and Disadvantages

/12 [-16. U CIUUU Cl UUCIEI U CICIUU. (12) Patent Application Publication (10) Pub. No.: US 2002/ A1 Lawless et al.

(12) United States Patent (10) Patent No.: US 8,253,226 B2 Oguri (45) Date of Patent: Aug. 28, 2012

60 REDIRECTING THE PRINT PATH MANAGER 1

1,5 F., n M 3 My MM, 3 2. M5, ' (21) App1.N0.: 13/789,334 M/WMWW W ~ 3> ( I INTERNET < 114. (71) ApplicantszRobert Monster, Sammamish, WA

Ulllted States Patent [19] [11] Patent Number: 6,163,606. Otto [45] Date of Patent: *Dec. 19, 2000

Ml CRO- MICRO PLEASE

(12) United States Patent Armenio et a].

Ulllted States Patent [19] [11] Patent Number: 5,943,406

United States Patent [191 [11] Patent Number: 4,779,221 Magliocco et al. [45] Date of Patent: Oct. 18, 1988

software, and perform automatic dialing according to the /*~102

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIn -_

(12) United States Patent Halonen

Patent Application Publication Sep. 30, 2004 Sheet 1 0f 2. Hierarchical Query. Contact Ow FIG. 1

(54) LOTTERY METHOD Publication Classi?cation

(12) United States Patent (16) Patent N6.= US 6,198,814 B1 Gill (45) Date of Patent: Mar. 6, 2001

United States Patent [191

How To Make A Programmable Logic Network From A Program To A Program

(10) Patent No.: US 6,351, 739 Bl

United States Patent [191 [11] 4,388,717 Burke [45] Jun. 14, 1983

: 2R5 ML OR 2. United States Patent [191. Fig-A3 [111 3,909,553. [451 Sept. 30, 1975 C54 ( T : Marshall. Laboratories Incorporated, Northlake, Ill.

US Al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2009/ A1 Sanvido (43) Pub. Date: Jun.

(12) United States Patent (16) Patent N6.= US 6,611,861 B1 Schairer et al. (45) Date of Patent: Aug. 26, 2003

Naylor, Lake OsWego, OR (US) (51) Int_ CL

USOO A United States Patent [191 [11] Patent Number: 5,408,501 Cornaby [45] Date of Patent: Apr. 18, 1995

\ \ \ connection connection connection interface interface interface

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2005/ A1 Owhadi et al. (43) Pub. Date: Feb.

Back up information data by blocks, and generate backup data of each block

US A1 (19) United States (12) Patent Application Publication (10) Pub. N0.: US 2013/ A1 Pi0t (43) Pub. Date: May 30, 2013

US B1 (12) United States Patent. (10) Patent N0.: US 6,424,627 B1 Snrhaug et al. (45) Date of Patent: Jul. 23, 2002

(12) United States Patent Wen et a].

7714 Evaluation 7 logic

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2013/ A1 Park et al. (43) Pub. Date: Apr.

(Us) (73) Assignee: Avaya Technology Corp. Je?' McElroy, Columbia, SC (US); (21) Appl. No.: 10/413,024. (22) Filed: Apr. 14, 2003 (57) ABSTRACT

(12) United States Patent Mine et al.

US A1 (19) United States (12) Patent Application Publication (10) Pub. N0.: US 2013/ A1 Simburg (43) Pub. Date: Dec.

/ \33 40 \ / \\ \ \ M / f 1. (19) United States (12) Patent Application Publication Lawser et al. NETWORK \ 36. SERVlCE 'NTERNET SERVICE

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2007/ A1 Ollis et al. HOME PROCESSOR /\ J\ NETWORK

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2002/ A1 Yokota et al. (43) Pub. Date: May 16, 2002

Means are provided for repetitively applying a low [52] U S Cl 128/2 1 B 324/51 current signal, having a distinctive waveform and fre

NETWORK BOUNDARY PRIVATE NETWORK PUBLIC _1 NETWORK

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2002/ A1 Boyer et al. (43) Pub. Date: Aug.

(12) United States Patent (10) Patent N0.: US 8,721,047 B2 Sakurai et a]. (45) Date of Patent: May 13, 2014

(51) Int Cl.: G06F 11/14 ( )

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2006/ A1 Clegg (43) Pub. Date: Sep.

US Al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2007/ A1 Zhou et al. (43) Pub. Date: Jul.

(54) RAPID NOTIFICATION SYSTEM (52) US. Cl /206. (57) ABSTRACT (75) Inventors: Anand Rajasekar, San Jose, CA

(12) Patent Application Publication (10) Pub. No.: US 2003/ A1 Wu et al. (43) Pub. Date: Feb. 20, 2003

(12) Ulllted States Patent (10) Patent N0.: US 8,532,017 B2 Ojala et a]. (45) Date of Patent: Sep. 10, 2013

US Al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2012/ A1 Kuehl (43) Pub. Date: Aug.

i X USE HOST USB B R CONTROLLER 111a 40 11a 1 21

Filetto et al. [45] Date of Patent: Feb. 15, 2000

(12) United States Patent (10) Patent N0.: US 8,282,471 B1 Korner (45) Date of Patent: Oct. 9, 2012

Umted States Patent [19] [11] 4,055,757 Tillman et al. [45] Oct. 25, 1977

(12) United States Patent Edelen

(12) United States Patent (10) Patent N0.: US 8,695,377 B2 Bachelier et a]. (45) Date of Patent: Apr. 15, 2014

(12) (10) Patent N0.: US 6,614,314 B2 d Haene et al. 45 Date 0f Patent: Se (54) NON-LINEAR PHASE DETECTOR FOREIGN PATENT DOCUMENTS

(12) Umted States Patent (10) Patent N0.: US 7,861,013 B2 Hunkins et a]. (45) Date of Patent: Dec. 28, 2010

US Al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2006/ A1 Kim et al. (43) Pub. Date: Apr.

US Al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2007/ A1 Voight et al. SUBSCRIBER DATABASE.

Cunneciiun to credit cards dltabase. The system analyzes all credit cards aeecums.

(43) Pub. Date: Feb. 16, 2012

4,670,900 Jun. 2, 1987

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2014/ A1 FAN et al. (43) Pub. Date: Feb.

(54) SYSTEM AND METHOD FOR HEDGING W0 WO 00/30053 * 5/2000 AGAINST FOREIGN EXCHANGE RISK. Nusbam, David Trading the Wide World of foreign

Web Hosting Community 100

US Al (19) United States (12) Patent Application Publication (10) Pub. No.: US 2013/ A1 Weng et al. (43) Pub. Date: Sep.

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2011/ A1 Yen et al. (43) Pub. Date: Sep.

Ff'if ~ _ INVISIWALL. Shively (43) Pub. Date: NOV. 28, LOCAL ONSITE. (Us) (21) Appl. No.: 09/865,377

United States Patent [191 Romo et al.

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2002/ A1 STRANDBERG (43) Pub. Date: Oct.

GATEWAY ' o o o

(12> Ulllted States Patent (10) Patent N0.: US 6,591,288 B1 Edwards et al. (45) Date of Patent: Jul. 8, 2003

MAIN COMPUTER MONlTOR. INPUT/ OUTPUT ClRCUlT. 4,748,566 May 31, United States Patent [191. [11] Patent Number: [45] Date of Patent:

POTENTIAL. SC DA Il'JA N INTERFACE m. (21) Appl. No.: 11/037,604

(12) United States Patent Gomiciaga-Pereda et a].

US A1 (19) United States (12) Patent Application Publication (10) Pub. N0.: US 2003/ A1 Ritchc (43) Pub. Date: Jun.

US A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2007/ A1 Du et al. (43) Pub. Date: Aug.

i Load balancer relays request to selected node

Sugla (43) Pub. Date: Nov. 1, 2001

United States Patent [191

;111: ~~~~~~~~~~~~~~~~~~~ [73] Assigneez Rockwell Semiconductor Systems 5,754,639 5/1998 Flockhart et al...

Hearing Aids And Frequency Response Testing

3,049,832 TWO-STAGE ROCKET. [oh/44m J don- E. Filed April 22, Arrow/Er INVENTOR. 2 Sheets-Sheet 1

United States Patent [191 [11] Patent Number: 5,037,248

(12) United States Patent Takada

(72) Inventors: Juergen RIEDL, Koenigsbrunn (DE); USPC ( 267/285)

US A1 (19) United States (12) Patent Application Publication (10) Pub. N0.: US 2013/ A1 DANG (43) Pub. Date: Jul.

. tlllll,1! 1% 11:11 I.,W/ "-111 // out AIHI/ ) I \\ M10. 1 I! (1' 1L- 1!!! I VEHICLE} I] r20 (TRAFFIC COMPUTER 10 RECEIVING UNIT 41 I \ ")SENSOR

US B1 (12) United States Patent. (10) Patent N0.: US 6,282,278 B1 D0ganata et al. (45) Date 0f Patent: Aug. 28, 2001

(12) United States Patent (10) Patent N0.: US 7,068,424 B1 Jennings et al. (45) Date of Patent: Jun. 27, 2006

US A1 (19) United States (12) Patent Application Publication (10) Pub. N0.: US 2002/ A1. Mannarsamy (43) Pub. Date: NOV.

llllllllllllllillllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

(12) United States Patent Gomiciaga-Pereda et a1.

(12) United States Patent Schlossman et al.

Transcription:

United States Patent [19] Kodaira et al. [11] [45] Patent Number: Date of Patent: May 30, 1989 [54] ADDRESS TRANSLATON APPARATUS [75] nventors: Mitsuhiko Kodaira, Yokohama; Tokio Shiraga, Ebina, both of Japan [73] Assignee: Hitachi, Ltd., Tokyo, Japan [21] Appl. No.: 36,472 [22] Filed: Apr. 9, 1987 [30] Foreign Application Priority Data Apr. 9, 1986 [JP] Japan..... 79922 [51] nt. Cl...... G06F 900 [52] US. Cl...... 364900; 364955; 364955 S [58] Field of Search 364200 MS File, 900 MS File FOREGN PATENT DOCUMENTS 56-140576 111981 Japan i 58-189392 111983 Japan, OTHER PUBLCATONS Principles of Operation BM 370"-BM Corp. Primary Examiner- Gareth D. Shaw Assistant Examiner-John G. Mills Attorney, Agent, or Firm Antonelli, Terry & Wands [57] ABSTRACT A virtual space is divided into a plurality of areas of different memory block size, and a plurality of address translation modes are executed using different memory block sizes and based upon a virtual memory address. By dividing a part of the virtual memory space into?ner memory blocks, the efficiency of use of the mem ory space is improved, and existing programs can be [56] References Cited easily applied.. Selecting. one of a. plurality of address translation modes is performed using such means as part U-s- PATENT DOCUMENTS of a virtual address, and or a flag. 4,285,040 81981 Carlson et al...... 364200 4,355,355 101982 Butwell et al. 364200 19 Claims, 5 Drawing Sheets VRTUAL NEMORY SPACE 2GB \ l 1MB O SEGMENT TABLE ), _ 12 ~ == " "\3l ONE ENTRY 5-.,; MB BM 16MB ONE ENTRY GMB. _\_.20 CNE ENTRY }64 KB i ' \. 16MB ONE ENTRY \SO }64KB 0 J 50 m % H E 45 Ltomem we) mm master: '_L 1a jg a] 7 L PAGE TABLE 4,2 L _ FABE ADDRESS l 1 '9 33 3! REAL ADD?ESS REGSTER VOO

US. Patent May 30, 1989 Sheet 1 of 5 FG. VRTUAL MEMORY SPACE 2GB \ l ' MB O SEGMENT TABLE,_ 1; " "\3 ONE ENTRY MB ABOVE J GMB one ENTRY 16MB + 2O f ONE ENTRY }64 KB\ @ 6MB o B ow 30 ONE ENTRY < 5 }64KB

US. Patent May 30, 1989 Sheet 2 of 5 FG. 2 CONTROL REGSTER (ORGN etc) LOGCAL ADDRESS REGSTER 82 7 8 1 go; 4 CONSTANT 240 ENTRES m - \ 28 T Nm 52w. B D E m.m W L A m B 4 A\\(2 % F.W w H ' s E _ S M? R E C _ 3) w Av T V.- l P C _ 4 E T 4 C m TG F8 3% T E N R P T D M 2 A w? w 1m E, d 5 A T D M D a w -. s E B11 L mu. S w m 7\ lt O zlqlu 3 PAGE ADDRESS DSPLACE MENT REAL ADDRESS REGSTER

US. Patent May 30, 1989 Sheet 4 of 5 CONTRQL REGSTER FG. 4 LOGCAL ADDRESS 50 8 REGSTER 82 Q ) 78 ) 3 ll ll l l 25' ; " 2 9 '20 31' Z n: 09 L E E G04 \ E m 5 45 55 CONSTANT 2 {~90 :8 ; :16 19:) 24OENTR ES :, 43 40 i {- w 2 2 4 \ 1 ADDERB \ _ se1_ect;{> ADDER A } 1ST SEGMENT ~\ 2ND SEGMENT i'[ TABLE TABLE SELECT 7O 44 2 ADDER C PAGE TABLE 3 - > PAGE ADDRESS 42 ll 9 20 3 r { : { DSPLACE \ PAGE ADDRESS MENT REAL ADDRESS REGSTER O0

US. Patent May 30, 1989 Sheet 5 of 5 FG. 5 5o 2 LOGCAL ADDRESS REGSTER ) CONTROL REGSTER O bx : \ & 40 \_ ADDER SEGMENT TBL FLAG ADDRESS 43 SELECTOR ; bs Y O REAL ADDRESS REGSTER ADDER PAGE TBL REAL ADDRESS REGSTER

1 ADDRESS TRANSLATON APPARATUS BACKGROUND OF THE NVENTON 1. Field of the nvention The present invention relates to a computer system using a virtual memory space, and more particularly to address translation of a virtual memory system. 2. Description of the Related Art n a computer system using a virtual memory space, a user speci?es an address of a memory using a virtual address of a virtual memory space. To access a real memory device such as a main storage, it is necessary to translate the virtual address into the real address of a real memory space. The term real memory space used throughout this speci?cation includes those which can be considered as a real memory space on an operat ing system, e.g., a logical address space on a virtual machine. Address translation is performed using a translation table indicating the relationship between virtual ad dresses and real addresses. Generally, a memory space is?rst divided into segments, and each segment is di vided further into pages. Address translation is per formed in accordance with a segment-page arrange ment, using a segment table and a page table. Address translation is usually made simple by using the same lower bits both for the virtual and the real addresses. Each entry of a segment table speci?es an address of a page table, and each page table de?nes a plurality of 30 pages within the speci?ed address space. An entry of a page table can specify an address of a page frame allo cated in a main storage. The size of a segment or a page is determined considering effective use of real storage, ef?ciency of block transfer between an auxiliary storage and a main storage, and the like. n view of the fact that factors to be considered become different depending upon the respective computer system, there is known a system in which the size of a segment is changed for each virtual address space by means of an address trans 40 lation control register. n a system having a large memory capacity (2 giga bytes) whose virtual addresses are represented by 31 bits, the size of the address area associated with an ad dress translation table becomes large. Here, the term giga byte represents 1024 mega bytes in strict mean ing. Similarly, kilo bytes represents 1024 bytes and "mega byte represents 1024 kilo bytes. f a segment having 64 kilo bytes is employed so as to use a memory in?ner units, the number of entries of the segment table becomes 32,768. f a segment having one mega byte is employed so as to make the size of the segment table small, the memory must be used in units of one mega byte although the number of entries is reduced to 2048. For instance, when 3.1 mega bytes are to be used, a 55 memory space of 4 mega bytes must be occupied. J P-A 58-189892 has proposed that the system common por tion and the user dedicated portion are freely allocated on an address space in units of segments. However, the loss of virtual memory size at a segment division point 60 has not been considered. SUMMARY OF THE NVENTON t is an object of the present invention to provide an address translation apparatus providing ef?cient use of memory. t is another object of the present invention to pro vide an address translation apparatus wherein the size of 2 the memory block in address translation is made vari able in a virtual memory space. According to one aspect of the present invention, when a virtual address is translated into a real address, an address translation mode is determined and an ad dress translation is executed in accordance with the translation mode. For example, both 1 mega byte seg ments and 64 kilo byte segments exist in a virtual mem ory space such that the 64 kilo byte segments are used when the upper 7 bits of a virtual address are all 0 and otherwise the 1 mega byte segments are used. Since two sizes of segments exist in a virtual memory space, it is possible to use a real memory space as necessary with out making the size of a segment table too large, thus improving the ef?ciency of using the real memory space. n case a conventional virtual address system using 24 bit notation is to be changed to a virtual address system using 31 bit notation, it is desirable to enable use of already developed programs using virtual addresses of 24 bit notation. n this case, 16 mega bytes within a memory space of 2 giga bytes are frequently used. Also, since the area lower than 16 MB is only ll28 of the entire space (2 giga bytes), memory allocation in this area must be carried out with consideration of ef?cient use of the memory. With a conventional scheme where only one type of address translation can be appointed for one virtual address space, the area lower than 16 MB cannot be used ef?ciently if a suitable address trans lation table size is used for the are higher than l6 MB. This problem, however, can be solved by dividing a virtual memory space into a plurality of areas, and giv ing a different segment size for each divided area. Even if a user program is executed using divided areas, the user program correctly operates without giving any in?uence on the processing. BREF DESCRPTON OF THE DRAWNGS FG. 1 is a schematic drawing for explaining the principle according to an embodiment of the present invention; FG. 2 is a block diagram showing an address transla tion apparatus embodying the principle shown in FG. 451 FG. 3 is a schematic drawing useful for explaining the present invention; and FGS. 4 and 5 are block diagrams showing address translation apparatus according to other embodiments of the present invention. DESCRPTON OF THE PREFERRED EMBODMENTS FG. 1 illustrates the concept of an address transla tion method, and FG. 2 shows an example of the cir cuit arrangement implementing the address translation method shown in FG. 1. Referring to FG. 1, a virtual memory space has a capacity of 2 giga bytes and is addressed by a virtual address constructed of 31 bits. The virtual memory space is divided at a division point 20 into an area 30, equal to or lower than 16 MB, and an area 31, in excess of 16 MB. The area 30, equal to or lower than 16 MB, is divided into 256 segments having 64 kilo bytessegment. A corresponding segment table 11 then has 256 entries. The area 31, in excess of 16 MB, is divided into 2032 segments having one mega byte segment. A corresponding segment table 12 then has 2032 entries. Each page in the respective areas has four

3 kilo bytes. Thus, the overall segment table 10 has 2032+ZSG=2288 entries. This entry number is consid erably smaller than the entry number of 32,768 obtained when the entire area is divided by 64 kilo bytesseg ment. As a result, it is possible to keep the segment table size small. n addition, the efficiency of use of the area less than or equal to than 16 MB can be improved be cause its segment has 64 kilo bytes. The general principles of virtural memory are dis closed in Principle of Operation, BM 370 (BM) which is hereby incorporated herein by reference. FG. 2 shows an address translation apparatus wherein a virtual memory space is divided into two areas at a division point, each having a different seg ment size. A logical address of 31 bits speci?ed by a program is set in a logical address register 80 from the bit number 1 to the bit number 31. The logical addresses within the area lower than 16 mega bytes, which can be speci?ed using 24 bits, are designated by the bits from the bit number 8 to the bit number 31, with the remaining upper bits from the bit number 1 to the bit number 7 being all 0". That is, the logical addresses not higher than 16 MB can be detected based on whether the upper 7 bits are all 0 or not. The 12 bits from the bit number 20 to the bit number 31 indicate a displacement within each four kilo byte page, and the same 12 bits are used in common for both the real and virtual addresses. Consequently, the bits subjected to address transla tion are those bits from the bit number 1 to the bit num ber 19. For a segment constructed of one mega byte, 11 bits from the bit number 1 to the bit number 11 specify a segment. For a segment constructed of 64 kilo bytes, 8 bits from the bit number 8 to the bit number 15 (all Us for 7 bits from the bit number 1 to the bit number 7) specify a segment. The control register 50 stores a different address for each virtual space, which address indicates a top ad dress (origin) of a segment table for use in address trans lation of a virtual space. First and second segment tables 11 and 12 are pro vided for processing two types of virtual addresses which are different in segment size. The?rst segment table 11 is for the area (represented by 30 in FG. 1) not higher than 16 MB, and speci?ed by 24 bits. The num ber of each segment containing 64 kilo bytes is obtained by adding the contents of 8 bits from the bit number 8 to the bit number 15 to the origin value by an adder A 40. The?rst segment table 11 designates a?rst location of 50 a segment within a real memory space based on the segment number. The second segment table 12 is for the area (represented by 31 in FG. 1) in excess of 16 MB, and speci?ed by 31 bits. The number of each segment containing one mega byte is obtained by adding the contents of 11 bits from the bit number 1 to the bit number 11 to the origin value. Based upon the segment number, the?rst location of a segment within the real memory space is designated. Since the area 3, which corresponds to 16 segments each constructed of one mega byte, is divided into 256 semgents, an off-set 256 l6=240 in the segment number occurs. A con stant register 45 gives this value. The?rst and second segment tables 11 and 12 are stored in a main memory. This storage state is shown in FG. 3. Assuming that main memory addresses are given as shown in FG. 3, the?rst segment table 11 occupies the 256 entry area speci?ed by 8 bits starting 15 25 30 65 4 from the top address (origin) of the segment table. The second segment table 12 is used in a 31 bit mode, and the?rst to seventh bits in the tables are not all 0 (corre sponding to 16 MB or below), i.e., include at least one 1. The address (origin) in the control register 50, the contents of 11 bits from the?rst to eleventh, and a constant (in this example corresponding to 240 entries) in a register 45 for displacing the storage location so as not to superpose the second segment table upon the?rst segment table 11 in the main memory, are added to gether by an adder B 41. The second segment table is accessed based on the obtained address. Such a memory map is as shown in FG. 3. Particularly, the second segment table is accessed from the location away from the top address of the table by 240 entries, with nothing stored for the?rst 16 entries. The segments within the area not higher than 16 MB designated by the bits for the?rst 16 entries have their page table addresses devel oped within the?rst segment table. Selection circuits 43 and 44 are provided in the circuit shown in FG. 2 for selecting the?rst and second seg ment tables 11 and 12. The selection circuits 43 and 44 perform such selection based on whether 7 bits from the hit number 1 to the hit number 7 are all 0". f all 0, the selection circuit 43 selects the adder A 40 and the selection circuit 44 selects an output from the?rst seg ment table 11 and the bits from the hit number 16 to the bit number 19. f there is at least one 1 among the 7 bits, the selection circuit 43 selects the adder B 41, and the selection circuit 44 selects an output from the sec ond segment table 12 and the 8 bits from the bit number 12 to the bit number 19. As a result, the upper address up to the bit number 19 designating a page displacement within a segment is given to an adder C 42. The segment number given by the segment table designates the top address of a page table. Although a single page table 70 is shown in FG. 2, the number of page tables 70 equals the number of entries in the seg ment table. n this example, the number of page tables is 2288. With respect to a signal from the?rst page table whose segment size is 64 kilo bytes, the page displace ment for dividing into pages of four kilo bytes is 16. With respect to a signal from the second segment table 12 whose segment size is one mega byte, the page dis placement for dividing into pages of four kilo bytes is 256. Real page addresses are stored in page tables. The operation of address translation using the address translation apparatus as constructed above will now be described. First, the operation in a 24 bit mode will be described. The?rst to seventh bits are all 0 at this mode. The selection circuit 43 selects the adder A 40 and the selection circuit 44 selects an output from the?rst segment table 11 and the 16th to 19th bits. The value of the control register 50 and the value from the 8th bit to 15th bit are added together by the adder A 40. Based upon the obtained address, the?rst segment table 11 is accessed. The top address of a page table read therefrom and the value from the 16th bit to 19th bit are selected by the selection circuit 44 and added together by the adder C 42. The page table is accessed based upon this added value. Thus, a real page address is obtained, which is combined with a displacement?eld within the page from the 20th bit to 31st bit so that a real address for access to the real memory is obtained in a real address registers 100. The following operation is performed in a 31 bit mode. When at least one bit among the 1st to 7th bits is 1", the selection circuit 43 selects the adder B 41, and

5 the selection circuit 44 selects an output from the sec ond segment table 12 and the value from the 12th to 19th bits. The value of the control register 50, the value from the 1st bit to 11th bit, and a constant of the register 45 are added together by the adder B 41. Based upon the resulting value, the second segment table 12 is ac cessed. The value read from the second segment table and the value from the 12th to 19th bits are sent from the selection circuit 44 to be added together by the adder C 42. Based upon the resulting value, the page table 70 is accessed so that similar to the above, a real address is obtained in the real address register 100. As above, the segment size can be reduced at the area lower than 16 MB, to thereby enable an ef?cient use of the memory and reduce the number of entries of the segment table. This results in a smaller area of the seg ment table occupying the main memory, to accordingly improve processing speed. n the above embodiment, a different segment size is used for the area starting from logical address 0 to a certain address. FG. 4 shows another embodiment of an address translation apparatus wherein an arbitrary area in a virtual space can have a different segment size. The upper address, e.g., the 1st to 7th bits corre~ sponding to more than 16 MB, of a logical address loaded in a logical address register is compared at a comparator 55 with the value of a register 51 set with a desired numeral range. f the logical address is within the?rst range, the?rst segment table 11 is selected, and if within the second range, the second segment table 12 is selected. The other circuit portions are similar to the embodiment shown in FG. 2. FG. 5 is a block diagram illustrating an example of changing a page size. A predetermined upper bit bx of the logical address register 80 and an origin of the con trol register 50 are added together by an adder 140 and inputted to a segment table 111. The following opera tions are selected based on whether there is a?ag in a flag portion of each bit inputted to the segment table. f a flag is set, a selection circuit 143 selects an output address b, from the segment table 111 and the intermedi ate bits by of the logical address register 80 and they are added together by an adder 142. An output of the adder 142 indicates a segment number and a page displace ment within the segment. A page table 70 is selected to accordingly determine a page. By combining the page address with the lower bits b, of the logical address register 80, a real address is obtained in a real address register 100. We claim: 1. An address translation apparatus for use in a data processing system and capable of address translation in a plurality of address translation modes, said modes distinguished by having two hierarchies of segment page and different segment sizes or by having different page sizes, each mode having an associated block size in a virtual memory space, permitting selection of segment size in the two hierarchies of segment page or of page size by selection of the address translation mode, said apparatus comprising: a virtual address register for storing and outputting a virtual address designating an address within a virtual memory space;?rst means responsive to the binary magnitude of the virtual address output from said virtual address register, relative to a preselected set of virtual ad H 0 5 25 35 45 SO 55 60 65 6 dress ranges, for selecting one of the plurality of address translation modes to be executed; and second means responsive to the selected address translation mode for translating the virtual address output from said virtual address register into a real address having a block size dependent upon the selected address translation mode and the binary magnitude of the virtual address. 2. An address translation apparatus according to claim 1, wherein said?rst means includes means for of address translation modes having two hierarchies of segment-page and different segment sizes. 3. An address translation apparatus according to claim 1, wherein said?rst means includes means for of address translation modes having different page sizes. 4. An address translation apparatus according to claim 1, wherein said?rst means includes means for selecting the address translation mode in accordance with a signal formed from a predetermined number of upper bits in the output from said virtual address regis ter. 5. An address translation apparatus according to claim 1, wherein said?rst means includes a range set~ ting register for setting a predetermined address range, and a comparator for comparing predetermined upper bits in the output from said virtual address register with the predetermined range. 6. An address translation apparatus according to claim 1, wherein said?rst means includes a?rst transla tion table for performing address translation based upon the predetermined upper bits in said virtual address register and a selection circuit actuated in response to at least part of the output bits from said?rst translation table. 7. An address translation apparatus according to claim 1, wherein said?rst means includes a dedicated table for selecting the translation mode based upon at least part of the virtual address. 8. An address translation apparatus according to claim 5, wherein said?rst means includes means for of address translation modes having two hierarchies of segment-page and different segment sizes. 9. An address translation apparatus according to claim 7, wherein said?rst means includes means for of address translation modes having different segment sizes. 10. An address translation apparatus according to claim 6, wherein said?rst means includes means for of address translation modes having two hierarchies of segment-page and different segment sizes. 11. An address translation apparatus according to claim 8, wherein said?rst means includes means for of address translation modes having two hierarchies of segment-page and different segment sizes. 12. An address translation method performed on a digital computer and capable of address translation in a plurality of address translation modes, said modes dis tinguished by having two hierarchies of segment page and different segment sizes or by having two different page sizes, each mode having an associated block size in a virtual memory space, permitting selection of segment size in the two hierarchies of segment page or of page

7 size by selection of the address translation mode, said method comprising the steps of: storing a virtual address in a virtual address register, the virtual address designating an address within a virtual memory space; selecting, on the basis of the binary magnitude of the stored virtual address relative to a preselected set of virtual address ranges, one of the plurality of address translation modes to be executed; and translating the stored virtual address into a real ad dress having a block size dependent upon the se lected address translation mode and the binary magnitude of the virtual address. 13. An address translation method according to claim 12, wherein the selecting step includes selecting the address translation mode from a plurality of address translation modes having two hierarchies of segment page and different segment sizes. 14. An address translation method according to claim 12, wherein the selecting step includes selecting the address translation mode from a plurality of address translation modes having different page sizes. 15. An address translation apparatus according to claim 1, wherein said second means comprises: means de?ning a plurality of address translation ta bles for each of said plurality of address translation modes, for translating the stored virtual address into a real address; and means responsive to the selected address translation mode for supplying to one of the plurality of ad dress translation tables for the selected translation mode output bits from said virtual address register, the number of output bits depending upon the se lected translation modes. 16. An address translation apparatus according to claim 1, wherein said second means comprises: means de?ning a?rst address translation table having a plurality of entries, each entry holding a real address; means de?ning a plurality of second address transla tion tables, each of said second address translation tables corresponding to a respective one of the ' 20 30 35 40 8 plurality of address translation modres and having a plurality of entries, each entry holding an entry address of said?rst address translation table, said second address translation tables outputting the entry address of the?rst address translation table held in the entry of the second address translation table indicated by the virtual address output from said virtual address register; said?rst address translation table outputting a real address from the entry indicated by the entry ad dress output fromm said second address translation tables; and means responsive to the selected address translation mode for supplying to the one of said second ad dress translation tables corresponding to the se lected translation mode a?rst portion of the output from said virtual address register, the magnitude of at least a part of said?rst portion being dependent upon the selected translation mode. 17. An address translation apparatus according to claim 16, wherein said second means further comprises: means responsive to the selected address translation mode for combining the output of the correspond ing one of said plurality of second address transla tion tables and a second portion of the output of the virtual address register, different from said?rst portion and for supplying the combined result to said?rst address translation table as an entry ad dress. 18. An address translation apparatus according to claim 15, wherein said?rst means includes means for selecting the address translation mode in accordance with a signal formed from a predetermined number of upper bits in the output from said virtual address regis ter. 19. An address translation apparatus according to claim 15, wherein said?rst means includes a range set ting register for setting a predetermined address range, and a comparator for comparing predetermined upper bits in the output from said virtual address register with the predetermined range. $ # l # 45 50 55 65