BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do...

25
BEST ROBOTICS 2013 Raj Katti, Professor Electrical & Computer Engineering NDSU

Transcript of BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do...

Page 1: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

BEST ROBOTICS 2013

Raj Katti, Professor

Electrical & Computer Engineering

NDSU

Page 2: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

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).

Page 3: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

Graph of Moore’s Law

Page 4: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

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:

Page 5: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

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.

Page 6: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

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

Page 7: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

SOFTWARE

High Level Language Program (C or C++)

Assembly Language Program

COMPILE

Machine Language Program

ASSEMBLE

Page 8: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

HARDWARE

TRANSISTORS

LOGIC GATES

Adders, Multipliers, Registers,

Memory, Controller

Microprocessors

Page 9: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

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

Page 10: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

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

Page 11: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

11

The Organization of a Computer

• Since 1946 all computers have had 5 main

components

Control

Datapath

Memory

Processor

Input

Output

Page 12: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

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.

Page 13: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

13

Inside the Pentium 4 Processor Chip

Page 14: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

14

PC Motherboard Closeup

Page 15: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

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

Page 16: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

Microprocessor

PROGRAM

MEMORY

CONTROLLER

DATA MEMORY

REGISTER and

Arithmetic &

Logic Unit

CONTROL UNIT DATAPATH

Page 17: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

Datapath

DATA MEMORY

MUX

REGISTERS

ALU

From

Controller

LOAD

ADD

STORE

Page 18: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

PROGRAM FOR ADD

• Register 0 ←Data Memory 0

• Register 1 ←Data Memory 1

• Register 2 ←Register 0 + Register 1

• Data Memory 2 ←Register 2

Page 19: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

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

Page 20: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

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

Page 21: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

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

Page 22: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

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

Page 23: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

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

Page 24: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

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!

Page 25: BEST ROBOTICS 2013 - NDSU · 12 The Organization of a Computer • Processor: – Data path -to do arithmetic and logic: e.g. adders, multipliers, shifters – Control-to give directions

I Dream Therefore I become