Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A CPU arm’s race is a great thing.

Hopefully, RISC-V joins the race.



I’ve seen quite a few articles and people lamenting about how RISC-V is a badly designed ISA and requires a lot of instructions to do the same amount of work as other architectures. It would be interesting if someone knowledgeable on this could summarise whether that’s really a problem, or if there’s anything that would make RISC-V a strong or weak proposition?


The RISC V position is that compressed instructions with macro ops fusion can solve this issue:

  https://erik-engheim.medium.com/the-genius-of-risc-v-microprocessors-b19d735abaa6
We'll see in practice as more powerful RISC V cores are developed and used. For a new architecture like this it's normal to start with deeply embedded (and relatively low power) cores, and then move up the food chain. It takes time to build an ecosystem.

Currently the ISA is minimalist but I assume that at the high end some extensions still in development will eventually become expected, like bit operations or the vector extension.


I don't think anyone can tell anymore whether an instruction set is superior just with theoretical high-level arguments. The only way the pros know for sure is to model the pipeline, run benchmarks and measure the resulting performance for each variation.

That movement started with Computer Architecture: A Quantitative Approach, which is from late 80s/early 90s?


Read up on Esperanto Technologies mentioned here:

https://medium.com/swlh/what-is-innovative-about-risc-v-a821...

They use small RISC-V cores with the vector extension to do high performance machine learning. Basically they make minimalist small cores supporting this extension so they can put over 1000 of these cores on one SoC.


That’s a very interesting link and overview, thanks!


>RISC-V... requires a lot of instructions to do the same amount of work as other architectures.

So... they're complaining that it's RISC?


No they are complaining that it is too RISC compared to well designed RISC ISAs, e.g. ARM or POWER.


Do, please, look at The RISC-V Reader: An Open Architecture Atlas (book). There, ARM and x86 are directly compared with RISC-V. It would appear calling ARM 'well-designed' is an error. Calling it 'market success' is accurate.

I've been on the RV bandwagon for five years now, and yet...as is usual in the corners of any non-trivial subsystem (arch; compiler; web environment; you name it), sticky unpleasant (even ugly) details emerge. For example, in RISC-V, the bits are 'jumbled up' when encoding constants; the argument is it, ultimately, makes the processing faster (due to the way sign-extension works). And, yes, this sort of detail is swept away into a debugger or other tools, so practically, no big deal. And yet... classic archs like pdp-11 don't have this problem. (it has other performance problems).

And recently, RV supports big endian. Why? I don't know. What is happening is what happens when you get too many cooks: exploding complexity for minimal system gain.

I'm afraid that RISC-V's time has come and gone. It is a 20th century instruction set attempting to serve us well into the 21st century.

In my opinion, I think it's time for a do-over. RISC-VI anyone?


> For example, in RISC-V, the bits are 'jumbled up' when encoding constants; the argument is it, ultimately, makes the processing faster (due to the way sign-extension works).

It's not just sign-extension. You can naïvely gather several immediate bits without knowing what the opcode is, and the source/destination register IDs are also always in the same place. It does help to simplify the digital design, because your decoding logic can pluck out a few fields with no state dependencies.

I had the same response to the odd instruction format at first, but it's grown on me over time.

>And recently, RV supports big endian. Why?

Probably to support networking equipment. They still strongly recommend using little-endian.


I was not clear enough by what I meant by "ARM".

The traditional 32-bit ARM instruction set is obsolete and it does not matter for any new designs. I was not referring to it.

The two modern ARM instruction sets, the 16-bit-encoded ARMv7-M / ARMv8-M (for microcontrollers) and the 64-bit (32-bit-encoded) ARMv8-A, are very different from the traditional ARM ISA and they both are very well designed, incomparably better than RISC-V.

RISC-V is primitive even compared to the instructions sets used 50 years ago. It includes a few good ideas and the RISC-V team has the merit of popularizing the fact that the older vector ISAs of the seventies were better than the more recent SIMD ISAs of the nineties, which lead to modern vector ISAs, e.g. the RISC-V vector extension and ARM SVE.

However the base RISC-V ISA is extremely weak and its only merit is that it is simple enough to be easy to implement in student projects.


With all the efforts to isolate China, they are being forced to develop their own fabs and their own architectures. Their obvious choice is to use RISC-V as a base.

With the world's largest economy behind it, RISC-V will probably become quite relevant soon.


America is still the world's largest economy: https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nomi...


Nominal GDP is not the best measure for comparing industrial products, especially ones that go into products sold to and used by consumers. In PPP GDP terms, the Chinese economy is larger and PPP GDP is a better measure of how consumers and industrial customers will influence technology development.


The question of nominal versus PPP GDP is a bit complicated, but a basic rule of thumb is that nominal GDP is better if you're measuring trade (since the nominal rate is the actual value you'll get during international exchange transactions), whereas PPP works better for individual cost-of-living or quality-of-life metrics.

For measuring gross economy size, I would go with nominal GDP.


I think that's missing the point of the parent comment. Being the largest doesn't really matter but if they were to put their money somewhere it wouldn't be x86.


China will overtake the US within the next 10 years, possibly in or even before 2025, depending on how well the US handles the COVID-19 aftermath.


That's not really interesting per sé.

Looking at the composition of the GDP China "accounted for 28 percent of global manufacturing output in 2018. That puts the country more than 10 percentage points ahead of the United States, which used to have the world's largest manufacturing sector until China overtook it in 2010."

Which is a serious bind on future growth.

There are also geopolitical issues that could radically change the equilibrium in the future.

For example

https://thediplomat.com/2020/12/would-china-invade-taiwan-fo...


> Which is a serious bind on future growth.

I'm not sure those the US’S comparative advantage shifting to finance and IT over manufacturing is a “serious bind on future growth”.

It a limitation of ability to avoid interdependence, but that's a different issue.


Hon Hai is the largest manufacturer of components in the World and it's Chinese (they make, for example, Apple components with the name of Foxconn)

TSMC is Chinese as well

They are in what we call Taiwan, but the status of Taiwan it's unclear and it's not officially a sovereign state, what would happen if the two China reunite under the same government?

China has also gained a big influence in Africa which is the fastest urbanizing region of the World and the second fastest region of the World for growth and it's on its way to become a 5 trillion economy

“Right now you could say that any big project in African cities that is higher than three floors or roads that are longer than three kilometers are most likely being built and engineered by the Chinese. It is ubiquitous” (source: Forbes)

They are playing the long game.


America will not recover until it re-introduces tariffs. This was the original mechanism by which America first industrialized (see Jeffersonianism) It would also benefit the Chinese people by forcing China to prioritize raising the welfare levels of their own consumers who are 2nd class citizens alongside manufacturer/exporters.



Give it time. It's the momentum and room to grow that matters...


Why would they pick RISC-V. It is not as if China would let IP rights stop them from developing the CPU they think is best. Does RISC-V actually have an advantage other than the fact that is is open source? With the ton of existing software that is either x86 or ARM it would be easier from a backwards compatibility point of view to go with one of those. Would Europe or the US really get into an all out trade war with China over CPU instruction sets?


They're going to want to be able to export it. Also, the primary advantage of x86 is that it runs all the legacy Windows software, but China wouldn't want to use something that the US controls the updates for, nor would they want to use something that isn't getting updates, nor would they want to maintain their own Windows fork. And if they're going to use Linux then the architecture doesn't really matter and they might as well use one that they can export if they feel like it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: