Originally posted by xfcemint
View Post
Announcement
Collapse
No announcement yet.
Linus Torvalds Bashes Intel's LAM - Rejected For Linux 6.2
Collapse
X
-
- Likes 1
-
Originally posted by Vorpal View Post
mm == memory management. It is a subsystem in the Linux kernel.
In this context, "mm" refers to struct mm_struct, a fundamental object in the kernel that describes, roughly, a process address space. It is pretty clear from the context that "mm" is not used here in the sense of the respective subsystem.Last edited by intelfx; 17 December 2022, 04:15 PM.
- Likes 3
Comment
-
Originally posted by xfcemint View PostIn short, I'm complaining that CPUs with OoO should feature optional SE. OTOH, you are comparing OoO CPUs with non-OoO CPUs, which is completely unrelated and irrelevant.
- Likes 2
Comment
-
Originally posted by xfcemint View PostNo, what you are saying is not true in this case.
The trick is that non-SE mode is so much simpler to implement than SE mode, so adding a non-SE mode doesn't really have any measurable impact on performance or complexity of CPUs.
Also, I wouldn't be surprised if all the modern CPUs are already capable of non-SE mode of operation, because that mode is very useful in debugging and testing the CPU during development. So, in modern CPUs, disabling SE probably boils down to just some changes in CPU microcode. I would bet that many modern CPUs can be put into a non-SE mode just by using appropriate microcode.
Basically OoOE makes speculation easy and lots of speculation is what makes OoO fast. You cannot have one without the other.
You can turn off branch prediction (one kind of speculation) in many CPUs, which results in such a slowdown that the CPU becomes unusable. Nobody sane would want to do that...
- Likes 5
Comment
-
Processors have had speculative execution for a long time. Even the AMD k5 and Intel P6 (Pentium Pro) CPU cores back in 1995 had functioning speculative execution. CPU manufacturers are very concerned about silicon budgets. If SE did not provide useful performance benefits, it would not be used.
ARM, IBM, Intel, AMD, even MIPS all utilize speculative execution on their high end cores. If it wasn't worthwhile (or had huge security problems for a minor increase in performance), it wouldn't be used.
- Likes 7
Comment
-
Originally posted by xfcemint View PostSo say you. Why can't we test that theory of yours by a benchmark?
Branch prediction is a kind of speculation, but it is not a kind of speculative execution. There is a significant difference. Speculative execution involves the execution stage of an instruction pipeline.
You can speculate as much as you want before an instruction enters the execution stage. That won't cause SPECTRE. SPECTRE can be caused only in the execution stage of the instruction pipeline.
So, please, don't confuse those terms again.
Without speculation you cannot start executing instructions after a branch until it has been fully resolved. Even in-order cores speculate branches since not speculating would be too slow.
Hence the idea of removing all speculation is totally stupid.
- Likes 4
Comment
-
Originally posted by xfcemint View Post
You mean, like Itanium?
You mean, like Pentium 4?
- Likes 5
Comment
-
Originally posted by xfcemint View PostI think that you are intentionally confusing the terms, since I have already told you:
branch prediction is not speculative execution.
I think it is stupid to claim that without any benchmarks. Theoretize blah blah blah....
I want a benchmark: speculative OoO vs. non-speculative OoO.
You can compare in-order (limited speculation) vs OoO cores (huge amount of speculation). You can compare with/without speculation past branches by turning off branch prediction. You can even insert fences after every instruction you want to stop speculating (eg. memory accesses). You will find that OoO without speculation is no longer OoO...
- Likes 4
Comment
-
Originally posted by xfcemint View PostThis is a red herring (Wikipedia).
My point is that those two designs were quite bad, as opposed to your argument of "flawless corporations".
Why exactly they failed - it is a complex issue, and not so easiliy related only to speculative execution (i.e. you are making a fallacy of incomplete comparison).
Neither design was bad, they were successful and made money. And to give the engineers credit due, they were technologically advanced. The P4 dual pumped 8GHz ALU was amazing and not matched by any design ever since. Similarly Itanium implementations were bigger and wider than anything else on the market, the later generation 12 wide design (with OoO execution) is still wider than the widest OoO CPUs today (8 wide).
- Likes 3
Comment
Comment