通用寄存器之x86里程碑,你知道吗?

通用寄存器(GPR) 是重要的x86里程碑。

通用寄存器之x86里程碑,你知道吗?

一种可用于地址或几乎任何指令的数据的寄存器。

1978年:英特尔8086架构被宣布为与当时成功的英特尔8080,一个8位微处理器的组装语言兼容的扩展。8086是一个16位的架构,所有的内部寄存器都是16位宽。与RISC-V不同,寄存器有专用的用途,因此8086不被认为是通用寄存器(GPR)体系结构。

1980年:宣布了英特尔8087浮点协处理器。这架构扩展了8086和大约60个浮点指令。它不使用寄存器,而是依赖于一个堆栈。

通用寄存器之x86里程碑,你知道吗?

1982:80286扩展了8086架构,增加了通过创建一个复杂的内存映射和保护模型,并通过添加一些指令来完成指令集并操纵保护模型,将空间地址分配给24位。

1985:80386将80286架构扩展到32位。在除了32位的架构和32位的地址空间之外,80386还增加了新的寻址模式和额外的操作。扩展的指令使80386几乎成为通用的寄存器机器。除了分段寻址之外,80386还增加了分页支持,如80286,80386有一个模式来执行8086程序而不改变。

1995年,奔腾处理器的目标是提高性能,只有四个指令添加到用户可见的指令集:三个用于多处理和一个有条件的移动指令。

通用寄存器之x86里程碑,你知道吗?

1997年:在奔腾处理器和奔腾处理器在发货之后,英特尔宣布它将使用MMX(多媒体扩展)扩展奔腾和奔腾Pro架构。这组新的57条指令使用浮点堆叠来加速多媒体和通信应用程序。MMX指令通常一次在多个短数据元素上运行,在单个指令的传统中,多个数据(SIMD)架构(见第6章)。奔腾II没有引入任何新的指令。

1999年:英特尔又增加了70条指令,标签为SSE(流媒体SIMD扩展)作为奔腾III的一部分。主要的变化是添加8个独立的寄存器,将它们的宽度加倍到128位,并添加一个精确的浮点数据类型。因此,可以并行执行4个32位浮点运算。为了提高内存性能,SSE包括缓存预取指令和流式存储指令,这些指令绕过缓存,直接写入内存。

通用寄存器之x86里程碑,你知道吗?

2001年:英特尔又增加了144个指令,这次是SSE2。新的数据类型是双精度运算,它允许并行地对64位浮点运算进行配对。几乎所有这144个指令都是现有MMX和SSE指令的版本,它们并行地运行64位数据。这一变化不仅使更多的多媒体操作得以实现;它为编译器提供了与独特的堆栈体系结构不同的浮点操作目标。编译器可以选择将八个SSE寄存器作为浮点寄存器,就像在其他计算机中发现的那样。这一变化提高了奔腾4的浮点性能,这是第一个包含SSE2指令的微处理器。

通用寄存器之x86里程碑,你知道吗?

今天的介绍就到这里了,怎么样,是不是很长见识呢?喜欢就请留言吧。


分享到:


相關文章: