全部学习汇总: GreyZhang/g_tricore_architecture: some learning note about tricore architecture. (github.com)
学习的顺序有一点调整,切换到了内核的第二卷。先了解一下指令集的基本信息。第二卷主要就是讲指令集以及扩展的,而且基本上只介绍共性的信息。
这一页看上去是一些套话,可以不用看。
这一页介绍的也是一些行文的约定,比如说没有指明的部分都是有符号的。在命令助记符上,也给出来了几个例子。这里有一个涉及到加法饱和度的后缀,我花了一些时间没弄明白,借助于字典的翻译也没有搞定。但是,看到后面的介绍之后基本解答了我的疑惑。而我最初理解的其实也是对的,加法溢出之后有回滚以及不回滚两种情况。而这个,就是不回滚的情况。
1. 进位有两种情况,X相比C来说应该是丢弃了进位的结果?
2. 有些符号在表格中出现了多次但是有不同的含义,如果一个命令中有多个修饰符,那么按照表格中的顺序进行解析。
这张表看的时候,花了很长时间,主要是用来理解这些缩写是什么意思。缩写有些在前面降到了,但是诸如s1、s2等在前面都没有介绍。当我放弃理解继续往下看的时候,发现有一个表格对此做了解释。
这个表格中的信息就很容易解释前面的指令组成方式了,但是看过了之后,感觉这部分信息也没有必要去面面俱到地深究。32bit的,我直接跳过不看了。
这里的这个解释让我基本确认了饱和度是一个什么操作,但是还没有百分百的确定。
1. 前导零计算,在OS的优先级判断中使用非常广泛。可以让相关的判断操作实现一个高效的处理。
2. 前面关于饱和度的疑问在这里有了明确的解释,有了这样的伪代码一看可以很清楚理解这个饱和度是一个什么样的属性。
关于协处理器的设计,TriCore的架构本身是支持4个的,但是有2个已经让CPU用掉了。
以上就是指令集信息的简单了解,我看这部分最初的初衷其实是想了解汇编代码的阅读,看起来还是剑走偏锋选错了材料。这个错误的选择从开篇的信息介绍就看得出来了,接下来我应该去尝试看看编译器套件中的汇编器的介绍了。
标签:TriCore,AURIX,表格,信息,1533,介绍,指令集,饱和度,但是 From: https://blog.51cto.com/greyzhang/5888788