top 50 comments

sorted by: hot top controversial new old
[–] 143 points 2 years ago* (last edited 2 years ago) (17 children)

We do, depending on how you count it.

There's two major widths in a processor. The data register width and the address bus width, but even that is not the whole story. If you go back to a processor like the 68000, the classic 16-bit processor, it has:

  • 32-bit data registers
  • 16- bit ALU
  • 16-bit data bus
  • 32-bit address registers
  • 24-bit address bus

Some people called it a 16/32 bit processor, but really it was the 16-bit ALU that classified it as 16-bits.

If you look at a Zen 4 core it has:

  • 64-bit data registers
  • 512-bit AVX data registers
  • 6 x 64-bit integer ALUs
  • 4 x 256-bit AVX ALUs
  • 2 x 128-bit data bus to DDR5 (dual edge 64-bit)
  • ~40-bits of addressable physical RAM

So, what do you want to call this processor?

64-bit (integer width), 128-bit (physical data bus width), 256-bit (widest ALU) or 512-bit (widest register width)? Do you want to multiply those numbers up by the number of ALUs in a core? ...by the number of cores on a piece of silicon?

Me, I'd say Zen4 was a 256-bit core, but you could argue any of the above numbers.

Basically, it's a measurement that lost all meaning so people stopped using it.

  • source
  • hideshow 20 child comments
  • [–] 18 points 2 years ago* (last edited 2 years ago)

    I would say that you make a decent argument that the ALU has the strongest claim to the “bitness” of a CPU. In that way, we are already beyond 64 bit.

    For me though, what really defines a CPU is the software that runs natively. The Zen4 runs software written for the AMD64 family of processors. That is, it runs 64 bit software. This software will not run on the “32 bit” x86 processors that came before it ( like the K5, K6, and original Athlon ). If AMD released the AMD128 instruction set, it would not run on the Zen4 even though it may technically be enough hardware to do so.

    The Motorola 68000 only had a 16 but ALU but was able to run the same 32 bit software that ran in later Motorola processors that were truly 32 bit. Software written for the 68000 was essentially still native on processors sold as late as 2014 ( 35 years after the 68000 was released ). This was not some kid of compatibility mode, these processors were still using the same 32 bit ISA.

    The Linux kernel that runs on the Zen4 will also run on 64 bit machines made 20 years ago as they also support the amd64 / x86-64 ISA.

    Where the article is correct is that there does not seem to be much push to move on from 64 bit software. The Zen4 supports instructions to perform higher-bit operations but they are optional. Most applications do not rely on them, including the operating system. For the most part, the Zen4 runs the same software as the Opteron ( released in 2003 ). The same pre-compiled Linux distro will run on both.

  • source
  • parent
  • load more comments (14 replies)
    [–] 129 points 2 years ago (5 children)

    Is this a question?

    We haven't even come close to exhausting 64-bit addresses yet. If you think the bit number makes things faster, it's technically the opposite.

  • source
  • hideshow 9 child comments
  • [–] 35 points 2 years ago (2 children)

    Yeah, 64 bit handles almost all use cases we have. Sometimes we want double the precision (a double) or length (a long), but we can do that without being 128-bit. It's harder to do half. Sure, it'd be slightly faster for some things, but it's not significant.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 22 points 2 years ago (1 child)

    And you can get 128-bit data to the CPU, so those things can be fast if we need them to be.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 21 points 2 years ago

    And we have wide instructions that can process this data, such as for multimedia applications.

    Addressing and memory size has been the historic motivator for wider registers, but it’s probably not going to be in my lifetime that I see the need for 128.

  • source
  • parent
  • load more comments (1 reply)
  • [–] 34 points 2 years ago (1 child)

    Is this a question?

    For the people who don't know the answer? Yes.

    Not everything you see is intended for your consumption. Let people enjoy learning things.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 16 points 2 years ago* (1 child)

    I totally agree. I know a teacher who who likes to say:

    "I believe there really is no such thing as a dumb question. As long as it's an honest question (not rhetorical or sarcastic), then it's a genuine request for more information. So even if it's coming from a place of extreme ignorance, asking a question is an attempt to learn something, and the effort should be applauded."

  • source
  • parent
  • hideshow 1 child comment
  • load more comments (1 reply)
  • load more comments (1 reply)
    [+] 114 points 2 years ago* (last edited 1 year ago) (6 children)
  • [–] 19 points 2 years ago

    See here's where this analogy is perfect. Sometimes a bicycle is the best solution, just like how sometimes a microcontroller is the best solution. You use the tool you need for the job, and American product design is creating way too many "smart" products just like how American town planning demands too many cars. Bring back the microcontroller! Bring back the bike!

  • source
  • parent
  • load more comments (2 replies)
    [–] 64 points 2 years ago (4 children)

    32 bit CPU’s having difficulty accessing greater than 4gb of memory was exclusively a windows problem.

  • source
  • hideshow 8 child comments
  • [–] 15 points 2 years ago (4 children)

    Interesting! Do you have a link to a write up about this? I don’t know anything about the windows memory manager

  • source
  • parent
  • hideshow 7 child comments
  • [–] 24 points 2 years ago* (last edited 2 years ago) (2 children)

    Only slightly related, but here's the compiler flag to disable an arbitrary 2GB limit on x86 programs.

    Finding the reason for its existence from a credible source isn't as easy, however. If you're fine with an explanation from StackOverflow, you can infer that it's there because some programs treat pointers as signed integers and die horribly when anything above 7FFFFFFF gets returned by the allocator.

  • source
  • parent
  • hideshow 2 child comments
  • load more comments (2 replies)
  • [–] 17 points 2 years ago

    Intel PAE if the answer, but it still came with other issues, so 64 was still the better answer.

    Also the entire article comes down to simple math.

    Bits is the number of digits.

    So like a 4 digit number maxes out at 9999 but an 8 digit number maxes out at 99 999 999

    So when you double the number of digits, the max size available is exponential. 10^4 bigger in this case. It just sounds small because you’re showing that the exponent doubles.

    10^4 is WAY smaller than 10^8

  • source
  • parent
  • [–] 15 points 2 years ago* (last edited 2 years ago) (1 child)

    It was actually 3gb because operating systems have to reserve parts of the memory address space for other things. It's more difficult for all 32bit operating systems to address above 4gb just most implemented additional complexity much earlier because Linux runs on large servers and stuff. Windows actually had a way to switch over to support it in some versions too. Probably the NT kernels that where also running on servers.

    A quick skim of the Wikipedia seems like a good starting point for understanding the old problem.

    https://en.m.wikipedia.org/wiki/3_GB_barrier

  • source
  • parent
  • hideshow 2 child comments
  • load more comments (1 reply)
  • [–] 37 points 2 years ago (1 child)

    The comments on this one really surprised me. I thought the kinds of people who hang out on XDA-developers were developers. I assumed that developers had a much better understanding of computer architecture than the people commenting (who of course may not be representative of all readers).

    I also get the idea that the writer is being vague not to simplify but because they genuinely don’t know the details, which feels even worse.

  • source
  • hideshow 2 child comments
  • [–] 28 points 2 years ago (7 children)

    Because computers have come even close to needing more than 16 exabytes of memory for anything. And how many applications need to do basic mathematical operations on numbers greater than 2^64. Most applications haven't even exceeded the need for 32 bit operations, so really the push to 64bit was primarily to appease more than 4GB of memory without slow workarounds.

  • source
  • hideshow 7 child comments
  • load more comments (7 replies)
    [–] 21 points 2 years ago

    tell that to playstation2 owners

  • source
  • [–] 18 points 2 years ago (4 children)
    load more comments (4 replies)
    [–] 17 points 2 years ago (3 children)
    load more comments (3 replies)
    [–] 15 points 2 years ago

    John Mashey wrote about this nearly 30 years ago. This Usenet thread is worth a read.

  • source
  • [–] 13 points 2 years ago (4 children)

    That would be like 6 minutes abs.

  • source
  • hideshow 4 child comments
  • load more comments (4 replies)
    load more comments
    view more: next ›