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进行计数,控制来表征性能。

原文地址:https://www.cnblogs.com/-9-8/p/5422666.html