4 ms·
Because of all the discussions in the comments about ARM and RISC-V, could someone explain to me the difficulties of designing a chip for a new ISA? I'm wonder
by SushiHippie 2y ago
Because of all the discussions in the comments about ARM and RISC-V, could someone explain to me the difficulties of designing a chip for a new ISA?
I'm wondering because to me as a layman it sounds like it's 'only' a different language, so why is it not that easy to take already existing designs and modify them to 'speak' that language and that's it?
Or is an ISA more than just a different 'language'?
Or is hardware not really the biggest problem, but rather Software like compilers, kernels, etc.?
- creshal 2y ago> Or is an ISA more than just a different 'language'? It tends to be more like going from C89 to Haskell. You're not just switching the keywords around, but also fundamental architectural concepts. There's still some parts you can recycle and some skills that transfer, but less than you'd like. > Or is hardware not really the biggest problem, but rather Software like compilers, kernels, etc.? That's the next problem. Kernels, device drivers, support hardware, a lot of low level stuff needs to be adapted, and even a company the size of Qualcomm doesn't necessarily do everything inhouse, there will be lots of external IPs involved and all those partners need to also be willing to migrate over to a different ISA.
- dzaima 2y agoI'd perhaps put ARM vs RISC-V closer to like C# vs Java (or maybe JS vs Python) - on a high level rather similar, but a majority of the specifics don't really line up (especially at the uop level requiring dumping a bunch of previous optimized cases, and adding a bunch of new ones).
- deleted 2y ago[deleted]
- t43562 2y agoYour view even of human languages is simplistic. Forgive me, I don't mean to be rude, I'm just trying to explain. You might think that languages are just have different words for the same things. In reality the problems are where the same things don't exist. People don't view the world the same way and don't have an equivalent word. In Turkish it's very important whether your aunt is on your mother's side or your father's side so there are different words for each....but there's no words for "he" or "she" as they don't bother with gender in sentences. So for example every conversation converted from Turkish to English loses an important bit of meaning about relationships and the sex of a person has to be inferred from context which is not easy to do automatically. Similarly computer software....and there's a lot of it.
- numpad0 2y agoIt's interesting that many with CS/CE background believes in irreversible death of Sapir-Whorf hypothesis and victory of the Universal Grammar Theory, while many from the exact same cohort are able to trivially explain how tightly coupled ISA and CPU implementation are and how mutually incompatible different ISAs can be. I mean, it's most likely overlaps and not actually the same set of people, but I find it ironic and funny.
- t43562 2y agoI suspect that it's an argument about nothing. e.g. I can think about my "mother's sister" but I don't care about it enough to invent a shortcut word for it like "teyze". To Turks I think it means something because in some families there's great emphasis on the connections with one or other side of the family. It's rather a brutal and dismissive attitude sometimes. So I personally think that groups of people have a common understanding and some commonly accepted attitude that make up their culture. The purpose of words is to reference those feelings. An outsider can understand to a degree because we are all human but they usually get the emphasis wrong and also tend to miss lots of implications. Of course you as an entrant to a culture (e.g. a kid) are going to get educated over time about what it all means and you're going to be discouraged from expressing alternate cultural values because overall not enough people feel like that to have invented convenient ways of expressing it. So language is going to affect you but as some idea becomes popular and needs expression people do invent new words. So you can affect it - if you can get enough people to pick up on your invention by adding a new idea to their mental model of life.
- adrian_b 2y agoDesigning a new clean and better ISA is easy. With the current existing experience that could be done in weeks or a few months at most, to allow for the simulation of how various variants run benchmarks, to determine the best variant. Nevertheless, designing the ISA is the only easy part. Then you have to write high-quality compilers, assemblers, linkers, debuggers and various other tools, and also good documentation for the ISA and all the tools. Developing such toolchains and convincing people to use them and educating them can take some years. Optimizing various libraries for which the performance is important for the new ISA can also take years. These things are what the incumbent ISAs like Aarch64, RISC-V or POWER provide.
- deleted 2y ago[deleted]
- doublet00th 2y agoIt's not about the chip itself at all, it's about the software that runs on it. My Computer Architecture professor always used to say, nobody wants to recompile their code! There are still binaries that were compiled in the 80s running happily on an x86 system because the chip conforming to the ISA guarantees that machine instruction will run the same as it did in the 80s. As for "only" a different language, absolutely lots of software does this. As part of Apple's move from x86 to ARM, they implemented a software called Rosetta which translates x86 instructions into ARM (also known as emulation). The only problem with this is that there's a performance penalty you pay for the emulation, which can make using a program slower, choppier, etc.