Resultados da pesquisa a pedido "x86"

3 a resposta

Implementação mais rápida da função exponencial usando o AVX

Estou procurando uma aproximação eficiente (rápida) da função exponencial que opera em elementos AVX (ponto flutuante de precisão única). Ou seja -__m256 _mm256_exp_ps( __m256 x ) sem SVML. Precisão relativa deve ser algo como ~ 1e-6 ou ~ 20 ...

1 a resposta

É possível usar as instruções de 64 e 32 bits no mesmo executável no Linux de 64 bits?

Uma CPU de 64 bits (amd64) suporta instruções Intel de 32 bits no modo de compatibilidade. Além disso, uma instalação Linux de 64 bits permite executar ELFs contendo instruções de 32 bits se o cabeçalho do ELF indicar que é um executável de 32 ...

3 a resposta

Montagem em linha do GCC com operação de empilhamento

Estou precisando de um código de montagem embutido: eu tenhoum par(portanto, é equilibrado) da operação push / pop dentro da montagemEu também tenho uma variável na memória (então, não registro) como entradacomo isso: __asm__ __volatile__ ...

2 a resposta

O que acontece quando diferentes núcleos da CPU gravam no mesmo endereço de RAM sem sincronização?

Vamos supor que 2 núcleos estão tentando gravar valores diferentes no mesmo endereço de RAM (1 byte), no mesmo momento (mais-menos eta) e sem usar instruções intertravadas ou barreiras de memória. O que acontece nesse caso e qual valor será ...

2 a resposta

O código gerado pelo compilador C Minúsculo C emite NOPs e JMPs extras (desnecessários)

Alguém pode explicar por que esse código: #include <stdio.h> int main() { return 0; } quando compilado com tcc usandotcc code.c produz este asm: 00401000 |. 55 PUSH EBP 00401001 |. 89E5 MOV EBP,ESP 00401003 |. 81EC 00000000 SUB ESP,0 00401009 ...

2 a resposta

Confiabilidade do perfil do tempo de desmontagem do Xcode Instrument

Eu criei um perfil do meu código usando o criador de perfil de tempo do Instrument e, ampliando o zoom para a desmontagem, aqui está um trecho de seus resultados: [/imgs/dAzUD.png] Eu não esperaria ummov instruções para levar 23,3% do tempo ...

1 a resposta

Como os caches da CPU L1, L2, L3 podem ser desativados nos modernos chips x86 / amd64?

Toda CPU moderna de alto desempenho da arquitetura x86 / x86_64 possui alguma hierarquia de caches de dados: L1, L2 e, às vezes, L3 (e L4 em casos muito raros), e os dados carregados da / para a RAM principal são armazenados em cache em alguns ...

0 a resposta

Como a CPU sabe qual rotina de serviço de interrupção executar contra uma interrupção de hardware?

Por exemplo, uma tecla do teclado é pressionada, causando uma interrupção de hardware gerada na CPU, a CPU envia uma confirmação ao controlador de interrupção. No estágio do processo de interrupção, como a CPU sabe qual rotina de serviço de ...

1 a resposta

Como posso descobrir qual linha de cache é tocada por uma instrução em um processador Intel?

Eu li o artigosobre a exploração Meltdown / Spectre [http://www.theregister.co.uk/2018/01/04/intel_amd_arm_cpu_vulnerability/]que permitem a leitura de dados privilegiados do kernel usando bugs de hardware na CPU. Diz: O truque é alinhar as ...

3 a resposta

O que é um retpoline e como ele funciona?

Para mitigar a divulgação de kernel ou memória de processo cruzado (oEspectro [https://spectreattack.com/spectre.pdf]ataque),$3Espectro4$ [https://lkml.org/lkml/2018/1/3/780], -mindirect-branch=thunk-extern introduzido agcc para realizar chamadas ...