4 ms·
How do you handle the the CPU doing out-of-order execution and other tricks to reduce actual run-time?
by Plasmoid 2y ago
How do you handle the the CPU doing out-of-order execution and other tricks to reduce actual run-time?
- pjc50 2y agoOOE does not depend on the value of the operands, only on register allocation.
- p4bl0 2y agoI actually don't know, we weren't working on modern CPUs but on smaller devices that were used for sensitive embedded systems.
- cokernel_hacker 2y agoARM has DIT: https://developer.arm.com/documentation/ddi0595/2021-06/AArch64-Registers/DIT--Data-Independent-Timing https://developer.arm.com/documentation/ddi0595/2021-06/AArc... Intel has DOIT: https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/best-practices/data-operand-independent-timing-isa-guidance.html https://www.intel.com/content/www/us/en/developer/articles/t... The idea is that the processor will not take shortcuts that take advantage of the values it is processing. For example, a 64-bit division cannot shortcut if the operands are both small, etc.
- namibj 2y agoIntel DOIT instruction list does not include DIV: https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/resources/data-operand-independent-timing-instructions.html https://www.intel.com/content/www/us/en/developer/articles/t...