• A core is a processing unit that can execute a set of instructions
  • A core can execute one and only one thread at a moment
  • The thread’s data/ context is stored in the core’s registers
  • Upon a context switch, i.e, the OS assigns a new thread to the core, the current thread’s data is stored to memory outside the core (to the RAM) and the new thread’s data is loaded onto the registers

A core is a personal work desk and a thread is a worker. The OS is like the manager. From time to time the manager asks the worker to switch. He moves and take his stuff (thread data) with him and a new worker comes with his stuff.


Instruction Pointer

  • A register in the CPU that holds the address of the next instruction in the RAM


Ref

  1. https://www.righto.com/2020/11/reverse-engineering-carry-lookahead.html
  2. https://www.redhat.com/sysadmin/cpu-components-functionality