6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 6:14 am

All times are UTC




Post new topic Reply to topic  [ 5 posts ] 
Author Message
PostPosted: Thu Aug 19, 2021 8:51 pm 
Offline

Joined: Sun May 30, 2021 2:16 am
Posts: 375
Hey, all.

Without getting into the practicality of such a thing, if I had two 65c02s joined together (don't worry about how) what information or data would I need to transfer from Processor ONE to Processor TWO to put Processor TWO in the same state as Processor ONE? Program Counter, Status Flags, and the contents of the Stack? And, does anyone know how that could or would be done?

Thanks in advance for any help you guys can render.

-Jon


Top
 Profile  
Reply with quote  
PostPosted: Fri Aug 20, 2021 8:30 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
If you mean the programmer-visible on-chip state, you need the registers: A, X, Y, S, P, PC.

The contents of the stack are part of the contents of memory. If you want two processors to stay in sync they need to be executing the same program, seeing the same data, and the same interrupts at exactly the same times. The memory image they see would need to be the same, and that includes the stack.

As to how to set up A, X, Y, S, P and PC, you can only do it by executing code, so you'd need a way to execute a little more than half a dozen instructions.

If the two processors actually have different memories and peripherals, you need to get those into the same state too.

It would all make a lot more sense if you could say what you're thinking of doing, and a sketch of how you're thinking of doing it.

And some people will be wondering why you're doing it, so that might be worth a few words too!


Top
 Profile  
Reply with quote  
PostPosted: Fri Aug 20, 2021 8:35 pm 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1950
Location: Sacramento, CA, USA
The scenario somehow reminds me of a system I read about that needed a fall-back option if an instruction was aborted, because it wasn't possible to recover enough state to restart the aborted instruction. One processor tagged along slightly behind the other, but the exact details elude my fading memory.

_________________
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some VTL02C on it and see how it grows on you!

Mike B. (about me) (learning how to github)


Top
 Profile  
Reply with quote  
PostPosted: Fri Aug 20, 2021 8:45 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Sun3 with 68000s?

(Edit: no, it was the other one, and earlier (of course): Apollo)


Top
 Profile  
Reply with quote  
PostPosted: Sat Aug 21, 2021 1:23 am 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1950
Location: Sacramento, CA, USA
Yes, that must be it. Early 68000. The article states that the backup processor handled page faults while the main one was put on hold, but I thought it was different in that either could "take the lead", so to speak. No "DTACK grounded" there. The 68010 was apparently able to handle the situation unassisted, by stacking sufficient internal state.

_________________
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some VTL02C on it and see how it grows on you!

Mike B. (about me) (learning how to github)


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 6 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: