第一:ip是那些己验证的、可重利用的、具有某种确定功能的模块。分为软ip (soft ip core )、固ip (firm ip core)和硬ip (hard ip core )。可以理解为某家公司的某一功能软件专利,很多公司都可以拥有自己特有的高效的ip,别人使用相关ip需要得到授权才能使用。第二:芯片架构 通俗易懂理解芯片架构就是芯片的算法。是一个极其复杂的系统。打个比方帮助大家理解:我们公司需要付一笔款给某某公司,首先需要职员提交付款申请(其中包含签订的合同,**等文件),然后提交给财务审核,财务确认后给老板审批,老板看了同意了,再回到财务,财务安排付款,一个就是一般公司的付款流程制度。这么一个付款需要的流程制度就可以看做是简单的架构。第三:指令集是指具有固定格式的,能够完成一些被定义任务的算法集合。如最初x86指令集中主要为数据操作,如add(数据加)、div(数据除)等数据运算操作,and(逻辑加)、or(逻辑或)等逻辑操作,mov(cpu内或cpu与内部存储器之间传送数据)、jmp(跳转)等指令。最后说一下他们之间的关系。其实简单理解,它们都是实现不同功能的算法集合,是相互依存的关系。芯片架构是芯片所有算法的统称,因为芯片架构是个极其复杂的工程,所以很多相关公司都有自己擅长的某个功能部分,将这部分高效算法做成一个ip,其他需要调用的厂商需要得到授权;同样指令集也类似ip的属性,另一个作用就沿用相同的指令集是有更好的兼容性。以华为海思芯片为例:华为分别拿到arm授权和ip授权,华为就可以在arm指令集基础上根据需要创建出自己的芯片架构,并可添加各种片内外设比如通信接口、显示器控制接口、gpio等等,从而生产出自己的“处理器芯片”。以上是我自己学习以后的总结,有些口语化,希望能帮助大家理解。如有不妥之处,请大家指正。 20210311