全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com)

前面简单看了一下TC275的一些总线设计的概述简介,这一次看一下SRI相关的仲裁功能。

这个仲裁模块前面接触的时候描述,设计的目的其实是为了提升处理的性能。而性能上的提升,其实很多表现的形式通过任务优先级的概念进行了继承。这个仲裁的过程是一个大量的模块以及信息并行处理的过程,因为一个主模块可以选择不同的从模块,而一个从模块也可能由不同的主模块请求。由此,必须进行并行的处理判断,而这个判断主要是通过地址的匹配实现。

然而,这里有一个一直都在描述的概念一直灭有弄清楚,那就是优先级。一共有15个可以自由配置的主从对儿,加上默认的可以达到16个,可以做同时的并行处理。那么,优先级如何仲裁呢?是否会有相同的优先级存在?另外,前面看OP的时候至少是没有看到优先级的信息的,那么这个优先级的信息来自于哪里?

1. 前面从图中其实已经可以看出来了,仲裁的过程中涉及到一个地址的匹配判断过程。

2. 仲裁有两种模式,一种是基于优先级进行仲裁,另一种基于轮训。这种概念,跟OS的概念是很相似的。

3. 轮训其实是默认的仲裁模式,而轮训是在固定的优先级2或者5上进行的。

4. RR仲裁模式其实是也有一个优先级的处理,因为有两个优先级。一组处理完再来一组,而同组的处理ID号高的优先处理。

5. 如果采用优先级的仲裁,那么不允许出现相同的优先级号。然而,2和5优先级是除外的。如果想要进行优先级的切换,也需要先切换到2或者5优先级作为缓冲再转到其他的状态,避免同优先级请求的冲突。

6. 如果出现了错误,那么相应的信息可以有默认的SRI从模块来进行信息的收集。

1. 多主请求一从的时候,谁的优先级高谁将会获得仲裁的结果。

2. 中间介绍的这种调度机制,我在总结上一页的笔记的时候已经写了。

3. 如果某一个MCI持续请求,即使是优先级一直最高也至少会有2个时钟的延迟。

1. 这里给出来了默认的轮询模式下的分配情况,这回答了我前面的疑问。

2. 在OS中经常会考虑解决一些资源使用带来的饿死问题,这个MCU的设计中也考虑了。通过接计数器机制来防止高优先的主机不断请求而导致其他的主机请求事件饿死的情况产生。

这里针对饥饿计数器机制进行了详细的说明,我觉得这是很有意思的,绞尽脑汁也想不明白如何通过硬件来实现。我觉得喝个在处理的原则上已经很有OS的味道,其实是一个硬件资源的使用规则分配。不过,如果面对复杂的现实世界进行处理,我倒觉得有时候这种优先级仲裁的方式不见得会是最好的选择。虽然,它能够带来性能上的改善,但是让处理变得有些不可捉摸。让整个系统的可测性也变得更加复杂,而轮询模式则简单得多。

默认的从机的主要功能有三个:1,控制以及配置寄存器的接口; 2,对不存在的地址的访问处理; 3, 错误处理。

当进行错误处理的时候,会对错误的一些类型和地址进行进行记录。

1. 需要注意的是,处理错误的时候只能够捕捉到第一个错误。

2. SRI总线三个相关的中断源:1,协议错误; 2, ID错误; 3, 饥饿超时。

3. 通过TAG ID的机制可以实现寄存器的保护功能。可以独立的禁用每一个TAG ID对于总线的写入访问。但是,被禁用之后,使能寄存器依然是可以通过了EndInit机制之后进行访问的。而Endinit的机制是由SCU中的看门狗提供的。我觉得这样的功能,在考虑功能安全相关的设计的时候可以利用起来。

复位之后,寄存器的保护其实是默认打开的。

协议主要包括两个部分:1, 寻址; 2, 数据读写。

DMA以及SFI都会忽略ECC,但是相应的错误会发送给SMU。

如果SRI向SRAM中写入数据的时候出现了ECC错误,那么相应的从机不会执行。

这里介绍了一下用到的ECC机制,我并没有看懂,接下来还得专门找一点资料了解一下ECC保护的大概实现。

