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