打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
英飞凌Tricore内核学习笔记
userphoto

2022.07.11 北京

关注

在车载控制器中常用的主芯片中,少不了英飞凌的Aurix系列芯片。该系列芯片中可能用的比较多的TC27X,其总共有三个核心,分别为两个Tricore1.6P性能核、一个均衡核Tricore1.6E。

这三个CPU主要特点如下:

1.32位加载存储架构

2.4GB 寻址范围

3.灵活的内存保护系统,提供多组保护套件,每套保护范围多

4.时间保护系统允许时间有限的实时操作等

TC1.6和TC1.6E的架构仍然采用哈弗架构,具有独立的指令接口和数据接口,从而支持高效的数据与指令访问。TC1.6P核主要是由程序存储区接口、数据存储区接口、取值单元、执行单元(3个流水线,整数运算、加载或存储和循环、浮点处理单元(支持IEEE-754),通用寄存器组(16个地址寄存器:A0~A15,16个数据寄存器:D0~D15)、CPU从接口(中断和系统控制等)组成)。

与TC1.6E的主要区别在于执行单元,TC1.6P的核有三个流水线(整数运算、加载存储和循环),每个流水线都有6级状态(指令预取1,指令领取2,预解码、解码、指令执行1,、指令执行2)。TC1.6E的核有1个流水线(整数运算和加载存储实际上在一起),流水线有4级状态(取值,解码,指令执行1,指令执行2)。

TC1.6P概述

1.CPU图

如下图所示,中央处理单元(CPU)包括指令获取单元,执行单元,通用寄存器文件(GPR),CPU从接口(CPS)和浮点单元(FPU)。

图1 TC1.6P核框图

2.取指令单元

指令获取单元预取和对齐来自64位宽程序存储器接口(PMI)的输入指令。说明按发行日期中的预测程序顺序排列。Issue fifo最多可缓冲六条指令,并将指令指向适当的执行管道。

指令保护单元检查对PMI的访问的有效性以及从PMI获取的传入指令的完整性。

分支单元检查分支条件的获取指令,并根据先前的分支行为预测最可能的执行路径。程序计数器单元(PC)负责更新程序计数器,如下图所示。

图2 指令获取单元

3.执行单元

执行单元包含整数管道,加载/存储管道和循环管道。所有三个流水线并行运行,允许在一个时钟周期内执行最多三条指令。在执行单元中,所有指令都通过解码阶段,然后是两个执行阶段。通过在流水线级之间使用转发路径来最小化管道危险(停顿),从而允许一个指令的结果在结果可用时由后续指令使用。如下图所示。

图3 执行单元

4. 通用寄存器文件

CPU具有通用寄存器(GPR)文件,分为地址寄存器文件(寄存器A0至A15)和数据寄存器文件(寄存器D0至D15)。

发送到加载/存储管道的指令的数据流通过地址寄存器文件进行控制。如下图所示。

发往/来自整数流水线的指令的数据流以及发给加载/存储流水线的数据加载/存储指令的数据流通过数据寄存器文件进行控制。

图4 通用寄存器文件

TC1.6E概述

1.CPU图

如下图所示,中央处理单元(CPU)包括指令获取单元,执行单元,通用寄存器文件(GPR),CPU从接口(CPS)和浮点单元(FPU)。

图5 TC1.6E核框图

2.取指令单元

指令获取单元从32位宽的程序存储器接口(PMI)中预取和对齐输入的指令半字。问题单元将单个对齐的指令定向到适当的执行管道。如下图所示。

指令保护单元检查对PMI的访问的有效性以及从PMI获取的传入指令的完整性。

图6  取指令单元

3.执行单元

执行单元包含整数管道和加载/存储管道。在TC1.6E中,循环指令始终由加载/存储管道执行。

TC1.6E在每个时钟周期发出一条指令,因此在一个时钟周期内不会执行多于一条指令。如下图所示。

图7 执行单元

4.通用寄存器文件

CPU具有通用寄存器(GPR)文件,分为地址寄存器文件(寄存器A0至A15)和数据寄存器文件(寄存器D0至D15)。如下图5-8.

发送到加载/存储管道的指令的数据流通过地址寄存器文件进行控制

图8  通用寄存器单元

上下文保存区/上下文操作

CPU对函数调用,中断和陷阱使用统一的上下文切换方法。在所有情况下,任务的Upper Context都由硬件自动保存和恢复。保存和恢复较低上下文可以可选地由软件执行。

在TC1.6P中,上下文保存区域(CSA)和显式上下文加载/存储指令(例如LDLCX)所针对的地址可以放置在DSPR或外部存储器(高速缓存或未高速缓存)中。

在TC1.6E中,上下文保存区域(CSA)和显式上下文加载/存储指令所针对的地址可以仅放置在DSPR中。

DSPA中的CSA安置上下文操作的实际时间取决于上下文保存区域的位置。将上下文保存区域放置在DSPR中时可实现最高性能。在这种情况下,所有上下文保存和恢复操作都需要四个周期。

缓存外部存储器中的CSA放置(仅限TC1.6P)在这种情况下,时序也取决于数据高速缓存的状态。当上下文保存不会导致高速缓存行回写,并且在数据高速缓存中命中上下文时,会发生最佳情况数据高速缓存操作。在这种情况下,所有上下文保存和恢复都需要8个周期。

程序计数器(PC)寄存器

程序计数器(PC)保存当前获取并转发到CPU流水线的指令的地址。CPU自动处理PC的更新。

软件可以使用PC的当前值来执行各种任务,例如执行代码地址计算。通过CPU执行的软件读取PC只能通过MFCR指令完成。这样的读取将返回MFCR指令本身的PC。由于CPU可能出现意外行为,因此不得通过MTCR指令对PC进行显式写入。只有在CPU停止时才能写入PC。

CPU不得对段15中的PC的映射地址执行加载/存储指令。在这种情况下将生成MEM陷阱。PC寄存器的位0是只读的,并且硬连线为0。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
嵌入式开发:CSA是什么?
处理器体系结构(了解CPU的基本运行原理)
计算机体系结构基础知识
什么是“CPU乱序执行”
UC头条:感性认识:计算机基本工作原理
英飞凌tx397:手撕中断,让你理解得更明白
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服