1 / 35

本课内容(上)

本课内容(上). ARM I/O 结构 ARM 协处理器接口 ARM JTAG 调试接口 ARM 处理器内核 ARM 处理器核. 4.1 ARM I/O 结构. ARM 架构中的处理器核和处理器内核一般都没有 I/O 的部件和模块,构成 ARM 架构的处理器中的 I/O 可通过 AMBA 总线来扩充。本节所讨论的是 ARM 架构中的 I/O 、直接存储器存取 DMA 及中断等的结构形式. ARM Core. 外设. 32 bit RAM. 16 bit RAM. 中断控制器. I/O. nIRQ. nFIQ. 8 bit ROM.

jacob-carey
Download Presentation

本课内容(上)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 本课内容(上) • ARM I/O结构 • ARM协处理器接口 • ARM JTAG 调试接口 • ARM处理器内核 • ARM处理器核

  2. 4.1 ARM I/O结构 ARM架构中的处理器核和处理器内核一般都没有I/O的部件和模块,构成ARM架构的处理器中的I/O可通过AMBA总线来扩充。本节所讨论的是ARM架构中的I/O、直接存储器存取DMA及中断等的结构形式

  3. ARM Core 外设 32 bit RAM 16 bit RAM 中断控制器 I/O nIRQ nFIQ 8 bit ROM

  4. 存储器映像I/O • 一般的I/O,由一些寄存器组成,这些寄存器都需相应的I/O端口地址 • ARM采用了存储器映像I/O的方式,即把I/O端口地址作为特殊的存储器地址 • 存储器映像I/O单元标识为非Cache(uncachable)和非缓冲(unbufferable) • I/O设备的访问只可以通过系统管理调用(SWIs)或通过C的库函数写来使用这些调用

  5. 直接存储器存取DMA • I/O的数据流量比较大 • 系统采用直接存储器存取DMA • 中断在出现出错时或缓冲器满时出现 • I/O的数据块传送至存储器的缓冲器区域不需要处理器介入 • ARM架构的处理器一般都没有DMA部件 ,只有在一些高挡的ARM架构处理器具有DMA的功能

  6. 中断IRQ和快速中断FIQ • 要求I/O处理速率比较高的事件,系统安排了快速中断FIQ(Fast Interrupt) • 一般的I/O源仍安排了一般中断IRQ • 快速中断FIQ的请求响应时间最长为28个周期

  7. 4.2 ARM协处理器接口 ARM为了便于片上系统SOC的设计,ARM处理器内核尽可能精简,要增加系统的功能,可以通过协处理器来实现。在逻辑上,ARM可以扩展16个协处理器,每个协处理器可有16个寄存器。

  8. 协处理器接口信号 ARM处理器内核与协处理器接口有以下4类: • 时钟和时钟控制信号:MCLK、nWAIT、nRESET • 流水线跟随信号:nMREQ、SEQ、nTRANS、nOPC、TBIT • 应答信号:nCPI、CPA、CPB • 数据信号:D[31:0]、DIN[31:0]、DOUT[31:0]

  9. Handshaking signals ARM core Coprocessor X Coprocessor Y F D E F D E F D E Databus • 多达16个可定义协处理器,用唯一的ID来标示 • 扩充ARM指令集 • 通常用作ARM “internal functions” (例如:cp15通常 用作 ARM cache 控制器) • 通常系统设计的时候最好用内存映射外设 • 容易实现

  10. 4.3 ARM AMBA接口 • ARM处理器内核通过先进微控制器总线架构AMBA(Advanced Microcontroller Bus Architecture)来扩展不同体系架构的宏单元及I/O部件 • AMBA已成为片上总线OCB(On-Chip Bus)标准

  11. AMBA总线 Arbiter Reset ARM TIC Timer Remap/ Pause External ROM External Bus Interface Bus Interface Bridge External RAM Interrupt Controller On-chip RAM Decoder AHB or ASB APB 系统总线 片内外设总线

  12. AMBA • 先进高性能总线AHB(Advanced High-performance Bus) —先进高性能总线AHB不但支持突发方式的数据传送;而且,还支持分离式总线事务处理,以进一步提高总线的利用效率。AHB有逐步取代ASB的趋势,特别在高性能的ARM架构系统 • 先进系统总线ASB(Advanced System Bus) —ASB是目前ARM常用的系统总线,用来连接高性能系统模块,它支持突发(burst)方式数据传送 • 先进外围总线APB(Advanced Peripheral Bus) —先进外围总线APS为外围宏单元提供了简单的接口。也可以把APS看作为先进系统总线ASB的余部,为外围宏单元提供了最简易的接口

  13. 典型的基于AMBA的系统

  14. 4.4 ARM JTAG 调试接口 • 由测试访问端口TAP(Test Access Port)控制器、旁路(Bypass)寄存器、指令寄存器和数据寄存器,以及与JTAG接口兼容的ARM架构处理器; • 处理器的每个引脚都有一个移位寄存单元,称为边界扫描单元BSC(Boundary Scan Cell),它将JTAG电路与处理器核逻辑电路联系起来,同时,隔离了处理器核逻辑电路与芯片引脚; • 把所有的边界扫描单元构成了边界扫描寄存器BSR,该寄存器电路仅在进行JTAG测试时有效,在处理器核正常工作时无效

  15. JTAG 调试接口示意图

  16. 注:JTAG可以对同一块电路板上多块芯片进行测试。TRST、TCK和TMS信号注:JTAG可以对同一块电路板上多块芯片进行测试。TRST、TCK和TMS信号 并行至各个芯片,而一块芯片的TDO接至下一芯片的TDI

  17. Embedded-ICE模块 • ARM处理器核嵌入了Embedded-ICE模块,该模块包含了2个观察点(Watch point)寄存器和控制与状态寄存器。 • 当观察点寄存器的值与地址、数据和控制信号匹配时,观察点寄存器能中止ARM处理器运行 • 当指令在ROM或RAM中执行时,可以把观察点寄存器配置为断点寄存器,从而能暂停处理器运行

  18. Debugger and Multi-ICE server (可以运行在不同的主机上) CPU Control Address Data EmbeddedICE Logic-RT BREAKPT 5线JTAG TAP ARM • 被调试的系统可以是最终系统! • 也可以使用第三方开发调试工具。

  19. 4.5 ARM处理器内核 ARM架构的处理器内核有ARM7TDMI、ARM8、ARM9TDMI、ARM10TDMI及StrongARM(SA-1)等

  20. ARM7TDMI的体系结构图

  21. ARM7TDMI核接口信号图 A[31:0] nIRQ Data and Address D[31:0] nFIQ Interrupts BUSEN ISYNC ABE JTAG Interface DBE TBE Bus Control APE, ALE EXTERN[1:0] nENIN ARM7TDMI DBGRQ nENOUT Debug Interface BREAKPT nMREQ, SEQ Memory Interface DBGACK BIGEND DBGEN nRW Memory Access Control BL[3:0] ECLK MCLK MAS[1:0] Clocks and Clock Control LOCK nWAIT TBIT nCPI, nOPC Coprocessor Interface nTRANS CPB, CPA Memory Management nM[4:0] ABORT

  22. ARM7TDMI处理器内核的主要性能 • 工艺:0.35μ(新近采用0.25μ) • 金属布线:3层 • 电压:3.3V(新近采用1.2V、0.9V) • 管子数:74209只 • 内核芯片面积:2.1mm2 • 时钟:0-66MHz • MIPS:66 • 功耗:87mw • MIPS/W 690(采用0.25μ工艺,09V电压,可达1200 MIPS/W)

  23. ARM9TDMI • ARM9TTDMI处理器内核主要特性如下: ·工艺:025μ(0.18μ) ·金属布线:3层 ·电压:2.5V(1.2V) ·管子数:11100只 ·核芯片面积:2.1mm2 ·时钟:0—200MHz ·MIPS:220 ·功耗:150mw MIPS/W:1500

  24. ARM10TDMI 在同样的工艺,同样的芯片面积,ARM9TDMI的性能2倍于ARM7TDMI;而ARM10TDMI也同样2倍于ARM9TDMI

  25. 4.6 ARM处理器核 在最基本的ARM处理器内核其础上,可增加了Cache、存储器管理单元MMU、协处理器CP15、AMBA接口以及EMT宏单元等,构成了ARM处理器核

  26. ARM720T ARM720T处理器核是在ARM7TDMI处理器内核基础上,增加8K字节的数据与指令Cache,支持段式和页式存储的MMU、写缓冲器及AMBA接口构成

  27. ARM 720T系统结构框图

  28. ARM740T ARM740T处理器核与ARM720T处理器核用相比结构基本相同,但ARM740处理器核没有存储器管理单元MMU,不支持虚拟存储器寻址;而是用存储器保护单元来提供基本保护和Cache的控制。这为低价格低功耗的嵌入式应用提供了合适的处理器核。由于在嵌入式应用中运行固定软件,也不需要进行地址变换,即可以省去地址变换后备缓冲器TLB

  29. ARM740T处理器核系统结构图

  30. ARM920T ARM920T处理器核是在ARM9TDMI处理器内核基础上,增加了分离式的指令Cache和数据Cache,并带有相应的存储器管理单元I-MMU和D-MMU,写缓冲器及AMBA接口等构成

  31. ARM920T系统结构图

  32. ARM940T处理器核 ARM940T处理器核与ARM740T处理器核相似,采用了ARM9TDMI处理器内核,是ARM920T处理器核的简化。没有存储器管理单元MMU,不支持虚拟存储器寻址;而是用存储器保护单元来提供存储保护和Cache的控制。ARM940T的存储保护单元结构与ARM740T存储保护单元结构基本相同

  33. ARM940T处理器核系统结构图

  34. StrongARM SA-110 StrongARM处理器核SA-110是基于StrongARM处理器内核SA-1,增加了可至16K字节的指令Cache (I-Cache),可至16K字节的数据Cache (D-Cache)及相应的存储器管理单元I-MMU/D-MMU,同时,还有JTAG测试,写缓冲器和时钟/控制等逻辑

  35. 概述 • ARM体系结构 (OVER) • ARM指令系统 (NEXT) • XScale 微架构的系统结构 • XScale应用处理机PXA250/210结构 • Xscale应用处理器开发及应用实例

More Related