Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .