[comp.sys.amiga.hardware] Beginer Questions

yorkw@stable.ecn.purdue.edu (Willis F York) (01/07/91)

Well I have gotten Good responce in the past from my "Idiotic" questionss.
Hers some more. Todaya topic, MEMORy, How does the amiga know what's
going on.

Definitions i "Think" i know. (Info for REALLY Non-techies.)
RAM - Random acess memory, Where the "Programs" go.No Power and it's gone.
ROM - Read Only Memory, Where the "OS" goes, the amiga has 512k of ROM.
	But not all 512 is used. (yet)


Note, I'm a Beginer KInda, I want to get some "Grass-Roots" info
and to help teach other amiga owners, SO they know more then just
how to play games!. 

<< If my line of discussion is "out of line" let me know, I'll Shadup>>


Chip RAM - That little part of the amigas memory that the chips (Gary,
	paula,agnes, others?) can acess directly. This is where stuff
	like Sounds,pictures,ect. go. Run out of this and you are in trouble.
	(I've seen 2 meg Chip expanders for the 2000) But in most cases
	an Amiga has 512 (Or 1 meg) of Chip. 

Autoconfig RAM - Memory over the 512K Chip, where other data is stored.
	No "Program" needs be run for the amiga to see it on boot up.

Public RAM- (Got a better name?) NON-AutoConfig, if ya use ADRAM, and other
	programs to tell the computer the memory is there it's Public.

Fast RAM - Same as Autoconfig Ram (RIGHT???) 

Static RAM - No idea....
32 bit RAM - Better then the normal 16 bit RAM normally used. (More info??)

ZIPS,DIPS,4x16, ect... NO idea..., 

My ADRAM board needs 4 chips to add 512K so it's a 16x4 Chip right???

And on a chip is a Number and the last didgets tell the speed in
nano-seconds, 120ns is slow, 90-80 is ok, 60ns is fast and big $$$.

If ya have slow memory chips then ya get into wait states.
------------------- Anyone wanna elaborate go ahead PLEASE, CORRECT ME --

Questions:

Upon Boot up.

Does the "ROM" get copied to "RAM" and get run (Bad word) from there?
(I heard this and it "seems" silly)

What's so important about "Fastmemfirst" ? Does it prevent the
using up of "CHIP" befor "Other" memory is full? How does it do it?

Is there any problems with a program being "over a seam" ie. 
what if myeditor loads into a section of memory that's half
fast and half public. (Or un-Powerpacks over the seam)

Patches Everywhere...
I seem to have about 5 patch programs in my startup-sequence, what
do they all do? Why not 1 big patch program, Must they be ran first?
befor or after i add my extra memory?

----- Overlaying themes to my questions/post ---

I can COldBoot up fine (To non-tecies that means hit the powerswitch)
but upon a Warm boot (Via Controll Amiga-Amiga) the machine
crashes EVERYTIME at the programs FACCII, FACTION, and ??? Somthing else.
anyone know WHY?

----
Well all ya non-techies send me mail, i'll gladely share my 
knowledge with ya.
----
Thanx, 
--
yorkw@ecn.purdue.edu  Willis F York    
----------------------------------------------
Macintosh... Proof that a Person can use a Computer all day and still
not know ANYTHING about computers. 

lkoop@pnet01.cts.com (Lamonte Koop) (01/09/91)

yorkw@stable.ecn.purdue.edu (Willis F York) writes:

>Autoconfig RAM - Memory over the 512K Chip, where other data is stored.
>	No "Program" needs be run for the amiga to see it on boot up.
>
>Public RAM- (Got a better name?) NON-AutoConfig, if ya use ADRAM, and other
>	programs to tell the computer the memory is there it's Public.
>
>Fast RAM - Same as Autoconfig Ram (RIGHT???) 
>

Not really.  FAST RAM on the Amiga is any RAM out of the reach of the custom
chips.  It is known as FAST RAM because code and data may be accessed by the
CPU there faster, as it does not have to deal with the bus contention in the
CHIP RAM addressing space.  Look at it like this:  On the CHIP RAM bus, time
has to be shared by both the processor and the custom chips.  If the custom
chips are very active at a given time, the CPU must wait for the bus to be
free for it's use.  [Some activities of the custom chips can 'cycle steal'
from the CPU, causing it to be forced to wait].  Normally, the 68000 on the
Amiga only needs the bus every alternate clock cycle in order to run full
speed...thus the other cycles not used are taken up by the custom chips. 
However, when the blitter is in use, or the coprocessor (COPPER), you see some
of this cycle stealing.  As a result, the CPU can usually run quite close to
full speed on the CHIP RAM bus, but there is almost always some activity which
slows it down a bit.  And of course any heavy graphics use will cause
considerable slowing if the CPU is forced to run code out of the CHIP RAM
area.  Now, with FAST RAM on the system, the CPU can generally run full speed
regardless, provided the code/data being accessed is in said FAST RAM, as the
custom chips cannot access this memory medium, and are not using it's bus. 

