Cortex-R5
TCM:Tightly Coupled Memory,连接到RAM等memory中,但是CPU读写速度很快。
ECC:Error Checking and Correction
PMU:Performance Monitoring Unit
VIC:Vectored Interrupt Controller
ACP:Accelerator Coherency Port(AXI Coherency Port)
架构:Single Instruction Multiple Data(SIMD)
Vector Floating-Point version3(VFPv3)
Multiprocessing Extensions
CR5的外部接口:
1)64bit的AXI Master接口
2)32bit的AXI/AHB
3)64bit的AXI Slave接口
4)TCM接口
5)ACP接口,AXI的master和slave
6)VIC接口
7)Configuration信号接口
8)interrupt,event接口
9)32bit的debug APB接口
10)ETM接口
11)MBIST信号和scan信号
CPU的集成过程:
1)Build Config:设置最终AP的Frequency,Area,Feature,比如TCM模块的个数选择。
2)Config inputs/outputs:设置一些interface的值,用于配置,tie0/tie1。
3)SoftWare Config:硬件上电后的cpu初始化设置,cache,register等。
多核结构:
单核结构:
PFU:Prefetch Unit,指令预取单元。
DFU:Data Processing Unit,数据处理单元。
LSU:Load/Store Unit,存储器数据访问。
PFU和LSU都有接口接到L1 Cache,访问L1和TCM。
CR5内debug,每个CPU都通过APB总线来传输数据,如设置watchpoint / breakpoint。
CR5的每个CPU有四种Power mode:
Run mode:正常工作模式。
Standby mode:CPU的一些clock gate。通过WFI/WFE来表征进入该模式
Dormant mode:除了cache和TCM,其他逻辑掉电。
ShutDown mode:整个cpu掉电,cache和TCM的信息必须存储在外部。
CR5中的reset:
1)nRESET:复位non-debug cpu logic
2)DBGRESET:复位core-domain debug logic
3)PRESETDBG:复位debug-domain logic和APB interface
4)ACPRESET:复位ACP的slave和master AXI 接口
5)SYSPORESET:整个cpu系统复位
6)CPUHALT:CPU停止取指令
CR5中的clock:
一个core一个CLKIN,其他的所有时钟,AXI,ACP,D-APB,AHB时钟都必须与它同步。
ARM的CPU内核,除了user mode,其他都为Privileage mode,处理中断,异常,security。
多核系统中的Coherency问题:
1)Data并不shared的情况下,没问题。
2)Data shared但是没有cache,没问题。
3)Data shared,也被cache了,但是都是在自己的L1 cache,没问题。
4)软件,使用Write-Through cache。
处理器内部设计了很多逻辑来检测发生的event,做性能分析,如cache miss等。并且有输出信号EVNTBUS来直接输出信号。
PMU通过对jiance到的event进行计数,控制来表征性能。
Cortex-R5的更多相关文章
- Zynq UltraScale+ MPSoC 多媒体应用
消费者渴望更高的视频质量,推动了视频技术的发展.MPSoC 基于 Zynq-7000SoC ,包括一个可编程逻辑 (PL) 的桥接处理系统 (PS),但它在 Zynq UltraScale+ MPSo ...
- 玩转FPGA边缘视觉——4k视频图像抓取
随着现代图像及视频处理技术的不断发展,人们对图像处理提出了新的要求,最近几年,图像的分辨率和扫描频率都有了较大范围的提升,1080P分辨率的视频已经非常流行,2K甚至4K分辨率的图像也在火热发展中. ...
- ARM linux电源管理——Cortex A系列CPU(32位)睡眠和唤醒的底层汇编实现
ARM linux电源管理——Cortex A系列CPU(32位)睡眠和唤醒的底层汇编实现 承接 http://www.wowotech.net/pm_subsystem/suspend_and_re ...
- 点评前端开发工具cortex安装使用方法
cortex安装方法: 安装最新版 sudo npm install -g cortex cortex config set registry http://registry.cortexjs.org ...
- windows系统上安装与使用Android NDK r5 (转)
windows系统上安装与使用Android NDK r5 很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...
- 电影TS、TC、SCR、R5、BD、HD等版本是什么意思
在很多电影下载网站的影片标题中我们都能看到,比如<刺杀希特勒BD版>.<游龙戏凤TS版>等,这些英文缩写都是什么意思呢?都代表什么画质?以下就是各个版本的具体含义: 1.CAM ...
- 【转贴】Cortex系列M0-4简单对比
转载网址:http://blog.sina.com.cn/s/blog_7dbd9c0e01018e4l.html 最近搞了块ST的Cortex-M4处理器,然后下了本文档.分享一下. 针对目前进入大 ...
- ARM Cortex M3系列GPIO口介绍(工作方式探讨)
一.Cortex M3的GPIO口特性 在介绍GPIO口功能前,有必要先说明一下M3的结构框图,这样能够更好理解总线结构和GPIO所处的位置. Cortex M3结构框图 从图中可以看出 ...
- Cortex依赖管理
cortex中文博客链接: http://cnblog.ctx.io/post/91333512673/cortex 关于cortex项目, 参见项目主页: http://ctx.io 项目在gith ...
- ARM Cortex M3(V7-M架构)硬件启动程序 二
解析 STM32 的启动过程 解析STM32的启动过程 当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择.如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main ...
随机推荐
- JavaScipt选取文档元素的方法
摘自JavaScript权威指南(jQuery根据样式选择器查找元素的终极方式是 先用getElementsByTagName(*)获取所有DOM元素,然后根据样式选择器对所有DOM元素进行筛选) 选 ...
- mysql存储过程之游标遍历数据表
原文:mysql存储过程之游标遍历数据表 今天写一个mysql存储过程,根据自己的需求要遍历一个数据表,因为对存储过程用的不多,语法不甚熟悉,加之存储过程没有调试环境,花了不少时间才慢慢弄好,故留个痕 ...
- webKit和chromium的文章地址
http://blog.csdn.net/column/details/yongsheng.html?&page=1
- 如何去掉word的背影图片?
从网上下载下来的word资料总有背影图片,看的人很烦,网上有一些去除背景图片的方法,我找到一个不用去背景图片也行的方法:先选View,再选Draft,背景图片就正在最上面显示了,这时候你也可以选中图片 ...
- ASP.NET中application对象的用法
一.Application对象的理解 Application对象在实际网络开发中的用途就是记录整个网络的信息,如上线人数.在线名单.意见调查和网上选举等.在给定的应用程序的多有用户之间共享信息,并在服 ...
- stretchableImageWithLeftCapWidth 的使用方法
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight: (NSInteger)topCa ...
- 如何让SQLPLUS实现带日期的时间戳
from http://www.itpub.net/thread-1876506-4-1.html SQL> defineDEFINE _DATE = "20-7月 ...
- Mysql 5.7.7
1.安装Mysql(需要管理员权限) 2.启动Mysql 3.连接Mysql Mysql刚安装成功后可输入 mysql -u root -p ,然后回车,提示输入密码,由于是第一次连接,不用输入密码也 ...
- JQuery-UI Dialog下使用服务器端按钮失效
目标:点按钮弹出div层,选择数据后自动隐藏div,将所选数据赋值到窗体. <div id="divWinPop"> //里面是要实现弹出框的代码,包括翻页.查找等. ...
- js 点击展开、收起
//点击展开.收起 window.onload=function(){ var current=document.getElementsByTagName('li')[0]; document.bod ...