11 2020 档案

摘要:从本章开始将一步一步地实现教学版OpenMIPS处理器。本章给出了教学版OpenMIPS的系统蓝图,首先介绍了系统的设计目标,其中详细说明了OpenMIPS处理器计划实现的5级流水线。3.2节给出了OpenMIPS处理器的接口示意图,及各个接口的作用。3.3节简单解释了各个源代码文件的作用。最后描述 阅读全文
posted @ 2020-11-26 15:50 erinfeng 阅读(429) 评论(0) 推荐(0)
摘要:2.8 仿真 上一节实现了一个简化的处理器取指电路,需要通过仿真以验证其功能是否正确,直观的仿真思路就是:给出一个时钟信号,上述电路会在每个时钟信号上升沿将取指地址加1,同时从指令存储器中取出一条指令,观察取指地址是否依次递增,同时观察取出的指令是否是存储器中取指地址对应的指令,如果都符合,那么上述 阅读全文
posted @ 2020-11-26 10:53 erinfeng 阅读(747) 评论(0) 推荐(0)
摘要:2.7电路设计举例 本节将设计一个简化的处理器取指令电路,通过这个例子体会Verilog HDL的使用。 处理器内部一般有一个PC寄存器,其中存储指令地址,正常运行过程中,PC的值会随时间增加,同时从指令存储器中取出对应地址的指令。所以,本节实现的处理器取指令电路,包含两部分:PC模块、指令存储器。 阅读全文
posted @ 2020-11-26 08:38 erinfeng 阅读(241) 评论(0) 推荐(0)
摘要:2.6 Verilog HDL行为语句 2.6.1 过程语句 Verilog定义的模块一般包括有过程语句,过程语句有两种:initial、always。其中initial常用于仿真中的初始化,其中的语句只执行一次,而always中语句则是不断重复执行的。此外,always过程语句是可综合的,init 阅读全文
posted @ 2020-11-25 17:08 erinfeng 阅读(870) 评论(0) 推荐(0)
摘要:2.3 Verilog HDL简介 本书实现的OpenMIPS处理器是使用Verilog HDL编写的,所以本章接下来的几节将介绍Verilog HDL的一些基本知识,包括语法、结构等。因为本书并不是一本讲授Verilog HDL的专门书籍,所以此处介绍的内容并不是Verilog HDL的全部,只是 阅读全文
posted @ 2020-11-25 15:29 erinfeng 阅读(311) 评论(0) 推荐(0)
摘要:通过上一章的介绍,读者应该知道CPU内部有一些基本的电路,比如:译码电路、运算电路、控制电路,此外还有一些寄存器等。这些电路怎么实现呢?当然可以通过一大堆分立的元器件实现,实际上在2008年,美国加州的游戏开发人士Steve Chamberlin就自己制造了一款8位CPU,耗时18个月,花费1000 阅读全文
posted @ 2020-11-25 15:01 erinfeng 阅读(481) 评论(0) 推荐(0)
摘要:1.4 MIPS32指令集架构简介 本书设计的处理器遵循MIPS32 Release 1架构,所以本节介绍的MIPS32指令集架构指的就是MIPS32 Release 1。 1.4.1 数据类型 指令的主要任务就是对操作数进行运算,操作数有不同的类型和长度,MIPS32提供的基本数据类型如下。 位( 阅读全文
posted @ 2020-11-25 14:43 erinfeng 阅读(1059) 评论(0) 推荐(0)
摘要:MIPS指令集架构自上世纪80年代出现后,一直在进行着更新换代,从最初的MIPS I到MIPS V,发展到可支持扩展模块的MIPS32、MIPS64系列,再到集成代码压缩技术的microMIPS32、microMIPS64。每个MIPS ISA都是其前一个的超集,没有任何遗漏,只有增加新的功能。 1 阅读全文
posted @ 2020-11-25 10:19 erinfeng 阅读(807) 评论(0) 推荐(0)
摘要:第1章 处理器与MIPS 时间开始了! ——胡风 · 1949 让我们以一句诗意的话,开始本书的阅读。 时间从1971年11月15日开始,那一天,Intel发布了世界上第一款单芯片微处理器4004。 1.1 计算机的简单模型 计算机很复杂,可以听歌、看电影、上网、玩游戏,内部是怎么工作的,这个问题太 阅读全文
posted @ 2020-11-25 10:17 erinfeng 阅读(463) 评论(0) 推荐(0)