-
Notifications
You must be signed in to change notification settings - Fork 0
IO Devices
Diogo Valadares Reis dos Santos edited this page Aug 26, 2025
·
4 revisions
Input/Output devices are external components that communicate through the processor's IO Bus and pads.
Currently, the simulation includes 8 IO devices and 3 memory devices. The following table provides a summary of the address ranges used for each device:
| Address Range | Device | Notes |
|---|---|---|
[0x00000000–0x00fffffc[ |
RAM | Stores instructions and data |
0x00fffffc |
Random Number Generator | Generates a random byte on each read |
0x00fffffd |
Switches | Provides one byte of binary input |
0x00fffffe |
Joystick | Provides 2D input with 4 bits per axis |
0x00ffffff |
Keyboard | Provides ASCII input |
[0x01000000–0x01100000[ |
Screen | Each address corresponds to a pixel on the screen |
[0x01100000–0x01100002[ |
Terminal | First byte receives ASCII characters; second byte clears the terminal |
[0x01100002–0x80000000[ |
Not Allocated | -- |
[0x80000000–0x81000000[ |
Trap Handler | ROM containing a special program to handle interrupts and exceptions |
[0x81000000–0x81000010[ |
Real-Time Device | Provides time and timer interrupt signals |
0x81000010 |
Software Interrupt Reg | Writable bit that triggers a software interrupt signal |
[0x81000011–0xff000000[ |
Not Allocated | -- |
[0xff000000–0xffffffff[ |
OS RAM | Secondary RAM used alongside the Trap Handler ROM |
The simulation allows users to add custom IO devices by removing existing ones or using unallocated address ranges.
-
- 1.1 Introduction
- 1.2 RISC-V Implementation
- 1.2.1 Available Instruction Set
- 1.2.2 Available Non-ISA Features
-
- 2.1 ALU
- 2.2 Register File
- 2.3 Program Counter
- 2.4 Input Buffer
- 2.5 RAM
- 2.6 Operation Controller
- 2.7 CSR Controller
-
- 3.1 Input Devices
- 3.1.1 Keyboard
- 3.1.2 Switches and Joystick
- 3.1.3 Random Number Generator
- 3.1.4 Real-Time Device
- 3.2 Output Devices
- 3.2.1 Screen
- 3.2.2 Terminal
- 3.2.3 Software Interrupt Register
- 3.1 Input Devices