Introduction to Computer Architecture
What is binary? We use the decimal (base 10) number system Binary is the base 2 number system Ten different numbers are used in base 10. How many are used in base 2?
Bits & Bytes kilo, mega, and giga are different in binary! bit (b) – binary digit Byte (B) – 8 binary digits KiloByte (KB) – 210 bytes MegaByte (MB) – 220 bytes GigaByte (GB) – 230 bytes
Storage Scam! Example: iPod Nano 8GB
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) Hard Drive / Disk
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, ROM Magnetic – Hard drives, magnetic tapes Optical – CDs, DVDs
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
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
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
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
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 Animation http://www.hartismere.com/staticvle/ictskills/FetchExecute.swf
Memory Hierarchy
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