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的更多相关文章

  1. Zynq UltraScale+ MPSoC 多媒体应用

    消费者渴望更高的视频质量,推动了视频技术的发展.MPSoC 基于 Zynq-7000SoC ,包括一个可编程逻辑 (PL) 的桥接处理系统 (PS),但它在 Zynq UltraScale+ MPSo ...

  2. 玩转FPGA边缘视觉——4k视频图像抓取

    随着现代图像及视频处理技术的不断发展,人们对图像处理提出了新的要求,最近几年,图像的分辨率和扫描频率都有了较大范围的提升,1080P分辨率的视频已经非常流行,2K甚至4K分辨率的图像也在火热发展中. ...

  3. ARM linux电源管理——Cortex A系列CPU(32位)睡眠和唤醒的底层汇编实现

    ARM linux电源管理——Cortex A系列CPU(32位)睡眠和唤醒的底层汇编实现 承接 http://www.wowotech.net/pm_subsystem/suspend_and_re ...

  4. 点评前端开发工具cortex安装使用方法

    cortex安装方法: 安装最新版 sudo npm install -g cortex cortex config set registry http://registry.cortexjs.org ...

  5. windows系统上安装与使用Android NDK r5 (转)

    windows系统上安装与使用Android NDK r5  很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...

  6. 电影TS、TC、SCR、R5、BD、HD等版本是什么意思

    在很多电影下载网站的影片标题中我们都能看到,比如<刺杀希特勒BD版>.<游龙戏凤TS版>等,这些英文缩写都是什么意思呢?都代表什么画质?以下就是各个版本的具体含义: 1.CAM ...

  7. 【转贴】Cortex系列M0-4简单对比

    转载网址:http://blog.sina.com.cn/s/blog_7dbd9c0e01018e4l.html 最近搞了块ST的Cortex-M4处理器,然后下了本文档.分享一下. 针对目前进入大 ...

  8. ARM Cortex M3系列GPIO口介绍(工作方式探讨)

    一.Cortex M3的GPIO口特性    在介绍GPIO口功能前,有必要先说明一下M3的结构框图,这样能够更好理解总线结构和GPIO所处的位置. Cortex M3结构框图     从图中可以看出 ...

  9. Cortex依赖管理

    cortex中文博客链接: http://cnblog.ctx.io/post/91333512673/cortex 关于cortex项目, 参见项目主页: http://ctx.io 项目在gith ...

  10. ARM Cortex M3(V7-M架构)硬件启动程序 二

    解析 STM32 的启动过程 解析STM32的启动过程 当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择.如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main ...

随机推荐

  1. js创建元素

    js创建多条数据,插入到页面中的方法. 方法一: 执行时间大概在35ms左右. 这个就属于使用字符串拼接之后,再一次性的插入到页面中.缺点是,容易导致事件难以绑定. 方法二: 执行时间不定,最少的在8 ...

  2. 在express项目中有效组织和使用mongoose

    平凡之路 1.创建express项目 express mongooseExpress 2.最简express var express = require("express"); v ...

  3. 【转】如何使用Android Studio把自己的Android library分发到jCenter和Maven Central

    转自:http://www.devtf.cn/?p=760&utm_source=tuicool 如何使用Android Studio把自己的Android library分发到jCenter ...

  4. LeetCode Closest Binary Search Tree Value II

    原题链接在这里:https://leetcode.com/problems/closest-binary-search-tree-value-ii/ 题目: Given a non-empty bin ...

  5. js 传参报错 参数含有数字、字母组合的字符串SyntaxError: identifier starts immediately after numeric literal

    报错的意思是标识符以数字开头,这是因为js是弱类型的语言当发现第一个数字是就自动转化为数字类型的但是其中还含有字符所以报了错,‘ 报错的原因是因为我们想传的字符串,但是js却当成数字,所以需要给传的参 ...

  6. Spring第十一篇——–Spring整合Hibernate之配置数据源

    DataSource(数据源)提供了一个标准化的取得数据库连接的方式,通过getConnection()方法即可取得数据库的连接,Spring也提供了数据库连接池(DataBase connectio ...

  7. PHP 数组和字符串互相转换实现方法

    $array=explode(separator,$string); $string=implode(glue,$array);

  8. OC 对象和匿名对象

    OC 对象和匿名对象 对象和匿名对象的定义: 当new出一个对象时,如果用一个指针接收这个对象,那么这个指针通常被称为对象. 如果new出的对象,不用指针接收,那么这个对象就称为匿名对象. #impo ...

  9. [PCL]keypoint

    1. Harris角点 http://www.cnblogs.com/ironstark/p/5064848.html 2. ISS关键点 http://www.cnblogs.com/ironsta ...

  10. .NET中常见对象类型

    .NET中六大内置对象:1.Response    2.Request   3.Session   4.Appliction  5.Server  6.Cookie System.Web.HttpCo ...