Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First...

25
ELEC 2220 – Computer Systems Introduction to general purpose and embedded systems Victor P. Nelson ELEC 2220 Computer Systems 1 Summer 2020

Transcript of Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First...

Page 1: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

ELEC 2220 – Computer Systems

Introduction to general purpose and embedded systems

Victor P. Nelson

ELEC 2220 Computer Systems 1Summer 2020

Page 2: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Today’s class outline

• Review syllabus and course objectives. Course web page:

http://www.eng.auburn.edu/~nelsovp/courses/elec2220/

• Define basic computer components and structures• Examples of computer systems• High-level language statements vs assembly and machine languages• Steps in executing an instruction

Summer 2020 ELEC 2220 Computer Systems 2

Page 3: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Software and Hardware Engineering: Motorola M68HC12 Copyright © 2000 by Oxford University Press, Inc.

Basic computer system.

3

Page 4: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Summer 2020 ELEC 2220 Computer Systems 4

Personal Computer

Peripherals

Page 5: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

First General-Purpose Computer• Electronic Numerical Integrator

and Calculator (ENIAC) • Designed by John Mauchly and J.

Presper Eckert at U. of Penn.• Built in World War II to compute

artillery firing tables• 80 feet long, 8.5 feet high and

several feet wide• Twenty 10 digit registers, each 2

feet long• Multiply/divide/square-root• Used 18,000 vacuum tubes• 5,000 additions/second• Weight: 30 tons• Power consumption: 140kW• Data input: 800 card/min reader

ELEC 2220 Computer Systems 5Summer 2020

Page 6: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

IBM System 360 – mainfame computer

• 1965-1978• Series of 6 models• Commercial and scientific• IBM Solid-Logic technology• Max 16.6M instructions/second• Max 8MB magnetic core memory• 32-bit words• 16 32-bit registers• Floating-point instructions• 9-track magnetic tape

ELEC 2220 Computer Systems 6Summer 2020

Page 7: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

C Programming Language and UNIX Operating System

1972

Digital Equipment Corporation 16-bit PDP-11 Minicomputer (1970-1990s)

Dennis Ritchie

KenThompson

ELEC 2220 Computer Systems 7Summer 2020

Page 8: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Summer 2020 ELEC 2220 Computer Systems 8

Computer Architecture

Instructions and data are stored in the same memory.

Von-Neumann HarvardData and instructions are stored into separate memories.

Page 9: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Intel microprocessors – 20th century

Summer 2020 ELEC 2220 Computer Systems 9

Show devices

Page 10: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Intel processors – 21st century

Summer 2020 ELEC 2220 Computer Systems 10

0

500

1000

1500

2000

2500

3000

3500

10,000,000

100,000,000

1,000,000,000

10,000,000,000

PentiumIII (2000)

Pentium 4(2004)

Core 2Duo

(2008)

Core i7Quad(2008)

Xeon 74006-core(2008)

Core i7 8-core

(2014)

XeonHaswell18-core(2014)

XeonBroadwell

22-core(2016)

Number of Transistors

Clock Rate (MHz)

Page 11: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Intel Core i7 high end desktop architecture

ELEC 2220 Computer Systems 11Summer 2020

Page 12: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

ELEC 2220 Computer Systems 12Summer 2020

Page 13: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Apple “A8” SoC• Used in iPhone6 & iPhone6 Plus• Manufactured by TSMC

• 20nm, 89mm2, 2B transistors• Elements (unofficial):

• 2 x ARM Cyclone ARMv8 64-bit cores running at 1.4GHz

• IMG PowerVR 4-core GX6450 GPU• L1/L2/L3 SRAM caches

• Other devices• 1 GB LPDDR3 SDRAM • 16 to 128GB flash• Qualcomm MDM9625M LTE modem• M8 motion coprocessor (ARM Cortex M3

uC)• iSight camera• Near field communications chip (for Apple

Pay)• User interface and sensors,

accelerometers, gyro• Wi-Fi and Bluetooth

ELEC 2220 Computer Systems 13Summer 2020

Page 14: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

T.I .smartphone reference design

MainSoC

ELEC 2220 Computer Systems 14Summer 2020

Page 15: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Nvidia graphics processing units (GPUs)

Summer 2020 ELEC 2220 Computer Systems 15

0

20

40

60

80

100

120

140

160

180

200

10,000,000

100,000,000

1,000,000,000

10,000,000,000

100,000,000,000

NV 15 (2000)NV 38 (2003) G 86 Tesla(2007)

GF 119Fermi (2011)

GM 107Maxwell(2014)

GP 104Pascal(2016)

GV 100 Volta(2017)

Number of Transistors

Process (nano-meters)

Nvidia GPU cluster

Page 16: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Embedded computer systems

• What is an embedded system?• Application-specific computer

system• Component of a larger system• Interacts with its environment• Often has real-time computing

constraints

embeddedsystem

Embedded ComputerSoftware

Hardware

Input from environment

Output to environment

User interface Link to other systems

ELEC 2220 Computer Systems 16Summer 2020

Page 17: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Summer 2020 ELEC 2220 Computer Systems 17

Page 18: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Introduction to Arm Cortex-M Microcontrollers, Jonathan W. Valvano

Summer 2020 ELEC 2220 Computer Systems 18

Page 19: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Introduction to Arm Cortex-M Microcontrollers, Jonathan W. Valvano

Summer 2020 ELEC 2220 Computer Systems 19

Page 20: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Introduction to Arm Cortex-M Microcontrollers, Jonathan W. Valvano

Summer 2020 ELEC 2220 Computer Systems 20

Our microcontroller: STM32F407

Page 21: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Introduction to Arm Cortex-M Microcontrollers, Jonathan W. ValvanoSummer 2020 ELEC 2220 Computer Systems 21

Page 22: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Fitbit Flex Teardown

STMicroelectronics 32L151C6Ultra Low Power ARM Cortex M3 Microcontroller

Nordic Semiconductor nRF8001 Bluetooth Low Energy Connectivity IC

www.ifixit.com

ELEC 2220 Computer Systems 22Summer 2020

Page 23: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Samsung Galaxy Gear

• STMicroelectronics STM32F401B ARM-Cortex M4 MCU with 128KB Flash

source: ifixit.com

ELEC 2220 Computer Systems 23Summer 2020

Page 24: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

STMicroelectonics STM32F4-Discovery Board(For ELEC 2220 assignments and projects.)

Summer 2020 ELEC 2220 Computer Systems 24

32-bit STM32F407VG microcontroller- Arm Cortex-M4 processor with floating-point unit- 1 MB flash memory - 192 KB SRAM- Assorted peripheral modules

ST-LINK/V2 32-bit STM32F103CB microcontroller (debug interface)

USB “mini” connector to ST-Link microcontroller

Page 25: Example computer systemsnelsovp/courses/elec2220/slides/Introduction.pdfComputer Peripherals. First General-Purpose Computer • Electronic Numerical Integrator and Calculator (ENIAC)

Levels of Program Code

Summer 2020 ELEC 2220 Computer Systems 25

High-level language Level of abstraction

closer to problem domain

Provides for productivity and portability

C Program

Compile Assemble

Assembly Program

Assembly language Textual representation

of instructions

Machine Program

Hardware representation Binary digits

(bits) Encoded

instructions and data

001000010000000000100000000000001110000000000001010001000000000100011100010000000010100000001010110111001111101110111111000000001110011111111110

int main(void){int i;int total = 0;for (i = 0; i < 10; i++) {total += i;

} while(1); // Dead loop

}