130 likes | 260 Vues
This lecture covers the essential aspects of microprocessor selection for Real-Time and Embedded Systems, alongside key job interview preparations at Erilyn Engineering. It explores critical factors such as performance, power efficiency, compatibility, and cost considerations when selecting microprocessors. Additionally, it addresses job expectations, first assignments, and common interview questions tailored for engineers in this field. Attendees will gain insight into both technical selection criteria and personal preparation for career advancement in embedded engineering.
E N D
CompE 460 Real-Time and Embedded Systems Lecture 2 – Interview and Design Process
Agenda Prayer/Thoughts Job Interview for Erilyn Engineering Lab #2 Microprocessor Selection
Erilyn Engineering • Job Interview
Erilyn Engineering • Job Expectations • First Assignment • Processor Selection
Microprocessor Selection • What are some of the things you need to consider when selecting a processor or controller? • Performance • Price • Power Efficiency • Run mode • Sleep mode • Quality of Development Tools • Compatibility with earlier processors • Vendor Roadmap • Life Expectancy • Military Versions • Availability as stand-alone chip or licensable core • Flexibility • FPGA fabric, reconfigurable?
Processor Performance • Benchmarks • Lots of Benchmarks out there (some good, some very misleading) • MIPS – Millions of instructions per second • Drystone • iCOMP – encompasses performance components that represent integer math, floating math, graphics and video • STREAM - measures sustainable memory bandwidth and the corresponding computation rate for simple vector kernels. It is similar to a number of applications - streaming data, such as video editing, format conversion of audio and video, and encryption primitives. • EEMBC
Development Tools Support • OS’s • Footprint • Performance • Real Time? • Libraries • Services • IDE • Device Drivers • Compilers • Processor Specific Libraries • HW/SW Debugging Tools • Performance Tools
Choices of Microprocessors A wide range of microprocessors and/or microcontrollers are available • Processors vary in • word size/bus width • internal memory and peripherals • Timers, I/O ports, DMA channels, etc. • supported external memory • Power/Performance • Many sizes and configurations available, with obvious cost and performance tradeoffs • Feature Set directed to specific applications • Math co-processors • Streaming data
Many, Many, Many • Dozens of companies who make processors http://bwrc.eecs.berkeley.edu/CIC/industry_hl.html • Hundreds of different processors architectures • x86, Mips, ARM, X-Scale, Itanium, 8052, DSP, 3d Graphics Engines • Thousands of different Processors • 8088, 8086, 80186, 80286, Pentium ….. • Arm710, Arm720, Arm920, Arm 922, Arm1020 ….. • X-Scale – PXA255, PXA262, PXA265, PXA272 ….. • Itanium – Itanium1, Itanium2 900MHz, Itanium2 1.3 GHz ….. • MIPS324K, MIPS324KE, MIPS645K, ….. • PIC16F876A, PIC16F873A, PIC16C94, ….. • DSP – 56000, 56200, 56F8300, TMS320, ….. • 3D graphics engines – ATI Radeon9600, NVidia GEForce 6800 …..
Interview Questions • Why do you want to work for Erilyn Engineering? What do you expect from us? (looking for mutual benefit) • We have lots of work to do here. What if your assignment takes you longer to complete than expected? What will you do? (looking for good communication and commitment to task) • Can you give me an example of when you worked nights and weekends? (looking for commitment to task) • What if we have a critical deliverable when your wife is having a Birthday? (looking for balancing priorities) • Have you ever worked in a team environment? If so, give me a good example of how a team should work together? How about a bad example? (looking for positive team player) • What do you do if someone on the team is not completing their assignments (looking for good communication, ability to take on responsibility, looking for proactive solutions to problems – do not hide from problems – confront them)
Interview Questions • Write a short C program with a global variable x and a local int variable array y of 4 values int x; myfunc (void) { int y[4]; } • What is the difference between x and y? • Scope • Where are x and y physically located? • X in data mem, y on stack • Add pointer to int z and have it point to y; Int *z; Z = &y; • If I add the function z++, what does it mean? • z points to y[1]
Interview Questions • Give truth table for a 2 input NAND gate • Give truth table for 2 input XOR gate • Construct an XOR function using NAND gates