Patents Assigned to ADVANCED MICRO DEVICES (AMD)
-
Patent number: 10671535Abstract: A prefetcher maintains the state of stored prefetch information, such as a prefetch confidence level, when a prefetch would cross a memory page boundary. The maintained prefetch information can be used both to identify whether the stride pattern for a particular sequence of demand requests persists after the memory page boundary has been crossed, and to continue to issue prefetch requests according to the identified pattern. The prefetcher therefore does not have re-identify a stride pattern each time a page boundary is crossed by a sequence of demand requests, thereby improving the efficiency and accuracy of the prefetcher.Type: GrantFiled: July 17, 2013Date of Patent: June 2, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventors: John Kalamatianos, Paul Keltcher, Marius Evers, Chitresh Narasimhaiah
-
Patent number: 10674081Abstract: Disclosed herein are techniques for camera illuminator control. These techniques can be used in cameras that include an RGBIR (red green blue infrared) camera sensor and two illuminators—one visible light illuminator and one infrared illuminator. The techniques provide timing and control for such cameras for a variety of different camera modes. Particular camera modes may be defined as having different camera mode values for different camera mode parameters. That is, any particular camera mode is defined by a particular camera mode value for each of a set of camera mode parameters. Different parameters include a flash periodicity parameter, a simultaneity parameter, an autoexposure mode parameter, a shutter mode parameter, and a frame drop parameter.Type: GrantFiled: October 9, 2017Date of Patent: June 2, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Hui Zhou, Chunrong Zhang, Dapeng Liu
-
Patent number: 10671422Abstract: A security module in a memory access path of a processor of a processing system protects secure information by verifying the contents of memory pages as they transition between one or more virtual machines (VMs) executing at the processor and a hypervisor that provides an interface between the VMs and the processing system's hardware. The security module of the processor is employed to monitor memory pages as they transition between one or more VMs and a hypervisor so that memory pages that have been altered by a hypervisor or other VM cannot be returned to the VM from which they were transitioned.Type: GrantFiled: August 24, 2017Date of Patent: June 2, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventors: David Kaplan, Jeremy W. Powell, Richard Relph
-
Patent number: 10672474Abstract: A high-performance on-module caching architecture for hybrid memory modules is provided. A hybrid memory module includes a cache controller, a first volatile memory coupled to the cache controller, a first multiplexing data buffer coupled to the first volatile memory and the cache controller, and a first non-volatile memory coupled to the first multiplexing data buffer and the cache controller, wherein the first multiplexing data buffer multiplexes data between the first volatile memory and the first non-volatile memory and wherein the cache controller enables a tag checking operation to occur in parallel with a data movement operation. The hybrid memory module includes a volatile memory tag unit coupled to the cache controller, wherein the volatile memory tag unit includes a line connection that allows the cache controller to store a plurality of tags in the volatile memory tag unit and retrieve the plurality of tags from the volatile memory tag unit.Type: GrantFiled: August 6, 2019Date of Patent: June 2, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Amin Farmahini Farahani, David A. Roberts
-
Patent number: 10664285Abstract: A method of deriving intended thread data exchange patterns from source code includes identifying, based on a constant array, a pattern of data exchange between a plurality of threads in a wavefront. The constant array includes an array of source lane values identifying a thread location within the wavefront to read from for performing the pattern of data exchange. The pattern of data exchange is identified as a hardware-accelerated exchange pattern based on the constant array.Type: GrantFiled: December 19, 2018Date of Patent: May 26, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Michael John Bedy, Eric J. Finger
-
Patent number: 10664942Abstract: A graphics processing unit (GPU) includes a plurality of programmable processing cores configured to process graphics primitives and corresponding data and a plurality of fixed-function hardware units. The plurality of processing cores and the plurality of fixed-function hardware units are configured to implement a configurable number of virtual pipelines to concurrently process different command flows. Each virtual pipeline includes a configurable number of fragments and an operational state of each virtual pipeline is specified by a different context. The configurable number of virtual pipelines can be modified from a first number to a second number that is different than the first number. An emulation of a fixed-function hardware unit can be instantiated on one or more of the graphics processing cores in response to detection of a bottleneck in a fixed-function hardware unit. One or more of the virtual pipelines can then be reconfigured to utilize the emulation instead of the fixed-function hardware unit.Type: GrantFiled: October 21, 2016Date of Patent: May 26, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Timour T. Paltashev, Michael Mantor, Rex Eldon McCrary
-
Patent number: 10656951Abstract: A processing element is implemented in a stage of a pipeline and configured to execute an instruction. A first array of multiplexers is to provide information associated with the instruction to the processing element in response to the instruction being in a first set of instructions. A second array of multiplexers is to provide information associated with the instruction to the first processing element in response to the instruction being in a second set of instructions. A control unit is to gate at least one of power or a clock signal provided to the first array of multiplexers in response to the instruction being in the second set.Type: GrantFiled: October 20, 2017Date of Patent: May 19, 2020Assignees: ADVANCED MICRO DEVICES, INC., ADVANCED MICRO DEVICES (SHANGHAI) CO., LTD.Inventors: Jiasheng Chen, YunXiao Zou, Bin He, Angel E. Socarras, QingCheng Wang, Wei Yuan, Michael Mantor
-
Patent number: 10649810Abstract: Methods, devices, and systems for data driven scheduling of a plurality of computing cores of a processor. A plurality of threads may be executed on the plurality of computing cores, according to a default schedule. The plurality of threads may be analyzed, based on the execution, to determine correlations among the plurality of threads. A data driven schedule may be generated based on the correlations. The plurality of threads may be executed on the plurality of computing cores according to the data driven schedule.Type: GrantFiled: December 28, 2015Date of Patent: May 12, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Jimshed Mirza, YunPeng Zhu
-
Patent number: 10642336Abstract: A processor adjusts frequencies of one or more clock signals in response to a voltage droop at the processor. The processor generates at least one clock signal by generating a plurality of base clock signals, each of the base clock signals having a common frequency but a different phase. The processor also generates a plurality of enable signals, wherein each enable signal governs whether a corresponding one of the base clock signals is used to generate the clock signal. The enable signals therefore determine the frequency of the clock signal. In response to detecting a voltage droop, the processor adjusts the enable signals used to generate the clock signal, thereby reducing the frequency of the clock signal droop.Type: GrantFiled: July 12, 2016Date of Patent: May 5, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Steven Kommrusch, Amitabh Mehra, Richard Martin Born, Bobby D. Young
-
Patent number: 10635588Abstract: A processing system includes a first set of one or more processing units including a first processing unit, a second set of one or more processing units including a second processing unit, and a memory having an address space shared by the first and second sets. The processing system further includes a distributed coherence directory subsystem having a first coherence directory to support a first subset of one or more address regions of the address space and a second coherence directory to support a second subset of one or more address regions of the address space. In some implementations, the first coherence directory is implemented in the system so as to have a lower access latency for the first set, whereas the second coherence directory is implemented in the system so as to have a lower access latency for the second set.Type: GrantFiled: June 5, 2018Date of Patent: April 28, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Yasuko Eckert, Maurice B. Steinman, Steven Raasch
-
Patent number: 10628124Abstract: Techniques and circuits are provided for stochastic rounding. In an embodiment, a circuit includes carry-save adder (CSA) logic having three or more CSA inputs, a CSA sum output, and a CSA carry output. One of the three or more CSA inputs is presented with a random number value, while other CSA inputs are presented with input values to be summed. The circuit further includes adder logic having adder inputs and a sum output. The CSA carry output of the CSA logic is coupled with one of the adder inputs of the adder logic, and the CSA sum output of the CSA logic is coupled with another input of the adder inputs of the adder logic. A particular number of most significant bits of the sum output of the adder logic represent a stochastically rounded sum of the input values.Type: GrantFiled: March 22, 2018Date of Patent: April 21, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventor: Gabriel H. Loh
-
Patent number: 10627883Abstract: A processor includes a plurality of voltage droop detectors positioned at multiple points of a processor. The detectors monitor voltage levels and alert the processor if a droop event has been detected in real time. Multiple droops can be detected simultaneously, with each detected droop event generating an alert that is sent to a processor module, such as a clock control module, to act based on the detected droop. Each detector employs a ring oscillator that generates a periodic signal and a corresponding count based on that signal, where the frequency of the signal varies based on a voltage at the corresponding point being monitored.Type: GrantFiled: February 28, 2018Date of Patent: April 21, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Amitabh Mehra, Dana G. Lewis
-
Patent number: 10608633Abstract: An electronic device includes a die stack having a plurality of die. The die stack includes a die parity path spanning the plurality of die and configured to alternatingly identify each die as a first type or a second type. The die stack further includes an inter-die signal path spanning the plurality of die and configured to propagate an inter-die signal through the plurality of die, wherein the inter-die signal path is configured to invert a logic state of the inter-die signal between each die. Each die of the plurality of die includes signal formatting logic configured to selectively invert a logic state of the inter-die signal before providing it to other circuitry of the die responsive to whether the die is designated as the first type or the second type.Type: GrantFiled: August 28, 2019Date of Patent: March 31, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventor: Russell Schreiber
-
Patent number: 10606599Abstract: A system and method for using an operation (op) cache is disclosed. The system and method include an op cache for caching previously decoded instructions. The op cache includes a plurality of physically indexed and tagged instructions allowing sharing of instructions between threads. The op cache is chained through multiple ways allowing service of a plurality of instructions in a cache line. The op cache is stored between a shared operation storage and immediate/displacement storage to maximize capacity.Type: GrantFiled: December 9, 2016Date of Patent: March 31, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventor: David N. Suggs
-
Patent number: 10600142Abstract: A compute unit accesses a chunk of bits that represent indices of vertices of a graphics primitive. The compute unit sets values of a first bit to indicate whether the chunk is monotonic or ordinary, second bits to define an offset that is determined based on values of indices in the chunk, and sets of third bits that determine values of the indices in the chunk based on the offset defined by the second bits. The compute unit writes a compressed chunk represented by the first bit, the second bits, and the sets of third bits to a memory. The compressed chunk is decompressed and the decompressed indices are written to an index buffer. In some embodiments, the indices are decompressed based on metadata that includes offsets that are determined based on values of the indices and bitfields that indicate characteristics of the indices.Type: GrantFiled: December 5, 2017Date of Patent: March 24, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Usame Ceylan, Young In Yeo, Todd Martin, Vineet Goel
-
Patent number: 10592279Abstract: A method and processing apparatus for accelerating program processing is provided that includes a plurality of processors configured to process a plurality of tasks of a program and a controller. The controller is configured to determine, from the plurality of tasks being processed by the plurality of processors, a task being processed on a first processor to be a lagging task causing a delay in execution of one or more other tasks of the plurality of tasks. The controller is further configured to provide the determined lagging task to a second processor to be executed by the second processor to accelerate execution of the lagging task.Type: GrantFiled: June 23, 2016Date of Patent: March 17, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Arkaprava Basu, Dmitri Yudanov, David A. Roberts, Mitesh R. Meswani, Sergey Blagodurov
-
Patent number: 10592442Abstract: A processor applies offset values to read and write pointers to a first-in-first-out buffer (FIFO) for data being transferred between clock domains. The pointer offsets are based on a frequency ratio between the clock domains, and reduce latency while ensuring that data is not read by the receiving clock domain from an entry of the FIFO until after the data has been written to the entry, thereby reducing data transfer errors. The processor resets the pointer offset values in response to a change in clock frequency at one or both of the clock domains, allowing the processor to continue to accurately transfer data in response to clock frequency changes.Type: GrantFiled: December 11, 2017Date of Patent: March 17, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Richard Martin Born, David M. Dahle, Steven Kommrusch
-
Patent number: 10592207Abstract: A conversion unit converts operands from a conventional number system that represents each binary number in the operands as one bit to redundant number system (RNS) operands that represent each binary number as a plurality of bits. An arithmetic logic unit performs an arithmetic operation on the RNS operands in a direction from a most significant bit (MSB) to a least significant bit (LSB). The arithmetic logic unit stops performing the arithmetic operation prior to performing the arithmetic operation on a target binary number indicated by a dynamic precision associated with the RNS operands. In some cases, a power supply provides power to bit slices in the arithmetic logic unit and a clock signal generator provides clock signals to the bit slices. Gate logic is configured to gate the power or the clock signals provided to a subset of the bit slices.Type: GrantFiled: April 8, 2019Date of Patent: March 17, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Greg Sadowski, Wayne Burleson
-
Patent number: 10595045Abstract: A processing device is provided which includes memory configured to store data and a processor. The processor is configured to receive a plurality of panoramic video images representing views around a point in a three dimensional (3D) space and warp the plurality of panoramic video images, using a panoramic format, into a plurality of formatted warped images. The processor is also configured to store, in the memory, the plurality of formatted warped images and perform a motion search around each co-located pixel block of a reference panoramic frame by limiting the motion searches in a vertical direction around the co-located pixel blocks.Type: GrantFiled: July 27, 2017Date of Patent: March 17, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventor: Michael L. Schmit
-
Patent number: 10592248Abstract: Techniques for improving branch target buffer (“BTB”) operation. A compressed BTB is included within a branch prediction unit along with an uncompressed BTB. To support prediction of up to two branch instructions per cycle, the uncompressed BTB includes entries that each store data for up to two branch predictions. The compressed BTB includes entries that store data for only a single branch instruction for situations where storing that single branch instruction in the uncompressed BTB would waste space in that buffer. Space would be wasted in the uncompressed BTB due to the fact that, in order to support two branch lookups per cycle, prediction data for two branches must have certain features in common (such as cache line address) in order to be stored together in a single entry.Type: GrantFiled: August 30, 2016Date of Patent: March 17, 2020Assignee: ADVANCED MICRO DEVICES, INC.Inventor: Steven R. Havlir