Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
To: Odenthal@AnySIM.de
From: theo@marketto.demon.co.uk (Theo Markettos)
Subject: Re: PC card upgrade
Reply-To: atm26@cam.ac.uk
In-Reply-To: <3700F047.1724@AnySIM.de>
Date: Sat, 03 Apr 1999 17:29:19 +0100
Message-ID: <19990403.172919.33@marketto.demon.co.uk>
X-Mailer: TTFN version 0.43 (Acorn RISC OS)
X-Editor: Zap, using ZapEmail 0.22 (08 Oct 1998)
X-Posting-Agent: RISC OS Newsbase 0.60m
On Tue, 30 Mar 1999 17:39:51 +0200, Odenthal@AnySIM.de said:
> Hello,
> i have a Gemini 2 card with an IBM (= Cyrix ?) 5x86 processor running
> at 100 MHz. I want to upgrade it with an AMD 5x86 processor (133 MHz).
> Do you know if i can simply pull out the IBM cpu and put in the AMD or
> do i have to change something, e.g. the clock generator ? Currently
> there is a 33 MHz generator on the card and i think the IBM cpu
> internally multiplies the clock with 3 (does the AMD multiply with 4 ?)
I haven't had any experience with the later Gemini 2 cards that have socketed
processors. However, there are 3 main things you need to worry about:
1) CPU core voltage. Most CPUs from the 486DX4 onwards don't run off 5V, but
use some lower voltage to reduce heating. The 5x86-133 has a 3.3V core, so
needs to be supplied with this voltage. My Gemini 1 card doesn't support
3.3V CPUs, so it needed a voltage adaptor between the CPU and the card. I
don't know whether newer cards will support 3.3V as standard - do you know
whether the IBM 5x86-100 requires 3.3V? (in which case the board will support
it). In any case, only the main supply voltage is of concern here, since all
5x86 CPUs are able to talk to a 5V bus (as provided by the Risc PC and
Gemini), even if they are supplied by a lower voltage.
2) Clock multiplier. As you say there is a 33MHz oscillator on board. This
is multiplied internally by the CPU, but the factor is controlled by pins on
the CPU. I suspect that most likely these pins are brought out to jumpers on
the card (see the card manual for this), but might need tweaking to set the
rate. In my case, they are brought out to jumpers on the voltage adaptor,
which makes life easier. The 5x86-133 is designed to optimally run off up to
a 33MHz bus, so yes it will multiply by 4, although you can clock it back
depending on the bus speed (ie with a 40MHz bus it should use a multiplier of
3 to get 120MHz).
3) Write-through/write-back caches. These control how data is written to
memory using the slow Open Bus. If you can, try to use write back, as this
saves quite a large number of bus accesses. On a 5x86, this choice is
controlled by a pin on the CPU, which on Acorn cards is driven by the Gemini
2. In the case of Gemini 1 cards, AIUI this pin is not implemented in the
Gemini, so it needs to be hardwired. Therefore for Gemini 2 cards it should
just require setting in PCConfig.
If you check the clock multiplier jumpers and core voltage, you should just
be able to swap your 100MHz CPU for a 133MHz without any hacking. A look at
the datasheets for both CPUs helps in this respect.
> I have read that your card is running at 160 MHz. What have you done to
> achieve this, have you over-clocked your AMD 133 by replacing the clock
> generator ? I suppose in this case the cpu really needs a fan ? Have
> you ever had problems with crashes ?
In my case, with a 486SXL33 card, the CPU is driven with a 66MHz clock, which
is internally halved within the CPU. To make this suitable to drive a faster
CPU, it needs to be reduced to 33MHz either by dividing it by 2 using
external components, or by disconnecting the 66MHz oscillator and putting a
33MHz one in its place. Since I was doing my upgrade with components I had
to hand at the time, I had neither a 74AC74 (to do the division) nor a 33MHz
oscillator. I did however have a 40MHz oscillator, so that I what I used
instead, which gives the CPU a 40MHz external bus and internally clocks it at
160MHz. If you want to do it, you'll have to disconnect the 33MHz oscillator
and patch in a 40MHz oscillator in it's place (electrically if not
physically). The 586 was set to a multiplier of 4, giving a 160MHz core.
I should perhaps say that I have heard that while this increases the speed of
the CPU core, bus accesses may actually slow down. I think this is something
to do with the 33MHz clock being close to a multiple of the 16MHz system bus
speed, while 40MHz isn't. I'll try testing this at some point.
At either 133 or 160MHz the CPU needs a fan. At 160, it gets very hot with
just a heatsink, and refuses to boot at all after the machine has been up for
10 minutes or so. I used to run it with a small 486 fan (about 40mm square),
but this recently died, so I've put a socket 7 fan (about 60mm square) on the
486 heatsink. I did notice crashes with the old fan, especially in warm
weather or with the case lid on (there is next to no ventilation around the
processor slots). Without the lid on and in winter it seems to be fine,
although Win95 seems to be rather flakey when the CPU is being worked rather
hard (such as playing MP3s). That could just be 95 or PC cards generally, as
it seems to happen on other PC cards. I've been running it with the lid off
for about a week solidly with the new fan, doing RC5 using both ARM and 5x86,
and it hasn't crashed as far as I could tell.
As a speed guide, my card gets about 60 kkeys/sec at RC5, which doesn't vary
by too much depending on the OS (DOS gets about 10% more than Win95). I
don't know how this compares with other cards, but this was with my 160MHz
Gemini 1 card with 128K secondary cache in an ARM610 machine. If you have
any figures for your card I'd be interested to hear them.
Hope this helps,
Theo
--
Theo Markettos atm26@cam.ac.uk, theo@marketto.demon.co.uk
Liphook
Hampshire Web site, including Acorn backup software
UK http://www.marketto.demon.co.uk/