LaurieWired Profile picture
May 12 6 tweets 4 min read Read on X
What if humanity forgot how to make CPUs?

Imagine Zero Tape-out Day (Z-Day), the moment where no further silicon designs ever get manufactured. Advanced core designs fare out very badly.

Assuming we keep our existing supply, here’s how it would play out: Image
Image
Z-Day + 1 Year:

Cloud providers freeze capacity. Compute Prices skyrocket.

Black’s Equation is brutal; the smaller the node, the faster electromigration kills the chip.

Savy consumers immediately undervolt and excessively cool their CPUs, buying precious extra years. Image
Image
Z-Day + 3yrs:

Black Market booms, Xeons worth more than gold. Governments prioritize power, comms, finance. Military supply remains stable; leaning on stockpiled spares.

Datacenters desperately strip hardware from donor boards, the first "shrink" of cloud compute. Image
Image
Z-Day + 7Yrs:

Portable computing regresses, phone SoCs fail faster from solder fatigue. Internet switches hit EOL, nothing horrible yet, but risk increases.

Used “dumb” car market skyrockets, lead-free solder in ECUs experience their first failures from thermal cycling. Image
Image
Z-Day + 15Yrs

The “Internet” no longer exists as a single fabric. The privileged fall back to private peering or Sat links.

Sneakernet via SSDs popular, careful usage keeps them alive longer than network switches. For those lucky enough not to have their desktop computers confiscated, Boot-to-RAM distros and PXE images are the norm to minimize day-to-day writes.

HDDs are *well* past the bathtub curve, most are completely dead. Careful salvaging of spindle motors and actuator arms, with precision repairs keeps the most critical high capacity arrays online.Image
Image
Z-Day + 30Yrs

Long-term storage has shifted completely to optical media. Only vintage compute survives at the consumer level.

The large node sizes of old hardware make them extremely resistant to electromigration, Motorola 68000s have modeled gate wear beyond 10k years! Gameboys, Macintosh SEs, Commodore 64s resist the no new silicon future the best.

Fancier, (but still wide node) hardware like iMac G3s become prized workstations of the elite. The state of computing as a whole looks much more like the 1970s-80s.Image
Image

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with LaurieWired

LaurieWired Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @lauriewired

Aug 13
Is your compiler a boy or a MAN?

Created by Donald Knuth, it’s a test to check if recursion is implemented properly.

Originally written in ALGOL 60, a precursor to C, but can adapt to nearly any language.

It really stresses the stack and heap, pushing insane call depths:
It’s a fun little program that creates an explosion of self-referential calls in just a few lines of code.

At a recursion depth of 20, the call stack already hits the millions!

Keep in mind, this test was designed in the 1960s; yet even modern systems struggle. Image
Early C fails the test.

The lack of nested functions, along with the simple stack-based memory model makes closures impossible.

You can *sorta* do the test in modern C, but it’s a total hack /w function pointers and structs.

Kinda misses the whole point. Image
Image
Read 4 tweets
Aug 6
Ring 0 is a highly-privileged state on CPUs.

Negative Ring Levels have even *higher* privilege. You just haven’t heard of them.

For X86, Ring -1 is Hardware Virtualization, Ring -2 is System Management Mode, Ring -3 is Intel ME / AMD PSP.

Arm get's even weirder: Image
Image
Negative rings are mostly due to X86 being really old; as the ISA got more complex, we got "above 0" states.

Armv8 moves in a positive direction; higher numbers have more privilege. From EL0 (user space) to EL3 (State-Switching).

Apple does something extra funky: Image
Image
For Apple’s M-chips, two substates were added to EL1+EL2, called GL1 and GL2.

During their reverse engineering efforts, Asahi Linux confirmed that the EL3 state doesn’t exist on the M1.

GL1 is a sandbox that the XNU kernel “jumps” into every time it edits a page table. Image
Read 4 tweets
Aug 2
An early rule you learn in computer science is:

“Never store currency as floats”

Nearly every popular language has special, built-in types for money. But why?

The *majority* of money-like numbers have no float representation, accumulating to massive errors over time: Image
Image
Go ahead and try this. Let’s add three dimes. Open up a python terminal, and type in:

0.10 + 0.10 + 0.10

Uh oh. See that little remainder?

It may seem trivial, but this mistake happens more often than you’d expect! Image
iBit, a Bitcoin exchange, encountered a “free money” glitch for this reason.

Orders were parsed as floats; you could create an order smaller than a single satoshi (minimum unit of Bitcoin).

Source wallet would round down (no change), target wallet rounded up (+1 satoshi). Image
Image
Read 4 tweets
Jul 30
Programming Languages used to be designed as powerful as possible.

Maximum possible utility given hardware constraints.

The pro move is to choose the *least* powerful, non-Turing-complete solution.

The entire web exists because of the Principle of Least Power: Image
Image
Don’t take my word for it. Tim Berners-Lee (inventor of HTML, HTTP, etc) had this to say:

“the less powerful the language, the more you can do with the data...”

HTML is purposefully *not* a real programming language.

The constraint pushed innovation to data processing. Image
Imagine an alternate-reality Web, where HTML didn’t exist.

Java applets would have been a serious contender; they certainly allowed for rich interactivity.

Yet, without a way to freely scrape simply formatted data, search engines would be a non-starter. Image
Read 4 tweets
Jul 29
When you make a Bank ACH transaction, it’s literally just an SFTP upload.

Sent as a NACHA file, it's 940 bytes of ASCII text.

Bank-to-Bank transactions cost ~0.2 cents. As long as it travels via encrypted tunnel; it’s compliant!

Here’s how the quirky system works: Image
Image
Chase offers a sample NACHA file to look at.

Notice the rows padded with 9s. It’s an artifact of a 1970s rule about magnetic tape, "always fill the block".

To this day, total line count *must* be a multiple of ten; otherwise the bank will drop the transaction. Image
Image
Of course, larger Fintech firms (think Stripe) wrap it up with modern APIs, but SFTP is the default for most US Banks.

Hilariously, NACHA rules don’t clarify *how* transactions should be encrypted.

Only that “commercially reasonable” cryptography should be used. Image
Read 4 tweets
Jul 28
Intel’s not doing so hot lately. Meanwhile vendors are killing it at the RISC-V Summit in China.

One CPU got a specint2006/GHz rating of 10.4/GHz!

To put it in perspective, a i7-4790k (Haswell) scores 8.1/GHz.

RISC-V is hitting high-end desktop territory FAST: Image
Image
No one realizes how quickly a CPU supply chain; completely independent of western IP is progressing:

Not long ago RISC-V performance was a joke.

Now it’s trading blows with x86 and high end ARM!

In another generation or two it’s going to be a *serious* contender. Image
UltraRISC (the vendor with the high specint2006 score) is fabbing on a pretty old node; TSMC 12nm.

They don’t even have full vector support yet!

Imagine in a few years, a ~7nm chip /w full vector extensions.

China will have *fast* CPUs with no license chokepoints! Image
Read 4 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(