320 likes | 499 Views
版权所有,禁止未经授权的商业使用行为. 何宾 Tel:13911127536 email:hebin@mail.buct.edu.cn. 北京中教仪装备技术有限公司. 培训内容. Xilinx 片上可编程系统设计导论 MicroBlaze 处理器原理 EDK 工具概述 操作系统 (OS) 及板级支持包 (BSP) 概述 基于 EDK10.1 和 MicroBlaze 处理器的设计流程. 指令一侧总线接口. 数据一侧总线接口. 可选择的配置. MicroBlaze 软核处理器原理 -- MicroBlaze 软核处理器结构.
E N D
版权所有,禁止未经授权的商业使用行为 何宾 Tel:13911127536 email:hebin@mail.buct.edu.cn 北京中教仪装备技术有限公司
培训内容 • Xilinx片上可编程系统设计导论 • MicroBlaze处理器原理 • EDK工具概述 • 操作系统(OS)及板级支持包(BSP)概述 • 基于EDK10.1和MicroBlaze处理器的设计流程
指令一侧总线接口 数据一侧总线接口 可选择的配置 MicroBlaze软核处理器原理--MicroBlaze软核处理器结构
MicroBlaze软核处理器原理--MicroBlaze软核处理器结构MicroBlaze软核处理器原理--MicroBlaze软核处理器结构 • DPLB(Data Processor Local Bus):数据接口,处理器 本地总线; • DOPB(Data On-chip Peripheral Bus):数据接口,片 上外设总线; • DLMB(Data Local Memory Bus):数据接口,本地存 储器总线;
MicroBlaze软核处理器原理--MicroBlaze软核处理器结构MicroBlaze软核处理器原理--MicroBlaze软核处理器结构 • IPLB(Instruction Processor Local Bus):指令接口, 处理器本地总线; • IOPB(Instruction On-Chip Peripheral Bus):指令接 口,片上外设总线; • ILMB(Instruction Local Memory Bus):指令接口, 本地存储器总线;
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从直接连接接口;
MicroBlaze软核处理器原理--MicroBlaze软核处理器结构MicroBlaze软核处理器原理--MicroBlaze软核处理器结构 • IXCL(Instruction side Xilinx CacheLink interface):指令侧高速缓存链接接口; • DXCL(Data side Xilinx CacheLink interface):数据侧高速缓存链接接口; • Core:时钟、复位、调试和跟踪信号;
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软核处理器结构 • 下面给出一个典型的总线结构。
MicroBlaze软核处理器原理--MicroBlaze软核处理器结构特点MicroBlaze软核处理器原理--MicroBlaze软核处理器结构特点 MicroBlaze软核处理器是可配置的,设计人员可以根 据设计定制处理器的可选配置,根据版本的不同可配置 的选项不同。软核处理器有以下几个方面的固定特征: • 1. 32个32位通用寄存器; • 2. 32位3个操作数的指令字,指令字有2种寻址模式; • 3. 32位的地址总线; • 4. 流水线操作。
MicroBlaze软核处理器原理--MicroBlaze软核处理器结构MicroBlaze软核处理器原理--MicroBlaze软核处理器结构 MicroBlaze处理器采用哈佛存储器结构,即指令和 数据访问使用独立的地址空间。 每个一个地址空间都是32位长度(即,它们可以独 立的访问4GB的地址空间的指令和数据存储器)。 通过控制使重叠的数据和指令空间映射到相同的相 同的物理存储器上。这样对于调试试非常好的。 MicroBlaze处理器采用存储器映射方式访问I/O设备, 即存储器和I/O设备采用统一编址方式。
MicroBlaze软核处理器原理--MicroBlaze软核处理器结构MicroBlaze软核处理器原理--MicroBlaze软核处理器结构 处理器有下面三种接口可以通过存储器的方式访问: • 本地存储器总线(LMB); • 处理器本地总线(PLB)或者片上外设总线(OPB); • Xilinx的CacheLink(XCL)。
MicroBlaze软核处理器原理--MicroBlaze软核处理器指令MicroBlaze软核处理器原理--MicroBlaze软核处理器指令 MicroBlaze处理器指令为32比特长度,指令分为类型 A和类型B。 类型A指令包含两个源寄存器操作数和一个目的寄存 器操作数。 类型B指令一个源寄存器、一个16位的立即数(通过 imm指令扩展到32位)和一个目的寄存器操作数。 MicroBlaze处理器的指令完成的功能有:算术操作、 逻辑操作、分支操作、加载/存储操作和其它特殊操作。
MicroBlaze软核处理器原理--MicroBlaze软核处理器FPUMicroBlaze软核处理器原理--MicroBlaze软核处理器FPU IEEE754单精度浮点数由1位符号位、8位偏置指数 和23位小数(尾数)部分组成。下表给出了IEEE754单 精度格式。
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)
MicroBlaze软核处理器原理--MicroBlaze软核处理器FSL接口MicroBlaze软核处理器原理--MicroBlaze软核处理器FSL接口 MicroBlaze处理器可配置为16个快速单一链接(Fast Simplex Link,FSL)接口,每个接口由一个输入和输出 端口组成。FSL通道是专用单向的点对点数据流接口。 MicroBlaze接口为32比特宽度。一个对立的比特用来 描述发送/接收字是控制类型还是数据类型。Get指令用来 从FSL端口到通用寄存器传输信息;put指令以相反的方向 传输信息。所有指令4种类型:阻塞数据、非阻塞数据、 阻塞控制、非阻塞控制。
MicroBlaze软核处理器原理--MicroBlaze软核处理器FSL接口MicroBlaze软核处理器原理--MicroBlaze软核处理器FSL接口 每个FSL提供低延迟专用的接口到处理器流水线。 FSL是使用定制加速器和处理器扩展的理想接口。下图 给出了使用定制硬件加速的例子。
MicroBlaze软核处理器原理--MicroBlaze软核处理器流水线MicroBlaze软核处理器原理--MicroBlaze软核处理器流水线 当采用面积优化时,流水线分为三级,即:取指,译 码和执行,这样可以减少硬件开销。
MicroBlaze软核处理器原理--MicroBlaze软核处理器流水线MicroBlaze软核处理器原理--MicroBlaze软核处理器流水线 当不使用面积优化时,流水线分为五级:取指、译 码、执行、访问存储器和回写,这样可以提高性能。下 图给出了五级流水结构。
MicroBlaze软核处理器原理--MicroBlaze软核处理器寄存器MicroBlaze软核处理器原理--MicroBlaze软核处理器寄存器 • 程序计数器(PC) • 机器状态寄存器(MSR) • 异常地址寄存器(EAR) • 异常状态寄存器(ESR) • 分支目标寄存器(BTR) • 浮点状态寄存器(FSR) • 异常数据寄存器(EDR) • 进程标识寄存器 (PID) • 区域保护寄存器(ZPR)
MicroBlaze软核处理器原理--MicroBlaze软核处理器寄存器MicroBlaze软核处理器原理--MicroBlaze软核处理器寄存器 • 转换旁视缓冲低位寄存器(TLBLO) • 转换旁视缓冲高位寄存器(TLBHI) • 转换旁视缓冲索引寄存器(TLBX) • TLB查找索引寄存器(TLBSX) • 处理器版本寄存器(PREV)
MicroBlaze软核处理器原理--MicroBlaze软核处理器MMUMicroBlaze软核处理器原理--MicroBlaze软核处理器MMU MMU完成以下几个功能: • 1)将有效地址转化成物理地址; • 2)在地址转换时,控制页面级访问; • 3)在使用区域时,提供额外的虚拟模式保护控制; • 4)对指令地址、数据地址转换和保护提供独立控制; • 5) 支持8种页面尺寸:1KB,4KB,16KB,64KB, 256KB,1MB,4MB和16MB; • 6)软件提供页面替换策略;
MicroBlaze软核处理器原理--MicroBlaze处理器虚拟存储器管理MicroBlaze软核处理器原理--MicroBlaze处理器虚拟存储器管理 运行在MicroBlaze处理器的应用程序要求使用有效地 址访问4GB地址空间。处理器通过转换模式,以下面两种 方式理解该地址空间。 • 在实模式下,有效地址直接访问物理存储器; • 在虚拟模式下,通过处理器的虚拟存储器管理硬件 • (MMU)有效地址被转化物理地址。
MicroBlaze软核处理器原理--MicroBlaze处理器MMU实模式MicroBlaze软核处理器原理--MicroBlaze处理器MMU实模式 当处理器取指或使用加载/存储指令访问数据时,处 理器查看存储器。程序使用处理器计算得到的32位的有 效地址查看存储器的位置。 当使用实模式时,物理地址和有效地址是一样的。
MicroBlaze软核处理器原理--MicroBlaze处理器MMU虚模式MicroBlaze软核处理器原理--MicroBlaze处理器MMU虚模式 在虚拟模式下,将 有效地址转换成物理地 址。通过设置MSR寄存 器的VM比特来使能虚 拟模式下的存储器管理。
MicroBlaze软核处理器原理--MicroBlaze处理器的事件及处理MicroBlaze软核处理器原理--MicroBlaze处理器的事件及处理 MicroBlaze支持复位、中断、用户异常、断点和硬件 异常。下面将描述和这些事件相关的处理流程。这些事件 按优先级从高到低依次为:复位、硬件异常、非屏蔽断点、 断点、中断、用户矢量(异常)。 下表记录了这些事件相关的存储器地址和保存返回地 址的寄存器。每个矢量分配了两个地址以便允许全地址范 围分支(要求 BRAI IMM指令)。地址范围0x28-0x4f是为 支持将来的Xilinx软件而保留的。
MicroBlaze软核处理器原理--MicroBlaze处理器的事件及处理MicroBlaze软核处理器原理--MicroBlaze处理器的事件及处理
MicroBlaze软核处理器原理--MicroBlaze处理器的指令缓存MicroBlaze软核处理器原理--MicroBlaze处理器的指令缓存 MicroBlaze处理器可选择指令缓存,当执行那些驻留在 LMB地址范围外的代码时,使用指令缓存可以提高性能。 指令缓存有以下特点: • 1)直接映射(1-way 关联); • 2)用户可选择的缓存地址范围; • 3)可配置的缓存和标记大小; • 4)CacheLink(XCL)接口上的缓存; • 5)选择使用4/8线字缓存行; • 6)使用MSR寄存器控制打开/关闭缓存; • 7)可选的WIC指令使指令缓存行无效。
MicroBlaze软核处理器原理--MicroBlaze处理器的数据缓存MicroBlaze软核处理器原理--MicroBlaze处理器的数据缓存 MicroBlaze处理器有可选的数据缓存提高性能。缓存的存 储器地址不得在LMB的地址范围内。 数据缓存有以下特点: • 1)直接映射(1-way 关联); • 2)完全写入; • 3)用户可选择的缓存地址范围; • 4)可配置的缓存和标记大小; • 5)CacheLink(XCL)接口上的缓存; • 6)选择使用4/8线字缓存行; • 7)使用MSR寄存器控制打开/关闭缓存;可选的; • 8)WDC指令使指令缓存行无效。
MicroBlaze软核处理器原理--MicroBlaze处理器的调试MicroBlaze软核处理器原理--MicroBlaze处理器的调试 MicroBlaze有的调试接口可以用来支持基于JTAG的软 件调试工具(BDM或后台调试模式调试器),比如Xilinx Microprocessor Debug(XMD)工具。 调试接口用于和Xilinx Microprocessor Debug(XMD) 连接,XMD和Xilinx的JTAG端口连接。 多个MicroBlaze的例子(例化)使用单个XDM连接进 行多处理器调试。
MicroBlaze软核处理器原理--MicroBlaze处理器的调试MicroBlaze软核处理器原理--MicroBlaze处理器的调试 调试特点有以下几个方面: • 1、可配置硬件断点数目、观察点和无限的软件断点; • 2、外部处理器控制使能调试工具停止、复位和单步; • 3、读写存储器,通用寄存器,特殊功能寄存器--EAR, EDR,ESR,BTR和PVR0-PVR11只读; • 4、支持多处理器; • 5、写指令和数据缓存。
MicroBlaze软核处理器原理--MicroBlaze信号接口 MicroBlaze处理器能配置成下面的总线接口: • 32位版本的PLBV4.6接口; • 32位版本的OPB2.0接口; • LMB提供简单同步协议用于高效的块RAM传输; • FSL提供快速无需仲裁的流通信机制; • XCL提供在缓存和外部存储器控制器之间的快速从设备仲裁的流接口; • 调试接口和处理器调试模块(MDM)一起使用; • 跟踪接口用于性能分析。
MicroBlaze软核处理器原理--MicroBlaze应用二进制接口-存储器模型MicroBlaze软核处理器原理--MicroBlaze应用二进制接口-存储器模型 MicroBlaze所定义的存储器模型有四个不同的部分: • 1)小数据区; • 2)数据区; • 3)普通的非初始化区; • 4)字面值(Literal)或常数。