CSC414 Computer System Fundamentals THINK BIG WE DO U R I http://www.forensics.cs.uri.edu Digital Forensics Center Department of Computer Science and Statics The Central Processing Unit CPU The Central Processing Unit CPU The CPU Central Processing Unit - Intel CPUs - 8086/8088 (XT), 80286 (AT) - 80386DX/SX/SL, 80486DX/DX2/DX4 - Pentium Series - Celeron, Celeron M - XEON, Itanium, Atom, i5, i7 and more - Other common CPUs - AMD - Intel Compatible - IBM/Motorola PowerPC, PPC - ARM Cortex CPU Architecture Computers have a Von Neumann Architecture - Instructions and data stored in memory - Complex Instruction Set Computing (CISC) - Intel and AMD Processors - Reduced Instruction Set Computing (RISC) - PowerPC (Power Macintosh) - ARM Processors - Smartphones - Tablets - Dec Alpha - IBM RISC 6000 Instructions and Data Memory Bus CPU Architecture CU (Control Unit) - Performs fetch/execute cycle - Accesses program instructions and issues commands to the ALU - Moves data to and from CPU registers and other hardware components ALU (arithmetic logic unit) - Performs calculations and comparisons - FPU - Floating Point Unit MMU (Memory Management Unit) - supervises fetching instructions and data from memory Memory Bus ALU CU MMU FPU CPU Architecture Registers - Small storage locations within the CPU - Manipulated directly by the Control Unit - Each register is wired for specific function - Can hold data, an address or an instruction - Scratchpad for currently executing program Caches - Fast (expensive) memory close to CPU - Stores frequently used instructions and data I/O Interface - sometimes combined with memory management unit as Bus Interface Unit CU I/O Interface Caches MMU Registers ALU FPU Registers Special Purpose Registers - Program Count Register (PC) - Memory location of next instruction - Instruction Register (IR) - Stores instruction fetched from memory - Memory Address Register (MAR) - Where to Store/Fetch - Memory Data Register (MDR) - What is stored/fetched - Status Registers - Status of CPU and currently executing program - I/O Registers