标签: x86

Windows 是否曾经支持 x86 以外的任何硬件架构?

Microsoft Windows Internals,第 4 版 说:

英特尔 x86 处理器的架构定义了四个特权级别或环,以保护系统代码和数据不被较低特权的代码无意或恶意覆盖。Windows 对内核模式使用权限级别 0(或环 0),对用户模式使用权限级别 3(或环 3)。Windows 仅使用两个级别的原因是,过去支持的某些硬件架构(例如 Compaq Alpha 和 Silicon Graphics MIPS)仅实现了两个特权级别

这是否意味着 Windows 曾经支持 Alpha 和 MIPS?

windows privileges mips x86

67
推荐指数
4
解决办法
1万
查看次数

64 位计算机 (x86) 能否在没有仿真的情况下本机运行 16 位操作系统?

如果您要构建具有完全现代部件的现代 x86 计算机,您是否可以在没有任何仿真甚至使用 FreeDOS 的情况下将 MS-DOS 6.11 和 Windows 3.11 加载到它上面?我最近看到一个视频,它是在 Windows 95 上完成的,一个 32 位操作系统,但它可以用 Windows 3.1 或更低版本的 16 位操作系统完成吗?

64-bit x86 windows-3.1 16-bit

39
推荐指数
3
解决办法
8743
查看次数

如何在 Linux 上检查二进制文件是否需要 SSE4 或 AVX

在 Linux 上,/proc/cpuinfo允许以一种简单的方式检查机器具有的所有 CPU 标志。
通常,如果程序需要机器指令集的超集,确定它的最简单方法是运行它并查看它是否发出SIGILL信号。

但就我而言,我所有的处理器都至少支持 SSE4.1 和 AVX。
那么,有没有一种简单的方法来检查二进制文件内部是否有特殊指令?

linux assembly x86

23
推荐指数
4
解决办法
2万
查看次数

x86 和 x64 处理器上 CPU 指令的延迟

我正在寻找一些表格或类似的东西,可以帮助我计算汇编代码的效率。

据我所知,位移需要 1 个 CPU 时钟,但我真的在看需要多少加法(减法应该相同),乘法以及如果我知道正在除法的值,如何大概计算除法时间。

我真的需要有关整数值的信息,但也欢迎浮动执行时间。

cpu 64-bit latency assembly x86

18
推荐指数
2
解决办法
4万
查看次数

英特尔为什么放弃安腾?

我正在阅读计算机的历史,我发现了 IA-64(安腾)处理器。它们听起来很有趣,我很困惑为什么英特尔会决定放弃它们。

能够明确选择要在该周期中运行的 2 条指令是一个好主意,尤其是在以汇编语言编写程序时,例如更快的引导加载程序。

对于任何汇编程序员来说,数百个寄存器应该是令人信服的。如果它不调用任何其他函数,您基本上可以将所有函数变量存储在寄存器中。

能够像这样执行三个操作数指令:

(qp) xor r1 = r2, r3    ; r1 =   r2  XOR r3

(qp) xor r1 = (imm8), r3 ; r1 = (imm8) XOR r3
Run Code Online (Sandbox Code Playgroud)

与只有两个工作相比:

; eax = r1
; ebx = r2
; ecx = r3

mov eax, ebx ; r1 = r2
xor eax, ecx ; r1 = r2 XOR r3

mov eax, (imm8) ; r1 = (imm8)
xor eax, ecx ; r1 = (imm8) XOR r3
Run Code Online (Sandbox Code Playgroud)

我听说这是因为没有向后的 x86 …

x86 intel-itanium

15
推荐指数
1
解决办法
1万
查看次数

为什么 Windows 7 x64 在我的 PC 上运行速度比 x86 版本快?

为什么 Windows 7 x64 比我的 PC 上的 x86 版本运行得更快,即使我主要在其中使用 x86 的东西?我有什么问题,我错过了什么?

我使用的大部分东西都是 x86(例如 DAW、游戏、媒体播放器)。然而,其中相当一部分是 x64(尽管它们的 x86 对应项工作得很好)。

