Introduction to Computer Architecture
What is computer architecture? What does “architecture” mean? Layout and interactions of a computer system What is a computer system? Input Process Output Can a computer system be more than one computer? Think of an example...
Major Components of a Computer Central Processing Unit (CPU) Random Access Memory (RAM) / Memory Hard Drive / Disk
Central Processing Unit (CPU) Also called the “chip” or “processor” The brain of the computer Major components: Arithmetic Logic Unit (ALU) calculator Control unit controls the calculator Communication bus systems What’s a bus?!? Address Bus Control Unit Memory ALU Data Bus
What does memory look like? Note: Bits in memory ardatae both values and program instructions
What does memory look like? Address Data 36 1 3765 2 786 3 356 4 252 5 67980 6 2355 7 4234 8 3466 Memory ~ RAM Looks like a table Address and Data Address is the location Data is the actual value Memory stores both data and assembly instructions
Fetch-Execute Cycle (Machine Instruction Cycle) Fetch instruction from memory Decode instruction in control unit Execute instruction (data may be fetched from memory) Store results if necessary Repeat! Address Bus Control Unit Memory ALU Data Bus
ON-OFF-ON-ON 1 0 1 1 Several ways to remember the state of a switch: 1 0 1 1 Several ways to remember the state of a switch: Electrical – RAM, flash memory, solid state drives, some ROMs Magnetic – Hard drives, magnetic tapes Optical – CDs, DVDs, Blu-Ray
Primary Memory Memory level CPU accesses closest RAM ~ Random Access Memory Volatile storage (data is NOT saved when computer is off) Used to store everything (OS, programs, etc.) while computer is on ROM ~ Read-Only Memory Non-volatile storage Often holds the computer’s BIOS (Basic Input/Output System) when computer first loads
Registers Temporary storage containers used inside the CPU Extremely fast MAR ~ Memory Address Register Holds the address of where you are fetching from MDR ~ Memory Data Register Holds the data that was fetched from memory Many other registers too (for all CPU calculations)
Fetch-Execute Cycle (Machine Instruction Cycle) Fetch instruction from memory Decode instruction in control unit Execute instruction (data may be fetched from memory) Store results if necessary Repeat! Address Bus Control Unit Memory ALU Data Bus
Fetch-Execute Animation http://www.hartismere.com/staticvle/ictskills/FetchExecute.swf
Memory Hierarchy
Memory Hierarchy Updated
Cache Slower than registers Faster than RAM Located in front of main RAM Different levels of cache Level1 (L1) and Level2 (L2) Size is usually around 1 MB
Virtual Memory What if a program is too big for RAM? If a program is too big for memory (RAM), then we start using the hard drive (disk) to store data Prevents the computer from stalling/crashing (BUT IT IS SLOW)
Hard Drives Persistent storage Non-volatile storage Why do we need it? Other types of persistent storage?
CD/DVD/BluRays Lands and pits used to represent binary Optical medium - lasers and refraction used to read lands and pits http://electronics.howstuffworks.com/cd4.htm