Method, system, and computer program product for supporting large-word operations in a processor of a reduced instruction set ("RISC") computer

The integration of a special-purpose hardware execution unit with wider registers and synchronized state master bits addresses the challenge of performing large operand computations in RISC processors, notably improving SHA-3 processing efficiency.

DE112022004046B4Active Publication Date: 2025-07-31INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE112022004046
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-10-14
Filing Date
2022-10-09
Publication Date
2025-07-31
Estimated Expiration
2042-10-09

AI Technical Summary

Technical Problem

Modern RISC processors face challenges in performing computations on operands larger than their register width, such as those required by Secure Hash Algorithm-3 (SHA-3), without breaking down the operands into smaller elements, which affects performance and efficiency.

Method used

Incorporating a special-purpose hardware execution unit (SPU) with wider registers than the CPU, synchronized by state master bits, to handle quadword operations, ensuring coherency and handling exceptions/interrupts to maintain optimal access to the shared state.

Benefits of technology

This approach significantly reduces the time required for SHA-3 computations, achieving faster processing of large state modifications by maintaining separate copies of the state and optimizing access, thus enhancing computational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A method for supporting large-word operations in a data processing environment by one or more processors, comprising: in response to receiving one or more control signals from a central processing unit (CPU), executing (1004) a set of operations on a state of a special-purpose execution unit (420), SPU, which is a processor and has a plurality of SPU registers (430), wherein word widths of one or more of the plurality of SPU registers (430) are each greater than word widths of a plurality of CPU registers of the CPU, and wherein a set of state master bits is used to synchronize the state of the SPU and a state of the CPU, for example, during exceptions and interrupts; and storing (1006) results of the set of operations in the plurality of CPU registers or an alternative set of the plurality of SPU registers (430).
Need to check novelty before this filing date? Find Prior Art

Claims

