【ARM系列】GIC600AE功能安全

GIC600AE功能安全

  • 1.GIC600AE主要安全机制分布图:
  • 2.Fault Management Unit
    • 1.GIC block的错误如何上报到FMU?
    • 2.汇总到FMU的错误如何上报?
    • 3.Error Record format
    • 4.Safety Mechanism

GIC600AE在原GIC600版本基础上增加了FuSa功能,所增加的FuSa特性都集成在GIC600外围,不会改变原GIC600的功能。

1.GIC600AE主要安全机制分布图:

在这里插入图片描述

GIC-600AE包含以下FuSa安全机制:

  1. lockstep logic protection
    通过添加duplication logic(重复冗余逻辑?)让相同的程序运行在两份相同的电路逻辑上,上图中每个GIC block都通过添加duplication logic(上图中蓝色部分)进行保护。

  2. RAM protection
    RAM为主逻辑(primary)和重复冗余逻辑(shadow)所共享,其通过SECDED ECC进行保护,其地址通过parity进行保护

  3. AXI4-Stream interconnect protection
    AXI4-Stream用于GIC block之间的连接,通过端到端的partial duplication(部分重复冗余?)进行保护。partial duplication指的是主互联逻辑中的payload data使用一种压缩CRC进行保护,在这里使用一个8bit的CRC对payload data进行保护。

  4. AMBA 外部接口保护
    所有外部接口都使用AMBA parity扩展进行保护,可以实现wire或buffer间点对点的保护。主要包括ACE-Lite,GIC Stream,Cross-Chip(CC)和外部APB接口

  5. PPI SPI 中断源parity 保护
    可选,若实现该保护机制,则每个PPI或SPI都有一个对应的parity bit。

  6. P-channel and Q-channel protection
    P-channel 和Q-channel通过parity保护

  7. Systematic fault watchdog
    GIC600AE内实现了一个基于PING-ACK机制的看门狗,在GIC Distributor中实现一个硬件机制,用于监测各组件是否正常工作,该机制以round-robin的方式ping其他GIC block,然后等待ACK响应。如果在指定的时间内没有接收到对应的响应,会上报fault。

  8. Clock and resets
    实现了两套clock和reset,主(primary)逻辑比重复冗余(redundant)逻辑早运行两个时钟。

  9. Fault Management Unit
    Fault Management Unit(FMU)位于GIC Distributor内,它负责处理其他GIC block安全机制产生的fault。FMU记录fault syndrome到Error Record中,同时通过Error Recovery Interrupt(ERI)和Fault Handing Interrupt(FHI)上报。同时还为每个安全机制提供fault injection和clearing功能。FMU通过APB接口与外部Safety Island进行通信。

2.Fault Management Unit

FMU是GICD的一部分,实现了以下功能:
1.实现了一组APB4接口,专门用于访问FMU error record和其他寄存器
2.将产生的Error(如果使能),路由到Safety Island
3.提供软件方法可以将GIC block中的Safety Mechanism打开或关闭
4.接收其他GIC block中Safety Mechanism所产生的error信号
5.维护每个GIC block的error record,用于软件检查,并提供有关错误源的信息
6.保留在功能复位期间的error record
7.为GIC block中Safety Mechanism的提供注错功能,从而使能软件错误恢复测试
在这里插入图片描述

1.GIC block的错误如何上报到FMU?

GIC600AE在每个GIC block内部都实现了多种安全机制Safety Mechanisms(SMs),防止产生随机瞬态或永久错误。每个SMs都会向它自己的GIC block发送error 信号,然后GIC block通过AXI4-Stream将error信号传递到GIC Distributor。

除了通过AXI4-Stream上报错误外,每个remote GIC block都有一个fmu_err_out输出信号用于指示在GIC block内部存在uncorrected error (corrected error不会拉起fmu_err_out,即使它被配置为report as uncorrected)。fmu_err_out信号必须与GICD的输入信号fmu_err_in相连(为remote GIC block到FMU提供error信号的冗余路径),remote GIC block保持fmu_err_in信号assert,直到错误恢复软件清除错误

2.汇总到FMU的错误如何上报?

当SMs监测到错误,它会转发到FMU,如果FMU使能,它会通过如下两个信号将中断上报到系统:
① Error recovery interrupt,fmu_err_int (ERI)
② Fault handling interrupt,fmu_fault_int (FHI)

通过配置FMU_ERRCTRL寄存器可以控制错误是通过ERI或FHI上报。将错误分组为这两类可能有助于将这些错误重定向到不同的错误恢复处理程序,或基于错误的临界性或在系统级别上已知的其他因素。

