ECE 471 Embedded Systems Lecture 2

Similar documents
ECE 471 Embedded Systems Lecture 2

ECE 471 Embedded Systems Lecture 2

ECE 471 Embedded Systems Lecture 3

INTEL Architectures GOPALAKRISHNAN IYER FALL 2009 ELEC : Computer Architecture and Design

ECE 571 Advanced Microprocessor-Based Design Lecture 3

ECE 571 Advanced Microprocessor-Based Design Lecture 13

Network Embedded Systems Sensor Networks Fall Hardware. Marcus Chang,

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Basic Components of Digital Computer

3.1 Description of Microprocessor. 3.2 History of Microprocessor

Introduction to Microprocessor

Segment 1A. Introduction to Microcomputer and Microprocessor

ELCT708 MicroLab Session #1 Introduction to Embedded Systems and Microcontrollers. Eng. Salma Hesham

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Microcontrollers. Microcontroller

ECE 598 Advanced Operating Systems Lecture 4

ELCT 912: Advanced Embedded Systems

Alternate definition: Instruction Set Architecture (ISA) What is Computer Architecture? Computer Organization. Computer structure: Von Neumann model

Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers

SYSTEM BUS AND MOCROPROCESSORS HISTORY

Introduction to Microcontrollers

Calendar Description

Introduction to ASIC Design

ECE 571 Advanced Microprocessor-Based Design Lecture 20

Microprocessor (COM 9323)

Microprocessors/Microcontrollers

Introduction to ARM LPC2148 Microcontroller

ECE 571 Advanced Microprocessor-Based Design Lecture 12

ELC4438: Embedded System Design Embedded Processor

1 Introduction to Microcontrollers

ARM Processors for Embedded Applications

Microprocessors And Microcontroller

EMBEDDED SYSTEM BASICS AND APPLICATION

PIC Microcontroller and

Microprocessors, Lecture 1: Introduction to Microprocessors

CN310 Microprocessor Systems Design

EE 308: Microcontrollers

EE 354 Fall 2015 Lecture 1 Architecture and Introduction

Computer Architecture Review. ICS332 - Spring 2016 Operating Systems

systems such as Linux (real time application interface Linux included). The unified 32-

VLSI Design Lab., Konkuk Univ. Yong Beom Cho LSI Design Lab

AVR Microcontrollers Architecture

EE 308: Microcontrollers

Computer Hardware Requirements for Real-Time Applications

Lecture (01) Introducing Embedded Systems and the Microcontrollers By: Dr. Ahmed ElShafee

Wed. Aug 23 Announcements

Lecture 1. Course Overview and The 8051 Architecture

Microcontroller systems Lec 2 PIC18LF8722 Microcontroller s s core

Universität Dortmund. ARM Architecture

Somes French translations :

COMPLEX EMBEDDED SYSTEMS

Introduction to Embedded Systems

ECE 471 Embedded Systems Lecture 15

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

ECE 571 Advanced Microprocessor-Based Design Lecture 4

Computer Architecture. Introduction. Lynn Choi Korea University

Moodle WILLINGDON COLLEGE SANGLI (B. SC.-II) Digital Electronics

AVR Training Board-I. VLSI Design Lab., Konkuk Univ. LSI Design Lab

ECE 571 Advanced Microprocessor-Based Design Lecture 21

Embedded Systems: Architecture

Part 1 of 3 -Understand the hardware components of computer systems

Elements of Microcomputer Microprocessor RAM (Random Access Memory) ROM (Read Only Memory) > PROM, EPROM, EEPROM I/O Devices Interface Components

Chapter 1: Introduction to the Microprocessor and Computer 1 1 A HISTORICAL BACKGROUND

Robotic Systems ECE 401RB Fall 2006

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

Microprocessors I MICROCOMPUTERS AND MICROPROCESSORS

EE 3170 Microcontroller Applications

Course overview Computer system structure and operation

MICROCONTROLLERS 8051

ECE 574 Cluster Computing Lecture 18

COMP2121: Microprocessors and Interfacing. Introduction to Microprocessors

Chapter 10 Objectives

Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform.

Multicore computer: Combines two or more processors (cores) on a single die. Also called a chip-multiprocessor.

Microcomputer Architecture and Programming

Microcontroller Not just a case of you say tomarto and I say tomayto

Introduction to Arduino. Wilson Wingston Sharon

Overview. Memory Classification Read-Only Memory (ROM) Random Access Memory (RAM) Functional Behavior of RAM. Implementing Static RAM

Chapter 5. Introduction ARM Cortex series

EMAC SoM Presentation.

Evolution of Computers & Microprocessors. Dr. Cahit Karakuş

Distributed Real-Time Control Systems. Module 3 Hardware for Real Time Distributed Control Systems

ECE 571 Advanced Microprocessor-Based Design Lecture 18

A First Look at Microprocessors

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad

Course Introduction. Purpose: Objectives: Content: Learning Time:

Embedded Systems. 8. Hardware Components. Lothar Thiele. Computer Engineering and Networks Laboratory

Computer Organization & Assembly Language Programming (CSE 2312)

Lecture (02) x86 programming 1

Fig 1. Block diagram of a microcomputer

Computers: Inside and Out

PRU Hardware Overview. Building Blocks for PRU Development: Module 1

CMPE 310: Systems Design and Programming

Advanced Microcontrollers Grzegorz Budzyń Lecture. 1: Introduction

ECE 471 Embedded Systems Lecture 12

CREATED BY M BILAL & Arslan Ahmad Shaad Visit:

Evolution of CPUs & Memory in Video Game Consoles. Curtis Geiger & Matthew Meehan

UNIVERSITY OF MORATUWA CS2052 COMPUTER ARCHITECTURE. Time allowed: 2 Hours 10 min December 2018

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor

Babu Madhav Institute of Information Technology, UTU

Transcription:

ECE 471 Embedded Systems Lecture 2 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 7 September 2018

Announcements Reminder: The class notes are posted to the website. HW#1 will be assigned, watch your e-mail 1

Continuation from Last Time Type Speed RAM Disk GPU Intel Xeon 64-bit 3GHz 8GB 1TB Nvidia ARM A53 64-bit(?) 1GHz 1GB 8GB VC4 ARM M0 32-bit 32MHz 16kB 128kB none MOS 6502 8-bit 1MHz 64kB 140kB none 2

Common Low-End Embedded Architectures Somewhat dated list, from EE Times 2003. answers so doesn t necessarily sum up to 100% Multiple 8-bit processors Microchip PIC 43% AVR, etc. 8051 55% Motorola 68xx 36% Zilog Z80 15% 16-bit processors 3

8086/80186/80286 41% 68HC12 21% 4

What Processors Commonly Used? As reported by IDC at the SMART Technology conference in San Francisco for 2011 ARM 71% MIPS 11% Other 9% (Linux supports 20+ architectures) x86 8% (at least Intel s desperately trying) Power 2% RISC-V? 5

We ll Mostly Use ARM in this Class Widely used You ll see if it you move to industry Other classes in ECE using it 6

Microprocessors First one considered to be 4004 by Intel (for use in calculator) First to include all of a CPU on one chip. Before that there were processors, but often were made out of many discrete chips (sometimes entire boards full of logic) 7

8-bit vs 16-bit vs 32-bit CPU registers PC Addr Data Memory 1 A0 0A1 1A2 0 1 0 1 0 1 1 0 ALU D7 D5 D3 D1 D6 D4 D2 D0 What makes a processor 8-bit vs 16-bit vs 32-bit? The size of the registers? The size of the address bus? 8

The size of the data bus? The size of the ALU (integer math unit)? The size of the PC (program counter)? On modern systems it typically is the integer registers, as well as the maximum size of a memory pointer (which typically is the same as the integer register size) On many systems though it is not as clear cut. A pure 8-bit system would have 8-bit registers (0-255), 8-bit ALU, and an 8-bit data bus. However an 8-bit address bus (only 256 bytes of RAM) is too limiting so most 8-bit processors (6502, z80, 8080, etc) had 16-9

bit address busses, 16-bit PCs, and often 16-bit register capability Most 16-bit processors were equally complex. The 8086 had 16-bit registers and 16-bit data bus, but a 20-bit address bus with complex addressing. To complicated things, the 8088 was 8086 compatible but had only an 8-bit data bus (to save cost, with the side effect of making memory accesses take twice as long) Most 32-bit processors have 32-bit registers and 32-bits of address space, but that limits to 4GB so some have extensions (x86 and ARM) allowing 36-bits of address 10

space. And data bus has been made complex by caches and are often quite large. And often there are larger registers on chip (64-bit or 80-bit floating point, 128-bit SSE, 256-bit AVX) Most 64-bit processors have 64-bit registers, but their address bus is often limited (to 36-40 bits, sometimes 48-bits, this is complicated by virtual memory) Do machines have to be a power-of-two in bitness? No, not necessarily. 36-bit machines were once quite popular. 11

System-on-a-Chip / Microcontroller Moore s law allows lots of transistors Discrete Chips: CPU, GPU, Northbridge, Southbridge, (and older days, FPU, MMU, etc) System-on-a-Chip (SoC): All parts of computer on-chip CPU, DSP, memory, timers, USB, voltage regulators, memory controllers System-in-Package (SiP): various chips in one package 12

Extra Features on SoCs Parallel and Serial I/O A/D, D/A converters GPIO pins i2c, CAN, SPI, 1-wire, USB busses FPGA? Low-power Sound, DSP Video, GPU, Video Codecs Timers, PWM 13

ASIC, FPGA, Micro-controller ASIC Application Specific Integrated Circuit direct wiring of state machines / logic on silicon die FPGA reprogrammable low-level logic Microcontroller can do what above do, but in software Why use ASIC: could be faster, but what if mistake? Why use FPGA: could be faster, more expensive Why use microcontroller: Cost. Time to market. Bugfixes (easier to fix in software) 14

Example Embedded Platforms 8051 microcontroller from Intel, 8-bit 8 8-bit registers (one special 16-bit), 8-bit ALU 8-bit data bus, 16-bit address bus (64kB) bank-selectable register set interrupts, timers 128 Bytes on-chip RAM 4k on-chip ROM special boolean engine 15

68HC12 microcontroller ARM Cortex-M0 in the STM32L. See later. Other common embedded systems you might have heard of: PIC generally 8 or 16bit but complicated (instructions can be 12 or 14) ARDUINO various AVR 8/16/32-bit micro controllers AVR 16

Tradeoffs It s all about tradeoffs Power Performance Cost Compatibility Time to Market Features 17

Challenges vs Regular Systems Programming in constrained environment (crosscompiling?) Security Safety Real-time Power consumption Long-life (embedded device might be in use for decades) Testing Bug-fixing 18