1 / 32

何宾 Tel:13911127536 email:hebin@mail.buct

版权所有,禁止未经授权的商业使用行为. 何宾 Tel:13911127536 email:hebin@mail.buct.edu.cn. 北京中教仪装备技术有限公司. 培训内容. Xilinx 片上可编程系统设计导论 MicroBlaze 处理器原理 EDK 工具概述 操作系统 (OS) 及板级支持包 (BSP) 概述 基于 EDK10.1 和 MicroBlaze 处理器的设计流程. 指令一侧总线接口. 数据一侧总线接口. 可选择的配置. MicroBlaze 软核处理器原理 -- MicroBlaze 软核处理器结构.

shayna
Download Presentation

何宾 Tel:13911127536 email:hebin@mail.buct

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. 版权所有,禁止未经授权的商业使用行为 何宾 Tel:13911127536 email:hebin@mail.buct.edu.cn 北京中教仪装备技术有限公司

  2. 培训内容 • Xilinx片上可编程系统设计导论 • MicroBlaze处理器原理 • EDK工具概述 • 操作系统(OS)及板级支持包(BSP)概述 • 基于EDK10.1和MicroBlaze处理器的设计流程

  3. 指令一侧总线接口 数据一侧总线接口 可选择的配置 MicroBlaze软核处理器原理--MicroBlaze软核处理器结构

  4. MicroBlaze软核处理器原理--MicroBlaze软核处理器结构MicroBlaze软核处理器原理--MicroBlaze软核处理器结构 • DPLB(Data Processor Local Bus):数据接口,处理器 本地总线; • DOPB(Data On-chip Peripheral Bus):数据接口,片 上外设总线; • DLMB(Data Local Memory Bus):数据接口,本地存 储器总线;

  5. MicroBlaze软核处理器原理--MicroBlaze软核处理器结构MicroBlaze软核处理器原理--MicroBlaze软核处理器结构 • IPLB(Instruction Processor Local Bus):指令接口, 处理器本地总线; • IOPB(Instruction On-Chip Peripheral Bus):指令接 口,片上外设总线; • ILMB(Instruction Local Memory Bus):指令接口, 本地存储器总线;

  6. MicroBlaze软核处理器原理--MicroBlaze软核处理器结构MicroBlaze软核处理器原理--MicroBlaze软核处理器结构 • MFSL 0..15(Fast Simple Link, FSL master interface): FSL主接口; • DWFSL 0..15(FSL master direct connection interface):FSL主直接连接接口; • SFSL0..15(Fast Simple Link, FSL slave interface): FSL从接口; • DRFSL0..15(FSL slave direct connection interface): FSL从直接连接接口;

  7. MicroBlaze软核处理器原理--MicroBlaze软核处理器结构MicroBlaze软核处理器原理--MicroBlaze软核处理器结构 • IXCL(Instruction side Xilinx CacheLink interface):指令侧高速缓存链接接口; • DXCL(Data side Xilinx CacheLink interface):数据侧高速缓存链接接口; • Core:时钟、复位、调试和跟踪信号;

  8. MDM ICON IBA LMB BRAM CNTLR LMB BRAM CNTLR BRAM GPIO UART PLB Timer INTC MicroBlaze Flash LEDs EMC CNTLR SRAM Switch MYIP MicroBlaze软核处理器原理--MicroBlaze软核处理器结构 • 下面给出一个典型的总线结构。

  9. MicroBlaze软核处理器原理--MicroBlaze软核处理器结构特点MicroBlaze软核处理器原理--MicroBlaze软核处理器结构特点 MicroBlaze软核处理器是可配置的,设计人员可以根 据设计定制处理器的可选配置,根据版本的不同可配置 的选项不同。软核处理器有以下几个方面的固定特征: • 1. 32个32位通用寄存器; • 2. 32位3个操作数的指令字,指令字有2种寻址模式; • 3. 32位的地址总线; • 4. 流水线操作。

  10. MicroBlaze软核处理器原理--MicroBlaze软核处理器结构MicroBlaze软核处理器原理--MicroBlaze软核处理器结构 MicroBlaze处理器采用哈佛存储器结构,即指令和 数据访问使用独立的地址空间。 每个一个地址空间都是32位长度(即,它们可以独 立的访问4GB的地址空间的指令和数据存储器)。 通过控制使重叠的数据和指令空间映射到相同的相 同的物理存储器上。这样对于调试试非常好的。 MicroBlaze处理器采用存储器映射方式访问I/O设备, 即存储器和I/O设备采用统一编址方式。

  11. MicroBlaze软核处理器原理--MicroBlaze软核处理器结构MicroBlaze软核处理器原理--MicroBlaze软核处理器结构 处理器有下面三种接口可以通过存储器的方式访问: • 本地存储器总线(LMB); • 处理器本地总线(PLB)或者片上外设总线(OPB); • Xilinx的CacheLink(XCL)。

  12. MicroBlaze软核处理器原理--MicroBlaze软核处理器指令MicroBlaze软核处理器原理--MicroBlaze软核处理器指令 MicroBlaze处理器指令为32比特长度,指令分为类型 A和类型B。 类型A指令包含两个源寄存器操作数和一个目的寄存 器操作数。 类型B指令一个源寄存器、一个16位的立即数(通过 imm指令扩展到32位)和一个目的寄存器操作数。 MicroBlaze处理器的指令完成的功能有:算术操作、 逻辑操作、分支操作、加载/存储操作和其它特殊操作。

  13. MicroBlaze软核处理器原理--MicroBlaze软核处理器FPUMicroBlaze软核处理器原理--MicroBlaze软核处理器FPU IEEE754单精度浮点数由1位符号位、8位偏置指数 和23位小数(尾数)部分组成。下表给出了IEEE754单 精度格式。

  14. MicroBlaze软核处理器原理--MicroBlaze软核处理器FPU运算MicroBlaze软核处理器原理--MicroBlaze软核处理器FPU运算 • 算数操作:加,浮点加(fadd);减,浮点减(fsub) ;乘,浮点乘(fmul);除,浮点除(fdiv);平方根, 浮点平方根(fsqrt); • 比较:小于,浮点小于(fcmp.lt)、等于,浮点等于 (fcmp.eq);小于等于,浮点小于等于(fcmp.le);大于 ,浮点大于(fcmp.gt);不等于,浮点不等于(fcmp.ne) ;大于等于,浮点大于等于(fcmp.ge);无序,浮点无序 (fcmp.un,NaN使用); • 转换:有符号整数到浮点(flt);浮点到有符号整数 (fint)

  15. MicroBlaze软核处理器原理--MicroBlaze软核处理器FSL接口MicroBlaze软核处理器原理--MicroBlaze软核处理器FSL接口 MicroBlaze处理器可配置为16个快速单一链接(Fast Simplex Link,FSL)接口,每个接口由一个输入和输出 端口组成。FSL通道是专用单向的点对点数据流接口。 MicroBlaze接口为32比特宽度。一个对立的比特用来 描述发送/接收字是控制类型还是数据类型。Get指令用来 从FSL端口到通用寄存器传输信息;put指令以相反的方向 传输信息。所有指令4种类型:阻塞数据、非阻塞数据、 阻塞控制、非阻塞控制。

  16. MicroBlaze软核处理器原理--MicroBlaze软核处理器FSL接口MicroBlaze软核处理器原理--MicroBlaze软核处理器FSL接口 每个FSL提供低延迟专用的接口到处理器流水线。 FSL是使用定制加速器和处理器扩展的理想接口。下图 给出了使用定制硬件加速的例子。

  17. MicroBlaze软核处理器原理--MicroBlaze软核处理器流水线MicroBlaze软核处理器原理--MicroBlaze软核处理器流水线 当采用面积优化时,流水线分为三级,即:取指,译 码和执行,这样可以减少硬件开销。

  18. MicroBlaze软核处理器原理--MicroBlaze软核处理器流水线MicroBlaze软核处理器原理--MicroBlaze软核处理器流水线 当不使用面积优化时,流水线分为五级:取指、译 码、执行、访问存储器和回写,这样可以提高性能。下 图给出了五级流水结构。

  19. MicroBlaze软核处理器原理--MicroBlaze软核处理器寄存器MicroBlaze软核处理器原理--MicroBlaze软核处理器寄存器 • 程序计数器(PC) • 机器状态寄存器(MSR) • 异常地址寄存器(EAR) • 异常状态寄存器(ESR) • 分支目标寄存器(BTR) • 浮点状态寄存器(FSR) • 异常数据寄存器(EDR) • 进程标识寄存器 (PID) • 区域保护寄存器(ZPR)

  20. MicroBlaze软核处理器原理--MicroBlaze软核处理器寄存器MicroBlaze软核处理器原理--MicroBlaze软核处理器寄存器 • 转换旁视缓冲低位寄存器(TLBLO) • 转换旁视缓冲高位寄存器(TLBHI) • 转换旁视缓冲索引寄存器(TLBX) • TLB查找索引寄存器(TLBSX) • 处理器版本寄存器(PREV)

  21. MicroBlaze软核处理器原理--MicroBlaze软核处理器MMUMicroBlaze软核处理器原理--MicroBlaze软核处理器MMU MMU完成以下几个功能: • 1)将有效地址转化成物理地址; • 2)在地址转换时,控制页面级访问; • 3)在使用区域时,提供额外的虚拟模式保护控制; • 4)对指令地址、数据地址转换和保护提供独立控制; • 5) 支持8种页面尺寸:1KB,4KB,16KB,64KB, 256KB,1MB,4MB和16MB; • 6)软件提供页面替换策略;

  22. MicroBlaze软核处理器原理--MicroBlaze处理器虚拟存储器管理MicroBlaze软核处理器原理--MicroBlaze处理器虚拟存储器管理   运行在MicroBlaze处理器的应用程序要求使用有效地 址访问4GB地址空间。处理器通过转换模式,以下面两种 方式理解该地址空间。 • 在实模式下,有效地址直接访问物理存储器; • 在虚拟模式下,通过处理器的虚拟存储器管理硬件 • (MMU)有效地址被转化物理地址。

  23. MicroBlaze软核处理器原理--MicroBlaze处理器MMU实模式MicroBlaze软核处理器原理--MicroBlaze处理器MMU实模式 当处理器取指或使用加载/存储指令访问数据时,处 理器查看存储器。程序使用处理器计算得到的32位的有 效地址查看存储器的位置。 当使用实模式时,物理地址和有效地址是一样的。

  24. MicroBlaze软核处理器原理--MicroBlaze处理器MMU虚模式MicroBlaze软核处理器原理--MicroBlaze处理器MMU虚模式 在虚拟模式下,将 有效地址转换成物理地 址。通过设置MSR寄存 器的VM比特来使能虚 拟模式下的存储器管理。

  25. MicroBlaze软核处理器原理--MicroBlaze处理器的事件及处理MicroBlaze软核处理器原理--MicroBlaze处理器的事件及处理 MicroBlaze支持复位、中断、用户异常、断点和硬件 异常。下面将描述和这些事件相关的处理流程。这些事件 按优先级从高到低依次为:复位、硬件异常、非屏蔽断点、 断点、中断、用户矢量(异常)。   下表记录了这些事件相关的存储器地址和保存返回地 址的寄存器。每个矢量分配了两个地址以便允许全地址范 围分支(要求 BRAI IMM指令)。地址范围0x28-0x4f是为 支持将来的Xilinx软件而保留的。

  26. MicroBlaze软核处理器原理--MicroBlaze处理器的事件及处理MicroBlaze软核处理器原理--MicroBlaze处理器的事件及处理

  27. MicroBlaze软核处理器原理--MicroBlaze处理器的指令缓存MicroBlaze软核处理器原理--MicroBlaze处理器的指令缓存 MicroBlaze处理器可选择指令缓存,当执行那些驻留在 LMB地址范围外的代码时,使用指令缓存可以提高性能。 指令缓存有以下特点: • 1)直接映射(1-way 关联); • 2)用户可选择的缓存地址范围; • 3)可配置的缓存和标记大小; • 4)CacheLink(XCL)接口上的缓存; • 5)选择使用4/8线字缓存行; • 6)使用MSR寄存器控制打开/关闭缓存; • 7)可选的WIC指令使指令缓存行无效。

  28. MicroBlaze软核处理器原理--MicroBlaze处理器的数据缓存MicroBlaze软核处理器原理--MicroBlaze处理器的数据缓存 MicroBlaze处理器有可选的数据缓存提高性能。缓存的存 储器地址不得在LMB的地址范围内。 数据缓存有以下特点: • 1)直接映射(1-way 关联); • 2)完全写入; • 3)用户可选择的缓存地址范围; • 4)可配置的缓存和标记大小; • 5)CacheLink(XCL)接口上的缓存; • 6)选择使用4/8线字缓存行; • 7)使用MSR寄存器控制打开/关闭缓存;可选的; • 8)WDC指令使指令缓存行无效。

  29. MicroBlaze软核处理器原理--MicroBlaze处理器的调试MicroBlaze软核处理器原理--MicroBlaze处理器的调试 MicroBlaze有的调试接口可以用来支持基于JTAG的软 件调试工具(BDM或后台调试模式调试器),比如Xilinx Microprocessor Debug(XMD)工具。 调试接口用于和Xilinx Microprocessor Debug(XMD) 连接,XMD和Xilinx的JTAG端口连接。 多个MicroBlaze的例子(例化)使用单个XDM连接进 行多处理器调试。

  30. MicroBlaze软核处理器原理--MicroBlaze处理器的调试MicroBlaze软核处理器原理--MicroBlaze处理器的调试 调试特点有以下几个方面: • 1、可配置硬件断点数目、观察点和无限的软件断点; • 2、外部处理器控制使能调试工具停止、复位和单步; • 3、读写存储器,通用寄存器,特殊功能寄存器--EAR, EDR,ESR,BTR和PVR0-PVR11只读; • 4、支持多处理器; • 5、写指令和数据缓存。

  31. MicroBlaze软核处理器原理--MicroBlaze信号接口 MicroBlaze处理器能配置成下面的总线接口: • 32位版本的PLBV4.6接口; • 32位版本的OPB2.0接口; • LMB提供简单同步协议用于高效的块RAM传输; • FSL提供快速无需仲裁的流通信机制; • XCL提供在缓存和外部存储器控制器之间的快速从设备仲裁的流接口; • 调试接口和处理器调试模块(MDM)一起使用; • 跟踪接口用于性能分析。

  32. MicroBlaze软核处理器原理--MicroBlaze应用二进制接口-存储器模型MicroBlaze软核处理器原理--MicroBlaze应用二进制接口-存储器模型 MicroBlaze所定义的存储器模型有四个不同的部分: • 1)小数据区; • 2)数据区; • 3)普通的非初始化区; • 4)字面值(Literal)或常数。

More Related