在英特尔处理器上,每个内核都有自己的L1和L2缓存。 ARM双核处理器是真的吗?如果是这样,我可以依赖两个内核之间的缓存一致性,这样在核心0上运行的线程将始终在其缓存中看到与核心1在其中看到的相同的数据吗?
答案 0 :(得分:2)
是的,从Cortex-A9系列开始的ARM处理器通过硬件监听提供缓存一致性。
作为开发人员,更容易做多核:)。
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0407e/CDDEHDDG.html
答案 1 :(得分:2)
你的意思是ARMv7吗?我不认为有一个ARM7双核,你可以把两个放在一个芯片肯定,但他们将是独立的(他们没有带缓存,所以你必须实现自己的。)
以下是与ARM的故事,除了英特尔在芯片业务方面没有任何不同之处,手臂在IP业务中他们不制造芯片。
从http://infocenter.arm.com开始创建一个免费帐户的一些文档,特别是ARMv7,您将需要登录。
ARM文档有两种类型。 ARM ARM是ARM架构参考手册。曾经是一本涵盖所有内核的大手册,现在它被分为核心系列,涵盖了一系列内核的整体相似性,指令集等。既然你在询问双核/多核,你可能会谈到Cortex-A ARMv7-A(而不是ARMv7-M那些是单核微控制器)。或者你可能意味着ARMv6内核就像mpcore那样有一到四个核心版本。在左侧的信息中心站点下,您选择了arm架构,然后第一件事就是参考手册。这就像是手臂医生的全科医生,家庭医生,而不是任何领域的专家,只知道一切。
第二种类型的手臂文档是TRM,技术参考手册,这是专家,脑外科医生或足病医生等。您找到了芯片供应商正在使用的特定核心(可以是简单或难以取决于芯片和供应商)这将描述核心的边缘将描述高速缓存的位置,谁共享或不共享以及如何。请注意,L1高速缓存和mmu通常位于核心的TRM中,L2高速缓存是额外成本项目,不一定由芯片供应商购买。 L1缓存,也不是mmu,不一定坐在amba,axi总线上,l2是amba / axi in,amba / axi out shim,修改或消耗交易,你还是要放你的记忆系统在外层amba / axi。
简短的回答是你需要更具体地说明你正在谈论的手臂核心,然后一旦你知道找到该核心的TRM,它就会包含你问题的答案。