Download presentation
Presentation is loading. Please wait.
Published byKelley Thornton Modified over 8 years ago
1
WWW.ANDESTECH.COM Andes MID Introduction
2
Page 2 A NDES Confidential Content Andes Introduction Andes Linux Solution Andes MID Software Stack AndeShap™ AAP-AG101-MID Evaluation Board The Software Development Methodology – AndeSight™ IDE AndeStar™ ISA AndesCore™ N1213 CPU
3
Page 3 A NDES Confidential About Andes Founded on 2005/H1 Mission Provide the best processor solution for SoC Man power Over 80% master More than 200 man-year in embedded expertise Products: Processor-based SoC platforms and development tools Technology strengths CPU/DSP/SoC architecture Media/Network processing VLSI design System verification ESL methodology Toolchains (compiler/assembler/linker, debugger) Operating Systems GUI design and SW engineering
4
Page 4 A NDES Confidential Milestones Mar. 2005 :Company established Oct. 2005 : Core team on board Mar. 2006 : Andes ISA debut Nov. 2006 : Linux booted on AndESLive Nov. 2006 : Andes University Program kick-off Jan. 2007 : Linux booted on AndesCore N12 FPGA July 2007 : AndeSight/AndESLive v1.2 release July 2007 : First AndesCore N1213-S release Oct. 2007 : UMC130HS N1213 hardcore at ~600MHz Apr. 2008 : AndeSight/AndESLive v1.3 release July 2008 : 2008H1 revenue over NT 30 million Aug. 2008: TSMC 90G N1213 hardcore at 660MHz Dec. 2008: AndeSight/AndESLive v1.3.2 release
5
Page 5 A NDES Confidential Education & Training Formal Curriculum designed for academy: colleges, universities, institutes On-Job-Training learning materials and courses bounded educational program Practical training materials include embedded design/SoC technology, ESL design methodology, and LAB tutorials Ease-of-use Andes Technology tools, AndeSight & AndESLive, training courses
6
Page 6 A NDES Confidential Andes Linux Software Solutions INTC, DMA, TIMER, UART, LCD, TOUCH PANEL, SD, PCI, USB, MAC RTC, CF, GPIO, WDT, SPI, SSP, I2S, AC97, Wireless and so on Browser: Qt Webkit, Webkit/SDL, Dillo GUI: SDL, Nano-X, FLTK Toolkit: GTK+, glib, pango, cairo, blackbox, tk, ImageMagick Networking: wget, curl, lynx, samba, rdesktop, amsn, dropbear, openssh, boa Multimedia: fbv, madplay, mplayer, vlc, gstreamer, gnash, ALSA utility Utility: busybox, mtd, pkgconfig, opkg, tar, make, coreutils Script: bash, sed, awk, tcl, python, perl Middleware Device Drivers Applications Operating Systems Linux 2.4 and Linux 2.6 XFree86, Xorg, QT/Embedded VOIP, iaSolution JVM, Alvaview and III for Multimedia, Libraries Graphics: libjpeg, libpng, libtiff, libungif Audio: MP3, AAC, MP4, OGG, AMR, WMA Video: MPEG-1, MPEG-4, H.264, DIVX, XVID Utility: libz, libncurses, libSDL, libssl, libxml, libxslt, libcurl, libsqlite,libasound Andes Software Solution Stack
7
Page 7 A NDES Confidential Generic Linux Platform Users seek for complete features to fully utilize the hardware performance Difficult and time-consuming to debug or performance tuning Andes architecture advanced functionalities Reduce complexity on Andes platforms
8
Page 8 A NDES Confidential System Enhancement Linux VIPT Cache Support VIPT reduces cache flushing than VIVT up to 26% boost in LMbench Linux Context ID Support CID tags virtual addresses to avoid the TLB flushing penalty between context switches up to 40% boost in LMbench Floating Point Emulation Enhanced C compiler’s runtime FP support up to 80% boost in LMbench
9
Page 9 A NDES Confidential Oprofile System-wide profiler for Linux systems Can profile all running code at low overhead OProfile leverages CPU performance counters for wide variety of statistics AndesCore™ supports 56 system events Cycles, instructions, cache hits/misses, TLB accesses, branch predictions
10
Page 10 A NDES Confidential Kprobe Kprobe enables dynamically break into kernel routine to collect information Trap at kernel address with a handler routine kprobe can be inserted to any kernel instruction jprobe is inserted at the entry of a kernel function return probe fires when a specified function returns
11
Page 11 A NDES Confidential Andes MID Software Stack Linux Kernel & Libraries I/O and Network Drivers X11, Cairo, Pango, Matchbox, D-Bus, etc. QT/Embedded SSL SDL Application; Media Framework and Middleware Jblend (JVM) Window Manager VOIP Ethernet, WiFi, WiMAX, DHCP, DNS, Samba, TFTP Desktop App and Update Manager Codecs OpenGL ES Flash & PDF Mail Client Video Player Networking Music Player PIM OpenOffice E-book Reader Remote Control Image Viewer Remote Desktop eBooks Games Other Apps… Instant Messaging Skype GTK+ Gstreamer Linux 2.6 Applications 3rd-party Apps Middleware Webkit Chrome Mozilla Browser Opera Adobe Color: planning to be ported or implemented. Power Managers
12
Page 12 A NDES Confidential Tuned Performance on MID Implement atomic operations in Glib Asynchronize Xlib calls and improve Gtk+ theme engine for better performance and GUI effects Drop unused functionality in shared libraries Enable GCC Visibility to drop runtime code footprint X Window Lightweight X Window Server (Kdrive) and GTK+ based application Eliminate latency and footprint in Xlib Optimize generic nds32 specific code in Xserver Webkit NDS32 specific atomic operation implementation in WebKit Optimize memory allocator Internationalization support using IBM ICU project nds32-target JIT compiler for JavaScript
13
Page 13 A NDES Confidential 58% performance boost! reduce expensive fb internal operations optimize ARGB8888 non-premultiplied over RGB565 Eliminate function parameter passing and memory usage overhead optimize for sub-pixel anti-aliasing text optimize color space conversion reduce looping register pressure data pre-fetch X Framebuffer Optimization
14
Page 14 A NDES Confidential AndeShape™ AAP-AG101-MID AMBA 2.0 based AHB environment for new IP verification High integration flexibility for bus extension On-board 64MB SDRAM with one SODIMM slot On-board 512KB Boot ROM with 32MB flash memory On-board header for LCD plus touch screen module 15 on-board GPIO keypads On-board 10/100 PHY and RJ45 connector On-board T&MT interface connector for USB 2.0 PHY On-board CF & SD slot, providing CF & SD/MMC card access On-board AC97 & I2S codec, selected by switch 2 on-board UART interfaces with level- shifting on board for asynchronous serial data transfer On-board Andes ICE interface for function debugging
15
Page 15 A NDES Confidential AndeShape™ Platform SoC –AG101 AndeScore TM Bus Controller Bus Controller MAC 10/100 MAC 10/100 USB2.0 LCD Controller LCD Controller SDRAM Controller SDRAM Controller DMA Controller DMA Controller SRAM Controller SRAM Controller PWM I2CI2C I2CI2C GPIO INTC WDT Timer RTC ST UART ST UART BT UART BT UART SSP CF I2SI2S I2SI2S SD/ MMC SD/ MMC Power Manager Power Manager AHB to APB Bridge AHB to APB Bridge AHB Bus APB Bus
16
Page 16 A NDES Confidential AndeSight ™ IDE An integrated environment for SW development with higher quality and lower cost in less time Architecture/ESL Coding Building Debugging Tuning QA
17
Page 17 A NDES Confidential SoC SW Development Flow AndeSoft™ Target SW LibrariesOS/Kernel App DriversGeneric Drivers wareMiddle Application Layers Profiling/tracing data AndeShape™ AndesCore Bus Controller MAC 10/100 USB2.0 LCD Controller SDRAM Controller DMA Controller SRAM Controller PWMI2CI2CGPIOINTCWDTTimerRTC ST UART BT UART SSPCFI2SI2S SD/ MMC Power Manager AHB to APB Bridge AHB Bus APB Bus AndESLive™ Virtual SoC SoC based on AndesCore™ N9/N10/N12 build executables debug interactively Debugger and ICE Intf. Profiling Analyzer Virtual SoC Builder AndeSight™ IDE GNU C/C++ Compiler Linux/RTOS Libraries Automation Scripting Demo Examples Eclipse-Based GUI Existing or constructed virtual SoC On local PC or a PC on the LAN
18
Page 18 A NDES Confidential Code Development An architecture or a CPU Endian: big or little Libraries: A default virtual SoC is used with selected toolchain. Eclipse-based GUI: familiar look-and-feel Source code browsing Syntax coloring Language support: C/C++ Project toolchain selection: environmentLinuxelse size ratioglibcuclibcnewlib *.a runtime~2.51~0.4 *.so runtime~3.11NA *.so file size~3.01NA
19
Page 19 A NDES Confidential Latest compiler performance: Using a rich set of benchmarks for microcontroller, multimedia, communication, etc. 26% speed improvement 19% code size reduction 27% faster than A-company’s gcc MP3/MPG4/H.264: 10~20% speedup and code size reduction Facial recognition: 25% speedup Compilation Quality +26% -19%
20
Page 20 A NDES Confidential Compilation Quality Major enhancement: Address optimization for load/store/pointer and function calls Longer (19-bit) immediate in V2 implied-gp instructions enabling mostly 1 instruction load/store and pointer address calculation Floating-point emulation library improvement Intrinsic functions to enable more work in C: System functions: system register accesses, cache management User functions: leading-1/0, clips, min/max. Allow instruction scheduling with C code Further optimization: Advanced FP emulation library thru partner Basic operations (add/sub/mul/div/sqrt): >3x Advanced operations (log, exp, sin, cos, etc.): >10x FPU support: for graphics, GPS, printers, true-type fonts, automotive, industrial control, highend audio Further code size optimization: balance with speed
21
Page 21 A NDES Confidential Debugging Support AndesCore Embedded Debug Module (EDM) supports: HW single-stepping: can step thru interrupt service routine HW (instruction) breakpoints and (data) watchpoint With various mask. Efficient address accesses bypassing core’s caches Comprehensive debug features: Efficient single-stepping Breakpoints: HW breakpoints for ROM; SW breakpoints for RAM Watchpoints Reset target board thru AICE™. Register and memory view and update. RTOS: Debugging with simulator Debugging with AICE™ + AndeShape™ target board: ICE download speed: > 3 Mbps. RTOS-awareness: display task status Linux applications: gdbserver on Linux
22
Page 22 A NDES Confidential Performance Tuning Profiling at function levels: Time chart: record all function call/returns along the timeline. Fast Profiling: record only summarized call/return information. Profiling on Linux: using HW performance monitors Performance monitor utility: counting memory accesses, cache misses, etc. gprof: program-level profiling oprofile: system-level profiling (including kernel and driver)
23
Page 23 A NDES Confidential Scripting for Automation DRY: Don’t Repeat Yourself. During development: Build and run. Generate profiling information and save to files for post analysis. Go thru debugging steps: Breakpoint, continue, step over/into, print, set, etc. Measure performance. During QA/test: Set up and run tests thru various configurations and inputs Report results. Examples included. Example: for each(opt in['infile1', 'infile2']) { for each(flag in ['-O2', '-O3', '-Os']) { var proj= project(‘android') ) { proj.clean(); proj.build(flag); var start_time = time(); var runCfg= launchCofig(‘android'); runCfg.setArg(opt); runCfg.run(); var t = time() – start_time; log(opt + flag + ' takes ' + t + ' ms'); } Output: infile1-O2 takes 3719 ms infile1-O3 takes 3385 ms infile1-Os takes 3625 ms infile2-O2 …
24
Page 24 A NDES Confidential Tool Verification Compilation system running thru Extensive commercial tests: >100K test cases. Open source tests, including Linux Test Project (LTP). >500 open source applications. Interactive tools: Thru automated tools as well as human operations. text-mode tools thru script testing. GUI-mode tools thru a commercial GUI testing tool. Verified platforms: Window XP Professional Linux: Red Hat RHEL ES 4 and CentOS 4.6
25
Page 25 A NDES Confidential Contributing Back to the Community Andes Open-Source Development Kit (OSDK) GCC 3.4.4 and other text-mode toolchains Linux 2.6.27 Qemu 0.9.1: Very fast instruction-accurate simulation Support latest V2 ISA Key peripherals: LCD controller, SD controller, and FE MAC. Capable of supporting development of Linux and its applications RTOS and their applications Reproducible command-mode debugging thru gdb before board bringup To be released soon for free download. Fastest Free Embedded Compiler !!
26
Page 26 A NDES Confidential QEMU Running Video Decoding Qemu speed: ISS alone: >120 MIPS/GHz Linux booting: >30 MIPS/GHz Video decoding: >28 MIPS/GHz
27
Page 27 A NDES Confidential Spend silicon real estate on frequent operations. Target high efficiency to get the best performance/power return from the SoC hardware. High flexibility: leave more complex (size/timing) application-related acceleration operations to separate extensions. AndeStar TM Design Principle Efficiency is balance between power, cost, and performance.
28
Page 28 A NDES Confidential AndeStar™ ISA Architecture Sixteen/Thirty-two ARchitecture 16/32-bit instructions intermixable. 32 32-bit general purpose registers. Can be reduced to 16 for small systems. 2 64-bit accumulator registers. Can be removed for small systems. Efficient constant-setting instructions (up to 20 bits) Bi-endian modes to support flexible data input. Performance instruction extensions for greater performance. Immediate values of load/store word/halfword are in the corresponding access size to address wider range. Load/store with post-update mode. Powerful load/store multiple words (lmw/smw): For context switching, function stack saving/restoring, memory copy, etc. Capable of handling unaligned addresses. Single cycle issue multiply-add and multiply-subtract instructions Divide instruction
29
Page 29 A NDES Confidential 32/16 bit Mixable ISA 32/16 bit mixable ISA for smaller code size. Cost Smaller ROM size Performance Less I$ misses Power Less I$ access Less bus/DRAM access (due to miss) ISAInstructions ANDESMixed instructions MIPS MIPS16e ISA-Mode bit ARM ThumbThumb-mode bit ARM Thumb2Mixed instructions
30
Page 30 A NDES Confidential AndeStar™ ISA Architecture Basic instructions are in Baseline Set. Arithmetic, logic, optional divide instruction Compare, Branch Load, Store Conditional moves Multiply-accumulate Performance Extension Handy arithmetic instructions: min, max, abs, avg, clz, clo Bit manipulation: test, set, clear, toggle Bitstream packing and extraction: BSE, BSP, PBSAD, PBSADA
31
Page 31 A NDES Confidential N1213 – High Performance Application Processor External Bus Interface AHB Instruction LM Instruction Cache Data LM Data Cache MMU N12 Execution Core JTAG/EDMEPT I/F DTLB ITLB HSMP DMA Features: Harvard architecture, 8-stage pipeline. 32 general-purpose registers Dynamic branch prediction. Multiply-add and multiply-subtract instructions. Divide instructions. Instruction/Data local memory. Instruction/Data cache. MMU AHB or HSMP(AXI like) bus Power management instructions Applications: Mobile Internet Device Portable media player MFP Networking Gateway/Router Home entertainment Smartphone/Mobile phone
32
WWW.ANDESTECH.COM MID Images
33
Page 33 A NDES Confidential Andes MID Desktop
34
Page 34 A NDES Confidential WebKit Browser Google Map
35
Page 35 A NDES Confidential Google News and Google Book WebKit Browser
36
Page 36 A NDES Confidential Flash Player Gnash
37
Page 37 A NDES Confidential Media Player mplayer
38
Page 38 A NDES Confidential Instant Messenger Pidgin
39
Page 39 A NDES Confidential Music Player
40
Page 40 A NDES Confidential E-book Reader FBReader
41
Page 41 A NDES Confidential E-book Reader pdf reader
42
Page 42 A NDES Confidential Game go
43
Page 43 A NDES Confidential PIM (Personal Information Management) Address Book
44
Page 44 A NDES Confidential Image Viewer GPicView
45
Page 45 A NDES Confidential Editor Leafpad
46
Page 46 A NDES Confidential Terminal
47
Page 47 A NDES Confidential Configuration Network Setup
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.