computer organization and computer architecture...

49
NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture Education Safwat Zaky Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto

Upload: ngokhanh

Post on 27-Aug-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Computer Organization and

Computer Architecture Education

Safwat Zaky

Edward S. Rogers Sr. Department of Electrical and

Computer Engineering

University of Toronto

Page 2: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

A long and Fascinating Journey

1946: INIAC

30 tons

18,000 vacuum

tubes

5000 additions per

second

2

Today, MacBook Air

1.06 kg

Dual core, 2GB

memory, 250 GB

flash disc

Page 3: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

The Travelling Salesman Problem

1954: Solved for the optimum route to visit 49

locations

1987: 532 locations

1998: 13,509 locations

2006: 85,900 locations

3

Page 4: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Continuous Innovation

4

Computerarchitecture

Hardware

TechnologySoftware

Page 5: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Is a course on computer

architecture needed?

5

Page 6: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

CcomC

6

Operating system,

Compiler

Applications

Microelectronics

Digital design

Computer organization and architecture

Page 7: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Bob Colwell (Intel’s chief architect on the

Pentium project) is quoted to have said

“I can tell you with certainty that I did not really

know how computers worked until I had to write

in assembly … Only then did it truly dawn on me

… what a compiler is targeting”

A. Clements, ASEE/IEEE Frontiers in Education Conf., 2008

7

Page 8: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

“Computer architecture is a key component of

computer engineering … It is difficult to design

an operating system well without knowledge of

the underlying architecture. Moreover, the

computer designer must have an understanding

of software in order to implement the optimum

architecture.”

IEEE CE Curriculum Report, 2004

8

Page 9: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Introduction to System Integration

A course on computer organization/architecture

provides an excellent introduction to system

integration and the issues involved

It is usually the first course to do so

9

Page 10: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Students learn about interactions & trade-offs

Hardware Software

Parallel Serial

Cache size Miss rate Access time

10

Page 11: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Course Content

11

Page 12: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Basic content

Digital systems

Data representation

ISA

Processor and memory organization

I/O subsystem

Computer arithmetic

12

Page 13: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Adequate detail

While preparing the first edition of Computer

Organization (1978) we wrote:

“Block diagrams are indispensable … However,

it is important that they be supplemented with

adequate details to encourage the student to dig

underneath the surface.”

Zaky, Hamacher and Vranesic, IEEE Trans. On Education, Feb. 1977.

13

Page 14: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Integration and Breadth of Coverage

An integrated view of hardware and software

14

Operating system,

Compiler, Networks

Digital design

Computer organization and architecture

Page 15: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Organization of a RAM chip

Page 16: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

An output interface

16

Page 17: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

20

Detail

Page 18: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Generation of an

object program

Page 19: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Processor scheduling

19

Page 20: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

IEEE/ACM Curricula

ACM 1968 CS

IEEE/ACM 1991 CS

2001 CS

2004 CE

2008 CS (Update)

20

Page 21: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

CC1991 - Architecture

Digital logic

Digital systems

Machine-level representation of data

Assembly-level machine organization

Memory system organization and architecture

Interfacing and communication

Alternative architectures

21

Page 22: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

CC2001

Much increased emphasis on performance

Branch prediction, multithreading, superscaler

Architecture for networks and distributed

systems

22

Page 23: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

CC2008 Update

Multiprocessing, Instruction level parallelism:

Superscaler, VLIW, EPIC

run-time vs. compile time

SIMD, MIMD, multithreading, multicore, GPU

Expanded content for the I/O section, modern

buses (USB, PCIe)

23

Page 24: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

CC2008 -- Elective

A new elective section: Devices

Transducers

Multimedia encoding and decoding

More on application domains:

Mobile applications

Ubiquitous computing

24

Page 25: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

CCCE 2004 Architecture and Organization

Same basic content

More emphasis of interfacing and processor

design

Needs updating

Embedded systems

25

Page 26: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Recent Books: Patt& Patel

LC-2, later LC-3, processor has a simplified ISA,

16 instructions, 5 addressing modes

Highly suitable for a broad introduction in a

Freshman course, covering logic, programming

and processor architecture

Y. Patt and S.J. Patel, “Introduction to Computing Systems: from bits & gates to C and Beyond,” McGraw-Hill, 2004

