Introduction to the Blackfin Processor

Total Page:16

File Type:pdf, Size:1020Kb

Introduction to the Blackfin Processor Embedded Signal Processing with the Micro Signal Architecture PREV NEXT ⏮ ⏭ Part B Embedded Signal Proce... 6. Real-Time DSP Fundamenta... Chapter 5 Introduction to the Blackfin Processor T his chapter examines the architecture of the Blackfin processor, which is based on the MSA jointly developed by Analog Devices and Intel. We use assembly programs to introduce the processing units, registers, and memory and its addressing modes. At the end of the chapter, we design, simulate, and implement an eight­band graphic equalizer and use this application to explain some of the practical implementation issues. An in­depth discussion of the real­time processing concepts, number representations, peripheral programming, code optimization, and system design is given in Chapters 6, 7 , and 8 . 5.1 THE BLACKFIN PROCESSOR: AN ARCHITECTURE FOR EMBEDDED MEDIA PROCESSING This section introduces the architecture of the Blackfin processor and its internal hardware units, memory, and peripherals using assembly instructions. In particular, we use the BF533 processor [23] for explaining the Blackfin processor’s architecture. The BF537 processor [24] has core and system architectures identical to those of the BF533, but slightly different on­chip peripherals. 5.1.1 INTRODUCTION TO MICRO SIGNAL ARCHITECTURE As introduEcend ijno Cyha Sptear f1,a threi M? SSA ucorbe swcasr diebsigen eTd oto dacahieyve high­ speed DSP performance and best power efficiency. This core combines the best capabilities of microcontroller and DSP processor into a single programming model. This is different from other cores that require separate DSP processor and microcontroller. The main advantage of the MSA core is the integrated feature that combines multimedia processing, communication, and user interface on a single, easy­to­program platform. This highly versatile MSA core performs DSP tasks as well as executing user commands and control tasks. The programming environment has many features that are familiar to both microcontroller and DSP programmers, thus greatly speeding up the development of embedded systems. The MSA architecture is also designed to operate over a wide range of clock speeds and operating voltages and includes circuitry to ensure stable transitions between operating states. A dynamic power management circuit continuously monitors the software running on the processor and dynamically adjusts both the voltage delivered to the core and the frequency at which the core runs. This results in optimized power consumption and performance for real­time applications. 5.1.2 OVERVIEW OF THE BLACKFIN PROCESSOR The ADSP­BF5xx Blackfin processor is a family of 16­bit fixed­point processors that are based on the MSA core. This processor targets power­ sensitive applications such as portable audio players, cell phones, and digital cameras. Low cost and high performance factors also make Blackfin suitable for computationally intensive applications including video equipment and third­generation cell phones. The first generation of the BF5xx family is the BF535, which achieves a clock speed up to 350 MHz at 1.6 V. Analog Devices introduced three processor families (BF532, BF533, and BF561) in 2003. These processors can operate up to 750 MHz at 1.45 V. The clock speed and operating voltages can be switched dynamically for given tasks via software for saving power. The BF561 processor incorporates two MSA cores to improve performance using parallel processing. A recent release of the BF5xx family consists of BF534, BF536, and BF537. These processors add embedded Ethernet and controller area network connectivity to the Blackfin processor. The Blackfin core combines dual multiply­accumulate (MAC) engines, an orthogonal reduce­instruction­set computer (RISC)­like instruction set, single instruction, multiple data (SIMD) programming capabilities, and multimedia processing features into a unified architecture. As shown in Figure 5.1, the Blackfin BF533 processor [23] includes system peripherals such as parallel peripheral interface (PPI), serial peripheral interface (SPI), serial ports (SPORTs), general­purpose timers, universal asynchronous receiver transmitter (UART), real­time clock (RTC), watchdog timer, and general­purpose input/output (I/O) ports. In addition to these system peripherals, the Blackfin processor also has a direct memory access (DMA) controller that effectively transfers data between external devices/memories and the internal memories without processor intervention. Blackfin processors provide L1 cache memory for quick accessing of both data and instructions. In summary, Blackfin processors have rich peripheral supports, memory management unit (mmu), and RISC­like instructions, which are typically found in many high­end microcontrollers. These processors have high­ speed buses and advanced computational engines that support variable­ length ariEthmnejtoic yop eSraatiofnasr ini? ha Srduwabres. Tchreisbe fea tTuroesd makye the Blackfin processors suitable to replace other high­end DSP processors and microcontrollers. In the following sections, we further introduce the core architecture and its system peripherals. Figure 5.1 Block diagram of the Blackfin BF533 system (courtesy of Analog Devices, Inc.) 5.1.3 ARCHITECTURE: HARDWARE PROCESSING UNITS AND REGISTER FILES Figure 5.2 shows that the core architecture consists of three main units: the address arithmetic unit, the data arithmetic unit, and the control unit. 5.1.3.1 Data Arithmetic Unit The data arithmetic unit contains the following hardware blocks: 1. Two 16­bit multipliers represented as in Figure 5.2. 2. Two 40­bit accumulators (ACC0 and ACC1). The 40­bit accumulator can be partitioned as 16­bit lower­half (A0.L, A1.L), 16­bit upper­half (A0.H, A1. H), and 8­bit extension (A0.X, A1.X), where L and H denote lower and higher 16­bit, respectively. Figure 5.2 Core architecture of the Blackfin processor (courtesy of Analog Devices, Inc.) 3. Two 40E­bnit jaorityhm Setaic floagirc iu?n iSts (uALbUss)c rerpirbesen tTedo ads ay in Figure 5.2. 4. Four 8­bit video ALUs represented as in Figure 5.2. 5. A 40­bit barrel shifter. 6. Eight 32­bit data registers (R0 to R7) or 16 independent 16­bit registers (R0. L to R7.L and R0.H to R7.H). Computational units get data from data registers and perform fixed­point operations. The data registers receive data from the data buses and transfer the data to the computational units for processing. Similarly, computational results are moved to the data registers before transferring to the memory via data buses. These hardware computational blocks are used extensively in performing DSP algorithms such as FIR filtering, FFT, etc. The multipliers are often combined with the adders inside the ALU and the 40­bit accumulators to form two 16­by 16­bit MAC units. Besides working with the multiplier, the ALU also performs common arithmetic (add, subtract) and logical (AND, OR, XOR, NOT) operations on 16­bit or 32­bit data. Many special instructions or options are included to perform saturation, rounding, sign/exponent detection, divide, field extraction, and other operations. In addition, a barrel shifter performs logical and arithmetic shifting, rotation, normalization and extraction in the accumulator. An illustrative experiment using the shift instructions is presented below in Hands­On Experiment 5.3. With the dual ALUs and multipliers, the Blackfin processor has the flexibility of operating two register pairs or four 16­bit registers simultaneously. In this section, we use Blackfin assembly instructions to describe the arithmetic operations in several examples. The assembly instructions use algebraic syntax to simplify the development of the assembly code. EXAMPLE 5.1 Single 16-Bit Add/Subtract Operation Any two 16­bit registers (e.g., R1.L and R2.H) can be added or subtracted to form a 16­bit result, which is stored in another 16­bit register, for example, R3.H = R1.L + R2.H (ns), as shown in Figure 5.3. Note that for 16­bit arithmetic, either a saturation flag (s) or a no saturation (ns) flag must be placed at the end of the instruction. The symbol “;” specifies the end of the instruction. Saturation arithmetic is discussed in Chapter 6. The Blackfin processor provides two ALU units to perform two 16­bit add/subtract operations in a single cycle. This dual 16­bit add/subtract operation doubles the arithmetic throughput over the single 16­bit add/subtract operation. EXAMPLE 5.2 Dual 16-Bit Add/Subtract Operations Any two 32­bit registers can be used to store four inputs for dual 16­bit add/subtract operations, and the two 16­bit results are saved in a single 32­bit register. As shown in Figure 5.4, the instruction R3 = R1+|−R2 performs addition in the upper halves of R1 and R2 and subtraction in the lower halves of R1 and R2, simultaneously. The results are stored in the high and low words of the R3 register, respectively. Enjoy Safari? Subscribe Today Figure 5.3 Single 16­bit addition using three registers Figure 5.4 Dual 16­bit add/subtract using three registers Figure 5.5 Quad 16­bit add/subtract using four registers The Blackfin processor is also capable of performing four (or quad) 16­bit add/subtract operations in a single pass. These quad operations fully utilize the dual 40­bit ALU and thus quadruple the arithmetic throughput over the single add/subtract operation. EXAMPLE 5.3 Quad 16-Bit Add/Subtract Operations In quad 16­bit add/subtract operations, only the same two 32­bit registers can be used to house the four 16­bit inputs for these quad additions. In other words, two operations can be operated on the same pair of 16­bit registers. For example, the instructions R3 = R1+|−R2, R4 = R1−|+R2 perform addition and subtraction on the halves of R1 and R2 as shown in Figure 5.5. Note that the symbol “,” separates two instructions that are operated aEt tnhej soamye S cyaclef.ari? Subscribe Today Besides the previous 16­bit operations, the Blackfin processor can also perform single 32­bit add/subtract using any two 32­bit registers as inputs.
Recommended publications
  • Corecommander for Microprocessors and Microcontrollers
    CORECOMMANDER FOR MICROPROCESSORS AND MICROCONTROLLERS Factsheet Direct access to memory and peripheral devices (I/O) for testing, debugging and in-system programming • Direct access to memory and peripheral (I/O) devices of a micro- processor through its (JTAG) debug interface • Read data from, write data to memory and peripherals without software programming • At-speed execution of read and write cycles • Testing and debugging of the connectivity of processor memory and peripherals with at-speed bus cycles without software programming • Easy programming of processor flash memory without software programming Corecommander provides high-level functions to write data to and read data from microprocessor memory Order information CoreComm Micro (core) and I/O addresses without software programming. (core) = ARM 7, ARM 9, ARM 11, Cortex-A, Cortex-R, CoreCommander functions are applied via the JTAG Cortex-M, Blackfin, PXA2xx, PXA3xx, IXP4xx, PowerPC- interface. MPC500 family, PowerPC-MPC5500 family, PowerPC- MPC5600 family, C28x, XC166, Tricore, PIC32 Applications CoreCommander is used in design debug, manufactu- ring test and (field) service for many different applica- [1] if the uProcessor also contains a boundary-scan register then teh tests and in-system tions such as: programming operations can also be done using the boundary-scan register instead of the CoreCommander. Whether in that case the CoreCommander or the boundary-scan register is used depends on preference or performance. • Diagnosing “dead-kernel” boards; no embedded code is required to perform memory reads and Background writes. A uP performs read and write operations on its bus to ac- cess memory and I/O locations. The read and write cycles • Determining the right settings for the peripheral normally result when the uP executes a program that is controller (DDR controller, flash memory controller, stored in memory.
    [Show full text]
  • PDF 19308 Kb ADSP-Bf50x Blackfin ® Processor Hardware Reference
    ADSP-BF50x Blackfin® Processor Hardware Reference Revision 1.2, February 2013 Part Number 82-100101-01 Analog Devices, Inc. One Technology Way Norwood, Mass. 02062-9106 a Copyright Information © 2013 Analog Devices, Inc., ALL RIGHTS RESERVED. This docu- ment may not be reproduced in any form without prior, express written consent from Analog Devices, Inc. Printed in the USA. Disclaimer Analog Devices, Inc. reserves the right to change this product without prior notice. Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use; nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted by impli- cation or otherwise under the patent rights of Analog Devices, Inc. Trademark and Service Mark Notice The Analog Devices logo, Blackfin, CrossCore, EngineerZone, EZ-KIT Lite, and VisualDSP++ are registered trademarks of Analog Devices, Inc. All other brand and product names are trademarks or service marks of their respective owners. CONTENTS PREFACE Purpose of This Manual .................................................................. li Intended Audience .......................................................................... li Manual Contents ........................................................................... lii What’s New in This Manual ........................................................... lv Technical Support .........................................................................
    [Show full text]
  • Introduction to Uclinux
    Introduction to uClinux V M Introduction to uClinux Michael Opdenacker Free Electrons http://free-electrons.com Created with OpenOffice.org 2.x Thanks to Nicolas Rougier (Copyright 2003, http://webloria.loria.fr/~rougier/) for the Tux image Introduction to uClinux © Copyright 2004-2007, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com Nov 20, 2007 1 Rights to copy Attribution ± ShareAlike 2.5 © Copyright 2004-2007 You are free Free Electrons to copy, distribute, display, and perform the work [email protected] to make derivative works to make commercial use of the work Document sources, updates and translations: Under the following conditions http://free-electrons.com/articles/uclinux Attribution. You must give the original author credit. Corrections, suggestions, contributions and Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license translations are welcome! identical to this one. For any reuse or distribution, you must make clear to others the license terms of this work. Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above. License text: http://creativecommons.org/licenses/by-sa/2.5/legalcode Introduction to uClinux © Copyright 2004-2007, Free Electrons Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com Nov 20, 2007 2 Best viewed with... This document is best viewed with a recent PDF reader or with OpenOffice.org itself! Take advantage of internal or external hyperlinks. So, don't hesitate to click on them! Find pages quickly thanks to automatic search.
    [Show full text]
  • Cross-Compiling Linux Kernels on X86 64: a Tutorial on How to Get Started
    Cross-compiling Linux Kernels on x86_64: A tutorial on How to Get Started Shuah Khan Senior Linux Kernel Developer – Open Source Group Samsung Research America (Silicon Valley) [email protected] Agenda ● Cross-compile value proposition ● Preparing the system for cross-compiler installation ● Cross-compiler installation steps ● Demo – install arm and arm64 ● Compiling on architectures ● Demo – compile arm and arm64 ● Automating cross-compile testing ● Upstream cross-compile testing activity ● References and Package repositories ● Q&A Cross-compile value proposition ● 30+ architectures supported (several sub-archs) ● Native compile testing requires wide range of test systems – not practical ● Ability to cross-compile non-natively on an widely available architecture helps detect compile errors ● Coupled with emulation environments (e.g: qemu) testing on non-native architectures becomes easier ● Setting up cross-compile environment is the first and necessary step arch/ alpha frv arc microblaze h8300 s390 um arm mips hexagon score x86_64 arm64 mn10300 unicore32 ia64 sh xtensa avr32 openrisc x86 m32r sparc blackfin parisc m68k tile c6x powerpc metag cris Cross-compiler packages ● Ubuntu arm packages (12.10 or later) – gcc-arm-linux-gnueabi – gcc-arm-linux-gnueabihf ● Ubuntu arm64 packages (13.04 or later) – use arm64 repo for older Ubuntu releases. – gcc-4.7-aarch64-linux-gnu ● Ubuntu keeps adding support for compilers. Search Ubuntu repository for packages. Cross-compiler packages ● Embedded Debian Project is a good resource for alpha, mips,
    [Show full text]
  • ADSP-Bf60x Blackfin Embedded Processor Data Sheet, Revision
    Blackfin Dual Core Embedded Processor ADSP-BF606/ADSP-BF607/ADSP-BF608/ADSP-BF609 FEATURES MEMORY Dual-core symmetric high-performance Blackfin processor, Each core contains 148K bytes of L1 SRAM memory (proces- up to 500 MHz per core sor core-accessible) with multi-parity bit protection Each core contains two 16-bit MACs, two 40-bit ALUs, and a Up to 256K bytes of L2 SRAM memory with ECC protection 40-bit barrel shifter Dynamic memory controller provides 16-bit interface to a RISC-like register and instruction model for ease of single bank of DDR2 or LPDDR DRAM devices programming and compiler-friendly support Static memory controller with asynchronous memory inter- Advanced debug, trace, and performance monitoring face that supports 8-bit and 16-bit memories Pipelined Vision Processor provides hardware to process sig- 4 Memory-to-memory DMA streams, 2 of which feature CRC nal and image algorithms used for pre- and co-processing protection of video frames in ADAS or other video processing Flexible booting options from flash, SD EMMC and SPI mem- applications ories and from SPI, link port and UART hosts Accepts a range of supply voltages for I/O operation. See Memory management unit provides memory protection Operating Conditions on Page 52 Off-chip voltage regulator interface 349-ball BGA package (19 mm × 19 mm), RoHS compliant SYSTEM CONTROL BLOCKS PERIPHERALS EMULATOR PLL & POWER FAULT EVENT DUAL TEST & CONTROL MANAGEMENT MANAGEMENT CONTROL WATCHDOG 2× TWI 8× TIMER 1× COUNTER L2 MEMORY 2× PWM CORE 0 CORE 1 32K BYTE ROM B B 3× SPORT 256K BYTE 148K BYTE 148K BYTE 1× ACM PARITY BIT PROTECTED PARITY BIT PROTECTED ECC- L1 SRAM L1 SRAM PROTECTED INSTRUCTION/DATA INSTRUCTION/DATA SRAM 2× UART 112 GP I/O EMMC/RSI DMA SYSTEM 1× CAN 2× EMAC EXTERNAL WITH BUS 2× IEEE 1588 INTERFACES 2× SPI PIPELINED DYNAMIC STATIC CRC VISION PROCESSOR 4× LINK PORT MEMORY MEMORY CONTROLLER CONTROLLER VIDEO SUBSYSTEM HARDWARE 3× PPI FUNCTIONS PIXEL COMPOSITOR LPDDR 16 FLASH 16 USB 2.0 HS OTG DDR2 SRAM Figure 1.
    [Show full text]
  • Getting Started with Blackfin Processors, Revision 6.0, September 2010
    Getting Started With Blackfin® Processors Revision 6.0, September 2010 Part Number 82-000850-01 Analog Devices, Inc. One Technology Way Norwood, Mass. 02062-9106 a Copyright Information ©2010 Analog Devices, Inc., ALL RIGHTS RESERVED. This document may not be reproduced in any form without prior, express written consent from Analog Devices. Printed in the USA. Disclaimer Analog Devices reserves the right to change this product without prior notice. Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use; nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or oth- erwise under the patent rights of Analog Devices. Trademark and Service Mark Notice The Analog Devices logo, Blackfin, the Blackfin logo, CROSSCORE, EZ-Extender, EZ-KIT Lite, and VisualDSP++ are registered trademarks of Analog Devices. EZ-Board is a trademark of Analog Devices. All other brand and product names are trademarks or service marks of their respective owners. CONTENTS PREFACE Purpose of This Manual .................................................................. xi Intended Audience ......................................................................... xii Manual Contents ........................................................................... xii What’s New in This Manual ........................................................... xii Technical or Customer Support ....................................................
    [Show full text]
  • Jamaicavm Provides Hard Realtime Guarantees for Most Common Realtime Operating Systems Are Sup- All Primitive Java Operations
    ��������� Java-Technology for Critical Embedded Systems ��������� �������� ���������� ����������� ������� ���������� ������� ������� ���������� ����������� ���������� ������ ��������� Java-Tools for developers of critical software applications. Key Technologies Interoperability Hard realtime execution Ported to standard RTOSes The JamaicaVM provides hard realtime guarantees for Most common realtime operating systems are sup- all primitive Java operations. This enables all of Java’s ported by JamaicaVM, ports for VxWorks, QNX, Linux- features to be used for your hard realtime tasks. Fea- variants, RTEMS, etc. exist. The supported architectures tures essential to object-oriented software develop- include SH4, PPC, x86, ARM, XScale, ERC32, and many ment like dynamic allocation of objects, inheritance, more. To support your specific system, we can provide and dynamic binding become available to the real- you with the required porting service. time developer. ROMable code Realtime Garbage Collection Class files and the Jamaica Virtual Machine may be The JamaicaVM provides the only Java implementa- linked into a standalone binary for execution out of tion with an efficient hard realtime garbage collector. ROM. A filesystem in not necessary for running Java It operates in small increments of only a few machine code. instructions and guarantees to recycle all garbage memory, to avoid memory fragmentation, and to Library and JNI Native Code bound the execution time for allocations. Existing library code or low level performance critical code for hardware access can be embedded into Fast & Small your realtime application using the Java Native Inter- A highly optimizing static compiler ensures best runtime face. performance. A profiling tool gathers information for providing the best trade-off between runtime perfor- mance and code size. Jamaica Toolset Sophisticated automatic class file compaction, dead- � � � � � � � � � � code elimination and profile-guided partial compila- tion techniques reduce the code footprint to the bare ���������� minimum.
    [Show full text]
  • Blackfin Processor Programming Reference Iii
    Blackfin® Processor Programming Reference (includes ADSP-BF5xx and ADSP-BF60x Processors) Revision 2.2, February 2013 Part Number 82-000556-01 Analog Devices, Inc. One Technology Way Norwood, Mass. 02062-9106 a Copyright Information © 2013 Analog Devices, Inc., ALL RIGHTS RESERVED. This docu- ment may not be reproduced in any form without prior, express written consent from Analog Devices, Inc. Printed in the USA. Disclaimer Analog Devices, Inc. reserves the right to change this product without prior notice. Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use; nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted by impli- cation or otherwise under the patent rights of Analog Devices, Inc. Trademark and Service Mark Notice The Analog Devices logo, Blackfin, CrossCore, EngineerZone, EZ-KIT Lite, and VisualDSP++ are registered trademarks of Analog Devices, Inc. All other brand and product names are trademarks or service marks of their respective owners. CONTENTS PREFACE Purpose of This Manual .............................................................. xxvii Intended Audience ...................................................................... xxvii Manual Contents ....................................................................... xxviii What’s New in This Manual .......................................................... xxx Technical Support ........................................................................
    [Show full text]
  • Exploring Coremark™ – a Benchmark Maximizing Simplicity and Efficacy by Shay Gal-On and Markus Levy
    Exploring CoreMark™ – A Benchmark Maximizing Simplicity and Efficacy By Shay Gal-On and Markus Levy There have been many attempts to provide a single number that can totally quantify the ability of a CPU. Be it MHz, MOPS, MFLOPS - all are simple to derive but misleading when looking at actual performance potential. Dhrystone was the first attempt to tie a performance indicator, namely DMIPS, to execution of real code - a good attempt, which has long served the industry, but is no longer meaningful. BogoMIPS attempts to measure how fast a CPU can “do nothing”, for what that is worth. The need still exists for a simple and standardized benchmark that provides meaningful information about the CPU core - introducing CoreMark, available for free download from www.coremark.org. CoreMark ties a performance indicator to execution of simple code, but rather than being entirely arbitrary and synthetic, the code for the benchmark uses basic data structures and algorithms that are common in practically any application. Furthermore, EEMBC carefully chose the CoreMark implementation such that all computations are driven by run-time provided values to prevent code elimination during compile time optimization. CoreMark also sets specific rules about how to run the code and report results, thereby eliminating inconsistencies. CoreMark Composition To appreciate the value of CoreMark, it’s worthwhile to dissect its composition, which in general is comprised of lists, strings, and arrays (matrixes to be exact). Lists commonly exercise pointers and are also characterized by non-serial memory access patterns. In terms of testing the core of a CPU, list processing predominantly tests how fast data can be used to scan through the list.
    [Show full text]
  • Application-Guided Power Gating Reducing Register File Static Power Hamed Tabkhi, Student Member, IEEE, Gunar Schirner, Member, IEEE
    IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION SYSTEMS, VOL. ??, NO. ?, ?? 2014 1 Application-Guided Power Gating Reducing Register File Static Power Hamed Tabkhi, Student Member, IEEE, Gunar Schirner, Member, IEEE, Abstract—Power and energy efficiency are on the top priority show that RFs are consuming 15%-36% of overall processor list in embedded computing. Embedded processors taped out in core power [6], [7], [8], [9], [10], and up to 42% of core data- deep sub-micron technology have a high contribution of static path [11]. Power assessments considerably differ based on RF power to overall power consumption. At the same time, current embedded processors often include a large Register File (RF) to size, processor complexity, and also the running application. increase performance. However, a larger RF aggravates the static As one example, 20% of the core power (including data power issues associated with technology shrinking. Therefore, and instruction caches) in a Blackfin processor (in 120nm approaches to improve static power consumption of large RFs technology) is attributed to the RF itself [9]. In addition to are in high demand. high contribution to total core power, RFs are also identified as In this paper, we introduce AFReP: an Application-guided Function-level Registerfile Power-gating approach to efficiently one of the main hot-spots [12], [13], [14], [15]. The high power manage and reduce RFs static power consumption. AFReP density (power per area) in an RF can cause severe reliability is an interplay of automatic binary analysis and instrumenta- issues such as transient faults, violation of circuit timing tion at function-level granularity supported by ISA and micro- constraints, and reduce the overall lifespan of the circuit [12].
    [Show full text]
  • Embedded Systems: Principles and Practice
    Embedded Systems: Concepts and Practices Part 2 Christopher Alix Prairie City Computing, Inc. ECE 420 University of Illinois April 22, 2019 Outline (Part 2) ⚫ ARM and DSP Architectures ⚫ Software challenges in Embedded Systems ⚫ Key decisions in ES software development ⚫ Low-cost ES Prototyping Platforms ⚫ Trends and opportunities in the ES industry Embedded System Definition • A dedicated computer performing a specific function as a part of a larger system • High-reliability systems operating in a resource-constrained environment (typically cost, space & power) • Essential Goal: Turn hardware problems into software problems. ARM Architecture Unifying ES Development 32-bit and 32/64-bit variants Started by Acorn Computers (UK) in 1983 ARM Holdings bought by Softbank in 2016 Core licensees (~500) (Include ARM CPUs on their chips) Architectural Licenses (~15) (Design their own CPUs based on the ARM instruction set) ARM Architecture Unifying ES Development Licensees include Analog Devices, Apple, AMD, Atmel, Broadcom, Qualcomm, Cypress, Huawei, NXP, Nvidia, Renesas, Samsung, STM, TI, Altera (Intel), Xilinx. 15 billion ARM-based chips sold per year (2016) Dominant market share Smartphones (95%) Computer peripherals (65%) Hard disks and SSDs (95%) Automotive (50% overall; 85% infotainment) ARM Architecture Unifying ES Development Brought order to a chaotic industry with dozens of different proprietary processor architectures Enabled a common set of tools, techniques and technologies to be shared across the ES industry (one Linux port, one gcc/g++
    [Show full text]
  • Freescale Embedded Solutions Based on ARM Technology Guide
    Embedded Solutions Based on ARM Technology Kinetis MCUs MAC5xxx MCUs i.MX applications processors QorIQ communications processors Vybrid controller solutions freescale.com/ARM ii Freescale Embedded Solutions Based on ARM Technology Table of Contents ARM Solutions Portfolio 2 i.MX Applications Processors 18 i.MX 6 series applications processors 20 Freescale Embedded Solutions Chart 4 i.MX53 applications processors 22 i.MX28 applications processors 23 Kinetis MCUs 6 Kinetis K series MCUs 7 i.MX and QorIQ Kinetis L series MCUs 9 Processor Comparison 24 Kinetis E series MCUs 11 Kinetis V series MCUs 12 Kinetis M series MCUs 13 QorIQ Communications Kinetis W series MCUs 14 Processors 25 Kinetis EA series MCUs 15 QorIQ LS1 family 26 QorIQ LS2 family 29 MAC5xxx MCUs 16 MAC57D5xx MCUs 17 Vybrid Controller Solutions 31 Vybrid VF3xx family 33 Vybrid VF5xx family 34 Vybrid VF6xx family 35 Design Resources 36 Freescale Enablement Solutions 37 Freescale Connect Partner Enablement Solutions 51 freescale.com/ARM 1 Scalable. Innovative. Leading. Your Number One Choice for ARM Solutions Freescale is the leader in embedded control, offering the market’s broadest and best-enabled portfolio of solutions based on ARM® technology. Our end-to-end portfolio of high-performance, power-efficient MCUs and digital networking processors help realize the potential of the Internet of Things, reflecting our unique ability to deliver scalable, systems- focused processing and connectivity. Our large ARM-powered portfolio includes enablement (software and tool) bundles scalable MCU and MPU families from small from Freescale and the extensive ARM ultra-low-power Kinetis MCUs to i.MX ecosystem.
    [Show full text]