
The US chip industry starts to wake up to new competitive reality - yazr
http://archive.is/y7W4k
======
megaman8
As a consumer, I'd rather see them make faster hard drives. I think that's a
much bigger impact than faster CPUs. I remember when i got my mac book pro
2015. the hard drive was so much faster than 5 years earlier. I can now boot
up in less than 20 seconds. and my IDE opens in less then 4 seconds. getting
those two numbers down to 1 or less would be a much bigger improvement, IMHO.

~~~
lazyjones
This is hilarious for people who used to boot their OS instantly from ROM in
1985 ... The main culprits here are OS bloat and inefficient boot procedures,
not the performance of the storage system.

~~~
walkingolof
To be fair, you did not boot into an OS those days, booted into a single
threaded REPL with a library, a “slight” difference...

~~~
nicole_express
In 1985, the Atari ST came out and that same year supported booting into its
(single-tasking) GUI OS from ROM, quite a step up from the BASIC REPLs I
assume you're referencing here.

------
mjevans
They're correct, it's been obvious to everyone that there are limits to
physics that preclude pushing much smaller than we are presently designing
without switching to a different method of creating logic devices.

~~~
deepnotderp
And what would that different method be?

~~~
delecti
I think if they knew that they'd probably be selling the answer, not giving it
away here. It's clear the our current approach to making chips is approaching
a fundamental limit, it's not clear that there's an alternative, other than
asymptotically scraping increasingly small performance gains as we toe closer
to that line.

~~~
mycall
[https://www.darpa.mil/program/hierarchical-identify-
verify-e...](https://www.darpa.mil/program/hierarchical-identify-verify-
exploit)

~~~
delecti
That's probably the other half of where things will go. General purpose
computers eking out minor performance gains, and niche applications continuing
to move toward more and more specialized and single-purpose hardware.

------
cm2187
So basically we will now need to write more efficient software. A novel idea
to many!

~~~
ashleyn
Rust came just in time. A low-level language like those of old, but without
the undefined behaviour and terrible tooling.

~~~
fooker
Without undefined behavior, the compiler had to be really conservative and for
some platform it is going to be really slow.

For example, if you force C to have defined overflow semantics, the code
you'll get for a CPU which does not behave in the same way will use an order
of magnitude more instructions for that purpose.

~~~
adrianN
Rust actually gives you access to all overflow behaviors that you could want.
So if you know that your target CPU has saturating overflow you use
[https://doc.rust-
lang.org/std/primitive.i32.html#method.satu...](https://doc.rust-
lang.org/std/primitive.i32.html#method.saturating_add) or wrapping_add, or
overflowing_add, or checked_add. The syntax isn't as nice as for normal +
though.

~~~
fooker
Is there a way to specify that I don't care? That's exactly what C undefined
behavior is for.

------
fouc
I thought this was going to be about competition with China.

------
bobajeff
It sounds like it's going to be exciting times in the field of chip design.

------
carapace
Latching sort-nets.

------
394549
This is a paywall bypass for a Financial Times story. I think that should be
mentioned in the title.

~~~
Volt
Thanks, I had to wonder why this was on archive.is.

------
bmurray7jhu
"Software-defined hardware"

We can only hope that this term never becomes a buzzword.

~~~
skunkworker
Isn't that just a FPGA?

~~~
vvanders
Nah, FPGAs are programmable hardware, it's a subtle but important difference.

~~~
arcticbull
Yeah I'm not 100% sure what the difference is, I'd love an elaboration. The
languages you program FPGAs in typically are in the class of hardware
description languages (HDLs) - and IMO description and definition are
interchangeable in this context.

~~~
vvanders
Yeah, it's subtle but let me see if I can tease it out.

When you're talking about software you're talking about issuing a series of
commands that execute in certain ways that produce a desired result. While you
may have threading to give the appearance of concurrency(or actual discrete
cores/etc) it's still largely a serial operation(with pipelining under the
hood but largely not exposed at a software level).

In contrast FPGAs, CPLDs and the like use as you said Hardware _Description_
Languages. These languages are not about issuing a series of actions but
instead describing a blueprint for _construction_ of physical hardware
units(via SRAM LUTs, ASIC lithography or the like). Many things that are
common and expected as a part of software(looping, blocking, etc) are either
anti-patterns to not available at all.

Asking someone who's familiar with software to write HDL is like asking a
Civil Engineer to do the job of a Mechanical Engineer in designing the
drivetrain of a car. Both are professional engineers but they have vastly
different skills.

I've spent a fair time in both worlds(although more on the software side) and
learning FPGAs was like hitting a brick wall for ~3 months until you realize
you have to unlearn all you know about software and build up an understanding
from the hardware side first. It's also probably why firmware engineers tend
to write so much copy/paste code and software engineers tend to write code
that uses an order of magnitude more resources than they actually need.

~~~
sannee
> It's also probably why firmware engineers tend to write so much copy/paste
> code

This always seemed like limitations of the commonly used HDLs. Both Verilog
and VHDL are extremely verbose and do not really allow a lot of abstraction.
Even stuff like "I want this module to have a $common_interface" is hard to
impossible without just copy pasting the definitions (sure, there are C
macros) every time.

~~~
vvanders
Oh yeah totally, I think it's also a byproduct of how they synthesize. Extra
abstractions in software have relatively low cost where they can be really
expensive in HW.

