[发明专利]基于FPGA的8位复杂指令集中央处理器无效

专利信息
申请号: 201210340014.9 申请日: 2012-09-14
公开(公告)号: CN102866982A 公开(公告)日: 2013-01-09
发明(设计)人: 任俊彦;黄佳森;叶凡;李宁;许俊;李巍 申请(专利权)人: 复旦大学
主分类号: G06F15/78 分类号: G06F15/78;G06F9/44;G06F17/50
代理公司: 上海正旦专利代理有限公司 31200 代理人: 陆飞;盛志范
地址: 200433 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 fpga 复杂 指令 集中 处理器
【说明书】:

技术领域

发明属FPGA嵌入式系统技术领域,具体涉及一种基于FPGA实现8位CISC CPU(复杂指令集中央处理器)。

背景技术

伴随着集成电路,特别是超大规模集成电路(VLSI)技术工艺的飞速进步,FPGA/CPLD芯片得到了迅猛发展,并使电子技术的设计迈进了SOPC时代,而各种IP核的设计、应用则是SOPC设计的重要特征。Altera公司推出了基于FPGA的通用CPU核NIOS,许多第二方的IC设计公司将现在广泛应用的各种CPU(如8031)的IP核推向市场。然而,利用硬件描述语言Verilog为基础的EDA设计方法,用户也可以自行设计面向应用的专用CPU核、构建适用的嵌入式系统,这对于降低成本、提高性价比、拥有独立知识产权的独创性设计意义重大。

许笛于2011年5月在《计算机与数字工程》上发表的“16位CISC CPU的FPGA设计”虽然也基于FPGA实现了CISC CPU的设计,但是其未采用状态机的设计思想,整个指令系统的设计过程中数据流走向不明确。并且通篇未给出详细的仿真结果,对于各功能模块的时序及功能验证均不明确,没有很好地体现自顶向下的设计思想。

发明内容

本发明的目的在于提供一种基于FPGA实现的CISC CPU,旨在使IP资源复用理念得到更普通的应用,为基于FPGA的嵌入式系统设计提供广阔的思路。

本发明采用自顶向下的设计方法,系统原理图如图1所示,整个CPU核由以下基本部件组成:寄存器组(RAM 和ROM)、时序控制模块、数据通路模块。系统主时钟由片外晶振统一提供,后续模块所需的同步时钟同样由该时钟经过分频、相移给出;时序控制模块负责对IP核的各子模块进行时序控制,确保读写数据不发生冲突;寄存器组(ROM&RAM)对读、写数据进行暂存;数据通路模块负责硬件模块间数据流的走向控制及基本的运算操作,该模块包含①算术逻辑单元(Arithmetic Logic Unit(ALU))、②指令寄存器(IR)、③程序计数器(PC)、④堆栈寄存器(SP)、⑤工作寄存器(OP)、12位数据总线data_bus[11:0]、12位地址总线addr_bus[11:0]。其中,算术逻辑单元(ALU)是CPU核的核心部件之一,它执行加减法等算术运算,也能执行“与”、“或”、“非”等逻辑运算;指令寄存器(IR)用来保存当前CPU正在执行的那条指令;程序计数器(PC)用以对下一条指令进行跟踪以便确定下一条指令在主存中的位置;堆栈寄存器(SP)用于确定堆栈中的操作数的地址;工作寄存器(OP)用以存储控制信息和数据信息,以减小RAM和ROM的消耗。

数据通路模块的原理图如图2所示,假设在内存中的数据是最简单的原始数据。首先,指令指针(Instruction Pointer)通知CPU将要执行的指令放置在内存中的存储位置,之后指令译码器从指令寄存器IR中拿来指令,翻译成CPU可以执行的形式,然后决定完成该指令需要哪些必要的操作,它将告诉算术逻辑单元(ALU)什么时候计算、告诉指令读取器什么时候获取数值、告诉指令译码器什么时候翻译指令等等。 假如数据被送往算术逻辑单元,数据将会执行指令中规定的算术运算和其他各种运算。当数据处理完毕后,将回到寄存器组中,通过不同的指令将数据继续运行或者通过数据总线(data_bus[11:0])送到数据缓存器中。

本发明结合所设计的指令集,设计了简单的编译器,该编译器的主要任务是把汇编指令转换成计算机能够识别的二进制代码,从而完成简单的汇编程序的编译,这一举措的意义在于为用户提供便捷,用户只需输入汇编指令而无需关心底层繁琐的二进制数操作。因此,该编译器的设计不体现在最终CPU核的硬件结构中,但却扮演了前期指令转换的重要角色。程序流程图如图3所示。其中,(1)C语言编译器的编译过程是:首先程序开辟出内存空间,用于存放编译后的二进制机器码。读入汇编源文件,确定汇编代码的行数。然后开始读取每一行代码,进行编译。(2)汇编代码编译的过程是,对源代码进行分解,如果第一个取出的是操作码,则去指令编译对照文件中,找出对应操作码的机器码;同时根据指令的格式选择相应的译码模式。如果取出的第一个不是操作码,而是标签的话,开辟专门的内存空间,则记录下每次出现的标签的位置信息。有两种情况可能会出现标签,一种是出现在操作码之前,一种则是操作码之后,作为跳转地址。两种情况都需要分别记录地址信息,便于集中编译时插入到机器码中。

本发明采用了状态机对指令系统进行统一的描述,图4给出了CISC指令的状态图,该图包含了所设计的全部31条指令的执行情况:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210340014.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top