Jacinto™7处理器设备和子系统概述 – 下
Jacinto 7显示子系统提供多个显示输出选项,包括MIPI兼容DSI,或显示串行接口、输出、嵌入式显示端口输出和传统的并行输出。该子系统支持四个硬件管道或层,有四个独立的输出叠加管理器,可以以各种方式混合管道数据。标准分辨率,如1080p, 2.5k,或4k可以支持,但框架和线的大小高度灵活,以支持非标准面板的分辨率。这甚至包括合并管道的选项,并支持非常宽的分辨率,最高可达6K或8K,取决于可用的系统带宽。
帧缓冲解压缩和负载平衡可用来最小化DDR带宽。解压缩算法与GPU中实现的压缩协同工作。显示子系统具有多种安全和保障功能,这些功能是为汽车量身定制的,包括冻结帧检测、管道和资源隔离。
不同的管道可能由不同安全性和安全级别的不同软件任务拥有,即使它们被混合到相同的输出中。这些特性对于安全内容回放和保护系统中的专用安全层(其中也包含不安全或不安全的内容)非常有价值。
DSS还可以直接利用实时IO MMU资源来实现对分散在内存空间中的缓冲区的实时碎片整理,同时仍然满足驱动显示的实时需求。这对于虚拟化系统非常有用。
Jacinto 7实现了想象技术的PowerVR视频解码和编码解决方案。该解码器支持多种标准格式,可以同时解码多达1个每秒60帧的4K流或多达8个每秒30帧的1080p流,或两者之间的组合。编码器支持多种标准格式,可以编码最多1080p60流或两个1080p30流。
Jacinto 7处理器实现了设备配置和管理的分层方法。一个叫做设备管理和安全控制器(DMSC)的小型微控制器负责Jacinto 7 SOC的所有安全配置和大部分公共资源配置。
在本节中,我将简要概述这个概念。DMSC位于安全MCU领域,由一个闭合的ARM Cortex M3核心组成,运行TI固件。这个子系统有效地从运行在其他内核上的软件中抽象出许多设备配置。
这些配置包括时钟、电源、服务质量设置、事件和中断配置,以及DMA资源的分配。DMSC还拥有所有设备防火墙配置、所有安全密钥和系统中的任何安全敏感资源,如加密加速器。
所有配置这些资源的配置请求都必须通过安全消息传递机制,这样DMSC才能有效地执行系统的所有安全策略。
对Jacinto 7处理器的整体系统性能至关重要的是内存架构和跨SOC的数据移动。保持数据流到所有不同的核心是很重要的,这样它们的大部分时间就会花在处理上,而不会出现宕机。在本节中,我将描述SOC上的整体内存系统和处理数据移动、事件或消息管理的各种组件。
Jacinto 7支持多级内存系统,在这种系统中,大多数cpu都有一个或两个级别的缓存,在某些情况下,比如R5内核,还有一些额外的低延迟本地RAM内存。多核共享内存控制器(MSMC)提供了对第三级系统缓存(RAM)的访问。
根据设备的不同,这个L3 RAM或缓存的大小可能高达8MB。这可以在核之间以一致的方式共享。对于任何共享空间,MSMC可以增强A72和C7x DSP核心的CPU缓存一致性。对于CPU内核中的所有其他主机,共享L3缓存保证IO数据的一致性。
一些L3也可以被分配作为直接RAM使用。这在诸如C7x和MMA的深度学习处理的情况下是有用的。MSMC还提供对外部DDR存储器的访问。必须仔细管理DDR内存带宽,以确保实时任务的高质量服务,并有效、高效地利用可用带宽。
DDR接口支持LP DDR4或LP DDR4x协议,最大速率为DDR 3733。控制器也实现内联ECC,这样没有额外的DDR内存设备需要被填充在系统中。这节省了系统成本。当使用ECC时,较小的ECC上下文缓存对DDR性能的影响最小。
除了CPU内核和主外设之外,还有几种DMA引擎,它们可以在各种外设和内存之间移动数据,还可以管理内核之间的同步事件和消息数据。整个SOC实现了一个分层总线结构,该结构使用MSMC中的优先级和信用来确保实时通信的服务质量。
这张幻灯片列出了在SOC上处理数据移动的许多组件。设备上的主要DMA是数据路由单元(DRU),用于在MSMC L3之间来回移动数据,主要用于C7x和MMA,然后是两个统一DMA (UDMA)实例,一个位于主域,一个位于安全MCU域。
UDMA是DMA引擎,它为没有自己嵌入式DMA主机的任何外围设备执行大部分的系统块拷贝和服务数据移动。UDMA架构的一个关键特性是它拥有分布式缓冲组件,称为外围DMA,或PDMA,这些组件位于设备上靠近关键外设的位置,并允许本地缓冲以防止实时外设上的溢出或下溢。
UDMA是专门设计来支持不同独立软件任务之间独立线程或数据流的虚拟化和所有权的。这是安全和安全隔离的关键。UDMAs位于所谓的导航子系统,或NAVSS。导航器实际上是处理数据移动、消息移动和事件管理的所有IP的集合。
导航器还包含将在后续部分中介绍的所有虚拟化组件。导航器包含所有中断和DMA事件聚合和路由,这是高度可配置的,因为有数千个外围中断和事件,它们可以选择性地与各种核心或DMA关联。
导航器还包含所有进程间或通信机制,其中包括一种安全代理机制,允许向安全控制器(security controller, DMSC)进行安全消息传递,还包括针对硬件信号量的传统邮箱和spin日志。
最后,导航器提供了几个时间同步功能,包括可与各种外围设备一起用于关联系统时间的中心时间戳,以及一个计时器管理器,它是一个非常大的计时器库,有助于流量管理,以改进系统中的确定性。
Jacinto 7处理器是为汽车安全而设计的。除了前面提到的安全MCU领域外,在主域还提供了额外的硬件诊断和监控功能。事实上,SoC架构是从下至上设计的,并考虑到安全性。因此,这些与安全相关的功能渗透到整个体系结构中。
在本节中,我将概述安全MCU功能和跨设备实现的通用安全功能,这些功能可以帮助系统设计达到ASIL-D系统的安全级别。
Jacinto 7安全MCU域被设计为与SoC设备的其他部分隔离运行,我们将其称为主域。该安全MCU是针对ASIL-D系统设计的。它包含一个lockstep R5处理器(作为系统中的主要安全管理员),以及管理设备配置的DMSC M3,以及一整套外设和DMA。
该域有隔离的时钟、复位和电压供应,这样即使主域已经损坏或处于无效电压状态,它也可以工作。R5可以利用本地1MB的ram作为程序和数据空间,也可以通过外部闪存控制器将程序空间扩展到外部闪存,外部闪存控制器还支持内联ECC和其他安全功能。电压域监视器、自检和其他诊断都由安全MCU R5管理。这些内容将在后面的幻灯片中讨论。
由于对于DMSC请求或外设或闪存共享,两个域之间的数据交换可能是必要的,因此在不同的隔离级别上有几个选项。这些选项包括一个全高性能parallel boss with a timeout gasket,以保护安全MCU免受主域侧的任何挂起。或者,对于更高级别的隔离,SPI-to-SPI接口可以进一步解耦两个域,类似于外部MCU的行为方式。
安全MCU的设计还与实现在TI电源管理集成电路(PMIC)上的安全特性一起工作,以保持电压隔离,并在安全的汽车系统中提供SoC和PMIC的全面监控。全安全的MCU系统可以消除系统中的外部微控制器,这节省了系统成本,同时也提供了额外的灵活性,并仍然满足系统安全目标。
如前所述,在Jacinto 7架构中实现了许多安全特性,可以利用这些特性来实现汽车系统所需的安全级别。这张幻灯片给出了其中一些特性的高级总结。
Lockstep R5内核在主域和安全MCU域中都可用。可以利用多个异构核来交叉检查关键的安全相关计算。所有CPU上都提供了带窗口的看门狗定时器来监视执行流。贯穿整个安全MCU的互连或总线结构,以及在主结构的一部分上的某些衍生产品中,具有额外的冗余和纠错功能,以实现稳健的操作。
整个体系结构中的DMA和数据移动IP包括ECC和临界状态保护,以实现健壮性和地址遏制,以实现隔离。设备和IPs中的大多数存储器都包含ECC或奇偶校验。外围IPs也遵循安全所需的开发流程。
图形和通信IP中提供了关键功能,这些功能支持这些IP中的数据检查和隔离,并可用于安全的系统设计。安全认证和测试隔离保护了系统在混合安全环境中的健壮性。
可以利用位于安全MCU域和主域中的各种诊断监视器来实现系统安全目标。这些包括电压、温度和时钟监视器,以及用于计算CRC、检查数据正确性的专用dma。这些dma与数据移动部分中描述的功能dma并行。
主域和MCU域中的可编程错误信号监视器(ESMs)组合所有错误,并在出现错误时中断安全处理器。它们还可以配置为通过I/O直接向外部系统指示错误,以进入安全模式。
内置的自检硬件也可访问关键ip和存储器。它们可以在引导时运行,也可以在运行时对某些IP运行,以便在使用前检查内存或逻辑故障。安全MCU域自检可以选择在开机时快速自动运行,以满足汽车开机时间的目标。灵活的ADC和外部电源监视器也可用于监控外部系统组件。
jacinto7处理器实现了多种硬件功能,以便于虚拟化,这是一种实现软件任务之间隔离的常用方法。虚拟化硬件包括集中的地址管理,以及嵌入在IPs中的特定隔离特性,如PCIe、GPU和显示子系统。尽管其中一些特性是集中的,但几乎设备上的所有核心和IP都可以直接或通过DMA利用虚拟化数据空间。在本节中,我将概述这些硬件特性。
SoC上的主核实现内存管理单元,这是将物理内存空间映射到虚拟内存空间的传统方法,以实现安全性和任务之间的地址包含。Jacinto 7内核实现了一个两阶段的MMU,方便多个虚拟化的OS实例。此外,提供多级IO- mmu允许数据IO外设直接编程使用虚拟地址空间。这允许更有效地使用外设,因为虚拟机可以直接对它们进行编程。
Jacinto 7系统中有两种io -MMU——兼容armv3的系统MMU(简称sMMU)和TI外围虚拟单元(简称PVU)。sMMU可以用于标准软件和虚拟机监控程序,而PVU可以同时用于虚拟化实时外设(如显示或捕获)所使用的内存空间,由于延迟,使用sMMU进行有效服务具有挑战性。基于页面的地址转换器(PAC)提供额外的实时分散-聚集访问,PAC可与PVU结合使用。
一些外设也具有直接的虚拟化特性,例如PCIe控制器,它支持PCI标准单根IO虚拟化标准(SRIOV),利用sMMU或PVU。显示子系统和GPU都支持IP内资源的虚拟所有权。DSS资源所有权是静态设置的,而GPU有一个专用的微控制器来动态分配和管理每个虚拟驱动请求的任务的资源。
sMMU和虚拟化的PVU和PAT模型可以同时存在于系统中。以太网控制器还可以利用流的UDMA概念来保持多个网络数据流的分离。再加上防火墙和安全组件强制执行的访问权限,这些虚拟化组件和特性可以用来构建一个健壮的、高性能的混合系统,在该系统中,实时维护和核心包含在它们自己的资源中。
jacinto7处理器集成了许多围绕安全性的关键功能。从充当独立安全主机的DMSC,到主MCU域和安全MCU域中的硬件加密引擎,再到跨设备的各种IP上的多个嵌入式安全功能,最后到跨设备的内存和外围设备的完整端点防火墙保护,安全性确实是整个SoC架构的一个组成部分。随着汽车系统的连接越来越紧密,安全性要求越来越高,安全性在汽车应用领域比以往任何时候都更为重要。本节将从高层次概述在jacinto7soc上实现安全性的各种特性。
Jacinto 7支持安全引导和运行时安全性。一次性可编程,或OTP,熔丝rom允许客户安全设备的选择。该体系结构的基本前提是DMSC是系统中主要的安全主机,拥有所有的防火墙配置、安全密钥和敏感的安全资源。所有针对防火墙或资源配置的请求都必须通过安全消息传递机制,以确保DMSC能够完全执行系统的安全策略。所有主访问凭据都由DMSC通过启动器安全控制(Initiator Security Control,简称ISCs)控制。端点和共享内存通过各种防火墙(从基于区域的防火墙到信道化防火墙)进行保护,具体取决于特定的资源。
各种密码算法在*密码加速器资源的硬件中实现,这些资源位于主域和MCU安全域。UDMA可以路由数据进出这些资源,但是安全的UDMA流由DMSC控制,只允许从授权的核心或任务进行访问。最后,除了这些*资源之外,各种核心和IP外围设备也实现了它们自己的安全特性。其中包括需要的IO外围设备的标准嵌入式加密,以及用于安全内容支持和安全流支持的系统功能,如GPU、DSS和以太网。此外,A72上的安全执行环境支持标准Arm TrustZone。
在汽车应用中,电源管理至关重要,以保持在系统的热保护层内。Jacinto 7实现了多种特性和策略来静态和动态地控制功耗。DMSC为设备的各种功率模式提供*控制。然而,从时钟门控到电源域和热监视器,控制电源的相关功能真的只是渗透整个设备架构。在本节中,我将简要概述整个体系结构中实现的关键电源管理特性。
jacinto7处理器实现了多个独立的电压域,这有助于不同的电源模式和策略来降低设备的整体功耗。主CPU域支持自适应电压缩放(AVS),以减少漏电。许多主要的核心和加速器都支持独立的电源域,所以它们可以在不使用时完全关闭,以节省电源。
细粒度时钟控制、动态频率缩放和动态时钟选通都有助于降低有功功率,同时保持所需的系统性能。多个电压和热传感器分布在整个设备上,允许监控SoC电源系统,以根据需要动态调节系统性能,使其保持在系统电源范围内。
支持多种SoC电源模式,实现多种场景下的系统电源管理。这些范围从闲置的核心,关闭未使用的电源域,关闭整个主电压域在MCU-only模式。MCU-only模式对于只用于引导安全MCU,而不必启动整个主域。最后,对于最低功率模式,可以关闭除DDR IO之外的整个设备,然后可以使用它在外部DDR上保持自刷新模式。这对于从非常低功耗的状态快速恢复高级操作系统非常有用。
Jacinto 7处理器实现了一组丰富的网络子系统和外设,它们对于汽车网关系统和高性能芯片间数据和消息共享非常有价值。这些子系统包括以太网交换机、PCIe控制器、CAN FD控制器、USB和MediaLB控制器。在本节中,将概述SOC上可用的各种网络子系统和外设。
Jacinto 7处理器包含最多两个具有类似特性的以太网交换机控制器。主域以太网控制器支持多达8个外部端口,支持各种协议,包括RMII、RGMII和SGMII,支持多达1G链路性能。QSGMII模式与适当的外部收发器可以允许将4G链路传输到单个线对上。
硬件也支持对时间敏感的网络支持和音频/视频桥接支持功能,允许使用8个优先级的调度和流量整形。灵活的地址查找引擎或ALE和硬件分类器允许在所有硬件中进行高效的分类和路由,包括全行速率的vlan间路由。
此外,交换机通过包转发提供复位隔离,这样即使主域经历了完整的soc级热复位,端口到端口转发功能也能保持。这些特性对于减轻CPU MIPS负荷,实现更高的整体系统性能,以及在消除外部交换机的情况下降低系统成本都是很有价值的。在支持RMII和RGMII的MCU安全域中包含了一个较小的交换机,具有一个单一1G外部端口。
Jacinto 7实现了多达4个PCIe控制器,提供PCIe revision 4合规,在多达第3代链路速率。每个控制器允许配置一个、两个或四个通道的宽度,这取决于SOC的导数,可以作为根复数或端点。控制器与SMMU或IOMMU协同工作,提供兼容pcie的单根I/O虚拟化或SR-IOV。这对于多个主机共享公共资源(例如通过PCIe连接的固态存储设备)很有价值。
多个事务类和虚拟函数的实现允许流量的优先级。灵活的参考时钟选项允许使用具有可选扩频控制的外部源参考,或在内部生成参考,并将其提供给外部链接伙伴。内部时钟产生可以通过消除外部参考来降低系统成本。
Jacinto 7的交换机结构支持从一个PCIe控制器到另一个控制器的直接高性能主控制器访问。这有效地实现了非透明桥或NTB,它允许多个soc通过PCIe背板相互通信。这些soc还可以共享Jacinto 7设备上的资源。
此图描述了三个SOC,它们以端点模式使用三个Jacinto 7 PCIe端口,有效地充当桥梁,在所有设备之间进行通信,并共享配置为根复杂结构的第四个PCIe控制器上的公共SOC存储设备。SR-IOV特性也被用于允许在不发生访问冲突的情况下实现SOC资源的健壮高性能共享。
Jacinto 7还提供了多达16个或更多的CAN FD接口,跨越主和安全MCU域,这取决于设备的不同。这些CAN接口支持经典的CAN或CAN FD标准,波特率为1至5mb / s,取决于外部收发器能力。CAN外设中的所有消息ram实现安全ECC和奇偶校验。
Jacinto 7提供最多两个USB端口,支持USB 2.0或USB 3.0,每秒可达5G。所有USB端口都支持设备和主机模式或通过软件或HNP协议反转角色。USB 3.0端口还支持内部通道交换,支持USB type C的电缆反转,而不需要任何昂贵的外部模拟开关。SOC还支持三引脚或六引脚媒体本地总线接口,用于连接到以最多150个性能速率运行的MOST网络控制器。
在先进的驾驶辅助系统、汽车电气化以及运行在云端的令人兴奋的新服务方面,车辆数据每天都在增加。这些应用程序使用车辆网关在车辆中安全地移动数据,并与云进行通信。