CN101300555A - Arithmetic processing apparatus, information processing apparatus, and method for accessing memory of the arithmetic processing apparatus - Google Patents

Arithmetic processing apparatus, information processing apparatus, and method for accessing memory of the arithmetic processing apparatus Download PDF

Info

Publication number
CN101300555A
CN101300555A CNA2006800409411A CN200680040941A CN101300555A CN 101300555 A CN101300555 A CN 101300555A CN A2006800409411 A CNA2006800409411 A CN A2006800409411A CN 200680040941 A CN200680040941 A CN 200680040941A CN 101300555 A CN101300555 A CN 101300555A
Authority
CN
China
Prior art keywords
address
address translation
physical address
translation
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006800409411A
Other languages
Chinese (zh)
Other versions
CN101300555B (en
Inventor
木村启昭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN101300555A publication Critical patent/CN101300555A/en
Application granted granted Critical
Publication of CN101300555B publication Critical patent/CN101300555B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/654Look-ahead translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/684TLB miss handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

In an information processing apparatus equipped with a cache memory, a TLB, and a TSB, when a TLB error occurs upon a memory access, the processing time of the memory access can be significantly reduced. The information processing apparatus comprises: a second search unit (14) for searching a second physical address from an address translation buffer means (13) by using a second virtual address having a one-to-one correspondence with a first virtual address; and a prefetch control unit (22) for registering a first address translation pair for the first virtual address from an address translation table (11) to a cache memory means (12) by using this searched second physical address.

Description

The memory access method of arithmetic processing apparatus, signal conditioning package and arithmetic processing apparatus
Technical field
The signal conditioning package of the present invention relates to have MMU cache memories such as (Memory Management Unit-Memory Management Unit) and TLB (Translation Lookaside Buffer-conversion reinforcement buffer zone), and relate to the technology of when MMU-MISS-TRAP (TLB failure) takes place, carrying out data pre-fetching to cache memory.
Background technology
Generally, compare with the operating rate of CPU (Central Processing Unit-central processing unit), the operating rate of primary storage portion is slower, and, because the distance of CPU and primary storage portion is also far away, therefore, CPU is in order to obtain data from primary storage portion, when the primary storage visit takes place, expend the processing time.
Therefore, the system of installation cache memory has become current main flow between the order operational part of control of the execution processing command of CPU inside and s operation control and primary storage portion.
Cache memory and primary storage portion are relatively, its storable capacity is little, but can be to carry out work at a high speed, and, because itself and the distance of order between the operational part are also near than the distance between itself and the primary storage portion, therefore, the order operational part can be used than visit primary storage portion and far for the of short duration time data be taken out.
Then, MMU (Memory Management Unit) is described, for example, in SPARC (registered trademark) architecture, OS (Oprating System-operating system) is managing the conversion table from the virtual address to the physical address, stores the one some projects into TSB in the primary storage portion (Translation Storage Buffer: conversion memory buffer; Address translation with the table) in, this project by the virtual address (TTE-Tag) that is called TTE (Translation Table Entry-translation table entry) and physical address (TTE-Data) to the formation.
In addition, also the one some projects are stored among the TLB (TranslationLookaside Buffer) in the MMU.
,, quite expend time in from the visit of order operational part though the TSB capacity is big herein, though and the TLB capacity is little, can carry out at a high speed visit from the order operational part.
In system with such TSB and TLB, be not registered in specified virtual address under the situation of the TLB that is arranged in MMU, will produce MMU-MISS-TRAP (MMU failure; The TLB failure).
At this moment, the order operational part reports to OS with this MMU-MISS-TRAP, the OS that receives after the report handles to the order operational part request memory access of CPU inside, and ((carry out this memory access shown in the T1~T33) handles the order operational part of CPU inside for step S100~S118) and the time diagram of Figure 10 according to the flow process of Fig. 9 thus.And T1~T33 shown in Figure 10 represents the processing unit interval of the order operational part of CPU inside.
That is, the order operational part begins to carry out memory access (the step S100 of Fig. 9) according to virtual address, and retrieval is adopted this virtual address and to the right project (with reference to the step S101 of Fig. 9, the T1 of Figure 10) of physical address that should virtual address from TLB.
Herein, be registered among the TLB (that is, under the situation that MMU-MISS-TRAP does not take place if comprise the project of this virtual address; The not branch of the step S102 of Fig. 9), this virtual address physical address corresponding represented data of order operational part in order to obtain and to be retrieved, and use this physical address retrieval cache memory (the step S103 of Fig. 9).
And, if registered the speed buffering project (the step S104's of Fig. 9 is branch) that comprises these data in the cache memory, then read this data by the order operational part, finish memory access (step S105), end process.
In addition, registration is not adopted under the situation of this physical address and the right speed buffering project of data (the step S104's of Fig. 9 denys branch) in cache memory, then order operational part to use this physical address to carry out the primary storage visit, the data of this physical address are registered to (the step S106 of Fig. 9) in the cache memory, begin processing (the step S107 of Fig. 9 once more based on this virtual address; That is, turn back to above-mentioned steps S100).
On the other hand, in TLB registration adopt under the situation of right project of this virtual address carried out retrieval and (that is the situation of MMU-MISS-TRAP take place; With reference to the step S102 of Fig. 9 be branch, the T2 of Figure 10), receive OS after the MMU-MISS-TRAP report to the processing of step S108~S118 of order operational part request Fig. 9 described later.
Promptly, this virtual address that the MMU failure will take place the order operational part is set in the register, and according to the virtual address (hereinafter referred to as the TSB virtual address) on this virtual address generation TSB corresponding with this virtual address, after being set in register, from register, read these virtual addresses and TSB virtual address (with reference to step S108, the S109 of Fig. 9 and the T3 of Figure 10~T8).
And, this virtual address is set in the processing in the register and generates the TSB virtual address and be set processing in register, be performed during T3 at the T2 of Figure 10.
Then, the relation between virtual address and the TSB virtual address is described.As mentioned above, adopt the right project of virtual address and physical address to be stored among the TSB in the primary storage portion, the address of preserving on the TSB of the right project that adopts this virtual address and physical address is the TSB physical address, with this TSB physical address corresponding virtual address be the TSB virtual address.In addition, in this MMU, adopt the right project of TSB virtual address and TSB physical address to be registered and to be kept among the TLB.
Then, the order operational part has begun to use the memory access (the step S110 of Fig. 9) of the TSB virtual address of being read, and the right project (with reference to the step S111 of Fig. 9 and the T9 of Figure 10) of this TSB virtual address and the TSB physical address corresponding with this TSB virtual address is adopted in retrieval from TLB.In addition, when retrieving (hitting) such project from TLB (with reference to the step S112 of Fig. 9 and the T10 of Figure 10), the order operational part uses this TSB physical address to retrieve (with reference to the step S113 of Fig. 9 and the T11 of Figure 10) in cache memory.
Adopt the data (TTE-Tag/Data that is preserved in the represented primary storage portion of this TSB physical address and this TSB physical address when in cache memory, retrieving (hitting) herein; Virtual address and physical address to) right project the time (the step S114's of Fig. 9 is branch), then register to (the step S115 of Fig. 9) among the TLB, thereby will adopt in above-mentioned steps S101 the virtual address of retrieving, in above-mentioned steps S102, take place the MMU failure and register among the TLB with the right project of this virtual address physical address corresponding by this project that will retrieve.Then, the order operational part begins to have used memory access (the step S116 of Fig. 9 of this virtual address once more; That is, turn back to above-mentioned steps S100).
On the other hand, when the right speed buffering project of this TSB physical address and data is adopted in registration in cache memory (, the situation of cache memory failure has taken place; With reference to the not branch of the step S114 of Fig. 9 and the T12 of Figure 10), then use this TSB physical address, to primary storage portion conduct interviews (with reference to the step S117 of Fig. 9 and the T13 of Figure 10), read the right of this TSB physical address and data from primary storage portion, and registering to (with reference to the T14 of Figure 10) in the cache memory, the memory access that has begun to use this TSB physical address once more is (after the T15 with reference to the step S 118 of Fig. 9 and Figure 10; That is, turn back to above-mentioned steps S110).
In addition, the processing of T15~T22 of Figure 10 is equivalent to step S110~S116 of above-mentioned Fig. 9, the processing of T23~T28 of Figure 10 is equivalent to step S100~S104, S106, the S107 of above-mentioned Fig. 9, and the processing of T29~T33 of Figure 10 is equivalent to the processing of the step S100 of above-mentioned Fig. 9~S105.
In addition, up to now, the treatment technology under the situation of convert failed (TLB failure) having taken place in TLB, has proposed various schemes (for example, with reference to following patent documentation 1~3).
Patent documentation 1: TOHKEMY 2000-112821 communique
Patent documentation 2: Japanese kokai publication hei 02-285440 communique
Patent documentation 3: Japanese kokai publication hei 02-178750 communique
As mentioned above, in existing MMU, because adopt the right project of virtual address of having carried out retrieval not to be registered among the TLB, therefore, under the situation that MMU-MISS-TRAP takes place, the order operational part is in the processing of carrying out following (1)~(6) down of dominating of OS.
(1) MMU-MISS-TRAP is reported to OS.
(2) read the virtual address of appointment from register.
(3) read the TSB virtual address that generates according to this virtual address from register.
(4) use the TSB virtual address to carry out memory access.
(5) when the data of corresponding TSB virtual address are present in cache memory or the primary storage portion, then TTE-Tag/Data (virtual address and physical address to) is registered among the TLB.
(6) carry out the memory access of specified virtual address once more.
, in the processing of above-mentioned (5), not under this data conditions, the memory access to primary storage portion takes place in cache memory herein, therefore, processing expends time in, and all of above-mentioned in order to finish (1)~(6) are handled, and just need a lot of time.
In addition, as shown in figure 10, in the prior art, OS is set in this virtual address in the register after generating the TSB virtual address, reads the TSB virtual address of this setting (with reference to T6~T8) from register, the TSB physical address that use obtains according to this TSB virtual address is retrieved cache memory (with reference to T11),, in cache memory, there be not (with reference to T12) under the data conditions herein, beginning primary storage visit (with reference to T13).Like this, in the prior art, exist from the TSB virtual address to generate back oversize problem of time till the visit of beginning primary storage.
Promptly, in the prior art, no matter during T2~T3, whether generate the TSB virtual address, before the timing of T13 after as a result of having distinguished the speed buffering failure, can not begin the primary storage visit, therefore there is the problem that till data (, TTE) corresponding with the TSB physical address arrive cache memory, needs for a long time herein.
In addition, as shown in figure 10, in the prior art, whether the TTE corresponding with the TSB physical address arrives in the timing of T14, the data relevant with the physical address (TTE-Data) of this TTE are with respect to the taking-up of cache memory, be not performed before the timing of T27 after as a result of having distinguished the cache memory failure, therefore have the problem that till data arrive cache memory, needs for a long time.
In addition, there are the following problems in the memory access of carrying out continuously, that is: in memory access in front and the follow-up memory access, under the situation that the TLB failure takes place, if the processing at above-mentioned (1)~(6) of the memory access of front is not finished, then can not carry out the processing of above-mentioned (1)~(6) at follow-up memory access.
Promptly, as the time diagram of Figure 11 (shown in the T1~T56), in continuous memory access, under the situation that recurs the TLB failure, in the memory access in front, register to processing among the TLB (before finishing with reference to T1~T22) in the virtual address that the TLB failure will take place, can not begin follow-up memory access (with reference to T24), therefore, when the TLB failure also takes place in this follow-up memory access when, in order to finish follow-up memory access, (with reference to T56) will expend time in very much.And, the contents processing of the memory access of the front among Figure 11 (contents processing (T1~T33) identical of T1~T33) and memory access shown in Figure 10, and, about the processing of the follow-up memory access among Figure 11 (T24~T56), the address difference of having only process object, the processing (T1~T33) identical of its contents processing and the memory access of front.
Summary of the invention
The present invention finishes in view of the above problems, its purpose is, in signal conditioning package with cache memory, TLB and TSB, when carrying out memory access, taken place under the situation of TLB failure, can significantly shorten the processing time of memory access in the case, and, also can significantly shorten processing time under the situation of TLB failure at these continuous memory accesses even all taken place in mutual continuous memory access.
For reaching above-mentioned purpose, arithmetic processing apparatus of the present invention is characterised in that, it is connected to storage unit, this storage unit with the 1st address translation to as address translation with the table preserved, the 1st address translation is to being preserve the 1st physical address of data and 1st virtual address corresponding with described the 1st physical address right, and described arithmetic processing apparatus has: cache storage unit; The address translation buffer cell, it is right that it preserves the 2nd address translation, and it is right to preserve described the 1st address translation, the 2nd address translation is to being the right of the 2nd physical address and 2nd virtual address corresponding with the 2nd physical address, and described the 2nd physical address is illustrated in and preserves the right address of described the 1st address translation in the described storage unit; The 1st search part, it uses above-mentioned the 1st virtual address, carries out the retrieval of above-mentioned the 1st physical address from above-mentioned address translation buffer cell; The 2nd search part, its use and above-mentioned the 1st virtual address be the 2nd virtual address one to one, carries out the retrieval of above-mentioned the 2nd physical address from above-mentioned address translation buffer cell; And the control part of looking ahead, it uses the 2nd physical address as above-mentioned result for retrieval, and above-mentioned 1st address translation relevant with above-mentioned the 1st virtual address is right, registers to above-mentioned cache storage unit with table from above-mentioned address translation.
In addition, arithmetic processing apparatus of the present invention is characterised in that, it also has the virtual address generating unit, to not being stored under the situation in the above-mentioned address translation buffer cell, carry out generation with above-mentioned one to one the 2nd virtual address of above-mentioned the 1st virtual address in the 1st address translation corresponding by above-mentioned virtual address generating unit with above-mentioned the 1st virtual address.
In addition, arithmetic processing apparatus of the present invention is characterised in that, above-mentioned the 1st search part, above-mentioned virtual address generating unit, above-mentioned the 2nd search part and the above-mentioned control part of looking ahead are carried out streamline control, and above-mentioned the 1st search part, above-mentioned virtual address generating unit, above-mentioned the 2nd search part and the above-mentioned control part of looking ahead are in turn carried out the processing to serial command.
In addition, arithmetic processing apparatus of the present invention is characterised in that, the above-mentioned control part of looking ahead has: the 1st control part of looking ahead, it uses above-mentioned the 2nd physical address right with above-mentioned the 1st address translation of retrieval the table from above-mentioned address translation, and above-mentioned the 2nd physical address and the right group of above-mentioned the 1st address translation that retrieves are registered in above-mentioned cache storage unit; And the 2nd control part of looking ahead, it begins to carry out under the situation of the right registration of above-mentioned the 1st address translation at above-mentioned address translation buffer cell, according to the 1st physical address that is included in above-mentioned the 1st address translation centering, the data that are kept in above-mentioned the 1st physical address are registered to above-mentioned cache storage unit from said memory cells.
In addition, signal conditioning package of the present invention is characterised in that, this signal conditioning package has: storage unit, to being preserved with table as address translation, the 1st address translation is to being preserve the 1st physical address of data and 1st virtual address corresponding with above-mentioned the 1st physical address right with the 1st address translation for it; Cache storage unit; The address translation buffer cell, it is right that it preserves the 2nd address translation, and it is right to preserve described the 1st address translation, the 2nd address translation is to being the right of the 2nd physical address and 2nd virtual address corresponding with the 2nd physical address, and described the 2nd physical address is illustrated in and preserves the right address of described the 1st address translation in the described storage unit; The 1st search part, it uses above-mentioned the 1st virtual address, carries out the retrieval of above-mentioned the 1st physical address from above-mentioned address translation buffer cell; The 2nd search part, its use and above-mentioned the 1st virtual address be the 2nd virtual address one to one, carries out the retrieval of above-mentioned the 2nd physical address from above-mentioned address translation buffer cell; And the control part of looking ahead, it uses the 2nd physical address as above-mentioned result for retrieval, and above-mentioned 1st address translation relevant with above-mentioned the 1st virtual address is right, registers to above-mentioned cache storage unit with table from above-mentioned address translation.
In addition, signal conditioning package of the present invention is characterised in that, above-mentioned signal conditioning package also has the virtual address generating unit, to not being stored under the situation in the above-mentioned address translation buffer cell, carry out generation with above-mentioned one to one the 2nd virtual address of above-mentioned the 1st virtual address in the 1st address translation corresponding by above-mentioned virtual address generating unit with above-mentioned the 1st virtual address.
In addition, signal conditioning package of the present invention is characterised in that, above-mentioned the 1st search part, above-mentioned virtual address generating unit, above-mentioned the 2nd search part and the above-mentioned control part of looking ahead are carried out streamline control, and above-mentioned the 1st search part, above-mentioned virtual address generating unit, above-mentioned the 2nd search part and the above-mentioned control part of looking ahead are in turn carried out the processing to serial command.
In addition, signal conditioning package of the present invention is characterised in that, the above-mentioned control part of looking ahead has: the 1st control part of looking ahead, it uses above-mentioned the 2nd physical address right with above-mentioned the 1st address translation of retrieval the table from above-mentioned address translation, and above-mentioned the 2nd physical address and the right group of above-mentioned the 1st address translation that retrieves are registered in above-mentioned cache storage unit; And the 2nd control part of looking ahead, it begins to register under the right situation of above-mentioned the 1st address translation at above-mentioned address translation buffer cell, according to the 1st physical address that is included in above-mentioned the 1st address translation centering, the data that are kept in above-mentioned the 1st physical address are registered to above-mentioned cache storage unit from said memory cells.
In addition, memory access method of the present invention is characterised in that, this method has following steps: to being kept at the step of storage unit as address translation with table, the 1st address translation is to being preserve the 1st physical address of data and 1st virtual address corresponding with above-mentioned the 1st physical address right with the 1st address translation; Preserve the 2nd address translation to and preserve the right step of described the 1st address translation, the 2nd address translation is to being the right of the 2nd physical address and 2nd virtual address corresponding with the 2nd physical address, and described the 2nd physical address represents to preserve the right address of described the 1st address translation; The step of using above-mentioned the 1st virtual address from above-mentioned address translation buffer cell, to carry out the retrieval of above-mentioned the 1st physical address; Use and above-mentioned the 1st virtual address be the 2nd virtual address one to one, the step of carrying out the retrieval of above-mentioned the 2nd physical address from above-mentioned address translation buffer cell; And use is as the 2nd physical address of above-mentioned result for retrieval, with the step of above-mentioned 1st address translation relevant with above-mentioned the 1st virtual address to registering to cache storage unit with table from above-mentioned address translation.
In addition, memory access method of the present invention is characterised in that, the memory access method of above-mentioned arithmetic processing apparatus also has following steps in preserving the right step of above-mentioned the 1st address translation: according to the 1st physical address that is included in above-mentioned the 1st address translation centering, and the step that the data that are kept in above-mentioned the 1st physical address are registered to above-mentioned cache storage unit from said memory cells.
Like this, if according to the present invention, in common processing at the TLB failure, in order to obtain TTE as the right project of virtual address (TTE-Tag) and physical address (TTE-Data), before carrying out the primary storage visit, the 1st control part of looking ahead is just carried out the primary storage visit in advance, thus, the 1st address translation becomes early the timing that arrives cache memory, has this effect of processing time that can significantly shorten the memory access that the TLB failure has taken place.
In addition, pass through pipeline processes, before being performed according to processing of request from OS, by carrying out this processing, even all taken place in mutual continuous order under the situation of TLB failure, also needn't wait for and finishing dealing with, handle and in turn carry out at the memory access of subsequent commands and handle and can carry out this memory access at the memory access of front order, thus can carry out in advance at subsequent commands by the 1st prefetch process that control part carries out of looking ahead.Its result, can be in the stage early, data (above-mentioned TTE or the data corresponding with the 1st physical address) are kept in the cache memory, in the connected storage visit, even under the situation that the TLB failure has taken place, also have this effect of processing time that can shorten described connected storage visit significantly.
In addition, when the register of carrying out above-mentioned TTE registration to TLB begins to register this TTE, the 2nd looks ahead control part (data pre-fetching control part) according to the 1st physical address that is included among this TTE, with the data that are kept in the address that the 1st physical address represents, look ahead to above-mentioned cache memory from primary storage portion; The 2nd looks ahead control part at the data that are kept in the 1st physical address that is contained among this TTE, according to the 1st physical address, portion looks ahead to cache memory from primary storage, therefore, before carrying out the primary storage visit of basis from the request of OS, the 2nd looks ahead control part by carrying out the primary storage visit in advance, has this effect of processing time that can significantly shorten the sort memory visit.
Description of drawings
Fig. 1 is the block scheme of expression as the structure of the signal conditioning package of the 1st embodiment of the present invention and the 2nd embodiment.
Fig. 2 is the block scheme of expression as the primary structure of the signal conditioning package of the 1st embodiment of the present invention.
Fig. 3 is the block scheme of expression as the primary structure of the signal conditioning package of the 1st embodiment of the present invention.
Fig. 4 is the process flow diagram that is used to illustrate as the step of the control method of looking ahead of the 1st embodiment of the present invention.
Fig. 5 is the time diagram of expression as an example of the step of the control method of looking ahead of the 1st embodiment of the present invention.
Fig. 6 is the block scheme of expression as the primary structure of the signal conditioning package of the 2nd embodiment of the present invention.
Fig. 7 is the process flow diagram that is used to illustrate as the step of the control method of looking ahead of the 2nd embodiment of the present invention.
Fig. 8 is the time diagram of expression as an example of the step of the control method of looking ahead of the 2nd embodiment of the present invention.
Fig. 9 is used for the process flow diagram of action step that explanation has the signal conditioning package of existing MMU (Memory Management Unit).
Figure 10 is the time diagram of an example of action step of the signal conditioning package of the existing MMU of having of expression.
Figure 11 is the time diagram of an example of action step of the signal conditioning package of the existing MMU of having of expression.
Symbol description
1,1 ' ... signal conditioning package
10... primary storage portion
11...TSB (Translation Storage Buffer-changes the memory buffer; The TSB zone; Address translation is with showing)
12... cache memory
13...TLB (Translation Lookaside Buffer-conversion reinforcement buffer zone; The address translation impact damper)
(14...VA Virtual Address-virtual address) comparer (the 1st search part; The 2nd search part; Search part)
15...TSB-VA formation logic (the 1st generating unit)
16... register
(17...PA Physical Address-physical address) formation logic (generating unit; The 2nd generating unit)
18...PA comparer (cache retrieval portion)
19... cache memory control part
20... register
The control part 21... look ahead
22... the 1st control part of looking ahead
23... the 2nd control part (data pre-fetching control part) of looking ahead
Embodiment
Followingly embodiments of the present invention are described with reference to accompanying drawing.
[1] about the 1st embodiment of the present invention
At first, with reference to block scheme shown in Figure 1, the structure as the signal conditioning package of the 1st embodiment of the present invention is described.As shown in Figure 1, this signal conditioning package 1 constitutes and has: primary storage portion 10; And arithmetic processing apparatus 2, it for example includes: order operational part 3, cache memory 12, TLB 13, VA (Virtual Address-virtual address) comparer (the 1st search part; The 2nd search part; Search part) 14, TSB-VA formation logic (the 1st generating unit) 15, register 16, PA (Physical Address; Physical address) formation logic (generating unit; The 2nd generating unit) 17, PA comparer (cache retrieval portion) 18, cache memory control part 19, register 20 and the control part 21 of looking ahead.
Primary storage portion 10 has TSB, and (Translation Storage Buffer-changes the memory buffer; Address translation is with table, hereinafter referred to as the TSB zone) 11, this TSB11 preserves the order relevant data performed with exectorial order operational part 3, and preserves the employing address translation to (the 1st address project; TTE) project, this address translation is to being physical address (the 1st physical address that the address of these data is preserved in expression; TTE (Translation Table Entry)-Data) and with this physical address corresponding virtual address (the 1st virtual address; TTE-Tag) address translation is right.
Cache memory 12 is installed between order operational part 3 and the primary storage portion 10, is used for preserving data temporarily.
TLB 13 constitutes: its both can preserve as physical address (the 2nd physical address is hereinafter referred to as the TSB physical address) and with this TSB physical address corresponding virtual address (the 2nd virtual address; Hereinafter referred to as the TSB virtual address) right project (the 2nd address project of address translation; Hereinafter referred to as TSB address project), also can preserve address translation to (the 1st address project), described physical address is illustrated in the address of preserving in the TSB zone 11 as the right project of address translation.
In addition, as mentioned above, in the following description, under the situation of only mentioning " virtual address ", represent the 1st virtual address, under the situation of only mentioning " physical address ", represent the 1st physical address,, represent the 1st address project only mentioning under the situation of " address translation to ".Relative therewith, in the following description, the 2nd physical address is called " TSB physical address ", the 2nd virtual address is called " TSB virtual address ", the 2nd address project is called " TSB address project ".
Herein, the data save method to cache memory 12 and TLB 13 describes.
Cache memory 12 is when preserving as physical address and be kept at the right speed buffering project of data in the address of the primary storage portion 10 that this physical address represents, physical address is saved as " Cache-Tag " as retrieval sign, and this data are saved as " Cache-data " as the data of searching object.
In addition, cache memory 12 is being preserved the TSB physical address and as the address translation of the data in the address that is kept at the TSB zone 11 that this TSB physical address represents during to (TTE), the TSB physical address is saved as " Cache-Tag ", and with address translation to saving as " Cache-data ".
TLB 13 the address translation of preserving virtual address and physical address to the time, virtual address is saved as " Tag " that indicates as retrieval, and physical address is saved as " Data " as the data of searching object.
In addition, TLB 13 saves as the TSB virtual address as search index and uses " Tag " when preserving the TSB address project of TSB virtual address and TSB physical address, and the TSB physical address is saved as " Data " as searching object.
In addition, as shown in Figure 1, VA comparer 14 is retrieved from TLB 13 according to this virtual address at the relevant right TSB address project of address translation of virtual address (being recited as " reference address " among the figure) of conduct with the process object of order operational part 3.
In addition, and generate one to one the TSB virtual address simultaneously according to this reference address by TSB-VA generating unit 15, VA comparer 14 at the relevant TSB address project of this TSB virtual address that generates, retrieve from TLB 13 according to this TSB virtual address.
In the result who retrieves by VA comparer 14 is the address translation relevant with the virtual address of process object to not being kept among the TLB 13 (promptly, generation TLB failure) under the situation, TSB-VA formation logic (below, be called the TSB-VA generating unit) 15 generates and this virtual address TSB virtual address one to one.
The virtual address of TLB failure or the TSB virtual address that is generated by TSB-VA generating unit 15 have taken place in register 16 interim preservations.
The PA formation logic (below, be called the PA generating unit) 17 results according to VA comparer 14 retrieval TLB 13 obtain, with the corresponding TSB physical address of TSB virtual address that TLB fails has taken place, generate the final TSB physical address of the actual address in expression TSB zone 11, finish retrieval simultaneously with VA comparer 14, generate final TSB physical address.
For example, PA generating unit 17 is by adding the part of this TSB virtual address in the TSB physical address corresponding with the TSB virtual address that above-mentioned TLB failure has taken place, thereby generates final TSB physical address.
In addition, PA generating unit 17 according to the physical address that takes place to read from TSB zone 11 TLB failure back and with this physical address corresponding virtual address, generates final physical address corresponding with this virtual address, that represent the actual address of primary storage portion 10.
For example, PA generating unit 17 generates this final physical address by the part of virtual address is added in the physical address.
PA comparer 18 is used for retrieving the data that are kept at cache memory 12, and according to physical address, retrieval is kept at the data in the address of the primary storage portion 10 that this physical address represents.
In addition, PA comparer 18 is right according to TSB physical address search address conversion, and this address translation is to being the project that is kept in the address in the TSB zone 11 that this TSB physical address represents.
Cache memory control part 19 is used to control cache memory 12, in the result who retrieves by PA comparer 18 is that the speed buffering project of searching object is not stored under the situation in the cache memory 12, cache memory control part 19 is read data as searching object from primary storage portion 10, and it is kept in the cache memory 12 as the speed buffering project.
Register 20 is used for and will be kept at address translation in the speed buffering project of cache memory 12 to being registered among the TLB 13.And in this signal conditioning package 1, TSB address project is managed by OS (Operating system-operating system), by registration and preservation in advance in TLB13.
The control part 21 of looking ahead constitutes has the 1st control part 22 and the 2nd control part (data pre-fetching control part) 23 of looking ahead of looking ahead.
The 1st looks ahead control part 22 retrieving the TSB physical address corresponding with the TSB virtual address by VA comparer 14 when, the final TSB physical address that use is generated by PA generating unit 17 is looked ahead to the TSB zone 11 from primary storage portion 10 address translation relevant with the virtual address of the process object that the TLB failure has taken place to cache memory 12.
Herein, see figures.1.and.2 the 1st control part 22 of looking ahead is described in more details, the 1st look ahead control part 22 retrieve from TLB 13 by VA comparer 14 be set in register 16 in the corresponding TSB physical address of TSB virtual address in, make PA comparer 18 retrieve the speed buffering project according to this TSB physical address that retrieves from cache memory 12, this speed buffering project is right right of the address translation in this TSB physical address and the address that is stored in the TSB zone 11 that this TSB physical address represents.
That is, generated by PA generating unit 17 under the situation of final TSB physical address, the 1st control part 22 of looking ahead makes PA comparer 18 carry out the retrieval of the cache memory that has used this final TSB physical address.
In addition, in the result who retrieves by PA comparer 18 is not retrieve from cache memory 12 as right this right speed buffering project of TSB physical address and address translation (promptly, in cache memory 12, do not preserve this speed buffering project) situation under, the 1st look ahead control part 22 make cache memory control part 19 with TSB physical address and address translation right to registering in the cache memory 12 as the speed buffering project.
Promptly, the 1st looks ahead control part 22 by control cache memory control part 19, thereby according to this final TSB physical address, read address translation from the TSB zone 11 of primary storage portion 10 right, make address translation after TSB physical address and this are read right to being saved in the cache memory 12 as the speed buffering project.
The 2nd looks ahead control part 23 at the speed buffering project that is stored in the cache memory 12, begin and to have taken place among the address translation subtend TLB 13 of virtual address of TLB failure in the registration in register 20, the physical address right according to this address translation, only under the situation that the speed buffering failure has taken place, the data that are kept in this physical address are looked ahead to cache memory 12 from primary storage portion 10.
And, in this signal conditioning package 1, at least the TSB-VA formation logic 15, register 16, PA formation logic 17, PA comparer 18, cache memory control part 19 and register 20 play the effect of following the 1st address project register: in the result who retrieves by search part 14 is that the address translation relevant with the virtual address that the TLB failure has taken place be not to being stored under the situation among the TLB 13, according to this virtual address TSB address project of TSB virtual address one to one, will with this virtual address corresponding address conversion subtend TLB 13 in register.In addition, also can make the 1st of the control part 21 of the looking ahead control part 22 of looking ahead play the effect of the 1st address project register.
Herein, with reference to Fig. 1 and Fig. 3 the 2nd control part 23 of looking ahead is described in more details, in the result by VA comparer 14 retrieval is that the address translation relevant with the virtual address of process object be not to being stored under the situation in the TLB 13, TSB-VA generating unit 15 in the effect of playing the 1st address project register, register 16, PA generating unit 17, PA comparer 18, cache memory control part 19, register 20 and the 1st control part 22 of looking ahead begins the address translation relevant with this virtual address when registering among the TLB 13, and the 2nd data of looking ahead on the represented address of control part 23 physical address that this address translation is right are only just looked ahead to cache memory 12 under the situation that the cache access failure takes place.
Promptly, the 2nd look ahead control part 23 with register 20 beginning in TLB 13 the registration address translation to controlling cache memory control part 19 as triggering, in cache memory control part 19, the physical address right according to this address translation, data in the address that is kept in the represented primary storage portion 10 of this physical address are read from primary storage portion 10, in cache memory 12, register.
Then, (step S10~S32) (t1~t40) action (control method of looking ahead) to this signal conditioning package 1 describes with time diagram shown in Figure 5 with reference to process flow diagram shown in Figure 4.And the t1~t40 among Fig. 5 represents the processing unit interval of this signal conditioning package 1 respectively.
At first, order operational part 3 begins memory access (the step S10 of Fig. 4) according to virtual address, VA comparer 14 is at this virtual address and right with the address translation of this virtual address physical address corresponding, from TLB 13, retrieve (with reference to the step S11 of Fig. 4, the t1 of Fig. 5; The 1st searching step).
Herein, (that is the situation of MM-MISS-TRAP, takes place in this address translation to not being registered under the situation among the TLB 13; With reference to the step S12 of Fig. 4 is the t2 of branch and Fig. 5), order operational part 3 is to OS report MMU-MISS-TRAP, and TSB-VA generating unit 15 is according to the virtual address that the TLB failure has taken place, generate with this virtual address one to one TSB virtual address (TSB-VA) (with reference to the t3 of Fig. 5; The 1st generates step).
At this moment, during shown in t3~t5 of Fig. 5, be set in the register 16 by the TSB virtual address of OS after with this virtual address and this generation temporarily.
Then, when generating the TSB virtual addresses by TSB-VA generating unit 15 (promptly, after the TSB virtual address generates and then), VA comparer 14 is retrieved the TSB address project relevant with the TSB virtual address that is generated (with reference to the step S13 of Fig. 4 and the t4 of Fig. 5 from TLB 13; The 2nd searching step).
Then, from TLB 13, retrieving TSB address project (that is situation of generation TLB-HIT, by VA comparer 14; Step S14 with reference to Fig. 4, the t5 of Fig. 5) time (promptly, retrieve after the project of TSB address and then by VA comparer 14), the 1st look ahead control part 22 uses the TSB physical address that retrieves, and the address translation that the virtual address of TLB failure has taken place is looked ahead (with reference to the step S15 of Fig. 4 and t6~t8 of Fig. 5 to cache memory 12 from the TSB zone 11 of primary storage portion 10 to (TTE-Data); The 1st controlled step of looking ahead).
And, look ahead in the controlled step the 1st, according to from the 1st signal of looking ahead control part 22, PA comparer 18 is retrieved this address translation to (cache retrieval step) from cache memory 12, at this result for retrieval is that this address translation is not to being stored under the situation that (the speed buffering failure has taken place) in the cache memory 12 (with reference to the t7 of Fig. 5), cache memory control part 19 is according to from the 1st signal of looking ahead control part 22, begin the TSB zone 11 of primary storage portion 10 is conducted interviews (with reference to the t8 of Fig. 5), so as with TSB physical address and address translation right to being prefetched in the cache memory 12.And, when receive this address translation to the time, cache memory control part 19 with this address translation to and this TSB physical address be kept at (preservation step) in the cache memory 12 as the speed buffering project.But, in example shown in Figure 5, because (t12 of Fig. 5~t16) reception this address translation in back is right, therefore, in example shown in Figure 5, preserves step and is performed in the timing of t19 carrying out the common processing of basis described later from the request of OS.
, in this signal conditioning package 1, look ahead when control part 22 begins to look ahead herein, begin at TLB failure according to request and handle (with reference to the t6 of Fig. 5) usually from OS the 1st.
Promptly, according to request from OS, order operational part 3 from register 16 read the TLB failure has taken place virtual address (with reference to the step S16 of Fig. 4, the t6 of Fig. 5~t8), in addition, from register 16, read the TSB virtual address that generates by TSB-VA generating unit 15 (with reference to the step S17 of Fig. 4 and the t9 of Fig. 5~t11).
Then, beginning is carried out memory access (step 18 of Fig. 4) according to the TSB virtual address that is read, at first, VA comparer 14 is retrieved the TSB physical address corresponding with this TSB virtual address (with reference to the step S19 of Fig. 4 and the t12 of Fig. 5) according to the TSB virtual address from TLB13.
Then, (the situation that TLB hits when retrieving the TSB physical address; With reference to the step S20 of Fig. 4 and the t13 of Fig. 5), PA comparer 18 is according to the TSB physical address that retrieves, from cache memory 12 this TSB physical address of retrieval and with this TSB physical address corresponding address conversion to (TTE-Data) (with reference to the step S21 of Fig. 4 and the t14 of Fig. 5).
Herein, be in cache memory 12, not have this TSB physical address and this address translation is right (that is the situation of speed buffering failure to take place, under to the situation of preserving in result as the speed buffering project by PA comparer 18 retrieval; With reference to the not branch of the step S22 of Fig. 4 and the t15 of Fig. 5), cache memory control part 19 for this TSB physical address and this address translation right to being fetched in the cache memory 12, and to the TSB zone 11 of primary storage portion 10 conduct interviews (with reference to the step S23 of Fig. 4 and the t16 of Fig. 5).
Like this, in this signal conditioning package 1, after MM-MISS-TRAP is reported to OS, according to request TLB failure execution is handled (with reference to step S16~S23 of Fig. 4 from OS, the t12 of Fig. 5~t16) before, generate the TSB virtual address by TSB-VA generating unit 15, and then VA comparer 14 and the 1st look ahead control part 22 for the address translation relevant with the virtual address that the TLB failure has taken place to being kept in the cache memory 12, and carry out prefetch process (with reference to step S13~S15 of Fig. 4, the t4 of Fig. 5~t7), therefore, with respect to the common processing of basis from the request of OS, in this example, can be equivalent to 8t (8 processing time units) in advance primary storage portion 10 is carried out visit (with reference to the t8 of Fig. 5).
Thereby, this address translation to arrive cache memory 12, and with this address translation to registering to the timing in the cache memory 12, compared with the situation of only carrying out this common processing, can shift to an earlier date greatly, thereby can shorten processing time under the situation that the TLB failure has taken place.
Then, carrying out primary storage visit (with reference to the step S23 of Fig. 4 and the t16 of Fig. 5) according to the request of OS afterwards, address translation to the situation that arrives cache memory 12 under, this address translation to with this address translation to corresponding TSB physical address to being registered in the cache memory 12 as the speed buffering project (with reference to the t19 of Fig. 5; Preserve step), begin once more to carry out memory access (with reference to the step S24 of Fig. 4) according to the TSB virtual address that generates by TSB-VA generating unit 15.That is, turn back to the step S18 of Fig. 4.
Herein, VA comparer 14 according to 15 that generate by the TSB-VA generating unit, with the virtual address that the TLB failure has taken place TSB virtual address one to one, retrieve TLB 13 (with reference to step S19, the S20 of Fig. 4 and t20, the t21 of Fig. 5) once more, PA comparer 18 uses the TSB physical address that hits, and the address translation of retrieving the virtual address that the TLB failure has taken place from cache memory 12 is to (TTE-Data) (with reference to the step S21 of Fig. 4 and the t22 of Fig. 5).
This TSB physical address and address translation right to since at above-mentioned steps S23 (that is, with reference to the t19 of Fig. 5; The preservation step) has been registered in the cache memory 12 as the speed buffering project in, therefore, in this retrieval of being undertaken by PA comparer 18, be hit (is the t23 of branch and Fig. 5 with reference to the step S22 of Fig. 4) as this TSB physical address and the right right speed buffering project of address translation, finish the memory access (TSB-VA visit) (with reference to the t24 of Fig. 5) of the TSB virtual address that generates by TSB-VA generating unit 15.
Then, the address translation after register 20 is hit speed buffering is to registering among the TLB 13 (with reference to the step S25 of Fig. 4 and t25, t26, the t27 of Fig. 5; The 1st address project register step).
At this moment, in this signal conditioning package 1, begin address translation when registering among the TLB 13 in register 20, the 2nd control part 23 physical address right according to this address translation of looking ahead looked ahead the data that are kept in the address of the primary storage portion 10 that this physical address represents (with reference to the step S26 of Fig. 4 and t25~t28 of Fig. 5 to cache memory 12 from primary storage portion 10; The 2nd controlled step of looking ahead, the controlled step of looking ahead).
That is, the 2nd look ahead control part 23 with register 20 begin will be among the address translation subtend TLB 13 registration as triggering, perhaps, begin to look ahead to be input to TLB registration request signal in the register 20 as triggering.
Particularly, the 2nd look ahead control part 23 at first right according to this address translation virtual address and physical address makes PA generating unit 17 generate final physical address (with reference to the t25 of Fig. 5; The 2nd generates step, generates step).
Then, the 2nd looks ahead control part 23 uses by the final physical address that PA generating unit 17 generates, and makes PA comparer 18 carry out the retrieval of cache memories 12 (with reference to the t26 of Fig. 5; The cache retrieval step).
Herein, under the situation that the speed buffering failure has taken place (with reference to the t27 of Fig. 5), the 2nd control part 23 of looking ahead uses cache memory control part 19 to have taken place the physical address of speed buffering failure, carry out to look ahead at the data in the address that is stored in the primary storage portion 10 that this physical address represents and (that is, carry out the primary storage visit; T28 with reference to Fig. 5).
And, receiving under this data conditions, cache memory control part 19 with these data and this physical address to be kept at (preservation step) in the cache memory 12 as the speed buffering project.But in example shown in Figure 5, (therefore the t28 of Fig. 5~t32) arrive afterwards, in example shown in Figure 5, preserves step and is performed in the timing of t35 because these data are in common processing described later.
On the other hand, when the registration process of the TTE-Data shown in t25~t28 of the step S25 that finishes Fig. 4 and Fig. 5, order operational part 3 has begun to take place the memory access of the virtual address of TLB failure once more and has handled (the step S27 of Fig. 4).That is, turn back to above-mentioned steps S10.
Then, VA comparer 14 uses the virtual address that the TLB failure has taken place, and carries out the retrieval (with reference to the step S11 of Fig. 4 and the t28 of Fig. 5) of TLB13 once more.
Herein, registration process among step S25 by above-mentioned Fig. 4 and the t25~t28 of Fig. 5, the address translation of this virtual address is to being registered among the TLB 13 as project, therefore, MMU-MISS-TRAP (TLB failure) can't take place, and hits (with reference to the branch that denys of the step S 12 of Fig. 4 and the t29 of Fig. 5) and TLB takes place.
Then, PA comparer 18 use taken place that TLB hits with this virtual address physical address corresponding, retrieval is stored in the data (with reference to the step S28 of Fig. 4 and the t30 of Fig. 5) in the address of the primary storage portion 10 that this physical address represents from cache memory 12.
Herein, be that this right speed buffering project as this physical address and these data is not stored under the situation in the cache memory 12 (that is cache memory failure situation about taking place, in the result who retrieves by PA comparer 18; With reference to the branch that denys of the step S29 of Fig. 4 and the t31 of Fig. 5), for with this physical address and these data to being fetched in the cache memory 12,19 pairs of primary storage portions 10 of cache memory control part conduct interviews (with reference to the step S30 of Fig. 4 and the t32 of Fig. 5).
Like this, in this signal conditioning package 1, the processing of registration in the address translation subtend TLB 13 of virtual address that the TLB failure has taken place and physical address is (with reference to the step S25 of Fig. 4 and the t25 of Fig. 5~processing that t28) be performed afterwards, that used this virtual address (VA visit; Before the beginning of the t28 of Fig. 5~t32), begin this registration process, simultaneously, for the data on the address of representing with this virtual address physical address corresponding and this physical address are saved in the cache memory 12 as the speed buffering project, the 2nd control part 23 of looking ahead is carried out prefetch process (with reference to the step S26 of Fig. 4 and the t25 of Fig. 5~t28).
Thereby,, for example can shift to an earlier date the visit (with reference to the t28 of Fig. 5) of 4t (4 processing time units) execution in this example to primary storage portion 10 at this processing.
Therefore, compared with the situation of only carrying out this common processing, cache memory 12 these data of reception, the timing that these data are registered in the cache memory 12 can shift to an earlier date, thereby can shorten the processing time of having taken place under the TLB failure scenarios.
Then, carrying out primary storage visit (with reference to the step S30 of Fig. 4 and the t32 of Fig. 5) according to the request of OS afterwards, when cache memory 12 receives data on the address that physical address represents, this physical address and these data to being registered in the cache memory 12 as the speed buffering project (with reference to the t35 of Fig. 5; Preserve step), begin once more to carry out memory access (with reference to the step S31 of Fig. 4) according to the virtual address that has taken place after the TLB failure.That is, turn back to the step S10 of Fig. 4.
Herein, VA comparer 14 uses the virtual address that the TLB failure has taken place, and the 3rd time to TLB13 execution retrieval (with reference to the step S11 of Fig. 4 and the t36 of Fig. 5).
Then, utilize TLB hit that result after (with reference to the branch that denys of the step S12 of Fig. 4 and the t37 of Fig. 5) obtains, with this virtual address physical address corresponding, PA comparer 18 is retrieved the data (with reference to the step S28 of Fig. 4 and the t38 of Fig. 5) that this physical address is represented once more from cache memory 12.
This physical address and these data to (promptly at above-mentioned steps S30, t35 with reference to Fig. 5) is registered in the cache memory 12 in as the speed buffering project, therefore, in this retrieval of being undertaken by PA comparer 18, this physical address and data to be hit (is the t39 of branch and Fig. 5 with reference to the step S29 of Fig. 4) as the speed buffering project.
Then, send to order operational part 3, finish this memory access and handle (with reference to the step S32 of Fig. 4 and the t40 of Fig. 5) by these data that will retrieve.
Like this, according to as the signal conditioning package 1 of the 1st embodiment of the present invention and the control method of looking ahead, VA comparer 14 is when generating the TSB virtual address by TSB-VA generating unit 15, use this TSB virtual address from TLB 13, to retrieve TSB address project (the 2nd searching step), when retrieving the TSB physical address corresponding with this TSB virtual address by this VA comparer 14, the 1st control part of looking ahead uses this TSB physical address retrieve, with taken place the TLB failure virtual address address translation to from the TSB zone 11 of primary storage portion 10 to cache memory 12 look ahead (the 1st look ahead controlled step), therefore, in the common processing that failure is carried out at TLB of this signal conditioning package 1, carrying out the primary storage visit so that obtain this address translation to before, the 1st control part 22 of looking ahead is carried out primary storage visit in advance, making cache memory 12 receive the right timing of this address translation becomes early, its result can significantly shorten processing time of the memory access that the TLB failure has taken place.
In addition, begin the registration (register step among this address translation subtend TLB 13 in register 20; The 1st address project register step) time, the 2nd looks ahead control part 23 according to this physical address, with be kept at data in the represented address of the right physical address of this address translation from primary storage portion 10 to cache memory 12 look ahead (the 2nd look ahead controlled step), therefore, in the common processing that failure is carried out at TLB of this signal conditioning package 1, carrying out the primary storage visit so that obtain before these data, the 2nd control part 23 of looking ahead is carried out primary storage visit in advance, the timing that makes these data arrive cache memory 12 becomes early, its result can shorten processing time of the memory access that the TLB failure has taken place.
[2] about the 2nd embodiment of the present invention
Then, the signal conditioning package as the 2nd embodiment of the present invention is described.As shown in Figure 1, as the identical structure of the signal conditioning package 1 of the signal conditioning package 1 of the 2nd embodiment of the present invention ' have and above-mentioned the 1st embodiment shown in Figure 1, but signal conditioning package 1 with respect to the 1st embodiment, VA comparer 14, TSB-VA generating unit 15, PA generating unit 17, PA comparer 18, cache memory control part 19, register 20, and the control part 21 of looking ahead constitutes: under the situation that the TLB failure has taken place, before OS report MMU-MISS-TRAP, according to the expression that is generated TLB failure signal (below, be called the TLB failure signal) having taken place carries out this MMU-MISS-TRAP and handles; And constitute:, in turn carry out processing (memory access processing) at serial command by streamline control.
Thereby, as shown in Figure 6, this signal conditioning package 1 ' in, VA comparer 14 is retrieved according to the TLB failure signal that takes place to be generated when TLB fails, the 1st looks ahead control part 22 retrieving the TSB physical address corresponding with the TSB virtual address that is set in the register 16 from TLB 13 by VA comparer 14 when, carries out prefetch process according to this TLB failure signal.
Herein, about the control method of looking ahead, with reference to process flow diagram shown in Figure 7 (step S10, S11, S12 ', S13~S32) describe as the 2nd embodiment of the present invention.And in Fig. 7, the symbol identical with the symbol of having described represented identical step or essentially identical step.
As shown in Figure 7, originally the control method of looking ahead is with respect to the control method of looking ahead of above-mentioned the 1st embodiment shown in Figure 4, the step (step S12) that MMU-MISS-TRAP is reported to OS in the control method of looking ahead of the 1st embodiment becomes this point of step (step S12 ') that sends the TLB failure signal, and other are identical.
Promptly, under the situation that begins to take place the TLB failure (step S12 ' be branch), when generating by TSB-VA generating unit 15 and the virtual address that the TLB failure has taken place one to one during the TSB virtual address, VA comparer 14 uses this TSB virtual address retrieval TLB 13 (step S13), the 1st look ahead control part 22 uses the TSB physical address that hits (step S14), looks ahead in the address translation subtend cache memory 12 with this virtual address.
On the other hand, after OS report MM-MISS-TRAP, identical at order operational part 3 after this TLB failure (step S12 ' be branch) has taken place with the control method of looking ahead of above-mentioned the 1st embodiment, the processing of execution in step S16~S27.
Thereby,, can obtain and the same action effect of above-mentioned the 1st embodiment according to this signal conditioning package 1 ' and the control method of looking ahead originally.
In addition, this signal conditioning package 1 ' as mentioned above, VA comparer 14, TSB-VA generating unit 15, PA generating unit 17, PA comparer 18, cache memory control part 19, register 20 and the control part 21 of looking ahead are carried out streamline control, about this signal conditioning package 1 ' streamline action (promptly, by this signal conditioning package 1 ' carry out, handle at the memory access of 2 continuous orders), with reference to time diagram (t1~t71) describe shown in Figure 8.And in Fig. 8, the contents processing for identical with the contents processing of having described omits its detailed description herein.In addition, the t1~t71 among Fig. 8 represent respectively this signal conditioning package 1 ' the processing unit interval.
As shown in Figure 8, this signal conditioning package 1 ' when being transfused to 2 orders continuously in order operational part 3, at first, VA comparer 14 uses the virtual address retrieval TLB 13 (with reference to t1) of the process object of front.Herein, under the situation that the TLB failure has taken place (with reference to t2), be performed in turn (with reference to t3~t8) by the processing that control part 22 (PA comparer 18 and cache memory control part 19) carries out of looking ahead of TSB-VA generating unit 15, VA comparer 14 and the 1st.And it is identical with respectively handling of t3~t8 shown in Figure 5 that each of this t3~t8 handled.
At this moment, this signal conditioning package 1 ' in, VA comparer 14 is carried out the retrieval (with reference to t2) of the TLB 13 that uses follow-up virtual address when the virtual address of face is finished retrieval (with reference to t1) before use.
Then, about follow-up virtual address, under the situation that the TLB failure has taken place, finish processing by TSB-VA generating unit 15, VA comparer 14 and the 1st control part 22 of looking ahead to the virtual address of front, (promptly simultaneously, in next handles unit interval), carry out processing (with reference to t4~t9) at follow-up virtual address.
Thereby, in example shown in Figure 8, by the processing that control part 22 carries out respectively of looking ahead of TSB-VA generating unit 15, VA comparer 14 and the 1st at follow-up virtual address, with respect to the processing to the front virtual address is that the 1t (1 handle unit interval) that staggers carries out, and in turn carries out at the processing of front virtual address with at the processing of follow-up virtual address.
For follow-up virtual address, usually, Timing Processing at t29 is performed, according to what carry out from the request of OS, the generation corresponding with the TSB physical address address translation of virtual address of TLB failure to taking-up (primary storage visit) from TSB zone 11, timing at t44 is performed, but this signal conditioning package 1 ' in, as mentioned above, carry out the primary storage visit owing to can advance to the timing of t9, therefore, compared with only carrying out a situation about handling usually, can make timing that data register to cache memory 12 more early, its result can shorten continuous memory access and processing time under the situation of TLB failure has taken place.
And, in Fig. 8, enumerated at the common processing of follow-up virtual address (with reference among the t29~t71), the result (with reference to t42) who uses the TSB physical address to retrieve by PA comparer 18 is the situation of cache memory failure (with reference to t43), but as mentioned above, owing to carried out the primary storage visit in the timing of t9, therefore, the situation of cache-hit arranged also sometimes herein.In the case, can further shorten the processing time that memory access is handled.
In addition, having enumerated 2 continuous situations of order herein is that example is illustrated, but under the continuous situation of the order more than 3, the prefetch process of being undertaken by the control part 21 of looking ahead in this command process, be performed in the stage more Zao than common processing, thus, subsequent commands, the effect that the processing time of prefetch process shortens is high more.
And, in Fig. 8,, identical with the processing among t1~t40 of above-mentioned Fig. 4 at the processing among the t1~t40 of front virtual address (VA of the front " visit " among the figure and " the TSB-VA visit of front ").In addition, have only the virtual address difference of process object at the processing among the t29~t71 of follow-up virtual address (" follow-up VA visit " among the figure and " follow-up TSB-VA visit "), its contents processing is with identical at the processing among the t1~t40 of front virtual address.
Like this, according to as the signal conditioning package 1 of the 2nd embodiment of the present invention ', VA comparer 14, TSB-VA generating unit 15, PA generating unit 17, PA comparer 18, cache memory control part 19, register 20, and the control part 21 of looking ahead, move according to the TLB failure signal that before OS report MMU-MISS-TRAP, generates, and, owing to carry out streamline control, therefore, even in serial command, all taken place under the situation of TLB failure, do not wait for yet and finishing dealing with, handle and can carry out this memory access at the memory access of front order, and in turn carry out at the memory access of subsequent commands and handle.The prefetch process of being undertaken by the control part 21 of looking ahead at subsequent commands can significantly be carried out in advance, can data (address translation to or the data corresponding with physical address) be saved in the cache memory 12 in very early stage.Thereby, in continuous memory access, even under the situation that the TLB failure has taken place, also can shorten this processing time.
[3] other
And the present invention is not limited in above-mentioned embodiment, in the scope that does not break away from purport of the present invention, can carry out all distortion and the enforcement of combination back.
And, in the present invention, be not limited in the processing unit interval in the time diagram of above-mentioned Fig. 5, Fig. 8.That is, each shown in the time diagram of Fig. 5, Fig. 8 handled the processing time (length in the processing time that each is handled) be performed and do not limited in the present invention.
As described in detail above, signal conditioning package of the present invention is characterised in that to have: order operational part, its fill order; Primary storage portion, it has address translation with showing, this address translation is preserved and the relevant data of carrying out by this order operational part of order with table, and it is right to preserve the 1st address translation, and the 1st address translation is to being that the address translation of the 1st physical address of the expression address of preserving these data and 1st virtual address corresponding with the 1st physical address is right; Cache memory, its intervention are installed between mentioned order operational part and the above-mentioned primary storage portion, are used for preserving data temporarily; The address translation impact damper, it is right that it preserves the 2nd address translation, it is right to preserve simultaneously the 1st address translation, and the 2nd address translation is to being that to be illustrated in above-mentioned address translation right with the address translation of the 2nd physical address of preserving the right address of the 1st address translation in the table and 2nd virtual address corresponding with the 2nd physical address; The 1st search part, it is right with 1st address translation relevant with the 1st virtual address of process object of retrieval the impact damper from above-mentioned address translation; The 1st generating unit, the result who retrieves by the 1st search part be 1st address translation relevant with the 1st virtual address of above-mentioned process object to be not stored in above-mentioned address translation with the situation in the impact damper under, according to the 1st virtual address, generate 2nd virtual address corresponding with the 1st virtual address; The 2nd search part, it is right with 2nd address translation relevant with above-mentioned the 2nd virtual address that is generated of retrieval the impact damper from above-mentioned address translation when generating above-mentioned the 2nd virtual address by the 1st generating unit; The 1st control part of looking ahead, it is when retrieving 2nd physical address corresponding with above-mentioned the 2nd virtual address by the 2nd search part, the 2nd physical address that utilization retrieves, 1st address translation relevant with the 1st virtual address of above-mentioned process object is right, be prefetched to the above-mentioned cache memory with table from the above-mentioned address translation of above-mentioned primary storage portion.
And, optimal way is, above-mentioned the 1st search part, above-mentioned the 1st generating unit, above-mentioned the 2nd search part and the above-mentioned the 1st control part of looking ahead is carried out streamline control, and above-mentioned the 1st search part, above-mentioned the 1st generating unit, above-mentioned the 2nd search part and the above-mentioned the 1st control part of looking ahead is carried out processing at serial command concurrently.
And optimal way is, above-mentioned signal conditioning package also has cache retrieval portion, and it retrieves right right of above-mentioned the 2nd physical address and above-mentioned the 1st address translation from above-mentioned cache memory.The above-mentioned the 1st control part of looking ahead makes above-mentioned cache retrieval portion retrieve the 2nd physical address according to above-mentioned the 2nd physical address from above-mentioned cache memory and is kept at right right of the 1st address translation in the address that the 2nd physical address represents.The result by the retrieval of above-mentioned cache retrieval portion be the 2nd physical address and the 1st address translation right to not being stored under the situation in the above-mentioned cache memory, right from above-mentioned address translation with reading the 1st address translation the table, with the 2nd physical address and the 1st address translation right to being kept in the above-mentioned cache memory.
And, optimal way is, above-mentioned signal conditioning package constitutes also to have: register, and it will be kept at the 1st address translation in the above-mentioned cache memory, relevant with the 1st virtual address of above-mentioned process object to registering to above-mentioned address translation with in the impact damper; The 2nd control part of looking ahead, it is when this register begins the above-mentioned address translation of above-mentioned the 1st address translation subtend registered in impact damper, 1st physical address right according to the 1st address translation is prefetched to the data that are kept in the address that the 1st physical address represents the above-mentioned cache memory from above-mentioned primary storage portion.
And, optimal way is, above-mentioned signal conditioning package also has the 2nd generating unit, it is according to the 2nd virtual address and the 2nd physical address, generation is at the final physical address of the 2nd virtual address, and the above-mentioned the 1st control part of looking ahead uses the final physical address that is generated by above-mentioned the 2nd generating unit to carry out above-mentioned looking ahead.
In addition, signal conditioning package of the present invention is characterised in that to have: order operational part, its fill order; Primary storage portion, it has address translation with showing, this address translation is preserved and the relevant data of carrying out by this order operational part of order with table, and it is right to preserve the 1st address translation, and the 1st address translation is to being that the address translation of the 1st physical address of the expression address of preserving these data and 1st virtual address corresponding with the 1st physical address is right; Cache memory, its intervention are installed between mentioned order operational part and the above-mentioned primary storage portion, are used for preserving data temporarily; The address translation impact damper, it is right that it preserves the 2nd address translation, and it is right to preserve the 1st address translation, and the 2nd address translation is to being that to be illustrated in above-mentioned address translation right with the address translation of the 2nd physical address of preserving the right address of the 1st address translation in the table and 2nd virtual address corresponding with the 2nd physical address; Search part, it is right with 1st address translation relevant with the 1st virtual address of process object of retrieval the impact damper from above-mentioned address translation; The 1st address translation is to register, its the result by the retrieval of this search part be 1st address translation relevant with the 1st virtual address of above-mentioned process object to be not kept at above-mentioned address translation with the situation in the impact damper under, right according to 2nd address translation corresponding with the 1st virtual address, 1st address translation relevant with the 1st virtual address used in the impact damper registering to above-mentioned address translation; The data pre-fetching control part, it is when the 1st address translation begins register the above-mentioned address translation of above-mentioned the 1st address translation subtend registered in impact damper, 1st physical address right according to the 1st address translation is prefetched to the data that are kept in the address that the 1st physical address represents the above-mentioned cache memory from above-mentioned primary storage portion.
In addition, optimal way is, above-mentioned signal conditioning package also has cache retrieval portion, and it retrieves the right of above-mentioned the 1st physical address and above-mentioned data from above-mentioned cache memory.Above-mentioned data pre-fetching control part is according to above-mentioned the 1st physical address, retrieval the 1st physical address and be kept at the right of above-mentioned data in the address that the 1st physical address represents from above-mentioned cache memory, the result by the retrieval of above-mentioned cache retrieval portion be the 1st physical address and these data to not being stored under the situation in the above-mentioned cache memory, read this data, with the 1st physical address and these data to being saved in the above-mentioned cache memory.
In addition, optimal way is, above-mentioned signal conditioning package also has generating unit, and it is according to the 1st virtual address and the 1st physical address, generates final physical address that should the 1st virtual address.Above-mentioned data pre-fetching control part uses the final physical address that is generated by above-mentioned generating unit to carry out above-mentioned looking ahead.
In addition, the control method of looking ahead of the present invention is in signal conditioning package, and to being prefetched to the method in the above-mentioned address translation usefulness impact damper, this signal conditioning package has: order operational part, its fill order with the 1st address translation; Primary storage portion, it has address translation with showing, this address translation is preserved and the relevant data of carrying out by this order operational part of order with table, and it is right to preserve the 1st address translation, and the 1st address translation is to being that the address translation of the 1st physical address of the expression address of preserving these data and 1st virtual address corresponding with the 1st physical address is right; Cache memory, its intervention are installed between mentioned order operational part and the above-mentioned primary storage portion, are used for preserving data temporarily; The address translation impact damper, it is right that it preserves the 2nd address translation, and it is right to preserve the 1st address translation, the 2nd address translation is to being that to be illustrated in above-mentioned address translation right with the address translation of the 2nd physical address of preserving the right address of the 1st address translation in the table and 2nd virtual address corresponding with the 2nd physical address, this control method of looking ahead is characterised in that to have following steps: the 1st searching step, in this step, right with 1st address translation relevant of retrieval the impact damper with the 1st virtual address of process object from above-mentioned address translation; The 1st generates step, in this step, result for retrieval in the 1st searching step is that 1st address translation relevant with the 1st virtual address of above-mentioned process object be not to being stored in above-mentioned address translation with under the situation in the impact damper, according to the 1st virtual address, generate 2nd virtual address corresponding with the 1st virtual address; The 2nd searching step, in this step,, right with 2nd address translation relevant of retrieval the impact damper with above-mentioned the 2nd virtual address that is generated from above-mentioned address translation with above-mentioned the 2nd virtual address while of generation in the 1st generation step; The 1st controlled step of looking ahead, in this step, with in the 2nd searching step, retrieve with corresponding the 2nd physical address of above-mentioned the 2nd virtual address simultaneously, the 2nd physical address that use retrieves, 1st address translation relevant with the 1st virtual address of above-mentioned process object is right, be prefetched to the above-mentioned cache memory with table from the above-mentioned address translation of above-mentioned primary storage portion.
And optimal way is, makes above-mentioned the 1st searching step, the above-mentioned the 1st generate step, above-mentioned the 2nd searching step and the above-mentioned the 1st controlled step of looking ahead, and by streamline control, carries out serial command side by side.
In addition, optimal way is, the above-mentioned the 1st controlled step of looking ahead includes: the cache retrieval step, in this step, according to above-mentioned the 2nd physical address, retrieval the 2nd physical address and be kept at right right of the 1st address translation in the address that the 2nd physical address represents from above-mentioned cache memory; Preserve step, in this step, result for retrieval in above-mentioned cache retrieval step be the 2nd physical address and the 1st address translation right to not being stored under the situation in the above-mentioned cache memory, right from above-mentioned address translation with reading the 1st address translation the table, make the 2nd physical address and the 1st address translation right to being saved in the above-mentioned cache memory.
In addition, optimal way is, also comprises: register step in this step, will be kept at the 1st address translation in the above-mentioned cache memory, relevant with the 1st virtual address of above-mentioned process object to registering to above-mentioned address translation with in the impact damper; The 2nd controlled step of looking ahead, in this step, with in this register step, begin with above-mentioned the 1st address translation to register to the right above-mentioned address translation of above-mentioned the 1st address translation with in the impact damper simultaneously, 1st physical address right according to the 1st address translation is prefetched to the data that are kept in the address that the 1st physical address represents the above-mentioned cache memory from above-mentioned primary storage portion.
And optimal way is, also comprises the 2nd and generates step, in this step, according to the 2nd virtual address and the 2nd physical address, generates final physical address that should the 2nd virtual address; The above-mentioned the 1st controlled step utilization of looking ahead generates the final physical address that generates in the step the above-mentioned the 2nd, carries out above-mentioned looking ahead.
In addition, the control method of looking ahead of the present invention is in signal conditioning package, and with the method for the data pre-fetching relevant with mentioned order in the above-mentioned cache memory, this signal conditioning package has: order operational part, its fill order; Primary storage portion, it has address translation with showing, this address translation is preserved and the relevant data of carrying out by this order operational part of order with table, and it is right to preserve the 1st address translation, and the 1st address translation is to being that the address translation of the 1st physical address of the expression address of preserving these data and 1st virtual address corresponding with the 1st physical address is right; Cache memory, its intervention are installed between mentioned order operational part and the above-mentioned primary storage portion, are used for preserving data temporarily; The address translation impact damper, it is right that it preserves the 2nd address translation, and it is right to preserve the 1st address translation, the 2nd address translation is to being that to be illustrated in above-mentioned address translation right with the address translation of the 2nd physical address of preserving the right address of the 1st address translation in the table and 2nd virtual address corresponding with the 2nd physical address, this control method of looking ahead is characterised in that to have following steps: searching step, in this step, right with 1st address translation relevant of retrieval the impact damper with the 1st virtual address of process object from above-mentioned address translation; The 1st address translation is to register step, in this step, the result for retrieval of this searching step be 1st address translation relevant with the 1st virtual address of above-mentioned process object to be not stored in above-mentioned address translation with the situation in the impact damper under, right according to 2nd address translation corresponding with the 1st virtual address, 1st address translation relevant with the 1st virtual address used in the impact damper registering to above-mentioned address translation; The data pre-fetching controlled step, in this step, with begin in the 1st address translation register step with above-mentioned the 1st address translation to register to above-mentioned address translation with in the impact damper simultaneously, 1st physical address right according to the 1st address translation, with the data that are kept in the address that the 1st physical address represents, from above-mentioned primary storage portion, be prefetched in the above-mentioned cache memory.
And, optimal way is, above-mentioned data pre-fetching controlled step has: the cache retrieval step, in this step, according to above-mentioned the 1st physical address, retrieval the 1st physical address and be kept at the right of above-mentioned data in the address that the 1st physical address represents from above-mentioned cache memory; Preserve step, in this step, result for retrieval in above-mentioned cache retrieval step be the 1st physical address and these data to not being stored under the situation in the above-mentioned cache memory, read this data, with the 1st physical address and these data to being saved in the above-mentioned cache memory.
In addition, optimal way is, also includes the generation step, in this step, according to the 1st virtual address and the 1st physical address, generates final physical address that should the 1st virtual address; Above-mentioned data pre-fetching controlled step uses the final physical address that generates in above-mentioned generation step to carry out above-mentioned looking ahead.

Claims (10)

1. an arithmetic processing apparatus is characterized in that,
This arithmetic processing apparatus is connected to storage unit, and to being preserved with table as address translation, the 1st address translation is to being preserve the 1st physical address of data and 1st virtual address corresponding with described the 1st physical address right with the 1st address translation for this storage unit,
Described arithmetic processing apparatus has:
Cache storage unit;
The address translation buffer cell, it is right that it preserves the 2nd address translation, and it is right to preserve described the 1st address translation, the 2nd address translation is to being the right of the 2nd physical address and 2nd virtual address corresponding with the 2nd physical address, and described the 2nd physical address is illustrated in and preserves the right address of described the 1st address translation in the described storage unit;
The 1st search part, it uses described the 1st virtual address, carries out the retrieval of described the 1st physical address from described address translation buffer cell;
The 2nd search part, its use and described the 1st virtual address be the 2nd virtual address one to one, carries out the retrieval of described the 2nd physical address from described address translation buffer cell; And
The control part of looking ahead, it uses the 2nd physical address as described result for retrieval, and described 1st address translation relevant with described the 1st virtual address is right, registers to described cache storage unit with showing from described address translation.
2. arithmetic processing apparatus according to claim 1 is characterized in that,
Described arithmetic processing apparatus also has the virtual address generating unit,
To not being stored under the situation in the described address translation buffer cell, carry out generation with described one to one the 2nd virtual address of described the 1st virtual address in the 1st address translation corresponding by described virtual address generating unit with described the 1st virtual address.
3. arithmetic processing apparatus according to claim 2 is characterized in that,
Described the 1st search part, described virtual address generating unit, described the 2nd search part and the described control part of looking ahead are carried out streamline control,
Described the 1st search part, described virtual address generating unit, described the 2nd search part and the described control part of looking ahead are in turn carried out the processing to serial command.
4. arithmetic processing apparatus according to claim 1 is characterized in that,
The described control part of looking ahead has:
The 1st control part of looking ahead, it uses described the 2nd physical address right with described the 1st address translation of retrieval the table from described address translation, and described the 2nd physical address and the right group of described the 1st address translation that retrieves are registered in described cache storage unit; And
The 2nd control part of looking ahead, it begins to register under the right situation of described the 1st address translation at described address translation buffer cell, according to the 1st physical address that is included in described the 1st address translation centering, the data that are kept in described the 1st physical address are registered to described cache storage unit from described storage unit.
5. a signal conditioning package is characterized in that,
This signal conditioning package has:
Storage unit, to being preserved with table as address translation, the 1st address translation is to being preserve the 1st physical address of data and 1st virtual address corresponding with described the 1st physical address right with the 1st address translation for it;
Cache storage unit;
The address translation buffer cell, it is right that it preserves the 2nd address translation, and it is right to preserve described the 1st address translation, the 2nd address translation is to being the right of the 2nd physical address and 2nd virtual address corresponding with the 2nd physical address, and described the 2nd physical address is illustrated in and preserves the right address of described the 1st address translation in the described storage unit;
The 1st search part, it uses described the 1st virtual address, carries out the retrieval of described the 1st physical address from described address translation buffer cell;
The 2nd search part, its use and described the 1st virtual address be the 2nd virtual address one to one, carries out the retrieval of described the 2nd physical address from described address translation buffer cell; And
The control part of looking ahead, it uses the 2nd physical address as described result for retrieval, and described 1st address translation relevant with described the 1st virtual address is right, registers to described cache storage unit with showing from described address translation.
6. signal conditioning package according to claim 5 is characterized in that,
Described signal conditioning package also has the virtual address generating unit,
When 1st address translation corresponding with described the 1st virtual address to not being stored under the situation in the described address translation buffer cell, carry out generation with described one to one the 2nd virtual address of described the 1st virtual address by described virtual address generating unit.
7. signal conditioning package according to claim 6 is characterized in that,
Described the 1st search part, described virtual address generating unit, described the 2nd search part and the described control part of looking ahead are carried out streamline control,
Described the 1st search part, described virtual address generating unit, described the 2nd search part and the described control part of looking ahead are in turn carried out the processing to serial command.
8. signal conditioning package according to claim 5 is characterized in that,
The described control part of looking ahead has:
The 1st control part of looking ahead, it uses described the 2nd physical address right with described the 1st address translation of retrieval the table from described address translation, and described the 2nd physical address and the right group of described the 1st address translation that retrieves are registered in described cache storage unit; And
The 2nd control part of looking ahead, it begins to register under the right situation of described the 1st address translation at described address translation buffer cell, according to the 1st physical address that is included in described the 1st address translation centering, the data that are kept in described the 1st physical address are registered to described cache storage unit from described storage unit.
9. the memory access method of an arithmetic processing apparatus is characterized in that, this method has following steps:
To being kept at step in the storage unit as address translation with table, the 1st address translation is to being preserve the 1st physical address of data and 1st virtual address corresponding with described the 1st physical address right with the 1st address translation;
Preserve the 2nd address translation to and preserve the right step of described the 1st address translation, the 2nd address translation is to being the right of the 2nd physical address and 2nd virtual address corresponding with the 2nd physical address, and described the 2nd physical address represents to preserve the right address of described the 1st address translation;
Use described the 1st virtual address, the step of from described address translation buffer cell, carrying out the retrieval of described the 1st physical address;
Use and described the 1st virtual address be the 2nd virtual address one to one, the step of carrying out the retrieval of described the 2nd physical address from described address translation buffer cell; And
Use is as the 2nd physical address of described result for retrieval, with the step of described 1st address translation relevant with described the 1st virtual address to registering to cache storage unit with table from described address translation.
10. the memory access method of arithmetic processing apparatus according to claim 9 is characterized in that,
The memory access method of described arithmetic processing apparatus also has following steps in preserving the right step of described the 1st address translation:
According to the 1st physical address that is included in described the 1st address translation centering, the step that the data that are kept in described the 1st physical address are registered to described cache storage unit from described storage unit.
CN2006800409411A 2005-10-31 2006-01-20 Arithmetic processing apparatus, information processing apparatus, and method for accessing memory of the arithmetic processing apparatus Expired - Fee Related CN101300555B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005317723A JP4160589B2 (en) 2005-10-31 2005-10-31 Arithmetic processing device, information processing device, and memory access method for arithmetic processing device
JP317723/2005 2005-10-31
PCT/JP2006/300797 WO2007052369A1 (en) 2005-10-31 2006-01-20 Arithmetic processing apparatus, information processing apparatus, and method for accessing memory of the arithmetic processing apparatus

Publications (2)

Publication Number Publication Date
CN101300555A true CN101300555A (en) 2008-11-05
CN101300555B CN101300555B (en) 2010-12-29

Family

ID=38005532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800409411A Expired - Fee Related CN101300555B (en) 2005-10-31 2006-01-20 Arithmetic processing apparatus, information processing apparatus, and method for accessing memory of the arithmetic processing apparatus

Country Status (6)

Country Link
US (1) US7797494B2 (en)
EP (1) EP1944696B1 (en)
JP (1) JP4160589B2 (en)
KR (1) KR101006093B1 (en)
CN (1) CN101300555B (en)
WO (1) WO2007052369A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133780A (en) * 2013-05-02 2014-11-05 华为技术有限公司 Cross-page prefetching method, device and system
CN102687128B (en) * 2009-12-25 2014-12-10 富士通株式会社 Computational processing device
CN106663061A (en) * 2014-08-18 2017-05-10 赛灵思公司 Virtualization of memory for programmable logic
CN110851372A (en) * 2018-08-20 2020-02-28 慧荣科技股份有限公司 Storage device and cache addressing method

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4608011B2 (en) * 2007-06-19 2011-01-05 富士通株式会社 Arithmetic processing apparatus and arithmetic processing method
US8195881B2 (en) * 2008-02-26 2012-06-05 International Business Machines Corporation System, method and processor for accessing data after a translation lookaside buffer miss
KR101537614B1 (en) 2008-08-11 2015-07-22 엘지전자 주식회사 Method of signaling control information in wireless communication system with multiple frequency blocks
JP2010170266A (en) * 2009-01-21 2010-08-05 Toshiba Corp Semiconductor integrated circuit and address translation method
US9418011B2 (en) * 2010-06-23 2016-08-16 Intel Corporation Region based technique for accurately predicting memory accesses
US9152566B2 (en) * 2012-06-15 2015-10-06 International Business Machines Corporation Prefetch address translation using prefetch buffer based on availability of address translation logic
CN102722451B (en) * 2012-06-25 2015-04-15 杭州中天微系统有限公司 Device for accessing cache by predicting physical address
KR101667772B1 (en) 2012-08-18 2016-10-19 퀄컴 테크놀로지스, 인크. Translation look-aside buffer with prefetching
US9645934B2 (en) 2013-09-13 2017-05-09 Samsung Electronics Co., Ltd. System-on-chip and address translation method thereof using a translation lookaside buffer and a prefetch buffer
US11822474B2 (en) 2013-10-21 2023-11-21 Flc Global, Ltd Storage system and method for accessing same
KR102432754B1 (en) * 2013-10-21 2022-08-16 에프엘씨 글로벌 리미티드 Final level cache system and corresponding method
US9559722B1 (en) 2013-10-21 2017-01-31 Marvell International Ltd. Network devices and methods of generating low-density parity-check codes and performing corresponding encoding of data
US10097204B1 (en) 2014-04-21 2018-10-09 Marvell International Ltd. Low-density parity-check codes for WiFi networks
US9454991B2 (en) 2013-10-21 2016-09-27 Marvell World Trade Ltd. Caching systems and methods for hard disk drives and hybrid drives
WO2015168609A1 (en) 2014-05-02 2015-11-05 Marvell World Trade Ltd. Caching systems and methods for hard disk drives and hybrid drives
US20170161194A1 (en) * 2015-12-02 2017-06-08 Advanced Micro Devices, Inc. Page-based prefetching triggered by tlb activity
WO2019246139A1 (en) 2018-06-18 2019-12-26 Flc Technology Group Inc. Method and apparatus for using a storage system as main memory
CN110851073B (en) 2018-08-20 2023-06-02 慧荣科技股份有限公司 Storage device and execution method of macro instruction

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62148216A (en) 1985-12-23 1987-07-02 Utsumi Koki Kk Method and apparatus for casting
JPS62151958A (en) 1985-12-25 1987-07-06 Matsushita Electric Ind Co Ltd Virtual address conversion device
JPH02178750A (en) 1988-12-28 1990-07-11 Koufu Nippon Denki Kk Address conversion processing system
US5222223A (en) * 1989-02-03 1993-06-22 Digital Equipment Corporation Method and apparatus for ordering and queueing multiple memory requests
JP2501353B2 (en) 1989-04-27 1996-05-29 富士通株式会社 Prefetch control method
JPH0336647A (en) * 1989-07-03 1991-02-18 Fujitsu Ltd Cache buffering control system
JPH04190440A (en) * 1990-11-26 1992-07-08 Hitachi Ltd Address conversion control system
US5603008A (en) * 1992-09-30 1997-02-11 Amdahl Corporation Computer system having cache memories with independently validated keys in the TLB
US5479627A (en) 1993-09-08 1995-12-26 Sun Microsystems, Inc. Virtual address to physical address translation cache that supports multiple page sizes
US6490658B1 (en) * 1997-06-23 2002-12-03 Sun Microsystems, Inc. Data prefetch technique using prefetch cache, micro-TLB, and history file
US6138212A (en) * 1997-06-25 2000-10-24 Sun Microsystems, Inc. Apparatus and method for generating a stride used to derive a prefetch address
US6098154A (en) * 1997-06-25 2000-08-01 Sun Microsystems, Inc. Apparatus and method for generating a stride used to derive a prefetch address
US6317810B1 (en) * 1997-06-25 2001-11-13 Sun Microsystems, Inc. Microprocessor having a prefetch cache
US5948095A (en) * 1997-12-31 1999-09-07 Intel Corporation Method and apparatus for prefetching data in a computer system
JP2000112821A (en) 1998-10-07 2000-04-21 Hitachi Ltd Information processor having multiplex address converting mechanism
US6628294B1 (en) 1999-12-31 2003-09-30 Intel Corporation Prefetching of virtual-to-physical address translation for display data
EP1139222A1 (en) * 2000-03-31 2001-10-04 Texas Instruments Incorporated Prefetch for TLB cache
JP4190440B2 (en) 2004-02-17 2008-12-03 本田技研工業株式会社 Valve operating device for internal combustion engine
US7305526B2 (en) * 2004-11-05 2007-12-04 International Business Machines Corporation Method, system, and program for transferring data directed to virtual memory addresses to a device memory

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102687128B (en) * 2009-12-25 2014-12-10 富士通株式会社 Computational processing device
CN104133780A (en) * 2013-05-02 2014-11-05 华为技术有限公司 Cross-page prefetching method, device and system
WO2014176981A1 (en) * 2013-05-02 2014-11-06 华为技术有限公司 Cross-page prefetching method, device and system
CN104133780B (en) * 2013-05-02 2017-04-05 华为技术有限公司 A kind of cross-page forecasting method, apparatus and system
US9858192B2 (en) 2013-05-02 2018-01-02 Huawei Technologies Co., Ltd. Cross-page prefetching method, apparatus, and system
CN106663061A (en) * 2014-08-18 2017-05-10 赛灵思公司 Virtualization of memory for programmable logic
CN110851372A (en) * 2018-08-20 2020-02-28 慧荣科技股份有限公司 Storage device and cache addressing method
CN110851372B (en) * 2018-08-20 2023-10-31 慧荣科技股份有限公司 Storage device and cache area addressing method

Also Published As

Publication number Publication date
WO2007052369A1 (en) 2007-05-10
EP1944696A4 (en) 2009-06-03
EP1944696A1 (en) 2008-07-16
JP2007122667A (en) 2007-05-17
EP1944696B1 (en) 2014-03-05
KR20080063484A (en) 2008-07-04
US7797494B2 (en) 2010-09-14
CN101300555B (en) 2010-12-29
JP4160589B2 (en) 2008-10-01
KR101006093B1 (en) 2011-01-07
US20080294867A1 (en) 2008-11-27

Similar Documents

Publication Publication Date Title
CN101300555B (en) Arithmetic processing apparatus, information processing apparatus, and method for accessing memory of the arithmetic processing apparatus
US5577227A (en) Method for decreasing penalty resulting from a cache miss in multi-level cache system
EP0851357B1 (en) Method and apparatus for preloading different default address translation attributes
US7373478B2 (en) Information processing apparatus and software pre-fetch control method
US10083126B2 (en) Apparatus and method for avoiding conflicting entries in a storage structure
JPH06318177A (en) Method, device and computer system for reducing cache mistake penalty
US20060047912A1 (en) System and method for high performance, power efficient store buffer forwarding
WO2006065416A2 (en) Method and apparatus for address translation
US20070174553A1 (en) Efficient memory hierarchy management
KR20080095253A (en) Translation lookaside buffer manipulation
US20070283121A1 (en) Method and Apparatus for Handling Concurrent Address Translation Cache Misses and Hits Under Those Misses While Maintaining Command Order
US9678889B2 (en) Address translation in a data processing apparatus
CN108959125B (en) Storage access method and device supporting rapid data acquisition
US6044447A (en) Method and apparatus for communicating translation command information in a multithreaded environment
EP1361518B1 (en) Reducing TAG-RAM accesses and accelerating cache operation during cache miss
KR100710922B1 (en) Set-associative cache-management method using parallel reads and serial reads initiated while processor is waited
US6862670B2 (en) Tagged address stack and microprocessor using same
US7111127B2 (en) System for supporting unlimited consecutive data stores into a cache memory
US7543113B2 (en) Cache memory system and method capable of adaptively accommodating various memory line sizes
US8214597B2 (en) Cache tentative read buffer
US20080244153A1 (en) Cache systems, computer systems and operating methods thereof
US20050193172A1 (en) Method and apparatus for splitting a cache operation into multiple phases and multiple clock domains
JP2003044357A (en) Cache prefetch system
JP2001344152A (en) Cash memory device
JPH0798673A (en) Data processor having cache memory

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101229

Termination date: 20170120