
Enabling the Full Power of a Multiprocessor SoC Jeff Hancock Senior Product Manager Embedded Platform Solutions December 10, 2019 Embedded Industry: Consolidation Benefits • Reducing BOM and power consumption • Increasing performance and capacity of the system Hardware Consolidation • SOC • Subsystems • Systems Concerns • Complexity of the system design, development, debugging, isolation, functional safety A block diagram of SiFive's U54-MC Coreplex. (Image sourse: SiFive) Restricted © 2019 Mentor Graphics Corporation 2 RISC-V Summit 2019 Trend toward Heterogeneous Multiprocessing in embedded System On Chips (SoCs) .. There is a definitive need for Asymmetric Multiprocessing Paradigms! Communications / share workload Heterogeneous Software Linux RTOS Heterogeneous RTOS RTOS RTOS RTOS hardware Boot Hypervisor Bare metal Bare metal Bare metal Application Cores Real-Time Cores DSPs FPGA Soft cores Restricted © 2019 Mentor Graphics Corporation 3 RISC-V Summit 2019 Multicore Hardware Types ◼ 3 broad possibilities: — Homogeneous multicore: all cores identical — Heterogeneous multicore: all cores different — Hybrid: multiple identical cores, bit some different – May be high- and low-power options – Possibly regular CPUs and specialized cores Restricted © 2019 Mentor Graphics Corporation 4 RISC-V Summit 2019 Symmetric Multi Processing (SMP) ◼ Provides overall higher compute bandwidth ◼ Maximum parallelization possible governed by Amdahl’s law ◼ OS scheduler balances workload across available cores in a App App … App homogeneous, cache-coherent core cluster Nucleus SMP RTOS ◼ Facilities provided to affine tasks to specific cores/core-groups App App App App Real-Time Real-Time ◼ A number of embedded RTOS Cores Cores Cores Cores Cores Cores products and Linux offer SMP capability ◼ SMP OSs can be deployed on metal (native) or in supervised environments (on a Hypervisor) Restricted © 2019 Mentor Graphics Corporation 5 RISC-V Summit 2019 Asymmetric Multi Processing (AMP) ◼ Multi-OS Model ◼ System designer choses the right OS environment and processing core for the application workload ◼ May contain SMP compute domains ◼ Well suited for consolidation of system App App App App App App App functions — Real-time/Non Real-Time (HMI) — Trusted /Un Trusted — Safety certified/ Non certified Nucleus Bare Linux Nucleus SMP RTOS RTOS Metal ◼ Design considerations — Separation requirements — System Resource sharing requirements App App App App Real-Time Real-Time — Lifecycle management of cores and Cores Cores Cores Cores Cores Cores associated software contexts — Communications between OS contexts ◼ Further categorized into — Unsupervised systems with no separation requirements — AMP systems with separation requirements — Supervised, systems with separation and/or virtualization requirements Restricted © 2019 Mentor Graphics Corporation 6 RISC-V Summit 2019 Asymmetric Multi Processing (AMP) using OpenAMP/Multicore Framework Communications ◼ Multi-OS model — Independent OS instances on independent cores Life Cycle Management — Cores and OS instances can be heterogeneous ◼ Each OS runs natively on the assigned core — No separation — Co-operative coexistence ◼ On demand bring-up of compute and software / / / / — Low power App App App App — Compute offload/acceleration App App App App MEMF MEMF MEMF MEMF ◼ OpenAMP Open Source project OpenAMP OpenAMP OpenAMP OpenAMP — remoteproc - Life cycle management — rpmsg - Inter-Processor (Inter-OS) Nucleus Nucleus Nucleus Communications Nucleus SMP RTOS RTOS RTOS RTOS ◼ OpenAMP is a standalone library that enables RTOS and Bare-metal environments App App App App Real-Time ◼ OpenAMP is compatible with upstream Linux Cores Cores Cores Cores Cores remoteproc and rpmsg components ◼ Mentor Embedded Multicore Framework — Commercial implementation of OpenAMP Restricted © 2019 Mentor Graphics Corporation 7 RISC-V Summit 2019 Multicore Issues ◼ Inter-CPU communications ◼ Inter-CPU safety ◼ Boot order ◼ System integrity Restricted © 2019 Mentor Graphics Corporation 8 RISC-V Summit 2019 Multicore Management ◼ Unsupervised — Framework – OpenAMP / Multicore Framework ◼ Supervised — Hypervisor ◼ Hybrid Restricted © 2019 Mentor Graphics Corporation 9 RISC-V Summit 2019 Multicore Management ◼ Unsupervised — Framework – OpenAMP / Multicore Framework ◼ Supervised — Hypervisor ◼ Hybrid Restricted © 2019 Mentor Graphics Corporation 10 RISC-V Summit 2019 Unsupervised App 1 App 2 App 3 App 4 App 5 App 6 OS 1 OS 2 OS 3 OS 4 OS 5 OS 6 MEMF MEMF MEMF MEMF MEMF MEMF CPU CPU CPU CPU µC µC Restricted © 2019 Mentor Graphics Corporation 11 RISC-V Summit 2019 Unsupervised App 1 App 2 App 3 App 4 App 5 App 6 OS 1 OS 2 OS 3 MEMF MEMF MEMF CPU CPU CPU CPU µC µC Restricted © 2019 Mentor Graphics Corporation 12 RISC-V Summit 2019 Unsupervised App 1 App 2 App 3 App 4 App 5 App 6 OS 1 OS 2 MEMF MEMF CPU CPU CPU CPU µC µC Restricted © 2019 Mentor Graphics Corporation 13 RISC-V Summit 2019 Multicore Management ◼ Unsupervised — Framework – OpenAMP/Multicore Framework ◼ Supervised — Hypervisor ◼ Hybrid Restricted © 2019 Mentor Graphics Corporation 14 RISC-V Summit 2019 Supervised - Hypervisor App 1 App 2 App 3 RTOS Linux Hypervisor CPU CPU CPU Restricted © 2019 Mentor Graphics Corporation 15 RISC-V Summit 2019 Multicore Management ◼ Unsupervised — Framework – OpenAMP/Multicore Framework ◼ Supervised — Hypervisor ◼ Hybrid Restricted © 2019 Mentor Graphics Corporation 16 RISC-V Summit 2019 Hybrid App 1 App 2 App 3 App 4 RTOS Linux Bare Metal MEMF Hypervisor MEMFMEMF MEMF CPU CPU CPU CPU Restricted © 2019 Mentor Graphics Corporation 17 RISC-V Summit 2019 System Implementation Mixed time domain Mixed criticality Restricted © 2019 Mentor Graphics Corporation 18 RISC-V Summit 2019 System Implementation Mixed time domain Mixed criticality Restricted © 2019 Mentor Graphics Corporation 19 RISC-V Summit 2019 Mixed time domain App 1 App 2 App 3 App 4 RTOS Linux Bare Metal MEMF MEMF MEMF CPU CPU CPU CPU • Hard real-time • Non-real-time • Probably real-time • Deterministic – • User interface • Optimum CPU predictable • Number crunching performance • Responsive • Data processing • No overheads • Compact code • External storage etc. • Fast execution • Fast start-up Each CPU/OS doing what it is good at Restricted © 2019 Mentor Graphics Corporation 20 RISC-V Summit 2019 System Implementation Mixed time domain Mixed criticality Restricted © 2019 Mentor Graphics Corporation 21 RISC-V Summit 2019 Critical systems ◼ Secure systems — Banking infrastructure — POS terminals — ATMs — Medical ◼ Safety critical systems — Automotive — Mil/aero — Medical ◼ Certification Restricted © 2019 Mentor Graphics Corporation 22 RISC-V Summit 2019 Certification ◼ Expensive ◼ Time consuming ◼ Size of code matters — Small code -> less time/cost ◼ Operating system — Typically cannot be certified alone – whole system is certified — May be “pre-certification” option — OS certification track record is key Restricted © 2019 Mentor Graphics Corporation 23 RISC-V Summit 2019 Mixed criticality App 1 App 2 App 3 App 4 App 5 App 6 RTOS Linux Bare Metal Certified RTOS Hypervisor MEMF MEMF MEMF CPU CPU CPU CPU µC µC Restricted © 2019 Mentor Graphics Corporation 24 RISC-V Summit 2019 Mixed criticality App 1 App 2 App 3 App 4 App 5 App 6 RTOS Linux Bare Metal Certified RTOS Hypervisor MEMF MEMF MEMF Zone of trust CPU CPU CPU CPU µC µC No certification Certification Restricted © 2019 Mentor Graphics Corporation 25 RISC-V Summit 2019 Mentor Embedded comprehensive offering for Multiprocessor Software Development Mentor Embedded Linux Flex OS Linux Mentor Embedded Linux RTOS Omni OS Other sources Nucleus RTOS Nucleus SafetyCert RTOS Sourcery Analyzer Mentor Embedded Hypervisor CodeBench Development Tools Development CodeBench Mentor Embedded Multicore Framework Mentor Embedded Sourcery Multicore Framework Cert Restricted © 2019 Mentor Graphics Corporation 26 RISC-V Summit 2019 Restricted © 2019 Mentor Graphics Corporationwww.mentor.com.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages27 Page
-
File Size-