8.1 Overview
The Input/Output (I/O) subsystem exists on most operating systems for three main reasons:
- to hide device-specific details in device drivers through which the operating system transfers data and control
- to provide an equal and safe access format to the devices, since most of them are shared resources
- to provide a consistent, uniform, and flexible interface to all devices, allowing programs to reference devices by name and perform high-level operations without knowing the device configuration.
Usually, the I/O software is structured in layers:
The interrupt handler is mainly responsible for starting up a device driver after an I/O operation completes. The device driver performs device-specific operations, such as setting up registers for DMA and checking device status. The device-independent system interface provides a uniform interface to user-level software and common I/O functions (that is, protection, blocking, buffering) that can be performed across different devices.
For the RCP, there are two modes of I/O operations:
- DMA provides a minimum of 64-bit transfer between the RDRAM and any of the devices
- IO provides a 32-bit transfer between the CPU and any of the devices
The RCP consists of the following major devices and interfaces (see Figure 8-1 below):
- Reality Signal Processor(RSP)
- This internal processor supports both DMA and I/O operations between RDRAM and I/Dmem addresses.
- Reality Display Processor(RDP)
- This internal processor supports only DMA from either RDRAM or Dmem addresses to its internal buffer.
- Video Interface(VI)
- This write-only interface connects to the video DAC. It supports only DMA from RDRAM to a specific video buffer address and allows you to change video modes and configurations.
- Audio Interface(AI)
- This write-only interface connects to the audio DAC. It supports only DMA from RDRAM to a specific audio buffer address and allows you to set the audio frequency.
- Parallel Interface(PI)
- This read-write interface connects to the ROM cartridge and other mass storage devices. It supports DMA as well as I/O Read/Write to ROM addresses.
- Serial Interface(SI)
- This read-write module interfaces to the PIF, which connects to the game controller and modem devices. It supports DMA as well as I/O Read/Write to PIF RAM addresses.
- Figure 8-1 Logical View of RCP Internal Major Devices and Interface Modules
-