1 / 30

EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan

EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 13: Embedded processors October 24 th and 29 th , 2013. Much of the material for these slides comes from LeeSeshia (see website). Today. Embedded processor overview Student talks:

chibale
Download Presentation

EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 13: Embedded processors October 24th and 29th, 2013 Much of the material for these slides comes from LeeSeshia (see website)

  2. Today • Embedded processor overview • Student talks: • N64 controller • Distance sensors

  3. Computer architecture review • Types of memories • ISA vs. chip implementation • General-purpose computing

  4. Memories from an embedded viewpoint (1/4) • DRAM • Dynamic (duh) • Can be very large (multiple GB reasonable) • Often difficult to interface with • Tight wire rules (length, width, turns) often exist and may be tricky to implement • May require you to track what needs to be refreshed (though generally has a mode where it will do it for you) • Latency can be quite variable and/or slow • Open vs. closed page, page hit vs. page miss • There are a huge variety • Some are small, fast and easy to work with. • Consider using DRAM when massive memory (>10MB) needed where high latency (100ns+) can be tolerated.

  5. Memories from an embedded viewpoint (2/4) • SRAM • Fast (<10ns common) • Often (but not always) easy to interface to. • Can even find SPI SRAM (but really slow of course) • Generally small • Our first choice for memory if volatileis acceptable and size is fairly small (<2MB or so)

  6. Memories from an embedded viewpoint (3/4) • Flash • Non-volatile • Large • Cheap • Slow writes, limited write cycles • HY27UF084G2M 4Gbit (512Mx8bit) NAND Flash • Uses an internal cache • Reading from cache is about 30ns • Moving from cell to cache is about 200μs • Erasing block looks to take around 3ms • 100,000 write cycles/bit.

  7. Memories from an embedded viewpoint (4/4) • FRAM—Ferroelectric RAM • Non-volatile • Highly radiation resistant • Fast • Smaller/more expensive than FLASH (from what I can find) • The MB85R4002A is a 4Mbit FRAM • About as big as they seem to come • 150ns access time for reads and writes (AFAICT) • 1E12 write cycles

  8. Processing unit overview Where to start? • When designing an embedded system, one key question is: • “What processor should I use?” • Obviously the answer depends on a massive number of factors. • CPU computational power needed • And even the type of computational power needed • Interfaces needed • Cost • Power • Expected design time • Debug capabilities • Current familiarity with tools • Etc.

  9. Processing unit overview Highest level: ASIC, off-the-shelf processor, FPGA • These three categories are pretty straightforward and mostly non-overlapping. • An ASIC is an Application Specific Integrated Circuit. • You are “spinning” a chip designed specifically for your application. • Manufacturing costs are a bit difficult to figure out • MOSIS would charge $10,000 for an extremely small chip (40 chips, 1 square mm each) in a very large (700nm) process. • I’ve seen groups pay prices of $50K for a couple of larger ARM-based chips. • Design costs are yet more. • So: • Pros? • Cons?

  10. Processing unit overview Highest level: ASIC, off-the-shelf processor, FPGA • An off-the-shelf processor is one that has been manufactured by someone else. • This doesn’t mean that the processor isn’t highly specialized. • There are chips designed just for printers for example • the HP Unity is MIPs based, ½ GHz, ½ Gbyte standard • Pros? • Cons?

  11. Processing unit overview Highest level: ASIC, off-the-shelf processor, FPGA • You all know what an FPGA is. • But when would you choose to use one in an embedded system? • Even if it isn’t in your embedded system, why else might an FPGA be helpful to embedded system designers? • Pros? • Cons?

  12. Processing unit overview But at this high level, things are fuzzy • Sometimes an FPGA and off-the-shelf processor are integrated. • Actel in 373 • Cypress Semiconductor • Their fabric is generally a bit less flexible than an FPGA, but easier to work with. • And many ASICs are based on standard “off-the-shelf” architectures • ARM being the most common these days • MIPS was similar at one point.

  13. Let’s start with off-the-shelf processors… • This is the most common solution • We’ll spend about 90% of our time here.

  14. Off-the-shelf What device options are there? • One fun part about this is that there are a number of terms used to describe the options, but they aren’t very well defined. • For example, what’s the difference between a microprocessor, a microcontroller and a System-on-a-Chip (SoC)? • It’s really not clear • One axis is that a SoC is expected to have a richer set of peripheral interface capability More peripherals and interface capability SoC Micocontroller Processor

  15. Off-the-shelf However the terms also carry other connotations • For example, in the “CPU-capability” axis microcontrollers are generally thought of as being very limited, generally in the 1-30 MIPs range. • And correspondingly, the microcontroller is expected to have lower power needs. • So keep in mind that terms aren’t always well-defined! Processor SoC Micocontroller CPU-capability

  16. Off-the-shelf So… • While those terms (SoC, Microcontroller, Processor) are commonly used • They aren’t all that well-defined. • None-the-less, we are stuck with them • So let’s explore a bit…

  17. Off-the-shelf (aside) What type of specialized off-the-shelf processors are there? • Generally speaking, you are looking at either: • CPU instructions and features focused on improving performance on a specific type of application • DSP and encryption both have very specific needs. • Specialized I/O. • So CAN bus (standard automotive shared serial bus) • Capacitive touch screen interfaces

  18. Off-the-shelf (μcontroller) Microcontrolers • A small CPU with peripheral devices • Often a wide variety of interfaces (SPI, I2C, UART, GPIO, CAN, etc. available) • Mostly about the I/O • CPUs can be quite weak • low end: 4MHz with a slow microarchitecture getting 1MIPS or so • Often limited memory, but a variety • Might have SRAM, Flash and EEROM all on board! • Sometimes large processors are put in this bucket (Intel’s Atom for example) • Not really what this generally is.

  19. Off-the-shelf (μcontroller) Microcontrollers • Often focus on low power

  20. Off-the-shelf (μcontroller) Example microcontroller • PIC10F200 is about $0.35 each in quantity from DigiKey. • 1MHz, ~1MIPS.

  21. Off-the-shelf (μcontroller) AVR Microcontroller • The AVR processor another example of a microcontroller • Flash, SRAM, EEPROM • 6-30 GPIOs • 4-20MHz • Basic serial I/O capability

  22. Off-the-shelf (SoC) Off-the-shelf Example SoC: Cypress PSoC3: CY8C38

  23. Off-the-shelf (SoC) Example SoC: Cypress • It looks similar to a microcontroller • A bit faster for sure, but when you are advertising multiply and divide… • Power: • How long would a 2000mAh battery be able to keep this thing running? • But it’s peripherals are much more significant. • 68 GPIOs, • Highly configurable on the fly. Can have: • Built-in hardware blocks for FIR/IIR filters @67MHz • Has 4 built-in op-amps (less parts on board) • Can directly interface to a capacitive touch screen

  24. Off-the-shelf (SoC) Just the analog…

  25. Off-the-shelf (processor) Processor • When people discuss processors they often mean something like a desktop CPU. • Power in the 20-200W range for example, but speeds in the 2-3 GHz range. • However there are things like the Atom core (which, Intel markets as a SoC…)

  26. Off-the-shelf Intel AtomWhat looks different? • ~40 Watts

  27. Off-the-shelf Let’s look at DSP • Application characteristics: • Generally walk through fixed size circular buffers • Generally are taking sums-of-products of two buffers. • Often (but not always) use fixed-point notation • Occasionally need to bit-reverse memory. • Low power is often critical. • So what do digital signal processors need to supply?

  28. DSP • Filtering example…

  29. ASIC ASIC • Not a lot to say here, each case is, by definition, different. • A lot of embedded systems work is with ASICs these days. • The (vast?) majority of cell phones use in-house designed processors, 95%+ of which are ARM based. • The iPad uses an ASIC. • What’s interesting is how design costs generally dominate over the one-off mask costs • Not that mask costs aren’t a major factor. • You really want to avoid respins… • If you have a large market, need decent performance and are highly power constrained • ASIC is clearly the way to go.

  30. FPGA FPGA • There can be quite a bit of feature difference between the different FPGA choices. • You can find FPGAs for as little as $10 and as much as $3000. • Some use non-volatile memory, others need external help on power-up.

More Related