Now, AutoConfig memory is basically a setup of the OS and the memory board
which uses it.  When a memory board is considered to be AutoConfig, the system
will automatically configure it into the free memory pool upon startup. 
Basically, AutoConfig allows a board to be assigned to a memory address slot
based on what is free on the system at configuration time, without your habing
to configure it manually.  On startup, the each board along the line (of
physical slots in the machine) appears at a specific memory location ($E80000
I belive..but I'm not sure I remember offhand), and presents ID information,
whereby it is configured to a suitable address space on the system.  This
done, the next board in line appears, and the same process repeats...on down
the line until no further AutoConfig boards remain.  Non-AutoConfig memory is
not recognized in this manner, and is designed for a specific memory address
location only.  Using a program such as AddMem, or AddRAM, you are telling the
OS where in the addressing space this board can be found, and adding it's
memory to free pool list.

>32 bit RAM - Better then the normal 16 bit RAM normally used. (More info??)

No such animal.  There is no difference in the chips themselves.  What IS
different is how they are accessed.  On a 16 bit bus (16-bit memory), 16 bits
of data can be operated on at one time (transferred about, etc...).  The
32-bit bus can work with 32-bits of data at a time.  Thus if you are running
two different buses...on 16-bit and one 32-bit, the 32-bit bus can handle more
data at a given interval (assuming appropriate processors for each and
equivalent bus speeds).  But this is handled at the interface logic and bus
level...NOT within the memory chips themselves.  A 256x4 chip is just
that...not a 32-bit or 16-bit creature.

>And on a chip is a Number and the last didgets tell the speed in
>nano-seconds, 120ns is slow, 90-80 is ok, 60ns is fast and big $$$.
>
>If ya have slow memory chips then ya get into wait states.

Not necessarily.  You will only run into having to have wait states if the
memory being utilized is slower than the speed at which the processor needs it
to come back.  For instance, FAST RAM on the A2000 (68000) is usually rated at
120-100ns...this is perfectly fine for zero-wait state operation on that bus. 
The processor is incapable of "asking for" the data any faster.  Putting 80ns
memory here would be a waste of money, as the processor will not be able to
access it any faster. [The processor/bus is running at a certain speed...it
will not speed up for faster memory].  Now, if you were to put 200ns parts on
a FAST RAM expansion board, you would have to put some wait states into that.
>Does the "ROM" get copied to "RAM" and get run (Bad word) from there?
>(I heard this and it "seems" silly)

I think you are confusing something done on accelerators here.  On normal
systems, the ROM code is run straight out of the ROM itself...no "copying to
RAM" occurs.  On many accelerators, (ones with an MMU in place), it is
possible to take an "image" of that ROM, copy it to a faster medium (32-bitr
bus area...the accelerator's memory area), then use the MMU to translate
address requests to where the ROM image originally was to it's new (hopefully
faster) location.  THis is done to speed up the system ROM calls.  However,
normally the ROM is simply accessed directly.

>
>What's so important about "Fastmemfirst" ? Does it prevent the
>using up of "CHIP" befor "Other" memory is full? How does it do it?

Memory on the Amiga is prioritized.  Now, normally CHIP RAM is given a
priority on the system of -10.  This is to insure it is not used by programs
requesting simply "I want a chunk of memory", and not saying "and it needs to
be CHIP".  This helps prevent CHIP RAM from being used for things which do not
need to be there.  Now, FastMemFirst is special.  On Amigas with 512K of CHIP
RAM, the other 512K which make up the 1 meg std. complement is what is called
"SLOW-FAST" RAM.  This is because, while the custom chips cannot use it, it is
still subject to the bus contention for CHIP RAM I mentioned earlier, as it is
in fact on that bus.  [When you upgrade to the 1-meg Agnus, this "SLOW-FAST"
memory is what becomes the other 512K of CHIP RAM.]  FastMemFirst is useful if
you have this "SLOW-
FAST" memory, and also have true FAST memory on the system.  What it does is
place your "SLOW-FAST" memory at the same -10 priority as CHIP RAM.  Since
most true FAST RAM will default to a priority of 0, it places your true FAST
RAM ahead of the CHIP and SLOW-FAST memory on the memory lists.  This is so
programs which do not need to use CHIP RAM (and a program's actual CODE never
does for the most part) will be placed in you FAST RAM, and run somewhat
faster.  SLOW-FAST and CHIP will only be used when either requested
specifically by a program, or when your FAST RAM is filled.


                             LaMonte Koop
 Internet: lkoop@pnet01.cts.com         ARPA: crash!pnet01!lkoop@nosc.mil
           UUCP: {hplabs!hp-sdd ucsd nosc}!crash!pnet01!lkoop
  A scientist is one who finds interest in the kinetic energy of Jell-O
   moving at ridiculous velocities...an engineer is one who can find a
               real-life application for such silliness.

yorkw@stable.ecn.purdue.edu (Willis F York) (01/10/91)

lkoop@pnet01.cts.com (Lamonte Koop) writes:


>Not necessarily.  You will only run into having to have wait states if the
>memory being utilized is slower than the speed at which the processor needs it
>to come back.  For instance, FAST RAM on the A2000 (68000) is usually rated at
>120-100ns...this is perfectly fine for zero-wait state operation on that bus. 
>The processor is incapable of "asking for" the data any faster.  Putting 80ns
								  ^^^^^^^^^^^^
>memory here would be a waste of money, as the processor will not be able to

Kinda a "specific" question but my ADRAM board came with M514256A-80R
chips, the 80R means 80 ns (The R means ???) so the company i got the
chips from sent "faster" chips than what was needed right?, or perhaps
the ADRAM board needs faser chips because it'sa "Hack" replacing the A501.

Must i use more 80ns chips to upgrade. (I'm attempting to save $$)
What weirdness could happen it i used say 120ns chips might this cause 
problems.

It's my birthday so i want to get my board up to 4 meg..

oops this is getting more Hardware-Tech, talk.. Sorry.
C-ya
.






>access it any faster. [The processor/bus is running at a certain speed...it
>will not speed up for faster memory].  Now, if you were to put 200ns parts on
>a FAST RAM expansion board, you would have to put some wait states into that.
>>Does the "ROM" get copied to "RAM" and get run (Bad word) from there?
>>(I heard this and it "seems" silly)

>I think you are confusing something done on accelerators here.  On normal
>systems, the ROM code is run straight out of the ROM itself...no "copying to
>RAM" occurs.  On many accelerators, (ones with an MMU in place), it is
>possible to take an "image" of that ROM, copy it to a faster medium (32-bitr
>bus area...the accelerator's memory area), then use the MMU to translate
>address requests to where the ROM image originally was to it's new (hopefully
>faster) location.  THis is done to speed up the system ROM calls.  However,
>normally the ROM is simply accessed directly.

>>
>>What's so important about "Fastmemfirst" ? Does it prevent the
>>using up of "CHIP" befor "Other" memory is full? How does it do it?

>Memory on the Amiga is prioritized.  Now, normally CHIP RAM is given a
>priority on the system of -10.  This is to insure it is not used by programs
>requesting simply "I want a chunk of memory", and not saying "and it needs to
>be CHIP".  This helps prevent CHIP RAM from being used for things which do not
>need to be there.  Now, FastMemFirst is special.  On Amigas with 512K of CHIP
>RAM, the other 512K which make up the 1 meg std. complement is what is called
>"SLOW-FAST" RAM.  This is because, while the custom chips cannot use it, it is
>still subject to the bus contention for CHIP RAM I mentioned earlier, as it is
>in fact on that bus.  [When you upgrade to the 1-meg Agnus, this "SLOW-FAST"
>memory is what becomes the other 512K of CHIP RAM.]  FastMemFirst is useful if
>you have this "SLOW-
>FAST" memory, and also have true FAST memory on the system.  What it does is
>place your "SLOW-FAST" memory at the same -10 priority as CHIP RAM.  Since
>most true FAST RAM will default to a priority of 0, it places your true FAST
>RAM ahead of the CHIP and SLOW-FAST memory on the memory lists.  This is so
>programs which do not need to use CHIP RAM (and a program's actual CODE never
>does for the most part) will be placed in you FAST RAM, and run somewhat
>faster.  SLOW-FAST and CHIP will only be used when either requested
>specifically by a program, or when your FAST RAM is filled.


>                             LaMonte Koop
> Internet: lkoop@pnet01.cts.com         ARPA: crash!pnet01!lkoop@nosc.mil
>           UUCP: {hplabs!hp-sdd ucsd nosc}!crash!pnet01!lkoop
>  A scientist is one who finds interest in the kinetic energy of Jell-O
>   moving at ridiculous velocities...an engineer is one who can find a
>               real-life application for such silliness.
--
yorkw@ecn.purdue.edu  Willis F York    
----------------------------------------------
Macintosh... Proof that a Person can use a Computer all day and still
not know ANYTHING about computers. 

lkoop@pnet01.cts.com (Lamonte Koop) (01/11/91)

yorkw@stable.ecn.purdue.edu (Willis F York) writes:
>Kinda a "specific" question but my ADRAM board came with M514256A-80R
>chips, the 80R means 80 ns (The R means ???) so the company i got the
>chips from sent "faster" chips than what was needed right?, or perhaps
>the ADRAM board needs faser chips because it'sa "Hack" replacing the A501.

What probably happened is that when the board was manufactured they either had
extra 80ns parts around, or got a good bulk deal on them.  I'm not
specifically familiar with the AdRAM, but I don't see any reason why 80ns
parts would be _needed_ unless they were doing something bizarre. 

>
>Must i use more 80ns chips to upgrade. (I'm attempting to save $$)
>What weirdness could happen it i used say 120ns chips might this cause 
>problems.

I suggest you call ICD to find out exactly what they recommend.  It will
probably be in the 100-120ns range.  If the chips you use are too slow, the
board simply will not work.

>
>It's my birthday so i want to get my board up to 4 meg..
 
Happy birthday :^)

>yorkw@ecn.purdue.edu  Willis F York    
>----------------------------------------------
>Macintosh... Proof that a Person can use a Computer all day and still
>not know ANYTHING about computers. 



                             LaMonte Koop
 Internet: lkoop@pnet01.cts.com         ARPA: crash!pnet01!lkoop@nosc.mil
           UUCP: {hplabs!hp-sdd ucsd nosc}!crash!pnet01!lkoop
  A scientist is one who finds interest in the kinetic energy of Jell-O
   moving at ridiculous velocities...an engineer is one who can find a
               real-life application for such silliness.

steveh@tasman.cc.utas.edu.au (Steven Howell) (01/14/91)

	Hmmm. For someone of your intelligence, you certainly do have
the cheek to quote,

Macintosh... Proof that a person can use a computer all day and still not
know anything about computers,


	at the end of your posting!.


						Steve h

peterk@cbmger.UUCP (Peter Kittel GERMANY) (01/17/91)

In article <1436@tardis.Tymnet.COM> jms@tardis.Tymnet.COM (Joe Smith) writes:
>
>The term "Fast RAM" applies to both Autoconfig RAM and AddMem RAM.
>The Motorola 68000 CPU can access this RAM without interference from the
>custom chips.
>
>The term "Slow RAM" applies to both Chip RAM and "C0" RAM.  The CPU can only
>access this memory by going through Agnus.  If Agnus is busy, the CPU may
>be delayed by several wait states.  (Worst case, several hundred wait states.)
>
>>What's so important about "Fastmemfirst" ? Does it prevent the
>>using up of "CHIP" befor "Other" memory is full? How does it do it?
>
>Here's where "C0" RAM comes in.  Older A2000's and A500's with the A501
>memory expansion have 1 meg of memory connected to Agnus.  The first 512K
>is Chip RAM, where Agnus can do DMA (Direct Memory Access) to drive the
>video display and sound channels.  The second 512K is also connected to
>Agnus, but the DMA channels can't access it.  This second 512K has been
>called "Slow-Fast RAM"; "Slow" because the 68000 CPU has to go through
>Agnus to get to it, "Fast" because it can't be used like Chip RAM.

Well, obviously time to tell another anecdote from the old days.
You know we in Germany had first the A2000-A which differed from
the later B version in that the second 512 K RAM resided on an own
little expansion board sitting in the CPU slot. And yes, this was
*real* Fast RAM. Now, then came the new A2000-B models. After a
few days we got complaints from dealers and customers that there
was something wrong with these machines: They were only half as
fast as the old ones! Something was totally wrong! We checked this
out and verified that immense speed difference. We were just about
to stop shipping, causing big terror in the sales department,
when someone told us what was going on: These new machines had 
the above explained "slow-fast RAM", and with the speed test
programs we used, this resulted in a speed decrease to the half.
So it was not a bug, but normal performance :-(
Morale: If you want to do something good to your Amiga, buy him 
some (or much) real Fast RAM and be delighted by the speed gain.

-- 
Best regards, Dr. Peter Kittel  // E-Mail to  \\  Only my personal opinions... 
Commodore Frankfurt, Germany  \X/ {uunet|pyramid|rutgers}!cbmvax!cbmger!peterk

daveh@cbmvax.commodore.com (Dave Haynie) (01/18/91)

In article <762@cbmger.UUCP> peterk@cbmger.UUCP (Peter Kittel GERMANY) writes:
>In article <1436@tardis.Tymnet.COM> jms@tardis.Tymnet.COM (Joe Smith) writes:

>>The term "Fast RAM" applies to both Autoconfig RAM and AddMem RAM.
>>The Motorola 68000 CPU can access this RAM without interference from the
>>custom chips.

>>The term "Slow RAM" applies to both Chip RAM and "C0" RAM.  The CPU can only
>>access this memory by going through Agnus.  If Agnus is busy, the CPU may
>>be delayed by several wait states.  (Worst case, several hundred wait states.)

>We checked this out and verified that immense speed difference. We were just 
>about to stop shipping, causing big terror in the sales department, when 
>someone told us what was going on: These new machines had the above explained
>slow-fast RAM", and with the speed test programs we used, this resulted in a 
>speed decrease to the half.  So it was not a bug, but normal performance :-(

Just to make a point about the system architecture here.  With the normal
1.3 Workbench up on the screen, Chip RAM is basically the same speed as Fast
RAM (on a 68000 system), assuming no crazy blitter or copper activity is
taking place.  With just up to two bitplanes in use (or up to four in lores),
video fetching takes place entirely during the Chip half of the memory cycle,
leaving nearly all the CPU slots for the CPU.  There are occasional copper
fetches in CPU time, but everything else is during Chip time.  Now add a 
bitplane.  All of a sudden, the Chip bus performance, from the CPU's point of
view, drops nearly in half, because video fetch is now taking every other
CPU cycle (except during horizontal and vertical retrace).  Going to four
bitplane, or the equivalent, and the CPU only gets into the Chip bus during
the retraces, which makes your preformance drop way down there.  And of course,
available retrace time goes down as you add in overscan.

The moral of this story is that the $00C00000 memory will be about as fast as
Fast memory in the best case, and real bad in the worst case.  If you're doing
any kind of four bitplane hires with overscan work, you better have Fast memory
or you aren't likely to get any work done.

>Morale: If you want to do something good to your Amiga, buy him 
>some (or much) real Fast RAM and be delighted by the speed gain.

And realize that the speed increase isn't just for CPU, but disk and just
about anything else as well.  Especially with the advent of 3 and 4 bitplane
Workbench screens or 2 bitplane VGA-Compatible (productivity) modes with 2.0
and ECS, Fast memory is real important.  All Zorro II Fast memory is 
virtually identical in terms of speed (there may be small differences between
vendors, perhaps measurable but insignificant, at least if the designs are
any good at all).  You don't generally have a choice with 32 bit Fast memory,
since for the most part each A2000 Coprocessor board, as well as the A3000
motherboard, has its own 32 bit memory design.  It's not all that easy to 
build the best possible Zorro III memory board, so if such things ever show
up, they'll be nearly as different in various performance issues as Zorro II
hard disk adaptors are now.  Of course, with up to 16MB of built-in 32 bit
Fast memory, Zorro III memory boards are much less of an issue.  

Hardware hackers may be interested in learning that there's a completely 
working Zorro III memory design documented in the Atlanta DevCon notes.  It's
not the best possible design, but rather something I cooked up in about a 
week.  But it definitely works, and if you recently upgraded from an A1000
and miss the LUCAS/FRANCES things of that generation, this might be something
to look into.

>Best regards, Dr. Peter Kittel  // E-Mail to  \\  Only my personal opinions... 
>Commodore Frankfurt, Germany  \X/ {uunet|pyramid|rutgers}!cbmvax!cbmger!peterk


-- 
Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
	"Don't worry, 'bout a thing. 'Cause every little thing, 
	 gonna be alright"		-Bob Marley