6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Mon Sep 23, 2024 10:20 pm

All times are UTC




Post new topic Reply to topic  [ 23 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: "Improved" 6502
PostPosted: Wed Mar 06, 2013 1:20 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
There's 2 captures of the broken link, but neither mention the 65CX8, only the 65CX1 which doesn't have multiply.
1
2

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Top
 Profile  
Reply with quote  
 Post subject: Re: "Improved" 6502
PostPosted: Tue Mar 12, 2013 8:02 pm 
Offline

Joined: Sat Mar 27, 2010 7:50 pm
Posts: 149
Location: Chexbres, VD, Switzerland
Quote:
I still stand by multiply as a small and easy addition which gives a big performance win where applicable, but I completely agree that spooling out ideas for improvements is enormously easier than implementing them

Oh I think I'm perfectly falling into this category...
The problem is that having a ton of cool ideas for various EE/CS related projects is nice but having time to implement them it's different...


Top
 Profile  
Reply with quote  
 Post subject: Re: "Improved" 6502
PostPosted: Tue Mar 12, 2013 8:19 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
This my commit where I added multiply - foolishly, I added long-distance shift at the same time, and I think the end result doesn't quite work. But I think it shows that there's not too much to do.
https://github.com/BigEd/verilog-6502/c ... 4b9a43b86a


Top
 Profile  
Reply with quote  
 Post subject: Re: "Improved" 6502
PostPosted: Mon Apr 01, 2013 6:41 pm 
Offline

Joined: Mon Apr 16, 2012 8:45 pm
Posts: 60
BigEd wrote:
Same for page 1, I think. Not quite such a boost, but I think it would help.

Actually, a local memory with dual byte access for page 1 would be a major improvement for one of the strengths of 6502: interrupt response time. Currently an interrupt would cost you the time to store 3 bytes on stack before a jump through the vector. With local memory that is reduced to zero.

Return from interrupt still costs you the retrieval of the same 3 bytes. Local memory can reduce that to perhaps a single cycle.

Same for JSR and RTS you can save a lot of cycles. PHA and PLA would also save a bit.

I think this is quite a big win at the modest cost of local memory and probably not that much added logic. Best of all it should be rather transparent to the programmer. The dual port local memory could perhaps be used both for ZP and page 1.


Top
 Profile  
Reply with quote  
 Post subject: Re: "Improved" 6502
PostPosted: Tue Apr 02, 2013 5:22 pm 
Offline

Joined: Sat Mar 27, 2010 7:50 pm
Posts: 149
Location: Chexbres, VD, Switzerland
In fact interrupts are one of the hardest thing to get right when developing a processor... or at least I feel that it's the case. Especially if a pipeline is present and you want to cancel some of the instruction that started to be executed.


Top
 Profile  
Reply with quote  
 Post subject: Re: "Improved" 6502
PostPosted: Tue Apr 02, 2013 5:29 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Typically you would finish the current instruction before starting to handle the interrupt.


Top
 Profile  
Reply with quote  
 Post subject: Re: "Improved" 6502
PostPosted: Tue Apr 02, 2013 7:04 pm 
Offline

Joined: Sun Apr 10, 2011 8:29 am
Posts: 597
Location: Norway/Japan
Arlet wrote:
Typically you would finish the current instruction before starting to handle the interrupt.

But what if the CPU, or even an MMU, implements a feature where a page fault creates an interrupt? Then you need to restart the instruction.. all memory access instructions should be implemented so that they can restart I imagine. AFAIK that was almost true for all such instructions in the MC68000, except a few. Those few prevented proper memory management to be implemented, until the situation was corrected with the 68010.

-Tor


Top
 Profile  
Reply with quote  
 Post subject: Re: "Improved" 6502
PostPosted: Tue Apr 02, 2013 7:43 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8513
Location: Southern California
That's what the 65816's ABORT\ interrupt is for.

_________________
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?


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 23 posts ]  Go to page Previous  1, 2

All times are UTC


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: