delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1992/08/21/10:08:32

Date: Fri, 21 Aug 92 06:46:47 PDT
From: dmp3592 AT icdfs DOT boeing DOT com (Dean M. Phillips)
To: djgpp AT sun DOT soe DOT clarkson DOT edu, ljo AT r2d2 DOT eeap DOT cwru DOT edu
Subject: Re: device memory access speed

Your observations concerning speed are not surprising and, in fact, to
be expected given the way that the expansion bus is implemented.

The ISA (Industry Standard Architecture) expansion bus is a 16 bit bus
carried forward from the IBM PC-AT (TM).  This bus is generally
designed for an effective clock rate of 10MHz.  In addition, there is
at least one extra set of bus buffers between the processor and the
memory on an expansion device (usually about 6nS propagation delay, if
I remember right).

The fact that it is a 16 bit channel means that a 'long' access
requires two 'short' accesses.  This is why your implementation using
long pointers made no difference.

The main RAM in your system is located on the motherboard.  It is
designed for high speed access.  Typical effective clock rates are on
the order of 20MHz (this due to the access time of the dynamic RAM plus
address decode time plus bus buffers, etc.).  In addition, it has a 32
bit data path.

Newer bus architectures (like micro channel and EISA) provide for a 32
bit data path to the expansion cards and higher speed operation.

My system suffers from the same "brain damage" that yours does.  It is
the price we pay to use standard expansion cards.
----------------------------------------------------------------------
#include <standard_disclaimer.h>
Dean M. Phillips                                        (206) 965-4477
Boeing Commercial Airplane Group              dmp3592 AT icdfs DOT boeing DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019