当前位置:主页 > 科技论文 > 计算机论文 >

OpenRISC处理器内的性能计数器的设计和实现

发布时间:2020-05-18 13:16
【摘要】: OpenRISC处理器是由硬件开源组织OpenCores开发和维持的开源RISC处理器,该处理器完全由Verilog硬件描述语言编写实现。由于其开源软核的特性,OpenRISC处理器可以被应用到基于ASIC或者FPGA的各种开发平台上。 性能计数器(Performance Counter)单元,是处理器内部的一组特殊寄存器,负责在程序执行时对特定触发事件进行计数,可以实时反馈处理器内部性能参数。处理器的高端用户往往借助这些计数器进行低功耗方面的分析研究和任务调度。通过运行程序时现场调出相应的硬件运行参数,进行性能及功耗的验证评测,提出应用程序的优化方案。 本文尝试了以一种调研、制定设计规范、硬件编程设计、仿真、Chipscope调试、基于JTAG的远程调试的设计流程完成了处理器核的扩展设计。在OpenRISC 1200处理器核内设计实现了可配置性能计数器单元。该单元能通过监听处理器内部驱动各硬件模块的使能信号和应答信号来收集处理器运行程序时的硬件运行参数,支持JTAG远程调试访问和处理器特殊寄存器访问方式。基于改进后的处理器核建立了SOPC系统,在FPGA上验证了新核的应用和性能计数器单元的功能。 在这基础上本文通过修改总线系统和处理器的外部接口,尝试建立了基于OpenRISC 1200处理器的双核系统,并在该系统下检验了性能计数器的使用功能。
【图文】:

系统架构,处理器,中断模式,软核


对 OpenRISC 系列的寻址方式、寄存器集、指令集、中断模式及其处理、存储管理、调试接口、电源管理以及应用程序接口都做了相应的规定。所有的涉及处理器的设计和改进都必须遵守这一标准。本文所使用的 OpenRISC 1200 软核,就是基于这一体系结构标准设计出来的。系统连接如下图所示:

指令集


图 3 OpenRISC 指令集Figure 3 OpenRISC Instruction Set以上指令只有一部分关系到处理器基本运行的指令,是必须的(称为ORBIST I),其它的指令集只有针对特别的架构和用途才会使用到,是可选的(称为 ORBIST II)。ORBIST I 指令包括符号加法(不进位),符号加法(进位),,立即数符号加法(不进位),立即数符号加法(进位),与操作,半字立即数与,标志位分支等指令。根据 OpenRISC 1200 的设计目的和要求,在 ORBIST I 的基础上进行了扩展形成了大约 60 条指令的 OpenRISC 1200 指令集。OpenRISC1200 采用的指令集基本上是个正交指令集,这样做有利于提高指令译码器的编写效率。典型的指令位的作用如下所示:[31:26]:指令的操作类别,比如 ALU/分支/SPR/访存操作等;[25:21]:返回寄存器 rD 的寄存器地址;[20:16]:寄存器操作数 rA 的寄存器地址;[15:11]:寄存器操作数 rB 的寄存器地址;
【学位授予单位】:上海交通大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP332

【引证文献】

相关硕士学位论文 前1条

1 王虎;变频控制芯片的SOC设计[D];山东大学;2011年



本文编号:2669773

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2669773.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户58e2e***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com