摘自http://blog.chinaunix.net/u/21948/showart_358806.html
看s3c2410的datasheet,发现自己对ARM的一系列命名还不是很清晰。到官方网站查阅了一些英文文档,才算是基本清晰。现在总结一下。
一、什么是ARM?
学习ARM学习到现在,有了一定的认识。可以从几个不同的角度去认识:
·首先,ARM是Advanced RISC Machines,1991年成立于英国剑桥的公司。它开创了一种崭新的商业模式,实现了无厂房式工厂,依靠出售芯片技术知识产权的授权来盈利。
·其次,ARM是一种architecture,同MIPS、PowerPC、X86等并列。谈到架构,这实际上本身就是一个很复杂的概念。就现在的理解
来看,架构是一种系统设计蓝图,规划了方方面面的技术规范。应该说,架构是理论,那么采用同样的架构,实现的形式可以不相同。这也就是为什么同一架构会有
那么多衍生的处理器实现。
·ARM可以看作是一种技术,是RISC的代表。
应该说,ARM公司位于产业链的最上层,盈利也最多。中国国内的一些OEM厂商,只是处于下游的小鱼,盈利有限。中国的信息产业要想发展,就必须有自己的核心技术。写到这里,希望龙芯带给我们的,是梦想的接近,甚至是实现!(龙芯是兼容MIPS架构)
二、命名规则
这里提到的命名规则,应该分成两类。一类是基于ARM Architecture的版本命名规则;另一类是基于ARM
Architecture版本的处理器系列命名规则。随便举个例子,s3c2410采用ARMv4T架构版本,ARM920T处理器系列,其中处理器核为
ARM9TDMI。看完下面的规则,对这几个命名就很清晰了。不打算写详细内容,可以查看上的Documentation。
·Naming of ARM Architecture versions
| ARMv | n | variants | x(variants) |
分成四个组成部分:
·ARMv -- 固定字符,即ARM Version
·n -- 指令集版本号。迄今为之,ARM架构版本发布了7个系列,所以n=[1:7]。其中最新的版本是第7版,具体看ARM官方网站。
·variants -- 变种。
·x(variants) -- 排除x后指定的变种
常见的变种有:
·T -- Thumb指令集
·M -- 长乘法指令
·E -- 增强型DSP指令
·J -- Java加速器Jazelle
·SIMD -- ARM媒体功能扩展
例如,ARMv5TxM表示ARM指令集版本为5,支持T变种,不支持M变种。
·Naming of ARM Processor
采用上述的架构,形成一系列的处理器。有时候还要区分处理器核和处理器系列。不过,在这里其实不用区分太细,毕竟这是功能的小部分的变化,核心是相同的。
规则:ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S}
·x -- 处理器系列
·y -- 存储管理/保护单元
·z -- cache
·T -- 支持Thumb指令集
·D -- 支持片上调试
·M -- 支持快速乘法器
·I -- 支持Embedded ICE,支持嵌入式跟踪调试
·E -- 支持增强型DSP指令
·J -- 支持Jazelle
·F -- 具备向量浮点单元VFP
·-S -- 可综合版本
阅读(661) | 评论(0) | 转发(0) |