Organization Of Register Space, E.g., Distributed Register Files, Register Banks (epo) Patents (Class 712/E9.027)
-
Patent number: 12159140Abstract: An electronic device receives a single instruction to apply a neural network operation to a set of M-bit elements stored in one or more input vector registers to initiate a sequence of computational operations related to a neural network. In response to the single instruction, the electronic device implements the neural network operation on the set of M-bit elements to generate a set of P-bit elements by obtaining the set of M-bit elements from the one or more input vector registers, quantizing each of the set of M-bit elements from M bits to P bits, and packing the set of P-bit elements into an output vector register. P is smaller than M. In some embodiments, the neural network operation is a quantization operation including at least a multiplication with a quantization factor and an addition with a zero point.Type: GrantFiled: April 28, 2022Date of Patent: December 3, 2024Assignee: QUALCOMM IncorporatedInventors: Srijesh Sudarsanan, Deepak Mathew, Marc Hoffman, Sundar Rajan Balasubramanian, Mansi Jain, James Lee, Gerald Sweeney
-
Patent number: 12135874Abstract: In described examples, a flash memory bank includes application and bootloader portions. The application portion stores first instructions for performing an interrupt service routine (ISR). The bootloader portion stores second instructions for: causing the flash memory bank to receive new first instructions for performing the ISR and write the new first instructions to replace old first instructions, and executing the new first instructions. The new first instructions execute the following steps in order. First, while maintaining an interrupt response, initializing variables specified by the new first instructions and not specified by the old first instructions, and not changing variables specified by the old first instructions. Second, after determining there is no interrupt response in process, disabling the interrupt response and proceeding to a third step. Third, initializing a stack, updating an interrupt vector, and updating a function pointer. Fourth, re-enabling the interrupt response.Type: GrantFiled: March 23, 2022Date of Patent: November 5, 2024Assignee: TEXAS INSTRUMENTS INCORPORATEDInventor: Sira Parasurama Rao
-
Patent number: 12032990Abstract: In certain embodiments, an electronic device comprises a display; a first memory; a second memory storing a plurality of applications; and a processor, wherein the processor is configured to: switch a screen displayed on the display from a first screen to a second screen, wherein the second screen includes a plurality of objects respectively indicating the plurality of applications; identify applications which are not running among the plurality of applications, in response to the switching to the second screen; and load data of at least one application from the second memory to the first memory, based on a predetermined criteria, before receiving an input selecting the at least one application.Type: GrantFiled: February 5, 2020Date of Patent: July 9, 2024Assignee: Samsung Electronics Co., Ltd.Inventors: Hyunjoon Cha, Chulmin Kim, Yongtaek Lee, Ohoon Kwon, Jaewon Kim, Sooyong Suk
-
Patent number: 12008149Abstract: A computer system, processor, computer program product, and method for executing instructions in a software application that includes a processor that can be dynamically controlled, in response to a value set in a control register, to operate in either a secure mode or a performance mode. In the secure mode, the processor: upon encountering a secure mode entry instruction, computes an entry hash value using a hash function and stores the entry hash value; and upon encountering a secure mode exit instruction, computes an exit hash value, loads the entry hash value, and determines whether the entry hash value is the same as the exit hash value, and depending upon verification of the hash values can execute the return function or transfer control to the operating system. In the performance mode, the processor: executes both the secure mode entry instruction and the secure mode exit instruction as no-operations.Type: GrantFiled: December 16, 2020Date of Patent: June 11, 2024Assignee: International Business Machines CorporationInventors: Debapriya Chatterjee, Brian W. Thompto, Jose E. Moreira
-
Patent number: 11983537Abstract: A multi-stage processor has a pre-fetch stage, and a sequence of pipelined processor stages. A thread map register contains thread identifiers, and a thread map valid register has locations corresponding to the thread map register and indicating whether a value in the thread map register is to be fetched or not, and a thread map length register indicates the number of thread map register locations forming a canonical sequence of thread identifiers to the pre-fetch stage. The pre-fetch stage does not act on a thread identifier with a not valid thread map valid value, thereby saving power in low demand conditions.Type: GrantFiled: December 21, 2022Date of Patent: May 14, 2024Assignee: Ceremorphic, Inc.Inventors: Venkat Mattela, Heonchul Park, Radhika Ponnamaneni, Govardhan Mattela
-
Patent number: 10713056Abstract: A non-limiting example of a computer-implemented method for implementing wide vector execution for an out-of-order processor includes entering, by the out-of-order processor, a single thread mode. The method further includes partitioning, by the out-of-order processor, a vector register file into a plurality of register files, each of the plurality of register files being associated with a vector execution unit, the vector execution units forming a wide vector execution unit. The method further includes receiving, by a vector scalar register of the out-of-order processor, a wide vector instruction. The method further includes processing, by the wide vector execution unit, the wide vector instruction.Type: GrantFiled: November 8, 2017Date of Patent: July 14, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Silvia M. Mueller, Mauricio J. Serrano, Balaram Sinharoy
-
Patent number: 10705847Abstract: A non-limiting example of a computer-implemented method for implementing wide vector execution for an out-of-order processor includes entering, by the out-of-order processor, a single thread mode. The method further includes partitioning, by the out-of-order processor, a vector register file into a plurality of register files, each of the plurality of register files being associated with a vector execution unit, the vector execution units forming a wide vector execution unit. The method further includes receiving, by a vector scalar register of the out-of-order processor, a wide vector instruction. The method further includes processing, by the wide vector execution unit, the wide vector instruction.Type: GrantFiled: August 1, 2017Date of Patent: July 7, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Silvia M. Mueller, Mauricio J. Serrano, Balaram Sinharoy
-
Patent number: 10565017Abstract: A multi-thread processor and a method of controlling a multi-thread processor are provided. The multi-thread processor includes at least one functional unit; a mode register; and a controller configured to control the mode register to store thread mode information corresponding to a task to be processed among a plurality of thread modes, wherein the plurality of thread modes are divided based on a size and a number of at least one thread that is concurrently processed in one of the at least one functional unit, allocate at least one thread included in the task to the at least one functional unit based on the thread mode information stored in the mode register and control the at least one functional unit to process the at least one thread.Type: GrantFiled: August 4, 2017Date of Patent: February 18, 2020Assignee: Samsung Electronics Co., Ltd.Inventors: Dong-kwan Suh, Suk-jin Kim, Jin-sae Jung, Kang-jin Yoon
-
Patent number: 10481915Abstract: Provided are methods, systems, and computer program products to implementing a split store data queue for an out-of-order (OoO) processor. A non-limiting example of the computer-implemented method includes detecting, by the OoO processor, a mode of the OoO processor. The method further includes partitioning, by the OoO processor, a first store data queue (SDQ) and a second SDQ based at least in part on the mode of the OoO processor. The method further includes receiving, by the OoO processor, a vector operand. The method further includes storing, by the OoO processor, the vector operand in at least one of the first SDQ and the second SDQ based at least in part on the mode of the OoO processor.Type: GrantFiled: September 20, 2017Date of Patent: November 19, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Bryan J. Lloyd, Balaram Sinharoy
-
Patent number: 9703614Abstract: Embodiments include method, systems and computer program products for searching a social network for media content. Aspects include identifying one or more available resources for execution by the processor, determining a maximum number of resources the processor can utilize in executing an instruction group, and grouping the one or more available resources into one or more resource groups, wherein each of the one or more resource groups has a size equal to the maximum number. Aspects also include receiving a request from a decode logic for a number of resources for execution and dispatching one of the one or more resource groups in response to the request by providing the number of resources for execution to the processor and sending remaining resources in the one of the one or more resource groups to a recycle queue.Type: GrantFiled: October 4, 2016Date of Patent: July 11, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Gregory W. Alexander, Brian D. Barrick
-
Patent number: 9189277Abstract: Provided is a method and system for dynamically parallelizing an application program. Specifically, provided is a method and system having multi-core control that may verify a number of available threads according to an application program and dynamically parallelize data based on the verified number of available threads. The method and system for dynamically parallelizing the application program may divide a data block to be processed according to the application program based on a relevant data characteristic and dynamically map the threads to division blocks, and thereby enhance a system performance.Type: GrantFiled: July 22, 2013Date of Patent: November 17, 2015Assignees: SAMSUNG ELECTRONICS CO., LTD., UNIVERSITY OF SOUTHERN CALIFORNIAInventors: Seung Won Lee, Shi Hwa Lee, Dong-In Kang, Mikyung Kang
-
Patent number: 8914615Abstract: A processor core supports execution of program instruction from both a first instruction set and a second instruction set. An architectural register file 18 containing architectural registers is shared by the two instruction sets. The two instruction sets employ logical register specifiers which for at least some values of those logical registers specifiers correspond to different architectural registers within the architectural register file 18. A first decoder 4 for the first instruction set and a second decoder 6 for the second instruction set serve to decode the logical register specifiers to a common register addressing format. This common register addressing format is used to supply register specifiers to renaming circuitry 10 for supporting register renaming in conjunction with a physical register file 16 and an architectural register file 18.Type: GrantFiled: December 2, 2011Date of Patent: December 16, 2014Assignee: ARM LimitedInventors: Glen Andrew Harris, James Nolan Hardage, Mark Carpenter Glass
-
Patent number: 8533435Abstract: One embodiment of the present invention sets forth a technique for collecting operands specified by an instruction. As a sequence of instructions is received the operands specified by the instructions are assigned to ports, so that each one of the operands specified by a single instruction is assigned to a different port. Reading of the operands from a multi-bank register file is scheduled by selecting an operand from each one of the different ports to produce an operand read request and ensuring that two or more of the selected operands are not stored in the same bank of the multi-bank register file. The operands specified by the operand read request are read from the multi-bank register file in a single clock cycle. Each instruction is then executed as the operands specified by the instruction are read from the multi-bank register file and collected over one or more clock cycles.Type: GrantFiled: September 3, 2010Date of Patent: September 10, 2013Assignee: NVIDIA CorporationInventors: Xiaogang Qiu, Ming Y. Siu, Yan Yan Tang, John Erik Lindholm, Michael C. Shebanow, Stuart F. Oberman
-
Patent number: 7962731Abstract: A Backing Store Buffer is interposed between a Physical Register File and the Backing Store in a stacked register file architecture. A Register Save Engine temporarily stores data from registers in the Physical Register File allocated to inactive procedures on-chip, freeing the registers to be re-allocated to new procedures. When the a procedures complete and returns control to a prior, inactive procedure, the Register Store Engine retrieves data associated with the inactive procedure from the Backing Store Buffer to registers in the Physical Register File, and the registers are re-allocated to the inactive procedure. The Register Save Engine saves data from the Backing Store Buffer to the Backing Store, incurring the significant performance degradation and power consumption required for off-chip RAM access, only when the Backing Store Buffer is full and more data must be saved from the Physical Register File.Type: GrantFiled: October 20, 2005Date of Patent: June 14, 2011Assignee: QUALCOMM IncorporatedInventor: Bohuslav Rychlik