10/22/99 750 L2 cache test results DINK32_ARTHUR >>dl -k Download from Keyboard Port 222 lines received. Download complete. DINK32_ARTHUR >>go 90000 Performance Monitor or L2 Cache test programs Initialize the bats and HID0 Begin Test Which PowerPC processor: 750 or 7400? 750 You chose: 750 The MPC750 interposer has Half Megabyte of L2 Cache Specify start and end address range. Range must be at least twice the size of the L2 cache start_addr is: 100000 end_addr is: 200000 Which test: 1. Performance Monitor test, 2. L2 cache test 2You chose test: 2 Step 1: Initialize L2 Step 1 part 1: Set L2CR[DO] and L2CR[TS] and global invalidate Step 1 part 2: L1 D cache global invalidate, but do not turn it off Step 2: Enable L2 cache and test Step 2 part 1: dcbz and dcbf to initalize L2 cache and turn off L2CR[Ts] Step 2 part 2: leave L1 cache on and read/write patterns to L2 cache Begin Test as described on 9.1.5.2 in the 750 Users Manual Step 2 part 3: Use performance monitor to record hits and misses 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x9 - Write: Addr range: 0x100000..0x180000, pattern is 0xaaaaaaaa PMC1= 0x3f94 PMC2= 0x PMC3= 0x7b PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0xaaaaaaaa PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x55555555 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x55555555 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x1 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x1 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x2 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x2 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x4 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x4 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x8 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x8 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x10 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x10 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x20 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x20 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x40 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x40 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x80 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x80 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x100 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x100 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x200 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x200 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x400 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x400 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x800 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x800 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x1000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x1000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x2000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x2000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x4000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x4000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x8000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x8000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x10000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x10000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x20000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x20000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x40000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x40000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x80000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x80000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x100000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x100000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x200000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x200000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x400000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x400000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x800000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x800000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x1000000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x1000000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x2000000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x2000000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x4000000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x4000000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x8000000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x8000000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x10000000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x10000000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x20000000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x20000000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x40000000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x40000000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x6 - Write: Addr range: 0x100000..0x180000, pattern is 0x80000000 PMC1= 0x3f90 PMC2= 0x PMC3= 0x78 PMC4= 0x - Read: Addr range: 0x100000..0x180000, pattern is 0x80000000 PMC1= 0x3fb0 PMC2= 0x PMC3= 0x50 PMC4= 0x Mis-matched= 0x Step 3: L2 cache tag memory Step 3: part 1 already done above Step 3: part 2a,b,c already done above Step 3: part 2d and e: read/write outside of L2 set up range Write outside the L2 range, we should get misses 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x5 - Write: Addr range: 0x180000..0x181000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x87 PMC4= 0x - Read: Addr range: 0x180000..0x181000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x - Write: Addr range: 0x181000..0x182000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x80 PMC4= 0x - Read: Addr range: 0x181000..0x182000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x - Write: Addr range: 0x183000..0x184000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x80 PMC4= 0x - Read: Addr range: 0x183000..0x184000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x - Write: Addr range: 0x186000..0x187000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x80 PMC4= 0x - Read: Addr range: 0x186000..0x187000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x PMC4= 0x Mis-matched= 0x 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x, PMC3 0x - Write: Addr range: 0x18a000..0x18b000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x80 PMC4= 0x - Read: Addr range: 0x18a000..0x18b000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x PMC4= 0x Mis-matched= 0x Read outside the L2 range, we should get misses - Read: Addr range: 0x18a000..0x18b000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x PMC4= 0x Mis-matched= 0x - Read: Addr range: 0x18b000..0x18c000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x81 PMC4= 0x Mis-matched= 0x400 - Read: Addr range: 0x18d000..0x18e000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x81 PMC4= 0x Mis-matched= 0x400 - Read: Addr range: 0x190000..0x191000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x81 PMC4= 0x Mis-matched= 0x400 - Read: Addr range: 0x194000..0x195000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x81 PMC4= 0x Mis-matched= 0x400 Write/read to last read address, we should get hits 7-7-7-7: Values for this run will be:PMC1-PMC2-PMC3-PMC4 selector MMCR0 0x1c7, MMCR1 0x39c00000, PMC1 0x2, PMC3 0x - Write: Addr range: 0x194000..0x195000, pattern is 0x10101010 PMC1= 0x2 PMC2= 0x PMC3= 0x PMC4= 0x - Read: Addr range: 0x194000..0x195000, pattern is 0x10101010 PMC1= 0x PMC2= 0x PMC3= 0x PMC4= 0x Mis-matched= 0x Step 4: Not done by this test DINK32_ARTHUR >>