[comp.sys.amiga] A2630 board

lphillips@lpami.wimsey.bc.ca (Larry Phillips) (03/06/90)

In <1745@crash.cts.com>, hawk@pnet01.cts.com (John Anderson) writes:
>   Dave, since the A2630 board uses 16 256x4 chips to make 2 megabytes of RAM,
>then(32 bit RAM), then isn't that actually 512K of actual RAM.  Since each
>"thing" needs 32 bits then that means it can only hold 512 thousand "Things"
>since each one is 32 bits long?  Is that correct?  And if so, or not so, how
>much RAM will be left over after your SetCPU program copies Kickstart into 32
>bit RAM?  
>      

A byte is 8 bits. A megabyte is 1048576 bytes (1K * 1K, or 1024 * 1024 bytes).

The 'things' that you are speaking of are not bytes.

16 chips, in the 256*4 variety, can hold 2 megabytes of data, and can be
organized as:

    2   megabytes      (2097152 by 8  bits wide)
    1   megawords       (1048576 by 16 bits wide)
   .5   mega-longwords  ( 524288 by 32 bits wide)

There are, of course, other ways to organize it, but these are the ways you
will usually see it laid out. The first organization is pretty much useless on
an Amiga, unless it's on a peripheral card that needs it that way for some
reason. Note, though, that in all cases, we have the same number of bytes.

-larry

--
Gallium Arsenide is the technology of the future;
  always has been, always will be.
+-----------------------------------------------------------------------+ 
|   //   Larry Phillips                                                 |
| \X/    lphillips@lpami.wimsey.bc.ca -or- uunet!van-bc!lpami!lphillips |
|        COMPUSERVE: 76703,4322  -or-  76703.4322@compuserve.com        |
+-----------------------------------------------------------------------+

hawk@pnet01.cts.com (John Anderson) (03/06/90)

   Dave, since the A2630 board uses 16 256x4 chips to make 2 megabytes of RAM,
then(32 bit RAM), then isn't that actually 512K of actual RAM.  Since each
"thing" needs 32 bits then that means it can only hold 512 thousand "Things"
since each one is 32 bits long?  Is that correct?  And if so, or not so, how
much RAM will be left over after your SetCPU program copies Kickstart into 32
bit RAM?  
      
      
  Another question of you don't mind.  I have a 2000 with 1 meg agnus, 2
megabyte Micron RAM board and XT Bridgeboard.  So that's 3 megs of RAM.  With
the XT Bridgeboard my maximum RAM is limited to 6 Megs.  Well, the quesion is,
if I buy your 2630 board with the 2 megs on it, expanding my system to 5
Megabytes of RAM (3 16bit and 2 32bit) can I add the two extra megabytes of 32
bit RAM to the 2630 board and map it somewhere else to avoid the 6 megabyte
RAM limitation set by the XT Bridgeboard? (to bring it to 4 megs 32 but RAM
and 3 megs 16 bit RAM).?   Thank you for all your help and I hope you continue
to stay with Commodore because you do a marvelous job designing the hardware,
2000, 2620, 2630 etc.

peter@cbmvax.commodore.com (Peter Cherna) (03/07/90)

In article <1745@crash.cts.com> hawk@pnet01.cts.com (John Anderson) writes:
>
>   Dave, since the A2630 board uses 16 256x4 chips to make 2 megabytes of RAM,
>then(32 bit RAM), then isn't that actually 512K of actual RAM.  Since each
>"thing" needs 32 bits then that means it can only hold 512 thousand "Things"
>since each one is 32 bits long?  Is that correct?  And if so, or not so, how
>much RAM will be left over after your SetCPU program copies Kickstart into 32
>bit RAM?  

When people talk about K, by convention they are referring to thousands
of 8-bit-bytes.  So each "K" is 8192 bits regardless of the memory-word size.
So when we talk of two megabytes of RAM, while it is true that is only 524288
32-bit words, it is still has as much storage capacity of 2 Meg of 16-bit
memory, such as on a standard 2 MB expansion card like the A2052, which has
1048576 16-bit words.  Don't forget that your 512 thousand "things" hold twice
as much memory as 16-bit wide things.  When Kickstart is copied into 32-bit
RAM, it take just as much room, namely 256K of your 2 MB.  All that happens is
that in one access, 32 bits of memory can be gotten, instead of 16.

So you still have the rest of your 2MB (1.75MB) left.

     Peter
--
     Peter Cherna, Software Engineer, Commodore-Amiga, Inc.
     {uunet|rutgers}!cbmvax!peter    peter@cbmvax.cbm.commodore.com
My opinions do not necessarily represent the opinions of my employer.

swarren@convex.com (Steve Warren) (03/08/90)

In article <1745@crash.cts.com> hawk@pnet01.cts.com (John Anderson) writes:
                                [...]
>"thing" needs 32 bits then that means it can only hold 512 thousand "Things"
>since each one is 32 bits long?  Is that correct?  And if so, or not so, how
>much RAM will be left over after your SetCPU program copies Kickstart into 32
>bit RAM?  
                                [...]
The "Things" you are talking about are called words, and the definition of
word-size has nothing to do with how much capacity a memory has, only how
it is organized.

Here is how 16 bytes of data would be stored in 16-bit ram (labeled A-P):

ADDRESS		DATA (2 bytes/16-bit word)

00000000	B,A
00000002	D,C
00000004	F,E
00000006	H,G
00000008	J,I
0000000A	L,K
0000000C	N,M
0000000E	P,O

(The addresses are in hexadecimal; byte 'A' is stored at '0', 'B' at '1', etc)


Here is how the same 16 bytes of data would be stored in 32-bit ram:

ADDRESS		DATA (4 bytes/32-bit word)

00000000	D,C,B,A
00000004	H,G,F,E
00000008	L,K,J,I
0000000C	P,O,N,M


Notice that sequential word-addresses in the 16-bit memory are incremented
by two, but sequential word-addresses in the 32-bit memory are incremented
by four.  The address actually corresponds to a single byte location (the
byte farthest to the right, in this example).

So each word is twice as long, and it only takes half as many words to
store the same program.  Since the addresses of each byte are unchanged
(the 680X0 family maintains an address for each byte in memory, regardless
of bus-size), the storage capacity of the memory is unchanged.  But the
68030 can access the data in 32-bit chunks and then sort it out, so it
goes faster.

In other words, if you use the same number of memory chips - ie the byte-count
is the same, you get the same total storage capacity, regardless of how the
memory is organized.  Addresses are not related to word-size either.  But
the 32-bit storage will work much faster.

--
--Steve
-------------------------------------------------------------------------
	  {uunet,sun}!convex!swarren; swarren@convex.COM

daveh@cbmvax.commodore.com (Dave Haynie) (03/08/90)

In article <1745@crash.cts.com> hawk@pnet01.cts.com (John Anderson) writes:

>   Dave, since the A2630 board uses 16 256x4 chips to make 2 megabytes of RAM,
>then(32 bit RAM), then isn't that actually 512K of actual RAM.  

Well, its actually 512K WORDs of RAM, as well as simultaneously being 2 
Mega-BYTES of RAM.  The same number of chips on a 68000 memory board would be
1 Mega-WORD of RAM. 

>Since each "thing" needs 32 bits then that means it can only hold 512 
>thousand "Things" since each one is 32 bits long?  

No.  The memory can still be byte addressed; all 680x0 family CPUs, and most
others for that matter, equate one address with one byte and allow individual
bytes to be addressed.  All the 32 bit bus indicates is how much data can be
read or written in a single cycle; the CPU doesn't have to read or write all
32 bits at once, it just has that option.

>Well, the quesion is, if I buy your 2630 board with the 2 megs on it, 
>expanding my system to 5 Megabytes of RAM (3 16bit and 2 32bit) can I add 
>the two extra megabytes of 32 bit RAM to the 2630 board and map it somewhere 
>else to avoid the 6 megabyte RAM limitation set by the XT Bridgeboard? 

Not on-board; the A2630's built-in memory must be configured as a single
autoconfig unit of either 2 or 4 megs in size.  You could buy a daughterboard
for it, as soon as someone offers one, and put more memory there; the A2630
daughterboard space is above the 68000 memory map.  Though I would expect 
most daughterboard designs to increment in 4 or 16 megabyte chunks.

-- 
Dave Haynie Commodore-Amiga (Systems Engineering) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
                    Too much of everything is just enough

hawk@pnet01.cts.com (John Anderson) (03/30/90)

  I just purchased your 68030 board through the student discount offered by
