News for hackers. Stuff that matters.
Re:Reverse-engineering the division microcode in the Intel 8... by kens on Saturday April 08, 2023 @12:04PM (#35494619)
Author here. Hopefully you're not all tired of the 8086 by now :-)
Re:Reverse-engineering the division microcode in the Intel 8... by LanternLight83 on Saturday April 08, 2023 @01:19PM (#35495464)
Can't speak for everyone, but I'm lovin' it, thanks!
Re:Reverse-engineering the division microcode in the Intel 8... by retrac on Saturday April 08, 2023 @01:35PM (#35495649)
No, quite the opposite! Your reverse engineering and descriptions of CPU design that go from the high level to the low level are precious. I think most would agree that the control logic is the hardest part of a processor to understand. But it's where the magic happens. There is surprisingly little on the topic aimed at a more general audience (I've looked for it over the years). I wish I'd had some of your recent posts in my textbooks. They remind me a bit of The Art of Digital Design by Prosser and Winkel but from a reverse engineering perspective.
Re:Reverse-engineering the division microcode in the Intel 8... by jacquesm on Saturday April 08, 2023 @01:53PM (#35495847)
Never! I really should get that other chip to you...
Re:Reverse-engineering the division microcode in the Intel 8... by kergonath on Saturday April 08, 2023 @03:14PM (#35496614)
Absolutely not! I can’t say I understand everything but I love reading your work.
Re:Reverse-engineering the division microcode in the Intel 8... by rwmj on Saturday April 08, 2023 @04:13PM (#35497143)
Are there any physical indications of the order in which instructions were added? I mean to say: Is there any indication that (for example) they added DIV last, perhaps because it's complicated and they didn't know if they could fit that in.
Re:Reverse-engineering the division microcode in the Intel 8... by kens on Saturday April 08, 2023 @11:58PM (#35499956)
Andrew Jenner pointed out that the microcode for the string (block move) operations doesn't exactly match the flowchart in the documentation, and the micro-instructions are kind of scattered around. So it's likely that the string operations were modified late in the process. As far as the other instructions, I haven't seen any particular indication of the order.
Re:Reverse-engineering the division microcode in the Intel 8... by userbinator on Saturday April 08, 2023 @11:12PM (#35499764)
Do you think the 8086/8088 were well-optimised/efficient in general? In other words, had they spent some more effort, could they have reduced the transistor count and reduced the number of cycles the instructions take without changing the functionality?
Re:Reverse-engineering the division microcode in the Intel 8... by kens on Saturday April 08, 2023 @11:55PM (#35499947)
The 8086/8088 look pretty well-optimized in many ways: the design of the instruction set, the architecture, the microcode, and the silicon layout. Studying it closely, I've seen multiple things that are more clever than I expected, and haven't seen anything that makes me shake my head in dismay.
Re:Reverse-engineering the division microcode in the Intel 8... by bonzini on Monday April 10, 2023 @07:35AM (#35511183)
Just a note that, just like AAD is a multiplication (and add) in disguise, AAM is an 8-bit unsigned division in disguise and also uses the CORD subroutine.