原创 走一遍简化RISC_CPU设计

2009-1-13 10:57 5365 7 8 分类: FPGA/CPLD

RISC_CPU是精简指令计算机—中央处理器的意思。


本简单的CPU由八个部分组成


时钟发生器:对主时钟进行2分频,4分频等,产生其他部分的工作时钟,由同步有限状态机编写,好处是在跳变时间同步性能上有明显提高,为整个系统的性能提高打下了良好的基础。


指令寄存器:用于寄存指令,每条指令有两个字节,16位,高3位操作码,低13位地址。通过状态机控制高低位的存取。


累加器:存放当前结果,也是双目运算的一个数据来源。


算术运算器:实现一个操作码的译码过程。也采用状态机编程。


数据控制器:控制累加器的数据输出。一条赋值语句既完成。


地址多路选择器:选择输出地址是程序计数器地址还是数据/端口地址。


程序计数器:用于提供指令地址。


状态控制器:是CPU的核心,产生一些列控制信号,启动或停止某些部件,调度各个模块,使各部分协调工作。采用同步状态机编程。


可以看出,关键部分的都用到了有限状态机的编程,对状态机的使用有了更进一步的理解!此外对CPU工作也有了更进一步的理解,为以后自己编写嵌入式打下基础!

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户283604 2010-2-6 20:16

您好:我是一名初学者,请教,我也读了夏老师的“蓝皮书”书的最后设计一个cpu,我想问,这个设计cpu是将来要用的吗?就是说将来自己用fpga设计cpu对吗?都用在哪些方面?还是说通过设计cpu来了解fpga设计,也就是说cpu会了,其它的更容易了(dsp等)。。可是不是有fpga自带的软核嘛。。。在个我把书的内容看了,我下一步该咋办?!谢谢 说得有点啰嗦,请谅解:)
相关推荐阅读
用户180508 2011-08-08 22:29
运算放大器指标
1.输入失调电压VIO(input offset voltage) :输入电压为零时,将输出电压除以电压增益,再加上负号,即为折算到输入端的失调电压。亦即使输出电压为零时在输入端所加的补偿电压。VIO...
用户180508 2011-02-18 22:21
UDE(u盘超级加密2008)失效解决
UDE伪装成唐诗三百首的加密软件,在忘记密码资料还没有丢失,操作系统改变时加密文件没有显示在加密区内。此时文件也没有丢失。 采用R-Studio(注册后)可以探测到隐藏的文件,并恢复。 本人遇到的隐藏...
用户180508 2011-02-01 12:35
Altea公司FPGA开发软件安装指南与注意
Quartus II安装点击Setup,和安装其他应用程序一样。可以根据自己的需要决定安装的大小。比如可以选择是否安装某种型号的器件 QuartusII8.0 破解补丁1将sys_cpt.dll覆盖掉...
用户180508 2011-02-01 12:02
Altea公司FPGA开发软件安装指南与注意
Quartus II安装点击Setup,和安装其他应用程序一样。可以根据自己的需要决定安装的大小。比如可以选择是否安装某种型号的器件QuartusII8.0 破解补丁1将sys_cpt.dll覆盖掉安...
用户180508 2011-02-01 12:01
Altea公司FPGA开发软件安装指南与注意
Quartus II安装点击Setup,和安装其他应用程序一样。可以根据自己的需要决定安装的大小。比如可以选择是否安装某种型号的器件QuartusII8.0 破解补丁1将sys_cpt.dll覆盖掉安...
用户180508 2010-12-30 10:18
VC安装错误解决
安装VC++6.0时候总是说我的安装程序无法创建一个DCOM用户来注册? 右击我的电脑-》管理-》本地用户和组-》用户-》删除VSA Sever Account项 再安装,成功!...
EE直播间
更多
我要评论
1
7
关闭 站长推荐上一条 /3 下一条