GARTHWILSON wrote:
With the 6502 being made in hundreds of millions of units per year, I'd have to say pacemakers are a very small part of that pie.
Awesome. I had no idea the 6502 was that popular. I was told ARM volume was counted in billions, seeing 6502 hot on the heels like that is quite the surprise to me. Can you say more about where these go?
Quote:
A DJNZ instruction would not make a significant improvement in my 6502 programs' overall performance. These others are complete microcontrollers, and I wish very much there were a good line of 6502-based microcrocontrollers. Their greater visibility and popularity is not due to a better microprocessor though, as evidenced by the 8051's 52 clocks' interrupt latency which is put to shame by the 6502, and the PIC16's underperforming processor core. For some reason though, Bill Mensch has not chosen to follow that business model. He does have the 65265 and 65134 microcontrollers, but their ROM cannot be programmed by the customer. It can only be mask-programmed which means that unless the situation changes, our small company and thousands of other like it will never be using a 65xxx microcontroller. Connecting your own ROM on them externally not only adds to the cost and board space, but eats up a lot of the pins that would otherwise have been used for I/O and made the part so attractive. They do have lots of interrupt vectors, reducing or eliminating the polling needed to determine the source of the interrupt; but it's not a big deal if you poll in order of urgency of the source, and poll only the few sources that are enabled.
I never expected a single instruction to propel the 6502 to the forefront of the big volume league. As you mention above and as we remember from Z80, performance or convenience is low down on the list of what clinches the deal. Still, to get into the current mindshare a little activity is a lot better than a slumber where little news happened since the 1990's. A little improvement here, a little speed up there, a few new family members over there and trade press coverage changes. The 6502 might be a wonderful gem of a processor but that is little help if it is only known by people who rememebr it back from the 1970's.
Quote:
I definitely find the idea of dual-port memory for stack and ZP to be attractive though! It could be on-chip, requiring few or no additional pins. I do want it accessible as normal memory for the programmer though, unlike the miserable situation with the stack on the PICs.
If we provide a complete 1 KB (range $0000 - $03FFF) we get another 2 pages that can be used for a lot of other tricks and would also be nice for the architectural variations that provide a direct page register.
Quote:
Although we will all take all the performance we can get in a 65-family processor, we also recognize that performance is not everything, otherwise we'd all be using nothing but the most powerful multi-GHz, multi-core, 64-bit processors available. I like your remark about the 6502 being a supremely pleasant processor to program in assembly code, and the code density being impressive. I still use my 1986 Hewlett-Packard HP-41cx calculator every day, not just as a calculator but an alarm clock, daytimer, and other things. I just saw a comparison of the N-Queens benchmark results that put the HP-41 about 10,000 times as slow as the 6502-- yet I still have uses for it. My HP-71 hand-held computer is far more capable and very roughly around 10x as fast, but it doesn't fit the need as a calculator very well, and I seldom use the 71.
I quite agree performance is not all. ARM got a long way by focusing on the MIPS/Watt ratio.Then they extended the architecture all over the place: downward with 16-bit Thumb, upwards to 64-bit architecture, sideways with several rounds of DSP add-ons plus various bits and pieces like Jazelle.
For the 6502 I believe high useful MIPS/MHz, very high code density (further improved by SWEET16) and very low transistor count (and thus consumed chip area) are the main drivers. High reliability and a pleasant programming experience is most likely quite a way down on the list of decision factors. Still, the 6502 has what counts and has it in spades.