我曾尝试在同一系统上使用相同的东西,但最终发现 Windows 7 x64 的运行速度比 x86 略快。我很细心。我什至注意到最小的窗口动画。

系统:Windows 7 Ultimate x64
CPU:Intel Core 2 Duo E7500 @ 2.93 GHz
RAM:2 GB x 2 = 4 GB DDR2 @ 332 MHz
主板:Intel D945GCNL
显卡:ATI Radeon HD 4350 @ 1 GB 专用
音频:M-Audio FastTrack Pro
硬盘:三星 HD753LJ 733 GB 和三星 HD160JJ 156 GB

如您所见,我的系统很旧。

windows-7 64-bit x86

11
推荐指数
3
解决办法
3万
查看次数

超线程的性能影响

我刚刚在 Heise Online 上阅读了一篇文章(看表格,其余的是德语),其中声称超线程会减慢单线程程序的速度,尽管它们不使用内核的第二个线程。也就是说,如果您在 BIOS 中禁用 HT,单线程应用程序的运行速度会稍快一些。

这是真的还是测量误差?有没有人有关于基准的来源,这些基准断言相同?

performance intel-core-i7 intel-core-i5 x86 hyper-threading

8
推荐指数
1
解决办法
2万
查看次数

为什么 VirtualBox 来宾内核在环 1 而不是环 3 中运行?

VirtualBoxx86平台上运行时,根据文档

当启用硬件虚拟化(即 VT-x 或 AMD-V)时,管理程序(即 VirtualBox 本身)以VMX 根模式(又名ring -1)运行,而虚拟机以VMX 非根模式(又名ring 0)运行. 这也是其他管理程序的工作方式。

另一方面,当硬件虚拟化不可用时,会使用软件虚拟化,并且来宾内核在环 1 中运行。从上面链接的第 10.6 节

  • 访客环 3 代码未经修改,全速运行,尽可能多......

  • 对于 ring 0 中的来宾代码,Oracle VM VirtualBox 使用了一个巧妙的技巧。它实际上重新配置了来宾,以便它的 ring-0 代码改为在 ring 1 中运行,这在 x86 操作系统中通常不使用)。结果,当guest ring-0代码,实际运行n ring 1,例如guest设备驱动程序尝试写入I/O寄存器或执行特权指令时,Oracle VM VirtualBox hypervisor在“真实”ring 0可以接手

...

  • 在 ring 1 中运行 ring 0 代码会导致很多额外的指令错误,因为ring 1 不允许执行任何特权指令,其中 guest …

virtualbox virtualization x86

8
推荐指数
1
解决办法
1119
查看次数

x86 上的谷歌安卓操作系统?

如何在 x86 平台上安装 Google 的 Android 操作系统?

这样做有什么先决条件吗?

android x86 installation

7
推荐指数
1
解决办法
872
查看次数

x86 处理器是否有可能在每瓦性能方面与 ARM 处理器相匹敌?

从我对平板电脑的个人体验以及我读过的基准测试和文章来看,几乎在所有移动设备中都可以看到 ARM 处理器,它们在消耗的功率方面提供了令人难以置信的性能。看起来 ARM 本质上比 x86 更节能。

在我看来,这是因为 x86 是CISC 架构而 ARM 是RISC 架构。但是,英特尔凌动处理器在功耗方面也提供了非常好的性能。另外,在研究了计算机架构后,我的理解是在现代处理器中,复杂的 x86指令集架构 (ISA)在内部被翻译成更简单的微操作使用比 x86 更接近更简单的 ARM 或 MIPS ISA 的内部指令集。因此,呈现给程序员的 ISA 只不过是一个向处理器发出命令的接口,而不是芯片执行的实际低级操作的表示。再说一次,实现这个转换层需要芯片上额外的硅空间......

也就是说,假设它们是使用相同的半导体工艺实现的,ARM 是否天生比 x86 更高效?有了适当设计的微体系结构,x86 处理器是否有可能提供与 ARM 处理器相同的每瓦性能?

请记住,我正在寻找本着 Stack Exchange 的精神而不仅仅是猜测的写得很好的技术答案。

power performance x86 arm cpu-architecture

7
推荐指数
1
解决办法
3849
查看次数