主要成员
minisys-core的标识图片 minisys-core [创建者
持续关注计算机系统结构发展
huanghua-2049228的标识图片 huanghua-2049228 [未验证
申请参加这个项目
了解该团队的信息
帮助文档
 
项目信息
项目名称:基于Nexys 4平台的MiniSys-1A SoC系统设计与实现  
项目信息:
应用领域:教育行业
设计摘要:
1.1 项目背景与基础
近年来,教育部一直在全国高校计算机专业推行基于系统能力培养的教学实践活动,在计算机专业本科教育中开展以SoC设计为目标的,综合软硬件系列设计的实践教学建设。东南大学计算机科学与工程学院早在2000年就开始统筹规划硬件课程,并于2003年在国内首次开设了以设计MiniSys-1 SoC硬件和系统软件(编译器)为核心的综合课程设计。多年来,该项课程得到全国各高校以及教育部计算机教指委的认同,并获得2009年教育部-Intel精品课程。
限于当年资源有限等多方面原因,MiniSys-1 SoC仅包含一个可执行31条MIPS指令的32位的RISC型处理器核,以及一个BIOS和一个简单的Minisys-1汇编器。Minisys-1的存储结构采用的是哈弗结构,只在CPU中包含片内的4KB ROM和4KB RAM,I/O系统简单,中断系统与MIPS也不兼容。
经过多年的努力,MiniSys-1不断发展壮大,在Altera FPGA平台上陆续引入了31条指令集流水线CPU设计及分支预测技术,乘除法运算单元,符点运算单元,简单的Minisys-1 C编译器,带有简单的Cache结构的双核处理器架构及SMT架构等,流处理器设计也在逐步进行中,不过各个模块并没有集成在一起形成一个完整的SoC系统。
1.2 项目任务
在MiniSys-1参考设计推出10周年之际,根据现在教学与科研的需求,结合国外重点高校的实践经验,以及Xilinx平台的最新发展,我们决定在Xilinx最新的Nexys 4平台上打造更为全面实用,能充分利用Nexys 4资源的57条指令集MiniSys-1A SoC。本项目就是基于此而设立的,将作为该课程下一阶段实施的示范设计。具体任务如下:
1)根据现有的31条指令集,扩充设计57条指令的流水线CPU,并改到Nexys 4平台上实现
为了整合之前设计的成果,完善SoC系统,决定首先完善系统的指令集,增设26条指令。增设与乘除法有关的4条算术运算指令mult,multu,div,divu,这样新的Minisys-1A系统在乘除法运算方面得到了保证。Minisys-1系统在数据传送指令方面只有lw和sw指令可以和存储器交换数据,而且只能处理32位的数据传送任务,为了弥补Minisys-1在数据传送和访问存储器方面的欠缺,增设lb,lbu,lh,lhu,sb,sh提高系统字节和半字的存取能力,增加mfhi,mflo,mthi,mtlo数据传送指令,增强乘除法运算对HI和LO寄存器的操作能力。同时引入bgez,bgtz,blez,bltz,bzezal,bltzal,jalr转移指令,完善对操作数分分支条件判断和转移目标地址的功能。另外,为了加强系统对异常中断及系统控制能力,在引入CP0协处理器的同时引入了break,syscall异常处理指令和eret,mfc0,mtc0特权指令。系统的流水线采用经典的五级流水结构,即取指、译码、执行、存储、写回。
2)实现Cache、内存、外存的分层存储结构的设计
综上所述,MiniSys-1的存储结构仅在CPU内部耦合了两个存储模块,一个用来存储指令,另一个用来存储数据,起初这样设计主要是因为系统选用的存储模块容量小、访问速度快,处理器和存储器之间的性能差距不是很大。早期的计算机系统也是如此,1989年之前的处理器是不带Cache的,但是随着存储器容量的增加,处理器和存储器之间的性能差距日益显著,“存储墙”问题也引起了大家广泛的重视。可以说,存储器层次结构的产生是计算机发展的必然结果,其目标就是提供一个存储系统,使之能够具有几乎相当于最便宜层次的存储器的价格,但是访问速度却与最快层次的存储器接近。针对Minisys-1在存储结构方面的不足,新的MiniSys-1A系统设计三级存储层次结构(图1所示)。
3)增设CP0系统控制协处理器,加强系统管理用户模式之外程序的能力
针对Minisys-1在系统控制方面的缺陷,Minisys-1A系统增设CP0协处理器,加强对系统异常/中断的控制能力。
4)利用Nexys4板上资源以及Pmod接口设计系统I/O接口
为了增强系统的实际应用价值,合理利用Nexys4板上资源,针对系统设计I/O接口,如VGA控制、定时/计数器、PWM控制器、LED数码管及键盘控制器等。
5)根据需要,设计一个简单的OS核心,实现命令行式的用户界面。
为了增强系统的管理能力及实际可操作性,根据需要设计一个简单的OS(Operating System)核心并提供命令行式的用户界面,充分利用板上资源及Pmod接口实现一些简单的控制应用。
6)设计57条指令的汇编器
将原来31条指令的汇编器扩展为57条指令的汇编器。
系统原理和技术特点:

 系统采用分层的存储结构,设计三级存储层次结构模型:第一层为Cache,系统采用指令和数据分离的L1Cache结构并根据实际设计考虑增设L2级指令和数据共享Cache;第二层为内存;第三层为外存,系统多级存储层次结构如图1所示。

系统设计结构包括CPU核心,中断控制器、Cache结构,I/O控制器,指令预取器,图2为系统框架图。

 

存储层次结构图.jpg
系统框图:存储层次结构图.jpg
系统结构框图.jpg
系统框图:系统结构框图.jpg
计划书:项目计划书.doc [235.5 KB]
当前项目状态:
参赛信息:
指导老师姓名: 杨全胜
指导老师职称: 副教授
学校: 东南大学
研究方向: 嵌入式多核与众核体系结构的研究;嵌入式多核与众核系统的系统软件研究;可重构计算技术的研究;算法硬件化与芯片设计研究;并行程序设计与优化的研究
参赛情况: OpenHW2014开源硬件与嵌入式计算大赛
需求信息:
拟采用的平台:Nexys4
是否需要设计扩展板?
需要的基本功能:
最新版本:
请同时下载该项目版权声明
update 14-06-15 05:06:48
基于Nexys4平台的MiniSys1A SoC系统设计与实现大赛项目中期报告
相关文件:
基于Nexys4平台的MiniSys1A SoC系统设计与实现大赛项目中期报告.pdf  134.1 KB 
了解整个项目的开发记录
相关评论:  
添加评论  更多评论
正在读取数据……
关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:aimei@eefocus.com  联系电话: 0512-80981663-8069    Fax:0512-80981279
Powered by eefocus.com