基于MIPS的流水线处理器设计.docx
《基于MIPS的流水线处理器设计.docx》由会员分享,可在线阅读,更多相关《基于MIPS的流水线处理器设计.docx(78页珍藏版)》请在三一文库上搜索。
1、摘 要CPU是计算机系统的核心部件,在各类信息终端中得到了广泛的应用。处理器的设计及制造技术也是计算机技术的核心之一。而MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。本文围绕着指令执行过程中需经历的五个阶段,详细描述了处理器中各阶段的逻辑设计及其相关功能模块的设计。这五个阶段包括:取指令阶段IF,指令译码阶段ID,指令执行阶段EXE,存储器读写阶段MEM,寄存器写回阶段WB。相关模块包括:程序存储器i
2、mem,控制单元controller,寄存器堆regfile,算术逻辑单元alu,数据存储器dmem。在完成了CPU的整体逻辑设计后,通过Modelsim仿真软件在所设计的CPU上运行了测试程序,测试输出波形表明了处理器逻辑设计的正确性。关键词:MIPS;处理器;流水线IVAbstractThe Central Processing Unit (CPU) is the key part of a computer, which has been widely used in various information terminals.Also, the design and manufactu
3、ring technology of the processor is one of the cores of the computer technology. And, as a RISC processor, MIPS is very popular in the world. MIPS means “microprocessor without interlocked piped stages”, the mechanism of it is to avoid the data-related problems in the pipeline as much as possible by
4、 software. Around the five stages of the instruction execution, the article describes the logic designs of the processor and its related functional modules in detail. The five stages include: the instruction fetch stage IF, the instruction decode stage ID, the instruction execution stage EXE, the me
5、mory read/write stage MEM, and the register write back stage WB. The related modules include: the instruction memory imem, the control unit controller, the register file regfile, the arithmetic logic unit alu, and the data memory dmem. Upon the completion of the whole logic designs, running the test
6、 programs by the Modelsim, the correctness of the logic designs is proved by the output waveform. Keywords: MIPS, CPU, Pipeline目 录摘 要IABSTRACTII目 录III第1章 MIPS体系结构概述11.1 流水线技术11.2 RISC技术21.3 MIPS简介41.4 MIPS指令集51.5 本章小结10第2章 MIPS处理器的实现112.1 MIPS CPU顶层结构112.2 IF级132.3 ID级142.4 EXE级162.5 MEM级172.6 WB级19
7、2.7 外部数据输入中断192.8 本章小结20第3章 流水线CPU的仿真213.1 流水线CPU的指令仿真213.2 本章小结37第4章 总结和展望38参考文献39致 谢40附录1 英文文献41附录2 中文译文48附录3 主要模块代码54山东科技大学本科毕业设计(论文)第1章 MIPS体系结构概述1.1 流水线技术在任一条指令的执行过程中,各个功能部件都会随着指令执行的进程而呈现出时忙时闲的现象。要加快计算机的工作速度,就应使各个功能部件并行工作,即以各自可能的高速度同时、不停地工作,使得各部件的操作在时间上重叠进行,实现流水式作业。从原理上说,计算机的流水线(pipeline)工作方式就是
8、将一个计算任务细分成若干个子任务,每个子任务都由专门的功能部件进行处理,一个计算任务的各个子任务由流水线上各个功能部件轮流进行处理(即各子任务在流水线的各个功能阶段并发执行),最终完成工作。这样,不必等到上一个计算任务完成,就可以开始下一个计算任务的执行。流水线的硬件基本结构如图1.1所示。流水线由一系列串联的功能部件(Si)组成,各个功能部件之间设有高速缓冲寄存器(L),以暂时保存上一功能部件对子任务处理的结果,同时又能够接受新的处理任务。在一个统一的时钟(C)控制下,计算任务从功能部件的一个功能段流向下一个功能段。在流水线中,所有功能段同时对不同的数据进行不同的处理,各个处理步骤并行地操作
9、图1.1 流水线的硬件基本结构当任务连续不断地输入流水线时,在流水线的输出端便连续不断地输出执行结果,流水线达到不间断流水的稳定状态,从而实现了子任务级的并行。流水线技术本质上是将一个重复的时序过程分解成若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。采用流水线技术通过硬件实现并行操作后,就某一条指令而言,其执行速度并没有加快,但就程序执行过程的整体而言,程序执行速度大大加快。流水线技术适合于大量的重复性的处理。1.2 RISC技术按照指令系统分类,计算机大致可以分为两类:复杂指令系统计算机(Complex Instruction Set Computer,CIS
10、C)和精简指令系统计算机(Reduced Instruction Set Computer,RISC)。CISC是CPU的传统设计模式,其指令系统的特点是指令数目多而复杂,每条指令的长度不尽相等;而RISC则是CPU的一种新型设计模式,其指令系统的主要特点是指令条数少且简单,指令长度固定。1RISC的产生1975年,IBM的设计师John Cocke研究了当时的IBM 370 CISC系统,发现其中仅占总指令数20%的简单指令却在程序调用中占据了80%,而占指令数80%的复杂指令却只有20%的机会被调用到。由此,他提出了RISC的概念。第一台RISC计算机于1981年在美国加州大学伯克利分校问
11、世。20世纪80年代末开始,各家公司的RISC CPU如雨后春笋般出现,占据了大量的市场。到了20世纪90年代,x86的CPU(如Pentium)也开始使用先进的RISC技术。2RISC的特点RISC的主要特点是指令长度固定,指令格式和寻址方式种类少,大多数是简单指令且都能在一个时钟周期内完成,易于设计超标量与流水线,寄存器数量多,大量操作在寄存器之间进行。RISC体系结构的基本思想是:针对CISC指令系统指令种类太多、指令格式不规范、寻址方式太多的缺点,通过减少指令种类、规范指令格式、简化寻址方式,方便处理器内部的并行处理,提高VLSI器件的使用效率,从而大幅度地提高处理器的性能。RISC的
12、目标决不是简单的缩减指令系统,而是使处理器的结构更简单,更合理,具有更高的性能和执行效率,同时降低处理器的开发成本。由于RISC指令系统仅包含最常用的简单指令,因此,RISC技术可以通过硬件优化设计,把时钟频率提得很高,从而实现整个系统的高性能。同时,RISC技术在CPU芯片上设置大量寄存器,用来把常用的数据保存在这些寄存器中,大大减少对存储器的访问,用高速的寄存器访问取代低速的存储器访问,从而提高系统整体性能。RISC的三个要素是:(1)一个有限的简单的指令集(2)CPU配备大量的通用寄存器,(3)强调对指令流水线的优化。RISC的典型特征包括:(1)指令种类少,指令格式规范:RISC指令集
13、通常只使用一种或少数几种格式,指令长度单一(一般4个字节),并且在字边界上对齐,字段位置(特别是操作码的位置)固定。(2)寻址方式简化:几乎所有指令都使用寄存器寻址方式,绝不出现存储器间接寻址方式,寻址方式总数一般不超过5个。其他更为复杂的寻址方式,如间接寻址等,则由软件利用简单的寻址方式来合成。(3)大量利用寄存器间操作:RISC强调通用寄存器资源的优化使用,指令集中大多数操作都是寄存器到寄存器的操作,只有取数指令、存数指令访问存储器,指令中最多出现RS型指令,绝不出现SS型指令。因此,每条指令中访问的主存地址不会超过1个,访问主存的操作不会与算术操作混在一起。(4)简化处理器结构:使用RI
14、SC指令集,可以大大简化处理器中的控制器和其他功能单元的设计,不必使用大量专用寄存器,特别是允许以硬连线方式来实现指令操作,以期更快的执行速度,而不必像CISC处理器那样使用微程序来实现指令操作。因此,RISC处理器不必像CISC处理器那样设置微程序控制存储器,从而能够快速地直接执行指令。(5)便于使用VLSI技术:随着LSI和VLSI技术的发展,整个处理器(甚至多个处理器)都可以放在一片芯片上。RISC体系结构为单芯片处理器的设计带来很多好处,有利于提高性能,简化VLSI芯片的设计和实现。基于VLSI技术,制造RISC处理器的工作量要比CISC处理器小得多,成本也低得多。(6)加强处理器的并
15、行能力:RISC指令集非常适合于采用流水线、超流水线和超标量技术,从而实现指令级并行操作,提高处理器的性能。目前常用的处理器的内部并行操作技术,基本上都是基于RISC体系结构而逐步发展和走向成熟的。(7)RlSC技术的复杂性在于它的优化编译程序,因此软件系统开发时间比CISC机器要长。1.3 MIPS简介MIPS是世界上很流行的一种RISC处理器。MIPS的意思“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福(Stanford)大学
16、Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。MIPS技术公司是美国著名的芯片设计公司,它采用精简指令系统计算结构(RISC)来设计芯片。和英特尔采用的复杂指令系统计算结构(CISC)相比,RISC具有设计更简单、设计周期更短等优点,并可以应用更多先进的技术,开发更快的下一代处理器。MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。MIPS的系统结构及设计理念比较先进,其指令系统经过通用处理器指令体系MIPS
17、 I、MIPS II、MIPS III、MIPS IV到MIPS V,嵌入式指令体系MIPS16、MIPS32到MIPS64的发展已经十分成熟。在设计理念上MIPS强调软硬件协同提高性能,同时简化硬件设计。1.4 MIPS指令集处理器的指令集体系结构(ISA)由指令集和一系列相应的寄存器约定构成。基于相同ISA编写的程序,都能够在对应ISA的处理器上运行。MIPS指令从诞生之日起至今,已经从32位发展到64位。为了确保程序的向下兼容性,MIPS指令的每一代产品都是在原有指令集的基础上直接扩展新的指令而不舍弃任何指令,即使是64位的指令集的MIPS处理器仍然可以执行32位指令。本节介绍MIPS指
18、令及其特点,使得我们理解MIPS体系结构,进而完成对MIPS处理器的设计。1MIPS指令集总体特点MIPS指令集具有以下特点:(1)简单的LOAD/STORE结构。所有的计算类型的指令均从寄存器堆中读取数据并把结果写入寄存器堆中。只有LOAD和STORE指令访问存储器。(2)易于流水线CPU的设计。MIPS32TM指令集的指令格式非常规整,所有的指令均为32位,而且指令操作码在固定的位置上。(3)易于编译器的开发。MIPS指令的寻址方式非常简单,每条指令的操作也非常简单。2MIPS指令集的寄存器设置MIPS32TM有32个通用寄存器,编号从0到31,其中寄存器0的内容总是0,这些通用寄存器组成
19、寄存器堆(register file)。MIPS32TM还定义了32个浮点寄存器。另外还有一些通用寄存器,PC(program counter)就是其中的一个,CPU使用它从存储器中取指令。3MIPS指令集支持的数据类型MIPS32TM支持的数据类型有整数和浮点数。整数包括8位字节、16位半字、32位字和64位双字。浮点数包括32位单精度和64位双精度。4MIPS指令集的指令格式MIPS32TM的指令格式只有3种,如图1.2所示。R(register)类型的指令从寄存器堆中读取两个源操作数,计算结果写回寄存器堆。I(immediate)类型的指令使用一个16位的立即数作为源操作数。J(jump
20、类型的指令使用一个26位立即数作为跳转的目标地址(target address)。图1.2 MIPS32TM指令格式指令格式中的op(opcode)是指令操作码。rs(register source)是源操作数的寄存器号。rd(register destination)是目的寄存器号。rt(register target)即可作为源寄存器号,又可作为目的寄存器号,由具体的指令决定。func(function)可被认为是扩展的操作码。sa(shift amount)由移位指令使用,定义移位位数。immediate是16位立即数,使用之前由指令进行0扩展或符号扩展。26位target由jump指
21、令使用,用于产生跳转的目标地址。5MIPS指令集的指令分类CPU的指令类型根据其操作的不同,可以分为下面七类。(1)计算类指令(Computational)计算类指令用于执行算术操作,乘/除,逻辑操作和对寄存器进行移位操作。这些指令有两种类型:寄存器类型和立即数类型。寄存器类型的指令使用两个源寄存器的值作为源操作数,立即数类型使用一个寄存器和立即数作为源操作数。根据操作的不同,这些指令分为下面4种: ALU立即数指令 操作数指令 移位指令 乘/除法指令(2)Load/Store指令Load和Store指令都为立即数(I-type)类型,用来在存储器和通用寄存器之间的储存和装载数据。值得一提的是
22、MIPS指令集只有该类指令访问内存,而其他指令都在寄存器之间进行,所以指令的执行速度较高。该类指令只有基址寄存器的值加上扩展的16位有符号立即数一种寻址模式,数据的存取方式可以是字节(byte)、字(word)和双字(Double word)。指令格式:(3)跳转/分支指令(jump & branch)跳转和分支指令改变程序流。所有的跳转和分支指令都会产生的一个延迟槽(delay slot)。紧跟着跳转/分支指令后的指令(delay slot中的指令)也被执行,然后将跳转目标的第一条指令从存储器中取出并执行,这使得指令的流水线执行获得更高效率。Jump指令Branch指令(4)寄存器传送指令寄
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MIPS 流水线 处理器 设计
