PROCESSING VECTORS USING WRAPPING SHIFT INSTRUCTIONS IN THE MACROSCALAR ARCHITECTURE
    21.
    发明申请
    PROCESSING VECTORS USING WRAPPING SHIFT INSTRUCTIONS IN THE MACROSCALAR ARCHITECTURE 有权
    使用包装移动指令在宏观架构中处理向量

    公开(公告)号:US20130024669A1

    公开(公告)日:2013-01-24

    申请号:US13625097

    申请日:2012-09-24

    Applicant: APPLE INC.

    Inventor: Jeffry E. Gonion

    CPC classification number: G06F8/4441 G06F9/30032 G06F9/30036 G06F9/30072

    Abstract: Embodiments of a system and a method in which a processor may execute instructions that cause the processor to receive an input vector and a control vector are disclosed. The executed instructions may also cause the processor to perform a shift operation on another input vector dependent upon the input vector and the control vector.

    Abstract translation: 公开了一种系统和方法的实施例,其中处理器可以执行使处理器接收输入向量和控制向量的指令。 执行的指令还可以使处理器根据输入向量和控制向量对另一个输入向量执行移位操作。

    PC-Based Memory Permissions
    23.
    发明公开

    公开(公告)号:US20230418767A1

    公开(公告)日:2023-12-28

    申请号:US18343125

    申请日:2023-06-28

    Applicant: Apple Inc.

    CPC classification number: G06F12/1483 G06F12/1027 G06F12/1475

    Abstract: A memory permissions model for a processor that is based on the memory address accessed by an instruction as well as the program counter of the instruction. These permissions may be stored in permissions tables and indexed using the memory addresses of the instruction and the address of the memory locations that it accesses. Those indexes may be obtained from a page table in some cases. These memory permissions may be used in conjunction with other permissions, such as execute permissions and secondary execution privileges that are based on whether the instruction belongs to a particular instruction group.

    INDIRECT BRANCH PREDICTOR SECURITY PROTECTION

    公开(公告)号:US20230010948A1

    公开(公告)日:2023-01-12

    申请号:US17932883

    申请日:2022-09-16

    Applicant: Apple Inc.

    Abstract: A system and method for efficiently protecting branch prediction information. In various embodiments, a computing system includes at least one processor with a branch predictor storing branch target addresses and security tags in a table. The security tag includes one or more components of machine context. When the branch predictor receives a portion of a first program counter of a first branch instruction, and hits on a first table entry during an access, the branch predictor reads out a first security tag. The branch predictor compares one or more components of machine context of the first security tag to one or more components of machine context of the first branch instruction. When there is at least one mismatch, the branch prediction information of the first table entry is not used. Additionally, there is no updating of any branch prediction training information of the first table entry.

    Computation engine with strided dot product

    公开(公告)号:US10990401B2

    公开(公告)日:2021-04-27

    申请号:US16837631

    申请日:2020-04-01

    Applicant: Apple Inc.

    Abstract: In an embodiment, a computation engine may perform dot product computations on input vectors. The dot product operation may have a first operand and a second operand, and the dot product may be performed on a subset of the vector elements in the first operand and each of the vector elements in the second operand. The subset of vector elements may be separated in the first operand by a stride that skips one or more elements between each element to which the dot product operation is applied. More particularly, in an embodiment, the input operands of the dot product operation may be a first vector having second vectors as elements, and the stride may select a specified element of each second vector.

    Systems and methods for performing memory compression

    公开(公告)号:US10769065B2

    公开(公告)日:2020-09-08

    申请号:US16436635

    申请日:2019-06-10

    Applicant: Apple Inc.

    Abstract: Systems, apparatuses, and methods for efficiently moving data for storage and processing a compression unit within a processor includes multiple hardware lanes, selects two or more input words to compress, and for assigns them to two or more of the multiple hardware lanes. As each assigned input word is processed, each word is compared to an entry of a plurality of entries of a table. If it is determined that each of the assigned input words indexes the same entry of the table, the hardware lane with the oldest input word generates a single read request for the table entry and the hardware lane with the youngest input word generates a single write request for updating the table entry upon completing compression. Each hardware lane generates a compressed packet based on its assigned input word.

    Matrix computation engine
    28.
    发明授权

    公开(公告)号:US10592239B2

    公开(公告)日:2020-03-17

    申请号:US16423702

    申请日:2019-05-28

    Applicant: Apple Inc.

    Abstract: In an embodiment, a matrix computation engine is configured to perform matrix computations (e.g. matrix multiplications). The matrix computation engine may perform numerous matrix computations in parallel, in an embodiment. More particularly, the matrix computation engine may be configured to perform numerous multiplication operations in parallel on input matrix elements, generating resulting matrix elements. In an embodiment, the matrix computation engine may be configured to accumulate results in a result memory, performing multiply-accumulate operations for each matrix element of each matrix.

Patent Agency Ranking