Computer Architecture Memory, Math and Logic
Basic Building Blocks Seen: Memory Logic & Math
Computer Parts Things that go into a computer:
Simplified Parts Logical structure of parts:
Simplified Parts Logical structure of parts:
Simplified Parts Logical structure of parts: CPU Memory Input Output
Higher Level Architecture CPU Central Processing Unit Memory Programs and Data Input & Output Keyboards, Mice, Screens Printers, Networks, etc… CPU Input & Output Memory
CPU Busses Memory Busses Separate busses for different signals Groups of wires that carry a signal 1 wire for each bit Separate busses for different signals Input & Output Memory
Memory Memory Collection of bytes Access byte by address
Memory Memory Collection of bytes Access byte by address Meaning defined by program Byte 0x00 could be: 74 J Red part of a 24-bit color 0x00-0x02 Part of a 64-bit floating point 0x00-0x07
Memory Hierarchy Memory is Too slow Too small Temporary
Memory Hierarchy Main Memory : medium speed/capacity RAM
Memory Hierarchy On processor: Small, Ultra Fast memory Registers Cache
Memory Hierarchy Secondary Memory : slower, larger, permanent storage Hard drives / Flash drives / CD Drives
Using the Hierarchy Program’s trip through memory levels:
Inside the CPU Registers ALU CU Input & Output Memory
Registers Registers Examples: Special purpose memory in CPU PC : Program Counter What memory address has next instruction IR : Instruction Register What instruction we are working on ACC : Accumulator Result of what we just did
ALU Arithmetic Logic Unit Can: Add/Subtract Compare values Do Logic < > = Do Logic NOT, OR, AND,…
CU Control Unit Decoder : reads instructions from IR, sends control signals to control ALU, memory Clock : synchronizes operations across computer
Machine Code Machine Code : Instruction stored as binary Bits to represent operation to perform (opcode) value to use (operand) 0001 1100 0100 1011
Sample Code 0010000010 0010000101 0100001101 0110001101 Machine code Function 0010000010 Load the value 2 into the Accumulator 0010000101 Load the value 5 into the Accumulator 0100001101 Store the value of the Accumulator in memory location 13 0110001101 Add the value of memory location 13 to the Accumulator
Fetch-Decode-Execute http://computerscience.chemeketa.edu/cs160Reader/ComputerArchitecture/MachineCycle.html