博客首页 | 排行榜 |

ligongbai的博客

个人档案
博文分类
最新评论
博文存档
最近访客
  • 目前已实现了能够编译POTATO-I全部指令的GNU binutils-2.17工具链,该工具把POTATO-I的汇编语言编译成ELF格式的二进制代码,通过已开发的转换工具把ELF文件转换成verilog测试文件,以加快POTATO-I硬件逻辑的开发测试。 GNU binutils-2.17的具体实现方法请参看以下BLOG文章。http://www.openhard.org/myspace/blog/show.php?id=77334

    阅读全文>>

  • POTATO-I指令集及指令编码格式 指令集:NOP,ADD,ADC,SUB,SUBC,AND,OR,NOT,ADDI,ANDI,ORI,NOTI,LSL,LSR,ASR,ROR,ROL,STR,LDR,BTC,JUMP,JUMPR,JUMPL,RET。指令编码格式       1) NOP,ADD,ADC,SUB,SUBC,AND,OR,NOTOP[31:26]   DS[25:21]    S1[20:16]S2[15:11]XXXXX...XXXX           例:ADD R1,R2,R3; 在上面的加法指令中 OP=2、DS=1、S1=2、S2=3,           对应的机器码为:...

    阅读全文>>

  •      处理器设计中采用流水线不但提高处理器的吞吐量,还可以提高处理器的工作频率。因为随着流水线级数的增多,单一流水线级的处理变得简单,电路也变的简单,从而可以让CPU工作在更高的频率上。但是随着流水线级数的增加,系统延迟(每一跳指令执行所需要的时间)增加,同时异常、转移指令执行时需要排空的流水线级数也相应的增加。尤其当处理器没有分支预测功能时,对流水线排空引起的吞吐量的降低更加明显。根据以上几点原因Potato-I处理器采用了典型的5级流水线结构。 Potato-I 由IF(instruction fetch),...

    阅读全文>>

  • alu的标志位 2007-11-02 21:29
    ALU模块的标志位Flag 包括进位 C、溢出V、负数 N、零Z。其中C是用来表示无符号数的溢出,V 是用来表示有符号是的溢出。可以用双符号位来检测有符号数是否有溢出。在有些体系结构中ALU对有符号数的溢出位V置位会引起系统的内部异常(溢出异常),而其余的标志位被存入特定的标志位寄存器中,并通过不同的逻辑运算后作为条件转移信息位。 alu.v 及 alu_test.v  代码下载地址:http://www.openhard.org/down.phphttp://www.openhard.org/down.php?menuid=1722

    阅读全文>>

页次:1/1 每页15条记录,共4条  分页:  [1]