ARM体系结构及内核回顾总结(一)

    ARM是什么,自不必多说,相信能点进来的也尽知晓。

    真正开始了解ARM,是从12年入职开始,那时仅仅知道ARM是个做CPU的其它就一概不知了,后来才渐渐知道SOC,知道嵌入式,知道ARM。

    入职一开始,作为一个完全无关专业,只是了解C/C++编程的人,对所谓SOC完全一头雾水,连SOC的名称意义也是度娘教的。因此一开始也就是学习一些简单的小模块,譬如UART、TIMER、RTC,稍复杂一点的譬如DMA,接触到的最复杂的就算是SD模块了。当初是和另外一位新入职的同事再USB和SD之间各挑一个,于是现在他依然坐着USB,只不过经历了musb,而我则经历了不同的模块,譬如I2S、BLG,甚至客串过I2C、SSP等,最后便接触ARM核相关。对于ARM的了解,也因此其实并不算深入,对于其发展历程或是技术改革路线,因眼界所限,自然也无可说,此处只就我所有限的了解来温习一下。

1 ARM简介

    ARM的含义很多,仅就技术而言,值得一提的是Advanced RISC Machines这个含义,表明了其所属于的技术体系,即RISC体系,它有别于CISC体系,如桌面PC所常用的x86处理器。他们之间的区别在于前者以指令精简为主要考量,而单指令所实现的功能为次要;后者以单指令实现的功能为主要,指令的统一性或简洁性为次要。至于之间具体优劣势对比,百度资料无数,在此略过不提。

1.1 从结构说起

    举凡处理器,总逃不过几大经典结构组成--运算器、控制器,以及寄存器、高速缓存和总线,而处理器和存储器以及输入输出设备则构成了电子计算机。

    ARM的组成自然不例外,以下为ARM1176JZF的结构框图:

@GQJ8BXSE78OALURA)FDU_R

呃,至于没找到ALU及控制器。。。文档上是说ALU在interger core部分,控制器也应是包含其中。

    以上即算是ARM核的经典结构:integer core、指令预取单元、存取单元、浮点运算单元、cache、tcm以及各种接口包括l2接口、jtag接口、ETM接口等。

    那么,我需要按上面的各个接口模块挨个说明吗,自然是不需要的。

    对于软件人员来说,以上的模块中所涉及到的,需要仔细了解的,也就是integer core中的部分,cache,tcm等。而至于jtag,在调试中是必须用到的,但是又是与软件完全不相关的。

    integer core是整个CPU的核心,其中包含了指令的执行,数据的处理等等,在其中,和其它外设模块一样,软件需要仔细了解的就是寄存器。对于一个硬件模块,寄存器是软件与硬件交互的窗口,对硬件行为的任何控制以及其运行状态的了解,都是通过对寄存器的读写操作来实现的。CPU也是如此,其通用寄存器组以及特殊寄存器,以及协处理器中的寄存器组均是控制处理器运行,以及了解处理器运行状态的关键。

    对于CPU的工作分析,我们通常可以从两方面入手,一为指令,一为数据。在integer core部分,二者其实可分也不可分的,每条指令的执行,即伴随着数据的运算。而在它之外,数据和指令则相互分开为两条线,即所谓哈弗结构。从内核中出来,最先经过的即为Level 1 Memory,即cache与tcm,他们分别氛围icache与dcache,itcm与dtcm,分别在指令线与数据线上。

    从l1出来则为l2,在ARMM11中未有继承L2CACHE,但是提供了L2 data/instruction interface,数据和指令即分别从这两个接口进入l1。

    而另外一个重要的部分即为VIC interface,即中断处理器接口,负责中断的输入,即IRQ与FIQ异常信号的输入。

    JTAG interface,是调试时几乎必须用到的,但是却又是完全不需要了解的。

    嗯,该睡觉了,本节结束!

转载于:https://www.cnblogs.com/iambobor/p/3577425.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值