Take the 2-minute tour ×

Why do Intel 80486 and above CPUs have a double 32-bit internal data bus? ALU is still 32 bits wide, so what is the extra 32-bit bus for?

share|improve this question

2 Answers 2

It's for floating point/MMX/SSE data movement.

share|improve this answer

A double width data bus can be used for more than just a single piece of data at a time. As Paul R pointed out it is used for floating point data but it can also be used to transfer two pieces of 32-bit data at the same time.

So, say you are about to send an instruction to add two bits of data together, you can send both bits of data in one clock cycle "side-by-side" along with an instruction saying "add these two bits of data together". It saves time as the data is sent faster and also means that the ALU is not waiting as long for both the pieces of data to arrive.

Overall it just means that the resources are better utilised and larger amounts of data can be sent at a time, whether it means that multiple small bits of data can be sent at once or larger bits of data have to be split up less than they would with a smaller data bus.

share|improve this answer

Your Answer


