小编Mac*_*ser的帖子

计算机程序运行时会发生什么?

我知道一般理论,但我不能适应细节.

我知道程序驻留在计算机的辅助内存中.程序开始执行后,它将完全复制到RAM中.然后处理器一次检索一些指令(它取决于总线的大小),将它们放入寄存器并执行它们.

我也知道计算机程序使用两种内存:堆栈和堆,它们也是计算机主存储器的一部分.堆栈用于非动态内存,堆用于动态内存(例如,与newC++中的运算符相关的所有内容)

我无法理解的是这两件事是如何联系起来的.用于执行指令的堆栈在什么时候?指令从RAM,堆栈到寄存器?

c++ memory x86 operating-system computer-architecture

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

SSE2值提取问题

我想从128位寄存器中提取值(第一个字16bits),我得到了这个命令,但这不起作用.设置a的值后会有一些算术运算,比变量里面会有一些算术运算最后会改变我想要提取第一个字......我怎么能这样做...

int r;
int inm=0;

__m128i a=_mm_setr_epi16(8,9,3,2,4,5,6,11);

_asm{
    r = _mm_extract_epi16(a,inm);    
}
Run Code Online (Sandbox Code Playgroud)

c sse inline-assembly intrinsics

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