Abstract
- 2 Main Components - ALU, Control Unit
- Fire the necessary components based on the given Instruction
- Start in Kernel Mode. Before executing a program, the kernel initiates the switch to User Mode
Success
Optimised for computation that requires sequential execution(One Instruction after another Instruction), Pipeline Branching and logic.
CPU Core
- One single unit of CPU that executes Instruction independently from other CPU cores
32-bit CPU
- Register Width that are 32 Bit each
- Because 32bits, so maximum addressable Main Memory is 4GB. The Register can’t hold a Memory Address that is greater than 4GB
- The Word size is usually 4 Byte
64-bit CPU
- Register Width that are 64 Bit each
- Doesn’t have the Main Memory 4GB limitation in 32-bit CPU
- The Word size is usually 8 Byte
Hyperthreading
- Hyperthreading technology enables a single CPU to handle multiple Thread simultaneously. Thus, achieving Parallelism (并行)
- This is achieved by duplicating the Register File like Program Counter. Fetch and Decode are also duplicated to allow for simultaneous processing of Instruction from multiple Thread. The rest like ALU is shared
Important
The performance gain from Hyperthreading is minimal when one set of the fetch and decode is smooth and able to keep the ALU busy.
However, if one set of the fetch and decode is not smooth in the cases like Pipeline Flush, the another set of fetch and decode can keep the ALU busy, thus improving performance.
The rule of thumb is that every CPU CPU Core that supports hyperthreading has roughly an additional CPU core performance.
CPU Scratch Area
- A small amount of high-speed memory that is used to store temporary data