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/