The following warnings occurred:
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 795 - File: showthread.php PHP 7.4.33 (FreeBSD)
File Line Function
/showthread.php 795 errorHandler->error





Post Reply 
Executing FOCAL programs from ROM vs. RAM
04-10-2019, 10:09 PM
Post: #1
Executing FOCAL programs from ROM vs. RAM
I've been reading about the 41C processor architecture and I'm hoping someone can explain how it executes FOCAL programs out of RAM vs. ROM

As I understand the processor, it has separate data and instruction address spaces. Separate CPU instructions are needed to access RAM vs. ROM.

Instructions use a 16 bit address where each address specifies a 10-bit word. ROMs placed in the plug-in ports get mapped to areas of this address space.

Data uses a 12-bit address where each address specifies a 56-bit register. Presumably RAM modules on the 41C get mapped into the data space by some control circuitry at power-on.

So here are my questions.

Since RAM and ROM are accessed using different CPU instructions, it seems like the processor would need two different methods to read FOCAL instructions - one when the program is in RAM and another when it's in ROM. Is this true? If not, then how does it work?

And what about the FOCAL program pointer and return stack in registers a & b? They are 16 bits. I assume those are ROM addresses when executing from ROM but what about when executing from RAM?

Thanks,
Dave
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Executing FOCAL programs from ROM vs. RAM - David Hayden - 04-10-2019 10:09 PM



User(s) browsing this thread: 1 Guest(s)