Do Small-RAM Devices Have a Future? (2011)
blog.regehr.org
blog.regehr.org
In fact I wish the trend of making "smart" devices with grossly overpowered processors that were likely chosen just so they could run a fully bloated Linux distro - only to poke a few GPIOs based on some very simple input events - would stop. Running a full OS when only a tiny fraction of the functionality is used is not only wasteful, it adds to the security risk because of increased attack area.
And if you use a vendor's library you are very locked in: Let's say you use a TI chip for your prototype but then someone who knows stuff about designing hardware tells you that now it has to run on an Atmel processor because $profits... you will have to reimplement a lot of your stuff which costs (quite a huge amount) of time and might even require an entire rewrite..
Should you? Oh, sure, if you want a very expensive piece of hardware in your product.
Atmel really isn't helping on that front with their pricing. A few years ago I discovered I could buy a Cortex M3 that ran 10x faster, had 10x the storage and twice the features/IO, and 32-bit, for 75% the cost of Atmel's offerings.
When you think about how many orders of magnitude of improvement there have been since the dawn of computing, it's astonishing to realize that there might not be too many left before we start hitting the fundamental limits of semiconductors.
[1]: http://www.arrownac.com/offers/nxp-semiconductors/cortex/cor...
I'm sure such an arrangement would get most of the power efficiency, with minimal complexity in the mcu.
http://www.design-reuse.com/articles/35659/8-bit-pipelined-a...
It was a fun little project; getting away from massive builds of console software and just sitting down for a couple of weeks and banging out some high reliability and very low footprint code was a refreshing change of pace.
It's funny that this little chip was still more capable (by several times) than the first computer I owned, back in the late 70s.
In the 80s my roommate and I used to joke that one day computers would be prizes in cereal boxes, just toys that would fall out. Those days have almost certainly arrived.
These things are so darned cheap that I can't see them going away.
Most of the price of the smallest (1KB ram) micros today is in packaging, shipping, handling and both manufacturer and distributor margin. Price of silicon is almost irrelevant. Micros that go into memory cards cost 1c each and are shipped as bare dies.
> if a 1kB MCU were to cost ~$0.01 I think you would see it going into things like watches simple calculators and even flashlights
they do and they are
>I sure the heck don’t need linux or android running my washing machine.
its not about your need, its about marketing. If someone can make a fridge with embedded android tablet (~$10 bom) and differentiate this way from competition they will, even if its a shitty useless embedded system. Its not a question of why, its a question of why not :) Smart TVs are a perfect example, it doesnt cost anything to make TV "smart". Difference between bare lcd controller TSUMV29LU and one full of hardware decoders TSUMV59XU (mp3, MPEG1/2/4, DivXˈ, H.264, RV8, RV9, RV10, Xvid, jpeg, mjpeg) is ~one dollar. Its the same with ram, at this point small amounts of ram are basically FREE, differences you see in datasheets and in price listings are dictated by politics and market segmentation.
8051 was ~60K transistors (same ballpark as Cortex M4), 1KB ram is 1000 transistors, <2%. There really is no difference between selling you 128 bytes or 2KB ram chip, other than trying to create virtual segments and artificial price brackets.
Large SRAMs get costly and power hungry quick - the largest RAM Cortex-M4 devices have about 192KiB of SRAM, but cost $6-10. The jump to DRAM, however, is very expensive, because DRAM is fabricated on a different process and needs to be installed as a separate die or package. It is also too high latency to use as the only RAM, so a SRAM cache is still necessary.
The market currently segregates a lot of other features based on the RAM interface. Cortex-M series cores, sold as "microcontrollers", almost never have DRAM, only support Thumb-2, and have no MMU. Cortex-A series are sold as "application processors", have external DRAM interfaces, and include a MMU. A similar divide is visible with the MIPS architecture.
And integrating 2 dies in general isn't that expensive ,I've see small micros integrated with a power die for $1.5 .
Its mostly about business and politics like the parent says.
While I agree with your overall premise, could you provide a citation on this? I find it hard to believe that a Cortex M4 is only 60K transistors. A 32x32 multiplier should be almost 10,000 transistors by itself.
This page quotes a Cortex M4 announcement press release (which I can't find) which says that a stock M4 (without FPU/DSP instruction support) comes in at 65k gates. Meanwhile this pdf: http://www.mcu-related.com/architectures/35-cortex-m3/96-cor... claims that an M3 comes in at 43k gates. The main difference between the two is a 32x32+64 into 64 multiplier for DSP use plus some SIMD instructions so your estimate for the multiplier seems to be in the right ballpark!
but we also see a shift towards low-cost chips with lots of memory,for example a new NXP dual-core $2 chip with 108k ram .
What's extra nice about this chip is that it let's you use( in theory ) a garbage collected language ,or even a scripting language in one core and c in another core for your realtime stuff,thus enabling you to mostly write high level code while still having a realtime system.
If you came from the future to inform us that NXP lied about their chips costing $1.99 in 10K quantities in 2015, then your beef is with the NXP marketing department, not minthd.
minthd is just relaying a number he read in a news article, which in turn relayed it from a NXP press release.
But, I still use a ton of AVRs and similar small memory micros. For each big micro I use, they have a few small micros in support. It's so much easier to do hard real time without an OS, or pipelines, etc. When you can just count instructions and know the timing.
As the bigger micros continue to move down market, the small ones will get even smaller and lower power and open up new markets.
Or, there may not be enough pins. May use a small micros to watch all the user interface buttons (think like a keyboard controller) which communicates to the large micro.
Also, closely related to above, simplicity and modularity. Don't want to be the guy debugging why the antilock brakes occasionally miss an encoder transition when the engine RPM fuel injector routine is just perfectly the wrong interrupt rate. Its very much unix vs windows philosophy WRT monolithic-ness.
[1] http://www.slideshare.net/mobile/CohesiveFT/chris-swans-pres...
But sure, 128k is masses compared to some others!