BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do...
Transcript of BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do...
BEST ROBOTICS 2013
Raj Katti, Professor
Electrical & Computer Engineering
NDSU
Gordon Moore – Moore’s Law
• Gordon Moore worked for Fairchild Semiconductors
• He noticed a trend in IC manufacture
• In 1965, Gordon Moore predicted that the number of transistors that can be integrated on a die would double every 18 to 24 months (i.e., grow exponentially with time).
Graph of Moore’s Law
Bill Gates: Joking
• Recently, Bill Gates reportedly compared the computer industry with the auto industry, stating that : "If GM had kept up with technology like the computer industry has, we would all be driving twenty-five dollar cars that got 1000 miles to the gallon."
• In response to Gates' comments, General Motors issued a press release stating:
Bill Gates: Joking
• If GM had developed technology like Microsoft, we would all be driving cars with the following characteristics:
– For no reason whatsoever your car would crash twice a day.
– Every time they repainted the lines on the road you would have to buy a new car.
– Occasionally, executing a maneuver such as a left turn, would cause your car to shut down and refuse to restart, in which case you would have to reinstall the engine.
– Only one person at a time could use the car, unless you bought "Car95" or "CarNT". But then you would have to buy more seats.
– Every time GM introduced a new model car buyers would have to learn to drive all over again because none of the controls would operate in the same manner as the old car.
6
Computing System
I/O systemInstr. Set Proc.
Compiler
OperatingSystem
Application
Digital DesignCircuit Design
Instruction SetArchitecture
Firmware
• Coordination of many levels of abstraction
• Under a rapidly changing set of forces
Datapath & Control
Layout
Software
Hardware
SOFTWARE
High Level Language Program (C or C++)
Assembly Language Program
COMPILE
Machine Language Program
ASSEMBLE
HARDWARE
TRANSISTORS
LOGIC GATES
Adders, Multipliers, Registers,
Memory, Controller
Microprocessors
9
Instruction Set Architecture: An
Abstraction
• A very important abstraction
– interface between hardware and low-level
software
• Modern instruction set architectures:
80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS,
SPARC, HP
10
Application of Abstraction: A
Hierarchical Layer of Computer
LanguagesHigh Level Language High Level Language Program
Assembly Language Assembly Language Program
Machine Language Machine Language Program
Control Signal Specification
Compiler
Assembler
Machine Interpretation
lw $15, 0($2)lw $16, 4($2)sw$16, 0($2)sw$15, 4($2)
0000 1001 1100 0110 1010 1111 0101 10001010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111
°°
ALUOP[0:3] <= InstReg[9:11] & MASK
11
The Organization of a Computer
• Since 1946 all computers have had 5 main
components
Control
Datapath
Memory
Processor
Input
Output
12
The Organization of a Computer
• Processor:– Data path - to do arithmetic and logic: e.g. adders, multipliers,
shifters
– Control - to give directions to the other components: e.g. tells the data path, memory, and IO devices what to do according to the instructions of the program
• Memory: Holds data and instructions: e.g. cache, main memory, disk.
• Input: Sends data to the computer: e.g. keyboard, mouse.
• Output: Gets data from the computer: e.g. screen, sound card, printer.
13
Inside the Pentium 4 Processor Chip
14
PC Motherboard Closeup
15
Instruction Execution
InstructionInstruction
Fetch
InstructionInstruction
Decode
OperandOperand
Fetch
Execute
ResultResult
Store
NextNext
Instruction
Obtain instruction from program storage
Determine required actions and instructionsize
Locate and obtain operand data
Compute result value or status
Deposit results in storage for later use
Determine successor instruction
Microprocessor
PROGRAM
MEMORY
CONTROLLER
DATA MEMORY
REGISTER and
Arithmetic &
Logic Unit
CONTROL UNIT DATAPATH
Datapath
DATA MEMORY
MUX
REGISTERS
ALU
From
Controller
LOAD
ADD
STORE
PROGRAM FOR ADD
• Register 0 ←Data Memory 0
• Register 1 ←Data Memory 1
• Register 2 ←Register 0 + Register 1
• Data Memory 2 ←Register 2
CONTROL UNIT
←
←
Reg0 ←Data Mem 0
Reg1 ←Data Mem 1
Reg2 ←Reg0 + Reg1
Data Mem 2 ←Reg2
Program Memory
Data Mem 0 = 57
Data Mem 1 = 21
Data Mem 2 = blank
Control Unit
Reg0 = blank
Reg1 = blank
Reg2 = blank
ALU
Datapath
MUX
Controller
EXECUTE: Reg0
←Reg1 ←Data Mem 1
Reg2 ←Reg0 + Reg1
Data Mem 2 ←Reg2
Program Memory
Data Mem 0 = 57
Data Mem 1 = 21
Data Mem 2 = blank
Control Unit
Reg0 = 57
Reg1 = blank
Reg2 = blank
ALU
Datapath
MUX
←Reg0 ←Data Mem 0
Controller
57
57
EXECUTE: Reg1
←Reg2 ←Reg0 + Reg1
Data Mem 2 ←Reg2
Program Memory
Data Mem 0 = 57
Data Mem 1 = 21
Data Mem 2 = blank
Control Unit
Reg0 = 57
Reg1 = 21
Reg2 = blank
ALU
Datapath
MUX
←Reg1 ←Data Mem 1
Controller
21
21
EXECUTE: Reg2
Data Mem 2 ←Reg2
Program Memory
Data Mem 0 = 57
Data Mem 1 = 21
Data Mem 2 = blank
Control Unit
Reg0 = 57
Reg1 = 21
Reg2 = blank=78
ALU
Datapath
MUX
←Reg2 ←Reg0 + Reg1
Controller
57 21
ADD
78
78
78
EXECUTE: DataMem2
Program Memory
Data Mem 0 = 57
Data Mem 1 = 21
Data Mem 2 = blank=78
Control Unit
Reg0 = 57
Reg1 = 21
Reg2 = 78
ALU
Datapath
MUX
←Data Mem 2 ←Reg2
Controller
78
ADD
Challenge
• How to keep up with Moore’s Law?
• Transistors cannot be made any smaller
– Circuits cannot be made any faster
– Power consumption reduction not possible
• Change material from Si to something else?
• Change designs?
• Future Engineers like you have the answer!
I Dream Therefore I become