|
|
|
|
移动端

1.3 ARM简史

《ARM嵌入式系统编程与优化》第1章Linux/ARM嵌入式平台,本章介绍如何使用GCC编译器、汇编器和连接器来编写和执行独立的汇编语言程序,以及如何将一个C语言代码和汇编语言代码合起来,以验证汇编代码子程序的正确性。本节为大家介绍ARM简史。

作者:梁元宇 译来源:机械工业出版社|2017-09-26 19:00

【新品产上线啦】51CTO播客,随时随地,碎片化学习

1.3 ARM简史

ARM指令集架构最初是20世纪80年代英国公司Acorn Computers为其ARM1、ARM2和ARM3中央处理器开发的。这些中央处理器被用作台式个人计算机的中央处理器,但在当时败给了竞争对手英特尔的x86和摩托罗拉的68?000处理器后,ARM改变了它的商业模式,从销售中央处理器转为销售其处理器设计和指令集架构的使用权。他们的第一个大客户是苹果公司——苹果公司在其牛顿掌上电脑(Newton PDA)上使用ARM处理器。

目前ARM处理器作为一个可重用的宏单元出售,这是作为片上系统的模块使用的一种预制设计。因此,ARM宏单元可以插入其他宏单元的现有设计中,形成一个定制的异构片上系统。另外,ARM指令集架构的特点之一就是可以授权,允许从0开始设计实现技术。而且,一致指令集架构的广泛使用允许程序员利用成熟的前端开发工具,例如编译器、调试器以及代码库。ARM指令集架构和宏单元都有几个不同的版本,但它们都不能独立提供客户所期望的丰富的多媒体功能,所以它们几乎总是与专用协处理器结合起来代表中央处理器完成大部分的多媒体算法。

ARM指令集架构是在不断发展的。在ARM指令集架构第6版(ARMv6)发布后,ARM指令集架构分成3个不同的版本,各自针对特定的应用进行优化。目前,用于优化微控制器(ARMv6-M、ARMv7-M和ARMv7EM)的指令集架构有3种:一个为实时应用(ARMv7-R)的优化,两个为通用应用软件(ARMv7-A和ARMv8-A)的优化。

本书着重介绍ARMv 6和ARMv 7架构。ARMv 6常应用于Raspberry Pi的ARM 11处理器,而ARMv 7目前常应用于智能手机和平板电脑等大多数现代嵌入式设备中。ARMv 6和ARMv 7非常相似,二者最显著的差异也许是在ARMv 7中添加了NEON指令。关于NEON指令的内容会在本章后面进行介绍。

ARMv 8架构于2013年引入,其中包括与v6和v7版本的几个基本差异。这些差异包括寄存器文件结构的变化、重要指令的增删以及条件执行字段的废弃。

本书并不是要读者彻底学习ARM汇编语言或者ARM微架构。但是,为了有助于理解并提高代码性能,对由编译器生成的汇编代码进行解释通常是很有必要的。在许多情况下,还必须用汇编语言编写代码片段,以描述一个比编译器更高效的特定操作。注意:这种手写的汇编语言可以嵌入一个高级语言编写的程序中。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

构件中国:面向构件的方法与实践

本书通过丰富的案例研究示例,阐明了构建面向构件软件的最重要因素:概念、技术、规范、管理以及分析与设计过程。 本书的涵盖范围包括:面...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