▲ | wallopinski 3 days ago | |||||||
I was an instruction fetch unit (IFU) architect on P6 from 1992-1995. And yes, it was a pain, and we had close to 100x the test vectors of all the other units, going back to the mid 1980's. Once we started going bonkers with the prefixes, we just left the pre-Pentium decoder alone and added new functional blocks to handle those. And it wasn't just branch prediction that sucked, like you called out! Filling the instruction cache was a nightmare, keeping track of head and tail markers, coalescing, rebuilding, ... lots of parallel decoding to deal with cache and branch-prediction improvements to meet timing as the P6 core evolved was the typical solution. We were the only block (well, minus IO) that had to deal with legacy compatibility. Fortunately I moved on after the launch of Pentium II and thankfully did not have to deal with Pentium4/Northwood. | ||||||||
▲ | nerpderp82 3 days ago | parent [-] | |||||||
https://en.wikipedia.org/wiki/P6_(microarchitecture) The P6 is arguably the most important x86 microarch ever, it put Intel on top over the RISC workstations. What was your favorite subsystem in the P6 arch? Was it designed in Verilog? What languages and tools were used to design P6 and the PPro? | ||||||||
|