Chapter 5 Computing Components The (META) BIG IDEA Cool, idea but maybe too big • DATA – Must be stored somewhere in a storage device • PROCESSING – Data must be moved around and manipulated 5-2 Chapter Goals • Components of a von Neumann machine • Von Neumann fetch-decode-execute cycle – What does “running a program” mean, anyway? • Limitations of von Neumann architecture 5-3 Chapter Goals • Memory “Pyramid” – Memory has characteristics and trandoffs – Primary vs Secondary memory • Primary memory organization (RAM) • Secondary memory (auxiliary storage devices) • Alternatives to von Neumann architecture 5-4 Computer Components 5-5 Motherboard 5-6 WHAT A MESS!!! We need to ABSTRACT 5-7 We need Some Abstraction!!! • Real hardware is messy • Especially Intel architecture because of backward compatibility (aka legacy issues) • We need some simpler models (abstractions) of von Neumann architecture Who has been to Disneyland? Von Nuemann Architecture • The parts are connected to one another by a collection of wires called a bus Figure 5.2 Data flow through a von Neumann architecture 5-9 Von Nuemann Architecture • The bus is SHARED by several devices • This affects how data flows • ANALOGY: – Who do you call most on your cell phone? – Some devices communicate more than others 5-10 von Neumann Architecture Figure 5.1 The von Neumann architecture 5-11 Main Memory (RAM) 5-12 RAM • Memory is a collection of cells, each with a unique physical address • How many data bits? • How many address bits? Page 122 5-8 What is in a CPU?? 5-14 CPU Components • Arithmetic Logic Unit • Control Unit • Registers CPU MEMORY program CU REG (holds data) (The Boss) ALU (does the work) 5-15 Arithmetic/Logic Unit • Performs basic arithmetic operations: – Adding – Multiplying – Dividing • Performs logical operations such as AND, OR, and NOT – Example: RGB color mixing 5-16 Registers • Contain the data that the CPU is processing “at the moment” • There is a set of registers 5-17 Control Unit • Control unit controls the instruction cycle • Reads in a SW program, one instruction at a time • Tells the ALU what to do 5-18 Control Unit • There are two special registers in the control unit – The instruction register (IR) contains the instruction that is being executed – The program counter (PC) contains the address of the next instruction to be executed 5-19 The Fetch-Execute Cycle The Control Unit makes the CPU go through the following cycle: 1) Fetch the next instruction 2) Decode the instruction 3) Execute the instruction – the cycle repeats – forever! 5-20 Fetch-Decode-Execute Cycle 5-21 Memory Mixes • Computers contain a mix of different kinds of memory • Why???? • Will it always be this way? 5-22 Memory and the Memory Pyramid Cache Capacity Main RAM Cost & Speed Flash RAM Magnetic Disk Tape 5-23 Primary and Secondary Storage • Primary Storage – – – – aka “Main Memory” (usually RAM) the “working memory” of the CPU Fast High $ per byte • Secondary Storage – where all the stuff that is not being worked on “now” is stored (usually DISK) – Slow – Low $ per byte 5-24 Primary Memory - RAM • RAM stands for Random Access Memory – Any location can be accessed quickly, – Same amount of time to access any location (aka ‘random’) • RAM is volatile – Data is LOST when the power is turned off • Primary (Main) memory is – Volatile – Limited – Expensive 5-25 Primary vs Secondary • Computers have a BALANCE of Primary and Secondary Memory • Trade offs: – Speed – Size – Cost 5-26 Secondary Memory • Secondary memory is – Big – Cheap – Slower than Primary Memory • Examples: – Magnetic Disk – CD Rom – Flash (Solid State Drives) 5-27 Magnetic Tape • The first truly mass auxiliary storage device was the magnetic tape drive • Cassette Tapes are still used for large data backups Figure 5.4 A magnetic tape 5-17 Magnetic Disks • A read/write head travels across a spinning magnetic disk, retrieving or recording data Figure 5.5 The organization of a magnetic disk 5-18 Compact Disks • A CD drive uses a laser to read information stored optically on a plastic disk • CD-ROM is Read-Only Memory – Approximately 700MB • DVD stands for Digital Video Disk – Approximately 4 GB 5-30 QUESTION TIME • Does the PERFECT MEMORY EXIST?? • What would be its characteristics?? Does anybody have a Solid State Drive (SSD) ?? 5-31 Von BOTTLENECK • Von Neumann has a fundamental limitation: •The SHARED BUS!! 5-32 Alternatives to von Neumann • Several alternative architectures exist • Some are used to enhance von Neumann • Examples: – Synchronous Processing (Parallel) – Pipelining (Serial) 5-33 Synchronous processing • One approach to parallelism is to have multiple processors apply the same program to multiple data sets Figure 5.7 Processors in a synchronous computing environment 5-34 Some Parallel Architecture Examples • Google – Many servers in one building (“Server Farm”) • SETI – Geographically Distributed Processors • Quad Core and Tilera – Several CPUs on one chip 5-35 Pipelining • Arranges processors in tandem, where each processor contributes one part to an overall computation Figure 5.8 Processors in a pipeline 5-36 Pipelining Examples • Like a manufacturing assembly line (cars) • Some series of tasks can be pipelined – Example: game video processing 1. Build vector model 2. Wrap vectors in bitmaps 3. Generate camera view 5-37