4 ms·
The Intel 386 processor die: the clock circuit
- kens 3y agoAuthor here: this is a pretty obscure circuit, but hopefully it is interesting. I figured I'd start with the simple parts of the 386. Only 285,000 more transistors to go :-)
- colejohnson66 3y agoGreat writeup! Just FYI: the clock "divide by two" graphic has an unlabeled input into the upper-right AND gate.
- basementcat 3y ago/clk
- kens 3y agoThanks, I've fixed that now.
- atq2119 3y agoNice writeup! Do you know around what time repeaters were started to be used for clock trees? I also wonder about the two phases. Is that still commonly used?
- kens 3y agoOne lecture from 2004 discusses the buffered clock tree in the Alpha 21064 (1992), while the 386 (1985) didn't use them, so that gives a time period. As far as two phases, the lecture says that edge-triggered (rather than two-phase) is most popular (page 16). But I don't know about modern design. Link: https://web.stanford.edu/class/archive/ee/ee371/ee371.1066/lectures/Old/lect_08_2up.pdf https://web.stanford.edu/class/archive/ee/ee371/ee371.1066/l...
- bonzini 3y agoTypo: "Even though the 8086 has four clock signals" 8086 should be 386. What if you looked at the 186, comparing it with the 8086? It should be interesting considering there is more efficient digital logic (including microcode) and possibly some interesting analog circuits for the embedded I/O...
- kens 3y agoI haven't looked at the 186, but maybe if I have time. From a quick look, it looks like the core is similar to the 8086 so the circuitry improvements can't be too major. It would be interesting to compare the microcode. And of course the 186 has the programmable interrupt controller, timers, and DMA. I'm not sure what analog circuitry you're referring to, other than the clock generator which isn't much more than inverters.
- bonzini 3y agoI was going by memory but yes there's just a clock generator, nothing comparable to say a GPIO controller.
- rep_lodsb 3y ago>It would be interesting to compare the microcode. I've disassembled the microcode[1], it's similar to the 8086 but with some changes: - No subroutines are used (effective address calculation and most of multiply/divide handled by dedicated logic). CORR is also no longer needed. - The 'update flags' bit now has a second function: on a jump, it causes the next micro-instruction to always be executed unconditionally (saving one clock cycle in case the jump is taken) - MOVS / INS / OUTS are optimized, using a special memory-to-memory (or I/O) transfer; the microcode for this has the 'IRQ' bit set. The address isn't loaded into IND for these anymore (tested it with LEA reg,reg) - maybe it's using the DMA controller? - Slightly different condition codes ("CX not zero" was added for LOOP/JCXZ; "segment prefix is present" for adjusting IP on interrupted string instructions). - Order of the 4 instructions in each 84-bit row is shuffled around for some reason [1] see https://news.ycombinator.com/item?id=34334799 https://news.ycombinator.com/item?id=34334799 and https://forum.vcfed.org/index.php?threads/8088-8086-microcode-disassembly.77933/page-2#post-951895 https://forum.vcfed.org/index.php?threads/8088-8086-microcod...
- punkybr3wster 3y agoDon’t know what ad network you’re using but the popups taking over the whole window and trying to trick you to navigate away from your content seem counter intuitive to content creation.
- kens 3y agoThere shouldn't be popups covering the screen. What browser/device are you using to view my website?
- jdkee 3y agoFantastic explanation. Does it surprise you how timing circuitry evolved along with with CMOS density or does that just follow? Or require a lot of engineering talent?
- kens 3y agoYeah, a lot of engineering talent went into supporting faster and faster clocks. I linked to an Intel presentation from 2005 that discusses their clock circuitry in detail, and it's complicated. The slide on page 2 is interesting: it shows desktop clock frequency going up exponentially in a nice straight line from 1985 to 2003, looking to hit 10 GHz in 2005 and keep going. Of course that didn't happen at all, and clock speeds have been essentially flat since then. It's surprising how wrong this graph was at predicting the future. Link: https://web.stanford.edu/class/ee380/Abstracts/ClockingInMicroprocessorsLecture2005-final.pdf https://web.stanford.edu/class/ee380/Abstracts/ClockingInMic...
- monocasa 3y agoYeah, the end of Dennard Scaling hit the whole industry like a brick wall.