Google-apper
Hovedmeny

Post a Comment On: Ken Shirriff's blog

"Reverse-engineering the adder inside the Intel 8086"

7 Comments -

1 – 7 of 7
Blogger Immortal Spirit said...

Fascinating, as always! Do the people who designed the 8086 still exist, and do u ever try to ask them questions? Like why *does* the first carry skip block just use three bits? And a thousand other questions!

August 1, 2020 at 10:50 AM

Anonymous Graham said...

Interesting to see an optimisation invented in Manchester, England in the era of germanium transistors, reused 19 years later in California.

August 2, 2020 at 3:51 AM

Anonymous Diomidis Spinellis said...

An amazing and edifying description. Can you please clarify why dynamic logic is faster? It’s not apparent from your description and Wikipedia’s article doesn’t help either. Perhaps you can expand on this in another article.

August 3, 2020 at 11:34 PM

Blogger Emerald Seaside said...

The gate for the mosfets used in CMOS are effectively capacitors that need to be charged or discharged before the mosfet switches state. Dynamic logic uses about half of the number of mosfets that static logic requires. And hence has about half of the capacitive load on the inputs, so the inputs can charge or discharge the gates quicker and hence the logic switches faster.

But of course there are drawbacks as well. Minimum clock speeds is one. Additionally, the logic has to be designed so it can't "glitch" and cause the parasitic capacitor to be prematurely drained. Static logic can recover from such a glitch, dynamic can't.

August 4, 2020 at 8:02 AM

Blogger CuriousMarc said...

Fascinating. Well done, Master Ken.

August 8, 2020 at 12:04 PM

Anonymous Anonymous said...

I think there could be a problem in the 1-bit full-adder. The carry_in is feed as negated logic and inverted twice (one in the xor and one in the inverter - if I am not mistaken there is a single xor in the path of the carry_in). Thus there result of that circuit should be op1 ^ op 2 ^ \overline{carry_in} and not as the footnote note 5 states op1 ^op2^ carry_in.
Am I wrong? is it possible that there is no actual inverter between the c_in and the last xor?

March 15, 2021 at 4:49 AM

Anonymous Anonymous said...

/Generate NAND is pointless. XOR proves both inputs same, else ignored. Inverter will do.
If Carry style were non-inverting, Generate/Kill would need only the pass transistor.
Whatever intel did is what they did. Could be fanout or dynamic logic required it?

The other slightly more evil Ken KD5ZXG

July 9, 2021 at 7:58 PM

You can use some HTML tags, such as <b>, <i>, <a>

Comment moderation has been enabled. All comments must be approved by the blog author.

You will be asked to sign in after submitting your comment.
Please prove you're not a robot