嵌入式ARM与X86
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据
数据0 数据1 数据2
哈佛体系结构
地址
指令寄存器
控制器
指令
数据通道
输入
输出
地址
CPU
数据
程序存储器
指令0 指令1 指令2
数据存储器
数据0 数据1 数据2
X86指令集
X86指令集是Intel为其第一块16位CPU(i8086)专门 开发的,后来的电脑中为提高浮点数据处理能力而 增加的X87芯片系列数学协处理器另外使用X87指 令,以后就将X86指令集和X87指令集统称为X86指 令集。虽然随着CPU技术的不断发展,Intel陆续研 制出更新型的i80386、i80486,但为了保证电脑能 继续运行以往开发的各类应用程序以保护和继承丰 富的软件资源,所以Intel公司所生产的所有CPU仍 然继续使用X86指令集,所以它的CPU仍属于X86 系列。由于Intel X86系列及其兼容CPU都使用X86 指令集,所以就形成了今天庞大的X86系列及兼容 CPU阵容。
CISC的主要缺点
指令使用频度不均衡。
高频度使用的指令占据了绝大部分的执行时间,扩充的 复杂指令往往是低频度指令。
大量复杂指令的控制逻辑不规整,不适于VLSI工艺
VLSI的出现,使单芯片处理机希望采用规整的硬联逻辑 实现,而不希望用微程序,因为微程序的使用反而制约 了速度提高。(微码的存控速度比CPU慢5-10倍)。
可以对存储器和寄存器进行 只能对寄存器对行算术和逻辑
算术和逻辑操作
操作,Load/Store体系结构
难以用优化编译器生成高效 采用优化编译技术,生成高效
的目标代码程序
的目标代码程序
冯·诺依曼体系结构
冯·诺依曼体系结构
指令寄存器 控制器
数据通道
输入
输出
中央处理器
存储器
程序
指令0 指令1 指令2 指令3 指令4
从上世纪80年代起,Intel的存储器危机初露端倪。 日本人迅速掌握了存储器设计与生产这个门槛并不 是很高的技术核心,借助其特有的高效与后发优势, 在短短的两三年时间,大肆吞噬着Intel在存储器领 域的市场份额。Intel几乎从一个存储器领域的统治 者沦落为二流存储器芯片供应商。
Wintel帝国
RISC的提出与发展
Load/Store结构提出: CDC6600(1963)-CRAY1(1976)
RISC思想最早在IBM公司提出,但不叫RISC, IBM801处理器是公认体现RISC思想的机器。
1980年,Berkeley的Patterson和Dizel提出RISC名 词,并研制了RISC-,实验样机。
RISC:精简指令集(Reduced Instruction Set Computer)
只包含最有用的指令,指令长度固定 确保数据通道快速执行每一条指令 使CPU硬件结构设计变得更为简单
CISC与RISC的数据通道
开始
IF
ID
ALU MEM REG
退出
微操作通道
CISC:寻址方式复杂
Байду номын сангаас
开始
IF
ID
REG ALU MEM
而因为指令集的精简,所以许多工作都必须组合简单的指令, 而针对较复杂组合的工作便需要由『编译程式』(compiler) 来执行,而 CISC 体系的X86指令集因为硬体所提供的指令 集较多,所以许多工作都能够以一个或是数个指令来代替, compiler 的工作因而减少许多。
ARM指令集
体积小,低功耗,低成本,高性能 支持 Thumb ( 16 位) /ARM ( 32 位)双指令集,
采用Load/Store结构,有助于减少指令格式,统 一存储器访问方式
采用硬接线控制代替微程序控制
RISC:减少指令平均执行周期数
CPUtime= Instr_Count *CPI * Clock_cycle ICRISC > IC CISC, 30%---40% CCRISC < CCCISC CPIRISC < CPICISC , 20% 超标量、超流水线、VLIW等系统结构, 目标 在于减小CPI, 可使CPI<1
在那个年代,中小型机大行其道。DEC公司 的VAX机是所有处理器厂商难以逾越的高峰, Motorola半导体的68K处理器如日中天。很少 有人相信Intel能在处理器领域有所作为。在 那个年代,Intel推出的每款处理器都是学术 界奚落的对象。1986年Intel推出的386处理 器遭到了整个学术界的诟病。这些学者的这 些技术观点多数是对的。从技术的角度上看, 386处理器并不成熟,也给Intel留下了向前兼 容,这个堪称伟大的包袱。
X86指令集
通用寄存器组————对CPU内核结构的影响 X86指令集只有8个通用寄存器。所以,CISC的CPU执行是
大多数时间是在访问存储器中的数据,而不是寄存器中的。 这就拖慢了整个系统的速度。 解码————对CPU的外核的影响 解码器(Decode Unit),这是x86CPU才有的东西。其作用 是把长度不定的x86指令转换为长度固定的类似于RISC的指 令,并交给RISC内核。解码分为硬件解码和微解码,对于 简单的x86指令只要硬件解码即可,速度较快,而遇到复杂 的x86指令则需要进行微解码,并把它分成若干条简单指令, 速度较慢且很复杂。 寻址范围小——约束了用户需要 即使AMD研发出X86-64架构时,虽然也解决了传统X86固有 的一些缺点,比如寻址范围的扩大,但这种改善并不能直接 带来性能上的提升。
ARM与X86
CISC与RISC的比较 冯·诺依曼体系结构和哈佛体系结构 X86指令集和ARM指令集 ARM与X86
CISC和RISC
CISC:复杂指令集(Complex Instruction Set Computer)
具有大量的指令和寻址方式,指令长度可变 8/2原则:80%的程序只使用20%的指令 大多数程序只使用少量的指令就能够运行。
Wintel帝国
1997年DEC将StrongARM内核正式出售给Intel。 StrongARM内核基于ARM V4 ISA(Instruction Set Architecture),由DEC和ARM联合开发。Intel使用 这个内核替代了自己的i860和i960处理器,在此基 础上创建了基于ARM V5 ISA的XScale架构。
Wintel帝国
随着Wintel帝国的前行,Microsoft不再弱小,市值 逐渐超过了Intel,也更加富有。掌控着底层硬件平 台的Intel对OEM/ODM却有着最大的话语权。
这一切使得Wintel帝国内部的冲突愈发频繁。 Microsoft率先发难。Windows NT开始支持x86处理 器的竞争对手,RISC处理器,包括MIPS R3000/R4000, Alpha和PowerPC。Microsoft多次 断言RISC处理器替代Intel的x86是大势所趋。
能很好的兼容 8 位 /16 位器件; 大量使用寄存器,指令执行速度更快; 大多数数据操作都在寄存器中完成; 寻址方式灵活简单,执行效率高; 指令长度固定; 流水线处理方式 Load_store结构
ARM指令集
允许一些特定指令的执行周期数字可变,以 降低功耗,减小面积和代码尺寸。
增加了桶形移位器来扩展某些指令的功能。 使用了16位的Thumb指令集来提高代码密度。 使用条件执行指令来提高代码密度和性能。 使用增强指令来实现数据信号处理的功能。
退出
单通数据通道
RISC:Load/Store结构
CISC的背景和特点
背景: 存储资源紧缺, 强调编译优化 增强指令功能,设置一些功能复杂的指令,把
一些原来由软件实现的、常用的功能改用硬件 的(微程序)指令系统来实现 为节省存储空间,强调高代码密度,指令格式 不固定,指令可长可短,操作数可多可少 寻址方式复杂多样,操作数可来自寄存器,也 可来自存储器 采用微程序控制,执行每条指令均需完成一个 微指令序列 CPI > 5,指令越复杂,CPI越大。
1981年Stenford的Hennessy研制MIPS芯片。 85年后推出商品化RISC: MIPS1(1986)和SPARC
V1(1987)
典型的高性能RISC处理器
SUN公司的SPARC(1987) MIPS公司的SGI:MIPS(1986) HP公司的PA-RISC, IBM, Motorola公司的PowerPC DEC、Compac公司的Alpha AXP IBM的RS6000(1990)第一台Superscalar RISC机
软硬功能分配
复杂指令增加硬件的复杂度,使指令执行周期大大加长, 直接访存次数增多,数据重复利用率低。
不利于先进指令级并行技术的采用 流水线技术
RISC基本设计思想
减小CPI: CPUtime=Instr_Count * CPI * Clock_cycle
精简指令集:保留最基本的,去掉复杂、使用频 度不高的指令
Wintel帝国
1987年,格罗夫成为Intel的第三任CEO,与 另外一个耀眼的企业领袖比尔·盖茨联手创建 了Wintel这个事实上的铁血联盟。无论是Intel 还是Microsoft都不承认Wintel联盟的存在, 却无法否认这个词汇在整个处理器行业制造 的恐慌与肃杀。在那个时代,对于在帝国之 外妄图涉足PC领域的厂商,Wintel这个词汇 本身就是一个魔咒,使之望而却步。
Wintel帝国
格鲁夫之后,材料学出身的克雷格·贝瑞特于 1997年5月成为Intel的第四任CEO。贝瑞特 给Intel留下了“Copy Exactly”的成产哲学。
在“Copy Exactly”的大背景下,Intel有史以 来最失败的处理器Pentium IV诞生了。过分 迷信工艺的力量,使得Pentium IV一再挑战 着CPU主频的极限。这并没有改变Pentium IV高频低能的结局。AMD的x86 64与多核处 理器几乎摧毁了Intel。
Wintel帝国
在PC帝国中,Intel是处理器的最重要的供货 商,AMD占据着为数不多的市场份额,更少 的一部分份额留给了台湾的VIA。PC处理器 大多使用Windows操作系统,也有些PC安装 着其他操作系统,如Linux和BSD。
Wintel帝国
1984年,Intel遇到了创建以来的第一次危机,存储 器危机。在上世纪七十年代,Intel是存储器芯片的 主要提供商。在那个年代Intel在存储器领域的市场 占有率几乎是100%。
Wintel帝国
面对这场危机,Intel开始动摇,着手研发抗衡RISC 处理器的产品,安腾(Itanium)和Pentium Pro处理器。 采用向前兼容的Pentium Pro处理器在CISC vs RISC 的战争中大获全胜,放弃了向前兼容的安腾最终被遗 忘。Pentium Pro的胜利和安腾的失败化解了Wintel 帝国面临的最大的一场危机。对“向前兼容”的依赖, 使帝国的这两个重要成员重归蜜月期。1996年,比 尔·盖茨在公开场合承认,“最近的两年内,英特尔 与微软在合作方面所花的时间比前十年加在一起还要 多”。
CISC与RISC的对比
类别
CISC
RISC
指令系统 指令数量很多
较少,通常少于100
执行时间 编码长度
有些指令执行时间很长,如 整块的存储器内容拷贝;或 将多个寄存器的内容拷贝到 存贮器
编码长度可变,1-15字节
没有较长执行时间的指令 编码长度固定,通常为4个字节
寻址方式 寻址方式多样
简单寻址
操作 编译
ARM指令集
相比而言,以RISC为架构体系的ARM指令集的指令格式统 一,种类比较少,寻址方式也比复杂指令集少。当然处理速 度就提高很多。ARM处理器都是所谓的精简指令集处理机 (RISC)。
其所有指令都是利用一些简单的指令组成的,简单的指令意 味着相应硬件线路可以尽量做到最佳化,而提高执行速率, 相对的使得一个指令所需的时间减到最短。
Wintel帝国
1978年开始的PC帝国,以Intel最终战胜AMD 为标志,正式步入后PC时代。
Wintel是Windows和Intel的合成词。Wintel指 使用x86处理器并运行着Windows的处理器系 统。在Wintel这个词汇中,Intel占有更多的字 符,也是Wintel的主体。
数据0 数据1 数据2
哈佛体系结构
地址
指令寄存器
控制器
指令
数据通道
输入
输出
地址
CPU
数据
程序存储器
指令0 指令1 指令2
数据存储器
数据0 数据1 数据2
X86指令集
X86指令集是Intel为其第一块16位CPU(i8086)专门 开发的,后来的电脑中为提高浮点数据处理能力而 增加的X87芯片系列数学协处理器另外使用X87指 令,以后就将X86指令集和X87指令集统称为X86指 令集。虽然随着CPU技术的不断发展,Intel陆续研 制出更新型的i80386、i80486,但为了保证电脑能 继续运行以往开发的各类应用程序以保护和继承丰 富的软件资源,所以Intel公司所生产的所有CPU仍 然继续使用X86指令集,所以它的CPU仍属于X86 系列。由于Intel X86系列及其兼容CPU都使用X86 指令集,所以就形成了今天庞大的X86系列及兼容 CPU阵容。
CISC的主要缺点
指令使用频度不均衡。
高频度使用的指令占据了绝大部分的执行时间,扩充的 复杂指令往往是低频度指令。
大量复杂指令的控制逻辑不规整,不适于VLSI工艺
VLSI的出现,使单芯片处理机希望采用规整的硬联逻辑 实现,而不希望用微程序,因为微程序的使用反而制约 了速度提高。(微码的存控速度比CPU慢5-10倍)。
可以对存储器和寄存器进行 只能对寄存器对行算术和逻辑
算术和逻辑操作
操作,Load/Store体系结构
难以用优化编译器生成高效 采用优化编译技术,生成高效
的目标代码程序
的目标代码程序
冯·诺依曼体系结构
冯·诺依曼体系结构
指令寄存器 控制器
数据通道
输入
输出
中央处理器
存储器
程序
指令0 指令1 指令2 指令3 指令4
从上世纪80年代起,Intel的存储器危机初露端倪。 日本人迅速掌握了存储器设计与生产这个门槛并不 是很高的技术核心,借助其特有的高效与后发优势, 在短短的两三年时间,大肆吞噬着Intel在存储器领 域的市场份额。Intel几乎从一个存储器领域的统治 者沦落为二流存储器芯片供应商。
Wintel帝国
RISC的提出与发展
Load/Store结构提出: CDC6600(1963)-CRAY1(1976)
RISC思想最早在IBM公司提出,但不叫RISC, IBM801处理器是公认体现RISC思想的机器。
1980年,Berkeley的Patterson和Dizel提出RISC名 词,并研制了RISC-,实验样机。
RISC:精简指令集(Reduced Instruction Set Computer)
只包含最有用的指令,指令长度固定 确保数据通道快速执行每一条指令 使CPU硬件结构设计变得更为简单
CISC与RISC的数据通道
开始
IF
ID
ALU MEM REG
退出
微操作通道
CISC:寻址方式复杂
Байду номын сангаас
开始
IF
ID
REG ALU MEM
而因为指令集的精简,所以许多工作都必须组合简单的指令, 而针对较复杂组合的工作便需要由『编译程式』(compiler) 来执行,而 CISC 体系的X86指令集因为硬体所提供的指令 集较多,所以许多工作都能够以一个或是数个指令来代替, compiler 的工作因而减少许多。
ARM指令集
体积小,低功耗,低成本,高性能 支持 Thumb ( 16 位) /ARM ( 32 位)双指令集,
采用Load/Store结构,有助于减少指令格式,统 一存储器访问方式
采用硬接线控制代替微程序控制
RISC:减少指令平均执行周期数
CPUtime= Instr_Count *CPI * Clock_cycle ICRISC > IC CISC, 30%---40% CCRISC < CCCISC CPIRISC < CPICISC , 20% 超标量、超流水线、VLIW等系统结构, 目标 在于减小CPI, 可使CPI<1
在那个年代,中小型机大行其道。DEC公司 的VAX机是所有处理器厂商难以逾越的高峰, Motorola半导体的68K处理器如日中天。很少 有人相信Intel能在处理器领域有所作为。在 那个年代,Intel推出的每款处理器都是学术 界奚落的对象。1986年Intel推出的386处理 器遭到了整个学术界的诟病。这些学者的这 些技术观点多数是对的。从技术的角度上看, 386处理器并不成熟,也给Intel留下了向前兼 容,这个堪称伟大的包袱。
X86指令集
通用寄存器组————对CPU内核结构的影响 X86指令集只有8个通用寄存器。所以,CISC的CPU执行是
大多数时间是在访问存储器中的数据,而不是寄存器中的。 这就拖慢了整个系统的速度。 解码————对CPU的外核的影响 解码器(Decode Unit),这是x86CPU才有的东西。其作用 是把长度不定的x86指令转换为长度固定的类似于RISC的指 令,并交给RISC内核。解码分为硬件解码和微解码,对于 简单的x86指令只要硬件解码即可,速度较快,而遇到复杂 的x86指令则需要进行微解码,并把它分成若干条简单指令, 速度较慢且很复杂。 寻址范围小——约束了用户需要 即使AMD研发出X86-64架构时,虽然也解决了传统X86固有 的一些缺点,比如寻址范围的扩大,但这种改善并不能直接 带来性能上的提升。
ARM与X86
CISC与RISC的比较 冯·诺依曼体系结构和哈佛体系结构 X86指令集和ARM指令集 ARM与X86
CISC和RISC
CISC:复杂指令集(Complex Instruction Set Computer)
具有大量的指令和寻址方式,指令长度可变 8/2原则:80%的程序只使用20%的指令 大多数程序只使用少量的指令就能够运行。
Wintel帝国
1997年DEC将StrongARM内核正式出售给Intel。 StrongARM内核基于ARM V4 ISA(Instruction Set Architecture),由DEC和ARM联合开发。Intel使用 这个内核替代了自己的i860和i960处理器,在此基 础上创建了基于ARM V5 ISA的XScale架构。
Wintel帝国
随着Wintel帝国的前行,Microsoft不再弱小,市值 逐渐超过了Intel,也更加富有。掌控着底层硬件平 台的Intel对OEM/ODM却有着最大的话语权。
这一切使得Wintel帝国内部的冲突愈发频繁。 Microsoft率先发难。Windows NT开始支持x86处理 器的竞争对手,RISC处理器,包括MIPS R3000/R4000, Alpha和PowerPC。Microsoft多次 断言RISC处理器替代Intel的x86是大势所趋。
能很好的兼容 8 位 /16 位器件; 大量使用寄存器,指令执行速度更快; 大多数数据操作都在寄存器中完成; 寻址方式灵活简单,执行效率高; 指令长度固定; 流水线处理方式 Load_store结构
ARM指令集
允许一些特定指令的执行周期数字可变,以 降低功耗,减小面积和代码尺寸。
增加了桶形移位器来扩展某些指令的功能。 使用了16位的Thumb指令集来提高代码密度。 使用条件执行指令来提高代码密度和性能。 使用增强指令来实现数据信号处理的功能。
退出
单通数据通道
RISC:Load/Store结构
CISC的背景和特点
背景: 存储资源紧缺, 强调编译优化 增强指令功能,设置一些功能复杂的指令,把
一些原来由软件实现的、常用的功能改用硬件 的(微程序)指令系统来实现 为节省存储空间,强调高代码密度,指令格式 不固定,指令可长可短,操作数可多可少 寻址方式复杂多样,操作数可来自寄存器,也 可来自存储器 采用微程序控制,执行每条指令均需完成一个 微指令序列 CPI > 5,指令越复杂,CPI越大。
1981年Stenford的Hennessy研制MIPS芯片。 85年后推出商品化RISC: MIPS1(1986)和SPARC
V1(1987)
典型的高性能RISC处理器
SUN公司的SPARC(1987) MIPS公司的SGI:MIPS(1986) HP公司的PA-RISC, IBM, Motorola公司的PowerPC DEC、Compac公司的Alpha AXP IBM的RS6000(1990)第一台Superscalar RISC机
软硬功能分配
复杂指令增加硬件的复杂度,使指令执行周期大大加长, 直接访存次数增多,数据重复利用率低。
不利于先进指令级并行技术的采用 流水线技术
RISC基本设计思想
减小CPI: CPUtime=Instr_Count * CPI * Clock_cycle
精简指令集:保留最基本的,去掉复杂、使用频 度不高的指令
Wintel帝国
1987年,格罗夫成为Intel的第三任CEO,与 另外一个耀眼的企业领袖比尔·盖茨联手创建 了Wintel这个事实上的铁血联盟。无论是Intel 还是Microsoft都不承认Wintel联盟的存在, 却无法否认这个词汇在整个处理器行业制造 的恐慌与肃杀。在那个时代,对于在帝国之 外妄图涉足PC领域的厂商,Wintel这个词汇 本身就是一个魔咒,使之望而却步。
Wintel帝国
格鲁夫之后,材料学出身的克雷格·贝瑞特于 1997年5月成为Intel的第四任CEO。贝瑞特 给Intel留下了“Copy Exactly”的成产哲学。
在“Copy Exactly”的大背景下,Intel有史以 来最失败的处理器Pentium IV诞生了。过分 迷信工艺的力量,使得Pentium IV一再挑战 着CPU主频的极限。这并没有改变Pentium IV高频低能的结局。AMD的x86 64与多核处 理器几乎摧毁了Intel。
Wintel帝国
在PC帝国中,Intel是处理器的最重要的供货 商,AMD占据着为数不多的市场份额,更少 的一部分份额留给了台湾的VIA。PC处理器 大多使用Windows操作系统,也有些PC安装 着其他操作系统,如Linux和BSD。
Wintel帝国
1984年,Intel遇到了创建以来的第一次危机,存储 器危机。在上世纪七十年代,Intel是存储器芯片的 主要提供商。在那个年代Intel在存储器领域的市场 占有率几乎是100%。
Wintel帝国
面对这场危机,Intel开始动摇,着手研发抗衡RISC 处理器的产品,安腾(Itanium)和Pentium Pro处理器。 采用向前兼容的Pentium Pro处理器在CISC vs RISC 的战争中大获全胜,放弃了向前兼容的安腾最终被遗 忘。Pentium Pro的胜利和安腾的失败化解了Wintel 帝国面临的最大的一场危机。对“向前兼容”的依赖, 使帝国的这两个重要成员重归蜜月期。1996年,比 尔·盖茨在公开场合承认,“最近的两年内,英特尔 与微软在合作方面所花的时间比前十年加在一起还要 多”。
CISC与RISC的对比
类别
CISC
RISC
指令系统 指令数量很多
较少,通常少于100
执行时间 编码长度
有些指令执行时间很长,如 整块的存储器内容拷贝;或 将多个寄存器的内容拷贝到 存贮器
编码长度可变,1-15字节
没有较长执行时间的指令 编码长度固定,通常为4个字节
寻址方式 寻址方式多样
简单寻址
操作 编译
ARM指令集
相比而言,以RISC为架构体系的ARM指令集的指令格式统 一,种类比较少,寻址方式也比复杂指令集少。当然处理速 度就提高很多。ARM处理器都是所谓的精简指令集处理机 (RISC)。
其所有指令都是利用一些简单的指令组成的,简单的指令意 味着相应硬件线路可以尽量做到最佳化,而提高执行速率, 相对的使得一个指令所需的时间减到最短。
Wintel帝国
1978年开始的PC帝国,以Intel最终战胜AMD 为标志,正式步入后PC时代。
Wintel是Windows和Intel的合成词。Wintel指 使用x86处理器并运行着Windows的处理器系 统。在Wintel这个词汇中,Intel占有更多的字 符,也是Wintel的主体。