23.1 23.2

Unit 23

Summary Review of some key concepts from the first half of the semester A BRIEF SUMMARY

23.3 23.4 A Few Big Ideas 1 A Few Big Ideas 2 • Any algorithm can be implemented • Software interacts with hardware by setting, clearing, in software or hardware Application and reading bits in specific registers Specific Hardware • Hardware will: (no software) • Because we do not know when HW events will occur – Be faster and use less power we use interrupts and/or polling to check for HW – Convert input combinations to desired events output combinations using Cost

– Take care; speed matters! One physical event may be seen combinational logic that often includes Spectrum Performance

as multiple events to a fast software loop; or you may miss muxes, adders, decoders, and System Computing Flexibility, Design Time Flexibility, an event completely if your software responds too slowly comparators General Purpose – We must write our software with this in mind – Use sequential logic, namely a register, HW w/ Software to capture and save state or various data variables on a clock edge for processing in subsequent clocks 23.5 23.6 A Few Big Ideas 3

• We want to reduce latency and/or increase throughput by techniques such as caching and pipelining • Parallelism both at the hardware and software level can be carefully exploited to improve performance – Communication and collaboration reduce the effectiveness Big picture ideas of what the computer engineering is about REVISITING COMPUTER ENGINEERING

23.7 23.8 Remember Day 1 You Can Do That With Computer Engineering

Cloud & Distributed Computing (CyberPhysical, Databases, Data Applications • Computer engineering prepares Mining, Machine Learning, etc.) you for a broad set of fields Networks Applications C++ / Java / Algorithms – You could work in the SW industry (AI, Robotics, Graphics, Mobile) Python SW

– You could work in the HW industry OS / Systems & Networking Assembly / Libraries – You will be most qualified for jobs (Embedded Systems, IoT, Machine Code Networks) Processor / Memory / that combine that knowledge GPU / FPGAs / Networks We've been focused on the Architecture • (Processors & Embedded Digital Logic software/hardware interaction HW) HW Transistors / Circuits embodied in embedded systems Devices & Integrated Circuits (Semiconductors & Voltage / Currents http://www.cmu.edu/news/image-archive/Boss.jpg Fabrication) http://prisonerofclass-5933.zippykid.netdna-cdn.com/wp-content/uploads/2013/05/iphone.jpg http://firstcallappliance.com/wp-content/uploads/image/microwave.jpg http://www.amazon.com/Fisher-Price-T-M-X-Tickle-Me-Elmo/dp/B000ETRE0Q http://oeatech.net/wp-content/uploads/2011/03/RADARSAT2-satellite.jpg 23.9 23.10 Dive Into a SmartPhone What's Inside Your SmartPhone

 • Here's a picture of what's inside the • What's inside an iPhone 6? iPhone TM • Microcontrollers/microprocessors • Both sides of the circuit board are – Apple A8 APL1011 SoC + Elpida 1 GB LPDDR3 RAM populated with chips – SoC = System on Chip…Not just a processor but a processor 2-sided Circuit Board with custom hardware to do specialized tasks…on-board Battery https://d3nevzfk7ii3be.cloudfront.net/igi/6MaZk5cEE2tm1uCj.huge graphics processor in this case – NXP LPC18B1UK ARM Cortex-M3 Microcontrollers – Similar on-board I/O modules as the Arduino. Take a look… – https://www.nxp.com/docs/en/data-sheet/LPC178X_7X.pdf

• Modem + Amplifiers + Transceivers for wireless communication – Qualcomm MDM9625M LTE Modem + many others

http://www.techinsights.com/teardown.com/apple-iphone-6/ http://www.techinsights.com/teardown.com/apple-iphone-6/

23.11 23.12 What's Inside? Computer Engineering & HW

• Computer engineering prepares you to work • A gyroscope, accelerometer, and touchscreen in jobs that design these kinds of systems by: – InvenSense MP67B 6-axis gyroscope and accelerometer – Learn how to build networked embedded combo systems with IoT applications ( EE 250 ) – Broadcom BCM5976 Touchscreen Controller – Learning how to create custom hardware accelerators ( EE 354 Digital System Design – Both use some form of A-to-D conversion to sense and EE 454L SoC Design ) or touch – Learning how to optimize processors • Memory Storage (pipelining, out-of-order execution) and – SK Hynix H2JTDG8UD1BMS 128 Gb (16 GB) NAND Flash memory systems (caching and virtual memory) to execute software as efficiently as • Other specialized HW I/O modules possible ( EE 457 Computer Architecture ) – Murata 339S0228 Wi-Fi Module – Learning how to write parallel and programs – Qualcomm PM8019 power management IC and use modern distributed computation frameworks to process big data in the cloud – Cirrus Logic 338S1201 audio codec (EE 451 Parallel and Distributed Die Photo of the Apple A8 Computation) SoC Processor http://www.techinsights.com/teardown.com/apple-iphone-6/ http://www.anandtech.com/show/8562/chipworks-a8 23.13 23.14 Amazon Echo

• Let's try to put all of this into context with an example • Let's see what hardware is inside • Let's think about some of the software considerations

Many of the terms you see may not be familiar but ADDITIONAL MATERIAL you will learn about many of them throughout this course. By the end of the semester you should have a good idea of what is going on inside! For now, focus on the categorization of processor, memory, and I/O and how they must talk to each other by doing reads/writes.

23.15 23.16 Amazon Echo Hardware [1/3] Amazon Echo Hardware [2/3]

• Main Processing board • Daughterboard with much of the audio I/O devices – [Red] Texas Instruments DM3725CUS100 Digital Media Processor – [Red] Texas Instruments LP55231 Programmable 9-Output LED Driver (x4) – [Orange] Samsung K4X2G323PD-8GD8 256 MB LPDDR1 RAM – [Orange] Texas Instruments TLV320ADC3101 92dB SNR Low-Power Stereo ADC (x4) – [Yellow] SanDisk SDIN7DP2-4G 4 GB iNAND Ultra Flash Memory – [Yellow] Texas Instruments SN74LVC74A Dual Positive-Edge-Triggered D-Type – [Green] Qualcomm Atheros QCA6234X-AM2D Wi-Fi and Bluetooth Flip-Flops Module – [Green] S1053 0090 V6 Microphone (x7) – [Blue] Texas Instruments TPS65910A1 Integrated Power Management IC In your first few labs you will build systems to control LEDs, perform A-to- You will learn D conversions more about (ADC), and learn how the about "flip-flops" processor and memory are designed.

https://www.ifixit.com/Teardown/Amazon+Echo+Teardown/33953 https://www.ifixit.com/Teardown/Amazon+Echo+Teardown/33953 23.17 23.18 Amazon Echo Hardware [3/3] Amazon Echo Software

• Power and speaker I/O board • What kind of software do we need? – [Red] Texas Instruments TPS53312, likely an updated version of the TPS53311 3A Step-Down Regulator with Integrated Switcher – Firmware: Software that won't often change and – [Orange] Texas Instruments TLV320DAC3203 Ultra Low Power Stereo is meant to control the hardware Audio Codec • Low-level software to control the various hardware – [Yellow] Texas Instruments TPA3110D2 15W Filter-Free Class D Stereo devices (speakers, microphones, etc.) Amplifier Not everything is digital. To produce audible • Operating system to run and coordinate all the higher sound we need to worry about voltage/current requirements. level software apps • Audio processing software to perform voice recognition, etc. – Extensible framework for higher level, networked software that may perform new user-defined

https://www.ifixit.com/Teardown/Amazon+Echo+Teardown/33953 skills/apps

23.19 Amazon Echo Software

• Some tasks may be "Alexa" handled by the hardware/software in the Echo – Recognition of "Alexa" voice command • Other requests may require more information or processing capability than is locally present so it is sent over the Internet to be processed in the cloud

https://developer.amazon.com/alexa-skills-kit