Patent classifications
G06F12/0857
Restartable cache write-back and invalidation
A processor includes a global register to store a value of an interrupted block count. A processor core, communicably coupled to the global register, may, upon execution of an instruction to flush blocks of a cache that are associated with a security domain: flush the blocks of the cache sequentially according to a flush loop of the cache; and in response to detection of a system interrupt: store a value of a current cache block count to the global register as the interrupted block count; and stop execution of the instruction to pause the flush of the blocks of the cache. After handling of the interrupt, the instruction may be called again to restart the flush of the cache.
Credit aware central arbitration for multi-endpoint, multi-core system
A device includes a data path, a first interface configured to receive a first memory access request from a first peripheral device, and a second interface configured to receive a second memory access request from a second peripheral device. The device further includes an arbiter circuit configured to determine a first destination device connected to the data path and associated with the first memory access request and a first credit threshold corresponding to the first memory access request. The arbiter circuit is further configured to determine a second destination device connected to the data path and associated with the second memory access request and a second credit threshold corresponding to the second memory access request. The arbiter circuit is configured to arbitrate access to the data path by the first memory access request and the second memory access request based on the first credit threshold and the second credit threshold.
Adaptive credit-based replenishment threshold used for transaction arbitration in a system that supports multiple levels of credit expenditure
A device includes an arbiter circuit configured to receive a first request for a resource. The first request is associated with a first credit cost. The arbiter circuit is further configured to receive a second request for the resource. The second request is associated with a second credit cost. The arbiter circuit is further configured to select the first request for the resource as an arbitration winner. The arbiter circuit is further configured to decrement a number of available credits associated with the resource by the first credit cost. The arbiter circuit is further configured to, in response to the number of available credits associated with the resource falling to a lower credit threshold, wait until the number of available credits associated with the resource reaches an upper credit threshold to select an additional arbitration winner for the resource.
Multicore, multibank, fully concurrent coherence controller
A system includes a multi-core shared memory controller (MSMC). The MSMC includes a snoop filter bank, a cache tag bank, and a memory bank. The cache tag bank is connected to both the snoop filter bank and the memory bank. The MSMC further includes a first coherent slave interface connected to a data path that is connected to the snoop filter bank. The MSMC further includes a second coherent slave interface connected to the data path that is connected to the snoop filter bank. The MSMC further includes an external memory master interface connected to the cache tag bank and the memory bank. The system further includes a first processor package connected to the first coherent slave interface and a second processor package connected to the second coherent slave interface. The system further includes an external memory device connected to the external memory master interface.
MANAGING HAZARDS IN A MEMORY CONTROLLER
Devices and techniques for managing hazards in a memory controller are described herein. The memory controller can receive a memory request that includes a base memory address. An index can be computed from the base memory address and a lookup, using the index, can be performed to find a lock. When the lock is found, the memory controller can store the memory request in a buffer that corresponds to the lock. In response to a signal to clear the lock, the memory controller removes the memory request from the buffer and performs the memory request.
CONFIGURABLE CACHE FOR MULTI-ENDPOINT HETEROGENEOUS COHERENT SYSTEM
A device includes a memory bank. The memory bank includes data portions of a first way group. The data portions of the first way group include a data portion of a first way of the first way group and a data portion of a second way of the first way group. The memory bank further includes data portions of a second way group. The device further includes a configuration register and a controller configured to individually allocate, based on one or more settings in the configuration register, the first way and the second way to one of an addressable memory space and a data cache.
METHOD AND SYSTEM FOR ACCELERATING STORAGE OF DATA IN WRITE-INTENSIVE COMPUTER APPLICATIONS
A method of optimising a service rate of a buffer in a computer system having memory stores of first and second type is described. The method selectively services the buffer by routing data to each of the memory store of the first type and the second type based on read/write capacity of the memory store of the first type.
Load balancer shared session cache
A shared session cache can be accessible by multiple load balancers, and can indicate whether client devices are associated with specific backend servers of a server pool. When a client device connects to a load balancer, the load balancer can use the shared session cache to determine if the client device is already associated with a specific backend server. If so, the load balancer can connect the client device to that specific backend server so that it can continue an existing session with the specific backend server. If not, the load balancer can select a new backend server for the client device, connect the client device to the newly selected backend server, and create an entry in the shared session cache indicating that the client device is associated with the newly selected backend server.
Preventing selective events of a computing environment
Detecting and preventing selected events within a computing environment. A determination is made as to whether a selected event of the computing environment is consistent with a historical pattern of selected events of the computing environment. Based on determining the selected event is inconsistent with the historical pattern of selected events, processing associated with the selected event is delayed. Based on delaying processing associated with the selected event, a determination is made as to whether the selected event is valid. Based on determining that the selected event is valid, processing associated with the selected event is resumed.
HIGH-THROUGHPUT SOFTWARE-DEFINED CONVOLUTIONAL INTERLEAVERS AND DE-INTERLEAVERS
High-throughput software-defined convolutional interleavers and de-interleavers are provided herein. In some examples, a method for generating convolutionally interleaved samples on a general purpose processor with cache is provided. Memory is represented as a three dimensional array, indexed by block number, row, and column. Input samples may be written to the cache according to an indexing scheme. Output samples may be generated every MN samples by reading out the samples from the cache in a transposed and vectorized order.