## Uses of Class
caoss.simulator.hardware.CPUCore

- Packages that use CPUCore
  Package | Description
  --- | ---
  caoss.simulator.configuration |
  caoss.simulator.hardware |
  caoss.simulator.instructions |
  caoss.simulator.os |
  caoss.simulator.os.interrupts |
  caoss.simulator.os.syscalls |

- - ### Uses of CPUCore in caoss.simulator.configuration

    Fields in caoss.simulator.configuration declared as CPUCore
    Modifier and Type | Field and Description
    --- | ---
    `static CPUCore[]` | Hardware.`cpuCores` The array of @see numberOfCPUCores CPU cores

    Fields in caoss.simulator.configuration with type parameters of type CPUCore
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.Class<? extends CPUCore>` | Hardware.`cpuCoreClass` The class implementing the behavior of a CPU core

  - ### Uses of CPUCore in caoss.simulator.hardware

    Subclasses of CPUCore in caoss.simulator.hardware
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SimpleCPUCore`

  - ### Uses of CPUCore in caoss.simulator.instructions

    Methods in caoss.simulator.instructions with parameters of type CPUCore
    Modifier and Type | Method and Description
    --- | ---
    `void` | Loop.`run(CPUCore cpuCore)`
    `void` | Instruction.`run(CPUCore cpuCore)` The implementation of the instruction
    `void` | Computation.`run(CPUCore cpuCore)`
    `void` | SysCall.`run(CPUCore cpuCore)`
    `void` | MemoryLoad.`run(CPUCore cpuCore)`
    `void` | MemoryStore.`run(CPUCore cpuCore)`

  - ### Uses of CPUCore in caoss.simulator.os

    Methods in caoss.simulator.os that return CPUCore
    Modifier and Type | Method and Description
    --- | ---
    `CPUCore` | Context.`getCpuCore()` Get the core where the context is running

    Methods in caoss.simulator.os with parameters of type CPUCore
    Modifier and Type | Method and Description
    --- | ---
    `static <S> void` | Dispatcher.`dispatch(ProcessControlBlock<S> pcb, CPUCore core)`
    `ProcessControlBlock` | OperatingSystem.`getRunningProcess(CPUCore cpuCore)` Returns the Control Block of the process running in the given cpu core
    `void` | InterruptHandler.`handle(CPUCore core)` Handler implementation
    `void` | Context.`setCPUCore(CPUCore cpuCore)` Set the core where the context is running
    `<S> void` | OperatingSystem.`setRunningProcess(CPUCore cpuCore, ProcessControlBlock<S> pcb)` Set the info that process with the given control block is running on CPU core \"cpuCore\"

  - ### Uses of CPUCore in caoss.simulator.os.interrupts

    Methods in caoss.simulator.os.interrupts with parameters of type CPUCore
    Modifier and Type | Method and Description
    --- | ---
    `void` | TimerInterruptHandler.`handle(CPUCore core)`
    `void` | DummyDeviceInterruptHandler.`handle(CPUCore cpuCore)`
    `void` | SysCallInterruptHandler.`handle(CPUCore cpuCore)` The handler implementation.

  - ### Uses of CPUCore in caoss.simulator.os.syscalls

    Methods in caoss.simulator.os.syscalls with parameters of type CPUCore
    Modifier and Type | Method and Description
    --- | ---
    `void` | IOSyscallHandler.`handle(CPUCore core)`
    `void` | ExitSyscallHandler.`handle(CPUCore core)`
    `static void` | IOSyscallHandler.`processNext(CPUCore core)`