I can't get L2 cache work in this motherboard with a am5x86 CPU and I have no clue why is that, L2 works perfectly fine with am486DX4. I have compared both of these CPUs pinouts and according to the datasheets - both are identical in pinout 😕 Has anyone dealt with this problem before?
the motherboard may require a bios update, remember that the "L2" cache on 486 motherboards is on the motherboard, the processor has nothing to do here
I actually have the exact same problem right now. Did you happen to find any clue about this issue?
Not yet, I had to postpone researth on this matter. This motherboard uses a UMC UM82C482/UM82C481/UM82C206F chipset. I believe L2 not being detected issue is more chipset related than BIOS. I have another MB with exact same chipset, I'll test it too, some time later.
mine is UC4914-G using a um82c491f it detects l2 on a overdrive dx4 100 but not amd 5x86 133 they both have 16k L1 so I don't think its a larger L1 size the problem
Am5x86 133 won't recognise L2 cache. FYI Pentium Overdrive 83Mhz also does not recognise L2 cache (but these are known to have cache comapitibility problems). I have set cache jumpers for 64k, 128k and 256k and it made no difference. Cache chips are Winbond 15ns x 8 and one 10ns (TAG). DX-33, DX2-66 and DX2-80 detect the L2.
BIOS is "IPEX ITG IPX-UM-486IV6201 04/08/1993"
AMI BIOS string "40-0100-001131-00101111-111192-UMC480-H"
I have an EPROM reader and UV eraser. I can provide a copy of the AMI BIOS if this can be modified by someone more intelligent than me?
I actually have the exact same problem right now. Did you happen to find any clue about this issue?
Not yet, I had to postpone researth on this matter. This motherboard uses a UMC UM82C482/UM82C481/UM82C206F chipset. I believe L2 not being detected issue is more chipset related than BIOS. I have another MB with exact same chipset, I'll test it too, some time later.
Hi SSTV2, did you get a chance to test with your other motherboard with same chipset? If yes, what was the outcome?
I did some further testing and I reduced the bus speed to 20mhz and ran the processor at 80mhz and 60mhz. But still the L2 cache won't detect.
both motherboards were tested thoroughly (UM486V and GA-486VM), but neither could detect L2 cache with a 5x86 CPU inserted. I had tried all possible BIOS settings and jumper configurations, related to L2 cache, but nothing could make it work, even tried various BIOS images from chipset-compatible motherboards, including one MRBIOS image - no go. I think this issue is related to the outdated chipset (in relation to 5x86), the UM82C480 was introduced in 1991 for 386/early 486 CPUs, so some incompatibilty can be expected with its cache controller. By the way, this chipset doesn't support WB cache mode, better stick with a PCI supporting chipset, if you wish to max out the performance of a 5x86.
Sorry for the delayed reply, after the forum UI update, I rarely browse here.
Many thanks for your assistance SSTV2. I managed to get my Am5x86 running at 150mhz using 3 x 50mhz. So this somewhat compensates for the lack of L2. It is definitely faster than an dx2-80 with 256kb l2 enabled. Now just need a VLB IDE card capable of running at 50MHz for some extra performance.
After the am5x86 CPU upgrade in the PCI 486 system with a more stable one, I had the old one lying around unused for a while, so I decided to take another look at the am5x86 and UM82C480 chipset incompatibility problem with the L2 cache.
My previous assumption, that the chipset is the main cause of this incompatibility - is wrong, it's indeed the outdated BIOS that does not enable L2 cache with the said CPU, intel DX4 ODPR and P24T (as seen here @pshipkov) are also affected. I found three different AMI BIOS versions for this ECS UM486V motherboard and all of them are built on 11/11/92 core, latest one being ver. 2.2 with the date code of 11/19/93, unfortunately, it's no different than the previous two versions regarding the L2 cache detection.
I tried tricking the BIOS into seeing all 486 CPUs as 486 DX2 in the POST summary screen, by changing one mask byte from B3 to B6 (found @32Dh of all the ECS 11/11/92 core versions) in the CPU detection routine, but that didn't help, routine's task seems to be just visual. Level 2 cache is enabled/disabled long before the POST summary screen appears.
Eventually I stopped experimenting with the original BIOS because I didn't know exactly what to look for and it didn't help that I had to rewrite the BIOS every time I made changes. Emulators didn't help here either, because they don't properly emulate the cache operation.
Now for the good news. The UM82C480 chipset can indeed work with an am5x86 and L2 cache enabled, I was able to find two BIOS images that properly detected L2 cache, one was from MRBIOS, the other from Phoenix. The previous MRBIOS image I tried was version 1.44 and the new one is version 1.65.
Speedsys results, am5x86 @ 163MHz in 3x mode:
The attachment 163MHz.png is no longer available
Here are some more interesting snippets of the disassembled AMI BIOS, in case anyone decides to find out exactly why the L2 cache doesn't work with the newer CPUs. Disassembled by IDA 6.1, AMI BIOS of GA-486VM, core 11/11/92.
1CPU type detection routine: 2 3F000:442C ; =============== S U B R O U T I N E ======================================= 4F000:442C 5F000:442C 6F000:442C sub_F442C proc near ; CODE XREF: sub_F4265+Cp CHECK IF 286 CLASS CPU 7F000:442C pushf 8F000:442D cli 9F000:442E mov ax, 0F000h 10F000:4431 push ax 11F000:4432 popf 12F000:4433 pushf 13F000:4434 pop ax 14F000:4435 and ah, 0F0h 15F000:4438 mov si, 475Eh 16F000:443B jz short loc_F449E ;CALL sub_F4248 STRING DISPLAY 17F000:443D smsw ax 18F000:4440 or ah, ah 19F000:4442 jz short loc_F4474 20F000:4444 21F000:4444 loc_F4444: ; CODE XREF: sub_F442C+4Fj CHECK IF 386 CLASS CPU 22F000:4444 push ax 23F000:4445 mov eax, cr0 24F000:4448 push eax 25F000:444A and al, 0EFh 26F000:444C mov cr0, eax 27F000:444F mov eax, cr0 28F000:4452 test al, 10h 29F000:4454 pop eax 30F000:4456 mov cr0, eax 31F000:4459 pop ax 32F000:445A mov si, 473Eh 33F000:445D jnz short loc_F4468 34F000:445F or ah, ah 35F000:4461 jnz short loc_F449C ;MOV AH FFH, THEN CALL sub_F4248 STRING DISPLAY 36F000:4463 mov si, 477Eh 37F000:4466 jmp short loc_F449C ;MOV AH FFH, THEN CALL sub_F4248 STRING DISPLAY 38F000:4468 ; --------------------------------------------------------------------------- 39F000:4468 40F000:4468 loc_F4468: ; CODE XREF: sub_F442C+31j 41F000:4468 mov si, 474Eh 42F000:446B or ah, ah 43F000:446D jnz short loc_F449C ;MOV FF TO AH, THEN CALL sub_F4248 STRING DISPLAY 44F000:446F mov si, 476Eh 45F000:4472 jmp short loc_F449C ;MOV FF TO AH, THEN CALL sub_F4248 STRING DISPLAY 46F000:4474 ; --------------------------------------------------------------------------- 47F000:4474 48F000:4474 loc_F4474: ; CODE XREF: sub_F442C+16j CHECK IF 486 CLASS CPU 49F000:4474 mov al, 0B3h ; '¦' 50F000:4476 call sub_FEE94 51F000:4479 test al, 4 ; B3 AND 4 = 0 52F000:447B jnz short loc_F4444 ; IF NOT 0, MUST BE A 386 53F000:447D test al, 2 ; B3 AND 2 = 2 54F000:447F mov si, 470Eh ; "80486DX2" STRING 55F000:4482 jnz short loc_F449C ;MOV FF TO AH, THEN CALL sub_F4248 STRING DISPLAY 56F000:4484 int 11h ; EQUIPMENT DETERMINATION 57F000:4484 ; Return: AX = equipment flag bits 58F000:4486 test al, 2 59F000:4488 mov si, 471Eh ; "486DX or 487SX" STRING 60F000:448B jnz short loc_F449C ;MOV FF TO AH, THEN CALL sub_F4248 STRING DISPLAY
…Show last 258 lines
61F000:448D mov al, cs:byte_FB5B5 62F000:4491 call sub_F8300 63F000:4494 mov si, 46FEh ; "80486" STRING 64F000:4497 jz short loc_F449C ;MOV FF TO AH, THEN CALL sub_F4248 STRING DISPLAY 65F000:4499 mov si, 472Eh ; "80486SX" STRING 66F000:449C 67F000:449C loc_F449C: ; CODE XREF: sub_F442C+35j 68F000:449C ; sub_F442C+3Aj ... 69F000:449C mov ah, 0FFh 70F000:449E 71F000:449E loc_F449E: ; CODE XREF: sub_F442C+Fj 72F000:449E call sub_F4248 73F000:44A1 popf 74F000:44A2 retn 75F000:44A2 sub_F442C endp 76 77 78Strings at the summary screen: 79 80F000:19B0 db 10h 81F000:19B1 db 14h 82F000:19B2 db 19h 83F000:19B3 db 21h ; ! 84F000:19B4 db 28h ; ( 85F000:19B5 db 32h ; 2 86F000:19B6 db 42h ; B 87F000:19B7 db 50h ; P 88F000:19B8 db 4Dh ; M 89F000:19B9 db 48h ; H 90F000:19BA db 7Ah ; z 91F000:19BB db 20h 92F000:19BC db 43h ; C 93F000:19BD db 50h ; P 94F000:19BE db 55h ; U 95F000:19BF db 20h 96F000:19C0 db 43h ; C 97F000:19C1 db 6Ch ; l 98F000:19C2 db 6Fh ; o 99F000:19C3 db 63h ; c 100F000:19C4 db 6Bh ; k 101F000:19C5 db 0Dh 102F000:19C6 db 0Ah 103F000:19C7 db 0 104F000:19C8 db 4Dh ; M 105F000:19C9 db 48h ; H 106F000:19CA db 7Ah ; z 107F000:19CB db 20h 108F000:19CC db 44h ; D 109F000:19CD db 58h ; X 110F000:19CE db 32h ; 2 111F000:19CF db 20h 112F000:19D0 db 43h ; C 113F000:19D1 db 50h ; P 114F000:19D2 db 55h ; U 115F000:19D3 db 20h 116F000:19D4 db 0Dh 117F000:19D5 db 0Ah 118F000:19D6 db 0 119F000:19D7 db 4Bh ; K 120F000:19D8 db 42h ; B 121F000:19D9 db 20h 122F000:19DA db 43h ; C 123F000:19DB db 41h ; A 124F000:19DC db 43h ; C 125F000:19DD db 48h ; H 126F000:19DE db 45h ; E 127F000:19DF db 20h 128F000:19E0 db 4Dh ; M 129F000:19E1 db 45h ; E 130F000:19E2 db 4Dh ; M 131F000:19E3 db 4Fh ; O 132F000:19E4 db 52h ; R 133F000:19E5 db 59h ; Y 134F000:19E6 db 0Dh 135F000:19E7 db 0Ah 136F000:19E8 db 0 137F000:19E9 db 0 138F000:19EA db 0 139F000:19EB db 4 140F000:19EC db 10h 141F000:19ED db 0 142F000:19EE db 2 143F000:19EF db 18h 144F000:19F0 db 0 145F000:19F1 db 1 146F000:19F2 db 1Ch 147F000:19F3 db 80h ; Ç 148F000:19F4 db 0 149F000:19F5 db 1Eh 150F000:19F6 db 40h ; @ 151F000:19F7 db 0 152F000:19F8 db 1Fh 153F000:19F9 db 20h 154F000:19FA db 0 155F000:19FB db 0FFh 156F000:19FC 157F000:19FC ; =============== S U B R O U T I N E ======================================= 158F000:19FC 159F000:19FC 160F000:19FC sub_F19FC proc near ; CODE XREF: sub_F4234+9p 161F000:19FC mov ax, cs:word_F82E6 162F000:1A00 call ax 163F000:1A02 mov al, 92h ; 'Æ' 164F000:1A04 call sub_F8DBA 165F000:1A07 test al, 1 166F000:1A09 jz short loc_F1A2C 167F000:1A0B mov al, 93h ; 'ô' 168F000:1A0D call sub_F8DBA 169F000:1A10 and al, 1Fh 170F000:1A12 mov bl, al 171F000:1A14 mov si, 19E9h 172F000:1A17 173F000:1A17 loc_F1A17: ; CODE XREF: sub_F19FC+25j 174F000:1A17 lods byte ptr cs:[si] 175F000:1A19 cmp al, 0FFh 176F000:1A1B jz short loc_F1A7F 177F000:1A1D cmp al, bl 178F000:1A1F lods word ptr cs:[si] 179F000:1A21 jnz short loc_F1A17 180F000:1A23 call loc_F09FD 181F000:1A26 mov si, 19D7h 182F000:1A29 call sub_FF52E 183F000:1A2C 184F000:1A2C loc_F1A2C: ; CODE XREF: sub_F19FC+Dj 185F000:1A2C ; sub_F19FC+86j 186F000:1A2C call sub_F2C27 187F000:1A2F jz short locret_F1A7E 188F000:1A31 mov ax, 0B3B3h 189F000:1A34 call sub_FEE94 190F000:1A37 test al, 2 191F000:1A39 jz short loc_F1A5E 192F000:1A3B mov ax, 0B3B3h 193F000:1A3E call sub_FEE94 194F000:1A41 and al, 70h 195F000:1A43 shr al, 4 196F000:1A46 xor ah, ah 197F000:1A48 mov si, 19B0h 198F000:1A4B add si, ax 199F000:1A4D mov al, cs:[si] 200F000:1A50 xor ah, ah 201F000:1A52 call loc_F09FD 202F000:1A55 mov si, 19C8h 203F000:1A58 call sub_FF52E 204F000:1A5B jmp short locret_F1A7E 205F000:1A5B ; --------------------------------------------------------------------------- 206F000:1A5D db 90h ; É 207F000:1A5E ; --------------------------------------------------------------------------- 208F000:1A5E 209F000:1A5E loc_F1A5E: ; CODE XREF: sub_F19FC+3Dj 210F000:1A5E mov ax, 0B3B3h 211F000:1A61 call sub_FEE94 212F000:1A64 and al, 70h 213F000:1A66 shr al, 4 214F000:1A69 xor ah, ah 215F000:1A6B mov si, 19B0h 216F000:1A6E add si, ax 217F000:1A70 mov al, cs:[si] 218F000:1A73 xor ah, ah 219F000:1A75 call loc_F09FD 220F000:1A78 mov si, 19B8h 221F000:1A7B call sub_FF52E 222F000:1A7E 223F000:1A7E locret_F1A7E: ; CODE XREF: sub_F19FC+33j 224F000:1A7E ; sub_F19FC+5Fj 225F000:1A7E retn 226F000:1A7F ; --------------------------------------------------------------------------- 227F000:1A7F 228F000:1A7F loc_F1A7F: ; CODE XREF: sub_F19FC+1Fj 229F000:1A7F call sub_F8D72 230F000:1A82 jmp short loc_F1A2C 231F000:1A82 sub_F19FC endp 232 233 234Cache (internal?) enabling/disabling: 235 236F000:8C42 loc_F8C42: ; CODE XREF: sub_F8B87+B5j 237F000:8C42 mov eax, cr0 238F000:8C45 and eax, 9FFFFFFFh 239F000:8C4B mov cr0, eax 240F000:8C4E cli 241F000:8C4F mov eax, cr0 242F000:8C52 or eax, 40000000h 243F000:8C58 mov cr0, eax 244F000:8C5B mov ax, 14C0h 245F000:8C5E out 22h, al 246F000:8C60 jcxz short $+2 247F000:8C62 jcxz short $+2 248F000:8C64 xchg ah, al 249F000:8C66 out 23h, al 250F000:8C68 jcxz short $+2 251F000:8C6A jcxz short $+2 252F000:8C6C mov ax, 0AC5h 253F000:8C6F out 22h, al 254F000:8C71 jcxz short $+2 255F000:8C73 jcxz short $+2 256F000:8C75 xchg ah, al 257F000:8C77 out 23h, al 258F000:8C79 jcxz short $+2 259F000:8C7B jcxz short $+2 260F000:8C7D mov ax, 6C6h 261F000:8C80 out 22h, al 262F000:8C82 jcxz short $+2 263F000:8C84 jcxz short $+2 264F000:8C86 xchg ah, al 265F000:8C88 out 23h, al 266F000:8C8A jcxz short $+2 267F000:8C8C jcxz short $+2 268F000:8C8E mov ax, 0CC8h 269F000:8C91 out 22h, al 270F000:8C93 jcxz short $+2 271F000:8C95 jcxz short $+2 272F000:8C97 xchg ah, al 273F000:8C99 out 23h, al 274F000:8C9B jcxz short $+2 275F000:8C9D jcxz short $+2 276F000:8C9F mov ax, 7C9h 277F000:8CA2 out 22h, al 278F000:8CA4 jcxz short $+2 279F000:8CA6 jcxz short $+2 280F000:8CA8 xchg ah, al 281F000:8CAA out 23h, al 282F000:8CAC jcxz short $+2 283F000:8CAE jcxz short $+2 284F000:8CB0 mov ax, 0CBh ; '-' 285F000:8CB3 out 22h, al 286F000:8CB5 jcxz short $+2 287F000:8CB7 jcxz short $+2 288F000:8CB9 xchg ah, al 289F000:8CBB out 23h, al 290F000:8CBD jcxz short $+2 291F000:8CBF jcxz short $+2 292F000:8CC1 mov ax, 0CCh ; '¦' 293F000:8CC4 out 22h, al 294F000:8CC6 jcxz short $+2 295F000:8CC8 jcxz short $+2 296F000:8CCA xchg ah, al 297F000:8CCC out 23h, al 298F000:8CCE mov ax, 0CEh ; '+' 299F000:8CD1 out 22h, al 300F000:8CD3 jcxz short $+2 301F000:8CD5 jcxz short $+2 302F000:8CD7 xchg ah, al 303F000:8CD9 out 23h, al 304F000:8CDB jcxz short $+2 305F000:8CDD jcxz short $+2 306F000:8CDF mov ax, 0CFh ; '-' 307F000:8CE2 out 22h, al 308F000:8CE4 jcxz short $+2 309F000:8CE6 jcxz short $+2 310F000:8CE8 xchg ah, al 311F000:8CEA out 23h, al 312F000:8CEC mov eax, cr0 313F000:8CEF and eax, 9FFFFFFFh 314F000:8CF5 mov cr0, eax 315F000:8CF8 316F000:8CF8 loc_F8CF8: ; CODE XREF: sub_F8B87:loc_F8C3Fj 317F000:8CF8 jmp di 318F000:8CF8 sub_F8B87 endp
Older MRBIOS:
The attachment UMC481-MR_V1.44.zip is no longer available