CN105094953B - Data access method and device - Google Patents

Data access method and device Download PDF

Info

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
Application number
CN201410197088.0A
Other languages
Chinese (zh)
Other versions
CN105094953A (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.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
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 Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201410197088.0A priority Critical patent/CN105094953B/en
Publication of CN105094953A publication Critical patent/CN105094953A/en
Application granted granted Critical
Publication of CN105094953B publication Critical patent/CN105094953B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Data access method and device
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.
CN201410197088.0A 2014-05-09 2014-05-09 Data access method and device Active CN105094953B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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