psx.wiki
Log in
Main page
Hardware
Hardware tests
System software
SDKs
File formats
Games
Tools
History
All pages
page
view source
history
View source for CPU Access Time
← CPU Access Time
You do not have permission to edit this page.
Log in
to edit.
--- title: CPU Access Time type: test summary: Measures the CPU cycles that one load takes in each region of the memory map. category: Hardware tests info: Machine = SCPH-5501 info: Program = cpu/access-time (ps1-tests) --- ## Overview The program runs a loop of 100 turns twice: once with a NOP, decrement and branch, and once with a load added after the decrement. The difference between the two, divided by 100, is the time of one load in CPU cycles. It does this for byte, halfword and word loads at one address in each region of the [memory map](/hardware/memory-map/) and at several [I/O ports](/hardware/io-map/).[^src] SPUCNT at 1F801DAAh is not word aligned, so its word column uses an LWL and LWR pair. The program prints the hundredths after the point without a leading zero: "1.3" means 1.03 cycles and "5.15" means 5.15 cycles.[^src] ## Results The cycles per load were as follows. The figures are the whole cycles of the run of 25 September 2026; the hundredths moved by up to 0.5 between runs.[^run] Table: Load time by region (CPU cycles) | Region | Address | Byte | Halfword | Word | | --- | --- | --- | --- | --- | | RAM | 80000000h | 5 | 5 | 5 | | BIOS ROM | BFC00000h | 7 | 13 | 25 | | Scratchpad | 1F800000h | 1 | 1 | 1 | | Expansion 1 | 1F000000h | 7 | 13 | 25 | | Expansion 2 | 1F802000h | 11 | 26 | 56 | | Expansion 3 | 1FA00000h | 6 | 6 | 10 | | DMA control, JOY_STAT, SIO_STAT, RAM_SIZE, I_STAT, timer 0, GPUSTAT, MDEC status | 1F801044h to 1F801824h | 3 | 3 | 3 | | CD-ROM status | 1F801800h | 8 | 14 | 26 | | SPUCNT | 1F801DAAh | 18 | 18 | 39 | | Cache control | FFFE0130h | 1 | 1 | 1 | The BIOS ROM and Expansion 1 cost the same at each width. A halfword load there takes about twice the time of a byte load and a word load about four times. Expansion 2 is slower again at every width.[^run] A byte read of a CD-ROM register costs 8 cycles. A halfword costs 14 and a word 26, so each byte after the first adds 6 cycles. The SPU costs 18 cycles for a byte or halfword and 39 for the LWL and LWR pair.[^run] RAM loads measured between 5.15 and 5.47 cycles across the seven runs. In every other region each figure rounds to the same whole cycle in all seven runs.[^run] ## Runs ### 25 September 2026 [02ACC.txt](/tests/raw/20260925T0000Z-5501a-card-main/main/02ACC.txt) ``` ===== 02 ACC CPU ACCESS TIME | BIOS 19951204 System ROM Version 3.0 11/18/96 A cpu/access-time Test CPU access time to different parts of memory map. There are no assertions - please manually compare your results with provided psx.log. SEGMENT ( ADDRESS) 8bit 16bit 32bit (cpu cycles per bitsize) RAM (0x80000000) 5.15 5.12 5.19 BIOS (0xbfc00000) 7.0 13.0 25.1 SCRATCHPAD (0x1f800000) 1.14 1.3 0.96 EXPANSION1 (0x1f000000) 7.2 13.0 25.1 EXPANSION2 (0x1f802000) 11.13 26.6 56.1 EXPANSION3 (0x1fa00000) 6.10 6.0 9.90 DMAC_CTRL (0x1f8010f0) 3.6 3.3 2.96 JOY_STAT (0x1f801044) 3.6 3.1 2.91 SIO_STAT (0x1f801054) 3.6 3.8 2.94 RAM_SIZE (0x1f801060) 3.18 3.15 3.15 I_STAT (0x1f801070) 3.9 3.1 2.91 TIMER0_VAL (0x1f801100) 3.6 3.3 2.96 CDROM_STAT (0x1f801800) 8.4 14.0 26.1 GPUSTAT (0x1f801814) 3.12 3.3 2.96 MDECSTAT (0x1f801824) 3.6 3.3 2.96 SPUCNT (0x1f801daa) 18.4 18.6 39.7 CACHECTRL (0xfffe0130) 1.14 1.3 0.96 Done. ``` ### 27 September 2026 [02ACC.txt](/tests/raw/20260927T0000Z-5501a-card-1/main/02ACC.txt) ``` ===== 02 ACC CPU ACCESS TIME | BIOS 19951204 System ROM Version 3.0 11/18/96 A cpu/access-time Test CPU access time to different parts of memory map. There are no assertions - please manually compare your results with provided psx.log. SEGMENT ( ADDRESS) 8bit 16bit 32bit (cpu cycles per bitsize) RAM (0x80000000) 5.18 5.23 5.32 BIOS (0xbfc00000) 7.1 13.1 25.1 SCRATCHPAD (0x1f800000) 1.2 1.2 1.2 EXPANSION1 (0x1f000000) 7.1 13.1 25.1 EXPANSION2 (0x1f802000) 11.1 26.1 56.1 EXPANSION3 (0x1fa00000) 6.1 6.1 10.1 DMAC_CTRL (0x1f8010f0) 3.2 3.2 3.2 JOY_STAT (0x1f801044) 3.2 3.2 3.2 SIO_STAT (0x1f801054) 3.2 3.2 3.2 RAM_SIZE (0x1f801060) 3.15 3.12 3.13 I_STAT (0x1f801070) 3.2 3.2 3.2 TIMER0_VAL (0x1f801100) 3.2 3.2 3.2 CDROM_STAT (0x1f801800) 8.1 14.1 26.1 GPUSTAT (0x1f801814) 3.2 3.2 3.2 MDECSTAT (0x1f801824) 3.2 3.2 3.2 SPUCNT (0x1f801daa) 18.1 18.1 39.19 CACHECTRL (0xfffe0130) 1.2 1.2 1.2 Done. ``` ### 27 September 2026 run 2 [02ACC.txt](/tests/raw/20260927T0000Z-5501a-card-2/main/s024/02ACC.txt) ``` ===== 02 ACC CPU ACCESS TIME | BIOS 19951204 System ROM Version 3.0 11/18/96 A cpu/access-time Test CPU access time to different parts of memory map. There are no assertions - please manually compare your results with provided psx.log. SEGMENT ( ADDRESS) 8bit 16bit 32bit (cpu cycles per bitsize) RAM (0x80000000) 5.18 5.31 5.30 BIOS (0xbfc00000) 7.2 13.2 25.2 SCRATCHPAD (0x1f800000) 1.3 1.3 1.3 EXPANSION1 (0x1f000000) 7.2 13.2 25.2 EXPANSION2 (0x1f802000) 11.2 26.2 56.2 EXPANSION3 (0x1fa00000) 6.2 6.2 10.2 DMAC_CTRL (0x1f8010f0) 3.3 3.3 3.3 JOY_STAT (0x1f801044) 3.3 3.3 3.3 SIO_STAT (0x1f801054) 3.3 3.3 3.3 RAM_SIZE (0x1f801060) 3.17 3.13 3.18 I_STAT (0x1f801070) 3.3 3.3 3.3 TIMER0_VAL (0x1f801100) 3.3 3.3 3.3 CDROM_STAT (0x1f801800) 8.2 14.2 26.2 GPUSTAT (0x1f801814) 3.3 3.3 3.3 MDECSTAT (0x1f801824) 3.3 3.3 3.3 SPUCNT (0x1f801daa) 18.2 18.2 39.21 CACHECTRL (0xfffe0130) 1.3 1.3 1.3 Done. ``` ### 27 September 2026 run 3 [02ACC.txt](/tests/raw/20260927T0000Z-5501a-card-b/main/s034/02ACC.txt) ``` ===== 02 ACC CPU ACCESS TIME | BIOS 19951204 System ROM Version 3.0 11/18/96 A cpu/access-time Test CPU access time to different parts of memory map. There are no assertions - please manually compare your results with provided psx.log. SEGMENT ( ADDRESS) 8bit 16bit 32bit (cpu cycles per bitsize) RAM (0x80000000) 5.18 5.31 5.30 BIOS (0xbfc00000) 7.2 13.2 25.2 SCRATCHPAD (0x1f800000) 1.3 1.3 1.3 EXPANSION1 (0x1f000000) 7.2 13.2 25.2 EXPANSION2 (0x1f802000) 11.2 26.2 56.2 EXPANSION3 (0x1fa00000) 6.2 6.2 10.2 DMAC_CTRL (0x1f8010f0) 3.3 3.3 3.3 JOY_STAT (0x1f801044) 3.3 3.3 3.3 SIO_STAT (0x1f801054) 3.3 3.3 3.3 RAM_SIZE (0x1f801060) 3.17 3.13 3.18 I_STAT (0x1f801070) 3.3 3.3 3.3 TIMER0_VAL (0x1f801100) 3.3 3.3 3.3 CDROM_STAT (0x1f801800) 8.2 14.2 26.2 GPUSTAT (0x1f801814) 3.3 3.3 3.3 MDECSTAT (0x1f801824) 3.3 3.3 3.3 SPUCNT (0x1f801daa) 18.2 18.2 39.21 CACHECTRL (0xfffe0130) 1.3 1.3 1.3 Done. ``` ### 27 September 2026 run 4 [02ACC.txt](/tests/raw/20260927T0000Z-5501a-card-g/main/02ACC.txt) ``` ===== 02 ACC CPU ACCESS TIME | BIOS 19951204 System ROM Version 3.0 11/18/96 A cpu/access-time Test CPU access time to different parts of memory map. There are no assertions - please manually compare your results with provided psx.log. SEGMENT ( ADDRESS) 8bit 16bit 32bit (cpu cycles per bitsize) RAM (0x80000000) 5.18 5.31 5.30 BIOS (0xbfc00000) 7.2 13.2 25.2 SCRATCHPAD (0x1f800000) 1.3 1.3 1.3 EXPANSION1 (0x1f000000) 7.2 13.2 25.2 EXPANSION2 (0x1f802000) 11.2 26.2 56.2 EXPANSION3 (0x1fa00000) 6.2 6.2 10.2 DMAC_CTRL (0x1f8010f0) 3.3 3.3 3.3 JOY_STAT (0x1f801044) 3.3 3.3 3.3 SIO_STAT (0x1f801054) 3.3 3.3 3.3 RAM_SIZE (0x1f801060) 3.17 3.13 3.18 I_STAT (0x1f801070) 3.3 3.3 3.3 TIMER0_VAL (0x1f801100) 3.3 3.3 3.3 CDROM_STAT (0x1f801800) 8.2 14.2 26.2 GPUSTAT (0x1f801814) 3.3 3.3 3.3 MDECSTAT (0x1f801824) 3.3 3.3 3.3 SPUCNT (0x1f801daa) 18.2 18.2 39.21 CACHECTRL (0xfffe0130) 1.3 1.3 1.3 Done. ``` ### 27 September 2026 run 5 [02ACC.txt](/tests/raw/20260927T0000Z-5501a-card-g3/main/02ACC.txt) ``` ===== 02 ACC CPU ACCESS TIME | BIOS 19951204 System ROM Version 3.0 11/18/96 A cpu/access-time Test CPU access time to different parts of memory map. There are no assertions - please manually compare your results with provided psx.log. SEGMENT ( ADDRESS) 8bit 16bit 32bit (cpu cycles per bitsize) RAM (0x80000000) 5.29 5.44 5.40 BIOS (0xbfc00000) 7.6 13.6 25.6 SCRATCHPAD (0x1f800000) 1.7 1.8 1.7 EXPANSION1 (0x1f000000) 7.6 13.6 25.6 EXPANSION2 (0x1f802000) 11.6 26.6 56.6 EXPANSION3 (0x1fa00000) 6.6 6.6 10.6 DMAC_CTRL (0x1f8010f0) 3.7 3.7 3.7 JOY_STAT (0x1f801044) 3.7 3.7 3.7 SIO_STAT (0x1f801054) 3.7 3.7 3.7 RAM_SIZE (0x1f801060) 3.15 3.17 3.16 I_STAT (0x1f801070) 3.7 3.7 3.7 TIMER0_VAL (0x1f801100) 3.7 3.7 3.7 CDROM_STAT (0x1f801800) 8.8 14.6 26.6 GPUSTAT (0x1f801814) 3.7 3.7 3.7 MDECSTAT (0x1f801824) 3.7 3.7 3.7 SPUCNT (0x1f801daa) 18.6 18.6 39.25 CACHECTRL (0xfffe0130) 1.7 1.7 1.8 Done. ``` ### 28 September 2026 [02ACC.txt](/tests/raw/20260928T0000Z-5501a-card-h/main/02ACC.txt) ``` ===== 02 ACC CPU ACCESS TIME | BIOS 19951204 System ROM Version 3.0 11/18/96 A cpu/access-time Test CPU access time to different parts of memory map. There are no assertions - please manually compare your results with provided psx.log. SEGMENT ( ADDRESS) 8bit 16bit 32bit (cpu cycles per bitsize) RAM (0x80000000) 5.22 5.40 5.47 BIOS (0xbfc00000) 7.6 13.6 25.6 SCRATCHPAD (0x1f800000) 1.7 1.8 1.7 EXPANSION1 (0x1f000000) 7.6 13.6 25.6 EXPANSION2 (0x1f802000) 11.6 26.6 56.6 EXPANSION3 (0x1fa00000) 6.6 6.6 10.6 DMAC_CTRL (0x1f8010f0) 3.7 3.7 3.7 JOY_STAT (0x1f801044) 3.7 3.7 3.7 SIO_STAT (0x1f801054) 3.7 3.7 3.7 RAM_SIZE (0x1f801060) 3.15 3.17 3.16 I_STAT (0x1f801070) 3.7 3.7 3.7 TIMER0_VAL (0x1f801100) 3.7 3.7 3.7 CDROM_STAT (0x1f801800) 8.8 14.6 26.6 GPUSTAT (0x1f801814) 3.7 3.7 3.7 MDECSTAT (0x1f801824) 3.7 3.7 3.7 SPUCNT (0x1f801daa) 18.6 18.6 39.25 CACHECTRL (0xfffe0130) 1.7 1.7 1.8 Done. ``` ## References [^src]: ps1-tests, cpu/access-time. https://github.com/JaCzekanski/ps1-tests. [^run]: SCPH-5501 output: [main/02ACC.txt](/tests/raw/20260925T0000Z-5501a-card-main/main/02ACC.txt) and the files beside it, with the other runs listed under Runs.