Topic: CPU components
PSX CPU consists of the following components :
- R3000A core with bogus COP0 MMU
- 3 root counters (two of them can be connected to GPU pixel clock and HBLANK)
- Data cache configured as fast RAM ("scratch pad")
- Instruction cache (with "isolate" ability)
- Some weird and mysterious 0xFFFE0130 register
- RAS/CAS controller for CPU DRAM and Bus Unit to distribute memory access and DMA transfers
- Memory access timing registers (configured in BIOS)
- serial interface with SIO0 (controllers/memcards) and SIO1 (external port)
- parallel interface (for extra device on SBUS)
- DMA controller
- interrupt controller
- GTE as COP2 (fixed point math)
- MDEC (motion picture decompressor, again fixed point math)
The most complicated thing is Bus Unit (B/U), which handle complex task to grant access to various internal devices for two external buses : Sub-Bus and Main bus.
Sub-bus connects CPU with PSX SUB-system (CDROM decoder, SPU, BIOS and PIO). Main bus connects CPU with DRAM and GPU. All things are act together under PSX CPU Bus Unit sofisticated control.