3 ms·
We have terms and languages to express computational complexity, algorithms, temporal logic etc. But what about data logistics and CPU mechanics? How good are
by dgb23 3y ago
We have terms and languages to express computational complexity, algorithms, temporal logic etc.
But what about data logistics and CPU mechanics?
How good are we at expressing things like memory fragmentation, cache locality, throughput and latency of operations etc? All of these things affect how the machine operates in very real ways, to a degree that often trumps the higher level mathematical concepts above.
I only ever see these things explained in high-level, heuristic terms, observed as a black box or spelled out literally as code.
Is there a language based on how the CPU and memory work that I'm not aware of?
- fjfaase 3y agoI do not think that such a language has been developed. The complexity of how a CPU, with several levels of caching, RAM, harddrives (with their own caching), and network storage (with their own caching) is simply mind boggling. For that reason, I think that this route is not often taken. I guess that whenever modeling of execution is performed it is done to analyse the behaviour of an existing implementation in order to find ways to improve it. If there is someone who has made an attempt to do something in this direction, I think it is Donald E. Knuth in his 'The Art of Computer Programming'. I think, for example about section 5.4 'External sorting' in Volume 3 'Sorting and Searching' [1]. [1] https://seriouscomputerist.atariverse.com/media/pdf/book/Art%20of%20Computer%20Programming%20-%20Volume%203%20(Sorting%20&%20Searching).pdf https://seriouscomputerist.atariverse.com/media/pdf/book/Art...