Commodore.  It is very slick and I am very impressed.  I have your SetCPU
program also but there are a few questions and problems.  Before I start: I
have a B2000 with 1 meg agnus, 2 megs of 16 bit RAM and the 2 megs of 32 bit
RAM that came on your '030 board, 8088 bridgeboard, and 2090 (not "a") hard
disk controller.  For the hard disk controller I have purchased the Centaur
autobooting card that takes up an Amiga slot and lets the hard disk autoboot. 
Ok, the first question is abou the caching and burst mode.  Should I set the
instruction cache *and* the data cache, neither, or either, same question
about the burst modes.  Two:  When I use the CARDROM option like this "CARDROM
s:CardROMList" (I have a file called that in my S: dir just like you said, and
it looks like this "0x202 0x01 0x010000 0x10000 0x10000
CBM_2090_Disk_Controller") and SetCPU doesn't give any error that it can't
find anything but it also doesn't say anything about *doing* anything because
I use the VERBOSE option like your instrucions alos said.  Am I doing anything
wrong there, and can I do the same for the 2630 ROMS & my 2 meg 16 bit RAM
ROMS & my bridgeboard ROMs?  Three: The KICKROM command doesn't work with
Kickstart 1.1, but it does with 1.2 and 1.3, I do "SetCPU KICKROM df0: CONFIG
0" (I've also tried CONFIG 1, and CONFIG 2, but they don't work either).  AM i
doinf something wrong or is there a problem with the version of Kickstart and
your board, or both?  And finally Four:  Does the 32 bit RAM map itself into
$200000 and map the 2 megs of 16 bit RAM into $400000?  I've used a couple of
programs to show me the memory lists biut I don't know which one is which.
What does MergeMem (the command in the system drawer of workbench) do to the
two memory section (af anything at all).  The largest still says around 1.8
megs even when I use meremem and type "avail".  Sorry for so many questions
and thank you for such a well designed product.

daveh@cbmvax.commodore.com (Dave Haynie) (03/30/90)

In article <2002@crash.cts.com> hawk@pnet01.cts.com (John Anderson) writes:

>  I just purchased your 68030 board through the student discount offered by
>Commodore.  It is very slick and I am very impressed.  I have your SetCPU
>program also but there are a few questions and problems.  

You obviously have excellent taste in both hardware and software.

>Ok, the first question is abou the caching and burst mode.  Should I set the
>instruction cache *and* the data cache, neither, or either, same question
>about the burst modes.  

I-Cache is perfectly safe to use.  The D-Cache is not likely to be a problem
with the hard disk controller, but unless the driver explicitly does cache
dumps after DMA, there's always a potential problem with data caching.  The
only driver I know of that flushes the cache where appropriate is the A2091
driver.

Data caching also causes trouble with BridgeCards.  There's a utility out
called CacheCard which will let you modify the cachability of any expansion
card, allowing the data cache and the bridge card to co-exist.  SetCPU V1.6
(available Real Soon Now) will also adjust things for the BridgeCard.

>Two:  When I use the CARDROM option like this "CARDROM s:CardROMList" ...
>Am I doing anything wrong there...

What you really may need is a CARDROM entry for the autoboot card.  The 2090
itself doesn't have any ROM, so SetCPU won't try to build a translated ROM
image for it.  You need to know more about the autoboot card, like its
manufacturer and product codes.  The SetCPU instructions explain how to
build your own entry in the CardROMList file.

>.. and can I do the same for the 2630 ROMS & my 2 meg 16 bit RAM ROMS & my 
>bridgeboard ROMs?  

You don't need it for any of those.  The A2630 ROMs only get used prior to
booing.  The 16 bit RAM doesn't have any ROM on it, and the BridgeBoard's
ROM is only used by the PC side of things.  

>Three: The KICKROM command doesn't work with Kickstart 1.1, but it does with 
>1.2 and 1.3, I do "SetCPU KICKROM df0: CONFIG 0" (I've also tried CONFIG 1, 
>and CONFIG 2, but they don't work either).  

I don't know of any problem with 1.1.  If you have normal autobooting devices,
you may have trouble with 1.2 (though some of the autoboot cards for 2090s 
use a different autoboot technique that actually works under 1.2).  Using 1.1
may be annoying, since the expansion.library wasn't around, so none of your
expansion stuff will work.  If your autoboot card works under 1.2, I would
guess that's what's causing the problem booting 1.1.  I do know that 1.1
will work OK with 68030s, though there was some problem with FPU context that
might mess up operation of the FPU.

>And finally Four:  Does the 32 bit RAM map itself into $200000 and map the 
>2 megs of 16 bit RAM into $400000?  

Yeah, the 32 bit memory is the first autoconfig device, and so currently 
it'll show up at $00200000.

>What does MergeMem (the command in the system drawer of workbench) do to the
>two memory section (af anything at all).  The largest still says around 1.8
>megs even when I use meremem and type "avail".  

MergeMem will merge the two memory lists.  You won't really see anything much
happen with that if you use "SetCPU FASTROM" or similar, since SetCPU locates
it's ROM image at the end of 32 bit memory to avoid fragmentation, which is a
good idea if you're mainly concerned about fragging 32 bit memory, but a bad
idea if you want lots of contiguous memory.  Try "SetCPU FASTROM HEAD" and
things will look more merged.



-- 
Dave Haynie Commodore-Amiga (Systems Engineering) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
                    Too much of everything is just enough