Patents Assigned to Micro Devices, Inc.
-
Publication number: 20180046463Abstract: A system and method for load queue (LDQ) and store queue (STQ) entry allocations at address generation time that maintains age-order of instructions is described. In particular, writing LDQ and STQ entries are delayed until address generation time. This allows the load and store operations to dispatch, and younger operations (which may not be store and load operations) to also dispatch and execute their instructions. The address generation of the load or store operation is held at an address generation scheduler queue (AGSQ) until a load or store queue entry is available for the operation. The tracking of load queue entries or store queue entries is effectively being done in the AGSQ instead of at the decode engine. The LDQ and STQ depth is not visible from a decode engine's perspective, and increases the effective processing and queue depth.Type: ApplicationFiled: August 15, 2016Publication date: February 15, 2018Applicant: Advanced Micro Devices, Inc.Inventor: John M. King
-
Patent number: 9893730Abstract: A level shifter generates at least three separate voltage rails. The level shifter features two cross-coupled devices coupled together in parallel by a capacitor. A first stage includes a PMOS cross-coupled device in series with a PMOS cascode circuit that generates an upper voltage rail. A second stage includes a NMOS cross-coupled device in series with a NMOS cascode circuit that generates a lower rail. A third stage includes the PMOS cascode circuit and the NMOS cascode circuit that together are configured to generate a third voltage rail.Type: GrantFiled: March 31, 2017Date of Patent: February 13, 2018Assignee: Advanced Micro Devices, Inc.Inventor: Talip Ucar
-
Patent number: 9894615Abstract: A method, system, and device provide power-efficient communications within the context of available power. Transmission and receipt data rates are scalable in accordance with output power available from a power source. Data is transmitted at a data rate determined, at least in part, by the available output power.Type: GrantFiled: January 27, 2017Date of Patent: February 13, 2018Assignee: SUNRISE MICRO DEVICES, INC.Inventors: Edgar H. Callaway, Jr., Paul E. Gorday
-
Patent number: 9891271Abstract: A power grid provides power to one or more modules of an integrated circuit device via a virtual power supply signal. A test module is configured to respond to assertion of a test signal so that, when the power grid is working properly and is not power gated, an output of the test module matches the virtual power supply. When the power grid is not working properly, the output of the test module is a fixed logic signal that does not vary based on the power gated state of the one or more modules.Type: GrantFiled: July 19, 2013Date of Patent: February 13, 2018Assignee: Advanced Micro Devices, Inc.Inventors: Russell Schreiber, Joel Irby, Sudha Thiruvengadam, Carl Dietz
-
Patent number: 9892058Abstract: Systems, apparatuses, and methods for managing a unified shared virtual address space. A host may execute system software and manage a plurality of nodes coupled to the host. The host may send work tasks to the nodes, and for each node, the host may externally manage the node's view of the system's virtual address space. Each node may have a central processing unit (CPU) style memory management unit (MMU) with an internal translation lookaside buffer (TLB). In one embodiment, the host may be coupled to a given node via an input/output memory management unit (IOMMU) interface, where the IOMMU frontend interface shares the TLB with the given node's MMU. In another embodiment, the host may control the given node's view of virtual address space via memory-mapped control registers.Type: GrantFiled: December 16, 2015Date of Patent: February 13, 2018Assignee: Advanced Micro Devices, Inc.Inventor: John Wilkes
-
Patent number: 9892063Abstract: In response to a processor receiving data associated with a shared memory location, a contention blocking buffer stores a memory address of the shared memory location. In response to a probe seeking to take ownership of the shared memory location, the contention blocking buffer determines if the memory address indicated by the probe is stored at the contention blocking buffer. If so, the contention blocking buffer blocks the probe, thereby preventing another processor from taking ownership of the shared memory location.Type: GrantFiled: November 27, 2012Date of Patent: February 13, 2018Assignee: Advanced Micro Devices, Inc.Inventor: William Evan Jones, III
-
Publication number: 20180039531Abstract: Techniques for performing redundant multi-threading (“RMT”) include the use of an RMT compare instruction by two program instances (“work-items”). The RMT compare instruction specifies a value from each work-item to be compared. Upon executing the RMT compare instructions, the work-items transmit the values to a hardware comparator unit. The hardware comparator unit compares the received values and performs an error action if the values do not match. The error action may include sending an error code in a return value back to the work-items that requested the comparison or emitting a trap signal. Optionally, the work-items also send addresses for comparison to the comparator unit. If the addresses and values match, then the comparator stores the value at the specified address. If either or both of the values or the addresses do not match, then the comparator performs an error action.Type: ApplicationFiled: August 8, 2016Publication date: February 8, 2018Applicant: Advanced Micro Devices, Inc.Inventors: Daniel I. Lowell, Manish Gupta
-
Patent number: 9886326Abstract: A scheduler is presented that can adjust, responsive to a thermal condition at the processing device, a scheduling of process threads for compute units of the processing device so as to increase resource contentions between the process threads.Type: GrantFiled: February 13, 2014Date of Patent: February 6, 2018Assignee: Advanced Micro Devices, Inc.Inventors: Indrani Paul, Manish Arora, William Lloyd Bircher
-
Publication number: 20180033184Abstract: Techniques for culling primitives are provided herein. The techniques involve automatic generation of shader programs to be executed by an accelerated processing device. A just-in-time compiler automatically generates the shader programs based on a vertex shader program that is provided for use in the vertex shader stage of the graphics processing pipeline. The automatically generated shader programs include instructions from the vertex shader program that transform the positions of vertices provided as input to the graphics processing pipeline to generate transformed input vertices. The shader programs also include instructions to cull primitives based on the transformed input vertices. After generating the automatically generated shader programs, the software module transmits the automatically generated shader programs to the graphics processing pipeline for execution.Type: ApplicationFiled: July 27, 2016Publication date: February 1, 2018Applicant: Advanced Micro Devices, Inc.Inventors: Guohua Jin, Qun Lin, Benedikt Kessler
-
Patent number: 9880848Abstract: A processing core of a plurality of processing cores is configured to execute a speculative region of code as a single atomic memory transaction with respect one or more others of the plurality of processing cores. In response to determining an abort condition for an issued one of the plurality of program instructions and in response to determining that the issued program instruction is not part of a mispredicted execution path, the processing core is configured to abort an attempt to execute the speculative region of code.Type: GrantFiled: June 11, 2010Date of Patent: January 30, 2018Assignee: Advanced Micro Devices, Inc.Inventors: Jaewoong Chung, David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst, Martin T. Pohlack, Luke Yen
-
Patent number: 9875195Abstract: A system and method are disclosed for managing memory interleaving patterns in a system with multiple memory devices. The system includes a processor configured to access multiple memory devices. The method includes receiving a first plurality of data blocks, and then storing the first plurality of data blocks using an interleaving pattern in which successive blocks of the first plurality of data blocks are stored in each of the memory devices. The method also includes receiving a second plurality of data blocks, and then storing successive blocks of the second plurality of data blocks in a first memory device of the multiple memory devices.Type: GrantFiled: August 14, 2014Date of Patent: January 23, 2018Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Nuwan S. Jayasena, Lisa R. Hsu, James M. O'Connor
-
Publication number: 20180018133Abstract: In one form, an apparatus includes a memory controller. The memory controller includes a command queue and an arbiter. The command queue receives and stores memory access requests. The arbiter picks the memory access requests from the command queue based on a plurality of criteria, and provides picked memory access requests to a memory channel. The arbiter includes a streak counter for counting a number of consecutive memory access requests of a first type that the arbiter picks from the command queue. When the streak counter reaches a threshold, the arbiter suspends picking requests of the first type and picks at least one memory access request of a second type. The arbiter provides the at least one memory access request of the second type to the memory channel.Type: ApplicationFiled: September 22, 2016Publication date: January 18, 2018Applicant: Advanced Micro Devices, Inc.Inventor: Kedarnath Balakrishnan
-
Publication number: 20180019006Abstract: A memory controller includes a host interface for receiving memory access requests including access addresses, a memory interface for providing memory accesses to a memory system, and an address decoder coupled to the host interface for programmably mapping the access addresses to selected ones of a plurality of regions. The address decoder is programmable to map the access addresses to a first region having a non-power-of-two size using a primary decoder and a secondary decoder each having power-of-two sizes, and providing a first region mapping signal in response. A command queue stores the memory access requests and region mapping signals. An arbiter picks the memory access requests from the command queue based on a plurality of criteria, which are evaluated based in part on the region mapping signals, and provides corresponding memory accesses to the memory interface in response.Type: ApplicationFiled: July 15, 2016Publication date: January 18, 2018Applicant: Advanced Micro Devices, Inc.Inventors: Kevin M. Brandl, Thomas Hamilton, Hideki Kanayama, Kedarnath Balakrishnan, James R. Magro, Guanhao Shen, Mark Fowler
-
Publication number: 20180018291Abstract: In one form, a memory controller includes a command queue and an arbiter. The command queue receives and stores memory access requests. The arbiter includes a plurality of sub-arbiters for providing a corresponding plurality of sub-arbitration winners from among the memory access requests during a controller cycle, and for selecting among the plurality of sub-arbitration winners to provide a plurality of memory commands in a corresponding controller cycle. In another form, a data processing system includes a memory accessing agent for providing memory accesses requests, a memory system, and the memory controller coupled to the memory accessing agent and the memory system.Type: ApplicationFiled: July 15, 2016Publication date: January 18, 2018Applicant: Advanced Micro Devices, Inc.Inventors: James R. Magro, Kedarnath Balakrishnan, Jackson Peng, Hideki Kanayama
-
Publication number: 20180018105Abstract: In one form, a memory controller has a memory channel controller including a command queue and an arbiter. The command queue stores memory access requests including a sub-channel number in a virtual controller mode. The arbiter is coupled to the command queue to select memory access commands from the command queue according to predetermined criteria. In the virtual controller mode, the arbiter selects from among the memory access requests in each sub-channel independently using the predetermined criteria, and sends selected memory access requests to a corresponding one of a plurality of sub-channels. In another form, a data processing system includes a plurality of memory channels and such a memory controller coupled to the plurality of sub-channels.Type: ApplicationFiled: August 31, 2016Publication date: January 18, 2018Applicant: Advanced Micro Devices, Inc.Inventors: James R. Magro, Kedarnath Balakrishnan
-
Publication number: 20180018221Abstract: In one form, a memory controller includes a command queue, an arbiter, and a replay queue. The command queue receives and stores memory access requests. The arbiter is coupled to the command queue for providing a sequence of memory commands to a memory channel. The replay queue stores the sequence of memory commands to the memory channel, and continues to store memory access commands that have not yet received responses from the memory channel. When a response indicates a completion of a corresponding memory command without any error, the replay queue removes the corresponding memory command without taking further action. When a response indicates a completion of the corresponding memory command with an error, the replay queue replays at least the corresponding memory command. In another form, a data processing system includes the memory controller, a memory accessing agent, and a memory system to which the memory controller is coupled.Type: ApplicationFiled: December 9, 2016Publication date: January 18, 2018Applicant: Advanced Micro Devices, Inc.Inventors: James R. Magro, Ruihua Peng, Anthony Asaro, Kedarnath Balakrishnan, Scott P. Murphy, YuBin Yao
-
Patent number: 9870473Abstract: The present disclosure presents methods and apparatuses for controlling a power state, which may include a C-state, of one or more processing cores of a processor. In an aspect, an example method of securing a power state change of a processor is presented, the method including the steps of receiving a power state change request from the processor, the processor having a plurality of potential power states each including an operating power profile; determining a power state change request mode associated with the processor; forwarding the power state change request to a security processor where the power state change request mode is a one-time request mode; receiving a power state change request response from the security processor in response to the request; and adjusting the current power state of the processor to the target power state where the power state change request response comprises a power state change approval.Type: GrantFiled: October 31, 2014Date of Patent: January 16, 2018Assignee: Advanced Micro Devices, Inc.Inventors: Benjamin Tsien, Denis Rystsov, Sebastien Nussbaum
-
Patent number: 9870318Abstract: A system and method for efficiently relocating and initializing a block of memory of the computer system. For data initialization and data relocation, multiple registers in a processor are used for intermediate storage of data to be written into the memory. Regardless of whether the amount of data to initialize or relocate is aligned with the register data size, the processor writes the data into the destination buffer with write operations that only utilize the register data size. The write operations utilize the register data size when each of the start and the end of the destination buffer is aligned with the register width, when the start of the destination buffer is unaligned with the register width, when a source buffer and the destination buffer are unaligned with one another for a copy operation, and when the source buffer and the destination buffer overlap.Type: GrantFiled: July 23, 2014Date of Patent: January 16, 2018Assignee: Advanced Micro Devices, Inc.Inventor: Jeremy P. Goodwin
-
Patent number: 9870220Abstract: An electronic device includes routing logic operatively coupled to a communication port that is externally accessible so that there is no need to disassemble the electronic device to gain access. The port may be a USB (universal serial bus) port and provides access to an internal bus. The routing logic is also operatively coupled to a memory subsystem such that it may route data from an external device, connected at the port, to the memory subsystem to modify or replace a boot code, including a BIOS code. A memory interface device includes an interface module, a memory interface module for communicating with a memory subsystem including a boot PROM (programmable read only memory), and a routing logic coupled to the interface module and the memory interface module. The routing logic routes data from the external device to the boot PROM, so that a boot code, including a BIOS (basic input/output system), may be modified or replaced.Type: GrantFiled: December 5, 2008Date of Patent: January 16, 2018Assignee: Advanced Micro Devices, Inc.Inventor: Mikhael Lerman
-
Publication number: 20180011798Abstract: A method and system for allocating memory to a memory operation executed by a processor in a computer arrangement having a first processor configured for unified operation with a second processor. The method includes receiving a memory operation from a processor and mapping the memory operation to one of a plurality of memory heaps. The mapping produces a mapping result. The method also includes providing the mapping result to the processor.Type: ApplicationFiled: September 5, 2017Publication date: January 11, 2018Applicants: Advanced Micro Devices, Inc., ATI Technologies ULCInventors: Anthony ASARO, Kevin NORMOYLE, Mark HUMMEL