ARM2体系结构Word文档下载推荐.docx

上传人:b****5 文档编号:15812262 上传时间:2022-11-16 格式:DOCX 页数:34 大小:197.48KB
下载 相关 举报
ARM2体系结构Word文档下载推荐.docx_第1页
第1页 / 共34页
ARM2体系结构Word文档下载推荐.docx_第2页
第2页 / 共34页
ARM2体系结构Word文档下载推荐.docx_第3页
第3页 / 共34页
ARM2体系结构Word文档下载推荐.docx_第4页
第4页 / 共34页
ARM2体系结构Word文档下载推荐.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

ARM2体系结构Word文档下载推荐.docx

《ARM2体系结构Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《ARM2体系结构Word文档下载推荐.docx(34页珍藏版)》请在冰豆网上搜索。

ARM2体系结构Word文档下载推荐.docx

指令译码和控制逻辑包括指令流水线、Thumb指令译码器。

流水线技术是将每条指令分解为多步来执行,流水线方式是指把一个处理过程分解成若干个子过程,每个子过程可以与其他子过程同时进行,实现几条指令并行处理,以加速程序运行过程的技术。

流水线技术是通过增加计算机硬件来实现的,每条由各自独立的电路来处理,每完成一步,就进到下步,而前一步则处理后续指令。

采用流水线技术后,处理器并没有加速单条指令的执行,每条指令的操作步骤也不能少,由于多条指令的不同操作步骤同时执行,因而从总体上加快了指令流执行速度,缩短了程序执行时间。

在计算机的体系结构中,处理器包含指令部件I和指令执行部件E。

指令部件I负责完成指令取指、指令译码,指令执行部件E负责完成功能运算、结果保存。

计算机执行程序是按顺序执行的。

在一条指令中,可以分为三个部分,如图2.2所示:

取指令

译码

执行

图2.2指令执行过程

为了提高CPU的工作效率,ARM的控制器设计完全采用硬布线实现。

如图2.3所示,ARM把若干条指令在执行时间上重叠起来,使机器的执行速度大大加快。

I1取指令

I1译码

I1执行

I2取指令

I2译码

I2执行

I3取指令

I3译码

I3执行

图2.3流水线执行过程

从图2.3可以看出,指令部件完成第1条指令取指后,交给指令译码部件;

指令部件进行第2条指令的取指。

同理,译码部件完成第1条指令译码后,交给指令执行部件;

指令译码继续完成第2条指令的译码。

指令的整个执行过程相当于工业生产线上的流水作业,这种指令的处理机制称作指令流水线。

到目前为止,ARM核处理器的流水机制分为三级流水线、五级流水线和六级流水线(ARM11为八级流水线)。

ARM7采用三级流水线结构,分别是取指、译码和执行。

ARM9采用的是五级流水线结构,分别是取指、译码、执行、存储和回写。

ARM10采用的是六级流水线结构。

指令流水线遇到执行“跳转指令”时,指令流水线不能继续执行,自动清空指令流水线(如重新建立指令流水线需要2个或2个以上的指令周期),指令流水线需要重新建立。

为提高指令执行效率,ARM在指令设计上基本每条指令都采用条件执行。

执行含有条件的指令时,如条件不满足,相当指令一条NOP指令,指令流水线不清空。

ARM7TDMI执行使用3级流水线,第一级从内存中取回的指令,第二级开始译码,而第三级实际执行。

因此,程序计数器指针总是超出当前执行的指令两个指令,参见图2.3(在为分支指令计算偏移量时必须计算在内)。

在分支时ARM7TDMI将多花2个指令周期(因为流水线需要重新添满)。

所以最好利用条件执行指令来避免浪费周期。

例如:

...

CMPR0,#0

BEQfinish1

MOVR1,#1

MOVR2,#2

finish1

ARM7TDMI条件指令可以使系统执行更为有效:

MOVNER1,#1

MOVNER2,#2

Thumb指令译码器。

由于ARM内部只有一个32位运算器,为节约存储器空间,减少代码的存储空间,Thumb指令是将32位指令按照16位格式进行存储,在执行过程中,Thumb指令译码器把16位格式的指令还原成32位运算器能够执行的32位指令。

2.1.3运算器

ALU包含寄存器组、32*8乘法器、桶形移位器和32位的运算器。

本节简单介绍乘法器、桶形移位器和32位的运算器。

寄存器组将2.3节中介绍。

(1)32位的加法器

运算器不仅要实现加法运算,还必须实现指令集的所有指令。

它包括访问存储器的地址计算、跳转地址计算和位逻辑运算功能,ARM内核不采用微程序译码方式执行,采用完全的硬布线逻辑实现。

(2)桶形移位器

ARM7TDMI的运算指令包括两个操作数,第一个是寄存器,第二个可以是寄存器、立即数、或者是寄存器、立即数经过移位运算产生的操作数。

桶形移位器采用交叉开关,提供实现移位的硬件设备,减少数据的延时,提高指令的执行速度。

(3)32*8乘法器

ARM7TDMI支持64位结果乘法指令以及乘加指令。

乘法器是由硬件布线逻辑实现的,它采用著名的Booth改进电路,提高了乘法运行速度。

2.1.4内核接口信号

ARM7TDMI总线接口信号分为时钟信号、中断请求信号、总线控制信号、调试信号、边界扫描信号、处理器模式与状态信号、存储器接口信号、协处理器接口信号和电源等9类。

下面介绍各类主要信号:

1.时钟信号:

(1)MCLK(memoryclock)

输入信号。

