马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
从AcornComputer公司在1983~1985年间开发基于3μm实现工艺的第一个处理器,到ARM公司在1990~1995年间开发飞ARM6和ARM7,ARM处理器喝点组织结构变化不大。这些处理器都使用的是典型的3级流水线的冯.诺曼结构,但是这一时期的CMOS工艺技术几乎将期间特征尺寸减小了一个数量级,因此,处理器核的VLSI实现的性能提高的很快。集成电路实现工艺的发展是性能提高的主要因素,而基本实现原理变化不大。 从1995年以来,ARM公司推出了几个新的ARM核。它们采用5级流水线,使用指令和数据存储分离飞哈佛体系结构,获得了优越的性能。
虽然在近几年开发了7级流水线的ARM处理器核,但目前使用最广泛的还是基于3级和5级流水线的体系结构的ARM处理器核。 3级流水线ARM的组织 3级流水线ARM处理器核的内部组织结构如图所示,按处理器核的功能架构可分成数据路径和控制桐庐。数据路径基本功能模块如下: 寄存器堆。寄存器堆主要用来保存处理器状态和处理器工作的数据。它有2个读端口和1个写端口,每个端口都可任意访问任意存储器,再加专门访问程序计数器R15的1个附加读端口和1个附加写端口。 桶式移位器。主要完成指令中第2个操作数移位和循环移位。 地址寄存器和增值器。它选择和保存所有存储器地址,并在需要时通过地址增值器产生顺序地址。 数据寄存器。对传送到存储器或从存储器取回的数据保存。 控制通路基本功能模块是指令解码器和相关的控制逻辑。 对于单周期数据处理指令,执行时需要读取2个操作数到A总线和B总线。B总线上的数据可能来自寄存器或立即数,经过桶式移位器移位后,与A总线上的数据在ALU中进行指令需要的各种运算,再将结果写回到目的寄存器中。程序计数器的数据在地址寄存器中,地址寄存器的数据送入地址增值器,然后将增加后的地址数据写到R15,同时还写到地址寄存器,作为下一次取指的地址选择。
3级流水线ARM的组织
1.
ARM的3级流水线介绍 到ARM7为止,ARM处理器使用的简单3级流水线分别为: 取指级。取指级完成程序存储器中指令的读取,并放入指令流水线中。 译码级。对指令进行译码,为下一个周期准备数据路径需要的控制信号。这一级指令“占有”译码逻辑,而不“占有”数据路径。 执行级。指令“占有”数据路径,寄存器堆被读取,操作数在桶式移位器中被移位,ALU产生相应的运算结果并回到目的寄存器,ALU结果根据指令需要更改状态寄存器的条件位。 在任意时刻,可能有3种不同的指令占用着3级中的一级,因此流水线正常的条件是在任意时刻,每一级中的硬件必须能够独立操作,而不能2级或多级占用同义硬件资源。 当处理器执行简单的数据处理指令时,流水线使得每个时钟周期能完成一条指令。一条指令用3个周期来完成,因此有3个周期的执行时间,但吞吐率是每个周期一条指令。 当执行多周期指令时,指令的执行流程不规则,图中表示了一组单周期指令ADD,而在第一个ADD指令的后面出现一个数据存储指令STR。访问主存储器的周期用浅阴影表示,因此看到在每一个周期中都使用了存储器。同样,在每一个周期中都使用了数据路径,这涉及带所有执行周期、地址计算和数据传送。译码逻辑总是产生数据路径在下一个周期使用的控制信号,因此除译码周期外,在STR地址计算中也产生数据传送所需的控制信号。 这样,在这个指令序列中,处理器的所有部件在每个时钟周期中都要执行相应的操作。对于ARM7,不可能同时占用冯诺曼存储器机构的端口,因此确定了不可能同时访问数据存储器和程序存储器。存储器时一个限制因素,造成了ARM流水线中断。 凌阳教育,专注嵌入式人才培养13年,完善的培养方案,强大的师资,合理的课程安排,成功从小白蜕变为嵌入式工程师。想了解凌阳教育,或者获得更多嵌入式学习资料的免费下载,请点击www.sunplusedu.com访问凌阳教育官网 |