3.Error Record format

GIC600AE 所产生fault记录在FMU中的error records中,FMU为每个GIC block提供了一个error record。error record寄存器通过APB接口进行访问,Arm希望此处使用一个独立的复位信号,这样的话即使当GIC block需要复位时,error record也可以保持其状态。
在这里插入图片描述
GIC600AE 最多支持32个PPI block和8个ITS block,对于未使用到的PPI block和ITS block,其对应的record 寄存器为RAZ。FMU为每个GIC block都实现了一个error record,每个都通过一组Error Record寄存器进行控制:

FMU_ERR(n)FR
error record特征寄存器,表明该record所支持的特性,是否支持FDI和ERI和上报,如何控制等
在这里插入图片描述
FMU_ERR(n)CTLR
error record控制寄存器,用于控制要处理哪些中断类型,控制中断上报和记录是否使能
在这里插入图片描述

FMU_ERR(n)STATUS
error record状态寄存器,此寄存器指示与所记录的错误有关的信息。软件可以写入此寄存器,以清除FMU_ERRGSR报告的错误记录。

在这里插入图片描述在这里插入图片描述

4.Safety Mechanism

每个GIC block内部都实现了多种Safety Mechanisms(SMs),下表中显示了每个GIC block所支持的SMs数量和对应的ID。
在这里插入图片描述在这里插入图片描述

每个GIC block中都实现了多个SMs,通过如下寄存器实现对SM的控制:

FMU_SMEN
通过指定block id和SMID实现对特定SM的使能或关闭
在这里插入图片描述
FMU_SMINJERR
通过指定block id和SMID实现对特定SM的注错
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/784632.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RIP环境下的MGRE网络

首先将LSP的IP地址进行配置 其他端口也进行同样的配置 将serial3/0/1配置25.0.0.2 24 将serial4/0/0配置35.0.0.2 24 将GE0/0/0配置45.0.0.2 24 进行第二步 R1与R5之间使用ppp的pap认证 在R5中进行配置 在aaa空间中创建账号和密码 将这个账号和密码使用在ppp协议中 然后…

zdppy+onlyoffice+vue3解决文档加载和文档强制保存时弹出警告的问题

解决过程 第一次排查 最开始排查的是官方文档说的 https://api.onlyoffice.com/editors/troubleshooting#key 解决方案。参考的是官方的 https://github.com/ONLYOFFICE/document-server-integration/releases/latest/download/Python.Example.zip 基于Django的Python代码。 …

使用 Hugging Face 模型时遇到的问题

题意: I load a float32 Hugging Face model, cast it to float16, and save it. How can I load it as float16? 我加载了一个float32的Hugging Face模型,将其转换为float16,并保存了。我该如何以float16的形式加载它呢? 问题…

2.硬盘和内存区别

2.2 磁盘比内存慢几万倍? 存储器方面的设备,分类比较多,那我们肯定不能只买一种存储器,比如你除了要买内存,还要买硬盘,而针对硬盘我们还可以选择是固态硬盘还是机械硬盘。 相信大家都知道内存和硬盘都属…

【大模型LLM面试合集】大语言模型架构_attention

1.attention 1.Attention 1.1 讲讲对Attention的理解? Attention机制是一种在处理时序相关问题的时候常用的技术,主要用于处理序列数据。 核心思想是在处理序列数据时,网络应该更关注输入中的重要部分,而忽略不重要的部分&…

java webservice 根据wsdl文件生成客户端代码;webservice可视化测试工具SOAPUI;

背景 最近要对接HIS系统,对方提供的接口是webservice的(有点古老),对方是webservice的提供方,提供了wsdl文件,我方需要根据wsdl文件生成java代码,intellij idea生成webservice客户端代码支持的…

复分析——第10章——Θ函数应用(E.M. Stein R. Shakarchi)

第10章 Θ函数的应用 (Applications of Theta Functions) The problem of the representation of an integer n as the sum of a given number k of integral squares is one of the most celebrated in the theory of numbers. Its history may be traced back to Diopha…

列表渲染 v-for

列表渲染v-for 使用v-for指令基于数组渲染一个列表&#xff0c;v-for指令的值需要使用item in/of items形式的特殊语法&#xff0c;其中items是源数据的数组&#xff0c;而item是迭代的别名。 代码实例&#xff1a; <template> <div><p v-for"item in na…

Java基础概念

1.注释和关键字 &#xff08;1&#xff09;注释 什么是注释&#xff1f;注释就是对代码进行解释说明的文字 注释的分类&#xff1f;单行注释&#xff0c;多行注释&#xff0c;文档注释 注释的使用细节&#xff1f; 注释的内容不会参与编译和运行&#xff0c;仅仅是对代码的…

