RISC架构和STM32哈弗架构
MSP430FR2433⽤的是RISC架构
1.RISC架构:RISC架构作为⼀种精简指令集架构,区别于CISC架构( 指令不定长 ,指令复杂).它主张简化编译器,在时间使⽤中cpu 80%的时间执⾏的指令都是20%的指令集,如基本的算术逻辑运算, 和跳转控制指令,太复杂的指令实⽆必要.
以下内容来⾃
RISC 和CISC 是⽬前设计制造微处理器的两种典型技术,在很多⽅⾯差异很⼤=
  (1) 指令系统:RISC 对于常⽤的指令上简单⾼效,对不常⽤的功能,通过组合指令来完成。实现特殊功能时,效率可能较低。但可以利⽤流⽔技术和超标量技术加以改进和弥补。⽽CISC 计算机的指令系统⽐较丰富,有专⽤指令来完成特定的功能。因此,处理特殊任务效率较⾼。
  (2) 存储器操作:RISC 对存储器操作有限制,使控制简单化;⽽CISC 机器的存储器操作指令多,操作直接。
  (3) 程序:RISC 汇编语⾔程序⼀般需要较⼤的内存空间,实现特殊功能时程序复杂,不易设计;⽽CISC 汇编语⾔程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较⾼。
  (4) 中断:RISC 机器在⼀条指令执⾏的适当地⽅可以响应中断;⽽CISC 机器是在⼀条指令执⾏结束后响应中断。
  (5) CPU:RISC CPU 包含有较少的单元电路,因⽽⾯积⼩、功耗低;⽽CISC CPU 包含有丰富的电路单元,因⽽功能强、⾯积⼤、功耗⼤。
  (6) 设计周期:RISC 微处理器结构简单,布局紧凑,设计周期短,且易于采⽤最新技术;CISC 微处理器结构复杂,设计周期长。  (7) ⽤户使⽤:RISC 微处理器结构简单,指令规整,性能容易把握,易学易⽤;CISC微处理器结构复杂,功能强⼤,实现特殊功能容易。
  (8) 应⽤范围:由于RISC 指令系统的确定与特定的应⽤领域有关,故RISC 机器更适合于专⽤机;⽽CISC 机器则更适合于通⽤机。冯·诺依曼结构与哈佛结构
