28
Shared system resources on multi-processor system Lionel DEBIEVE #lfelc @twitterhandle

Shared system resources on multi-processor system

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Shared system resources on multi-processor system– Trusted Firmware A
a single chip
• Assets: – Isolate functions on specialized and more efficient accelerators
– Increase performance
#lfelc
• Mobile – Modem (5G) / Application processor and GPU (Android)
• Ex: Mediatek Dimensity, Samsung Exynos…
• IoT gateway – Connectivity (Ethernet, CAN, …) / Web gateway
• Ex: ST STM32MP1, NXP i.MX6, …
• AI – Sensors (Camera) / AI (image recognition) / Web gateway
• Ex: Nvidia Xavier, …
reset,... which is assigned and controlled by an entity
without conflict.
several processors or peripherals and so that can be
used by several entities at the same time:
– GPIOs, regulators, clocks, resets,…
#ossummit #lfelc
• Shared resources are used by CPUs:
Processor 2
• Ex: STM32MP1
Shared resources
system?
– Dedicate a single entity that is responsible for the shared
resources: a system controller.
knowledge of the shared resources state.
#ossummit #lfelc
managed shared resources: – Reliability:
– Flexibility:
• Must manage peripheral assignment changes depending on the executed use
case
– Accessibility:
The SCMI Protocols:
Access to the
Standard specification: Defines messages exchanged
to discover and expose services
between a client (agent) and a
Server(platform).
- SCMI Transport (Mailbox, …)
– Platform to Agent (P2A): synchronous responses, notifications or delayed responses
• Channels: – One or more dedicated channels per agent
– Standard channel: use to transmit exchange requests and responses between an agent and the system controller.
– FastChannel: Unidirectional channel specific to performance management protocol (low latency).
#ossummit #lfelc
• Clock, reset, power, performance, sensor
• Transport Mailbox
– Change in 3.0:
– Ex: Arm® Juno:
implementing SCMI server
– Control PMIC (regulators)
• Secure: independent execution context
• Increase SoC footprint (cost)
• System controller on the application processor – SCMI Virtualization support : SCMI Server in a dedicated VM
• Stratos: (https://projects.linaro.org/projects/STR)
processor
memory and SMC calls
secure context
– Trusted Firmware-A
P L 0
P L 1
driver
PL: Privilege Level; PMIC: Power Management Integrated Circuit; SMC: Secure Monitor Call
#ossummit #lfelc
#ossummit #lfelc
scmi_sram: sram@2ffff000 {
compatible = "mmio-sram";
Clock Protocol
Reset Protocol
#ossummit #lfelc
clock-names = "pclk", "ref", "px_clk";
#ossummit #lfelc
– Possibility to embed SCMI server in OP-TEE or Trusted Firmware-A
– OP-TEE: SCMI server merged upstream
– TF-A: Merged in June 2020 (ready for v2.4)
– U-Boot: SCMI agent driver merged next for v2021.01
• Next steps: – Regulators
– Performance
– Coprocessor SCMI agent for M4 • Current implementation is using another resource manager: