Embedded Computing

99 downloads 74365 Views 6MB Size Report
Sep 16, 2013 ... Computer Organization / Architectures for Embedded Computing. The Computer .... Structured Computer Organization. A. Tanenbaum, T.
Course Overview

José Monteiro Computer Organization Architectures for Embedded Computing Monday, 16 September 13

The Computer Revolution •  Progress in computer technology –  Reinforced by Moore’s Law

•  Makes novel applications feasible –  Computers in automobiles –  Cell phones –  Human genome project –  World Wide Web –  Search Engines

•  Computers are pervasive Computer Organization / Architectures for Embedded Computing

Classes of Computers •  Desktop –  single user, general purpose, with a typical set up of display, keyboard, and mouse Critical: cost, performance •  Servers –  run larger programs in parallel for multiple users, typically accessed remotely Critical: performance, capacity, security, reliability •  Supercomputers –  clusters with hundreds to thousands of processors, terabytes of memory and petabytes of storage Critical: performance, capacity, expandability •  Embedded –  hidden component of a system, running a predefined program Critical: cost, power, performance

Computer Organization / Architectures for Embedded Computing

Desktop Computer

Output device

Network cable

Input device

Input device

Computer Organization / Architectures for Embedded Computing

Server

Rack

Server

Computer Organization / Architectures for Embedded Computing

Supercomputer

Tianhe-2, or Milky Way-2 National Supercomputer Center in Guangzho, China

Currently world’s most powerful supercomputer (34 petaflop/s). Computer Organization / Architectures for Embedded Computing

!

Everything here has a computer – but where are the Pentiums?

Embedded Computers

[Smolan] Computer Organization / Architectures for Embedded Computing

4

Millions

The Processor Market

Over 99% of processor sales are for embedded systems! Computer Organization / Architectures for Embedded Computing

Issues in Embedded Systems Specific issues when programming embedded systems: –  Real-time requirements •  Often worst-case is more important than average-case

–  Resource constraints •  Power and memory

–  Reliability •  Safety critical systems •  Difficult access

–  Diversity •  Heterogeneity of computing architectures •  Diverse set of input/output devices Computer Organization / Architectures for Embedded Computing

Technology Trends •  The transistor density increases about 35% per year. •  The circuits area increases about 10% to 20% per year. •  The number of transistors per circuit increases about 55% per year.

Moore’s Law (1965): “The number of transistors per square-centimeter of integrated circuit doubles every 18 months.” •  In practice, the density increased about 100,000x in the last 45 years! Computer Organization / Architectures for Embedded Computing

Inside the Processor AMD Opteron: 4 processor cores, 0.5x109 transistors

Computer Organization / Architectures for Embedded Computing

Moore’s Law in Practice

Computer Organization / Architectures for Embedded Computing

Technology Trends Year

Technology

1951

Vacuum tube

1965

Transistor

1975

Integrated circuit (IC)

1995

Very large scale IC (VLSI)

2005

Ultra large scale IC

Relative performance/cost 1 35 900 2,400,000 6,200,000,000

•  Electronics technology continues to evolve –  Increased capacity and performance –  Reduced cost

DRAM capacity

Computer Organization / Architectures for Embedded Computing

Technology Trends

Computer Organization / Architectures for Embedded Computing

Power Density

Computer Organization / Architectures for Embedded Computing

Power Trends In CMOS IC technology

Power = Capacitive load× Voltage2 ×Frequency ×30

5V → 1V

The power wall! Computer Organization / Architectures for Embedded Computing

×1000

Multiprocessors The power wall: –  can’t reduce voltage further –  can’t remove more heat How else can we improve performance?

➥  Multicore microprocessors –  More than one processor per chip New paradigm! Requires explicitly parallel programming: –  Compare with instruction level parallelism •  Hardware executes multiple instructions at once •  Hidden from the programmer

–  Hard to do •  Programming for performance •  Load balancing •  Optimizing communication and synchronization Computer Organization / Architectures for Embedded Computing

What You Will Learn •  Architecture of current processors –  Performance metrics

•  Integrated view of the computer system –  Memory hierarchy –  Input/Output system

•  How to improve program performance •  Features related to embedded systems •  What is parallel processing •  Future trends Computer Organization / Architectures for Embedded Computing

Teaching Staff Theoretical classes: José Monteiro INESC-ID, office 136

[email protected]

Office hours: Mondays 14h00, Room: 2.01 - Informática III

Practice/Lab classes: Nuno Santos INESC-ID, office 607 [email protected]

Office hours: Thursdays 8h00, Room: Lab 14

Extra office hours can be arranged as needed. Computer Organization / Architectures for Embedded Computing

Class Schedule Theoretical classes 2 classes/week, one and a half hour long Monday, 12h30-14h00, Room EA3 Friday, 14h00-15h30, Room FA1

Laboratory / Practical classes 1 class/week, one and a half hour long Thursday, 9h30-11h00, Lab 14 OR Friday, 8h00-9h30, Lab 14

Computer Organization / Architectures for Embedded Computing

Selection of Lab Shift •  Each lab shift will function with 8 groups of 3 elements each. •  Enrollment through Fenix, according to the following schedule: Tuesday, 24th, 8h: enrollment opens for complete groups

Wednesday, 25th, 9h: enrollment opens for groups with two or more elements

Thursday, 26th, 9h: no restrictions

