A modern 6502 processor
Re: A modern 6502 processor
Quote:
There seems to be a lot of unfounded fear of the '816, a fear of the mode bits (which can be left alone in much of your code), fear of the bank byte (which you don't have to latch, decode, or use if a 64K memory map is enough), fear of added capabilities (as if you were forced to use them right from the start), etc..
Quote:
What application did you have in mind that needs so much (4K)?
Re: A modern 6502 processor
Quote:
Bill Mensch, the designer of the 65c02, said in an interview two years ago that he estimated that if it were made in the most modern deep-submicron geometry, it would do 10GHz.
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: A modern 6502 processor
Arlet wrote:
Quote:
What application did you have in mind that needs so much (4K)?
That's in chapter 14 of my 6502 stacks treatise. Like you said, local variables' space is freed when you're done with them; so only some are taking room at any given time. Although I agree that the 6502's 256-byte stack space would be inadequate for the local variables of bigger applications, automatically assigning 4K or 8K sounds kind of like requiring every airliner to have the fuel capacity to fly 10,800 miles like the Boeing 777-200LR can. There are lots of commuter airlines that seldom fly more than a few hundred miles at a time. I suspect an '816 would seldom need that kind of stack space for a task. We won't be competing with an AMD Opteron processor.
When you know you're accessing the stacks constantly but don't know what the maximum depth is you're using, the tendency is to go overboard and keep upping your estimate, "just to be sure." Why not test and see how much you're using, in a situation that will take the max. I'm sure you'd be surprised at how little it is in most cases. Take the test result and add 50% or whatever margin makes you comfortable.
Quote:
Even if we believe that number, it doesn't really make sense to do that. You'd get a lot more performance out of a bigger CPU running at lower speed.
It depends on what you need to do. If you need 3GIPS in an application that seldom deals with quantities of more than 8 bits, it might make good economic sense, achieving the needed computing power with less silicon real estate. People who are always in the 32- and 64-bit world forget that not everything will benefit from those. The microcontrollers I've used in products for work, for the most part, would not benefit from instructions that could handle more than 8 bits at a time, because it's all testing and twiddling bits in 8-bit I/O ports. Variables are mostly 8-bit too. Nor have I ever even had any use for a multiply instruction in any of these products. I did need a division routine in the last one, but that was for human I/O in a 16x2 LCD, and there's no need for speed there.)
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: A modern 6502 processor
GARTHWILSON wrote:
Quote:
Even if we believe that number, it doesn't really make sense to do that. You'd get a lot more performance out of a bigger CPU running at lower speed.
The savings on silicon real estate aren't very useful, because the only way you can make a 10 GHz CPU is by putting the memory and peripherals all on the same chip, which, combined with the I/O pads and PLL, will take much more room than the actual core. At that point, it costs very little extra room to use a small ARM, which you can then let run at lower frequency for the same performance.
-
White Flame
- Posts: 704
- Joined: 24 Jul 2012
Re: A modern 6502 processor
Arlet wrote:
For me, there's no fear, but I grew up with the 6502, not the 65816.
Re: A modern 6502 processor
White Flame wrote:
It's a crying shame that the 65816 didn't get used in more devices.
Re: A modern 6502 processor
Some interesting comments and food for thought.
Thanks
If anyone has more it's welcome.
Thanks
If anyone has more it's welcome.
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: A modern 6502 processor
jds wrote:
I still get a bit hung up on the limitation of bank 0, in that you need to have both the stack and DP fit within 64k.
Quote:
I guess I'm also struggling to get used to the smaller resource requirements of these kinds of systems, but even with say a 4k stack you'll only have room for 16 processes.
Quote:
Given that we can now relatively cheaply fill up the address space of the 65C816 it seems that the main limit is on bank 0. This could be fixed with a MMU if someone were inclined to build one, but that may be overcomplicating the system.
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: A modern 6502 processor
I happened to notice a related item mentioned on Hacker News today. It's a blog post regarding memory bandwidth, and it makes some comparisons between modern processors and older devices... such as the 6502!
The blog post itself is here. The related Hacker News discussion is here.
Quote:
A 6502 was typically clocked at 1MHz and did a 1-byte memory access essentially every clock cycle, which are nice round figures to use as a baseline. [...] A large fraction of that bandwidth went simply into fetching instruction bytes.
Quote:
Absolute memory bandwidths in consumer devices have gone up by several orders of magnitude from the ~1MB/s of early 80s home computers, but available compute resources have grown much faster still, and the only way to stop bumping into bandwidth limits all the time is to make sure your workloads have reasonable locality of reference so that the caches can do their job.
Quote:
Not considered here is memory latency (and that’s a topic for a different post). The good news is absolute DRAM latencies have gone down since the 80s – by a factor of about 4-5 or so. The bad news is that clock rates have increased by about a factor of 3000 since then – oops.
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html
Re: A modern 6502 processor
Not only have processors gone up in speed faster than memory bandwidth, the increased memory bandwidth comes at a cost of much higher latency (measured in clock cycles, not nanoseconds).
edit: Hmm.. now I see you already posted that.
edit: Hmm.. now I see you already posted that.
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: A modern 6502 processor
Quote:
If you don't need more than 8 bits, you probably also don't need 10 GHz 
There shouldn't always be a link between the width of data that needs handling and the speed at which it needs to be handled.
Quote:
The savings on silicon real estate aren't very useful, because the only way you can make a 10 GHz CPU is by putting the memory and peripherals all on the same chip, which, combined with the I/O pads and PLL, will take much more room than the actual core. At that point, it costs very little extra room to use a small ARM, which you can then let run at lower frequency for the same performance.
I expect the ARM has a PLL onboard too. And for the microcontrollers, memory and I/O too. I know almost nothing about ARM, but I get the idea they're mostly microcontrollers. Correct me if I'm wrong. I started watching an intro lecture on ARM once, and it was clear as mud, perhaps due to the lecturer's ability to communicate. If a 32-bit ARM does 500MIPS though, that's not going to match the performance of a 3GIPS '02 in situations where you only need to handle 8 bits at a time and the 32-bitter's extra power is in areas that are not useful.
I'm committed to limiting my work to the smaller, simpler processors. A 65Org32 is almost an exception, although it's still quite simple by today's standards. I still see a lot of potential future progress with the 8-bitters and the 65 family, by improving the software methods, the supporting hardware, and the level of hardware integration, and moderately increasing the clock speeds. I'm against the bloatware which high-end processors are used to justify. I am constantly challenged by the article, "Low Fat Computing (A politically incorrect essay by Jeff Fox)." He and Chuck Moore (inventor of Forth), taking an entirely different programming philosophy, plus Forth hardware and software, have improved the compactness and speed of code by factors of 100 to 1000. I'm also kind of a scrooge about misapplications of technology. Remember the talking car of the 80's? It initially seemed like the most natural way for the car to communicate with you; but soon everybody hated it, and they were disconnecting it. I'm against the attitude that "more modern" always means "better."
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: A modern 6502 processor
GARTHWILSON wrote:
There shouldn't always be a link between the width of data that needs handling and the speed at which it needs to be handled.
Quote:
I expect the ARM has a PLL onboard too. And for the microcontrollers, memory and I/O too. I know almost nothing about ARM, but I get the idea they're mostly microcontrollers.
Quote:
If a 32-bit ARM does 500MIPS though, that's not going to match the performance of a 3GIPS '02 in situations where you only need to handle 8 bits at a time and the 32-bitter's extra power is in areas that are not useful.
Code: Select all
LDA (ptr), Y
INY
BNE
INC ptr+1
Re: A modern 6502 processor
Quote:
I'm committed to limiting my work to the smaller, simpler processors
Re: A modern 6502 processor
jazz wrote:
I was wondering what a modern chip built with the 6502 philosophy and "feeling"
would look like today.
if you had to design a 6502ish processor today what would you do?
would look like today.
if you had to design a 6502ish processor today what would you do?
jazz wrote:
Some interesting comments and food for thought.
Thanks
If anyone has more it's welcome.
Thanks
If anyone has more it's welcome.