26

Page 27: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Hamacher et al.

… (basic material)

System software

I/O subsystem (USB, PCIe, …)

Embedded systems

System-on-a-chip – a case study

Parallel processing and performance

Hamacher, Vranesic, Zaky &Manjikian, Computer Organization and Embedded Systems, 6th edition, 2011

27

Page 28: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

ISA’s of commercial computers

Appendices

Logic circuits

The AlteraNios II processor

The ColdFire processor

The ARM processor

The Intel IA-32 architecture

28

Page 29: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Ramachandran& Leahy

A course at Georgia Tech takes a very broad

approach, integrating significant material on

architecture, operating systems and networks

Ramachandran and Leahy, WCAE – 2007

29

Page 30: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

… (basic material)

Operating systems

Memory management

File systems

Networks and protocols

Ramachandran and Leahy, “Computer Systems, An Integrated Approach to Architecture and Operating Systems,” Addison Wesley, 2011

30

Page 31: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Motivating Students

31

Page 32: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

The computer architecture course has been

described as “boring” for students

Part of the challenge is that the computer is

becoming increasingly invisible

Students are looking for:

Relevance

Value

Good learning experience

32

Page 33: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

What do students see?

Pervasive/ubiquitous/embedded computing

Social networking

Energy concerns

Danger of fragmentation of material and creating

survey-style courses

Fundamentals must be covered in depth

But show how architecture supports applications

33

Page 34: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Ubiquitous Computing

1991, Mark Weiser (Xerox Park):

“The most profound technologies are those that

disappear. They weave themselves into the

fabric of everyday life …”

Tabs, pads and boards

Embedded systems

Scientific American, September 1991

34

Page 35: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Role of I/O

Key enabling technologies are communications

and input/output subsystems

Plug and play PCI, USB

High speed PCI express (PCIe)

Networks Protocol stack

35

Page 36: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Wireless -- Bluetooth

36

Smart phone

Microwave oven Laptop

Printer

Page 37: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Embedded Systems

Rapidly-expanding applications

Many job opportunities

CE: may emphasize interconnections,

interfacing and FPGA implementations

CS: Use of high-level languages

Real-time software

There are many familiar examples

37

Page 38: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Digital camera

38

Page 39: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Microwave Oven

39

Page 40: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Optical position sensor

40

Page 41: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Solenoid actuator

41

Page 42: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Energy-efficient Computing

Students are increasingly aware of the issue

Mobile computing

Conservation

An introductory discussion would provide

interest and motivation

42

Page 43: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

A good example for the benefits of multicore and

many-core architectures

Several examples in special section in Trans.

Comp., Dec. 2005

Choose topics that relate to the instructor’s

research

43

Page 44: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Learning experience

Importance of laboratory

Preferably with real hardware

Many universities developed laboratory setups,

often using FPGA’s, e.g. U. of Washington

M. Holland et al, “Harnessing FPGAs for Computer Architecture Education”, MSE’03

44

Page 45: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

FPGA-based Setups

FPGA manufacturers (particularly Altera and

Xilinx) offer well-equipped boards, with FPGA

chips, memory, displays, switches, connectors,

etc., specifically for university laboratories

Support software and documentation, including

experiments

45

Page 46: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Experience at Georgia Tech

The Systems course includes 60-90 hours of

unsupervised laboratory

Student surveys at the beginning and end of

semester showed significant increase in

students enthusiasm

46

Page 47: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Experience at ECE, U of T

“Computer Organization” is offered in Second

Year, CE and EE

Includes a substantial laboratory component

using Altera FPGA boards

It is a key factor in attracting students to

Computer Engineering

47

Page 48: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Concluding Remarks

Computer architecture is a key course that

provides a reference model, linking software and

hardware

To provide motivation and spur innovation,

course should connect basic material to recent

developments and exciting applications

Today, this means emphasizing parallel

processing, I/O subsystems and embedded

computing

48

Page 49: Computer Organization and Computer Architecture …nas-conference.org/NAS-2011/Slides/NAS2011-Keynote-Zaky.pdf · NAS 2011 July 28-30, 2011 Computer Organization and Computer Architecture

NAS 2011 July 28-30, 2011

Questions/Comments

49