资源描述:
《基于某MIPS地流水线处理器设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用文档摘要CPU是计算机系统的核心部件,在各类信息终端中得到了广泛的应用。处理器的设计及制造技术也是计算机技术的核心之一。而MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessorwithoutinterlockedpipedstages),其机制是尽量利用软件办法避免流水线中的数据相关问题。本文围绕着指令执行过程中需经历的五个阶段,详细描述了处理器中各阶段的逻辑设计及其相关功能模块的设计。这五个阶段包括:取指令阶段IF,指令译码阶段ID,指令执行阶段EXE,存储器读写阶段MEM,寄存器写回阶段WB。相关模块包括:程序存储器
2、imem,控制单元controller,寄存器堆regfile,算术逻辑单元alu,数据存储器dmem。在完成了CPU的整体逻辑设计后,通过Modelsim仿真软件在所设计的CPU上运行了测试程序,测试输出波形表明了处理器逻辑设计的正确性。实用文档关键词:MIPS;处理器;流水线实用文档AbstractTheCentralProcessingUnit(CPU)isthekeypartofacomputer,whichhasbeenwidelyusedinvariousinformationterminals.Also,thedesignandmanufacturingtechnologyo
3、ftheprocessorisoneofthecoresofthecomputertechnology.And,asaRISCprocessor,MIPSisverypopularintheworld.MIPSmeans“microprocessorwithoutinterlockedpipedstages”,themechanismofitistoavoidthedata-relatedproblemsinthepipelineasmuchaspossiblebysoftware.Aroundthefivestagesoftheinstructionexecution,thearticl
4、edescribesthelogicdesignsoftheprocessorandit’srelatedfunctionalmodulesindetail.Thefivestagesinclude:theinstructionfetchstageIF,theinstructiondecodestageID,theinstructionexecutionstageEXE,thememoryread/writestageMEM,andtheregisterwritebackstageWB.Therelatedmodulesinclude:theinstructionmemoryimem,th
5、econtrolunitcontroller,theregisterfileregfile,thearithmeticlogicunitalu,andthedatamemorydmem.实用文档Uponthecompletionofthewholelogicdesigns,runningthetestprogramsbytheModelsim,thecorrectnessofthelogicdesignsisprovedbytheoutputwaveform.Keywords:MIPS,CPU,Pipeline实用文档目录摘要IABSTRACTII目录III第1章MIPS体系结构概述11.
6、1流水线技术11.2RISC技术21.3MIPS简介41.4MIPS指令集51.5本章小结10第2章MIPS处理器的实现112.1MIPSCPU顶层结构112.2IF级132.3ID级142.4EXE级16实用文档2.5MEM级172.6WB级192.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流水线技术在任一条指令的执行过程中,各个功能部件都会随着指令执行的进程而呈现出时忙时闲的
7、现象。要加快计算机的工作速度,就应使各个功能部件并行工作,即以各自可能的高速度同时、不停地工作,使得各部件的操作在时间上重叠进行,实现流水式作业。从原理上说,计算机的流水线(pipeline)工作方式就是将一个计算任务细分成若干个子任务,每个子任务都由专门的功能部件进行处理,一个计算任务的各个子任务由流水线上各个功能部件轮流进行处理(即各子任务在流水线的各个功能阶段并发执行),最终完成工作。这样,不必等到上一个计算任务完