Pytania otagowane jako x86

x86 to architektura wywodząca się z procesora Intel 8086. Rodzina x86 obejmuje 32-bitowe architektury IA-32 i 64-bitowe x86-64, a także starsze architektury 16-bitowe. Pytania dotyczące tego ostatniego powinny być oznaczone tagami [x86-16] i / lub [emu8086]. Użyj tagu [x86-64], jeśli Twoje pytanie dotyczy 64-bitowej architektury x86-64. W przypadku FPU x86 użyj tagu [x87]. W przypadku SSE1 / 2/3/4 / AVX * użyj również [sse] i dowolnego z [avx] / [avx2] / [avx512], które mają zastosowanie

1
Czy instrukcje x86 wymagają własnego kodowania, a także wszystkich argumentów znajdujących się w pamięci w tym samym czasie?
Próbuję dowiedzieć się, czy można uruchomić maszynę wirtualną z systemem Linux, której pamięć RAM jest obsługiwana tylko przez jedną fizyczną stronę. Aby to zasymulować, zmodyfikowałem moduł obsługi błędów zagnieżdżonej strony w KVM, aby usunąć obecny bit ze wszystkich pozycji zagnieżdżonej tablicy stron (NPT), oprócz tego odpowiadającego aktualnie przetwarzanej usterce strony. …

2
Szybszy test podzielności niż operator%?
Zauważyłem ciekawą rzecz na moim komputerze. * Odręczny test podzielności jest znacznie szybszy niż %operator. Rozważ minimalny przykład: * AMD Ryzen Threadripper 2990WX, GCC 9.2.0 static int divisible_ui_p(unsigned int m, unsigned int a) { if (m <= a) { if (m == a) { return 1; } return 0; } …

1
Dlaczego GCC inicjuje agregację tablicy najpierw wypełniając całość zerami, w tym elementami niezerowymi?
Dlaczego gcc wypełnia całą tablicę zerami zamiast tylko pozostałych 96 liczb całkowitych? Wszystkie niezerowe inicjalizatory znajdują się na początku tablicy. void *sink; void bar() { int a[100]{1,2,3,4}; sink = a; // a escapes the function asm("":::"memory"); // and compiler memory barrier // forces the compiler to materialize a[] in memory …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.