MICROPROCESSOR HAVING INTERNAL SECURE MEMORY
    41.
    发明申请
    MICROPROCESSOR HAVING INTERNAL SECURE MEMORY 有权
    具有内部安全存储器的微处理器

    公开(公告)号:US20090292894A1

    公开(公告)日:2009-11-26

    申请号:US12263143

    申请日:2008-10-31

    IPC分类号: G06F12/14 G06F12/00

    摘要: An apparatus providing for a secure execution environment. The apparatus includes a microprocessor that is configured to execute non-secure application programs and a secure application program, where the non-secure application programs are accessed from a system memory via a system bus. The microprocessor has a non-secure memory and a secure volatile memory. The non-secure memory is configured to store portions of the non-secure application programs for execution by the microprocessor, where the non-secure memory is observable and accessible by the non-secure application programs and by system bus resources within the microprocessor. The secure volatile memory is configured to store the secure application program for execution by the microprocessor, where the secure volatile memory is isolated from the non-secure application programs and the system bus resources within the microprocessor.

    摘要翻译: 一种提供安全执行环境的设备。 该装置包括被配置为执行非安全应用程序和安全应用程序的微处理器,其中通过系统总线从系统存储器访问非安全应用程序。 微处理器具有非安全存储器和安全易失性存储器。 非安全存储器被配置为存储用于由微处理器执行的非安全应用程序的部分,其中非安全存储器是可观察的并且可由非安全应用程序和微处理器内的系统总线资源访问。 安全易失性存储器被配置为存储用于由微处理器执行的安全应用程序,其中安全易失性存储器与非安全应用程序和微处理器内的系统总线资源隔离。

    Apparatus and method for performing transparent cipher block chaining mode cryptographic functions
    42.
    发明授权
    Apparatus and method for performing transparent cipher block chaining mode cryptographic functions 有权
    用于执行透明密码块链接模式加密功能的装置和方法

    公开(公告)号:US07542566B2

    公开(公告)日:2009-06-02

    申请号:US10826814

    申请日:2004-04-16

    IPC分类号: H04K1/06

    摘要: An apparatus and method for performing cryptographic operations is provided. The apparatus includes a cryptographic instruction, CBC block pointer logic, and execution logic. The cryptographic instruction is received by a pipeline microprocessor as part of an application program executing on the pipeline microprocessor. The cryptographic instruction prescribes one of the cryptographic operations. The one of the cryptographic operations includes a plurality of CBC block cryptographic operations performed on a corresponding plurality of input text blocks. The CBC block pointer logic is operatively coupled to the cryptographic instruction. The CBC block pointer logic directs the pipeline microprocessor to update pointer registers and intermediate results for each of the plurality of CBC block cryptographic operations. The execution logic is operatively coupled to the CBC block pointer logic. The execution logic executes the one of the cryptographic operations.

    摘要翻译: 提供了一种用于执行密码操作的装置和方法。 该装置包括加密指令,CBC块指针逻辑和执行逻辑。 密码指令由流水线微处理器接收,作为在流水线微处理器上执行的应用程序的一部分。 加密指令规定了一种加密操作。 密码操作之一包括对相应的多个输入文本块执行的多个CBC块加密操作。 CBC块指针逻辑可操作地耦合到加密指令。 CBC块指针逻辑引导流水线微处理器更新多个CBC块加密操作中的每一个的指针寄存器和中间结果。 执行逻辑可操作地耦合到CBC块指针逻辑。 执行逻辑执行加密操作之一。

    Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine
    43.
    发明授权
    Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine 有权
    用于在密码引擎中启用可配置数据块大小的微处理器装置和方法

    公开(公告)号:US07519833B2

    公开(公告)日:2009-04-14

    申请号:US10826433

    申请日:2004-04-16

    IPC分类号: H04L9/06

    摘要: The present invention provides an apparatus and method for performing cryptographic operations on a plurality of input data blocks within a processor, where the size of the input data blocks is programmable. In one embodiment, an apparatus for performing cryptographic operations is provided. The apparatus includes fetch logic and execution logic. The fetch logic is disposed within a microprocessor and is configured to receive a cryptographic instruction single atomic cryptographic instruction as part of an instruction flow executing on the microprocessor. The cryptographic instructionsingle atomic cryptographic instruction prescribes one of the cryptographic operations, and also one of a plurality of data block sizes. The execution logic is disposed within the microprocessor and is operatively coupled to the single atomic cryptographic instruction. The execution logic executes the one of the cryptographic operations. The execution logic has a block size controller that employs the one of a plurality of data block sizes during execution of the one of the cryptographic operations.

    摘要翻译: 本发明提供一种用于对处理器内的多个输入数据块执行密码操作的装置和方法,其中输入数据块的大小是可编程的。 在一个实施例中,提供了一种用于执行密码操作的装置。 该装置包括提取逻辑和执行逻辑。 提取逻辑设置在微处理器内,并被配置为接收作为在微处理器上执行的指令流的一部分的加密指令单原子密码指令。 加密指令单原子加密指令规定了密码操作之一,也是多个数据块大小之一。 执行逻辑设置在微处理器内并且可操作地耦合到单原子加密指令。 执行逻辑执行加密操作之一。 执行逻辑具有块大小控制器,该块大小控制器在执行加密操作之一期间采用多个数据块大小中的一个。

    MICROPROCESSOR WITH PRIVATE MICROCODE RAM
    44.
    发明申请
    MICROPROCESSOR WITH PRIVATE MICROCODE RAM 有权
    微处理器与私有MICROCODE RAM

    公开(公告)号:US20080256336A1

    公开(公告)日:2008-10-16

    申请号:US12034503

    申请日:2008-02-20

    IPC分类号: G06F9/30 G06F9/312

    摘要: A microprocessor includes a private RAM (PRAM), for use by microcode, which is non-user-accessible and within its own distinct address space from the system memory address space. The PRAM is denser and slower than user-accessible registers of the microprocessor macroarchitecture, thereby enabling it to provide significantly more storage for microcode. The microinstruction set includes a microinstruction for loading data from the PRAM into the user-accessible registers, and a microinstruction for storing data from user-accessible registers to the PRAM. The microcode may also use the two microinstructions to load/store between the PRAM and non-user-accessible registers of the microarchitecture. Examples of PRAM uses include: computational temporary storage area; storage of x86 VMX VMCS in response to VMREAD and VMWRITE macroinstructions; instantiation of non-user-accessible storage, such as the x86 SMBASE register; and instantiation of x86 MSRs that tolerate the additional access latency of the PRAM, such as the IA32_SYSENTER_CS MSR.

    摘要翻译: 微处理器包括专用RAM(PRAM),用于微码,这是非用户可访问的,并且在其自身与系统存储器地址空间不同的地址空间内。 PRAM比微处理器宏构架的用户可访问的寄存器更密集和更慢,从而使其能够为微码提供显着更多的存储。 微指令集包括用于将来自PRAM的数据加载到用户可访问寄存器中的微指令,以及用于将来自用户可访问寄存器的数据存储到PRAM的微指令。 微代码还可以使用两个微指令来加载/存储在微架构的PRAM和非用户可访问的寄存器之间。 PRAM使用的示例包括:计算临时存储区域; 存储x86 VMX VMCS以响应VMREAD和VMWRITE宏指令; 实例化非用户可访问的存储,如x86 SMBASE寄存器; 以及容忍PRAM的附加访问延迟(例如IA32_SYSENTER_CS MSR)的x86 MSR的实例化。

    Microprocessor, apparatus and method for selective prefetch retire
    45.
    发明授权
    Microprocessor, apparatus and method for selective prefetch retire 有权
    用于选择性预取还原的微处理器,设备和方法

    公开(公告)号:US07383394B2

    公开(公告)日:2008-06-03

    申请号:US11563362

    申请日:2006-11-27

    IPC分类号: G06F12/12

    摘要: An apparatus in a microprocessor for selectively retiring a prefetched cache line is disclosed. The microprocessor includes a prefetch buffer that stores a cache line prefetched from a system memory coupled to the microprocessor. The microprocessor includes a cache memory, comprising an array of storage elements for storing cache lines. The array is indexed by an index input. The microprocessor includes a counter that counts a number of accesses to a replacement candidate line in the cache. The replacement candidate line is stored in a storage element of the array indexed by an index portion of an address of the prefetched cache line stored in the prefetch buffer. The microprocessor also includes control logic that selectively replaces the replacement candidate cache line in the cache memory with the prefetched cache line from the prefetch buffer based on the number of accesses to the replacement candidate line.

    摘要翻译: 公开了一种用于选择性地退出预取高速缓存线的微处理器中的装置。 微处理器包括预取缓冲器,其存储从耦合到微处理器的系统存储器预取的高速缓存行。 微处理器包括高速缓冲存储器,其包括用于存储高速缓存线的存储元件阵列。 数组由索引输入索引。 微处理器包括对高速缓存中的替换候选行的访问次数进行计数的计数器。 替换候选行存储在由存储在预取缓冲器中的预取高速缓存行的地址的索引部分索引的数组的存储元素中。 微处理器还包括控制逻辑,该控制逻辑基于对替换候选行的访问次数,从预取缓冲器中选择性地替换高速缓存存储器中的替换候选高速缓存行。

    Apparatus and method for selective control of results write back
    46.
    发明授权
    Apparatus and method for selective control of results write back 有权
    用于选择性控制结果的装置和方法回写

    公开(公告)号:US07380103B2

    公开(公告)日:2008-05-27

    申请号:US10144589

    申请日:2002-05-09

    IPC分类号: G06F9/30 G06F9/00

    摘要: A microprocessor apparatus and method are provided, for selectively controlling write back of a result. The apparatus includes translation logic and extended execution logic. The translation logic translates an extended instruction into corresponding micro instructions. The extended instruction has an extended prefix and an extended prefix tag. The extended prefix precludes write back of the result, where the result is that which is produced by executing an operation prescribed by said extended instruction, and wherein the result would otherwise be written back into a destination register. The extended prefix tag indicates the extended prefix, where the extended prefix tag is an otherwise architecturally specified opcode within an instruction set for a microprocessor. The extended execution logic is coupled to the translation logic. The extended execution logic receives the corresponding micro instructions, and executes the operation to generate the result, and precludes write back of the result.

    摘要翻译: 提供了一种微处理器装置和方法,用于选择性地控制结果的回写。 该装置包括翻译逻辑和扩展执行逻辑。 翻译逻辑将扩展指令转换为相应的微指令。 扩展指令具有扩展前缀和扩展前缀标记。 扩展前缀排除结果的回写,其中结果是通过执行由所述扩展指令规定的操作产生的结果,并且其中结果将被写回目的地寄存器。 扩展前缀标记指示扩展前缀,其中扩展前缀标记是用于微处理器的指令集内的另外结构上指定的操作码。 扩展执行逻辑耦合到转换逻辑。 扩展执行逻辑接收相应的微指令,并执行产生结果的操作,并排除结果的回写。

    Microprocessor with random number generator and instruction for storing random data
    47.
    发明授权
    Microprocessor with random number generator and instruction for storing random data 有权
    具有随机数发生器的微处理器和用于存储随机数据的指令

    公开(公告)号:US07334009B2

    公开(公告)日:2008-02-19

    申请号:US11428318

    申请日:2006-06-30

    IPC分类号: G06F7/58

    摘要: A microprocessor that includes a random number generator (RNG) and an instruction for storing random data bytes generated by the generator. The RNG includes multiple buffers for buffering the random bytes and counters associated with each buffer for keeping a count of the number of bytes in each buffer. The instruction specifies a destination for the bytes to be stored to. In one embodiment, the number of bytes written to memory is variable and is the number of bytes available when the instruction is executed; in another, the instruction specifies the number. If variable, the instruction atomically stores a count specifying the number of valid bytes actually stored. In one embodiment the destination is a location in system memory. The count may be stored to memory with the bytes; or the count may be stored to a user-visible register. An x86 REP prefix may be used.

    摘要翻译: 包括随机数发生器(RNG)的微处理器和用于存储由发生器产生的随机数据字节的指令。 RNG包括用于缓冲与每个缓冲器相关联的随机字节和计数器的多个缓冲器,用于保持每个缓冲器中的字节数的计数。 该指令指定要存储的字节的目的地。 在一个实施例中,写入存储器的字节数是可变的,并且是执行指令时可用的字节数; 在另一个中,指令指定数字。 如果变量,则指令原子地存储一个指定实际存储的有效字节数的计数。 在一个实施例中,目的地是系统存储器中的位置。 计数可以用字节存储到存储器中; 或计数可以存储到用户可见的寄存器。 可以使用x86 REP前缀。

    Suppression of store checking
    48.
    发明授权
    Suppression of store checking 有权
    禁止商店检查

    公开(公告)号:US07302551B2

    公开(公告)日:2007-11-27

    申请号:US10283397

    申请日:2002-10-29

    IPC分类号: G06F9/312 G06F9/318

    摘要: An apparatus and method are provided for extending a microprocessor instruction set to allow for selective suppression of store checking at the instruction level. The apparatus includes fetch logic, and translation logic. The fetch logic receives an extended instruction. The extended instruction has an extended prefix and an extended prefix tag. The extended prefix specifies that store checking be suppressed for the extended instruction. The extended prefix tag is an otherwise architectural opcode within an existing instruction set. The fetch logic precludes store checking for pending store events associated with the extended instruction. The translation logic is coupled to the fetch logic. The translation logic translates the extended instruction into a micro instruction sequence that sequence directs the microprocessor to exclude store checking during execution of a prescribed operation.

    摘要翻译: 提供了一种用于扩展微处理器指令集以允许在指令级别选择性地抑制存储检查的装置和方法。 该装置包括取指逻辑和翻译逻辑。 提取逻辑接收扩展指令。 扩展指令具有扩展前缀和扩展前缀标记。 扩展前缀指定对扩展指令禁止存储检查。 扩展前缀标记是现有指令集中的另一种体系结构操作码。 提取逻辑排除了与扩展指令相关联的待处理存储事件的存储检查。 翻译逻辑耦合到提取逻辑。 翻译逻辑将扩展指令转换成微指令序列,序列指示微处理器在执行规定的操作期间排除存储检查。

    Random number generator with selectable dual random bit string engines
    49.
    发明授权
    Random number generator with selectable dual random bit string engines 有权
    随机数发生器与可选双随机位串引擎

    公开(公告)号:US07174355B2

    公开(公告)日:2007-02-06

    申请号:US10365601

    申请日:2003-02-11

    IPC分类号: G06F7/58

    摘要: A microprocessor with multiple random bit generators is disclosed. The multiple random bit generators each generate a stream of random bits. One of the streams of random bits is selected to be used to accumulate into random bytes for provision to application programs. Which of the multiple random bit generator random bit streams is selected is determined by a selection value stored in a control register of the microprocessor. The selection value is programmable by an instruction executed by the microprocessor.

    摘要翻译: 公开了一种具有多个随机位发生器的微处理器。 多个随机比特发生器产生一个随机比特流。 选择随机比特流之一用于累加到随机字节中以供应给应用程序。 选择多个随机比特生成器随机比特流中的哪一个由存储在微处理器的控制寄存器中的选择值确定。 选择值由微处理器执行的指令编程。

    Apparatus and method for masked move to and from flags register in a processor
    50.
    发明授权
    Apparatus and method for masked move to and from flags register in a processor 有权
    在处理器中屏蔽移动到标志寄存器的装置和方法

    公开(公告)号:US07058794B2

    公开(公告)日:2006-06-06

    申请号:US10279206

    申请日:2002-10-22

    IPC分类号: G06F9/00

    摘要: A method and apparatus are provided for storing a flags register in a processor. In response to a macro instruction directing the store operation, such as a push flags macro instruction, a mask is generated using privilege level information (i.e., current operating privilege level) to specify those bits of the flags register that can be stored. The mask is then ANDed with contents of the flags register to yield a result and the result is stored on a stack in memory.

    摘要翻译: 提供了一种用于将标志寄存器存储在处理器中的方法和装置。 响应于指示存储操作的宏指令(诸如推式标志宏指令),使用特权级别信息(即当前操作特权级别)生成掩码,以指定可存储的标志寄存器的那些位。 然后将掩码与标志寄存器的内容进行AND运算,以产生结果,并将结果存储在内存中的堆栈中。