Author Topic: 8-bit uC - is there even a point?  (Read 57246 times)

0 Members and 1 Guest are viewing this topic.

Offline Whales

  • Super Contributor
  • ***
  • Posts: 1899
  • Country: au
    • Halestrom
Re: 8-bit uC - is there even a point?
« Reply #50 on: September 27, 2018, 05:56:35 pm »
Thankyou for the advice, I'll give it a go.

Hearing that I mainly just need a per-device magic header makes me happy.  Entry points and everything else don't change per core design, or are they also something hacked into the header?

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14297
  • Country: fr
Re: 8-bit uC - is there even a point?
« Reply #51 on: September 27, 2018, 06:19:21 pm »
Thankyou for the advice, I'll give it a go.

Hearing that I mainly just need a per-device magic header makes me happy.  Entry points and everything else don't change per core design, or are they also something hacked into the header?

You usually also need:
  • a proper linker script corresponding to the device you're using, defining memory mapping, entry points...
  • the right compiler options - at least defining the correct target: ARM has many different variants
 

Online brucehoult

  • Super Contributor
  • ***
  • Posts: 3996
  • Country: nz
Re: 8-bit uC - is there even a point?
« Reply #52 on: September 27, 2018, 06:36:09 pm »
Low power devices (battery power, untethered) are probably the biggest technical reason a hobbyist would be interested in 8-bit micros. (All those additional transistors aren't "free" in terms of power consumption.)

However 8 bit processors often need more instructions and more clock cycles to get your computation done than a 32 bit processor. The 32 bit processor can finish and go to a low power mode sooner, even at the same clock speed.

AVRs are good if you only have 8 bit quantities. As soon as you need even 16 bit integers you start to be better of with a Cortex M0 or SiFive E20.

Quote
For commercial applications, a chip in quantity being $0.30 instead of $0.90 translates to about a $3 difference in the cost of the finished good on a retailer's shelf, so that's a huge driver. Then, if you're a hobbyist with industrial/commercial aspirations, you might be interested in following that trend as well.

If you have a chip with only a simple MCU and a small amount of SRAM on it then the area and therefore cost of the actual chip in modern smallish processes is completely dominated by the pads used to connect to the pins on the package. Whether your internal datapaths are 8 or 32 bits wide is way down in the noise.
 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13693
  • Country: gb
    • Mike's Electric Stuff
Re: 8-bit uC - is there even a point?
« Reply #53 on: September 27, 2018, 06:57:30 pm »
Q: Can anyone recommend some 32-bitters that work with simple or open-source toolchains (or similar)?  Something you can install without pain on any computer, something that doesn't need a license or GUI or gigabytes?

PIC32.
Install MPLABX and XC32 and it just works. As a bonus it also just works for 16 and 8 bit parts if you install XC16 and XC8 respectively.

Just #include <xc.h> and it does everything based on the part selected for the project
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Online brucehoult

  • Super Contributor
  • ***
  • Posts: 3996
  • Country: nz
Re: 8-bit uC - is there even a point?
« Reply #54 on: September 27, 2018, 08:31:38 pm »
IoT and wearables pose a unique requirement: nanoamp sleeping while retaining RAM content. That's the place for 8-bitters and FRAM MSP430s.

A week ago Huami (part of Xiaomi) announced a new generation of smart watch (with heart irregularity detection and ECG) and a sports/health monitoring band, and the "Huangshan No. 1" AI wearable device chip which uses a SiFive "E31" 32 bit RISC-V processor running at 240 MHz with 608 KB SRAM. Huami says the processor has 38% better efficiency than a Cortex M4.

So they, at least, don't think wearables should be restricted to 8 or 16 bits.

https://riscv.org/2018/09/engadget-article-huamis-new-watch-and-bracelet-are-coming/
 

Offline glarsson

  • Frequent Contributor
  • **
  • Posts: 814
  • Country: se
Re: 8-bit uC - is there even a point?
« Reply #55 on: September 27, 2018, 08:38:02 pm »
And the Apple watch (a typical wearable) has a 64 bit dual core ARM processor.
 

Offline sokoloff

  • Super Contributor
  • ***
  • Posts: 1799
  • Country: us
Re: 8-bit uC - is there even a point?
« Reply #56 on: September 27, 2018, 08:45:16 pm »
Quote
For commercial applications, a chip in quantity being $0.30 instead of $0.90 translates to about a $3 difference in the cost of the finished good on a retailer's shelf, so that's a huge driver. Then, if you're a hobbyist with industrial/commercial aspirations, you might be interested in following that trend as well.
If you have a chip with only a simple MCU and a small amount of SRAM on it then the area and therefore cost of the actual chip in modern smallish processes is completely dominated by the pads used to connect to the pins on the package. Whether your internal datapaths are 8 or 32 bits wide is way down in the noise.
I went to a few distributors' websites and priced out the cheapest 1K quantity of 8-bit AVRs and the cheapest 1K quantity of M0+ chips I could find to get the $0.30 and $0.90 figures. Do you have reference data to contradict those figures?
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3137
  • Country: ca
Re: 8-bit uC - is there even a point?
« Reply #57 on: September 27, 2018, 08:52:12 pm »
However 8 bit processors often need more instructions and more clock cycles to get your computation done than a 32 bit processor. The 32 bit processor can finish and go to a low power mode sooner, even at the same clock speed.

Often you don't need any arithmetic at all, especially on critical paths. So, it's absolutely of no consequence whether your chip is 8-bit or 32-bit.

Of course, all things being equal, 32-bit is better than 8-bit, but in the real world things are not equal. The architectures which lost their battle in big computers already (ARM, MIPS) have been dragged into the embedded world, where they're even less suitable. Embedded world needs direct access commands, predictability, low latency. It doesn't need long pipelines and caches.

Google is a huge marketing force, so ARM will get more and more popular especially when light bulbs need 2048-bit RSA and AES256 encryption. And if that is not enough, they're ready to convince the world that you need 4096-bit RSA and so on, with no limits. But there's no reason to pretend that there's any sense in this.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26751
  • Country: nl
    • NCT Developments
Re: 8-bit uC - is there even a point?
« Reply #58 on: September 27, 2018, 09:11:26 pm »
However 8 bit processors often need more instructions and more clock cycles to get your computation done than a 32 bit processor. The 32 bit processor can finish and go to a low power mode sooner, even at the same clock speed.

Often you don't need any arithmetic at all, especially on critical paths. So, it's absolutely of no consequence whether your chip is 8-bit or 32-bit.

Of course, all things being equal, 32-bit is better than 8-bit, but in the real world things are not equal. The architectures which lost their battle in big computers already (ARM, MIPS) have been dragged into the embedded world, where they're even less suitable. Embedded world needs direct access commands, predictability, low latency. It doesn't need long pipelines and caches.
Nonsense. Embedded applications grow larger and larger. Predictability and latency issues are solved by using buffers and DMA nowadays. More speed and more memory means you can make more complex software quicker with less bugs. And there are many areas where having speed just saves the day. Think about signal processing. Over the years I've created quite a few ARM microcontroller based circuits which do some hefty signal processing. Back in the old days you'd need a DSP for that and assembly programming.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26751
  • Country: nl
    • NCT Developments
Re: 8-bit uC - is there even a point?
« Reply #59 on: September 27, 2018, 09:22:09 pm »
So they, at least, don't think wearables should be restricted to 8 or 16 bits.

Not essentially, but doesn't mean 8-bitters have no place.
As a system manager chip (power sequencing, voltage rail monitoring, etc.), 8-bitters are still better.
They can stay alive forever without consuming any meaningful current.
TI's MSP430 series is pretty good at that as well. Actually a more modern process is likely to perform better compared to an architecture (8051 for example) which wasn't designed for low power. Less bits doesn't alway mean less power. Another thing to look for when looking at low power devices is the start-up time for the oscillators. A redesign of a PIC based product using an MSP430 microcontroller ended up consuming nearly 3 times less power.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Online wraper

  • Supporter
  • ****
  • Posts: 16792
  • Country: lv
Re: 8-bit uC - is there even a point?
« Reply #60 on: September 27, 2018, 09:27:15 pm »
TI's MSP430 series is pretty good at that as well. Actually a more modern process is likely to perform better compared to an architecture (8051 for example) which wasn't designed for low power.
Process != architecture.
https://www.silabs.com/products/mcu/8-bit/efm8-sleepy-bee
Quote
Lowest MCU sleep current with supply brownout (50 nA)
Lowest MCU active current (150 μA / MHz at 24.5 MHz)
Lowest MCU wake on touch average current (< 1 μA)
Lowest sleep current using internal RTC and supply brownout (< 300 nA)
Ultra-fast wake up for digital and analog peripherals (< 2 μs)
Integrated LDO to maintain ultra-low active current at all voltages
Up to 14 capacitive sense channels
And it's 8051
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3137
  • Country: ca
Re: 8-bit uC - is there even a point?
« Reply #61 on: September 27, 2018, 09:27:38 pm »
Over the years I've created quite a few ARM microcontroller based circuits which do some hefty signal processing. Back in the old days you'd need a DSP for that and assembly programming.

DSP?

$5 dsPIC33CH can do FIR at a rate of 100MTap/s (totally predictable, no reliance on cache or bus congestion)
$15 smallest Spartan-7 FPGA can do FIR at a rate of $4GTap/s (totally predictable)

Where does your ARM DSP fall in this spectrum?
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: 8-bit uC - is there even a point?
« Reply #62 on: September 27, 2018, 09:31:19 pm »
And the Apple watch (a typical wearable) has a 64 bit dual core ARM processor.
I don't think the Apple Watch is a typical wearable. It's probably the top end of wearables, with most applications requiring a lot less power.
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: 8-bit uC - is there even a point?
« Reply #63 on: September 27, 2018, 09:33:49 pm »
TI's MSP430 series is pretty good at that as well. Actually a more modern process is likely to perform better compared to an architecture (8051 for example) which wasn't designed for low power. Less bits doesn't alway mean less power. Another thing to look for when looking at low power devices is the start-up time for the oscillators. A redesign of a PIC based product using an MSP430 microcontroller ended up consuming nearly 3 times less power.
I keep seeing the MSP430 in relation to low power. It's it really that much better than most other solutions?
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26751
  • Country: nl
    • NCT Developments
Re: 8-bit uC - is there even a point?
« Reply #64 on: September 27, 2018, 09:51:32 pm »
Over the years I've created quite a few ARM microcontroller based circuits which do some hefty signal processing. Back in the old days you'd need a DSP for that and assembly programming.
DSP?

$5 dsPIC33CH can do FIR at a rate of 100MTap/s (totally predictable, no reliance on cache or bus congestion)
$15 smallest Spartan-7 FPGA can do FIR at a rate of $4GTap/s (totally predictable)

Where does your ARM DSP fall in this spectrum?
Wherever it is enough and ARM can do quite a lot. One of the projects for example involved an acoustic echo canceller which did part of the calculations in soft floating point; I used a small 70MHz ARM microcontroller for that. Buffering inside the serial codec interface took care of any latency issues so no worries there.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 37661
  • Country: au
    • EEVblog
Re: 8-bit uC - is there even a point?
« Reply #65 on: September 27, 2018, 10:46:19 pm »
Many posters have mentioned the PIC and AVR 8 bitters in the preceeding posts.
How about all the other traditional mcu’s, such as HCS08 and HCS12?
Are they no longer used?

They are used in the hundreds of millions. It's just that this forum is essentially dominated by hobbyists (even if they are engineering professionals, they mostly are thinking in terms of personal projects).
HCS08 and the like have never really been taken up by the hobbyist crowd which is why you never hear of them, they are used in every professional whitegood and automotive market etc.
So go on any forum or blog or open source hardware site and you'll only find PIC, ATMEL, and ARM's, the ones that have been marketed as "hobbyist friendly".
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 37661
  • Country: au
    • EEVblog
Re: 8-bit uC - is there even a point?
« Reply #66 on: September 27, 2018, 10:47:17 pm »
I keep seeing the MSP430 in relation to low power. It's it really that much better than most other solutions?

Not really. It's just that it was one of the first ultra low power micros and hence became the defacto standard.
 
The following users thanked this post: Mr. Scram

Offline EEVblog

  • Administrator
  • *****
  • Posts: 37661
  • Country: au
    • EEVblog
Re: 8-bit uC - is there even a point?
« Reply #67 on: September 27, 2018, 10:55:36 pm »
Quote
For commercial applications, a chip in quantity being $0.30 instead of $0.90 translates to about a $3 difference in the cost of the finished good on a retailer's shelf, so that's a huge driver. Then, if you're a hobbyist with industrial/commercial aspirations, you might be interested in following that trend as well.
If you have a chip with only a simple MCU and a small amount of SRAM on it then the area and therefore cost of the actual chip in modern smallish processes is completely dominated by the pads used to connect to the pins on the package. Whether your internal datapaths are 8 or 32 bits wide is way down in the noise.
I went to a few distributors' websites and priced out the cheapest 1K quantity of 8-bit AVRs and the cheapest 1K quantity of M0+ chips I could find to get the $0.30 and $0.90 figures. Do you have reference data to contradict those figures?

And it's not just big company commercial application. Countless one-man-bands are doing Kickstarters these days and it's trivial to sell 1000 units in a kickstarter. That 70 cents extra on the BOM cost really matters at even 1000qty. And ordering your parts pre-programmed can be a big deal too. Also, it's not uncommon to have a little cheap pre-programmed 8bit 5 pin micro in a circuit just to do one small dedicated job, rather than have the main processor care about doing that.
 

Offline FrankBuss

  • Supporter
  • ****
  • Posts: 2365
  • Country: de
    • Frank Buss
Re: 8-bit uC - is there even a point?
« Reply #68 on: September 27, 2018, 11:36:48 pm »
And it's not just big company commercial application. Countless one-man-bands are doing Kickstarters these days and it's trivial to sell 1000 units in a kickstarter. That 70 cents extra on the BOM cost really matters at even 1000qty. And ordering your parts pre-programmed can be a big deal too. Also, it's not uncommon to have a little cheap pre-programmed 8bit 5 pin micro in a circuit just to do one small dedicated job, rather than have the main processor care about doing that.

Microchip Direct offers a flash service, which is reasonable cheap (at least for small parts, but I guess for larger parts it doesn't cost much more) and there is no lower limit for the number of parts, you could just order 10 pre-programmed chips (but shipping costs from Microship Direct would be higher than buying a PICKit from eBay :) ). E.g. for a client project I'm using a small PIC for the reset circuit, replacing a special dedicated >$1 reset IC, and additionally using it  for controlling the main power of the circuit in sleep mode, which all fits in one of these small, ultra low power PICs, and programming costs only a few cents:



8 bit CPUs are perfect for such applications, because they are still cheaper than 32 bit CPUs (maybe this might change in future when there are more RISC5 CPUs out there, because no license cost) and they need less power.

But I don't think it is important, even for Kickstarter projects with 1,000 units. Sure, you might save $1,000 if you use an 8 bit MCU instead of a 32 bit MCU, but then you might need some additional days development time, trying to make it run with the less powerful MCU, and this would be worth more than what you save at the usual engineering rate. And this is not only because you have to do e.g. fixed point math instead of using a hardware floating point unit (you can get MCUs with hardware FPU for as cheap as EUR 2.55 e.g. for the ATSAMD51G18A nowadays). The peripherals of modern 32 MCUs (usually) are much better as well. For example last time I checked the ADC of the Silabs Giant Gecko series, and the internal band gap reference is factory calibrated and you can do hardware oversampling with it, resulting in 16 bit effective resolution. I could measure with better than 10 mV accuracy and better than 1 mV resolution over the full range from 0 V to 3.3 V out of the box, and with very few lines of code using the HAL. So this alone might save some additional external components and calibration setup time for some applications.

Of course, if you develop a dice with 6 LEDs and one battery, use an 8 bit MCU. Development time is the same, but the MCU is cheaper and needs less power. And numbers change again, if you plan to sell millions of it.
So Long, and Thanks for All the Fish
Electronics, hiking, retro-computing, electronic music etc.: https://www.youtube.com/c/FrankBussProgrammer
 
The following users thanked this post: Mr. Scram

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: 8-bit uC - is there even a point?
« Reply #69 on: September 27, 2018, 11:43:07 pm »
And it's not just big company commercial application. Countless one-man-bands are doing Kickstarters these days and it's trivial to sell 1000 units in a kickstarter. That 70 cents extra on the BOM cost really matters at even 1000qty. And ordering your parts pre-programmed can be a big deal too. Also, it's not uncommon to have a little cheap pre-programmed 8bit 5 pin micro in a circuit just to do one small dedicated job, rather than have the main processor care about doing that.
Even if it's those 70 cents, that's 700 bucks. Depending on the circumstances I could see that easily being offset by a shorter development cycle or something similar. Or not, of course.
 

Online PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1473
  • Country: au
Re: 8-bit uC - is there even a point?
« Reply #70 on: September 27, 2018, 11:54:43 pm »
.... E.g. for a client project I'm using a small PIC for the reset circuit, replacing a special dedicated >$1 reset IC, and additionally using it  for controlling the main power of the circuit in sleep mode, which all fits in one of these small, ultra low power PICs, and programming costs only a few cents:

 Yes, this nicely illustrates there are multiple trends today.
32b MCUs are falling in price, so useful ones are sub $1, but as this example shows, 8b MCUs are also busy replacing dedicated RST/DAC/WatchDOG/Supervisor parts, and in some cases, even displacing simple wiring (a 25c 8b MCU MCU costs less than a cable wire pair, less than a DIP sw, less than a microswitch... )

 All that means it is not so much a question of 32b or 8bit, but many systems are shipping with both 32b and 8b MCUs in them.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: 8-bit uC - is there even a point?
« Reply #71 on: September 28, 2018, 12:58:42 am »
Probably packaging to some degree, or it might just be people choosing arbitrary values. No matter what pricing algorithm you choose, you will likely have situations where buying a few more parts turns out to be cheaper than buying fewer.

 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: 8-bit uC - is there even a point?
« Reply #72 on: September 28, 2018, 01:01:15 am »
I don't see how making the price structure more complicated makes things better. This is immediately obvious, even though there are a few "blind spots".

It should be noted that there are examples of taxes being structured the exact same way. In that case there's something to be said for a more fair system. In this case, who cares?
 

Online brucehoult

  • Super Contributor
  • ***
  • Posts: 3996
  • Country: nz
Re: 8-bit uC - is there even a point?
« Reply #73 on: September 28, 2018, 02:09:12 am »
Quote
For commercial applications, a chip in quantity being $0.30 instead of $0.90 translates to about a $3 difference in the cost of the finished good on a retailer's shelf, so that's a huge driver. Then, if you're a hobbyist with industrial/commercial aspirations, you might be interested in following that trend as well.
If you have a chip with only a simple MCU and a small amount of SRAM on it then the area and therefore cost of the actual chip in modern smallish processes is completely dominated by the pads used to connect to the pins on the package. Whether your internal datapaths are 8 or 32 bits wide is way down in the noise.
I went to a few distributors' websites and priced out the cheapest 1K quantity of 8-bit AVRs and the cheapest 1K quantity of M0+ chips I could find to get the $0.30 and $0.90 figures. Do you have reference data to contradict those figures?

Any fab price list. The cost to process a wafer in a given process is fixed, therefore the more chips you can get in a reticule the cheaper they are. Effectively the cost per square mm of chip is fixed. For a given number of pads on the chip to be connected to a given number of pins in the same package the cost does not depend on what circuitry is present on the chip.

The figures you are referring to are retail prices. Those depend at least as much on perceived value and what the manufacturers think you'll pay as they do on the actual cost.
 

Online brucehoult

  • Super Contributor
  • ***
  • Posts: 3996
  • Country: nz
Re: 8-bit uC - is there even a point?
« Reply #74 on: September 28, 2018, 02:12:53 am »
However 8 bit processors often need more instructions and more clock cycles to get your computation done than a 32 bit processor. The 32 bit processor can finish and go to a low power mode sooner, even at the same clock speed.

Often you don't need any arithmetic at all, especially on critical paths. So, it's absolutely of no consequence whether your chip is 8-bit or 32-bit.

Of course, all things being equal, 32-bit is better than 8-bit, but in the real world things are not equal. The architectures which lost their battle in big computers already (ARM, MIPS) have been dragged into the embedded world, where they're even less suitable. Embedded world needs direct access commands, predictability, low latency. It doesn't need long pipelines and caches.

Long pipelines and caches have nothing to do with the ISA.

SiFive's "E20" 32 bit RISC-V core has no caches, just instruction and data SRAMs and runs at 1 clock cycle for all instructions except taken branches, which take 2 cycles. That's pretty predictable. The Cortex M0 is similar.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf