Lecture 15: Final Exam Review

advertisement
EE 319K
Introduction to Embedded Systems
Lecture 15:
Final Exam Review
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-1
Final Exam
 Final exam will be similar in style to Exam 1
Approximately the same length and format as
previous final exams
You will have three hours if you need it
 Comprehensive, good things to study are
All the lecture notes & worksheets posted
All lab work
Textbook (sections listed in syllabus)
All homework
Zyante book (specified in HW)
All prior exams (finals and Exam 1s)
o Time entire test alone; review solutions with friends
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-2
Final Exam
 Any technical documents required will be provided
 Closed book, closed notes
 No calculators allowed (all calculations will be simple)
 Partial credit for answers in equation form
 http://users.ece.utexas.edu/~valvano/Volume1/FinalSp13a.pdf
 http://users.ece.utexas.edu/~valvano/Volume1/FinalF12a.pdf
 It may have short answer questions
Conversions, definitions
 Will have longer questions involving assembly and C
Local variables, FSM, interrupts, ADC input, DAC
Focus will be on fundamentals and techniques
You should be able to do software problems
in both
assembly
and
C! Yerraballi
15-3
Bard, Tiwari,
Telang, Janapa
Reddi, Gerstlauer,
Valvano,
Final Exam Review
 Definitions (matching or multiple choice)

















volatile, nonvolatile, RAM, ROM, port, kibibyte, mebibyte
static efficiency, dynamic efficiency, white box, black box
structured program, call graph, data flow graph
basis, nibble, precision, decimal digits, promotion, demotion
fixed-point, overflow, ceiling and floor, drop out
desk check, intrusive, dump, stabilization, profile, heartbeat
bus, address bus, data bus, bus cycle
memory-mapped, I/O mapped, vector, device driver,
Von Neumann architecture, Harvard architecture, CISC, RISC
tristate, open collector, ALU, registers
negative logic, positive logic, Ohm’s Law, P=V*I, KVL, KCL
thread, real-time, latency, interrupt, vector, priority
private, public, local, global, call by value, call by reference
friendly, mask, toggle, baud rate, bandwidth, frame
Nyquist Theorem, monotonic, accuracy, jitter
ADC/DAC limits: max, min, resolution, fs, number of samples
PLL (tradeoff between power and speed)
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-4
Final Exam Review
Number conversions - convert one
format to another
decimal digits
signed decimal e.g., -56
unsigned decimal e.g., 200
binary e.g., %11001000
hexadecimal e.g., 0xC8
IEEE 754 floating point (not this semester)
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-5
Final Exam Review
 Instruction detail and Cortex-M operation
 operation of ARM instructions (reference sheet)
 components in address space
 subroutine linkage
 stack operations
 8-bit addition, subtraction yielding result, N, Z, V, C
o No N Z V C this semester
 Simple programs
 create global variables
 specify an I/O pin is an input
 specify an I/O pin is an output
 clear an I/O output pin to zero
 set an I/O output pin to one
 toggle an I/O output pin
 check if an I/O input pin is high or low
 add, sub, shift left, shift right, and, or, eor
 subroutine linkage
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-6
Final Exam Review
 Switch & LED interfacing
 GPIO Ports
 friendly programming practices
 LED and switch interfacing
 bit-specific addressing (no bit-specific addressing this
year)
 SysTick Timer
 initialization
 operational parameters
o period
 busy-wait delay or periodic interrupt
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-7
Final Exam Review
 System Design
 Successive Refinement, modularity
 Stepwise Refinement
 Systematic Decomposition
 Finite State Machines
 Moore and Mealy machine characteristics
 abstraction
 programming structures
 Local Variables
 types of storage
o stack, registers, binding, SP address, stack frame addressing
 C programming
 Variables, expressions, control, data structures
 casting and indirection, pointers, arrays, structures
 storage type qualifiers
o const static volatile
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-8
Final Exam Review
 I/O Synchronization
 Purpose, types
o blind cycle, busy/wait, interrupt, DMA
o Semaphore, mailbox, FIFO
 Device Driver
 Performing I/O with an external device (like the LCD)
 Interrupts
 initialization rituals
But simpler
o software actions/what needs to be done
 interrupt service routines
o hardware operation
o thread context switch/what needs to be done
 debugging techniques
 Mailbox and FIFO queues
 operation
 programming
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-9
Final Exam Review
 Digital To Analog Converter (DAC)
 Operation, characteristics, Ohm’s Law
 Sound Generation
 Discrete time sinusoid
 Periodic interrupts
 Timing requirements
 Analog To Digital Converter (ADC)
 Operation, characteristics, programming
 Nyquist Theorem
 UART
 Operation, programming, start bit, stop bit, rates
 Real time and communication systems
 Latency, jitter, throughput ≡ bandwidth
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-10
Practice Problems in Book
Hardware interfacing
4.12, 4.13, 4.15, 4.17
Parallel Port initialization
4.5, 4.6, 4.7, 4.10, 4.11
Software
4.18, 4.19, 4.20, Lab 4.3, Lab 4.5, Lab 4.6,
5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 5.10
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-11
Practice Problems in Book
 Pointers
 6.1, 6.2, 6.3, 6.4, 6.6, 6.7, 6.9,
 Matrix (2-D array)
 6.10, 6.11,
 FSM
 6.12, 6.13, 6.14, 6.15
 Variables
 7.1, 7.2, 7.3, 7.4,
 Parameters
 7.5, 7.15, 7.16, 7.18
 Fixed point
 7.6, 7.7, 7.10, 7.11, 7.12, 7.13, 7.22
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-12
Practice Problems in Book
 Recursion
 7.21
 UART
 8.1, 8.2, 8.3, 11.10, 11.11
 SysTick, interrupts
 9.1, 9.4, 9.7, 9.8, 9.10, 9.12, 9.15, 9.16
 DAC
 10.1
 Checkpoints 10.1-10.7
 ADC
 10.2-10.11
 Checkpoint 10.8
 FIFO
 Checkpoints 11.2-11.5
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-13
Comp Architecture/Embedded Systems
Digital Logic
Design
(EE 316 | FS)
Electives
Embedded
Systems Lab
Digital
System Design
(EE 460M | FS)
(EE 445L | FS)
Real-Time
and Embedded
Systems
(EE 445M | S)
Introduction to
Microcontrollers
(EE 319K | FS)
Computer
Architecture
Algorithms
(EE 460N | FS)
(EE 360C | FS)
Computer-Aided
IC Design
(EE 460R | FS)
Real-Time
DSP
Laboratory
(EE 445S | FS)
From small
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
Concurrent and
Distributed
Systems
(EE 360P | S)
Operating
Systems
(EE379K)
To large systems
15-14
Comp Architecture/Embedded Systems
 Required





EE 316
EE 460N
EE 445L
EE 360C
M 325K
Digital Logic Design
Computer Architecture
Embedded Systems Lab
Algorithms
Discrete Mathematics
 Three of the following









EE 422C
EE 445M
EE 445S
EE 460M
EE 360P
EE 460R
EE 362K
CS 375
EE 379K
Software Design and Implementation II
Embedded and Real-Time Systems Lab
Real-Time Digital Signal Processing Lab
Digital Systems Design Using VHDL
Concurrent and Distributed Systems
Computer-Aided Integrated Circuit Design
Introduction to Automatic Control
Compilers (Fall 2016 ECE course as well)
New OS course, Fall 2015
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-15
Computer System Design
Understanding the operation and design of computers
Applications,
Operating systems,
Compilers,
Instruction set,
Microarchitecture,
Logic design,
Circuit design
Good secondary cores: Electronics and IC, Software
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-16
We’ve Come a Long Way
 Transistor count doubles every 18 months
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-17
Computer Architecture Area
 Design of general-purpose computer systems
From personal (laptops, desktops) to cloud (servers)
 Which courses are most relevant & important?
EE 460N for computer architecture
 What are important technical challenges today?
Size, speed, security, software/hardware, power
 What industries/companies need these skills?
Any company making computer equipment
 How do I prepare for graduate school?
Take EE 460N Comp. Arch. and EE 360C Algorithms
Get involved in undergraduate research
MS degree is essential for this area
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-18
Embedded Systems Area
 Design of special-purpose computer systems
From toasters (μController) to airplanes (systems-on-chip)
 Which courses are most relevant & important?
EE445L digital-analog codesign, systems level design
EE445M real-time operating systems, device drivers,
and autonomous robots
 What are important technical challenges today?
Time-to-market; maximizing use of Moore’s law
Size, power, profit margins
 What industries/companies need these skills?
Any company making super high volume products
 How do I prepare for graduate school?
Take EE 460N Comp. Arch. and EE 360C Algorithms
Get involved in undergraduate research
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-19
EE460N Computer Arch



















What is Architecture, Tradeoffs
Instruction Set Architecture, LC-3b ISA
Assemblers: Translating Assembly Language to ISA
Microarchitecture: Detailed LC-3b implementation
Physical memory, unaligned access, interleaving, SRAM, DRAM
Virtual memory, page tables, TLB, VAX model, PowerPC model,
contrast with segmentation
Cache memory
Interrupts/Exceptions
I/O
Performance Improvement. Metrics, Pipelining.
Branch prediction
Out-of-order execution
Vector processing
Integer arithmetic, Floating point, IEEE Standard
Measurement Methodology
Intro to Multiprocessing, Interconnection networks, Amdahl's Law,
Consistency models
Cache coherency
Alternative Models of Concurrency: SIMD, MIMD, VLIW, dataflow, etc.
State-of-the-art Microprocessor
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-20
EE460N - Labs
Write an assembler
Write an instruction set simulator
Write a cycle-level simulator
Interrupt support
Virtual memory
Pipeline
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-21
EE460M Digital Design Using VHDL
 Review of Basic Logic Design Techniques (with emphasis
on timing)
 Design Flow, High Level Design
 VHDL Descriptions of Digital Systems and Simulation
 Synthesis
 Design using Programmable Logic Devices
 SM Charts
 Field Programmable Gate Arrays (FPGAs)
 Advanced Topics in VHDL
 Test Generation and Design for Testability
 Rapid Prototyping using FPGAs
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-22
EE460M - Labs
VHDL’s timing to model gate-level
circuits
FSM simulation
VHDL Package Sorter
Traffic Meter Simulation
BCD conversion, Square Root
Microprocessor Design & Implementation
in FPGA
VGA Graphics and Keyboard Interface
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-23
EE445L Embedded Systems Lab








debugging with an oscilloscope and a logic analyzer;
design of an alarm clock and I/O driver;
design of a real-time data acquisition system;
Motor control;
design of a music player, DAC, data structure design;
Power management and PCB layout;
Wireless communication, layered protocol;
board-level design, construction and testing of a
complete embedded system
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-24
EE445L - Labs











Lab
Lab
Lab
Lab
Lab
Lab
Lab
Lab
Lab
Lab
Lab
1. ASCII to fixed-point output to OLED
2. Debugging, oscilloscope, logic analyzer, dump
3. Alarm clock, edge-triggered input interrupts
4. Stepper motor, interrupts, finite state machine
5. 12-bit DAC, SPI, Music player, audio amp
6. Introduction to PCB Layout, PCB Artist
7. Design and Layout of an Embedded System
8. Software Drivers for an Embedded System
9. Measurement, ADC, analog amp
10. Wifi, UART, distributed systems
11. Evaluation of Embedded System
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-25
EE445M Real-time operating systems
 Lab 1. I/O port drivers
 Lab 2. Real-time operating system kernel
 Lab 3. Blocking semaphores, priority
 Lab 4. Microphone input, digital filters, FFT,
 Lab 5. Solid state disk, SSI, address translation,
layered software, file system
 Lab 6. Distributed acquisition using Ethernet
 Lab 7 Formula 0001 Racing Robot
Go watch the races in Spring
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-26
For more information
 Bard, Bill (network communications)
 Chase, Craig (software design)
 Chiou, Derek (architecture)
 Erez, Mattan (architecture)
 Evans, Brian L. (DSP applications)
 Gerstlauer, Andreas (embedded systems, IC)
 Janapa Reddi, Vijay (architecture)
 John, Lizy (architecture)
 Patt, Yale (architecture)
 Swartzlander, Earl (architecture)
 Tiwari, Mohit (architecture, security)
 Valvano, Jonathan (embedded medical devices)
Bard, Tiwari, Telang, Janapa Reddi, Gerstlauer, Valvano, Yerraballi
15-27
Download