ARM 架构

ARM成立于1991年,是一家出售IP(技术知识产权)的公司,所谓的技术知识产权,有点像卖房屋的结构设计图,至于要怎么修改,哪边开窗户,以及要怎么添加其它的花园,则由买了设计图的厂商自己决定。

ARM架构过去称作进阶精简指令集机器(Advanced RISC Machine,更早称作:Acorn RISCM achine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。

在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机)到电脑外设(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。在此还有一些基于ARM设计的派生产品,重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列.

下图所示的是ARM构架图

它由32位ALU、若干个32位通用寄存器、状态寄存器、乘法器、桶形移位寄存器、指令译码和控制逻辑、指令流水线和数据/地址寄存器组成.

1、ALU:它有两个操作数锁存器、加法器、逻辑功能、结果以及零检测逻辑构成。

2、桶形移位寄存器:ARM采用了32&TImes;32位的桶形移位寄存器,这样可以使在左移/右移n位、环移n位和算术右移n位等都可以一次完成。

3、高速乘法器:乘法器一般采用“加一移位”的方法来实现乘法。ARM为了提高运算速度,则采用两位乘法的方法,根据乘数的2位来实现“加一移位”运算;ARM高速乘法器采用32&TImes;8位的结构,这样,可以降低集成度(其相应芯片面积不到并行乘法器的1/3)。

4、浮点部件:浮点部件是作为选件供ARM构架使用。FPA10浮点加速器是作为协处理方式与ARM相连,并通过协处理指令的解释来执行。

5、控制器:ARM的控制器采用的是硬接线的可编程逻辑阵列PLA。

6、寄存器

 

x86 架构

x86架构图并不统一,根据不同的主板,平台,架构是略有差别。比如说,目前很多主板已经将北桥集成到CPU当中,将南桥集成为PCH,但大致的框架还是如此的。

下面对这个架构图上的各个内容分别进行一些简介:

1)CPU,中央处理器,计算机的核心大脑。

2)北桥(North Bridge Chipset):北桥是电脑主板上的一块芯片,位于CPU插座边,起连接作用。

3)南桥芯片(South Bridge)是主板芯片组的重要组成部分,一般位于主板上离CPU插槽较远的下方,PCI插槽的附近,这种布局是考虑到它所连接的I/O总线较多,离处理器远一点有利于布线

4)内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大

5)显卡(Video card,Graphics card)全称显示接口卡,又称显示适配器,是计算机最基本配置、最重要的配件之一。

6)显示接口

7)网卡是工作在链路层的网络组件,是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。

8)声卡的基本功能是把来自话筒、磁带、光盘的原始声音信号加以转换,输出到耳机、扬声器、扩音机、录音机等声响设备,或通过音乐设备数字接口(MIDI)使乐器发出美妙的声音。

9)SATA(Serial Advanced Technology Attachment,串行高级技术附件)是一种基于行业标准的串行硬件驱动器接口,是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盘接口规范。

10)硬盘是电脑主要的存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成。碟片外覆盖有铁磁性材料。

11)总线

 

ARM架构和x86架构区别

1、性能

x86架构指令集采用CISC,而ARM采用RISC

X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多、强得多。X86的CPU随便就是1G以上、双核、四核大行其道,通常使用7nm、5nm(甚至更高级的3nm)制程的工艺进行生产;而ARM方面:CPU通常是几百兆,最近才出现1G左右的CPU,制程通常使用不到3nm制程的工艺,可以说在性能和生产工艺方面ARM根本不是X86结构系统的对手。

但ARM的优势不在于性能强大而在于效率,ARM采用RISC流水线指令集,在完成综合性工作方面根本就处于劣势,而在一些任务相对固定的应用场合其优势就能发挥得淋漓尽致。

2、扩展能力

X86结构的电脑采用“桥”的方式与扩展设备(如:硬盘、内存等)进行连接,而且x86结构的电脑出现了近40年,其配套扩展的设备种类多、价格也比较便宜,所以x86结构的电脑能很容易进行性能扩展,如增加内存、硬盘等.

