-
公开(公告)号:US10379853B2
公开(公告)日:2019-08-13
申请号:US15346655
申请日:2016-11-08
Applicant: Intel Corporation
Inventor: Vinodh Gopal , James D. Guilford , Gilbert M. Wolrich
Abstract: A processor is described having an instruction execution pipeline having a functional unit to execute an instruction that compares vector elements against an input value. Each of the vector elements and the input value have a first respective section identifying a location within data and a second respective section having a byte sequence of the data. The functional unit has comparison circuitry to compare respective byte sequences of the input vector elements against the input value's byte sequence to identify a number of matching bytes for each comparison. The functional unit also has difference circuitry to determine respective distances between the input vector's elements' byte sequences and the input value's byte sequence within the data.
-
公开(公告)号:US10296467B2
公开(公告)日:2019-05-21
申请号:US14865675
申请日:2015-09-25
Applicant: Intel Corporation
Inventor: Vinodh Gopal , Gilbert M. Wolrich , Kirk S. Yap
Abstract: A host central processing unit subsystem that writes information to external memory may provide policy to the external memory. Then every time a write comes from the host subsystem, a memory controller within the memory may check the write against the policy stored in the memory and decide whether or not to implement the write.
-
公开(公告)号:US10108805B2
公开(公告)日:2018-10-23
申请号:US15396574
申请日:2016-12-31
Applicant: Intel Corporation
Inventor: Kirk S. Yap , Gilbert M. Wolrich , James D. Guilford , Vinodh Gopal , Erdinc Ozturk , Sean M. Gulley , Wajdi K. Feghali , Martin G. Dixon
IPC: G06F9/30 , G06F21/60 , G06F15/80 , G06F12/1027 , H04L9/06
Abstract: A processor includes an instruction decoder to receive a first instruction to process a secure hash algorithm 2 (SHA-2) hash algorithm, the first instruction having a first operand associated with a first storage location to store a SHA-2 state and a second operand associated with a second storage location to store a plurality of messages and round constants. The processor further includes an execution unit coupled to the instruction decoder to perform one or more iterations of the SHA-2 hash algorithm on the SHA-2 state specified by the first operand and the plurality of messages and round constants specified by the second operand, in response to the first instruction.
-
公开(公告)号:US10042639B2
公开(公告)日:2018-08-07
申请号:US15397678
申请日:2017-01-03
Applicant: Intel Corporation
Inventor: Vinodh Gopal , Erdinc Ozturk , James D. Guilford , Gilbert M. Wolrich
Abstract: According to one embodiment, a processor includes an instruction decoder to receive an instruction to process a multiply-accumulate operation, the instruction having a first operand, a second operand, a third operand, and a fourth operand. The first operand is to specify a first storage location to store an accumulated value; the second operand is to specify a second storage location to store a first value and a second value; and the third operand is to specify a third storage location to store a third value. The processor further includes an execution unit coupled to the instruction decoder to perform the multiply-accumulate operation to multiply the first value with the second value to generate a multiply result and to accumulate the multiply result and at least a portion of a third value to an accumulated value based on the fourth operand.
-
公开(公告)号:US09910790B2
公开(公告)日:2018-03-06
申请号:US14105061
申请日:2013-12-12
Applicant: INTEL CORPORATION
Inventor: Kirk S. Yap , Gilbert M. Wolrich , Vinodh Gopal , Wajdi K. Feghali
IPC: G06F12/14
CPC classification number: G06F12/1408 , G06F12/1466 , G06F2212/1052
Abstract: Provided are a memory system, memory controller, and method for using a memory address to form a tweak key to use to encrypt and decrypt data. A base tweak co is generated as a function of an address of a block of data in the memory storage. For each sub-block of the block, performing: processing the base tweak to determine a sub-block tweak; combining the sub-block tweak with the sub-block to produce a modified sub-block; and performing an encryption operation comprising one of encryption or decryption on the modified sub-block to produce sub-block output comprising one of encrypted data and unencrypted data for the sub-block.
-
公开(公告)号:US09768802B2
公开(公告)日:2017-09-19
申请号:US15406133
申请日:2017-01-13
Applicant: Intel Corporation
Inventor: Vinodh Gopal , James D. Guilford , Gilbert M. Wolrich , Daniel F. Cutter
CPC classification number: H03M7/3086 , H03M7/42
Abstract: Example data compression methods disclosed herein include determining a first hash chain index corresponding to a first position in an input data buffer based on a first group of bytes accessed from the input data buffer beginning at a first look-ahead offset from the first position. If a first hash chain (indexed by the first hash chain index), does not satisfy a quality condition, a second hash chain index corresponding to the first position in the input data buffer based on a second group of bytes accessed from the input data buffer beginning at a second look-ahead offset from the first position is determined. The input data buffer is searched at respective adjusted buffer positions to find a second string of data bytes matching a first string of data bytes and information related to the second string of data bytes is provided to an encoder to output compressed data.
-
公开(公告)号:US20170147255A1
公开(公告)日:2017-05-25
申请号:US15427866
申请日:2017-02-08
Applicant: Intel Corporation
Inventor: James D. Guilford , Vinodh Gopal , Gilbert M. Wolrich , Daniel F. Cutter
IPC: G06F3/06
CPC classification number: G06F3/0638 , G06F3/0604 , G06F3/0608 , G06F3/0653 , G06F3/0673 , G06F8/52 , G06F12/1018 , G06F12/1027 , G06F2212/401 , G06F2212/68 , H03M7/3086 , H03M7/40
Abstract: A processing system is provided that includes a memory for storing an input bit stream and a processing logic, operatively coupled to the memory, to generate a first score based on: a first set of matching data related to a match between a first bit subsequence and a candidate bit subsequence within the input bit stream, and a first distance of the candidate bit subsequence from the first set of matching data. A second score is generated based on a second set of matching data related to a match between a second bit subsequence and the candidate bit subsequence, and a second distance of the candidate bit subsequence from the second set of matching data. A code to replace the first or second bit subsequence in an output bit stream is identified. Selection of the one of the bit subsequences to replace is based on a comparison of the scores.
-
公开(公告)号:US20170091488A1
公开(公告)日:2017-03-30
申请号:US14866334
申请日:2015-09-25
Applicant: INTEL CORPORATION
Inventor: Vinodh Gopal , Gilbert M. Wolrich
CPC classification number: G06F21/72 , G06F9/30007 , G06F9/3001 , G06F9/3016 , G06F9/30178 , G06F9/3895 , G06F21/602 , H04L9/0841 , H04L9/3013 , H04L9/302 , H04L2209/046
Abstract: A processor of an aspect includes a decode unit to decode a modular exponentiation with obfuscated input information instruction. The modular exponentiation with obfuscated input information instruction is to indicate a plurality of source operands that are to store input information for a modular exponentiation operation. At least some of the input information that is to be stored in the plurality of source operands is to be obfuscated. An execution unit is coupled with the decode unit. The execution unit, in response to the modular exponentiation with obfuscated input information instruction, is to store a modular exponentiation result in a destination storage location that is to be indicated by the modular exponentiation with obfuscated input information instruction. Other processors, methods, systems, and instructions are disclosed.
-
公开(公告)号:US20160373250A1
公开(公告)日:2016-12-22
申请号:US14568101
申请日:2014-12-11
Applicant: Intel Corporation
Inventor: Gilbert M. Wolrich , Vinodh Gopal , Kirk S. Yap
CPC classification number: H04L9/0643 , G06F9/30007 , G06F9/30036 , G06F9/30145 , G06F9/3887 , G06F15/8007 , G06F21/602 , G06F21/64
Abstract: Instructions and logic provide SIMD secure hashing round slice functionality. Some embodiments include a processor comprising: a decode stage to decode an instruction for a SIMD secure hashing algorithm round slice, the instruction specifying a source data operand set, a message-plus-constant operand set, a round-slice portion of the secure hashing algorithm round, and a rotator set portion of rotate settings. Processor execution units, are responsive to the decoded instruction, to perform a secure hashing round-slice set of round iterations upon the source data operand set, applying the message-plus-constant operand set and the rotator set, and store a result of the instruction in a SIMD destination register. One embodiment of the instruction specifies a hash round type as one of four MD5 round types. Other embodiments may specify a hash round type by an immediate operand as one of three SHA-1 round types or as a SHA-2 round type.
-
50.
公开(公告)号:US09425953B2
公开(公告)日:2016-08-23
申请号:US14050326
申请日:2013-10-09
Applicant: Intel Corporation
Inventor: Sean M. Gulley , Vinodh Gopal , Wajdi K. Feghali , James D. Guilford , Gilbert M. Wolrich , Kirk S. Yap
IPC: H04L9/06
CPC classification number: H04L9/0643 , G06F9/30007 , G06F21/72 , H04L9/3242 , H04L2209/12 , H04L2209/125 , H04L2209/20
Abstract: One embodiment provides an apparatus. The apparatus includes a single instruction multiple data (SIMD) hash module configured to apportion at least a first portion of a message of length L to a number (S) of segments, the message including a plurality of sequences of data elements, each sequence including S data elements, a respective data element in each sequence apportioned to a respective segment, each segment including a number N of blocks of data elements and to hash the S segments in parallel, resulting in S segment digests, the S hash digests based, at least in part, on an initial value and to store the S hash digests; a padding module configured to pad a remainder, the remainder corresponding to a second portion of the message, the second portion related to the length L of the message, the number of segments and a block size; and a non-SIMD hash module configured to hash the padded remainder, resulting in an additional hash digest and to store the additional hash digest.
Abstract translation: 一个实施例提供了一种装置。 该装置包括单个指令多数据(SIMD)散列模块,其被配置为将长度为L的消息的至少第一部分分配给数量(S)个段,该消息包括多个数据元素序列,每个序列包括 S个数据元素,分配给相应段的每个序列中的相应数据元素,每个段包括N个数据元素块,并且并行地对S个段进行散列,导致S段摘要,基于S个散列摘要 至少部分地在初始值上存储S哈希摘要; 填充模块,被配置为填补余数,剩余部分对应于消息的第二部分,与消息的长度L相关的第二部分,段的数量和块大小; 以及非SIMD散列模块,被配置为对填充的余数进行散列,产生附加的散列摘要并存储附加散列摘要。
-
-
-
-
-
-
-
-
-