1.

Solve : Truth in marketing. It is 48 bit, not 64 bit.?

Answer»

Do you have a 64 bit CPU? Can it really get to any 64 bit address? or does it quit at 48 bits? Take a look at this:
From Wikipedia, 48-bit computing.
http://en.wikipedia.org/wiki/48-bit_computing
So there is such a thing? YES!
Then what is 64 bit computing?
Why do 64 bit systems have only a 48 bit address space? (Stack Overflow)
Can we protest? Did we pay for 64 and only get 48? If this is not corrected soon, we could be in real  trouble. For example, the world debt, in dollars and cents, might go beyond the limit of 48 bit integers. Would that present a problem? If not, why not?
Curious minds need to know.





As a Stack Overflow responder said,

Quote

48 bits give you an address space of 256 terabyte. That's a lot. You're not going to see a system which needs more than that any time soon.

So CPU manufacturers TOOK a shortcut. They use an instruction set which allows a full 64-bit address space, but current CPUs just only use the lower 48 bits. The alternative was wasting transistors on handling a bigger address space which wasn't going to be needed for many years.

So once we get near the 48-bit limit, it's just a matter of releasing CPUs that handle the full address space, but it won't require any changes to the instruction set, and it won't break compatibility.

I don't see a problem. I don't think you're being serious. I hope not.
I was. I can think of a specific application where having all 64 lines available could serve a esoteric  device that could attach to  the motherboard. It wound be a memory mapped  video card that can play games only from one software vendor. By using patent and  copyrights one could assert that some address in the high region would 'belong' to a manufacturer. Thus preventing other vendors from making a copy cat cheap imitation that might run the same games.
There is real potential. But... why should CPU manufacturers have wasted money on something that isn't necessary, so some guy in the future's "esoteric" device might work?
Quote from: Geek-9pm on July 29, 2013, 12:20:23 PM
Do you have a 64 bit CPU?
Yes. my Q8200 and T3200 are 64-bit CPUs.

Quote
can it really get to any 64 bit address?
False dichotomy. "64-bit" refers to the Data bus width, not the address bus width.

8-bit 8088 Processor had 20-bits of address bus to address 1MB of RAM. if the 8-bit CPU could only address 8-bits worth of memory, than it would have only been able to use 256 bytes.

16-bit 286 was 16-bit but had a 24-bit address bus allowing it to access 16MB.

386SX was a 32-bit processor but had a 16-bit data bus as well as having only a 21-bit Address bus, meaning it was limited to 16MB of memory, like the 286.

386DX was 32-bit all the way, including the data bus.

The equalization kept up until the Pentium Pro. the 486SX/DX as well as the Pentium and Pentium MMX processors were 32-bit through and through.

The Pentium Pro, however, had a 36-bit address bus. All later processors can address at least 64GB of Memory. Opteron jumped to 40-bit; Itanium jumped to 44-bit. AMD64 eventually settled on 48-bit as a reasonable address bus size.

Quote
Then what is 64 bit computing?

64-bit processors have 64-bit memory bus width, meaning they transfer data from system memory in QWORD sizes; they also transfer data internally at 64-bit, which some having 128-bit internal data buses, and most having processor features that make some of their registers 128-bit. They also have of course 64-bit registers.

Quote
Can we protest? Did we pay for 64 and only get 48?

64-bit doesn't refer to the address bus. That's why "8-bit" processors and "16-bit" processors never have 8 and 16-bit address buses respectively.


Quote
If this is not corrected soon, we could be in real  trouble. For example, the world debt, in dollars and cents, might go beyond the limit of 48 bit integers. Would that present a problem? If not, why not?
Well first off "world debt" doesn't make any sense. Indebted to who? What other worlds are our creditors? But aside from that, 48-bit is limited to 48-trillion or so through integers.

of course, the problem with this supposition is first that what is '48-bit' is only the address bus and is not present as a limitation of the bit-width of elements. 64-bit processors still process a QWORD at a time, and they still DEAL with 64-bit integers and 64-bit data values. their registers are 64-bit in size, not 32-bit. Even if the processors had a 48-bit data bus, that doesn't mean it's impossible to use 96-bit integers. 32-bit processors can process 64-bit integers and operations on 64-bit integers and values, they just need to do it in two 'bites'.







[/quote]Good answer BC.
But if the 8086 was a 24 bit address machine  instead of 20 bit, things would have been very interesting b sack in the DOS days. Hindsight.

Still, I don't see having 16 more address lines would be a waste. It could open the door to new kinds of devices that run from the address lines.

But how big is 48 bit addressing? What if they didn56 bit addressing? Only 8 more little wires. They could shoe it in somewhere.

Video memory:
The idea I gave to Salmon Trout could work. Each graphics maker could have his own direct memory 16GB graphics area in the upper part of the 64 bit array. Each graphics card could be made with very unique Hardware and Proprietary software.
Another, Universal Database:
One could imagine a database that would use the additional address lines to get to external data. All the data in the world could be assigned a place in the 64 bit address space. When you make a query, the address lines  esoteric device would send a message to a massive super internet that could instantly convert the address into a website IPs  and provide the data you requested. Or maybe the address lines would be the actual IP address.