1、冯·诺依曼(von Neumann)结构
冯·诺依曼结构的计算机由CPU和存储器构成,其程序和数据共⽤⼀个存储空间,程序指令存储地址和数据存储地址指向同⼀个存储器的不同物理位置;采⽤单⼀的地址及数据总线,程序指令和数据的宽度相同。程序计数器(PC)是CPU内部指⽰指令和数据的存储位置的寄存器。
CPU通过程序计数器提供的地址信息,对存储器进⾏寻址,到所需要的指令或数据,然后对指令进⾏译码,最后执⾏指令规定的操作。处理器执⾏指令时,先从存储器中取出指令解码,再取操作数执⾏运算,即使单条指令也要耗费⼏个甚⾄⼏⼗个周期;在⾼速运算时,在传输通道上会出现瓶颈效应。
⽬前使⽤冯·诺依曼结构的CPU和微控制器品种有很多,例如Intel公司的8086系列及其他CPU、的、MIPS公司的MIPS处理器等。
2、哈佛(Harvard)结构
哈佛结构的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独⽴的存储器,每个存储器独⽴编址、独⽴访问。系统中具有程序的数据总线与地址总线及数据的数据总线与地址总线。这种分离的程序总线和数据总线可允许在⼀个机器周期内同时获取指令字(来⾃程序存储器)和操作数(来⾃数据存储器),从⽽提⾼了执⾏速度及数据的吞吐率。⼜由于程序和数据存储器在两个分开的物理空间中,因此取指和执⾏能完全重叠,具有较⾼的执⾏效率。
⽬前使⽤哈佛结构的CPU和微控制器品种有很多,除DSP处理器外,还有Freescale公司的MC68系列,Zilog公司的28系列,ATMEL公司的AVR系列和ARM公司的、ARM10、ARM11等。
冯诺依曼体系结构、哈佛体系结构与改进型哈佛结构之间的区别
1、冯·诺依曼结构
冯·诺依曼结构⼜称作普林斯顿体系结构(Princetionarchitecture)。
1945年,冯·诺依曼⾸先提出了“存储程序”的概念和⼆进制原理,后来,⼈们把利⽤这种概念和原理设计的电⼦计算机系统统称为“冯·诺依曼型结构”计算机。冯·诺依曼结构的处理器使⽤同⼀个存储器,经由同⼀个总线传输。
冯·诺依曼结构处理器具有以下⼏个特点:
必须有⼀个存储器;
必须有⼀个控制器;
必须有⼀个运算器,⽤于完成算术运算和逻辑运算;
必须有输⼊和输出设备,⽤于进⾏⼈机通信。
冯·诺依曼的主要贡献就是提出并实现了“存储程序”的概念。由于指令和数据都是⼆进制码,指令和操作数的地址⼜密切相关,因此,当初选择这种结构是⾃然的。但是,这种指令和数据共享同⼀总线的结构,使得信息流的传输成为限制计算机性能的瓶颈,影响了数据处理速度的提⾼。
在典型情况下,完成⼀条指令需要3个步骤,即:取指令、指令译码和执⾏指令。从指令流的定时关系也可看出冯·诺依曼结构与哈佛结构处理⽅式的差别。举⼀个最简单的对存储器进⾏读写操作的指令,指令1⾄指令3均为存、取数指令,对冯·诺依曼结构处理器,由于取指令和存取数据要从同⼀个存储空间存取,经由同⼀总线传输,因⽽它们⽆法重叠执⾏,只有⼀个完成后再进⾏下⼀个。
arm7系列的CPU有很多款,其中部分CPU没有内部cache的,⽐如arm7TDMI,就是纯粹的冯·诺依曼结构,其他有内部cache且数据和指令的cache分离的cpu则使⽤了哈弗结构。
2、哈佛结构
哈佛结构是⼀种将程序指令存储和数据存储分开的存储器结构,如图1所⽰。中央处理器⾸先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进⾏下⼀步的操作(通常是执⾏)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯⽚的程序指令是14位宽度,⽽数据是8位宽度。
图1 哈佛体系结构框图
哈佛结构的微处理器通常具有较⾼的执⾏效率。其程序指令和数据指令分开组织和存储的,执⾏时可以预先读取下⼀条指令。
⽬前使⽤哈佛结构的中央处理器和微控制器有很多,除了Microchip公司的PIC系列芯⽚,还有摩托罗拉公司的MC68系列、Zilog公司的
Z8系列、ATMEL公司的AVR系列和ARM公司的ARM9、ARM10和ARM11。
哈佛结构是指程序和数据空间独⽴的体系结构, ⽬的是为了减轻程序运⾏时的访存瓶颈。
例如最常见的卷积运算中, ⼀条指令同时取两个操作数, 在流⽔线处理时, 同时还有⼀个取指操作, 如果程序和数据通过⼀条总线访问,取指和取数必会产⽣冲突, ⽽这对⼤运算量的循环的执⾏效率是很不利的。
哈佛结构能基本上解决取指和取数的冲突问题。
⽽对另⼀个操作数的访问, 就只能采⽤Enhanced哈佛结构了, 例如像TI那样,数据区再split, 并多⼀组总线。 或向AD那样,采⽤指令cache, 指令区可存放⼀部分数据。
在典型情况下,完成⼀条指令需要3个步骤,即:取指令、指令译码和执⾏指令。从指令流的定时关系也可看出冯·诺依曼结构与哈佛结构处理⽅式的差别。举⼀个最简单的对存储器进⾏读写操作的指令,指令1⾄指令3均为存、取数指令,对冯·诺依曼结构处理器,由于取指令和存取数据要从同⼀个存储空间存取,经由同⼀总线传输,因⽽它们⽆法重叠执⾏,只有⼀个完成后再进⾏下⼀个。
如果采⽤哈佛结构处理以上同样的3条存取数指令,由于取指令和存取数据分别经由不同的存储空间和不同的总线,使得各条指令可以重叠执⾏,这样,也就克服了数据流传输的瓶颈,提⾼了运算速度。
3、冯·诺依曼体系和哈佛总线体系的区别
⼆者的区别就是程序空间和数据空间是否是⼀体的。冯·诺依曼结构数据空间和地址空间不分开,哈佛结构数据空间和地址空间是分开的。
早期的微处理器⼤多采⽤冯·诺依曼结构,典型代表是Intel公司的X86微处理器。取指和取操作数都在同⼀总线上,通过分时服⽤的⽅式进⾏的。缺点是在⾼速运⾏时,不能达到同时取指令和取操作数,从⽽形成了传输过程的瓶颈。
哈佛总线技术应⽤是以DSP和ARM为代表的。采⽤哈佛总线体系结构的芯⽚内部程序空间和数据空间是分开的,这就允许同时取指和取操作数,从⽽⼤⼤提⾼了运算能⼒。
DSP芯⽚硬件结构有冯·诺依曼结构和哈佛结构,两者区别是地址空间和数据空间分开与否。⼀般DSP都是采⽤改进型哈佛结构,就是分开的数据空间和地址空间都不只是⼀条,⽽是有多条,这根据不同的⽣产⼚商的DSP芯⽚有所不同。在对外寻址⽅⾯从逻辑上来说也是⼀样,因为外部引脚的原因,⼀般来说都是通过相应的空间选取来实现的。本质上是同样的道理。
4.改进型的哈佛结构与哈佛体系结构差别
与冯.诺曼结构处理器⽐较,哈佛结构处理器有两个明显的特点:
(1).使⽤两个独⽴的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;
(2).使⽤独⽴的两条总线,分别作为CPU与每个存储器之间的专⽤通信路径,⽽这两条总线之间毫⽆关联。
后来,⼜提出了改进的哈佛结构,其结构特点为:
x86架构和arm架构区别
(1).使⽤两个独⽴的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;
(2).具有⼀条独⽴的地址总线和⼀条独⽴的数据总线,利⽤公⽤地址总线访问两个存储模块(程序存储模块和数据存储模块),公⽤数据总线则被⽤来完成程序存储模块或数据存储模块与CPU之间的数据传输;
(3).两条总线由程序存储器和数据存储器分时共⽤。
5.总结
体系结构与采⽤的独⽴与否的总线⽆关,与指令空间和数据空间的分开独⽴与否有关。51单⽚机虽然数据指令存储区是分开的,但总线是分时复⽤的,所以属于改进型的哈佛结构。ARM9虽然是哈佛结构,但是之前的版本(例如ARM7)也还是冯·诺依曼结构。早期的X86能迅速占有市场,⼀条很重要的原因,正是靠了冯·诺依曼这种实现简单,成本低的总线结构。现在的处理器虽然外部总线上看是诺依曼结构的,但是由于内部CACHE的存在,因此实际上内部来看已经 类似 改进型哈佛结构的了。⾄于优缺点,哈佛结构就是复杂,对外围设备的连接与处理要求⾼,⼗分不适合外围存储器的扩展。所以早期通⽤CPU难以采⽤这种结构。⽽单⽚机,由于内部集成了所需的存储器,所以采⽤哈佛结构也未尝不可。现在的处理器,依托CACHE的存在,已经很好的将⼆者统⼀起来了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。