Tag: ANDROID-X86
Si entiendo correctamente, no hay una función de ensamblador nativa para calcular -x a partir de un valor de flotante x almacenado en un registro Xmm. Entonces, ¿cuál es la mejor (es decir, la más rápida) manera de hacerlo? Por supuesto, podría hacer 0 – x o -1 * x, . . . Read more
Estoy ocupado siguiendo un tutorial sobre cómo construir un cargador de arranque/sistema operativo simple para entender mejor el lenguaje ensamblador, pero no puedo entender lo que logra esto: jmp $ times 510-($-$$) db 0x55, 0xaa Entiendo lo que hacen las dos últimas líneas, pero ¿qué hace jmp $? Según mi . . . Read more
Muchos servidores multi-core más nuevos de Intel y AMD vienen con múltiples controladores de memoria DRAM en cada socket. (En comparación con las computadoras de escritorio / portátiles con un controlador de doble canal). Cuando un sistema operativo (como Linux) necesita memoria para atender la solicitud de una aplicación, ¿cómo . . . Read more
Pensé que el hot-patching suponía que sobrescribir cualquier instrucción que tenga una longitud de 2 o más bytes con un salto de 2 bytes era seguro para la ejecución concurrente del mismo código. Por lo tanto, se supone que la recuperación de instrucciones es atómica. ¿Es de hecho atómico, teniendo . . . Read more
Tengo una función que hace lo siguiente – #include <iostream> #include <vector> #include <immintrin.h> typedef struct{ std::vector<double> x; std::vector<double> y; void reserve(size_t size){ x.reserve(size); y.reserve(size); } size_t size(){ return x.size(); } } Points2D; void triangulate_simd(Points2D* points){ __m256d A_avx2 = _mm256_set1_pd(1.5542315); __m256d B_avx2 = _mm256_set1_pd(0.974578234); __m256d C_avx2 = _mm256_set1_pd(9.9937); __m256d D_avx2 . . . Read more