Really, they add extra cores. They could add 16 more wires. Hey! there is an idea! a quad CPU with each having nits own path into the upper  memory area.

Am I the only one who dreams? What would you do with a CPU that can physically reach into a 64 bit space.? Or even 56?
Or, Why do you think 48 bit will always be enough?
I need to know right now! Quote from: Geek-9pm on July 29, 2013, 10:44:13 PM
But if the 8086 was a 24 bit address machine  instead of 20 bit, things would have been very interesting b sack in the DOS days. Hindsight.
it would have been interesting because the XT would have been ridiculously pricy. And it was already up there in terms of cost, given it's advantages over it's 8088 predecessor. (16-bit internal and external data bus, for example)

Quote
Still, I don't see having 16 more address lines would be a waste. It could open the door to new kinds of devices that run from the address lines.
I'm not really sure I understand what you could be referring to by "new kinds of devices". I mean I did see your hypothetical scenario involving "esoteric" devices, but by definition I would imagine esoteric considerations are not predominant when how things are designed, instead they tend to prefer practical considerations. I guess I'll note some responses to that now.

Quote
I can think of a specific application where having all 64 lines available could serve a esoteric  device that could attach to  the motherboard.  It wound be a memory mapped  video card that can play games only from one software vendor.
I'm not sure I see what your point with this scenario is; we already have memory mapped devices. We call them Graphics cards, and they work with pretty much any software. Even so, I'm not really sure how such a device would require the CPU to have a 64-bit address bus.

Quote
But how big is 48 bit addressing? What if they didn56 bit addressing? Only 8 more little wires. They could shoe it in somewhere.
Salmon Trout already ANSWERED the first question. 48-bit Address bus results in 256TB of addressable space. The answer to the second is obvious: there is no reason to. Even your hypothetical scenario doesn't have anything that makes it benefit from 64-bit addressing, and the fact is that current hardware limitations mean it's pretty much impossible to get that much memory installed into a PC anyway. The fact is that if they added anything more than that, it would never get used; the limitation may be met (256TB) at some time in the future, but the fact is that it's impossible to plan for that future by simply widening the address bus, most importantly because that will make them cost more here and now for a feature that may never be used.

Imagine for example- if a current Core 2 Quad had a 64-bit address bus. What benefits would it offer? None whatsoever. No current motherboard can hold more than 256TB of memory, many top out at 16GB and others at 64GB- and even those amounts are exorbinantly priced. When that amount of RAM becomes affordable, the Core 2 Quad is going to be a relic and there won't be motherboards that can use it anymore and support the larger amount of memory, meaning that the extra address bus size is completely pointless and never get's used, meaning the only difference is it cost more to manufacture and it cost more to buy.

Quote
The idea I gave to Salmon Trout could work. Each graphics maker could have his own direct memory 16GB graphics area in the upper part of the 64 bit array. Each graphics card could be made with very unique Hardware and Proprietary software.
The idea you gave didn't make any sense to me. Current Graphics cards already DO map IO/Addresses into the virtual address space- it's how the driver communicates with it. it seems like you are suggesting that Video Memory (Graphics RAM) be directly mapped into the virtual address space as well. This has a few issues, first of all being that Graphics Memory can sometimes be write only or read operations can be a lot slower; not to mention that every single access to that mapped address will basically have to marshal across the Motherboard bus; currently as  I understand it the Graphics Driver marshals data to the video card by storing blocks of data into memory, telling the graphics adapter where it is, and the graphics adapter slurps it across the bus through DMA or some other fancy bus switching thing that happens practically asynchronously. I see no benefit to your hypothetical scenario.

Quote
Another, Universal Database:
One could imagine a database that would use the additional address lines to get to external data. All the data in the world could be assigned a place in the 64 bit address space. When you make a query, the address lines  esoteric device would send a message to a massive super internet that could instantly convert the address into a website IPs  and provide the data you requested. Or maybe the address lines would be the actual IP address.
This has absolutely nothing to do with an Address bus at all.

Quote
Really, they add extra cores. They could add 16 more wires. Hey! there is an idea! a quad CPU with each having nits own path into the upper  memory area.
The difference between adding extra CPU Cores and adding extra Address Lines is that the CPU Cores will actually get used and utilized. the Address Lines never will. Most motherboards max out long before they reach anywhere close to 256TB. I know MINE maxes out at 16GB, which means that even the 48-bit address bus it has won't ever be entirely used; and by the time we have motherboards approaching anywhere near that limit, the CPU and socket it uses will be relegated to history.

Quote
What would you do with a CPU that can physically reach into a 64 bit space.? Or even 56?
Nothing useful because no motherboard supports anywhere near enough memory to make it useful. Even 48-bit is a bit of overkill at this point, but it was probably easier to do it that way.
Quote
Or, Why do you think 48 bit will always be enough?
Why do you think anybody suggested it would always be enough?
I need to know right now!
[/quote]


Discussion

No Comment Found