CN105094953B - Data access method and device - Google Patents
Data access method and device Download PDFInfo
- Publication number
- CN105094953B CN105094953B CN201410197088.0A CN201410197088A CN105094953B CN 105094953 B CN105094953 B CN 105094953B CN 201410197088 A CN201410197088 A CN 201410197088A CN 105094953 B CN105094953 B CN 105094953B
- Authority
- CN
- China
- Prior art keywords
- request
- cache
- data
- hit requests
- data area
- 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.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
A kind of data access method of offer of the embodiment of the present invention and device, this method include:To the request that Tag in VA is sharing data area Tag, judge whether it is potential hit requests, if so, further judging whether the process has the access rights to sharing data area data, if having access rights, returns to the data of request access.During being somebody's turn to do, for shared region data, permission detection is only just carried out when request is potential hit requests, should be related to any address translation process in the process, and be realized efficient data access when the data sharing of different processes.In addition, during being somebody's turn to do, the access that access and shared region data for unshared area's data are directly hit according to data access result returned data or carries out missing processing and is sent to next stage Cache, any address translation process it is not related to wherein yet, data access efficiency is high.
Description
Technical field
The present embodiments relate to computer technology more particularly to a kind of data access methods and device.
Background technology
In existing computer system, utilize bypass conversion buffered (Translation Lookaside Buffer, TLB)
Virtual address (Virtual Address, VA) is translated as physical address (Physical Address, PA), using PA to slow
It deposits (cache) and memory accesses.Preserved in TLB at least one VA virtual page number (Virtual Page Number,
VPN) and the correspondence of the physical page number of PA (Physical Page Number, PPN), the correspondence are referred to as page table
, TLB searches PPN according to VPN and exports corresponding PPN so that it is determined that going out PA if finding PPN;Otherwise, TLB occurs to lack
It loses.It is general to be subtracted using full void cache (Virtually Indexed, Virtually Tagged Cache, V/V cache)
It is influenced caused by few TLB missings.V/V cache directly use VA to carry out cache set without carrying out actual situation address translation
With the comparison of cache tag.However, there are problems that synonym (Synonym), i.e., different VA may be directed toward in V/V cache
The problem of same PA so that same part data are likely to be present in multiple positions in cache.How to ensure that process is accessed
Newest data copy is particularly important in cache.
In the prior art, ensure that latest data is accessed in process by coarseness sharing mode.Specifically, patrolling process
It collects address space and is divided into several sections (Segment), each section is identified by SegNo.Operating system is by the logical address of process
Space is translated as global virtual address space, i.e., will<PID, SegNo>Global Segment ID are translated as, mapping is established and closes
System.For shared data, it is at the position of same offset in different Segment, after translation, is mapped to same
A Segment ID, the in this way shared data between difference processes just have same VA (same Segment ID, Segment
Offset, Page Offset), solve the appearance of synonym problem from source.
However, in above-mentioned coarseness sharing mode, it is still desirable to which primary address translation could carry out data access, access effect
Rate is low.
Invention content
A kind of data access method of offer of the embodiment of the present invention and device are high when realizing the data sharing of different processes
Correct data are accessed in effect.
The first aspect, the embodiment of the present invention provide a kind of data access method, including:
Judge whether request is potential hit requests, when the request is potential hit requests, the number of the request access
According to the sharing data area data in the virtual address space for the corresponding process of the request, and accessed caches
There is, label identical cache entry different from the process number of the request in device Cache;
If the request is potential hit requests, judge whether the process belonging to the request has to the shared number
According to the access rights of area's data;
If the process belonging to the request has the access rights, the data that the request accesses are returned.
In the possible realization method of in the first aspect the first, if the request is potential hit requests, judge
Before whether the process belonging to the request has to the access rights of the sharing data area data, further include:
If the request is potential hit requests, the guard bit information of the sharing data area data is searched;
If the request is potential hit requests, judge whether the request has to the sharing data area number
According to access rights, including:
If the request is potential hit requests, whether process belonging to the request is judged according to the guard bit information
With the access rights to the sharing data area data.
In conjunction with the first possible realization method of the first aspect, second of possible realization side in the first aspect
In formula, if the request is potential hit requests, before the guard bit information for searching the sharing data area data, packet
It includes:
If the request is potential hit requests, judge that shared region guard bit is searched in caching SPLB with the presence or absence of described
Guard bit information;
If the guard bit information is not present in the SPLB, obtains the guard bit information and be filled in the SPLB
In;
If the request is potential hit requests, the guard bit information of the sharing data area data is searched, is wrapped
It includes:
If the request is potential hit requests, the guard bit information is searched from the SPLB.
In conjunction with the first or second of possible realization method of the first aspect, the first aspect, in the first aspect
The third possible realization method in, it is described judge request whether be potential hit requests before, further include:
Judge whether the request is hit requests, exist when the request is hit requests, in the Cache with it is described
The process number of request is identical, the identical cache entry of label;
It is described to judge whether request is potential hit requests, including:
If it is hit requests to judge the request not, judge whether request is potential hit requests.
In conjunction with the third possible realization method of the first aspect, the 4th kind of possible realization side in the first aspect
In formula, this method further includes:
If judging, the request is not potential hit requests and the data for asking to access are corresponding for the request
When sharing data area data in the virtual address space of process, then the request is sent to except current searched Cache
Other cache, by other cache except currently searched Cache judge it is described request whether be hit requests;
If the request is hit requests, the data that the request accesses are returned;Otherwise, if the request is not hit
Request, then by other cache except currently searched Cache judge it is described ask whether potential hit requests.
In conjunction with the third possible realization method of the first aspect, the 5th kind of possible realization side in the first aspect
In formula, this method further includes:
If the request is not potential hit requests and the data for asking to access are the corresponding process of the request
When sharing data area data in virtual address space, then the guard bit information of the sharing data area data is searched;
Judge whether the request has the access rights to the sharing data area data according to the guard bit information;
If the request has the access rights, the request is sent to its except current searched Cache
He is cache, judges whether the request is hit requests by other cache except currently searched Cache;
If the request is hit requests, the data that the request accesses are returned;Otherwise, if the request is not hit
Request, then by other cache except currently searched Cache judge it is described ask whether potential hit requests.
In conjunction with the first aspect, the first aspect the first to any possible realization method in the 5th kind,
In 6th kind of possible realization method of one side, if the request is potential hit requests, whether the request is judged
Before the access rights to the sharing data area data, further include:
Judge whether the request comes from this earth's core;
If the request is potential hit requests, judge whether the request has to the sharing data area number
According to access rights, including:
If the request comes from this earth's core, judge whether the request has to the shared number by the described earth's core
According to the access rights of area's data;It otherwise, will be as the core where the request if the request comes from the core except this earth's core
Judge whether the request has the access rights to the sharing data area data.
In conjunction with the first aspect, the first aspect the first to any possible realization method in the 6th kind,
In 7th kind of possible realization method of one side, it is described judge request whether be potential hit requests before, further include:
Sharing data area is marked off from the corresponding virtual address space of the request, is stored in the sharing data area
The sharing data area data;
If the process where the request needs shared data, apply for virtual address space to the sharing data area.
In conjunction with the first aspect, the first aspect the first to any possible realization method in the 7th kind,
In 8th kind of possible realization method of one side, if the request has the access rights, returns to the request and visit
Before the data asked, further include:
By the process of the identical cache entries of label different from the process number of the process belonging to the request in the Cache
Number it is revised as the process number of the request.
The second aspect, the embodiment of the present invention provide a kind of data access device, including:
Potential hit requests judgment module, for judging whether request is potential hit requests, the request is potential life
When middle request, the data that the request accesses are the sharing data area number in the virtual address space for asking corresponding process
According to, and there is, label identical caching different from the process number of the request in accessed cache memory Cache
;
Access rights judgment module, if judging that the request is potential life for the potential hit requests judgment module
Middle request, then judge whether the process belonging to the request has the access rights to the sharing data area data;
Module is returned to, if judging that the process belonging to the request has the visit for the access rights judgment module
It asks permission, then returns to the data that the request accesses.
In the possible realization method of in the second aspect the first, which further includes:
Searching module, if being potential hit requests for the request, described in access rights judgment module judgement
Before whether the process belonging to request has to the access rights of the sharing data area data, the sharing data area number is searched
According to guard bit information;
The access rights judgment module, if being potential hit requests for the request, according to the searching module
The guard bit information found judges whether process belonging to the request has the access to the sharing data area data
Permission.
In conjunction with the first possible realization method of the second aspect, second of possible realization side in the second aspect
In formula, guard bit signal judgement module, if being potential hit requests for the request, described in searching module lookup
Before the guard bit information of sharing data area data, judges that shared region guard bit is searched in caching SPLB and whether there is the protection
Position information;
Acquisition module, if judging that the guard bit is not present in the SPLB for the guard bit signal judgement module
Information then obtains the guard bit information and is filled in the SPLB;
The searching module, if being potential hit requests specifically for the request, from the SPLB described in lookup
Guard bit information.
In conjunction with the first or second of possible realization method of the second aspect, the second aspect, in the second aspect
The third possible realization method in, which further includes:
Hit requests judgment module, for judging whether the request is potential in the potential hit requests judgment module
Before hit requests, judge whether the request is hit requests, when the request is hit requests, exists in the Cache
, label identical cache entry identical as the process number of the request;
The potential hit requests judgment module, if judging the request specifically for the hit requests judgment module
It is not hit requests, then judges whether request is potential hit requests.
In conjunction with the third possible realization method of the second aspect, the 4th kind of possible realization side in the second aspect
In formula, which further includes:
Sending module, if for the potential hit judgment module judge it is described request be not potential hit requests and
When the data that the request accesses are the sharing data area data in the virtual address space of the corresponding process of the request, then will
The request is sent to other cache except current searched Cache, by other cache except currently searched Cache
Judge whether the request is hit requests;
The return module returns to the data that the request accesses if being hit requests specifically for the request;It is no
Then, if the request is not hit requests, whether judge the request by other cache except currently searched Cache
Potential hit requests.
In conjunction with the third possible realization method of the second aspect, the 5th kind of possible realization side in the second aspect
In formula, which further includes:
Searching module, if not being potential hit requests for the request and data that the request accesses are described ask
When seeking the sharing data area data in the virtual address space of corresponding process, then the protection of the sharing data area data is searched
Position information;
The guard bit signal judgement module, specifically for judging whether the request has according to the guard bit information
To the access rights of the sharing data area data;
The request is sent to and is currently searched if having the access rights for the request by sending module
Other cache except Cache judge whether the request is that hit is asked by other cache except currently searched Cache
It asks;
The return module returns to the data that the request accesses if being hit requests specifically for the request;It is no
Then, if the request is not hit requests, whether judge the request by other cache except currently searched Cache
Potential hit requests.
In conjunction with the second aspect, the second aspect the first to any possible realization method in the 5th kind,
In 6th kind of possible realization method of two aspects, which further includes:
This earth's core judgment module, if judging that the request is potential hit requests, institute for the potential hit module
State access rights judgment module judge it is described request whether have to the access rights of the sharing data area data before, judge
Whether the request comes from this earth's core;
The access rights judgment module is sentenced if coming from this earth's core specifically for the request by the described earth's core
Whether the disconnected request has the access rights to the sharing data area data;Otherwise, if the request comes from this earth's core
Except core, then will judge whether the request has access to the sharing data area data as the core where the request
Permission.
In conjunction with the second aspect, the second aspect the first to any possible realization method in the 6th kind,
In 7th kind of possible realization method of two aspects, which further includes:
Division module, for the potential hit module judge it is described request whether be potential hit requests before, from
Sharing data area is marked off in the corresponding virtual address space of the request, and the shared number is stored in the sharing data area
According to area's data, if the process where the request needs shared data, apply for virtual address space to the sharing data area.
In conjunction with the second aspect, the second aspect the first to any possible realization method in the 7th kind,
In 8th kind of possible realization method of two aspects, which further includes:
Modified module, for it is described return module return it is described request access data before, by the Cache with
The process number difference of process belonging to the request, the process number of the identical cache entry of label are revised as the process of the request
Number.
Data access method and device provided in an embodiment of the present invention are the request of sharing data area Tag to Tag in VA,
Judge whether it is potential hit requests, if so, further judging whether the process has the visit to sharing data area data
It asks permission, if having access rights, returns to the data of request access.During being somebody's turn to do, for shared region data, only asking
Ask just to carry out permission detection when potential hit requests, should during not be related to any address translation process, realize it is different into
Efficient data access when the data sharing of journey.In addition, during being somebody's turn to do, the access for unshared area's data and shared region
The access that data are directly hit according to data access result returned data or carries out missing processing and is sent to next stage Cache,
Any address translation process it is not related to wherein yet, data access efficiency is high.
Description of the drawings
Fig. 1 is the structural schematic diagram of VA during data access of the present invention;
Fig. 2 is the division schematic diagram of virtual address space during data access of the present invention;
Fig. 3 is the structural schematic diagram of multiple nucleus system in data access method of the present invention;
Fig. 4 is the flow chart of data access method embodiment one of the present invention;
Fig. 5 is the process schematic of data access of the present invention;
Fig. 6 is the processing that potential hit occurs in local Private Cache for request in data access flow of the present invention
Flow chart;
Fig. 7 is the first processing for asking to lack in local Private Cache in data access flow of the present invention
Flow chart;
Fig. 8 is the second processing for asking to lack in local Private Cache in data access flow of the present invention
Flow chart;
Fig. 9 is the structural schematic diagram of data access device embodiment one of the present invention;
Figure 10 is the structural schematic diagram of data access device embodiment two of the present invention;
Figure 11 is the structural schematic diagram of data access device embodiment three of the present invention.
Specific implementation mode
In order to make the object, technical scheme and advantages of the embodiment of the invention clearer, below in conjunction with the embodiment of the present invention
In attached drawing, technical scheme in the embodiment of the invention is clearly and completely described, it is clear that described embodiment is
A part of the embodiment of the present invention, instead of all the embodiments.Based on the embodiments of the present invention, those of ordinary skill in the art
The every other embodiment obtained without making creative work, shall fall within the protection scope of the present invention.
In general, the virtual address of a process includes process number (Progress Idenity, PID), VPN, the page
(Page Offset) etc. is deviated, for details, reference can be made to Fig. 1, Fig. 1 is the structural schematic diagram of VA during data access of the present invention.This
Can be in advance two parts by VPN region divisions in embodiment, a part is sharing data area (as shown in dash area in figure),
Another part is non-shared area, specifically, reference can be made to Fig. 2, Fig. 2 are virtual address space during data access of the present invention
Division schematic diagram.
The executive agent of the embodiment of the present invention, the e.g. multiple nucleus system with multinuclear, such as multi-core processor, specifically
, reference can be made to Fig. 3, Fig. 3 are the structural schematic diagram of multiple nucleus system in data access method of the present invention.The multiple nucleus system includes multiple
Core (Core), there are one privately owned cache memory (Private Cache), shared one shared height of all cores for each core tool
Fast buffer storage (Shared Cache).For each Cache, multiple cache sets (Cache set) can be divided into,
There are multiple cache entries (Cacheline) in each Cache set, the address of each Cacheline includes group index (set
Index) with label (Tag) two parts.Data access constantly, indexes corresponding Cache according to the set index of request first
Set is compared further according to the parts Tag in the address of request with all tag in the Cache set indexed, if having one
It is a identical, then it represents that the request is hit requests;Otherwise, it is miss request.In the present embodiment, the virtual address of each process is empty
Between in reserve one section be used as sharing data area, it is managed by operating system (Operating System, OS).When into
When row needs shared data, the virtual address space into OS applications sharing data area, OS is needed to be distributed in sharing data area
Same VPN, which gives, needs process to be sharing.Thus, the VA of multiple processes of shared data is other than PID is different, other positions
It is all identical, it can be achieved that the page is the shared of granularity.
In the following, the description in conjunction with above-mentioned Fig. 1~Fig. 3 elaborates to the embodiment of the present invention.Specifically, reference can be made to Fig. 4.
Fig. 4 is the flow chart of data access method embodiment one of the present invention.The executive agent of the present embodiment is with multinuclear
System, such as multi-core processor, suitable for full void Cache data sharing, different process VA when being directed toward the same PA, need
The efficient scene for carrying out data access.Specifically, the present embodiment includes the following steps:
101, judge request whether be potential hit requests, ask for potential hit requests when, ask access data be
The sharing data area data in corresponding virtual address space is asked, and is existed in accessed cache memory Cache
, label identical cache entry different from the process number of request.
In this step, the request that Tag is sharing data area Tag in request for example, VA, accessed Cache is, for example, to ask
The Cache of Core where asking;Alternatively, accessed Cache is, for example, other Core except the Core for asking place
Cache.Fig. 3 is please referred to, if the Core where request is Core1, accessed Cache can be Cache1, or
The former is referred to as to ask to come from this earth's core (Local Core), the latter is referred to as to ask by Cache N below for clarity
It asks and comes from other Core.During data access, in PID, the Tag and accessed Cache of multiple nucleus system by judging request
Process PID and Tag respectively it is whether identical, so that it is determined that go out request whether be potential hit requests.
Specifically, the embodiment of the present invention, the data access result of request is divided into following three types:
The first kind:It hits (Hit), i.e. PID is identical, Tag is identical.
Specifically, each Private Cache can have there are one Cache decision logics in multiple nucleus system, which judges
The VA of request is compared by logic with the VA of the cache entry cached in the Private Cache of accessed Core, i.e., by two
The VPN of person is compared.In comparison procedure, if PID and the Tag of request respectively with the Private Cache of accessed Core
One PID in the cache entry of middle caching is identical as Tag, then hits.At this point, the Tag no matter asked is shared data
Area Tag or non-shared area Tag, multiple nucleus system carry out scope check, if this is asked all according to guard bit information to the request
It asks with access rights, then returned data;Otherwise, triggering is interrupted, and transfers to OS processing.
Second class, missing (Miss), i.e. Tag are different;Alternatively, PID differences, Tag are identical in non-shared area.
Specifically, if Cache decision logics judge the Tag asked the Private with accessed Core respectively
The Tag of any one process cached in Cache is differed, then is lacked.At this point, the Tag no matter asked is shared data
The request is all carried out missing processing by area Tag or non-shared area Tag, multiple nucleus system, sends it to next stage Cache
Or the cache with other core of level-one.
In addition, if the data that request accesses be the unshared area's data asked in corresponding virtual address space, and Cache
Decision logic judges the PID of any one process cached in the Private Cache of the PID and accessed Core of request
It is identical to differ Tag, then lacks.For example, if Cache decision logics judge that the Tag of request is non-shared area
The PID of the process cached in the Private Cache of Tag, the PID of request and the Core being accessed is differed but Tag phases
Together, then it lacks.
Third class, potential hit (Potential Hit), i.e. PID is different, Tag is identical and is in shared region.
If specifically, Cache decision logics judge request Tag be sharing data area Tag, and ask PID and quilt
The PID of the process cached in the Private Cache of the Core of access is differed but Tag is identical, then explanation and the request
PID differ but Tag it is identical Cache request between data sharing, potential hit occurs.
If 102, request is potential hit requests, judge to ask whether affiliated process has to sharing data area data
Access rights.
Fig. 3 is please referred to again, and for the request of potential hit occurs, multiple nucleus system is subsequent by being located at PrivateCache
Potential hit processing logic carries out scope check, if the request has access rights, returned data;Otherwise, triggering is interrupted, and is handed over
By OS processing.
Optionally, potential hit processing logic is also responsible for caching in the Private Cache for the Core that will be accessed slow
The PID that the cache entry of potential hit occurs in credit balance is revised as the PID of request.Thus, when the follow-up data of access again, it should
Request becomes potential hit requests, and data access result just becomes Hit.
If 103, the process belonging to request has access rights, the data that request accesses are returned.
After judging that request has access rights, multiple nucleus system returns to the data that request accesses according to the VA of request.
Data access method provided in an embodiment of the present invention judges it to the request that Tag in VA is sharing data area Tag
Whether it is potential hit requests, if so, further judge whether the process has the access rights to sharing data area data,
If having access rights, the data of request access are returned.Only it is latent in request for shared region data during being somebody's turn to do
Permission detection is just carried out in hit requests, should during not be related to any address translation process, realize between different processes
Efficient data access when shared data.In addition, during being somebody's turn to do, it is straight for the access and shared region data of unshared area's data
The access for connecing hit according to data access result returned data or carries out missing processing and is sent to next stage Cache, wherein
Any address translation process it is not related to, data access efficiency is high.
Fig. 5 is the process schematic of data access of the present invention.As shown in figure 5, request for example, Tag is sharing data area
The request of Tag, dash area show sharing data area mark in figure, when the Tag of request be sharing data area Tag request
When, the Tag of the request is the Tag that dash area includes, and privately owned cache memories store has several cache entries, Mei Gehuan
Credit balance is stored with the information such as PID, Tag, and C expressions are compared (Compare), multiple nucleus system to the PID of request with it is accessed
The PID of each cache entry is compared in Private Cache, obtains comparison result Hit1, is compared to obtain Hit2 to Tag.
Then, data access flow is carried out according to comparison result, specifically comprised the following steps:
201, judge whether Hit1 and Hit2 is true.
In this step, the decision logic of accessed Private Cache judge request PID whether the process with caching
In any one cache entry PID, Tag it is whether identical respectively, if identical, Hit1 and Hit2 are set up, and execute step 202;
Otherwise, if Hit1 is invalid or invalid simultaneously with any one in Hit2,203 are thened follow the steps.
202, hit is handled, and checks access rights and returned data.
203, judge whether Hit2 is true, and whether be sharing data area data.
In this step, the decision logic of accessed Private Cache judges in the Tag of request and the cache entry of caching
Any one cache entry Tag it is whether identical and request Tag whether be sharing data area Tag, if the Tag of the request with
The Tag of any one cache entry in the cache entry of accessed Private Cache cachings is identical and the Tag is shared number
According to area Tag, then it is assumed that the request is potential hit requests, executes step 205;Otherwise, step 204 is executed.
204, missing is handled, and sends this request to other cache except current searched Cache.
For miss request, other Cahce except current searched Cache can be sent it to, for example, can be transmitted to
The next stage Cahce of core where current searched Cache, alternatively, in other core and the Cache peers currently searched
In Cache.
205, judge whether the request comes from this earth's core, if coming from this earth's core, then follow the steps 206;Otherwise, it executes
Step 207.
206, the potential processing logic of this earth's core is sent the request to.
In this step, multiple nucleus system sends the request to the potential processing logic of this earth's core, by its permission inspection that accesses
It looks into.
207, the potential processing logic of the core where request is returned data into.
In this step, the potential processing that the data that request accesses are sent to the core where the request by multiple nucleus system is patrolled
Volume, by its inspection etc. that accesses.
In conjunction with above-mentioned Fig. 3 and Fig. 5 embodiments it is found that potential processing logic is in behind Private Cache, work as request
When coming from this earth's core, it is used in local Private Cache after generation Potential Hit, before returned data, to asking
Seek the scope check that accesses etc.;When request comes from other cores, multiple nucleus system sends data to the Core where request
Potential processing logic, accessed scope check etc. to request by the processing logic.
Optionally, in above-mentioned access authoritychecking, if request is potential hit requests, sharing data area data is searched
Guard bit information (Readable Writable Executable, RWX), according to the guard bit information judge request whether have
There are the access rights to sharing data area data.Specifically, if guard bit information meets certain condition, illustrate the request to hair
The shared region data of raw potential hit have access rights;Otherwise, request is to occurring the shared region data of potential hit without access
Permission.
In order to accelerate scope check, it can safeguard the buffering area of a guard bit in logic in potential processing, i.e., it is shared to protect
Shield searches buffer area (Share Protection Lookaside Buffer, SPLB), which is frequently used for caching
Sharing data area guard bit information, specifically, reference can be made to table 1, table 1 is the attribute of SPLB in data access method of the present invention
Table.
Table 1
PID | Start | Size | RWX |
…… | …… | …… | …… |
As shown in Table 1, which is similar to TLB, but does not store actual situation address mapping relation, only caches PID, region is risen
Beginning address (Start), area size (Size) and guard bit information (RWX).Due to there was only the guard bit needs of sharing data area
It is buffered in the SPLB, and it is fewer the case where shared data, therefore it may only be necessary to the buffer of very little.In the embodiment of the present invention,
The maintenance of SPLB includes following the description:
It searches:When Potential Hit occur, according to the address of the PID of request and access data, searches SPLB and protected
Protect position information;
It replaces:When in SPLB search less than guard bit information when, need from memory page table (can also be exclusively for
The status information that protection zone is safeguarded) in take out guard bit, and an entry deletion is picked out from SPLB, by the guard bit newly taken out and
Position after relevant information filling deletion;
It is synchronous:When shared relationship changes in system, corresponding list item in synchronous SPLB.
It is that sharing data area Tag is asked to Tag during data access of the present invention in the following, in conjunction with the various embodiments described above
The process flow for sending potential hit and lacking is asked to be described in detail, specifically, reference can be made to Fig. 6, Fig. 7 and Fig. 8.
Fig. 6 is the processing that potential hit occurs in local Private Cache for request in data access flow of the present invention
Flow chart specifically comprises the following steps:
301, in local Private Cache potential hit occurs for the request that Tag is sharing data area Tag.
302, potential hit processing logic is sent the request to.
In this step, multiple nucleus system sends the request to the potential hit of the Private Cache of the Core where request
Handle logic.
303, it inquires SPLB and judges whether to find guard bit information, if finding guard bit information, then follow the steps
305;Otherwise, if not finding guard bit information, 304 are thened follow the steps.
304, guard bit information is obtained from the page table of memory and is filled into SPLB, and step 305 is then executed.
305, the guard bit information in SPLB is obtained.
306, judge whether request has the access rights to sharing data area data according to guard bit information, if there is access
Permission thens follow the steps 308;Otherwise, step 307 is executed.
307, request is that unauthorized access is asked, and triggering is interrupted, and OS processing is transferred to.
308, the PID for the cache entry that potential hit occurs is revised as to the PID of request.
In this step, the domains PID that the cache entry of potential hit occurs for modification are the PID of request, and subsequent access is made to become
It directly hits, no longer triggers potential hit process flow.
309, the data that request accesses are returned.
Fig. 7 is the first processing for asking to lack in local Private Cache in data access flow of the present invention
Flow chart in the present embodiment, if request is not potential hit requests, is sent the request to except the cache currently searched
Other cache, judge whether request is hit requests by other cache except the cache that is currently searched;If request is
Hit requests then return to the data that request accesses;Otherwise, if request is not hit requests, except the cache where request
Other cache judge request whether potential hit requests.Specifically, the present embodiment includes the following steps:
401, the request that Tag is sharing data area Tag lacks in local Private Cache.
402, according to protocol conformance, other Cache are sent the request to.
In this step, multiple nucleus system sends the request to other Cache outside the Cache currently searched.For example, can send out
The next stage Cahce of core where to current searched Cache is sent, alternatively, same with the Cache that is currently searched in other core
In the Cache of grade
403, whether hit in other Cache, if hitting, then follow the steps 404;Otherwise, if not occurring
Hit, thens follow the steps 405.
404, the core where request is returned data into.
For example, incorporated by reference to Fig. 3, for example, if request comes from Core1, lacked in Private Cache1, then
Send this request to Cache N in step 402, in step 403, which hits, then in this step, request is accessed
Data be sent to the Private Cache1 of core1.
405, potential hit whether occurs in other Cache, if potential hit occurs, thens follow the steps 407;Otherwise,
If potential hit does not occur, 406 are thened follow the steps.
406, Memory Controller Hub is sent the request to, taken out data from memory by Memory Controller Hub and is returned.
407, data and access authoritychecking request are sent to the potential processing logic of the core where request.
For example, incorporated by reference to Fig. 3, for example, if request comes from Core1, lacked in Private Cache1, then
Send this request to Cache N in step 402, in step 405, which occurs potential hit, then by data and access right
Limit checks that request is sent to the potential processing logic of the Private Cache1 of core1.
408, by data buffer storage in potential processing logic.
409, SPLB is inquired.
410, judge whether to find guard bit information, if finding guard bit information, then follow the steps 412;Otherwise, if
Guard bit information is not found, thens follow the steps 411.
411, guard bit information is obtained from the page table of memory and is filled into SPLB, and step 412 is then executed.
412, the guard bit information in SPLB is obtained.
413, judge whether request has the access rights to sharing data area data according to RWX, if there is access rights,
Execute step 415;Otherwise, step 414 is executed.
414, request is that unauthorized access is asked, and triggering is interrupted, and OS processing is transferred to.
415, in the Cache where the data filling request being buffered in potential processing logic.
416, the PID for the cache entry that potential hit occurs is revised as to the PID of request.
In this step, the domains PID that the cache entry of potential hit occurs for modification are the PID of request, and subsequent access is made to become
It directly hits, no longer triggers potential hit process flow.
417, the data that request accesses are returned.
Fig. 8 is the second processing for asking to lack in local Private Cache in data access flow of the present invention
Flow chart in the present embodiment, if request is not potential hit requests, searches the guard bit information of sharing data area data;Root
Judge whether request has the access rights to sharing data area data according to guard bit information;If request has access rights,
Other cache except the cache currently searched are sent the request to, by other except the cache that is currently searched
Cache judges whether request is hit requests.If request is hit requests, the data that request accesses are returned;Otherwise, if request
Miss, then by other cache except the cache that is currently searched judge request whether potential hit requests.Specifically, this
Embodiment includes the following steps:
501, the request that Tag is sharing data area Tag lacks in local Private Cache.
502, SPLB is inquired.
503, judge whether to find guard bit information, if finding guard bit information, then follow the steps 505;Otherwise, if
Guard bit information is not found, thens follow the steps 504.
504, guard bit information is obtained from the page table of memory and is filled into SPLB, and step 505 is then executed.
505, the guard bit information in SPLB is obtained.
506, judge whether request has the access rights to sharing data area data according to guard bit information, if there is access
Permission thens follow the steps 508;Otherwise, step 507 is executed.
507, request is that unauthorized access is asked, and triggering is interrupted, and OS processing is transferred to.
508, according to protocol conformance, other Cache are sent the request to.
509, whether hit in other Cache, if hitting, then follow the steps 510;Otherwise, if not occurring
Hit, thens follow the steps 511.
510, the core where request is returned data into.
511, potential hit whether occurs in other Cache, if potential hit occurs, thens follow the steps 513;Otherwise,
If potential hit does not occur, 512 are thened follow the steps.
512, Memory Controller Hub is sent the request to, taken out data from memory by Memory Controller Hub and is returned.
513, the potential processing logic of the core where request is sent data to.
It 514, will be in the Cache where the data filling request that be buffered in potential processing logic.
515, the PID for the process that potential hit occurs is revised as to the PID of request.
516, the data that request accesses are returned.
Fig. 9 is the structural schematic diagram of data access device embodiment one of the present invention.Data access dress provided in this embodiment
It is device embodiment corresponding with Fig. 4 embodiments of the present invention to set, and details are not described herein for specific implementation process.Specifically, this implementation
The data access device 100 that example provides specifically includes:
Potential hit requests judgment module 11, for judging whether request is potential hit requests, the request is potential
When hit requests, the data that the request accesses are the sharing data area in the virtual address space for asking corresponding process
Data, and there is, label identical caching different from the process number of the request in accessed cache memory Cache
;
Access rights judgment module 12, if judging that the request is latent for the potential hit requests judgment module 11
In hit requests, then judge whether the process belonging to the request has the access rights to the sharing data area data;
Module 13 is returned to, if judging that the process belonging to the request has institute for the access rights judgment module 12
Access rights are stated, then return to the data that the request accesses.
Data access device provided in an embodiment of the present invention judges it to the request that Tag in VA is sharing data area Tag
Whether it is potential hit requests, if so, further judge whether the process has the access rights to sharing data area data,
If having access rights, the data of request access are returned.Only it is latent in request for shared region data during being somebody's turn to do
Permission detection is just carried out in hit requests, should during not be related to any address translation process, realize between different processes
Efficient data access when shared data.In addition, during being somebody's turn to do, it is straight for the access and shared region data of unshared area's data
The access for connecing hit according to data access result returned data or carries out missing processing and is sent to next stage Cache, wherein
Any address translation process it is not related to, data access efficiency is high.
Figure 10 is the structural schematic diagram of data access device embodiment two of the present invention.As shown in Figure 10, the number of the present embodiment
According to access mechanism 100 on the basis of Fig. 9 apparatus structures, optionally, further include:Searching module 14, if being for the request
Potential hit requests judge whether the process belonging to the request has to described shared in the access rights judgment module 12
Before the access rights of Data Area data, the guard bit information of the sharing data area data is searched;The access rights judge
Module 12 is believed if being potential hit requests for the request according to the guard bit that the searching module 14 is found
Breath judges whether process belonging to the request has the access rights to the sharing data area data.
Optionally, in an embodiment of the present invention, which further includes:
Guard bit signal judgement module 15, if being potential hit requests for the request, in the searching module 14
Before the guard bit information for searching the sharing data area data, judges that shared region guard bit is searched and whether there is in caching SPLB
The guard bit information;Acquisition module 16, if judging not deposit in the SPLB for the guard bit signal judgement module 15
In the guard bit information, then obtains the guard bit information and be filled in the SPLB;The searching module 14 is specific to use
If being potential hit requests in the request, the guard bit information is searched from the SPLB.
Optionally, in an embodiment of the present invention, which further includes:Hit requests judgment module 17 is used
In before the potential hit requests judgment module 11 judges whether the request is potential hit requests, the request is judged
Whether it is hit requests, when the request is hit requests, there is, mark identical as the process number of the request in the Cache
Sign identical cache entry;The potential hit requests judgment module 11, if judging specifically for the hit requests judgment module
It is hit requests to go out the request not, then judges whether request is potential hit requests.
Optionally, in an embodiment of the present invention, which further includes:Sending module 18, if for described
Potential hit requests judgment module 11 judge it is described request be not potential hit requests and it is described request access data be institute
When stating the sharing data area data in the virtual address space for asking corresponding process, then the request is sent to and is currently looked into
Other cache except Cache are looked for, judge whether the request is hit by other cache except currently searched Cache
Request;The return module 13 returns to the data that the request accesses if being hit requests specifically for the request;It is no
Then, if the request is not hit requests, whether judge the request by other cache except currently searched Cache
Potential hit requests.
Optionally, in an embodiment of the present invention, searching module 14, if for it is described request be not potential hit requests,
And when sharing data area data in the virtual address space that the data that access of the request are the corresponding process of the request, then
Search the guard bit information of the sharing data area data;The guard bit signal judgement module 15 is specifically used for according to
Guard bit information judges whether the request has the access rights to the sharing data area data;Sending module 18, is used for
If the request has the access rights, the request is sent to other cache except current searched Cache,
Judge whether the request is hit requests by other cache except currently searched Cache;The return module 13, tool
If body is hit requests for the request, the data that the request accesses are returned;Otherwise, it is asked if the request is not hit
Ask, then by other cache except currently searched Cache judge it is described request whether potential hit requests.
Optionally, in an embodiment of the present invention, which further includes:This earth's core judgment module 19, is used for
If the potential hit module judges that the request is potential hit requests, the access rights judgment module 12 judges described
Before whether request has to the access rights of the sharing data area data, judge whether the request comes from this earth's core;
The access rights judgment module 12, if coming from this earth's core specifically for the request, described in described earth's core judgement
Whether request has the access rights to the sharing data area data;Otherwise, if the request comes from except this earth's core
Core then will judge whether the request has the access rights to the sharing data area data as the core where the request.
Optionally, in an embodiment of the present invention, which further includes:Division module 20, for described
Before potential hit module judges whether the request is potential hit requests, from the corresponding virtual address space of the request
In mark off sharing data area, the sharing data area data is stored in the sharing data area, if where the request into
Journey needs shared data, then applies for virtual address space to the sharing data area.
Optionally, in an embodiment of the present invention, which further includes:Modified module 21, for described
Before returning to the data that module 13 returns to the request access, by the process with the process belonging to the request in the Cache
Number difference, the identical cache entry of label process number be revised as the process number of the request.
Figure 11 is the structural schematic diagram of data access device embodiment three of the present invention.As shown in figure 11, the present embodiment provides
Data access device 200, including:Processor 21 and memory 22.Data access device 200 can also include transmitter 23,
Receiver 24.Transmitter 23 can be connected with receiver 24 with processor 21.Wherein, transmitter 23 is used for transmission data or letter
Breath, for receiving data or information, the storage of memory 22 executes instruction receiver 24, when data access device 200 is run, place
It is communicated between reason device 21 and memory 22, processor 21 calls executing instruction in memory 22, for executing method shown in Fig. 4
Embodiment, implementing principle and technical effect are similar, and details are not described herein again.
One of ordinary skill in the art will appreciate that:Realize that all or part of step of above-mentioned each method embodiment can lead to
The relevant hardware of program instruction is crossed to complete.Program above-mentioned can be stored in a computer read/write memory medium.The journey
When being executed, execution includes the steps that above-mentioned each method embodiment to sequence;And storage medium above-mentioned includes:ROM, RAM, magnetic disc or
The various media that can store program code such as person's CD.
Finally it should be noted that:The above embodiments are only used to illustrate the technical solution of the present invention., rather than its limitations;To the greatest extent
Present invention has been described in detail with reference to the aforementioned embodiments for pipe, it will be understood by those of ordinary skill in the art that:Its according to
So can with technical scheme described in the above embodiments is modified, either to which part or all technical features into
Row equivalent replacement;And these modifications or replacements, various embodiments of the present invention technology that it does not separate the essence of the corresponding technical solution
The range of scheme.
Claims (18)
1. a kind of data access method, which is characterized in that including:
Judge whether request is potential hit requests, when the request is potential hit requests, the data that the request accesses are
Sharing data area data in the virtual address space for asking corresponding process, and accessed cache memory
There is, label identical cache entry different from the process number of the request in Cache;
If the request is potential hit requests, judge whether the process belonging to the request has to the sharing data area
The access rights of data;
If the process belonging to the request has the access rights, the data that the request accesses are returned.
2. if according to the method described in claim 1, it is characterized in that, the request is potential hit requests, described in judgement
Before whether the process belonging to request has to the access rights of the sharing data area data, further include:
If the request is potential hit requests, the guard bit information of the sharing data area data is searched;
If the request is potential hit requests, judge whether the request has to the sharing data area data
Access rights, including:
If the request is potential hit requests, judge whether process belonging to the request has according to the guard bit information
To the access rights of the sharing data area data.
If 3. according to the method described in claim 2, it is characterized in that, it is described request be potential hit requests, search
Before the guard bit information of the sharing data area data, including:
If the request is potential hit requests, judges that shared region guard bit is searched in caching SPLB and whether there is the protection
Position information;
If the guard bit information is not present in the SPLB, obtains the guard bit information and be filled in the SPLB;
If the request is potential hit requests, the guard bit information of the sharing data area data is searched, including:
If the request is potential hit requests, the guard bit information is searched from the SPLB.
4. according to claims 1 to 3 any one of them method, which is characterized in that described to judge whether request is potential hit
Before request, further include:
Judge whether the request is hit requests, when the request is hit requests, exists and the request in the Cache
Process number is identical, the identical cache entry of label;
It is described to judge whether request is potential hit requests, including:
If it is hit requests to judge the request not, judge whether request is potential hit requests.
5. according to the method described in claim 4, it is characterized in that, further including:
If judging, the request is not potential hit requests and the data for asking to access are the corresponding process of the request
Virtual address space in sharing data area data when, then the request is sent to its except current searched Cache
He is cache, judges whether the request is hit requests by other cache except currently searched Cache;
If the request is hit requests, the data that the request accesses are returned;Otherwise, it is asked if the request is not hit
Ask, then by other cache except currently searched Cache judge it is described request whether potential hit requests.
6. according to the method described in claim 4, it is characterized in that, further including:
If the request is not potential hit requests and the data for asking to access are the virtual of the corresponding process of the request
When sharing data area data in address space, then the guard bit information of the sharing data area data is searched;
Judge whether the request has the access rights to the sharing data area data according to the guard bit information;
If the request has the access rights, the request is sent to other except current searched Cache
Cache judges whether the request is hit requests by other cache except currently searched Cache;
If the request is hit requests, the data that the request accesses are returned;Otherwise, it is asked if the request is not hit
Ask, then by other cache except currently searched Cache judge it is described request whether potential hit requests.
7. according to claims 1 to 3 any one of them method, which is characterized in that if the request is potential hit requests,
Before judging whether the request has to the access rights of the sharing data area data, further include:
Judge whether the request comes from this earth's core;
If the request is potential hit requests, judge whether the request has to the sharing data area data
Access rights, including:
If the request comes from this earth's core, judge whether the request has to the sharing data area by the described earth's core
The access rights of data;Otherwise, if the request comes from the core except this earth's core, will be sentenced as the core where the request
Whether the disconnected request has the access rights to the sharing data area data.
8. according to claims 1 to 3 any one of them method, which is characterized in that described to judge whether request is potential hit
Before request, further include:
Sharing data area is marked off from the corresponding virtual address space of the request, in the sharing data area described in storage
Sharing data area data;
If the process where the request needs shared data, apply for virtual address space to the sharing data area.
9. according to claims 1 to 3 any one of them method, which is characterized in that if the request has the access rights,
Before then returning to the data that the request accesses, further include:
Different from the process number of the process belonging to the request in the Cache, the identical cache entry of label process number is repaiied
It is changed to the process number of the request.
10. a kind of data access device, which is characterized in that including:
Potential hit requests judgment module, for judging whether request is potential hit requests, the request is that potential hit is asked
When asking, the data that the request accesses are the sharing data area data in the virtual address space for asking corresponding process,
And there is, label identical cache entry different from the process number of the request in accessed cache memory Cache;
Access rights judgment module, if judging that the request is that potential hit is asked for the potential hit requests judgment module
It asks, then judges whether the process belonging to the request has the access rights to the sharing data area data;
Module is returned to, if judging that the process belonging to the request has the access right for the access rights judgment module
Limit then returns to the data that the request accesses.
11. device according to claim 10, which is characterized in that further include:
Searching module judges the request if being potential hit requests for the request in the access rights judgment module
Before whether affiliated process has to the access rights of the sharing data area data, the sharing data area data is searched
Guard bit information;
The access rights judgment module is searched if being potential hit requests for the request according to the searching module
To the guard bit information judge whether process belonging to the request has to the access rights of the sharing data area data.
12. according to the devices described in claim 11, which is characterized in that further include:
Guard bit signal judgement module, if being potential hit requests for the request, described in searching module lookup
Before the guard bit information of sharing data area data, judges that shared region guard bit is searched in caching SPLB and whether there is the protection
Position information;
Acquisition module, if judging that there is no the guard bits to believe in the SPLB for the guard bit signal judgement module
Breath, then obtain the guard bit information and be filled in the SPLB;
The searching module searches the protection if being potential hit requests specifically for the request from the SPLB
Position information.
13. according to claim 10~12 any one of them device, which is characterized in that further include:
Hit requests judgment module, for judging whether the request is potential hit in the potential hit requests judgment module
Before request, judge whether the request is hit requests, when the request is hit requests, exists and institute in the Cache
The process number of stating request is identical, the identical cache entry of label;
The potential hit requests judgment module, if judging that the request is not specifically for the hit requests judgment module
Hit requests then judge whether request is potential hit requests.
14. device according to claim 13, which is characterized in that further include:
Sending module, if judging that the request is not potential hit requests and described for the potential hit judgment module
It, then will be described when the data that request accesses are the sharing data area data in the virtual address space of the corresponding process of the request
Request is sent to other cache except current searched Cache, is judged by other cache except currently searched Cache
Whether the request is hit requests;
The return module returns to the data that the request accesses if being hit requests specifically for the request;Otherwise,
If the request is not hit requests, judge whether the request is potential by other cache except currently searched Cache
Hit requests.
15. device according to claim 13, which is characterized in that further include:
Searching module, if for it is described request be not potential hit requests and it is described request access data be it is described request pair
When sharing data area data in the virtual address space for the process answered, then the guard bit letter of the sharing data area data is searched
Breath;
The guard bit signal judgement module is specifically used for judging whether the request has to institute according to the guard bit information
State the access rights of sharing data area data;
The request is sent to current searched Cache by sending module if having the access rights for the request
Except other cache, by other cache except currently searched Cache judge it is described request whether be hit requests;
The return module returns to the data that the request accesses if being hit requests specifically for the request;Otherwise,
If the request is not hit requests, judge whether the request is potential by other cache except currently searched Cache
Hit requests.
16. according to claim 10~12 any one of them device, which is characterized in that further include:
This earth's core judgment module, if judging that the request is potential hit requests, the visit for the potential hit module
Before asking that permission judgment module judges whether the request has to the access rights of the sharing data area data, described in judgement
Whether request comes from this earth's core;
The access rights judgment module judges institute if coming from this earth's core specifically for the request by the described earth's core
Request is stated whether with the access rights to the sharing data area data;Otherwise, if the request comes from except this earth's core
Core, then will judge whether the request has to the access right of the sharing data area data as the core where the request
Limit.
17. according to claim 10~12 any one of them device, which is characterized in that further include:
Division module, for before the potential hit module judges whether the request is potential hit requests, from described
Sharing data area is marked off in the corresponding virtual address space of request, the sharing data area is stored in the sharing data area
Data apply for virtual address space if the process where the request needs shared data to the sharing data area.
18. according to claim 10~12 any one of them device, which is characterized in that further include:
Modified module, for it is described return module return it is described request access data before, by the Cache with it is described
The process number difference of process belonging to request, the process number of the identical cache entry of label are revised as the process number of the request.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410197088.0A CN105094953B (en) | 2014-05-09 | 2014-05-09 | Data access method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410197088.0A CN105094953B (en) | 2014-05-09 | 2014-05-09 | Data access method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105094953A CN105094953A (en) | 2015-11-25 |
CN105094953B true CN105094953B (en) | 2018-09-07 |
Family
ID=54575462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410197088.0A Active CN105094953B (en) | 2014-05-09 | 2014-05-09 | Data access method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105094953B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363779A (en) * | 2020-11-25 | 2021-02-12 | 王志平 | Safety control method for dynamic link program |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727405A (en) * | 2008-10-20 | 2010-06-09 | 株式会社东芝 | Effective address cache memory, processor and effective address caching method |
CN102270180A (en) * | 2011-08-09 | 2011-12-07 | 清华大学 | Multicore processor cache and management method thereof |
CN102662860A (en) * | 2012-03-15 | 2012-09-12 | 天津国芯科技有限公司 | Translation lookaside buffer (TLB) for process switching and address matching method therein |
CN102662868A (en) * | 2012-05-02 | 2012-09-12 | 中国科学院计算技术研究所 | Dynamic group association cache device for processor and access method thereof |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120246407A1 (en) * | 2011-03-21 | 2012-09-27 | Hasenplaugh William C | Method and system to improve unaligned cache memory accesses |
JP2012203729A (en) * | 2011-03-25 | 2012-10-22 | Fujitsu Ltd | Arithmetic processing unit and method for controlling arithmetic processing unit |
-
2014
- 2014-05-09 CN CN201410197088.0A patent/CN105094953B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727405A (en) * | 2008-10-20 | 2010-06-09 | 株式会社东芝 | Effective address cache memory, processor and effective address caching method |
CN102270180A (en) * | 2011-08-09 | 2011-12-07 | 清华大学 | Multicore processor cache and management method thereof |
CN102662860A (en) * | 2012-03-15 | 2012-09-12 | 天津国芯科技有限公司 | Translation lookaside buffer (TLB) for process switching and address matching method therein |
CN102662868A (en) * | 2012-05-02 | 2012-09-12 | 中国科学院计算技术研究所 | Dynamic group association cache device for processor and access method thereof |
Also Published As
Publication number | Publication date |
---|---|
CN105094953A (en) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10310987B2 (en) | Systems and methods for accessing a unified translation lookaside buffer | |
US11106600B2 (en) | Cache replacement based on translation lookaside buffer evictions | |
CN102792286B (en) | Address mapping in virtualization process system | |
US20160140048A1 (en) | Caching tlb translations using a unified page table walker cache | |
US20160140047A1 (en) | Translation lookaside buffer management | |
US20180336142A1 (en) | Method and apparatus for hardware management of multiple memory pools | |
US9864694B2 (en) | Tracking the content of a cache using a way tracker having entries with a cache miss indicator | |
WO2015075674A4 (en) | Systems and methods for direct data access in multi-level cache memory hierarchies | |
US9697137B2 (en) | Filtering translation lookaside buffer invalidations | |
JP2020529656A (en) | Address translation cache | |
US20130326143A1 (en) | Caching Frequently Used Addresses of a Page Table Walk | |
US11392508B2 (en) | Lightweight address translation for page migration and duplication | |
US20210026771A1 (en) | Cache structure using a logical directory | |
US10282308B2 (en) | Method and apparatus for reducing TLB shootdown overheads in accelerator-based systems | |
US10423534B2 (en) | Cache memory | |
US9189399B2 (en) | Stack cache management and coherence techniques | |
CN110196757A (en) | TLB filling method, device and the storage medium of virtual machine | |
EP3485382B1 (en) | System and method for storing cache location information for cache entry transfer | |
CN105094953B (en) | Data access method and device | |
JP7264806B2 (en) | Systems and methods for identifying the pendency of memory access requests in cache entries | |
KR102665339B1 (en) | Cache replacement based on conversion index buffer eviction | |
WO2023064609A1 (en) | Translation tagging for address translation caching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |