南京航空航天大学1队_第1页
南京航空航天大学1队_第2页
南京航空航天大学1队_第3页
南京航空航天大学1队_第4页
南京航空航天大学1队_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,基于ucosii的NUAA多任务调度系统,南京航空航天大学1队 指导教师:冯爱民 队员:余浩岳 孔凡豪 宗华,SoC设计 CPU设计 cosii移植 多任务调度系统设计,SoC设计-整体架构,CPU指令集设计参考 MIPS32r1 实现大赛要求的57条指令,另外新增31条指令 实现大赛要求的7种异常,另外新增4种异常处理 CPU架构为单发射静态6级流水线 实现了L1 ICache DCache 实现了sram to axi转换桥 实现了Uart以及其中断控制 实现了VGA驱动以及单帧VGA显存,SoC设计-总体设计概述,SoC设计 CPU设计 cosii移植 多任务调度系统设计,CPU架构设计-总体设计,确保指令与地址之间的数据对应性 流水线暂停过程中缓存数据,使取指可以连续进行,CPU架构设计-Inst FIFO,指令数据Cache均采用8KB Block RAM作为数据块 tag和valid均使用LUT RAM,使得命中结果可以当周期返回,因此命中后取数据可以流水的进行 DCache写策略使用写回 ICache、DCache均采用直接映射,CPU架构设计 - Cache,CPU架构设计 - 状态机,数据、指令的仲裁简单且高效 支持读写通道的burst传输 支持多条数据连续写操作 对于数据访存操作,读数据时不能写,写数据时不能读,保证数据的一致性,CPU架构设计 - SRAM AXI,SoC设计 CPU设计 cosii移植 多任务调度系统设计,cosii 是一个可移植、可固化、可剪裁的抢占式的多任务实时内核 移植来源于: 参考文献工作:cosii在openmips处理器上成功移植 cosii for nuaa_cpu ?,OS内核移植 - cosii概述,参考cosii的反汇编文件,总结出以下两类 已实现:add addi addiu addu and andi b beq beql blez blezl bltz bne bnel bnez break div divu ehb eret j jal jalr jr lb lbu lh lhu li lui lw mfc0 mfhi mflo move mtc0 mthi mtlo mult multu nop nor or ori sb sh sll sllv slt slti sltiu sltu sra srav srl srlv sub subu sw syscall xor xori 待实现:cache clo clz ll lwl lwr madd maddu movn movz mul sc swl swr teq tge tgeu tlt tltu tne 参考qemu仿真的log分析所使用的CP0信息 待实现:Compare、Config 需要实现硬件时钟中断用于TimeDelay以及任务调度,OS内核移植 CPU支持,CPU硬件复位地址:0xbfc0_0000 CPU中断向量入口:0xbfc0_0380,OS内核移植 OS适配,OS内核移植 中断&异常处理,简化OS中断处理程序:只处理时钟中断和UART RX中断 简化OS异常处理程序:只考虑任务切换情况,OS内核移植 外设驱动,OS内核移植 问题分析,CPU设计时,在遇到分支和跳转时,在延迟槽指令之后,会产生一条无用的指令,当其到达CP0阶段时如果产生中断,CP0会将无效PC存入EPC中,从而导致中断处理返回时地址出错 提前将要跳转的地址存入CP0中,在无用指令达到CP0时,若产生中断,即EPC存入此地址,中断向量入口程序实现时,使用了$2寄存器用于中断和异常判断,导致任务还未进入到保存现场阶段,其$2寄存器的值已经被修改 更换寄存器为temp寄存器$24,temp不在保存现场范围之内,外部UART RX中断只拉高一拍,如果当前周期CPU处于关中断状态,将会导致中断丢失,从而可能引起UART RX数据丢失 新增UART中断寄存器用于维持UART中断,当CPU处理完UART数据后,通过写UART中断寄存器来清除中断,SoC设计 CPU设计 cosii移植 多任务调度系统设计,OS内核移植 多任务设计,图像显示任务: Task1:循环显示memory中的图像 Task2:接收来自上位机UART的图像并显示 Task3:跑马灯,OS内核移植 多任务设计,Task任务管理: Task1:循环显示memory中的图像 Task2:循环显示memory中的图像 Task3:跑马灯 Task4:监控Task状态,接收上位机UART请求,并对其余Task进行管理 0x00:展示任务状态 0x1x:挂起指定任务X 0x2x:唤醒指定任务X,如何通过上位机进行任务管理?,未来工作,未来工作,丰富SoC外设,加入DMA、中断控制器等部件 完善OS驱动以及中断和异常处理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论