•  You are free to choose the lab shift, as long as there are slots available. •  In the end, we will perform group compacting in each shift.

Computer Organization / Architectures for Embedded Computing

Assessment Lab component (30%): –  3 mini-projects,10% each –  groups of 3 elements –  lab grade defined individually at an oral discussion at the end of the semester (3rd week of December) –  minimum grade 9

Exam (70%): –  final exam, January 11, 8h –  recovery exam: January 30, 8h –  minimum grade 8 –  best grade between the two exams is used, however extra credit is given to those that only go to one of the exams Computer Organization / Architectures for Embedded Computing

Bibliography Main book:

Computer Organization and Design: The Hardware/Software Interface D. Patterson, J. Hennessy Morgan Kaufmann, 4th Edition, 2011, ISBN: 978-0123747501 Secondary Bibliography: –  Structured Computer Organization A. Tanenbaum, T. Austin Prentice-Hall, 6th Edition, 2013, ISBN: 978-0273769248 –  Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools J. Fisher, P. Faraboschi, C. Young Morgan Kaufmann, 4th Edition, 2005, ISBN: 978-1558607668 –  Computer Architecture: A Quantitative Approach J. Hennessy, D. Patterson Morgan Kaufmann, 4th Edition, 2011, ISBN: 978-0123838728

Computer Organization / Architectures for Embedded Computing

Plan Week

1

2

3

4

5

6

7

Date 16-Sep 17-Sep 18-Sep 19-Sep 20-Sep 23-Sep 24-Sep 25-Sep 26-Sep 27-Sep 30-Sep 01-Oct 02-Oct 03-Oct 04-Oct 07-Oct 08-Oct 09-Oct 10-Oct 11-Oct 14-Oct 15-Oct 16-Oct 17-Oct 18-Oct 21-Oct 22-Oct 23-Oct 24-Oct 25-Oct 28-Oct 29-Oct 30-Oct 31-Oct 01-Nov

Theory Class Topic 1 Course overview. Motivation. Types of computers.

2 3

4 5

6 7

8 9

10 11

12 13

Book Section Chap. 1

Review of the basic components and operation of a computer. Performance metrics.

Chap. 1

Assembly instructions. ISA of the MIPS processor.

Chap. 2

Instruction encoding.

Chap. 2

Stack, heap. Role of the compiler and linker.

Chap. 2

Computer arithmetic: integer and floating point.

Chap. 3

Workings of a RISC processor.

Sec 4.1 a 4.5

Data hazards: analysis and optimization.

Sec. 4.6 e 4.7

Control and structural hazards: analysis and optimization.

Sec. 4.6 e 4.8

Exceptions, traps and interruptions.

Sec. 4.9

Superscalar and VLIW processors.

Sec. 4.10

Review of the memory hierarchy and cache.

Sec. 5.1 a 5.3

Analysis of the cache operation.

Sec 5.5 e 5.7

Optimization of the cache usage.

Sec 5.5 e 5.7

Class

Intro

Lab Topic

No class

(lab enrollment) ISA

1 1 Exercises: metrics 1 2 2 Exercises: pipeline

RISC

2 3 3 Exercises: pipeline 3 4 4 Lab: pipeline

Memory

14

4 5 5 Exercises: caches 5

Computer Organization / Architectures for Embedded Computing

Plan Week

8

9

10

11

12

13

14

Date 04-Nov 05-Nov 06-Nov 07-Nov 08-Nov 11-Nov 12-Nov 13-Nov 14-Nov 15-Nov 18-Nov 19-Nov 20-Nov 21-Nov 22-Nov 25-Nov 26-Nov 27-Nov 28-Nov 29-Nov 02-Dec 03-Dec 04-Dec 05-Dec 06-Dec 09-Dec 10-Dec 11-Dec 12-Dec 13-Dec 16-Dec 17-Dec 18-Dec 19-Dec 20-Dec

Theory Class 15 Virtual memory.

Topic

Book Section Sec 5.4

Class 6 6

Lab Topic

Exercises: caches NO CLASS 16

17 18

19 20

21 22

23 24

25 26

Integrated operation of the processor and different levels of memory Sec 5.4 hierarchy. Virtual machines. Sec 5.6 Input/ouput system.

Sec. 6.1, 6.5 e 6.6

Performance analysis of the I/O system.

Sec. 6.3, 6.4, 6.7 e 6.8

Reliability issues.

Sec. 6.2 e 6.9

Digital/analog interface

(extra)

Embedded architectures. Microcontrollers. DSP processors.

(extra)

Parallel architectures.

Sec. 7.1, 7.2 e 7.6

Shared memory systems.

Sec. 7.3 e 7.5

Distributed memory systems. Clusters.

Sec. 7.4 e 7.8

Vector processors and GPUs. Reconfigurable computing.

Sec. 7.7

Memory

6 7 7 Lab: caches 7 8 8

I/O

Exercises: virtual memory

8 9 9 Lab: profiling 9 10 10 Exercises: I/O

Multicores

10 11 11

Exercises: multiprocessors

11 12 12 (oral discussions) 12

Computer Organization / Architectures for Embedded Computing

Next Class •  Review of basic notions on computer architecture •  Performance metrics

Computer Organization / Architectures for Embedded Computing

Course Overview

Computer Organization Architectures for Embedded Computing Monday, 16 September 13