1517_AURIX TC275 SRI中的仲裁功能相关推荐

  1. SQLSERVER2014中的新功能

    SQLSERVER2014中的新功能 转载自:http://blog.csdn.net/maco_wang/article/details/22701087 博客人物:maco_wang SQLSER ...

  2. drx功能开启后_简单实用!小米手机中这些新功能真香

    小米手机作为国产机热销品牌之一,它除了有好看的外观,还有很多隐藏的实用功能,今天小编就来和大家分享5个小米手机里你不知道的功能. Al电话助理 看到陌生号码时,很多人第一反应就是挂掉,不想接听,但又担 ...

  3. N-API中的Promise功能的使用

    本文介绍N-API中的Promise功能的使用.Promise相关的API一共有四个.在回调里,通过napi_resolve_deferred或napi_reject_deferred修改Promis ...

  4. Word、Acrobat 中的朗读功能

    Word.Acrobat 中的朗读功能 word Acrobat

  5. 开启JanusGraph中的监控功能

    开启JanusGraph中的metrics功能进行监控: 1.在配置文件中指定配置项 # Copyright 2019 JanusGraph Authors # # Licensed under th ...

  6. SAP中供应商确认功能的应用分析

    SAP中供应商确认功能是一个辅助性的功能.在简单的采购业务流程中,不一定需要用到.但作为企业的SAP顾问,需要掌握供应商确认功能的一些应用情况.也帮助业务部门未来的应用需求.近期也刚好在思考这个问题. ...

  7. c语言程序中的基本功能,c语言程序中的基本功能模块为什么?

    c语言程序中的基本功能模块为"函数".一个C语言程序可以由一个主函数和若干个函数构成:一个大的应用程序一般应该分为多个程序模块,每一个模块用来实现一个功能,而模块的功能是由函数完成 ...

  8. python random模块中的指令_10分钟让你掌握python编程中random模块功能使用,非常详细...

    原标题:10分钟让你掌握python编程中random模块功能使用,非常详细 python作为一门高级编程语言,它的定位是优雅.明确和简单.阅读Python编写的代码感觉像在阅读英语一样,这让使用者可 ...

  9. 关于网管软件中的预警功能的发展

        我们知道,根据国际标准化组织的定义,网管软件有五大功能,分别是故障管理,计费管理,配置管理,性能管理和安全管理.当然市场上的产品对这些模块可能是选择性的实现,但是一般来说,故障管理和性能管理是 ...

最新文章

  1. 使用clang将C/C++代码编译成LLVM的中间代码(LLVM ir bitcode),并反汇编LLVM bitcode
  2. 十三、limit 的使用
  3. linux 内核探测kprobe 初步了解
  4. 8个前沿的 HTML5 CSS3 效果【附源码下载】
  5. 2014年2月份第3周51Aspx源码发布详情
  6. java 指代对象_java-This的理解
  7. before css 旋转_CSS及购物车的制作练习
  8. 通向财务自由之路06_适应大环境的交易策略
  9. Oracle 自动生成的视图VM_NSO_1
  10. canvas动画科技园_16个富有创意的HTML5 Canvas动画特效集合
  11. 万圣节字体来啦!6款风格奇幻的中文字体免费下载
  12. 树莓派能跑matlab,Matlab树莓派硬件支持平台的搭建
  13. P.W.N. CTF - MISC - Canadian FOI
  14. 文件批量重命名怎么加下划线?
  15. 【POP3协议介绍】
  16. 10年后的GOOGLE会怎么样
  17. 液晶LCD广告机是什么,主要用途有哪些。广告一体机的种类有哪些。
  18. 以Mapgis与Arcinfo之间的数据转换
  19. 电路中的VDD,DVDD,AVDD,VCC,AFVDD,DOVDD,IOVDD的区别
  20. 数据结构笔记(持续更新)

热门文章

  1. vue3.0子组件向父组件传值-发布订阅者模式
  2. 了解一台多媒体计算机的基本配置,一台典型的多媒体计算机的硬件不一定会包括...
  3. C++语言图形编程基本函数
  4. 1366 通过投票对团队排名
  5. PL/SQL中Lpad函数和Rpad函数的用法
  6. python 制作影视动画、电影特效工具
  7. AIGC和ChatGPT的区别是什么?
  8. 8155-XBL分析
  9. 试验数据管理系统-海岸TDM关键技术分析
  10. 埃舍尔的绘画,自指,以及罗素悖论