中斷旗標
中斷旗標(Interrupt flag)簡稱IF,是CPU狀態暫存器裡的一個旗標,表示CPU對可遮罩中斷的處理方式。若旗標設定為1,表示接受可遮罩中斷,若設為0,可遮罩中斷無效,一直到再設定為1後才有效。中斷旗標不影響不可遮罩中斷(NMI)或是用指令產生的軟體中斷。 設定和清除 在X86架構的系統中,CLI指令(Clear Interrupt)和STI指令(Set Interrupt)分別可以設定和清除中斷指令。POPF(Pop Fla…
共 13 篇文章
中斷旗標(Interrupt flag)簡稱IF,是CPU狀態暫存器裡的一個旗標,表示CPU對可遮罩中斷的處理方式。若旗標設定為1,表示接受可遮罩中斷,若設為0,可遮罩中斷無效,一直到再設定為1後才有效。中斷旗標不影響不可遮罩中斷(NMI)或是用指令產生的軟體中斷。 設定和清除 在X86架構的系統中,CLI指令(Clear Interrupt)和STI指令(Set Interrupt)分別可以設定和清除中斷指令。POPF(Pop Fla…
處理器的标识]] MMX是由英特尔开发的一种SIMD多媒体指令集,共有57条指令。它于1996年集成在英特尔奔腾(Pentium)MMX处理器上,以提高其多媒体数据的处理能力。 其优点是增加了處理器關於多媒体方面的处理能力,缺点是占用浮点数寄存器进行运算(64位MMX寄存器实际上就是浮点数寄存器的别名)以至于MMX指令和浮点数操作不能同时工作。为了减少在MMX和浮点数模式切换之间所消耗的时间,程序员们尽可能减少模式切换的次数,也就是说,…
高级向量扩展指令集(,简称AVX)是x86架构微处理器中的SIMD扩展指令集,由英特尔在2008年3月提出,并在2011年第一季度发布的Sandy Bridge系列处理器中首次支持。AMD在随后的2011年第三季度发布的Bulldozer系列处理器中开始支持AVX。AVX指令集提供了新的特性、指令和编码方案。 AVX是X86指令集的SSE延伸架構,如IA16至IA32般的把暫存器XMM 128bit提升至YMM 256bit,以增加一倍…
英特尔软件防护扩展(,SGX)是一组安全相关的指令,它被内置于一些现代Intel 中央处理器(CPU)中。它们允许用户态及内核态代码定义将特定内存区域,设置为私有区域,此区域也被称作飞地(Enclaves)。其内容受到保护,不能被本身以外的任何进程存取,包括以更高权限级别运行的进程。 CPU对受SGX保护的内存进行加密处理。受保护区域的代码和数据的加解密操作在CPU内部动态(on the fly)完成。因此,处理器可以保护代码不被其他代…
SSE()是英特尔在AMD的3D Now!发布一年之后,在其计算机芯片Pentium III中引入的指令集,是繼MMX的擴充指令集。SSE指令集提供了70條新指令。AMD后来在Athlon XP中加入了对这个新指令集的支持。 SSE的暫存器 SSE加入新的8個128位元暫存器(XMM0~XMM7)。而AMD發表的x86-64延伸架構(又稱AMD64)再加入額外8個暫存器。除此之外還有一個新的32位元的控制/狀態暫存器(MXCSR)。不過…
3DNow!(據說是“3D No Waiting!”的縮寫)是由AMD開發的一套SIMD多媒體指令集,支持單精度浮點數的矢量運算,用於增强x86架構的電腦在三维圖像處理上的性能。 历史 1996年Intel首先推出了支持MMX的Pentium处理器,极大地提高了CPU处理多媒体数据的能力,被广泛地应用于语音合成、语音识别、音频视频编解码、图像处理和串流媒体等领域。但是MMX只支持整数运算,浮点数运算仍然要使用传统的x87协处理器指令。由…
FMA指令集(,即积和熔加运算)是x86架构微处理器上的指令集。FMA指令集是128位元和256位元的流式單指令流多資料流擴充集(SSE)指令集,以进行积和熔加运算。FMA指令集允许建立新的指令并有效率地执行各种复杂的运算,可结合乘法与加法运算(即进行积和熔加运算),通过单一指令执行多次重复计算,从而简化程序,从而使系统能快速执行绘图、渲染、相片着色、立体音效,及复杂向量运算等计算量大的工作。現時x86指令集中有兩種FMA指令集: FM…
高级加密标准指令集现已经集成到许多处理器中。应用程序执行高级加密标准(AES)时,使用该指令集提高加密和解密的速度(以及对侧信道攻击的抵抗能力)。 x86架构 高级加密标准指令集(或称英特尔高级加密标准新指令,简称AES-NI)是一个x86指令集架构的扩展,用于Intel和AMD微处理器,由Intel在2008年3月提出。该指令集的目的是改进应用程序使用高级加密标准(AES)执行加密和解密的速度。 指令 Intel Intel支持AES…
SSE2,全名為Streaming SIMD Extensions 2,是一種IA-32架構的SIMD(單一指令多重資料)指令集。SSE2是在 2001年隨著Intel發表第一代Pentium 4處理器也一併推出的指令集。它延伸較早的SSE指令集,而且可以完全取代MMX指令集。在2004年,Intel 再度擴展了SSE2指令為 SSE3 指令集。與 70 條指令的 SSE 相比,SSE2新增了144條指令。在2003年,AMD也在發布A…
RDRAND(之前被称为Bull Mountain)是一个计算机指令,用于从芯片上的硬件随机数生成器中获取随机数。所用到的随机数生成器由芯片上的熵池初始化。 RDRAND指令在架构处理器上可用,该指令也是X86-64和IA-32指令集的一部分。AMD在2015年6月添加了对RdRand指令的支持。 该随机数生成器要遵守安全标准和加密标准,比如, 和 ANSI X9.82。 和2012年的 Analysis of Intel's Ivy …
架構所用的多媒體指令集,在指令數目上的比較圖]] SSE3(Streaming SIMD Extensions 3),又稱PNI(Prescott New Instructions),它指的是:在原有架構的處理器中,所第三次額外新增、添加的多媒體指令集,之前的兩次分別是SSE、SSE2。 SSE3是Intel公司所其原有IA-32架構的處理器所研創,並在2004年初的新款Pentium 4(P4E,Prescott核心)處理器中使用,之…
SSE4 (Streaming SIMD Extensions 4)是Intel Core微架構和AMD K10中所使用的SIMD CPU指令集。它在2006年9月27日在英特爾開發者論壇上被宣佈,白皮書上的細節還較為模糊。隨後在北京的2007年春季英特爾開發者論壇上的演示文稿中提供了47個指令的更精確細節。SSE4與為前代英特爾64和IA-32架構微處理器編寫的軟體完全兼容。所有現有軟體均可正確運行,無需修改包含SSE4的微處理器,以…
计算机科学中,NOP或NOOP(No Operation或No Operation Performed的缩写,意为无操作)是汇编语言的一个指令,一系列编程语句,或网络传输协议中的表示不做任何有效操作的命令。 NOP机器指令 有的计算机指令集包含一条指令,其主要目的是不改变任何程序可访问的寄存器,处理器状态标志或主存,而且可能需要特定的时钟周期来执行。在其它指令集中,NOP是用执行一条具有操作数,具有相同效果的指令来模拟的(例如SPARC…