News for hackers. Stuff that matters.
Re:$30M Raised to Redo the CPU by librasteve on Wednesday November 11, 2026 @01:28AM (#50450302)
By my reckoning you can build about 256 small fast CPUs each with 16kiB RAM and IO on an M4 die area. Most of a modern CPUs gates are wasted on out of order execution and cache coherency.

https://bil-lang.org is a more explicit language that imo is needed for coders (or LLMs) to grapple with hammering algorithms onto a CPU array. But AI is a big lever to overcome this historic barrier.

Re:$30M Raised to Redo the CPU by christkv on Wednesday November 11, 2026 @01:29AM (#50450309)
so reinventing the transputer?
Re:$30M Raised to Redo the CPU by librasteve on Wednesday November 11, 2026 @02:31AM (#50450685)
unfinished business
Re:$30M Raised to Redo the CPU by christkv on Wednesday November 11, 2026 @02:33AM (#50450698)
Maybe what was missing as the llms to be honest to get these kind of architectures to work as you can have it run optimisations loop against hardware like this.
Re:$30M Raised to Redo the CPU by librasteve on Wednesday November 11, 2026 @02:44AM (#50450761)
yeah well there's a perennial problem of needing innovative languages to get this to work (Vine?) vs. the temptation to package this sw with chips and become a closed technology

I made Bil as a way to try and break that - built on Go (and LLVM) under BSD. Quite easy to run up a simple scheduler for any new architecture particularly if they are an LLVM target.

Re:$30M Raised to Redo the CPU by christkv on Wednesday November 11, 2026 @05:37AM (#50451835)
For sure, we need some sensible target for this to work with enough information to be able to generate performant code.
Re:$30M Raised to Redo the CPU by timClicks on Wednesday November 11, 2026 @02:31AM (#50450678)
[delayed]
Re:$30M Raised to Redo the CPU by vidarh on Wednesday November 11, 2026 @05:30AM (#50451787)
Also Parallella[1]. I have two of their 16 (+ 2 ARM cores) core demonstration units sitting in a box somewhere. They were fun, and I'm sad they didn't get much further - I think they did get a 64 core version done, but the longer term goal was a 4096 core grid. You could directly access the memory in each core, and there was a predictable cycle count to do so based on location in the grid, so you could write algorithms that'd run in lock-step if you wanted.

There's also XMOS[2] that appears to have morphed quite far from the original concept but is still focused on parallelism.

The challenge for both is that it's really hard to carve out a decent sized space alongside regular CPUs and GPUs. They can't compete with CPUs on single core performance, and so far can't compete with GPUs on concurrency. Both seemed to try to carve out space in embedded / low powered systems. XMOS seems to have somewhat succeeded (at least they're still alive), while Parallella/Adapteva failed.

[1] https://parallella.org/

[2] https://en.wikipedia.org/wiki/XMOS

Re:$30M Raised to Redo the CPU by alexey-salmin on Wednesday November 11, 2026 @04:34AM (#50451366)
Out of order execution is not a waste. Itanium learned that the hard way.

Cache coherency is hardly a waste too. For general purpose compute you need at least some mechanism to exchange messages between cores so the transistor budget is needed. It wasn't convincingly demonstrated that CC is worse than alternatives.

Re:$30M Raised to Redo the CPU by librasteve on Wednesday November 11, 2026 @04:53AM (#50451536)
hmmm - not sure I can agree with that. lets say we both subscribe to David Hennessy approach to quantitative CPU performance design. then depends on the workload.

I accept that modern day CPUs have co-evolved with modern compiler backends to be highly dependent on OoO - but the case of the many small CPU folks is that for a large class of performance hungry algorithms there are ways to distribute the workload efficiently over many parallel CPUs with no shared memory. In this case then there is a trade off of "does each CPU do OoO and take more die area" vs. "does each CPU NOT do OoO and take less die area" with proportionately more total datapath throughput per mm2.

I submit that for this class of problem, zero or very little OoO is the optimum. In the fag packet designs I have done it looks to me that a 2 dispatch integer pipeline with a small I-cache is fully capable of filling a 32-bit FP datapath (double pass if you want f64, four f16 per cycle) and in turn that can saturate a 256-bit SRAM unified on chip main memory bus. And, of course, the shorter the pipe to flush and the less deep the main memory latency then good things happen.

Re:$30M Raised to Redo the CPU by CyberDildonics on Wednesday November 11, 2026 @06:32AM (#50452185)
You can not agree or 'submit for this class of problem' all you want, but the fact is that now and for a long time getting the most math instructions out of the smallest die size doesn't seem to be a problem.

Realistically in most applications you can get far more processing power than you need because of clock speeds, modern architectures, transistor budgets etc.

A disposable vape can have an arm cortex m0 that runs at 24 mhz and a $1 pi pico can have a dual core m0 that can run at 133 mhz to 200 mhz.

If you want raw math you can use SIMD or a GPU model and if you need single core power you need out of order execution to hide the memory latency, because that's the real bottleneck for the last 30 years.

These multiple tiny cpu core models just don't make sense to solve any real problem and they create a lot with their complexity and latency trying to communicate with each other.

There just isn't some bizarre niche that needs more math instructions with less power consumption. People have all they need even without being efficient. If someone needs more they turn to writing actual optimized software.

Re:$30M Raised to Redo the CPU by adrian_b on Wednesday November 11, 2026 @07:01AM (#50452418)
The reason for the existence of OoO is that the latency of a memory read is much greater than the executions of tons of instructions.

The only algorithms that do not care about memory latency are the digital processing algorithms and the like (which include things like video/audio compression and decompression), where there is a continuous stream of incoming data, which must be processed.

Otherwise, whenever you have to read a previously unused memory location from an address that is not predictable by the hardware prefetcher, you must pay the latency penalty.

There are only 2 ways to hide the memory latency, by doing something else while you must wait the arrival of data. You can either execute instructions taken from elsewhere from the current thread, which is OoO and which requires a lot of complex hardware to find which instructions may be executed, or you can use either fine-grained multi-threading or simultaneous multi-threading, where either the programmer or the compiler have taken care to prepare a lot of independent concurrent threads, so that the hardware may execute any instructions from a thread that is not the current one, without having to search and analyze the instructions, to find their dependencies at run-time.

Because this is much easier for programmers, OoO is preferred for CPUs. Where the cost per core must be minimized, FGMT or SMT with a very large number of threads is preferred, like in GPUs.

In the parent article it is said that they will not use OoO, but nothing is said about multi-threading. If neither OoO nor FGMT/SMT are used, the result is a special-purpose processor, not a general-purpose processor, i.e. a processor whose use is restricted to DSP-like algorithms, because otherwise its execution units would stay idle almost all the time.

I have browsed briefly through the documentation of the programming language mentioned in the announcement, but it does not appear to have many features relevant for concurrent programming, not even of the level of the Occam language, which was used for Transputers.

The only unusual feature that I see, is a Fork/Drop thing, which works exactly like reference counts, except that instead of passing references to an object, copies to that objects are passed, which is an optimization that may be useful in a concurrent program, but it is something that can be done by a compiler, without being visible in the programming language.

Re:$30M Raised to Redo the CPU by librasteve on Wednesday November 11, 2026 @11:55AM (#50455593)
I think my main disagreement with this well established line of reasoning is that a small CPU with dedicated SRAM can have a very low (2 cycle) latency on a very wide (eg 1024 bit) memory bus … so sure running a typical application workload tuned for a few shared memory cores will not improve much. But the raw MIPS/FLOPS per sq mm is much higher and with LLM we have a helper that can adapt to this unusual constraint.

So not general apps, nor pure pipeline DSP tasks that map onto a GPU. But I reckon there’s a lot of ground in between that is open for colonisation.

btw https://bil-lang.org is inspired by Occam style CSP and grafts that into Go … so yes a fast scheduler to overlap at the process level and a way to guide LLM via strict chan and par structure

Re:$30M Raised to Redo the CPU by IsTom on Wednesday November 11, 2026 @06:50AM (#50452312)
Until you find a way to speed up sequential computation using parallel processing (show what NC = P?) there will always be a need for singular beefy cores.