EmbeddedRelated.com
Forums

[Comparison] PIC vs 8051

Started by Unknown February 23, 2006
On Fri, 24 Feb 2006 14:33:23 +0000, the renowned Pete Fenelon
<pete@fenelon.com> wrote:

>Ian Bell <ruffrecords@yahoo.com> wrote: >>> The PIC is a pile of I/O lines and some peripherals with just enough >>> glue in the middle to hold it together as a CPU. Nobody chooses one >>> because of the instruction set or architectre... For a long time I >>> reckoned the only thing that kept Microchip going was Keeloq. >>> >> >> I do know of other volume applications. They are very aggressive on price >> for high volume applications. I found one once in a hair dryer, one in an >> electric toothbrush and we actually used one once in a CO2 detector design. >> >> But I agree, they are crap devices. >> > >I don't doubt that there are *many* ultra-low-margin applications that >use PICs (and many of them could probably get by with a 555 timer and no >micro, but everything's got to have a micro in it these days, right?!) but >Keeloq seems to be the one truly profitable line of business Microchip >have. Then again they have some good points; sitting right next door to >Intel's fabs in Chandler basically means that as Intel scrap one line >Microchip can take it over ;) > >I'm not quite sure what they're trying to achieve with PIC24, either - >cutting the fixed-point DSP end off PIC30 doesn't seem to be much of >a saving? > >pete
It's all about marketing and money, not engineering and gates. It can increase their profits even if each one costs them *more* to make. Best regards, Spehro Pefhany -- "it's the network..." "The Journey is the reward" speff@interlog.com Info for manufacturers: http://www.trexon.com Embedded software/hardware/analog Info for designers: http://www.speff.com
Pete Fenelon <pete@fenelon.com> writes:
> Everett M. Greene <mojaveg@mojaveg.iwvisp.com> wrote: > >> The MSP430 won't teach you too many bad habits and it's a nice clean > >> instruction set. (It'll also give you a good heads-up should you ever > >> fall back through a timewarp and need to program PDP-11s). > > > > The Motorola 68xx family is a lot closer to the PDP-11. > > 68xxx maybe; 68xx doesn't have enough registers or addressing modes to > feel like a PDP-11 -- at least not to me ;)
Quite true but wasn't the original poster looking for something simple for learning purposes?
On Fri, 24 Feb 2006 14:11:43 GMT, Tauno Voipio
<tauno.voipio@INVALIDiki.fi> wrote:

>Pete Fenelon wrote: >> Everett M. Greene <mojaveg@mojaveg.iwvisp.com> wrote: >> >>>>The MSP430 won't teach you too many bad habits and it's a nice clean >>>>instruction set. (It'll also give you a good heads-up should you ever >>>>fall back through a timewarp and need to program PDP-11s). >>> >>>The Motorola 68xx family is a lot closer to the PDP-11. >> >> >> 68xxx maybe; 68xx doesn't have enough registers or addressing modes to >> feel like a PDP-11 -- at least not to me ;) > >6800 is kinda correct: It was all of PDP-11 Motorola could >squeeze on the silicon of that day. Motorola was using PDP-11's >for their system products, and the resemblance is not accidental. > >Of course, most of the good ideas of PDP are missing: > > - multiple general registers, > - homogenous addressing modes, > - subroutine call with register linkage > >The worst property of a 6800 is the bottleneck created >by the accumulators and a single addressing register (X). > >There are other PDP-like architectures: M68k and Hitachi H8. >IMHO, both have lost some of the beautiful simple completeness >of the genuine PDP-11.
I have yet to see a better designed and crafted use of 16 bits for an instruction. The JSR you mention is itself a thing of beauty and power -- it's utility exceeds mere subroutine calls and is useful for coroutines and more. For embedded processors, I can accept the idea that better might possibly be done. For example, I'm attracted to the idea of using one of the registers as a constant generator, combined with the addressing modes to provide commonly found constants. The loss of a register might be well compensated -- and I think an analysis of a large number of real embedded applications should be done and would help to decide if so. The MSP-430, for example, takes this approach -- but sacrifices too much in going over the top to support 16 registers in each and every instruction and thereby severely cripples its addressing modes. Jon
Dave Hansen wrote:
> > In the applications where I've used them, they were chosen for their > mix of I/O and their environmental specifications. And their price. > As the software guy, I was always looking for better alternatives, but > everything cheaper didn't have the I/O we needed, and everything that > did was _way_ more expensive. I remember one project I asked > purchasing to get a quote for a Cygnal (now SiLabs) part (F300 IIRC). > They came back with about $6.50 at 10k quantities, which was about 5x > the Microchip part.
That must have been a long time ago ? - In feb 2006 the quote their much bigger USB devices as >= $1.76/10K, for the 32x and >= $3.42/10K for the 34x. Having said that, when you work out the PIC Average selling price, it is still very close to $1 - so they clearly deliver shiploads of vanilla devices... -jg
On Sat, 25 Feb 2006 07:56:03 +1300 in comp.arch.embedded, Jim
Granville <no.spam@designtools.co.nz> wrote:

