I on the other hand would actually say KISS in this case is for everyone to use the same architecture. Developer time tends to be more important than cheap hardware. Also, having all software created on one ISA will allow more robust code as well as better availability to others. You may have a fancy 8 bit processor but there is very little value in it if you prematurely reach its limits during development. You could argue that your spec is fixed, but that rarely happens and feature creep tends to be rather pervasive. If it turns out that your software can be useful on a higher bit machine, well you now have to put in the work of porting it and, worst case, maintaining both versions.Mr.Scoville wrote: Yet, I want to dare your statement. Why? Because: KISS. The single most important rule each and every software developer-to become has not just to learn, but to digest, to get assembl... assimilated by before they call themselves software developers. Simply put: If you need 1 bit, use 1 bit. If you need 4 bits, use 4 bits. If you need 128 bits, use 128 bits. In other words: If the stuff you've learned doesn't solve your current problem, don't try to hunt the beast down and bash it with what you've learned until it stops twitching, but adjust and refine your knowledge. To get the state of a simple button, you need exactly 1 bit. You won't even need an Arduino Nano to turn a darn bulb on.
Ironically, in the world of technology I see a lot more Swiss Army knifes than ever before that make things simpler . Just look at smartphones which can replace your old cellphone, iPod, click and point camera, PDA and more with just one device. Same goes for standards such as USB, UTF-8 etc. Granted, the implementation might be a lot more complex, but there are massive advantages to be gained with a more complex integration of simpler components. The bcm2835 contains a decent amount of stuff, that historically would have been separated out. It is usually no longer cost effective to do so however. Even simple microcontrollers frequently come with small amounts of RAM, Flash and advanced IO, often ditching old 8 bit cores for newer ARM cores. Old chips can quickly become obsolete especially if the newer ones (that may be more expensive) can be sold to a larger market (economies of scale and reduced component count due to integration can counter higher per chip cost). The bcm2837 has replaced the 2836 after just one year for example. Customers may not use all of the newer chips functionality or "bitness", but that's ok. The more common software support means reinventing new pieces just for a specific application is also less likely. A System cut to perfect size may look more elegant for an application, but is more likely to exhibit problems since no one has encountered similar issues before and fixed them.Mr.Scoville wrote: Following the KISS principle, I am absolutely aware of the point that the less tools you need to solve a problem, the better the solution will be (kind of Ockhams' Principle, if you wish). But that doesn't mean that more bits are more effective. If you stick to the KISS principle (and you ought to!), there is no "eierlegende Wollmilchsau" (a German figure of speech, kind of the Swiss Army knife). Reinventing the wheel has always been a waste of time and energy. But reducing your real needs to exactly match the problem has always been a good idea.
On that I can agree, things do take time. Problem is, sitting too long on older architectures has given competitors the chance to take over. I don't see that happening anytime soon with the Pi due to its excellent community and mainline support but you never know.Mr.Scoville wrote: I am absolutely certain that, for some hands full of bucks, many companies would be glad to give the 64 Bit demanders what they want: AArch64, NANO, whatnot. But to those of you who are like "I want it now, and I want it for free!"
Fact is, the bcm2835 has been upgraded twice before, to the bcm2836 and bcm2837. Upgrading the bcm2835 with a cortex A35 core for low power usage should be doable even though it won't be cheap. However, it would bring processor capabilities (including USB & network boot) in line with its bigger siblings and allow eventual optimization for one ISA, freeing development resources for other things. The good news is that AArch64 is likely going to stay for a decent chunk of time.