摘要:接下来该看redistributor了。 图1 GIC-600 redistributor 跟distributor连接的部分就不说了。Cpu_active是指示cluster或core的状态,可以用于idle管理。ppi_id用于多核设计时,区分每个redistributor。PPIs就是PPI中
阅读全文
摘要:开始之前,先声明一下,ARM系列的全部文章都参考的是公开文档。如果大家有需要,可以去ARM的官方网站下载。我手里没有任何非公开的文档。 闲话少说,今天开始扒GIC-600。 为了适应大规模的SoC设计,GIC-600被设计成分布式IP。所谓分布式,GIC-600由几种组件构成,每个组件可以跟其它相关
阅读全文
摘要:今天来看一下中断及ARM体系中对中断的处理,直接进入正题。 中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。 中断的几个主要目的。第一,通过中断可以提高CPU效率。假设一种场景,CPU通知其它设备完成
阅读全文
摘要:异常(exception)和特权(privilege)是在ARMv8-A中定义的两个概念。 现代软件期望被分成不同的模块,每个模块对系统和处理器资源具有不同的访问级别。这方面的一个例子是操作系统内核和用户应用程序之间的分离,前者具有对系统资源的高级别访问权限,后者配置系统的能力更为有限。 Armv8
阅读全文
摘要:什么是cache Cache存储器也被称为高速缓冲存储器,位于CPU和主存储器之间。之所以在CPU和主存之间要加cache是因为现代的CPU频率大大提高,内存的发展已经跟不上CPU访存的速度。在2001 – 2005年间,处理器时钟频率以每年55%的速度增长,而主存的增长速度只是7%。在现在的系统中
阅读全文
摘要:1.大小端格式的定义 在ARM体系结构的数据存储格式中,将4字节定义为一个字(Word),2字节定义为半字。 例如从0地址开始存放字数据,0号字节到3号字节放置第一个字数据,从第4号字节到第7字节放置第二个字数据。 当ARM处理器向以字节为单位编址的线性地址空间写入字数据(或半字数据)时,就存在一个
阅读全文