码迷,mamicode.com
首页 >  
搜索关键字:自己动手写cpu    ( 70个结果
自己动手写CPU之第六阶段(2)——移动操作指令实现思路
这6条移动操作指令可以分为两类:一类是不涉及特殊寄存器HI、LO的指令,包括movn、movz;另一类是涉及特殊寄存器HI、LO的指令,包括mfhi、mflo、mthi、mtlo。前一类很好实现,基本思路与第5章实现逻辑、移位操作指令时类似,只需要修改ID、EX模块即可。后一类涉及到特殊寄存器HI、LO,需要为OpenMIPS添加HI、LO寄存器,以及相应的读写控制。下面分别介绍各自的实现思路。...
分类:移动开发   时间:2014-08-12 17:31:04    阅读次数:644
自己动手写CPU之第六阶段(1)——移动操作指令说明
MIPS32指令集架构中定义的移动操作指令共有6条:movn、movz、mfhi、mthi、mflo、mtlo,后4条指令涉及到了对特殊寄存器HI、LO的读写操作,截止到本章,我们的OpenMIPS处理器只实现了32个通用寄存器、以及PC,所有的指令也只是对32个通用寄存器进行操作,还没有涉及特殊寄存器,本章将实现HI、LO这两个特殊寄存器。...
分类:移动开发   时间:2014-08-06 14:55:01    阅读次数:343
自己动手写CPU之第五阶段(5)——测试逻辑、移位与空指令的实现
编写测试程序,对逻辑、移位、空指令的实现效果进行了检验...
分类:其他好文   时间:2014-08-05 14:08:39    阅读次数:272
自己动手写CPU之第五阶段(4)——逻辑、移位与空指令的实现
为了实现逻辑、移位操作与空指令(其中nop、ssnop不用特意实现,可以认为是特殊的逻辑左移指令sll),只需要修改OpenMIPS的如下两个模块。 修改译码阶段的ID模块,用以实现对上述指令的译码。 修改执行阶段的EX模块,使其按照译码结果进行运算。...
分类:其他好文   时间:2014-08-04 14:22:06    阅读次数:232
自己动手写CPU之第五阶段(3)——MIPS指令集中的逻辑、移位与空指令
MIPS32指令集架构中定义的逻辑操作指令有8条:and、andi、or、ori、xor、xori、nor、lui,其中ori指令已经实现了,本章要实现其余7条指令。 MIPS32指令集架构中定义的移位操作指令有6条:sll、sllv、sra、srav、srl、srlv。 MIPS32指令集架构中定义的空指令有2条:nop、ssnop。其中ssnop是一种特殊类型的空操作,在每个周期发射多条指令的CPU中,使用ssnop指令可以确保单独占用一个发射周期。OpenMIPS设计为标量处理器,也就是每个周期发射一...
分类:其他好文   时间:2014-08-01 13:37:11    阅读次数:1166
自己动手写CPU之第五阶段(2)——OpenMIPS对数据相关问题的解决措施
为实现数据前推而对OpenMIPS系统结构所做的修改。有两个方面。 (1)将处于流水线执行阶段的指令的运算结果,包括:是否要写目的寄存器wreg_o、要写的目的寄存器地址wd_o、要写入目的寄存器的数据wdata_o等信息送到译码阶段,如图5-8中虚线所示。 (2)将处于流水线访存阶段的指令的运算结果,包括:是否要写目的寄存器wreg_o、要写的目的寄存器地址wd_o、要写入目的寄存器的数据wdata_o等信息送到译码阶段。...
分类:其他好文   时间:2014-07-31 17:18:26    阅读次数:295
自己动手写CPU之第五阶段(1)——流水线数据相关问题
我们在第4章实现的五级流水线结构很简单,如果按照“简单即美(Simple is Beautiful)的标准,那么我们的流水线是美的,但是不完美,因为现实往往是复杂的,一个简单的流水线是解决不了如此多的现实问题的,本节探讨的数据相关问题就是其中一个问题。在我们实现逻辑、移位操作等其它指令之前,必须先讨论这个问题,因为这个问题已经影响到测试程序的编写了。 流水线中经常有一些被称为“相关”的情况发生,它使得指令序列中下一条指令无法按照设计的时钟周期执行,这些“相关”会降低流水线的性能。流水线中的相关分为三种类型。...
分类:其他好文   时间:2014-07-30 14:51:39    阅读次数:684
自己动手写CPU之第四阶段(4)——Makefile文件建立
为了得到指令存储器初始化文件,我们需要输入4条命令,有点麻烦,最好只输入一条命令就可以了,这需要使用到Makefile文件。...
分类:其他好文   时间:2014-07-29 15:17:18    阅读次数:230
自己动手写CPU之第四阶段(3)——MIPS编译环境的建立
OpenMIPS处理器在设计的时候就计划与MIPS32指令集架构兼容,所以可以使用MIPS32架构下已有的GNU开发工具链。本节将说明如何安装使用GNU开发工具链以及如何制作Makefile文件,从而以更加方便、快捷、自动的方式对测试程序进行编译,并得到指令存储器ROM的初始化文件inst_rom.data。...
分类:其他好文   时间:2014-07-28 15:54:33    阅读次数:416
自己动手写CPU之第四阶段(2)——验证第一条指令ori的实现效果
将验证我们的OpenMIPS是否实现正确,包含:流水线是否正确、ori指令是否实现正确。在验证之前,需要首先实现指令存储器,以便OpenMIPS从中读取指令。...
分类:其他好文   时间:2014-07-26 02:52:56    阅读次数:535
70条   上一页 1 ... 5 6 7
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!