Skip to content

Move towards "no ticks in CPU emulator" design #6

@dogtopus

Description

@dogtopus

Having the check_stop_condition code hook slows down the emulation a lot (currently uses ~25% of the CPU time basically doing nothing). Since so far all the synchronization happens in timers and status register checks (instead of depending on hardware timing characteristics), we might be able to only keep a timer event scheduling thread (similar to ffsds4's EventSequencer) that asynchronously inject timer interrupt events into the emulator, and insert hooks into status register reads to either return a "not ready" when the emulator cannot or does not want to do a task synchronously, or "ready" after synchronously finishing the task.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions