Computer System Fundamentals The Central Processing Unit CPU Digital Forensics Center Department of Computer Science and Statics U THINK BIG The CPU Central Processing Unit - - WE DO http://www.forensics.cs.uri.edu Instructions and data stored in memory Celeron, Celeron M XEON, Itanium, Atom, i5, i7 and more Other common CPUs CU (Control Unit) Instructions and Data Complex Instruction Set Computing (CISC) - Intel and AMD Processors - Pentium Series CPU Architecture Memory Bus - 80386DX/SX/SL, 80486DX/DX2/DX4 00:19 CPU Architecture Computers have a Von Neumann Architecture 8086/8088 (XT), 80286 (AT) - AMD - Intel Compatible - IBM/Motorola PowerPC, PPC - ARM Cortex R I 00:00 Intel CPUs - Reduced Instruction Set Computing (RISC) - PowerPC (Power Macintosh) - ARM Processors - Smartphones - Tablets - Dec Alpha - IBM RISC 6000 - Performs fetch/execute cycle - Moves data to and from CPU registers and other hardware components Accesses program instructions and issues commands to the ALU ALU (arithmetic logic unit) - Performs calculations and comparisons FPU - Floating Point Unit MMU (Memory Management Unit) - supervises fetching instructions and data from memory 02:42 04:48 CPU Architecture Registers Registers - Fast (expensive) memory close to CPU Stores frequently used instructions and data sometimes combined with memory management unit as Bus Interface Unit 05:55 Instruction Register (IR) - Stores instruction fetched from memory Can hold data, an address or an instruction I/O Interface - - Each register is wired for specific function Scratchpad for currently executing program Program Count Register (PC) - Memory location of next instruction Manipulated directly by the Control Unit Caches - Special Purpose Registers - Small storage locations within the CPU MMU CU Caches Memory Address Register (MAR) - Where to Store/Fetch - ALU FPU - Memory Data Register (MDR) - What is stored/fetched Registers - Status Registers - Status of CPU and currently executing program I/O Interface - I/O Registers 07:41 MMU CU ALU FPU Memory Bus CSC414 Registers CPU Instructions One Bit Accessing Memory from the CPU - Address from an instruction is copied to the MAR which finds the location in memory - CU determines if it is a store or retrieval - Transfer takes place between the MDR and memory - MDR is a two way register 1 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 Set Bits Address Decoder Each memory location has a unique address Memory Address Register - Memory Data Movement (load, store) - Shift and rotate 10:05 Fetch - Execute Cycle - Use of specific registers can be implied by op code Address Field - Where to get the data for the operation Execute Number of operands Length of operands Example 32-bit Instruction Format 01000010011011110110110101100010 01000010011011110110110101100010 8-bit 24-bit op code address field 11:05 - Performs operation that matches op code Moves or transforms data Instruction Pipelining - Getting next instruction and data during previous instruction's execute cycle 12:06 Central Processing Unit Digital Forensics Center Department of Computer Science and Statics THINK BIG WE DO R I http://www.forensics.cs.uri.edu 14:34 Program Counter (PC) Memory Address Register (MAR) Memory Data Register (MDR) Instruction Register (IR) Instruction Data Address (IR[address]) Memory Address Register (MAR) Memory Data Register (MDR) Execute - Instruction sets differ by CPU type Length of the op code (bring instructions & data to CPU) Decode or find instruction Load from memory into register Prepare ALU Fetch Fetch - Operation (op code) U Flags to test for conditions I/O and machine control Memory Data Register Instructions are comprised of - Testing AND OR XOR Program control (branching) 0000011000001000 CPU Instructions - Integers and floating point Bit manipulation instructions - 08:43 - Involve memory and registers Arithmetic and Boolean Logic Accumulator Accumulator / MDR Operation Accumulator Accumulator Memory Data Register (MDR) Increment Program Counter (PC) Program Counter (PC)