-
公开(公告)号:US10884928B2
公开(公告)日:2021-01-05
申请号:US16379303
申请日:2019-04-09
Applicant: Google LLC
Inventor: Richard Yoo , Liqun Cheng , Benjamin C. Serebrin , Parthasarathy Ranganathan , Rama Krishna Govindaraju
IPC: G06F12/0811 , G06F12/0871 , G06F12/0897
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for caching data not frequently accessed. One of the methods includes receiving a request for data from a component of a device, determining that the data satisfies an infrequency condition, in response to determining that the data satisfies the infrequency condition: determining a target cache level which defines a cache level within a cache level hierarchy of a particular cache at which to store infrequently accessed data, the target cache level being lower than a highest cache level in the cache level hierarchy, requesting and receiving the data from a memory that is not a cache of the device, and storing the data in a level of the particular cache that is at or below the target cache level in the cache level hierarchy, and providing the data to the component.
-
公开(公告)号:US20190155739A1
公开(公告)日:2019-05-23
申请号:US16252018
申请日:2019-01-18
Applicant: Google LLC
Inventor: Benjamin C. Serebrin , Kim Hazelwood
IPC: G06F12/0875 , G06F12/127 , G06F12/123 , G06F12/126
Abstract: The present disclosure relates to managing an instruction cache based on temporal locality of cached instructions. One example method includes receiving a request for a first instruction included in a software application; storing the first instruction in a cache structure; receiving a request for a second instruction included in the software application; determining that a cache entry must be removed from the cache structure to create space to store the second instruction; determining that the first instruction should be removed from the cache structure based on temporal locality attributes associated with at least one of the first instruction or the second instruction, the temporal locality attributes representing a likelihood that additional requests will be received for an associated instruction while the instruction is stored in the cache structure; removing the first instruction from the cache structure; and storing the second instruction in the cache structure.
-
公开(公告)号:US10027666B2
公开(公告)日:2018-07-17
申请号:US15661632
申请日:2017-07-27
Applicant: Google LLC
Inventor: Benjamin C. Serebrin
CPC classification number: H04L63/0876 , G06F12/1081 , G06F12/1408 , G06F12/1475 , G06F21/79 , G06F2212/1052 , H04L9/3247 , H04L63/062 , H04L63/164
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating signed addresses. One of the methods includes receiving, by a component from a device, a plurality of first requests, each first request for a physical address and including a virtual address, determining, by the component, a first physical address using the virtual address, generating a first signature for the first physical address, and providing, to the device, a response that includes the first signature, receiving, from the device, a plurality of second requests, each second request for access to a second physical address and including a second signature, determining, by the component for each of the plurality of second requests, whether the second physical address is valid using the second signature, and for each second request for which the second physical address is determined to be valid, servicing the corresponding second request.
-
公开(公告)号:US20200267148A1
公开(公告)日:2020-08-20
申请号:US16869947
申请日:2020-05-08
Applicant: Google LLC
Inventor: Benjamin C. Serebrin
IPC: H04L29/06 , G06F12/14 , G06F21/79 , G06F12/1081 , H04L9/32
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating signed addresses. One of the methods includes receiving, by a component from a device, a plurality of first requests, each first request for a physical address and including a virtual address, determining, by the component, a first physical address using the virtual address, generating a first signature for the first physical address, and providing, to the device, a response that includes the first signature, receiving, from the device, a plurality of second requests, each second request for access to a second physical address and including a second signature, determining, by the component for each of the plurality of second requests, whether the second physical address is valid using the second signature, and for each second request for which the second physical address is determined to be valid, servicing the corresponding second request.
-
公开(公告)号:US10684970B1
公开(公告)日:2020-06-16
申请号:US15921795
申请日:2018-03-15
Applicant: Google LLC
Inventor: Benjamin C. Serebrin , Michael R. Marty , Paul Jack Turner
Abstract: A method includes for each processed interrupt: identifying an interrupt associated with a first interrupt number; determining that the interrupt is designated as a special interrupt, the special interrupt being an interrupt to be translated to a different interrupt number only if the hardware processor is in user mode; determining a current execution mode for the hardware processor; for each interrupt in operating system mode, delivering the interrupt as the first interrupt number; and for each interrupt in user mode: translating the first interrupt number to a second interrupt number; and delivering the interrupt as the second interrupt number, wherein the current execution mode is determined to be an operating system mode for at least one of the interrupts, and the current execution mode is determined to be a user mode for at least an additional one of the interrupts.
-
公开(公告)号:US10326763B2
公开(公告)日:2019-06-18
申请号:US16031525
申请日:2018-07-10
Applicant: Google LLC
Inventor: Benjamin C. Serebrin
IPC: H04L9/32 , G06F12/14 , G06F21/79 , H04L29/06 , G06F12/1081
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating signed addresses. One of the methods includes receiving, by a component from a device, a plurality of first requests, each first request for a physical address and including a virtual address, determining, by the component, a first physical address using the virtual address, generating a first signature for the first physical address, and providing, to the device, a response that includes the first signature, receiving, from the device, a plurality of second requests, each second request for access to a second physical address and including a second signature, determining, by the component for each of the plurality of second requests, whether the second physical address is valid using the second signature, and for each second request for which the second physical address is determined to be valid, servicing the corresponding second request.
-
公开(公告)号:US11627131B2
公开(公告)日:2023-04-11
申请号:US17572066
申请日:2022-01-10
Applicant: Google LLC
Inventor: Benjamin C. Serebrin
IPC: H04L9/40 , G06F12/14 , G06F21/79 , G06F12/1081 , H04L9/32
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating signed addresses. One of the methods includes receiving, by a component from a device, a plurality of first requests, each first request for a physical address and including a virtual address, determining, by the component, a first physical address using the virtual address, generating a first signature for the first physical address, and providing, to the device, a response that includes the first signature, receiving, from the device, a plurality of second requests, each second request for access to a second physical address and including a second signature, determining, by the component for each of the plurality of second requests, whether the second physical address is valid using the second signature, and for each second request for which the second physical address is determined to be valid, servicing the corresponding second request.
-
公开(公告)号:US10303604B2
公开(公告)日:2019-05-28
申请号:US15429579
申请日:2017-02-10
Applicant: Google LLC
Inventor: Richard Yoo , Liqun Cheng , Benjamin C. Serebrin , Parthasarathy Ranganathan , Rama Krishna Govindaraju
IPC: G06F12/00 , G06F12/0811 , G06F12/0871 , G06F12/0897 , G06F1/3234 , G06F9/4401
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for caching data not frequently accessed. One of the methods includes receiving a request for data from a component of a device, determining that the data satisfies an infrequency condition, in response to determining that the data satisfies the infrequency condition: determining a target cache level which defines a cache level within a cache level hierarchy of a particular cache at which to store infrequently accessed data, the target cache level being lower than a highest cache level in the cache level hierarchy, requesting and receiving the data from a memory that is not a cache of the device, and storing the data in a level of the particular cache that is at or below the target cache level in the cache level hierarchy, and providing the data to the component.
-
公开(公告)号:US09965413B1
公开(公告)日:2018-05-08
申请号:US15454654
申请日:2017-03-09
Applicant: Google LLC
Inventor: Benjamin C. Serebrin , Michael R. Marty , Paul Jack Turner
CPC classification number: G06F13/24 , G06F9/327 , G06F9/3857 , G06F9/4812 , G06F9/5027
Abstract: A method includes for each processed interrupt: identifying an interrupt associated with a first interrupt number; determining that the interrupt is designated as a special interrupt, the special interrupt being an interrupt to be translated to a different interrupt number only if the hardware processor is in user mode; determining a current execution mode for the hardware processor; for each interrupt in operating system mode, delivering the interrupt as the first interrupt number; and for each interrupt in user mode: translating the first interrupt number to a second interrupt number; and delivering the interrupt as the second interrupt number, wherein the current execution mode is determined to be an operating system mode for at least one of the interrupts, and the current execution mode is determined to be a user mode for at least an additional one of the interrupts.
-
-
-
-
-
-
-
-