*BSD News Article 17898


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!convex!convex!convex!cs.utexas.edu!uunet!math.fu-berlin.de!dsmail.hmi.de!news
From: pfh@dsapp1.hmi.de (Frank Hoffmann)
Newsgroups: comp.os.386bsd.questions
Subject: Re: > 16 MB of RAM
Date: 2 Jul 1993 11:16:44 +0200
Organization: Hahn-Meitner-Institut Berlin
Lines: 33
Message-ID: <210uds$d3n@dsapp1.hmi.de>
References: <1993Jun30.184624.15579@leland.Stanford.EDU> <20ub8n$ngn@germany.eu.net> <20vaj1$8el@hrd769.brooks.af.mil> <210g8n$3pr@pdq.coe.montana.edu>
NNTP-Posting-Host: dsapp1.hmi.de

nate@bsd.coe.montana.edu (Nate Williams) writes:


>When you can't run more than 16MB of memory is when

>1) You have an ISA box - limits you to 24 data lines == 16MB

Wrong. The CPU doesn't use the ISA bus to access memory. 
If your board supports more than 16 MB , the CPU can use it. 
I have Linux on a 20 MB isa system, and I'm sure all the memory is used . 
 
>2) You use a disk controller that does DMA (Direct Memory Access)
>   (Most decent SCSI boards use DMA to get better performance, so
>    that is why SCSI comes up so often.  IDE drives do not, and
>    as such don't suffer from having more than 16MB, but also
>    don't have the same performance)

The bottleneck ist the ISA DMA chip, which can only address 16MB 
(24Bit Adresse ) . Memory above 16 MB can be used, but you have to 
use double-buffering : DMA transfer to a place below 16MB , then 
the CPU has to move the data to the desired place above 16MB .
Might be slow down the system, but it works ( a least with the Linux kernel..) 


	Frank 

 
 
-- 
######################################################
#  Frank Hoffmann (Hoffmann-f@vax.hmi.dbp.de)        # 
#  Hahn Meitner Institut Berlin                      # 
######################################################