ELEC 2220 – Computer Systems
Introduction to general purpose and embedded systems
Victor P. Nelson
ELEC 2220 Computer Systems 1Summer 2020
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
Software and Hardware Engineering: Motorola M68HC12 Copyright © 2000 by Oxford University Press, Inc.
Basic computer system.
3
Summer 2020 ELEC 2220 Computer Systems 4
Personal Computer
Peripherals
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
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
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
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.
Intel microprocessors – 20th century
Summer 2020 ELEC 2220 Computer Systems 9
Show devices
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)
Intel Core i7 high end desktop architecture
ELEC 2220 Computer Systems 11Summer 2020
ELEC 2220 Computer Systems 12Summer 2020
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
T.I .smartphone reference design
MainSoC
ELEC 2220 Computer Systems 14Summer 2020
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
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
Summer 2020 ELEC 2220 Computer Systems 17
Introduction to Arm Cortex-M Microcontrollers, Jonathan W. Valvano
Summer 2020 ELEC 2220 Computer Systems 18
Introduction to Arm Cortex-M Microcontrollers, Jonathan W. Valvano
Summer 2020 ELEC 2220 Computer Systems 19
Introduction to Arm Cortex-M Microcontrollers, Jonathan W. Valvano
Summer 2020 ELEC 2220 Computer Systems 20
Our microcontroller: STM32F407
Introduction to Arm Cortex-M Microcontrollers, Jonathan W. ValvanoSummer 2020 ELEC 2220 Computer Systems 21
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
Samsung Galaxy Gear
• STMicroelectronics STM32F401B ARM-Cortex M4 MCU with 128KB Flash
source: ifixit.com
ELEC 2220 Computer Systems 23Summer 2020
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
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
}