509 karma · joined May 29, 2012
In some cases the compiler may decide to evaluate both paths and then "undo" the path that was wrong. This is very common on VLIW architectures like Itanium which have hardware support for this (predicates), but it can also be done with other instruction sets.
I agree that the situation is not ideal, but at least you can run it on your own computer if you actually want to...
In the past there were some bad actors doing shady stuff on iOS with this type of entitlement. I wonder if that influenced this type of restriction: https://guce.techcrunch.com/copyConsent?sessionId=3_cc-sessi...
> A Boolean that indicates whether the app manages virtual network interfaces without escalating privileges to the root user.
https://developer.apple.com/documentation/bundleresources/en...
* I was one of those persons and I can assure you that it was very impressive and changed everything...
At least we could use Docker!
..and get actually reproducible builds...
David Goldberg: What Every Computer Scientist Should Know About Floating-Point Arithmetic (1991)
https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.h...
It all depends on what kind of machine you are talking about...
Also it takes time to schedule instructions. In a simple processor with a 5 stage pipeline you can simply stall the entire pipeline, but since you stall all other instructions too, this is costly. And in a modern superscalar out-of-order processor, stall is even more expensive and you cannot reschedule all instructions for the next cycle at the end of the previous cycle because rescheduling is too complex.
Writing a block device for Linux so that the flash could be used as a cache or ram disk is quite easy (speaking from experience) and I assume that Diablo has already written one.
If Diablo had access to the memory controller inside the main CPU they could even run the DDR as a cache for the flash memory like some giant L4 cache. In such a scenario the DDR ram emulation would make sense...
(actually that would be word-level, because DDR doesn't allow bit-level access...)
> What are the applications for this hybrid?
Highly parallel applications with tight loops. These loops can be offloaded to the FPGA while the rest of the system can run as before. This approach allows you to use languages like FORTRAN/C/C++ without resorting to Verilog/VHDL, so it's much easier to adopt.