3 ms·
Alpha 21264 (also from '96) had load store buffers that would notice the dependence violations and flush the pipeline during speculative execution. Sparc and po
by mzs 11y ago
Alpha 21264 (also from '96) had load store buffers that would notice the dependence violations and flush the pipeline during speculative execution. Sparc and power also had this to some extent with write buffers. I can't think of any that used a predictor though to decide whether to execute speculatively or not back then, they all just either did or stalled on the first potential violation. The patent appears novel for the time to me, thank you for digging it up and explaining.
- deleted 11y ago[deleted]
- rayiner 11y agoDEC was working on it, allegedly for EV8: https://www.cis.upenn.edu/~cis501/papers/store-sets.pdf https://www.cis.upenn.edu/~cis501/papers/store-sets.pdf. They cite to the inventor of the patent in question: "Independently, Moshovos et al. published a comprehensive description of memory dependence prediction. This is the first published work identifying that memory dependencies are problematic for out-of-order machines."
- mzs 11y agoThat's a great paper and insight, thanks again.