使用vllm部署大语言模型

vLLM是一个快速且易于使用的库&#xff0c;用于LLM&#xff08;大型语言模型&#xff09;推理和服务。通过PagedAttention技术&#xff0c;vLLM可以有效地管理注意力键和值内存&#xff0c;降低内存占用和提高计算效率。vLLM能够将多个传入的请求进行连续批处理&#xff0c;从而…

智能视频监控如何助力体育场馆安全管理:安防监控EasyCVR视频综合管理方案

近期有新闻报道&#xff0c;6月30日&#xff0c;17岁的中国国家羽毛球运动员在亚洲青年羽毛球锦标赛中&#xff0c;突然晕倒并抽搐&#xff0c;尽管被送往医院抢救&#xff0c;该运动员仍在当晚不幸离世。运动猝死不仅发生于职业运动员身上&#xff0c;在普通健身者中也时有发生…

nodejs + vue3 模拟 fetchEventSouce进行sse流式请求

先上效果图: 前言: 在GPT爆发的时候,各项目都想给自己的产品加上AI,蹭上AI的风口,因此在最近的一个需求,就想要给项目加入Ai的功能,原本要求的效果是,查询到对应的数据后,完全展示出来,也就是常规的post请求,后来这种效果遇到了一个很现实的问题:长时间的等待。我…

4个方法帮助你解决RAR解压文件时提示密码错误问题

在日常工作和学习中&#xff0c;我们经常需要处理各种压缩文件&#xff0c;这些文件有时为了保护内容安全&#xff0c;会被设置密码。然而&#xff0c;在解压这些文件时&#xff0c;如果遇到“密码错误”的提示&#xff0c;可能会让人感到十分棘手。今天&#xff0c;我们就来探…

[ICS] Modbus未授权攻击S7协议漏洞利用

工业控制系统历史 在可编程逻辑控制器(plc)成为标准之前&#xff0c;工厂车间自动化是通过机架和机架的工业继电器&#xff0c;气动柱塞计时器和电磁计数器来控制电机的启动和停止&#xff0c;阀门的打开以及其他与控制相关的过程交互。运行这种设置的控制程序根本不是程序&am…

如何使用 pytorch 创建一个神经网络

我已发布在&#xff1a;如何使用 pytorch 创建一个神经网络 SapientialM.Github.io 构建神经网络 1 导入所需包 import os import torch from torch import nn from torch.utils.data import DataLoader from torchvision import datasets, transforms2 检查GPU是否可用 dev…

Vue3基础知识:组合式API中的provide和inject,他们作用是什么?如何使用?以及案例演示

1.provide和inject相较于父子传递的不同在于provide,inject可以用于跨层级通信&#xff08;通俗易懂的讲就是可以实现爷孙之间的直接信息传递&#xff09;。 1.跨层级传递数据 1.在顶层组件通过provide函数提供数据 2.底层组件通过inject函数获取数据 演示一&#xff1a;跨…

Linux安装Jmeter及简单使用教程

Linux安装Jmeter 首先需要java环境 java --version官网 下载二进制包 #创建文件夹 sudo mkdir /usr/local/jmeter #解压 sudo tar zxvf apache-jmeter-5.6.3.tgz -C /usr/local/jmeter编辑配置文件 sudo vim /etc/profile&#xff0c;添加以下内容 export JMETER_HOME/usr/l…

【Linux系列2】Cmake安装记录

方法一 1. 查看当前cmake版本 [rootlocalhost ~]# cmake -version cmake version 2.8.12.22. 进行卸载 [rootlocalhost ~]# yum remove -y cmake3. 进行安装包的下载&#xff0c;也可以下载好安装包后传至相应的目录 [rootlocalhost ~]# mkdir /opt/cmake [rootlocalhost ~…

安防监控/视频汇聚平台EasyCVR设备录像回看请求播放时间和实际时间对不上,是什么原因?

安防监控EasyCVR视频汇聚平台可提供多协议&#xff08;RTSP/RTMP/国标GB28181/GAT1400/海康Ehome/大华/海康/宇视等SDK&#xff09;的设备接入、音视频采集、视频转码、处理、分发等服务&#xff0c;系统具备实时监控、云端录像、回看、告警、平台级联以及多视频流格式分发等视…

二手闲置平台小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;卖家管理&#xff0c;商品分类管理&#xff0c;商品信息管理&#xff0c;商品购买管理&#xff0c;商品配送管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;商品信息&a…