Preguntas con la etiqueta [x86]
¿Cuáles son los costos de latencia y rendimiento de compartir una ubicación de memoria entre productores y consumidores entre hiperhermanos y no hiperhermanos?
Dos subprocesos diferentes dentro de un solo proceso pueden compartir una ubicación de memoria común leyéndola y/o escribiendo en ella. Por lo general, dicho intercambio (intencional) se implementa mediante operaciones
¿Probar si un registro es cero con CMP reg,0 vs OR reg,reg?
¿Existe alguna diferencia en la velocidad de ejecución usando el siguiente código? cmp al, 0 je done y lo siguiente: or al, al jz done Sé que las instrucciones JE
¿Cómo puedo determinar si un ensamblado .NET se creó para x86 o x64?
Tengo una lista arbitraria de ensamblados .NET. Necesito verificar mediante programación si cada DLL se creó para x86 (a diferencia de x64 o cualquier CPU). es posible?
¿Por qué Skylake es mucho mejor que Broadwell-E en cuanto a rendimiento de memoria de un solo subproceso?
Tenemos una prueba comparativa de rendimiento de memoria simple. Todo lo que hace es memcpy repetidamente para un gran bloque de memoria. Al observar los resultados (compilados para 64 bits)
¿Qué técnica de mapeo de caché se utiliza en el procesador Intel Core i7?
He aprendido sobre diferentes técnicas de mapeo de caché, como el mapeo directo y el mapeo totalmente asociativo o asociativo por conjuntos, y las compensaciones entre ellas. ( Wikipedia )
¿Cuántos bytes envía la instrucción push a la pila cuando no especifico el tamaño del operando?
Puedo insertar 4 bytes en la pila haciendo esto: push DWORD 123 Pero descubrí que puedo usar pushsin especificar el tamaño del operando: push 123 En este caso, ¿cuántos bytes
Usando el registro de puntero base en C ++ en línea asm
Quiero poder utilizar el registro de puntero base ( %rbp) dentro del conjunto en línea. Un ejemplo de juguete de esto es así: void Foo(int &x) { asm volatile ("pushq
¿Es seguro leer más allá del final de un búfer dentro de la misma página en x86 y x64?
Muchos métodos que se encuentran en algoritmos de alto rendimiento podrían (y se simplifican) simplificarse si se les permitiera leer una pequeña cantidad más allá del final de los buffers
¿Por qué EDX debería ser 0 antes de usar la instrucción DIV?
Me di cuenta cuando EDX contiene algún valor predeterminado aleatorio como 00401000, y luego uso una instrucción DIV como esta: mov eax,10 mov ebx,5 div ebx provoca un ERROR DE
¿Cuál es el propósito de la instrucción LEA?
Para mí, parece un MOV original. ¿Cuál es su propósito y cuándo debo usarlo?
Uso básico de inmediatos frente a corchetes en el ensamblaje YASM/NASM x86
Supongamos que tengo lo siguiente declarado: section .bss buffer resb 1 Y estas instrucciones siguen en section .text: mov al, 5 ; mov-immediate mov [buffer], al ; store mov bl,
¿Cómo escribir hola mundo en ensamblador en Windows?
Quería escribir algo básico en ensamblaje en Windows. Estoy usando NASM, pero no consigo que nada funcione. ¿Cómo escribo y compilo un programa Hola Mundo sin la ayuda de funciones
¿Es `reinterpret_cast`ing entre el puntero vectorial SIMD de hardware y el tipo correspondiente un comportamiento indefinido?
¿ Es legal acceder reinterpret_casta float*objetos a través de un tipo de puntero diferente?__m256*float constexpr size_t _m256_float_step_sz = sizeof(__m256) / sizeof(float); alignas(__m256) float stack_store[100 * _m256_float_step_sz ]{}; __m256& hwvec1 =
Reemplazar un contador de bucle de 32 bits por uno de 64 bits introduce desviaciones locas de rendimiento con _mm_popcnt_u64 en las CPU Intel
Estaba buscando la forma más rápida de acceder a popcountgrandes conjuntos de datos. Encontré un efecto muy extraño : cambiar la variable del bucle de unsignedauint64_t hizo que el rendimiento
Hacer referencia al contenido de una ubicación de memoria. (modos de direccionamiento x86)
Tengo una ubicación de memoria que contiene un carácter que quiero comparar con otro carácter (y no está en la parte superior de la pila, por lo que no puedo