-
公开(公告)号:US20100205455A1
公开(公告)日:2010-08-12
申请号:US12368196
申请日:2009-02-09
申请人: Vinodh Gopal , Kirk Yap , Gilbert Wolrich , Wajdi Feghali , Robert Ottavi , Sean Gulley
发明人: Vinodh Gopal , Kirk Yap , Gilbert Wolrich , Wajdi Feghali , Robert Ottavi , Sean Gulley
IPC分类号: H04L9/00
CPC分类号: G09C1/00 , H04L9/0637 , H04L2209/12
摘要: An embodiment includes at least one processing unit to perform at least first and second sets of diffusion-related operations to produce a resulting block from a data block, and that includes at least one stage and at least one other stage. The at least one stage is to select one of first operands and second operands input to the at least one other stage. The first and second operands are respectively associated with the first and second sets of operations, respectively. The at least one other stage involves arithmetic and logical operations common to both the first and second sets of operations. At least one other processing unit is to perform at least one set of cryptographic-related operations (different, at least in part, from the first and second sets of operations) on at least one of (1) another block to produce the data block and (2) the resulting block.
摘要翻译: 一个实施例包括至少一个处理单元,用于执行至少第一和第二组扩散相关操作以从数据块产生结果块,并且其包括至少一个阶段和至少一个其他阶段。 所述至少一个级是选择输入至少一个其他级的第一操作数和第二操作数之一。 第一和第二操作数分别分别与第一和第二组操作相关联。 所述至少一个其他阶段涉及对于第一和第二组操作共同的算术和逻辑运算。 至少一个其他处理单元将在(1)另一个块中的至少一个上执行至少一组密码相关操作(至少部分地不同于第一和第二组操作),以产生数据块 和(2)得到的块。
-
公开(公告)号:US08363828B2
公开(公告)日:2013-01-29
申请号:US12368196
申请日:2009-02-09
申请人: Vinodh Gopal , Kirk Yap , Gilbert Wolrich , Wajdi Feghali , Robert Ottavi , Sean Gulley
发明人: Vinodh Gopal , Kirk Yap , Gilbert Wolrich , Wajdi Feghali , Robert Ottavi , Sean Gulley
IPC分类号: G06F21/00
CPC分类号: G09C1/00 , H04L9/0637 , H04L2209/12
摘要: An embodiment includes at least one processing unit to perform at least first and second sets of diffusion-related operations to produce a resulting block from a data block, and that includes at least one stage and at least one other stage. The at least one stage is to select one of first operands and second operands input to the at least one other stage. The first and second operands are respectively associated with the first and second sets of operations, respectively. The at least one other stage involves arithmetic and logical operations common to both the first and second sets of operations. At least one other processing unit is to perform at least one set of cryptographic-related operations (different, at least in part, from the first and second sets of operations) on at least one of (1) another block to produce the data block and (2) the resulting block.
摘要翻译: 一个实施例包括至少一个处理单元,用于执行至少第一和第二组扩散相关操作以从数据块产生结果块,并且其包括至少一个阶段和至少一个其他阶段。 所述至少一个级是选择输入至少一个其他级的第一操作数和第二操作数之一。 第一和第二操作数分别分别与第一和第二组操作相关联。 所述至少一个其他阶段涉及对于第一和第二组操作共同的算术和逻辑运算。 至少一个其他处理单元将在(1)另一个块中的至少一个上执行至少一组密码相关操作(至少部分地不同于第一和第二组操作),以产生数据块 和(2)得到的块。
-
公开(公告)号:US20190045031A1
公开(公告)日:2019-02-07
申请号:US16014690
申请日:2018-06-21
申请人: Wajdi Feghali , Vinodh Gopal , Kirk Yap , Sean Gulley , Simon Peffers
发明人: Wajdi Feghali , Vinodh Gopal , Kirk Yap , Sean Gulley , Simon Peffers
IPC分类号: H04L29/06 , H04L12/863
摘要: Methods and apparatus for low-latency link compression schemes. Under the schemes, selected packets or messages are dynamically selected for compression in view of current transmit queue levels. The latency incurred during compression and decompression is not added to the data-path, but sits on the side of the transmit queue. The system monitors the queue depth and, accordingly, initiates compression jobs based on the depth. Different compression levels may be dynamically selected and used based on queue depth. Under various schemes, either packets or messages are enqueued in the transmit queue or pointers to such packets and messages are enqueued. Additionally, packets/message may be compressed prior to being enqueued, or after being enqueued, wherein an original uncompressed packet is replaced with a compressed packet. Compressed and uncompressed packets may be stored in queues or buffers and transmitted using a different numbers of transmit cycles based on their compression ratios. The schemes may be implemented to improve the effective bandwidth of various types of links, including serial links, bus-type links, and socket-to-socket links in multi-socket systems.
-
公开(公告)号:US20140095845A1
公开(公告)日:2014-04-03
申请号:US13631807
申请日:2012-09-28
申请人: Vinodh Gopal , Wajdi Feghali , Gilbert Wolrich , Kirk Yap
发明人: Vinodh Gopal , Wajdi Feghali , Gilbert Wolrich , Kirk Yap
IPC分类号: G06F9/30
摘要: An apparatus and method are described for performing efficient Boolean operations in a pipelined processor which, in one embodiment, does not natively support three operand instructions. For example, a processor according to one embodiment of the invention comprises: a set of registers for storing packed operands; Boolean operation logic to execute a single instruction which uses three or more source operands packed in the set of registers, the Boolean operation logic to read at least three source operands and an immediate value to perform a Boolean operation on the three source operands, wherein the Boolean operation comprises: combining a bit read from each of the three operands to form an index to the immediate value, the index identifying a bit position within the immediate value; reading the bit from the identified bit position of the immediate value; and storing the bit from the identified bit position of the immediate value in a destination register.
摘要翻译: 描述了一种用于在流水线处理器中执行有效的布尔运算的装置和方法,其在一个实施例中不本地支持三个操作数指令。 例如,根据本发明的一个实施例的处理器包括:一组用于存储打包操作数的寄存器; 用于执行单个指令的布尔运算逻辑,其使用打包在该组寄存器中的三个或更多个源操作数,布尔运算逻辑读取至少三个源操作数,并且立即值对三个源操作数执行布尔运算,其中, 布尔操作包括:组合从三个操作数中的每一个读取的位以形成立即值的索引,该索引标识立即值内的位位置; 从识别的位置读取该位从立即值; 并将来自所识别的立即值的比特位置的比特存储在目的地寄存器中。
-
公开(公告)号:US20090168999A1
公开(公告)日:2009-07-02
申请号:US12005680
申请日:2007-12-28
申请人: Brent Boswell , Kirk Yap , Gilbert Wolrich , Wajdi Feghali , Vinodh Gopal , Srinivas Chennupaty , Makaram Raghunandan
发明人: Brent Boswell , Kirk Yap , Gilbert Wolrich , Wajdi Feghali , Vinodh Gopal , Srinivas Chennupaty , Makaram Raghunandan
CPC分类号: H04L9/0631 , H04L2209/125
摘要: In one embodiment, the present invention includes a processor having logic to perform a round of a cryptographic algorithm responsive to first and second round micro-operations to perform the round on first and second pairs of columns, where the logic includes dual datapaths that are half the width of the cryptographic algorithm width (or smaller). Additional logic may be used to combine the results of the first and second round micro-operations to obtain a round result. Other embodiments are described and claimed.
摘要翻译: 在一个实施例中,本发明包括处理器,其具有响应于第一和第二轮微操作执行一轮加密算法以在第一和第二列列上执行循环的逻辑,其中该逻辑包括半数的双数据通路 加密算法宽度(或更小)的宽度。 可以使用附加逻辑来组合第一和第二轮微操作的结果以获得圆形结果。 描述和要求保护其他实施例。
-
公开(公告)号:US08189792B2
公开(公告)日:2012-05-29
申请号:US12005680
申请日:2007-12-28
申请人: Brent Boswell , Kirk Yap , Gilbert Wolrich , Wajdi Feghali , Vinodh Gopal , Srinivas Chennupaty , Makaram Raghunandan
发明人: Brent Boswell , Kirk Yap , Gilbert Wolrich , Wajdi Feghali , Vinodh Gopal , Srinivas Chennupaty , Makaram Raghunandan
IPC分类号: G06F21/00
CPC分类号: H04L9/0631 , H04L2209/125
摘要: In one embodiment, the present invention includes a processor having logic to perform a round of a cryptographic algorithm responsive to first and second round micro-operations to perform the round on first and second pairs of columns, where the logic includes dual datapaths that are half the width of the cryptographic algorithm width (or smaller). Additional logic may be used to combine the results of the first and second round micro-operations to obtain a round result. Other embodiments are described and claimed.
摘要翻译: 在一个实施例中,本发明包括处理器,其具有响应于第一和第二轮微操作执行一轮加密算法以在第一和第二列列上执行循环的逻辑,其中该逻辑包括半数的双数据通路 加密算法宽度(或更小)的宽度。 可以使用附加逻辑来组合第一和第二轮微操作的结果以获得圆形结果。 描述和要求保护其他实施例。
-
公开(公告)号:US20080162806A1
公开(公告)日:2008-07-03
申请号:US11617966
申请日:2006-12-29
申请人: Vinodh Gopal , Yogesh Bansal , Gilbert M. Wolrich , Wajdi Feghali , Kirk Yap
发明人: Vinodh Gopal , Yogesh Bansal , Gilbert M. Wolrich , Wajdi Feghali , Kirk Yap
IPC分类号: G06F12/06
CPC分类号: G06F11/1076 , G06F2211/1057
摘要: The present disclosure provides a method for generating RAID syndromes. In one embodiment the method may include loading a first data byte of a first disk block and a first data byte of a second disk block from a storage device to an arithmetic logic unit. The method may further include XORing the first data byte of the first disk block and the first data byte of the second disk block to generate a first result and storing the first result in a results buffer. The method may also include iteratively repeating, loading intermediate data bytes corresponding to the first disk block and intermediate data bytes corresponding to the second disk block from the storage device to the arithmetic logic unit. The method may additionally include XORing the intermediate data bytes corresponding to the first disk block and the intermediate data bytes corresponding to the second disk block to generate intermediate results and generating a RAID syndrome based on, at least in part, the intermediate results. Of course, many alternatives, variations and modifications are possible without departing from this embodiment.
摘要翻译: 本公开提供了一种用于生成RAID综合征的方法。 在一个实施例中,该方法可以包括将第一磁盘块的第一数据字节和第二磁盘块的第一数据字节从存储设备加载到算术逻辑单元。 该方法还可以包括将第一磁盘块的第一数据字节和第二磁盘块的第一数据字节进行异或,以产生第一结果并将第一结果存储在结果缓冲器中。 该方法还可以包括将对应于第一磁盘块的中间数据字节和对应于第二磁盘块的中间数据字节从存储设备反复重复加载到算术逻辑单元。 该方法还可以包括对与第一磁盘块相对应的中间数据字节和对应于第二磁盘块的中间数据字节进行异或,以产生中间结果,并至少部分地基于中间结果生成RAID综合征。 当然,在不脱离本实施例的情况下,可以进行许多替代,变化和修改。
-
公开(公告)号:US07797612B2
公开(公告)日:2010-09-14
申请号:US11617966
申请日:2006-12-29
申请人: Vinodh Gopal , Yogesh Bansal , Gilbert M. Wolrich , Wajdi Feghali , Kirk Yap
发明人: Vinodh Gopal , Yogesh Bansal , Gilbert M. Wolrich , Wajdi Feghali , Kirk Yap
IPC分类号: G11C29/00
CPC分类号: G06F11/1076 , G06F2211/1057
摘要: The present disclosure provides a method for generating RAID syndromes. In one embodiment the method may include loading a first data byte of a first disk block and a first data byte of a second disk block from a storage device to an arithmetic logic unit. The method may further include XORing the first data byte of the first disk block and the first data byte of the second disk block to generate a first result and storing the first result in a results buffer. The method may also include iteratively repeating, loading intermediate data bytes corresponding to the first disk block and intermediate data bytes corresponding to the second disk block from the storage device to the arithmetic logic unit. The method may additionally include XORing the intermediate data bytes corresponding to the first disk block and the intermediate data bytes corresponding to the second disk block to generate intermediate results and generating a RAID syndrome based on, at least in part, the intermediate results. Of course, many alternatives, variations and modifications are possible without departing from this embodiment.
摘要翻译: 本公开提供了一种用于生成RAID综合征的方法。 在一个实施例中,该方法可以包括将第一磁盘块的第一数据字节和第二磁盘块的第一数据字节从存储设备加载到算术逻辑单元。 该方法还可以包括将第一磁盘块的第一数据字节和第二磁盘块的第一数据字节进行异或,以产生第一结果并将第一结果存储在结果缓冲器中。 该方法还可以包括将对应于第一磁盘块的中间数据字节和对应于第二磁盘块的中间数据字节从存储设备反复重复加载到算术逻辑单元。 该方法还可以包括对与第一磁盘块相对应的中间数据字节和对应于第二磁盘块的中间数据字节进行异或,以产生中间结果,并至少部分地基于中间结果生成RAID综合征。 当然,在不脱离本实施例的情况下,可以进行许多替代,变化和修改。
-
公开(公告)号:US07801299B2
公开(公告)日:2010-09-21
申请号:US11534330
申请日:2006-09-22
IPC分类号: H04L9/30
CPC分类号: H04L9/0618 , G09C1/00 , H04L2209/122
摘要: Techniques are described herein to overlay and merge any number of tables of equivalent size and structure. Bits or patterns of bits that are similar among tables may be set to a voltage value representative of respective logical ‘0’ or ‘1’. The bits that are different among the tables may be connected to either the value of a table selection signal or its inverse.
摘要翻译: 这里描述了覆盖和合并任意数目的等效大小和结构的表的技术。 可以将表中相似的比特或模式设置为表示相应的逻辑“0”或“1”的电压值。 表中不同的位可以连接到表选择信号的值或其反相。
-
公开(公告)号:US20080159528A1
公开(公告)日:2008-07-03
申请号:US11617418
申请日:2006-12-28
申请人: Wajdi Feghali , Stephanie Hirnak , Makaram Raghunandan , Yogesh Bansal , Kirk Yap , Gilbert M. Wolrich
发明人: Wajdi Feghali , Stephanie Hirnak , Makaram Raghunandan , Yogesh Bansal , Kirk Yap , Gilbert M. Wolrich
CPC分类号: H04L63/0485 , G06F9/30181 , G06F9/3879 , H04L63/08
摘要: In one embodiment, the present disclosure provides a method capable of processing a variety of different operations. A method according to one embodiment may include loading configuration data from a shared memory unit into a hardware configuration register, the hardware configuration register located within circuitry included within a hardware accelerator unit. The method may also include issuing a command set from a microengine to the hardware accelerator unit having the circuitry. The method may additionally include receiving the command set at the circuitry from the microengine, the command set configured to allow for the processing of a variety of different operations. The method may further include processing an appropriate operation based upon the configuration data loaded into the hardware configuration register. Of course, many alternatives, variations and modifications are possible without departing from this embodiment.
摘要翻译: 在一个实施例中,本公开提供了一种能够处理各种不同操作的方法。 根据一个实施例的方法可以包括将配置数据从共享存储器单元加载到硬件配置寄存器中,硬件配置寄存器位于包括在硬件加速器单元内的电路内。 该方法还可以包括从微引擎向具有该电路的硬件加速器单元发出命令集。 该方法可以另外包括接收来自微引擎的电路处的命令集,该命令集被配置为允许处理各种不同的操作。 该方法还可以包括基于加载到硬件配置寄存器中的配置数据来处理适当的操作。 当然,在不脱离本实施例的情况下,可以进行许多替代,变化和修改。
-
-
-
-
-
-
-
-
-