I think a bit more than my current (bad) PC.
Hm. You’d say how many times better will be that new PC over the old (current) PC?
I see my post failed to explain why I stated my PC was 256 bit lol-
basically, we increase bitness for three reasons, in three different ways.
- In order to use more memory, we make wider registers to hold big pointers.
- 64 bits is complete overkill, modern PCs only use 48-54 bits for physical memory, which is plenty.
- In order to access memory faster, we fetch more memory at once, widening the busses and usually registers to hold the bigger memory grabs.
- Modern machines use unhinged multi-tiered caching schemes, this is utterly irrelevant, we can use any bus width we like because the only one the CPU touches directly is the L1 cache.
- the vaguest one: in order to get more done. If I want to add a 64 bit number to another 64 bit number, i have two choices: write a several cycle complex addition subroutine and have awkward load routines to get 64 bit number stored in pairs of 32 bit ones, or use a PC with 64 bit registers. We all choose the latter.
- Issue is 64 bits is by far the largest numbers you’ll ever need. The sole exception is cryptography, and we have ASICs for most of that. So, we don’t add more bits to make things faster either…
BUT! We often need to add a LOT of numbers. Say we want to add 512 pairs of 32 bit numbers. A 64 bit PC isn’t actually faster at this than a 32 bit one, and will use more power. How to fix? Well, MMX. MMX is an intel thing which allows you to pack multiple numbers in 64 bit registers. This does not use 64 bit numbers, but does use 64 bit registers. As we established, 64 bit numbers will basically never become obsolete. BUT 64 bit registers aren’t perfect. These resisters can only hold two 32 bit numbers, and we have 512 pairs to add up, right? And if we needed to add up 64 bit numbers, this would be useless. So, SSE was invented. SSE has 128 bit registers! These can hold a pair of 64 bit numbers, or four 32 bit numbers, or eight 16 bit numbers, but not 128 bit numbers. With SSE our 512 pairs take 1/4 the time to add, and if we had 512 pairs of 64 bit numbers, we could shorten that time too! This is great, but we can take this further, AVX2 (ignore the lack of avx1) gives most of us 256 bit registers, and AVX512 (not avx3, I know this naming scheme sucks) gives a few lucky bastards with modern AMD CPUs or the two good intel CPUs 512 bit registers. These cannot hold any numbers larger than 64 bit, and never will most likely. We will probably never use numbers bigger than 64 bit (for non cryptographic uses). But, registers won’t stop growing. This is all on x86/x64, ARM has been going in a parallel path for just as long, though consumer cores are stuck with 128 bits for, complex reasons, and RISC-V has an utterly insane system that achieves basically the same thing.
TL:DR, bit-ness isn’t a measure of quality it use to be, as we have moved past old needs. We have the largest numbers we’ll ever need, but we have increased the size of specialized registers anyways in order to get maximum speed, doing math on multiple numbers per register. The largest consumer-available registers are 512 bit.
Comically expensive build:
https://pcpartpicker.com/list/2sr39C
6.2 thousand dollars, or 5 kidneys, 3 livers, and two first-born children.
Could the militaries hold computer tech even more powerful than that?
widening registers is a terrible idea if you seriously want to crunch numbers. If you literally have 512 numbers to add up and this problem is of genuine importance, you add all of them at once. There are several problems which require math of a TON of numbers, and they all have solutions:
- cryptography, especially bitcoin mining: Hashing algorithms use 256+ bit numbers, and in many cases you want to has as many data points as possible, as fast as possible. We use ASICs for stuff that really matters (Application Specific Integrated Circuit, custom build chips that literally just run hashing algorithms).
- Neural networks: training a neural net is too complex for ASICs, that falls into the other category, but running them is pretty easy: just do a LOT of fused multiply adds. NPUs have millions of extremely simple cores, which I believe run independently, but very little would change if they were forced to be in lockstep and acted like one giant SIMD register (I mean, i think, might break a lot).
- Video: doesn’t actually require much parallelization if you’re watching or encoding one movie, but if you’re youtube reencoding a million videos at once, you can use GPUs. We mostly actrually use ASICs for video decode/encode, but that’s mostly for power savings.
- Graphics: you can look up how GPUs work
- EVERYTHING ELSE: surprisingly, also GPUs. GPUs are fantastically powerful, and make a great compromise between extreme parallelization and ability to do complex tasks.
- Yes I know what DPUs and DSPs are, no I won’t explain, go away I explained perfectly ahhh
Point being, there is no good reason to extend the size of CPU registers, if you’re spending the time bothering to order custom secret military chips, you can afford to hire someone who can write shader code, and honestly, it’s 2025, you’re the military, you can afford an Nvidia GPU so you get to just use CUDA. If it’s a custom sized register, you’d likely need to rewrite all your code anyways, might as well skip chipmaking.
So 64 bit CPUs are here to stay, but is the case the same for 32-bit CPUs?
eh, at least for embedded stuff I guess ? we as consumers really won’t need 32 bit CPUs going forwards, but I don’t see them disappearing any more than 8 bit CPUs disappeared (they didn’t, i have several on my desk, some of which are actually being used!).
How have 16-bit CPUs been doing?
Factorio server setup revisited:
https://pcpartpicker.com/list/wDvYzP
Just some slight tweaking.
Do you think the two setups won’t be meddled with from now on?
Only some slight tweaks at most. It’s basically done with the design phase already!
Also, my CPU has promo discounts now!
So I presume the purchase day is coming soon then?
Replaced the PSU with a fully modular one:
https://pcpartpicker.com/list/WMtqyW
Do you think after this PC-building project you’ll go around and perhaps help other people in your life also build their own good PCs?
I’ll help people design the PCs. Assembly though… I mean, I only know how to assemble a PC because of LTT.
Also, apparently I don’t need that much from a PSU. And semi modular is enough modular!
https://pcpartpicker.com/list/tdhxQd
What OS have you decided for the to-be-built PC of yours again?
Originally Linux Mint, but I went with Pop!_OS.
Oh, from the linux thread I thought you made up that distro…
It’s actually a very popular gaming distro for beginners! Since I’m a gamer and have never used linux before, it sounds like the distro for me!