>Dave Hansen wrote: >> >> In the applications where I've used them, they were chosen for their >> mix of I/O and their environmental specifications. And their price. >> As the software guy, I was always looking for better alternatives, but >> everything cheaper didn't have the I/O we needed, and everything that >> did was _way_ more expensive. I remember one project I asked >> purchasing to get a quote for a Cygnal (now SiLabs) part (F300 IIRC). >> They came back with about $6.50 at 10k quantities, which was about 5x >> the Microchip part. > > That must have been a long time ago ? - In feb 2006 the quote their
Long enough that I don't remember exactly when. Maybe 3 or 4 years ago. As I said, it was Cygnal then. And the incident sticks out because it was extreme. I don't doubt their prices have come down.
>much bigger USB devices as >= $1.76/10K, for the 32x and >= $3.42/10K >for the 34x. > > Having said that, when you work out the PIC Average selling price, >it is still very close to $1 - so they clearly deliver shiploads of >vanilla devices...
It just seemed funny that Microchip almost always had exactly the part we needed, with nothing missing, and very little (if any) extra. Regards, -=Dave -- Change is inevitable, progress is not.
Jonathan Kirwan wrote:
> I have yet to see a better designed and crafted use of 16 bits for an > instruction. The JSR you mention is itself a thing of beauty and > power -- it's utility exceeds mere subroutine calls and is useful for > coroutines and more. > > For embedded processors, I can accept the idea that better might > possibly be done. For example, I'm attracted to the idea of using one > of the registers as a constant generator, combined with the addressing > modes to provide commonly found constants. The loss of a register > might be well compensated -- and I think an analysis of a large number > of real embedded applications should be done and would help to decide > if so. The MSP-430, for example, takes this approach -- but > sacrifices too much in going over the top to support 16 registers in > each and every instruction and thereby severely cripples its > addressing modes.
If you are a student of processor design, this one is worth a look. http://forums.parallax.com/forums/attach.aspx?a=5975 Bizare rollout aside, this started life as a FPGA core, and uses 32 bit opcodes, so has room for two 9 bit register fields. Similar to the Intel 196, that blurred register/ram Present silicon has a 512W memory limit (per core, of which there are 8!), but it looks like the CALL can go further, in future. -jg
On Fri, 24 Feb 2006 10:28:55 +0000, Pete Fenelon wrote:

>Ian Bell <ruffrecords@yahoo.com> wrote: >> >> I always thought the PIC might be a handy device. But I have used micros (4, >> 8 and 16 bit) professionally for over 20 years and the stupidly odd >> terminology the PIC uses for things known commonly by other names simply >> alienates me from the parts. >> > >The PIC is a pile of I/O lines and some peripherals with just enough >glue in the middle to hold it together as a CPU. Nobody chooses one >because of the instruction set or architectre... For a long time I >reckoned the only thing that kept Microchip going was Keeloq. > >Every time Microchip have tried to make a "more modern PIC" they've hit >the wall - PIC17 was a monstrosity which even the firm's own engineers >don't like to talk about; PIC18 is less gruesome but still too expensive >and unpleasant to program; PIC30 has a (relatively) nice architecture >but was too little, too late - conventional micros and cheap fixed-point >DSPs outperform it for less money.
I think PIC addresses a different market. They are designed as logic replacement, not as general purpose CPUs, hence the unsuitability for e.g. the C language. For logic replacement, an ARM would be way overkill, asuming it even could do it. For thing like coffee machines, hairdryers etc. a PIC is a very good solution. Mat Nieuwenhoven