码迷,mamicode.com
首页 >  
搜索关键字:自己动手写处理器    ( 13个结果
自己动手写处理器之第一阶段(2)——MIPS指令集架构的演变
将陆续上传本人写的新书《自己动手写处理器》(尚未出版),今天是第三篇。我尽量每周四篇 MIPS指令集架构自上世纪80年代出现后。一直在进行着更新换代,从最初的MIPS I到MIPS V,发展到可支持扩展模块的MIPS32、MIPS64系列,再到集成代码压缩技术的microMIPS32、micro.....
分类:其他好文   时间:2016-01-10 14:19:44    阅读次数:209
自己动手写CPU之第四阶段(2)——验证第一条指令ori的实现效果
将验证我们的OpenMIPS是否实现正确,包含:流水线是否正确、ori指令是否实现正确。在验证之前,需要首先实现指令存储器,以便OpenMIPS从中读取指令。...
分类:其他好文   时间:2014-07-26 02:52:56    阅读次数:535
自己动手写处理器之第四阶段(1)——第一条指令ori的实现
前面几章介绍了很多预备知识,也描绘了即将要实现的OpenMIPS处理器的蓝图,各位读者是不是早已摩拳擦掌,迫切希望一展身手了,好吧,本章我们将实现OpenMIPS处理器的第一条指令ori,为什么选择这条指令作为我们实现的第一条指令呢?答案就两个字——简单,指令ori用来实现逻辑“或”运算,选择一条简单的指令有助于我们排除干扰,将注意力集中在流水线结构的实现上,当然也可以选择其它类似的指令,只要简单即可。通过这条简单指令的实现,本章在4.2节将初步建立OpenMIPS的五级流水线结构,当我们在后面章节中实现其...
分类:其他好文   时间:2014-07-24 17:47:32    阅读次数:525
自己动手写处理器之第三阶段——教学版OpenMIPS处理器蓝图
从本章开始将一步一步地实现教学版OpenMIPS处理器。本章给出了教学版OpenMIPS的系统蓝图,首先介绍了系统的设计目标,其中详细说明了OpenMIPS处理器计划实现的5级流水线。3.2节给出了OpenMIPS处理器的接口示意图,及各个接口的作用。3.3节简单解释了各个源代码文件的作用。最后描述了OpenMIPS处理器的实现方法,读者将发现本书给出的实现方法与现有书籍的方法完全不同,更加易于理解、便于实践。...
分类:其他好文   时间:2014-07-23 17:18:42    阅读次数:486
自己动手写处理器之第二阶段(5)——ModelSim电路仿真
上一节实现了一个简化的处理器取指电路,需要通过仿真以验证其功能是否正确,直观的仿真思路就是:给出一个时钟信号,上述电路会在每个时钟信号上升沿将取指地址加1,同时从指令存储器中取出一条指令,观察取指地址是否依次递增,同时观察取出的指令是否是存储器中取指地址对应的指令,如果都符合,那么上述取指电路就实现正确。此处涉及到两个问题。 1、如何在指令存储器中存储指令,也就是指令存储器初始化问题。 2、如何给出时钟信号? 本节将分别解答上述问题,在此基础上,使用ModelSim进行仿真。...
分类:其他好文   时间:2014-07-22 14:03:04    阅读次数:444
自己动手写处理器之第二阶段(4)——电路设计举例
本节将设计一个简化的处理器取指令电路,通过这个例子体会Verilog HDL的使用。 处理器内部一般有一个PC寄存器,其中存储指令地址,正常运行过程中,PC的值会随时间增加,同时从指令存储器中取出对应地址的指令。所以,本节实现的处理器取指令电路,包含两部分:PC模块、指令存储器。...
分类:其他好文   时间:2014-07-21 13:37:36    阅读次数:269
自己动手写处理器之第二阶段(2)——Verilog HDL简介
本书实现的OpenMIPS处理器是使用Verilog HDL编写的,所以本章接下来的几节将介绍Verilog HDL的一些基本知识,包括语法、结构等。因为本书并不是一本讲授Verilog HDL的专门书籍,所以此处介绍的内容并不是Verilog HDL的全部,只是一些基础知识,以及在OpenMIPS处理器实现过程中会使用到的知识。读者如果对Verilog HDL有进一步了解的需求,可以参考相关书籍,这方面有许多非常优秀的书籍。笔者推荐《数字系统设计与Verilog HDL(第4版)》,本章关于Verilog...
分类:其他好文   时间:2014-07-16 17:17:51    阅读次数:248
自己动手写处理器之第二阶段(3)——Verilog HDL行为语句
Verilog定义的模块一般包括有过程语句,过程语句有两种:initial、always。其中initial常用于仿真中的初始化,其中的语句只执行一次,而always中语句则是不断重复执行的。此外,always过程语句是可综合的,initial过程语句是不可综合的。...
分类:其他好文   时间:2014-07-16 16:43:16    阅读次数:415
自己动手写处理器之第二阶段(1)——可编程逻辑器件与PLD电路设计流程
FPGA是可编程逻辑器件(PLD:Programmable Logic Device)的一种。PLD是上世纪70年代发展起来的一种新型器件,它的应用和发展不仅简化了电路设计,降低了开发成本,提高了系统可靠性,而且给数字系统的设计方法带来了革命性的变化。截止到现在,出现了多种工艺、不同原理的PLD,如下。 ? PLA(Programmable Logic Array)可编程逻辑阵列 ? PAL(Programmable Array Logic)可编程阵列逻辑 ? GAL(Generic Array Logic...
分类:其他好文   时间:2014-07-14 20:23:02    阅读次数:294
自己动手写处理器之第一阶段(3)——MIPS32指令集架构简介
在前文介绍RISC的特点时提到一点:大量使用寄存器。这是因为寄存器的存取可以在一个时钟周期内完成,同时也简化了寻址方式。MIPS32的指令中除加载/存储指令外,都是使用寄存器或立即数作为操作数的。MIPS32中的寄存器分为两类:通用寄存器(GPR:General Purpose Register)、特殊寄存器。...
分类:其他好文   时间:2014-07-13 18:55:11    阅读次数:594
13条   1 2 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!