[sci.electronics] Dual-port memory access?

schriste@uceng.UC.EDU (Steven V. Christensen) (01/12/90)

Let's say I want to build come computer-based device, OK, and let's
say I want to interface this to an IBM-PC, OK. I want that the
PC could be able to download into the memory of this project,
and then kick the processor to start executing.

Holding and starting the processor via PC control is no problem.
My question is, what is the best way to facilitate the PC-downloading
of the other CPU's memory?

I know some chips, like t he AT&T WEDSP32C, have a mode in which you
can send addresses and data to the parallel ports of the CPU, and
that data will go to the memory of the processor at the requested
address. This is, needless to say, _quite_ handy.

I have seen some chips called "dual-ported something-or-other", but
have not investigated. Are they usable (and simple) solutions?

Thanks for your replies.


			Steven
			schriste@uceng.uc.edu

-- 
Steven V. Christensen
U.C. College of Eng.
schriste@uceng.uc.edu

henry@utzoo.uucp (Henry Spencer) (01/13/90)

In article <3310@uceng.UC.EDU> schriste@uceng.UC.EDU (Steven V. Christensen) writes:
>Let's say I want to build come computer-based device, OK, and let's
>say I want to interface this to an IBM-PC, OK. I want that the
>PC could be able to download into the memory of this project,
>and then kick the processor to start executing.

The quick answer is that dual-porting memory is a royal pain and tends to
be costly in chip count.  Life is much simpler if only one processor does
memory accesses.  Unless the project CPU, or some other part (e.g. the
dynamic-RAM controller) is unusually helpful, much the easiest approach 
is to have the project CPU start running out of a ROM, and have it pick 
up the data from somewhere and stuff it into memory for you.

>I have seen some chips called "dual-ported something-or-other", but
>have not investigated. Are they usable (and simple) solutions?

Usually not.  There are some dual-ported memory chips, but they are
small in capacity, large in board area, expensive, and sometimes tricky.
-- 
1972: Saturn V #15 flight-ready|     Henry Spencer at U of Toronto Zoology
1990: birds nesting in engines | uunet!attcan!utzoo!henry henry@zoo.toronto.edu

mikemc@mustang.ncr-fc.FtCollins.NCR.com (Mike McManus) (01/13/90)

In article <3310@uceng.UC.EDU> schriste@uceng.UC.EDU (Steven V. Christensen) writes:
>   Let's say I want to build come computer-based device, OK, and let's
>   say I want to interface this to an IBM-PC, OK. I want that the
>   PC could be able to download into the memory of this project,
>   and then kick the processor to start executing.

>   Holding and starting the processor via PC control is no problem.
>   My question is, what is the best way to facilitate the PC-downloading
>   of the other CPU's memory?

I'm not sure what you want to do exactly, but is sounds like you don't need
2-way communication between your PC (host) and the CPU device.  If this is the
case, dual-port is not the way to go.  My suggestion, if you not concerned
about speed or real-time transfer between the host and CPU is to use an RS-232
link.  The serial port already exists on the PC.  Adding a serial port to your
CPU board is not terribly complicated.  Having done it before, I don't remember
all the details, but you only need a serial chip (National 8250 or Intel 8251;
your PC uses one of these, can't remember which...), line drivers (1488/1489),
and interface the puppy right to the CPU.  You then need to write a small
"monitor" routine that can be blown into PROM and be bootstrapped at start-up
time of the CPU.  All it needs to do is a few simple commands: read the serial
port for incoming data, put the data into selected memory locations, and run
from selected locations.  Of course you can get fancier, this is just bare
bone.  Hope this helps, Steven.  

BTW, I did something similar to this using a home-built 80186 CPU board and PC
as my senior project in 88 (it's still sitting in my closet :-).  Used the PC
for software developement, downloaded via RS-232, and ran out of RAM.  I think
that Dr. Sarma at U.C. has a copy of my report, if it would help you.
Otherwise, e-mail me with questions!
--

Disclaimer: All spelling and/or grammer in this document are guaranteed to be
            correct; any exseptions is the is wurk uv intter-net deemuns.

Mike McManus (mikemc@ncr-fc.FtCollins.ncr.com)  
NCR Microelectronics                
2001 Danfield Ct.                   mikemc@ncr-fc@ncr-sd.sandiego.ncr.com, or
Ft. Collins,  Colorado              mikemc@ncr-fc@ccncsu.colostate.edu
(303) 223-5100   Ext. 360           (they're ugly, but they work!)