linux下x86和arm架构区别
x86和arm的比较
问题:两款主频差不多的芯片的移动端平板设备,一个是x86的因特尔i5,一个arm,x86耗电量会大,发热也严重
分析:
1、x86和arm架构定位不同,arm基于精简指令(RISC),本身定位于嵌入式平台,简化了硬件逻辑的设计,减少了晶体管,从而降低功耗,流水线等控制并不复杂,进一步降低了晶体管数量,主要是面对轻量级的、目标明确单一的程序,所以主要都是移动端使用;而x86基于复杂指令集CISC,有很多机器指令,只为完成某项专门任务,所以使得硬件逻辑很复杂,加上其他流水线指令集并行、超线程、虚拟化等,复杂度很高,晶体管数量庞大,主要定位计算密集场景,例如多媒体编辑、科研计算等,所以将x86和arm在移动端环境比较并不准确
2、arm是为了低功耗,x86是为了高性能
CISC和RISC的比较
(一)CISC
1. CISC体系的指令特征
1) 使用微代码。指令集可以直接在微代码存储器(比主存储器的速度快很多)里执行,新设计的处理器,只需增加较少的电晶体就可以执行同样的指令集,也可以很快地编写新的指令集程序。
2) 庞大的指令集。可以减少编程所需要的代码行数,减轻程序员的负担。高级语言对应的指令集:包括双运算元格式、寄存器到寄存器、寄存器到存储器以及存储器到寄存器的指令。
2. CISC体系的优缺点
1) 优点:能够有效缩短新指令的微代码设计时间,允许设计师实现 CISC 体系机器的向上兼容。新的系统可以使用一个包含早期系统的指令超集合,也就可以使用较早电脑上使用的相同软件。另外微程序指令的格式与高级语言相匹配,因而编译器并不一定要重新编写。
2) 缺点:指令集以及芯片的设计比上一代产品更复杂,不同的指令,需要不同的时钟周期来完成,执行较慢的指令,将影响整台机器的执行效率。
(二)RISC
1. RISC体系的指令特征
1) 精简指令集:包含了简单、基本的指令,通过这些简单、基本的指令,就可以组合成复杂指令。
2) 同样长度的指令:每条指令的长度都是相同的,可以在一个单独操作里完成。
3) 单机器周期指令:大多数的指令都可以在一个机器周期里完成,并且允许处理器在同一时间内执行一系列的指令。
2. RISC体系的优缺点
1) 优点:在使用相同的芯片技术和相同运行时钟下,RISC 系统的运行速度将是 CISC 的2~4倍。由于RISC处理器的指令集是精简的,它的内存管理单元、浮点单元等都能设计在同一块芯片上。RISC 处理器比相对应的 CISC 处理器设计更简单,所需要的时间将变得更短,并可以比CISC处理器应用更多先进的技术,开发更快的下一代处理器。
2) 缺点:多指令的操作使得程序开发者必须小心地选用合适的编译器,而且编写的代码量会变得非常大。另外就是RISC体系的处理器需要更快的存储器,这通常都集成于处理器内部,就是L1 Cache(一级缓存)。
综合上面所述,若要再进一步比较CISC与RISC之差异,可以由以下几点来进行分析:
1. 指令的形成:CISC 因指令复杂,故采用微指令码控制单元的设计,而RISC的指令90%是由硬件直接完成,只有10%的指令是由软件以组合的方式完成,因此指令执行时间上RISC较短,但RISC所须ROM空间相对的比较大,至于RAM使用大小应该与程序的应用比较有关系。
2. 寻址模式:CISC的需要较多的寻址模式,而RISC只有少数的寻址模式,因此CPU在计算存储器有效位址时,CISC占用的汇流排周期较多。
3. 指令的执行:CISC指令的格式长短不一,执行时的周期次数也不统一,而RISC结构刚好相反,故适合采用流水线处理架构的设计,进而可以达到平均一周期完成一指令的方向努力。显然的,在设计上RISC较CISC简单,同时因为CISC的执行步骤过多,闲置的单元电路等待时间增长,不利于平行处理的设计,所以就效能而言RISC较CISC还是占了上风,但RISC因指令精简化后造成应用程式码变大,需要较大的存储器空间,且存在指令种类较多等等的缺点。
linux下x86和arm架构区别相关推荐
- 详解PowerPC、X86和ARM架构区别
在嵌入式领域,存在着三种处理器通用的架构,PowerPC.X86.ARM,本文将对这三种架构进行对比分析. 1.PowerPC的由来 1975 年, IMB 公司801 小型计算机工程在RISC机体系 ...
- X86架构与Arm架构区别
X86架构与Arm架构区别 X86架构和ARM架构是主流的两种CPU架构,X86架构的CPU是PC服务器行业的老大,ARM架构的CPU则是移动端的老大.X86架构和arm架构实际上就是CISC与RIS ...
- Qt pro文件下跨平台宏的使用(windows/linux 以及x86 和 arm的区分)
#Qt pro文件下跨平台宏的使用(windows/linux 以及x86 和 arm的区分) 在pro文件中添加: #仅在linux 系统下, 硬件平台无关的内容 unix{HEADERS += \ ...
- 操作系统实验报告2:Linux 下 x86 汇编语言1
操作系统实验报告2 实验内容 了解 Linux 下 x86 汇编语言编程环境: 验证实验 Blum's Book: Sample programs in Chapter 04, 05 (Moving ...
- linux上 arm开发环境搭建,详解 LINUX下QT For ARM开发环境搭建过程
LINUX下QT For ARM开发环境搭建过程是本文介绍的内容,不多说,先来看内容.在PC上,我们需要得到两个版本的Qt,分别是:Qt-4.5.2和QtEmbedded-4.5.2-arm.前者包括 ...
- linux中fopen和open的区别,Linux下open与fopen的区别
int open(const char *path, int access,int mode) path 要打开的文件路径和名称 access 访问模式,宏定义和含义如下: O_RDONLY ...
- Linux x86 和ARM什么区别?
问题: 最近在用三星的一款i5处理器的Windows平板,和iPad,以及其他使用ARM处理器的手机相比,发热量大很多,甚至需要借助风扇来散热,耗电量也大了不少. 那么就很奇怪,在主频相差不大,并且实 ...
- 【架构知多少】谈谈X86架构与ARM架构区别
1.X86架构与ARM架构的区别 (1)本质区别:X86使用CISC(Complex Instruction Set Computer,复杂指令集计算机),ARM使用RISC(Reduced Inst ...
- linux 运行arm,在Ubuntu下编译运行arm架构程序
Ubuntu本身是不支持arm架构的,但是可以通过qemu来执行,编译可以使用gcc对于arm的交叉编译器. 下面的命令是用来安装qemu和gcc for arm的: sudo apt install ...
最新文章
- 第十五届全国大学生智能汽车竞赛 人工智能创意组总决赛
- Android Binder 分析——数据传递者(Parcel)
- SpringMVC(二)——转发和重定向、处理前端请求的数据(普通字符串/对象)
- Boost:获取随机数的实例
- 数据库元数据数据字典查询_1_列出模式中所有的表
- Material design 色彩
- Leecode刷题热题HOT100(11)——盛水最多的容器
- linux的定制和发布(二)
- redhat7 常用命令
- 拼多多商品链接怎么打开链接下架怎么回事拼多多商品竞价怎么玩需要哪些流程
- ISIS的基本介绍与实验操作
- Cortex—世界上第一个图形化人工智能界面问世
- YAPI简单使用教程
- 优动漫PAINNT——漫画原稿纸的基础知识介绍
- JavaScript 入门
- 成都拓嘉启远:怎样才能成功升级拼多多旗舰店
- OpenCV图像处理算法——7(《Contrast image correction method》 论文阅读及代码实现)
- 在桌面上创建一个宽带连接服务器,win7系统怎么在桌面上创建宽带连接的快捷图标?...
- 比 Hadoop 快至少 10 倍的物联网大数据平台,我把它开源了
- 使用Navicat新建PostgreSQL数据库报错ERROR: new collation (en_ US.utf8) is incompatible with the collation of t
热门文章
- angular实现图片懒加载
- Android 白盒测试之单元测试(junit),黑盒测试之mokey测试
- Android开发类似微信九格宫图片
- ABAP 字符串处理 CONCATENATE SPLIT STRLEN CONDENSE SEARCH OVERLAY
- 微信小程序如何debug调试
- mysql清空数据库下所有的表
- Python打印行号
- 计算机怎么设置本地硬盘启动不了,调整第一启动项为本地引导硬盘解决 BOOTMGR is missing...
- 微信小程序canvar画布生成图片及保存图片
- 关于计算机的英语作文带翻译100字,英语作文带翻译100字范文