The 386 processor is a 32-bit processor, so it works in 4-byte chunks. This network shifts bytes around so the chunk is aligned correctly. Bits go down the vertical wires, across horizontal wires, and then out the bottom. Energizing different wires provides the desired shift and lines up the bytes.

A closeup of the die showing a wide strip of circuitry. It consists of 32 horizontal wires along with 32 groups of vertical wires. Each group of vertical wires has four wires of different lengths. The result is diagonal bands sloping across the image. The image is tan and dark brown. At the top and bottom, chunks of circuitry appear in dark brown.

How hard can it be to add 1 to a number? The problem is that incrementing a 30-bit number can require carry the 1, carry the 1, repeated 30 times: slow. In the 386's prefetcher, Manchester carry chain and carry skip circuits make this fast, implemented with complicated dynamic logic.

A diagram showing how the Manchester carry chain works. Each bit opens or closes a switch (a transistor). The carry starts at the right and quickly goes through the switches until it hits an open switch (corresponding to a 0 bit). This generates all the carries in parallel.A schematic of one bit of the Manchester carry chain. It is more complicated than the previous diagram. A "clocked inverter" and "keeper/amplifier" boost the carry signal as it passes through the chain. This circuitry is driven by the processor's clock, charging up the line during the first clock phase and then computing the carry in the second clock phase. An XOR gate flips the data bit if there is a carry, producing the incremented output.
0

If you have a fediverse account, you can quote this note from your own instance. Search https://oldbytes.space/users/kenshirriff/statuses/114484473700727506 on your instance and quote it. (Note that quoting is not supported in Mastodon.)