Hi, > N STEENKAMP [M.ING E&E] wrote: > > > > Hi, > > > > Last week I went to an Atmel AVR seminar for the first time. It was > > interesting to see their angle of approach : They are really serious > > about competing head-on with the PIC. All through the seminar, the > > presenter was pointing out the PIC's inadequacies. At one stage he had a > > slide comparing a 16 bit subtraction on the PIC and the AVR. I have > > never seen such a long 16 bit subtraction routine on a PIC in my life! > > It must have been at least 20 instructions! The AVR routine was 2 or > > three instructions. To be fair, the AVR would still beat the PIC on a 16 > > bit subtract, even if they compared it to an optimized subtraction > > routine, but not by such a large margin. And of course he did not > > mention the inefficient table read until he was asked about it. Those are > > the ways of marketing... > Speaking of marketing, was the subject of I/O manipulation speed ever > initiated by Atmel ? It was mentioned, yes. Someone asked about it and the presenter mentioned the SBI (Set bit in IO Reg) and CBI (Clear bit in IO Reg) instructions. These do take 2 clock cycle, though. So there the PIC beats the AVR. Although, an AVR running at 1/2 the speed of a PIC would be able to handle the same rate of IO change as the PIC, courtesy of the 1-clock-cycle-1-intruction-cycle mechanism. I really wonder how they did that!?! > > > > We did get an AVR develoment board - which is quite nice - and a 1200 to > > start playing with. They are also planning on adding loads of different > > devices and peripheral options in the ?near? future. > > What I do like about their core, anyway, is the true RISC architecture > > (no more moving to W before doing a calculation) > Above can easily be done on pic with two instruction macro. Very true, but it is not only a matter of typing less. The AVR instruction only takes one instruction space (16 bits), while the PIC macro still takes two intruction spaces. The AVR code is thus more compact. > > , the support for >8 bit > > arithmetic and the large number of test and branch instructions (no > > more btfss - goto combinations). > Above is also done on PIC using special instruction Mnemonics, the > difference is that where as Microchip market usually 35 instructions, > Atmel start with 16 bits(same as PIC17Cxx) and subdivide some > instructions types into the jump variants etc. Atmel call this part of > their instruction set, where as with Microchip you have to be in the > know (use the "special instruction mnemonics") or using the PIC17Cxx > devices to be aware of these similarities. Same argument as above. I must admit that I have no PIC17Cxx experience. I am making my observations relative to the 12 and 14 bit cores. Niki