Hashing with Soft Memory Folding
    62.
    发明申请

    公开(公告)号:US20220342806A1

    公开(公告)日:2022-10-27

    申请号:US17519284

    申请日:2021-11-04

    Applicant: Apple Inc.

    Abstract: In an embodiment, a system may support programmable hashing of address bits at a plurality of levels of granularity to map memory addresses to memory controllers and ultimately at least to memory devices. The hashing may be programmed to distribute pages of memory across the memory controllers, and consecutive blocks of the page may be mapped to physically distant memory controllers. In an embodiment, address bits may be dropped from each level of granularity, forming a compacted pipe address to save power within the memory controller. In an embodiment, a memory folding scheme may be employed to reduce the number of active memory devices and/or memory controllers in the system when the full complement of memory is not needed.

    Computation engine that operates in matrix and vector modes

    公开(公告)号:US11042373B2

    公开(公告)日:2021-06-22

    申请号:US16928752

    申请日:2020-07-14

    Applicant: Apple Inc.

    Abstract: In an embodiment, a computation engine is configured to perform vector multiplications, producing either vector results or outer product (matrix) results. The instructions provided to the computation engine specify a matrix mode or a vector mode for the instructions. The computation engine performs the specified operation. The computation engine may perform numerous computations in parallel, in an embodiment. In an embodiment, the instructions may also specify an offset with the input memories, providing additional flexibility in the location of operands. More particularly, the computation engine may be configured to perform numerous multiplication operations in parallel and to accumulate results in a result memory, performing multiply-accumulate operations for each matrix/vector element in the targeted locations of the output memory.

    Return-oriented programming (ROP)/jump oriented programming (JOP) attack protection

    公开(公告)号:US10831484B1

    公开(公告)日:2020-11-10

    申请号:US16524490

    申请日:2019-07-29

    Applicant: Apple Inc.

    Abstract: In an embodiment, a processor includes hardware circuitry and/or supports instructions which may be used to detect that a return address or jump address has been modified since it was written to memory. In response to detecting the modification, the processor may be configured to signal an exception or otherwise initiate error handling to prevent execution at the modified address. In an embodiment, the processor may perform a cryptographic sign operation on the return address/jump address before writing the signed return address/jump address to memory and the signature may be verified before the address is used as a return target or jump target. Security of the system may be improved by foiling ROP/JOP attacks.

    SYSTEMS AND METHODS FOR PERFORMING MEMORY COMPRESSION

    公开(公告)号:US20190294541A1

    公开(公告)日:2019-09-26

    申请号:US16436635

    申请日:2019-06-10

    Applicant: Apple Inc.

    Abstract: Systems, apparatuses, and methods for efficiently moving data for storage and processing are described. In various embodiments, 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
    66.
    发明申请

    公开(公告)号:US20190294441A1

    公开(公告)日:2019-09-26

    申请号: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.

    Return-oriented programming (ROP)/jump oriented programming (JOP) attack protection

    公开(公告)号:US10409600B1

    公开(公告)日:2019-09-10

    申请号:US15202269

    申请日:2016-07-05

    Applicant: Apple Inc.

    Abstract: In an embodiment, a processor includes hardware circuitry and/or supports instructions which may be used to detect that a return address or jump address has been modified since it was written to memory. In response to detecting the modification, the processor may be configured to signal an exception or otherwise initiate error handling to prevent execution at the modified address. In an embodiment, the processor may perform a cryptographic sign operation on the return address/jump address before writing the signed return address/jump address to memory and the signature may be verified before the to address is used as a return target or jump target. Security of the system may be improved by foiling ROP/JOP attacks.

    Matrix Computation Engine
    68.
    发明申请

    公开(公告)号:US20190129719A1

    公开(公告)日:2019-05-02

    申请号:US15800342

    申请日:2017-11-01

    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.

    Cryptographic signatures for capability-based addressing

    公开(公告)号:US10275365B1

    公开(公告)日:2019-04-30

    申请号:US15232456

    申请日:2016-08-09

    Applicant: Apple Inc.

    Inventor: Jeffry E. Gonion

    Abstract: In an embodiment, a processor includes hardware circuitry and/or supports instructions which may cryptographically sign a pointer and its associated capabilities. When the pointer is used to perform a memory operation (read or write), the signed pointer may be authenticated to ensure that unauthorized modification of the pointer or capabilities has not occurred. In response to detecting the modification, the processor may be configured to signal an exception or otherwise initiate error handling to prevent the memory operation from completing.

Patent Agency Ranking