[1] A method for supporting large-word operations in a data processing environment by one or more processors, comprising: in response to receiving one or more control signals from a central processing unit, CPU, executing (1004) a set of operations on a state of a special execution unit (420), SPU, which is a processor and has a plurality of SPU registers (430), wherein word widths of one or more of the plurality of SPU registers (430) are each greater than word widths of a plurality of CPU registers of the CPU, and wherein a set of state master bits is used to synchronize the state of the SPU and a state of the CPU, for example, during exceptions and interrupts; and Storing (1006) results of the set of operations in the plurality of CPU registers or an alternative set of the plurality of SPU registers (430). [2] The method of claim 1, further comprising overlaying the state of the plurality of SPU registers (430) with the plurality of CPU registers in the CPU. [3] The method of claim 1, further comprising copying the state of the plurality of CPU registers to the plurality of SPU registers (430) using a set of arithmetic instructions or CPU internal operations. [4] The method of claim 1, further comprising copying the state of the plurality of SPU registers (430) to the plurality of CPU registers using the set of computation instructions. [5] The method of claim 1, further comprising: replicating the state of the SPU for each of a plurality of threads of the SPU; and Processing computational instructions issued by each of the plurality of threads of the SPU in the pipeline system. [6] The method of claim 1, further comprising implementing instructions by the SPU to perform a round of state permutation functions of the Secure Hash Algorithm-3, SHA-3, wherein the state of the SPU is a width of a first register having at least n number of bits and a second register having m number of bits, where n and m are positive integers. [7] The method of claim 1, further comprising: Executing a plurality of instructions by the SPU to perform a plurality of rounds of state permutation functions of the Secure Hash Algorithm-3, SHA-3; and Using one or more different coherency protocols between the plurality of CPU registers and the alternate set of the plurality of SPU registers (430) with the plurality of instructions. [8] A system for supporting large-word operations in a processor in a data processing environment, comprising: one or more computers with executable instructions that, when executed, cause the system to: in response to receiving one or more control signals from a central processing unit, CPU, executing (1006) a set of operations on a state of a special execution unit (420), SPU, which is a processor and has a plurality of SPU registers (430), wherein word widths of one or more of the plurality of SPU registers (430) are each greater than word widths of a plurality of CPU registers of the CPU, and wherein a set of state master bits is used to synchronize the state of the SPU and a state of the CPU, for example, during exceptions and interrupts; and Storing (1006) results of the set of operations in the plurality of CPU registers or an alternative set of the plurality of SPU registers (430). [9] The system of claim 8, wherein the executable instructions, when executed, cause the system to overlay the state of the plurality of SPU registers (430) with the plurality of CPU registers in the CPU. [10] The system of claim 8, wherein the executable instructions, when executed, cause the system to copy the state of the plurality of CPU registers to the plurality of SPU registers (430) using a set of arithmetic instructions or CPU-internal operations. [11] The system of claim 8, wherein the executable instructions, when executed, cause the system to copy the state of the plurality of SPU registers (430) to the plurality of CPU registers using the set of computation instructions. [12] The system of claim 8, wherein the executable instructions, when executed, cause the system to: replicating the state of the SPU for each of a plurality of threads of the SPU; and Processing computational instructions issued by each of the plurality of threads of the SPU in the pipeline system. [13] The system of claim 8, wherein the executable instructions, when executed, cause the system to execute, through the SPU, instructions to perform a round of state permutation functions of the Secure Hash Algorithm-3, SHA-3, wherein the state of the SPU is a width of a first register having at least n number of bits and a second register having m number of bits, where n and m are positive integers. [14] The system of claim 8, wherein the executable instructions, when executed, cause the system to: Executing a plurality of instructions by the SPU to perform a plurality of rounds of state permutation functions of the Secure Hash Algorithm-3, SHA-3; and Using one or more different coherency protocols between the plurality of CPU registers and the alternate set of the plurality of SPU registers (430) with the plurality of instructions. [15] A computer program product for supporting large-word operations in a processor in a data processing environment, the computer program product comprising: one or more computer-readable storage media and program instructions stored together on the one or more computer-readable storage media, the program instructions comprising: in response to receiving one or more control signals from a central processing unit, CPU: Program instructions for executing (1004) a set of operations on a state of a special execution unit (420), SPU, which is a processor and has a plurality of SPU registers (430), wherein word widths of one or more of the plurality of SPU registers (430) are each greater than word widths of a plurality of CPU registers of the CPU, and wherein a set of state master bits is used to synchronize the state of the SPU and a state of the CPU, for example, during exceptions and interrupts; and Program instructions for storing (1006) results of the set of operations in the plurality of CPU registers or an alternative set of the plurality of SPU registers (430). [16] The computer program product of claim 15, further comprising program instructions for overlaying the state of the plurality of SPU registers (430) with the plurality of CPU registers in the CPU. [17] The computer program product of claim 15, further comprising program instructions for: Copying the state of the plurality of CPU registers into the plurality of SPU registers (430) using a set of arithmetic instructions or CPU-internal operations; and Copying the state of the plurality of SPU registers (430) to the plurality of CPU registers using the set of arithmetic instructions. [18] The computer program product of claim 15, further comprising program instructions for: replicating the state of the SPU for each of a plurality of threads of the SPU; and Processing computational instructions issued by each of the plurality of threads of the SPU in the pipeline system. [19] The computer program product of claim 15, further comprising program instructions for executing instructions by the SPU to perform a round of state permutation functions of the Secure Hash Algorithm-3, SHA-3, wherein the state of the SPU is a width of a first register having at least a number of n bits and a second register having a number of m bits, where n and m are positive integers. [20] The computer program product of claim 15, further comprising program instructions for a Executing a plurality of instructions by the SPU to perform a plurality of rounds of state permutation functions of the Secure Hash Algorithm-3, SHA-3; and Using one or more different coherency protocols between the plurality of CPU registers and the alternate set of the plurality of SPU registers (430) with the plurality of instructions.