[发明专利]基于FPGA的8位复杂指令集中央处理器无效
申请号: | 201210340014.9 | 申请日: | 2012-09-14 |
公开(公告)号: | CN102866982A | 公开(公告)日: | 2013-01-09 |
发明(设计)人: | 任俊彦;黄佳森;叶凡;李宁;许俊;李巍 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F15/78 | 分类号: | G06F15/78;G06F9/44;G06F17/50 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;盛志范 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 复杂 指令 集中 处理器 | ||
1. 基于FPGA的8位复杂指令集中央处理器,其特征在于:系统整个CPU核由以下基本部件组成:寄存器组、时序控制模块、数据通路模块;系统主时钟由片外晶振统一提供,后续模块所需的同步时钟也由该时钟经过分频、相移给出;所述时序控制模块负责对IP核的各子模块进行时序控制,确保读写数据不发生冲突;所述寄存器组对读、写数据进行暂存;所述数据通路模块负责硬件模块间数据流的走向控制及基本的运算操作,该数据通路模块包含①算术逻辑单元、②指令寄存器(IR)、③程序计数器、④堆栈寄存器、⑤工作寄存器、12位数据总线data_bus[11:0]、12位地址总线addr_bus[11:0];其中,算术逻辑单元执行加算术运算以及逻辑运算;指令寄存器用于保存当前CPU正在执行的那条指令;程序计数器用以对下一条指令进行跟踪以便确定下一条指令在主存中的位置;堆栈寄存器用于确定堆栈中的操作数的地址;工作寄存器用以存储控制信息和数据信息,以减小寄存器组的消耗。
2. 根据权利要求1所述的基于FPGA的8位复杂指令集中央处理器,其特征在于:数据通路模块的工作顺序为:首先,指令指针通知CPU将要执行的指令放置在内存中的存储位置,之后指令译码器从指令寄存器中拿来指令,翻译成CPU可以执行的形式,然后决定完成该指令需要哪些必要的操作,它告诉算术逻辑单元什么时候计算、告诉指令读取器什么时候获取数值、告诉指令译码器什么时候翻译指令;假如数据被送往算术逻辑单元,执行指令中规定的算术运算和其他各种运算,当数据处理完毕后,回到寄存器组中,通过不同的指令将数据继续运行或者通过数据总线data_bus[11:0]送到数据缓存器中。
3. 根据权利要求2所述的基于FPGA的8位复杂指令集中央处理器,其特征在于:还设计有编译器,该编译器的任务是把汇编指令转换成计算机能够识别的二进制代码,完成汇编程序的编译,其流程为:(1)C语言编译器的编译过程是:首先程序开辟出内存空间,用于存放编译后的二进制机器码,读入汇编源文件,确定汇编代码的行数;然后开始读取每一行代码,进行编译;(2)汇编代码编译的过程是,对源代码进行分解,如果第一个取出的是操作码,则去指令编译对照文件中,找出对应操作码的机器码;同时根据指令的格式选择相应的译码模式;如果取出的第一个不是操作码,而是标签的话,开辟专门的内存空间,则记录下每次出现的标签的位置信息。
4. 根据权利要求2所述的基于FPGA的8位复杂指令集中央处理器,其特征在于:采用状态机对指令系统进行统一的描述,包括全部31条指令,其执行情况为:
(1)首先,进行系统的复位,消除不确定状态,使系统变得可控;
(2)S0状态执行从ROM中取指令的操作;
(3)S1状态执行寄存器操作,包括ADDACC、SHLACC、LDACC,通过SEQUENCER模块对指令译码,发出相应的控制信号,由POPCORN模块来执行;PUSH指令也是在S1状态完成,将指定寄存器中的内容进行压栈,该指令需访问RAM存储器;
(4)S2状态执行立即数操作,包括LDI、ADDACCI、CMPACCI,参加运算的操作数由代码中得到,即从ROM中读取;POP指令也是在S2状态完成,将栈顶的内容出栈,送到指定的寄存器,该指令在S1状态执行将SP指针减1操作;
(5)S3状态执行分支指令操作,包括JMP、JE、JNC,跳转地址从ROM中得到,低8位地址在S2状态读入,高4位地址在S3状态读入,将跳转地址送到地址总线,CPU在下一个时钟周期跳到指定地址执行程序;RET指令也在S3状态完成,该指令在S2状态将已压栈的地址的高4位和标志寄存器出栈,送到相应寄存器,在S3状态将低8位地址出栈并锁存,将两次出栈得到的12位地址送到地址总线,CPU在下一个时钟周期返回到指定地址继续执行程序;
(6)S4状态执行存储器操作,包括LDM、STM,将指定寄存器的内容写到RAM中,或将RAM中的内容读到指定寄存器中;S2,S3状态得到将要访问的RAM地址,S4状态将地址送到地址总线,访问RAM,执行相应操作;
(7)S5状态执行CALL指令,该指令在S2,S3状态读入跳转地址并锁存,S4状态访问RAM,将PC指针的低8位压栈,S5状态将高4位和标志寄存器的内容压栈,将跳转地址送到地址总线,执行跳转程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210340014.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种地址匹配的方法及设备
- 下一篇:基于多模式融合的脑机接口控制系统及方法