ARM结构的电脑是通过专用的数据接口使CPU与数据存储设备进行连接,所以ARM的存储、内存等性能扩展难以进行(一般在产品设计时已经定好其内存及数据存储的容量),所以采用ARM结构的系统,一般不考虑扩展。基本奉行“够用就好”的原则。

3、操作系统的兼容性

X86系统由微软及Intel构建的Wintel联盟一统天下,垄断了个人电脑操作系统近40年,形成了巨大的用户群,也深深固化了众多用户的使用习惯,同时x86系统在硬件和软件开发方面已经形成统一的标准,几乎所有x86硬件平台都可以直接使用微软的视窗系统及现在流行的几乎所有工具软件,所以x86系统在兼容性方面具有无可比拟的优势。

ARM系统几乎都采用Linux的操作系统,而且几乎所有的硬件系统都要单独构建自己的系统,与其他系统不能兼容,这也导致其应用软件不能方便移植,这一点一直严重制约了ARM系统的发展和应用。GOOGLE开发了开放式的Android系统后,统一了ARM结构电脑的操作系统,使新推出基于ARM结构的电脑系统有了统一的、开放式的、免费的操作系统,为ARM的发展提供了强大的支持和动力。

4、软件开发的方便性、工具的多样性

X86结构的系统推出已经近40年,在此期间,x86电脑经过飞速发展的黄金时期,用户的应用、软件配套、软件开发工具的配套及兼容等工作,已经到达非常成熟甚至可以说是完美的境界。所以使用X86电脑系统不仅有大量的第三方软件可供选择,也有大量的软件编程工具可以帮助您完成您所希望完成的工作。

Arm结构的电脑系统因为硬件性能的制约、操作系统的精简、以及系统兼容等问题的制约,造成Arm结构的电脑系统不可能像X86电脑系统那样有众多的编程工具和第三方软件可供选择及使用,ARM的编程语言大多采用C和Java(Java是为了解决方便手持小设备的语言)

对这一点的比较,更直接的结论是:基于x86结构电脑系统平台开发软件比arm结构系统更容易、更简单、实际成本也更低,同时更容易找到第三方软件,免去自己开发的时间和成本,而且软件移植更容易。

从以上对比分析,给了我们的一个很清晰的感觉,ARM和X86结构的电脑根本就无法对比,ARM根本就不是X86电脑的的对手。是的,如果只考虑上述几个方面的要数,ARM确实无法与X86电脑竞争,甚至连比较的资格都没有。但是近些年,ARM的产品在终端应用特别是手持终端应用飞速发展(如:智能手机、平板电脑等),其销售数量已经远远超出x86结构的电脑销售数量,可见ARM是具有其与X86结构电脑不可对比的优势。该优势就是:功耗

5、功耗

X86电脑因考虑要适应各种应用的需求,其发展思路是:性能+速度。40多年来x86电脑的速度从原来8088的几M发展到现在随便就是几十GHz,而且还是CPU多核,其速度和性能已经提升了千、万倍,技术进步使x86电脑成为大众生活中不可缺少的一部分。但是x86电脑发展的方向和模式,使其功耗一直居高不下,一台电脑随便就是几百瓦,即使是号称低功耗节能的手提电脑或上网本,也有十几、二十多瓦的功耗,耗电量惊人,这与ARM结构的电脑就无法相比.

 

C++代码和可执行程序在x86和arm上的区别介绍

EarthWorm(ew):复杂网络环境下端口转发及SOCKS5代理工具

https://github.com/search?q=EarthWorn&type=repositories

 

 

参考推荐:

ARM、X86/Atom、MIPS、PowerPC

联想接盘IBM X86服务器:未来成败在哪里

程序员应当更新现代CPU的知识

一段关于国产芯片和操作系统的往事

CentOS 安装 wget、curl