4 ms·
Yes, more 8086 microcode. I'm here for any questions...
by kens 4y ago
Yes, more 8086 microcode. I'm here for any questions...
- PaulCarrack 4y agoLove the work Ken, been reading your articles since the early 2010s. Do you get paid to write these posts and do the research or is this just a hobby? I wish I could find the time to do something similar, but between family and work I have zero free time to do anything anymore, unlike my 20s that were time spent wasted. Would love to know how you do time management if this is your hobby.
- kens 4y agoNo, I don't get paid for this. The time-management secret is to retire :-)
- anyfoo 4y agoI met your group at some informal meeting where Eric was showing his Monster 6502 (it seems ages ago by now), and it definitely gave me a blueprint of how I'd spent my time once I retire. :D
- mmastrac 4y agoDo you ever feel like you'd want to go back to work? I've tried a few sabbaticals and always find myself itching to work again.
- anyfoo 4y agoDoes the differing prefetch queue size between 8088 and 8086 lead to any significant differences between the Bus Interface Units (or wherever that affects most) of the two chips, or is it basically just a "parameter" in the design that could be tuned without a lot of knock-on effects? Also: > If the queue ran empty, the processor waited until more instruction bytes were fetched from memory into the queue. Does the CPU make any effort to fill up the queue before it runs empty?
- kens 4y agoI haven't studied the 8088 super-closely. There are a moderate number of changes. For instance, the prefetch registers in the 8088 needs to be updated a byte at a time, so they need separate write control lines for the low and high bytes. The logic that counts queue positions also needs changing; it is optimized logic rather than a generic counter. So it's more than just changing a parameter. As for the CPU making an effort to fill up the queue, the CPU tries to fill up the queue if the bus is idle. But if memory accesses are happening, you're better off doing the memory accesses that you need rather than performing prefetches which could get discarded.
- anyfoo 4y agoThat makes a lot of sense, thanks.
- theresLand 4y agoI've recently taken an interest in CPU architecture and your wonderful article couldn't have come at a better time for me. Thank you. Beginner question: In the example of the 3-byte instruction using the immediate value: ADD AX,1234 Is this instruction 3 bytes long because 'ADD AX' is encoded in 1 byte while the immediate value '1234' is two bytes long?
- colejohnson66 4y agoYes. ADD AX,Iw is encoded as the single byte, 0x01. That byte indicates that a two byte immediate (Iw, which is 1234 here) follows.