ARM7TDMI、存储器及系统其它部件在MCLK时钟的控制下运行。

为获得地址原始的MCLK低电平定时信号,ALE须用MCLK的下降沿驱动成高电平信号,用MCLK的上升沿驱动成低电平信号。

ALE可以简单地反向MCLK信号得到,但是从MCLK得到ALE有延时,须特别注意。

(2)nWAIT(notwait)

nWAIT是由存储器或者外部设备给出的信号,可以用于延长总线周期。

当访问低速存储器或设备时,处理器将把访问时间延长若干个时钟周期,以等待低速存储器和设备的响应。

在ARM7TDMI内部,nWAIT与MCLK进行“与”操作,当nWAIT为高时,ARM7TDMI在MCLK的控制下运行。

在任何的多周期存储器访问时,nWAIT低电平保持到最终得到数据锁存。

(3)ECLK(externalclock)

ECLK是内核的输出信号,由MCLK扩展生成。

当调试内核时,ECLK是由TCK产生的DCLK信号。

2.中断请求信号:

(1)nIRQ(notinterruptrequest)

低电平有效。

如果nIRQ为低电平,将产生IRQ中断。

(2)nFIQ(notfastinterruptrequests)

低电平有效。

如果nFIQ为低电平将产生FIQ中断。

(3)ISYNC(synchronousinterrupt)

如果nIRQ和nFIQ与ARM核时钟同步,ISYNC为低电平;

如果ISYNC为高电平,要求nIRQ和nFIQ与ARM核时钟进行同步。

3.总线控制信号:

(1)nRESET(notreset)

nRESET为低电平导致正在执行的指令非正常执行。

nRESET为低电平时,处理器在复位处执行指令的虚拟预取。

如nRESET一直为低,处理器执行内部周期,同时地址自动从复位处增值,最终地址会产生溢出,地址为0。

当nRESET在低电平保持2个或2个以上时钟周期后,恢复为高电平一个时钟周期,ARM7TDMI将从地址0×

00重新开始执行。

(2)HIGHZ(highimpedance)

HIGHZ信号为高电平表示HIGHZ指令被加载到TAP控制器。

(3)nENIN(notenableinput)

在写周期,nENIN与nENOUT共同控制数据总线。

在简单的系统中,nENIN为低,nENOUT不定义。

在一些较复杂的应用系统中,nENIN允许外部系统操纵。

当外部设备驱动总线时,nENIN可用于信号延时。

(4)nENOUT(notenableoutput)

在数据写周期,nENOUT一直保持低电平。

在共享总线应用中,nENOUT信号可用作辅助仲裁。

(5)ABE(addressbusenable)

ABE输入为低电平,强迫地址总线进入高阻状态。

MAS[1:

0]、nRW、LOCK、nOPC和nTRANS信号也有类似的情况。

如果系统不要求禁止地址驱动,ABE应接到高电平。

(6)APE(addresspipelineenable)

当APE为高电平表示总线处于流水线方式,当APE为低电平,表示总线处于非流水线方式。

APE的电平要保持到存储器控制信号指明另一个非顺序访问结束。

地址总线、LOCK、nRW、MAS[1..0]、nOPC、和nTRANS与APE共同作用,以确定总线周期的类型。

系统可能包含DRAM和SRAM以及ROM。

为适应不同地址周期的需要,在MCLK为低时APE可以变换。

APE信号控制ARM7TDMI的地址总线可以在流水线方式或非流水线方式下操作。

APE信号的输入可以控制ARM7TDMI的地址总线形成流水线或取消流水线。

APE信号影响A[31:

0]、nRW、MAS[1:

0]、LOCK、nOPC和nTRANS信号。

作为地址译码的结果,APE由被访问的存储体驱动,APE信号需要保持到另一个非顺序访问周期。

通常,在同类存储器的猝发顺序访问中,APE保持为同一电平。

在只包含SRAM和ROM的系统中,在产生要求的地址时,APE总是保持低电平;

许多应用系统包含DRAM和SRAM/ROM,为适应不同的地址定时要求,在MCLK的低电平相位内,APE可以安全改变。

(7)ALE(adresslatchenable)

在非顺序周期里,地址译码需要加入一个等待状态,用于控制地址输出的锁存器,通常地址信号需要稳定,直到周期结束。

ALE为高电平,系统地址将保持不变。

它的作用与MAS[1:

0],nRW,LOCK,nOPC和nTRANS信号类似。

(8)DBE(databusenable)

在单向或双向总线数据输出时,DBE应为高电平。

DBE为低电平时,双向数据总线进入高阻状态,单向数据输出总线为高阻,无数据输出。

(9)TBE(testbusenable)

TBE是ARM7TDMI输出控制信号,通常TBE总是保持为高电平。

TBE控制信号在测试时使用。

当TBE为低电平时,数据总线D[31:

0]、地址总线A[31:

0]、LOCK、MAS[1:

0]、nRW、nTRANS和nOPC被强制为高阻状态。

由于TBE没有与之相关的扫描单元,因此允许外部信号在扫描测试期间被置为高阻状态。

4.调试信号:

(1)BREAKPT(breakpoint)

为了调试程序,BREAKPT信号允许外部设备停止处理器正在执行的程序。

BREAKPT为高,引起当前存储器访问的中断。

如对存储器的访问是取指,指令到达指令流水线,ARM7TDMI进入调试状态;

如对存储器的访问是存取数据,当前指令执行完成,ARM7TDMI进入调试状态。

BREAKPT信号允许扩充ICE类型的内部断点。

(2)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 节日庆典

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1