湘潭大学计算机原理实验三多周期MIPSCPU的控制部件预习报告
湘潭大学计算机原理实验三多周期MIPSCPU的控制部件预习报告

湘潭大学计算机原理实验三多周期MIPSCPU的控制部件预习报告实验三多周期MIPS CPU的控制部件实验用有限状态机实现多周期CPU的控制部件一.实验目的1、了解MIPS—CPU控制器的功能和工作原理;2、掌握用有限状态机技术实现多周期控制器的方法;3、熟练掌握用Verilog HDL语言设计多周期控制器的方法;4、熟练掌握对多周期控制器的仿真实验验证和硬件测试两种调试方法;5、掌握向MIPS-CPU顶层数据通路中增加控制单元的方法,并通过仿真验证和硬件测试两种方法对电路进行故障定位的调试技术。
二.实验内容(1)MIPS—CPU控制器的有限状态机设计,根据MIPS—CPU 各种类型指令执行要求和有限状态机的设计原理,将多周期控制器的指令执行划分为多个状态,确定每一种指令的有限状态机,最后归纳为完整的多周期控制器有限状态机。
通过Verilog HDL语言实现多周期控制器有限状态机。
(2)根据MIPS—CPU控制器的接口要求,在有限状态机的基础上,用Verilog HDL实现完整的MIPS—CPU控制器的设计,并根据仿真波形,验证设计的正确性,并对出现的故障进行定位,修改程序,重新编译;(3)设计控制器的硬件下载测试方案。
将编译通过的电路下载到实验台中。
根据硬件调试结果验证设计的正确性,并对出现的故障进行定位,修改程序重新编译;最终完成控制器的硬件电路设计;(4)在MIPS—CPU指令系统的数据通路基础上,增加控制单元电路,并进行编译,仿真波形和调试。
根据仿真波形,验证设计的正确性,并对出现的故障进行定位,修改程序,重新编译;(5)对增加了控制单元的顶层数据通路设计硬件下载测试方案。
将编译通过的电路下载到实验台中。
根据硬件调试结果验证设计的正确性,并对出现的故障进行定位,修改程序,重新编译;最终完成增加了控制单元的顶层数据通路设计。
三.实验原理与步骤1.把指令执行分成多个阶段,每个阶段在一个时钟周期内完成(1).时钟周期以最复杂阶段所花时间为准(2).尽量分成大致相等的若干阶段(3).每个阶段内最多只能完成:1次访存或1次寄存器堆读/写或1次ALU2.每步都设置相应的存储元件,执行结果都在下个时钟开始保存到相应单元3.认真阅读书上的控制部件代码后,将其按照电路图进行拆分,拆分为三个部件,并在顶层模块中连接线路。
mips运算器设计的实验报告

mips运算器设计的实验报告MIPS运算器设计的实验报告在计算机科学领域,MIPS(Microprocessor without Interlocked Pipeline Stages)是一种常见的指令集架构,被广泛用于教学和研究。
MIPS运算器设计实验旨在通过实际操作,加深对MIPS指令集的理解,提高学生的计算机系统设计能力。
实验开始前需要明确设计的目标和功能需求。
在设计MIPS运算器时,需要考虑指令的执行流程、寄存器的设计、ALU的功能等关键要素。
设计者应该清楚每条指令的操作码、操作数及操作结果的存储位置,确保整个运算器的功能正常实现。
根据设计要求,搭建MIPS运算器的硬件结构。
在硬件设计中,需要考虑到时钟频率、数据通路的连接、控制信号的传输等方面。
合理的硬件设计是保证运算器正常运行的基础,需要对各个模块进行充分测试和调试,确保整个系统的稳定性和可靠性。
接着,进行指令集的编码和解码工作。
MIPS指令集包括常见的算术运算指令、逻辑运算指令、分支跳转指令等,设计者需要为每条指令赋予唯一的操作码,并实现指令的编码和解码功能。
编码和解码的准确性直接影响到指令的执行结果,需要仔细检查和验证每条指令的功能和操作。
进行仿真和调试工作。
通过仿真软件模拟MIPS运算器的运行过程,检查指令执行的正确性和时序的准确性。
在调试过程中,需要重点关注指令执行的过程中是否存在冲突和错误,及时修改和优化设计方案,确保运算器的功能完整和稳定。
总的来说,通过设计MIPS运算器的实验,可以帮助学生深入理解计算机系统的结构和工作原理,提高他们的设计和调试能力,培养他们的团队合作和问题解决能力。
同时,这也是一个很好的实践机会,让学生将理论知识应用到实际项目中,提升他们的综合素质和创新能力。
希望通过这样的实验,能够激发学生对计算机科学的兴趣,培养他们对技术研究的热情,为未来的科技发展做出贡献。
多周期MIPS微程序控制器实验

多周期M I P S微程序实验目的◼掌握多周期MIPS CPU设计原理◼掌握微程序控制器设计的基本原理◼利用微程序控制器的设计实现多周期MIPS处理器◼主要任务☐绘制多周期MIPS CPU数据通路☐实现微程序控制器☐测试联调核心指令集8条(可实现内存区域冒泡排序)#MIPS指令RTL功能描述1add$rd,$rs,$rt R[$rd]←R[$rs]+R[$rt]溢出时产生异常,且不修改R[$rd] 2slt$rd,$rs,$rt R[$rd]←R[$rs]<R[$rt]小于置1,有符号比较3addi$rt,$rs,imm R[$rt]←R[$rs]+SignExt(imm)溢出产生异常16b4lw$rt,imm($rs)R[$rt]←Mem4B(R[$rs]+SignExt16b(imm))5sw$rt,imm($rs)Mem4B(R[$rs]+SignExt16b(imm))←R[$rt]6beq$rs,$rt,imm if(R[$rs]=R[$rt])PC←PC+SignExt18b({imm,00})7bne$rs,$rt,imm if(R[$rs]!=R[$rt])PC←PC+SignExt18b({imm,00})8syscall系统调用,这里用于停机多周期MIPS CPU 数据通路参考A L UENCLK31:265:001Addr InstrData15:015:1120:1625:21Sign ExtendR1#R2#W#WDWER1R2RegisterFileA BSignImm4<<2SrcASrcBEqualAluResultCAluoutEN控制器FuncOp 01rsrtrdCLKCLKCLKCLKCLKCLKIRDRIorD IRWriteMemWrite PCWrite Branch PCSrc AluOp ALUSrcB ALUSrcA RegWritePCEnRegDst MemtoRegPC00011011010101WE RD AMemoryWDCLK步骤1:构建多周期MIPS CPU数据通路◼在MIPS多周期CPU(微程序)子电路中,利用如下组件构建CPU数据通路☐PC、MEM、IR、DR、RegFile、ALU、Controller步骤2:设计微程序控制器◼输入信号◼指令字Opcode,Func字段(12位)◼时钟信号、复位信号◼输出信号◼多路选择器选择信号◼内存访问控制信号◼寄存器写使能信号◼运算器控制信号、指令译码信号控制信号功能说明(8条核心指令集)#控制信号信号说明产生条件1PCWrite PC写使能控制取指令周期,分支指令执行2IorD指令还是数据0表示指令,1表示数据3IRwrite指令寄存器写使能高电平有效4MemWrite写内存控制信号sw指令5MemRead读内存控制信号lw指令取指令6Beq Beq指令译码信号Beq指令7Bne Bne指令译码信号Bne指令8PcSrc PC输入来源顺序寻址还是跳跃寻址9AluOP运算器操作控制符4位ALU_Control控制,00加,01减,10由Funct定10AluSrcA运算器第一输入选择11AluSrcB运算器第二输入选择Lw指令,sw指令,addi12RegWrite寄存器写使能控制信号寄存器写回信号13RegDst写入寄存器选择控制信号R型指令14MemToReg写入寄存器的数据来自存储器lw指令◼载入微程序,设计地址转移逻辑下址字段逻辑微指令译码阶段地址转移逻辑◼打开CPU.circ打开多周期微程序控制器电路◼首先完成如下电路逻辑:指令译码、ALU控制2.实现微程序地址转移逻辑◼填写微程序地址入口表(Excel表微程序地址转移逻辑自动生成.xlsx)☐左侧是译码信号,右侧是对应类型指令对应的入口地址,地址转移逻辑会自动生成◼自动生成微程序地址转移逻辑子电路☐Logisim的分析电路功能Project →Analyze CircuitR_Type ADDI LW SW BEQ BNE SYSCALL 入口地址10进制S3S2S1S0170111 1111011 1910011111机器指令译码信号微程序入口地址构建指令状态变换图◼一个状态对应一个时钟周期◼一个状态对应一条微指令◼状态值对应微指令地址3.根据状态图构建微程序◼状态值→微指令地址◼不同状态→微控制信号、P字段设置、下址字段→微指令→微程序微指令、微程序自动生成Excel表格步骤3:CPU测试◼在存储器中载入排序程序sort.hex◼时钟自动仿真,Windows:Ctrl+k Mac: command+k运行程序◼程序停机后,查看数据存储器中排序情况,有符号降序排列下节课再见…。
mips运算器设计的实验报告

mips运算器设计的实验报告
MIPS运算器设计的实验报告
MIPS运算器是一种使用MIPS指令集进行运算的微型计算机。
它是一个重要的数字逻辑电路设计实验,能够让我们深入了解计算机的内部结构、运算的实现原理和操作系统等重要的概念。
本文将简要介绍MIPS运算器的设计原理和实验过程。
首先,MIPS运算器的设计由以下六个部分组成:存储器、CPU、输入控制器、输出控制器、时钟和调试器。
存储器包括一个程序存储器和一个数据存储器,分别用于存储程序和数据。
CPU包括ALU和寄存器,用于处理运算。
输入控制器用于控制输入设备,输出控制器用于控制输出设备,时钟用于同步和计时,调试器用于调试程序。
其次,在设计MIPS运算器时,我们采用了门级逻辑的方法。
首先,我们先根据MIPS指令集定义CPU的指令格式和指令编码,然后使用Karnaugh图和布尔代数等方法进行逻辑门电路的设计和优化,最终实现电路的硬件描述语言(HDL)编写和模拟仿真。
最后,我们进行了一系列实验验证了MIPS运算器的正确性和性能。
我们通过加载不同的程序和数据,进行了各种不同的运算测试,包括加、减、乘、除、与、或、异或、移位等运算,同时还测试了运算器的运行速度和存储器的容量等性能
指标。
实验结果表明,MIPS运算器的设计符合MIPS指令集的规范,功能完备,性能稳定,能够满足各种不同的运算需求。
总之,MIPS运算器是一款非常实用且具有挑战性的数字逻辑电路设计实验,它可以让我们更好地理解计算机的原理和操作系统等重要的概念,同时也能够培养我们的动手能力和解决问题的能力。
湘潭大学 计算机组成与原理 多周期CPU与存储器实验 实验报告

湘 潭 大 学 实 验 报 告 课程名称 计算机原理与设计 实验名称 多周期CPU与存储器实验 页数 专业 班级 姓名 同组者姓名 无 实验日期 组别 学号
output [31:0] a,b,alu,adr,tom,fromm,pc,ir;
output [2:0] wire
q; wmem;
mccpu mc_cpu (clock,resetn,fromm,pc,ir,a,b,alu,wmem,adr,tom,q); mcmem memory (clock,fromm,tom,adr,wmem,mem_clk,mem_clk); endmodule module mccpu (clock,resetn,frommem,pc,inst,alua,alub,alu,wmem,madr,tomem,state); input input output output output wire wire wire z,wpc,wir,wmem,wreg,iord,regrt,m2reg,shift,selpc,jal,sext; wire [31:0] [3:0] [4:0] [31:0] frommem; clock,resetn; [31:0] pc,inst,alua,alub,alu,madr,tomem; [2:0] state; wmem; aluc; reg_dest;
parameter [2:0]
// EXE state // MEM state
湘潭大学计算机原理实验四多周期MIPSCPU+存储器实验预习报告

实验四多周期MIPS CPU +存储器实验一.实验目的1、深入理解MIPS—CPU指令系统的功能和工作原理;2、掌握多周期CPU的工作原理和逻辑功能实现;3、熟练掌握用Verilog HDL语言设计多周期存储器的方法;4、熟练掌握对多周期存储器的仿真实验验证和硬件测试两种调试方法;5、通过对多周期CPU的运行情况进行观察和分析,进一步加深理解。
二.实验设备硬件:现代计算机组成原理实验系统(兼)Nios 32位嵌入式系统实验开发平台EP1C12Q240Core(TM)i3-3240 CPU@3.40GHz 3.39GHz 1.91GB的内存软件:QuartusII 13.0sp1Microsoft Windows xp三.实验内容1、设计一个32位MIPS多周期CPU具体的要求如下:至少运行下列的6类32条MIPS指令。
(1)算术逻辑指令and、sub、addi(2)逻辑运算指令and、0r、xor、andi、ori、xori(3)位移指令sll、srl、sra(4)条件分支指令beq、bne、(5)无条件跳转指令j、jr(6)数据传送指令lw、sw2.设计一个存储器四.实验原理与步骤实现上述原理框图根据功能将其分划分为控制单元(cunit)、执行单元(eunit)、指令单元(iunit)以及存储单元(munit)四大模块。
(1).控制单元(cunit)是多周期微处理器的核心控制微处理器取指令、指令译码和指令执行等工作。
主要由指令译码器控制器(outputs control)、算术逻辑运算控制器(ALU control)两个子模块组成。
(2).执行单元(eunit)主要由寄存器堆(registers)和算术逻辑单元(ALU)两个子模块组成。
其中寄存器是微处理器最基本的元素MIPS系统的寄存器堆由32个32位寄存器组成而ALU则是微处理器的主要功能部件执行加、减、比较等算术运算和与、或、或非、异或等逻辑运算。
CPU计算机组成原理实验报告

CPU计算机组成原理实验报告实验名称:CPU计算机组成原理实验一、实验目的:1.了解计算机硬件的基本组成原理,特别是CPU的工作原理;2.掌握计算机的组装和调试技能;3.熟悉计算机操作系统的安装和配置方法;4.学习使用计算机进行基本的应用程序开发。
二、实验设备和材料:1.CPU主机:包括主板、CPU、内存、硬盘等;2.显示设备:显示器、键盘、鼠标等;3.软件:操作系统、开发工具等。
三、实验步骤:1.将主板、CPU、内存、硬盘等硬件组件组装到主机箱中,连接电源、显示器、键盘、鼠标等外设;2.打开电源,按照BIOS界面提示进行主板和硬件设置;3.插入操作系统安装光盘,根据安装界面提示进行操作系统的安装;4.安装完成后,进入操作系统,根据提示进行相应驱动程序的安装和配置;5.打开开发工具,进行编程实践。
四、实验结果与分析:通过以上步骤,成功组装了一台计算机并安装了操作系统。
在操作系统中,能够正常运行各种应用程序,并且能够进行编程开发。
通过实验,可以清楚地了解到计算机硬件的组成原理,特别是CPU的工作原理。
CPU 作为计算机的核心部件,负责指令的执行和数据的处理。
通过对CPU的组装和调试,可以更深入地了解其工作原理和操作方法。
五、实验心得与体会:通过实验,我对计算机硬件的组装和设置有了更深入的理解。
计算机硬件的组成非常复杂,需要我们仔细阅读说明书,按照步骤进行操作。
在实验过程中,我们学会了解决一些常见的硬件问题,如硬件不兼容、连接错误等。
此外,操作系统的安装和配置也是非常重要的一步,只有正确地安装和配置操作系统,才能保证计算机的正常运行。
通过这个实验,我不仅学到了理论知识,还锻炼了实际操作的能力。
计算机的组装和调试需要我们仔细、耐心地进行,一丝不苟地对待每一步操作。
只有掌握了计算机组成原理,才能更好地理解和应用计算机技术。
通过实验,我深刻地认识到计算机是一台高度复杂的机器,它可以帮助我们解决各种问题,提高工作效率。
计算机组成原理实验报告-MIPS指令系统和MIPS体系结构

计算机组成原理实验报告-MIPS指令系统和MIPS体系结构实验内容:二. 实验内容和步骤首先要阅读MIPSsim模拟器的使用方法,然后了解MIPSsim 的指令系统。
(1)、启动MIPSsim。
(2)、选择“配置”->“流水方式”选项,使模拟器工作在非流水方式。
(3)、参照使用说明,熟悉MIPSsim模拟器的操作和使用方法。
(4)、选择“文件”->“载入程序”选项,加载样例程序alltest.asm,然后查看“代码”窗口,查看程序所在的位置。
三、观察寄存器和内存的情况,回答问题1、寄存器寻址、立即寻址、寄存器间接寻址的区别?2、PC的作用,请描述在非转移指令,无条件转移、条件转移指令中的PC变化过程的相同点和不同点?3、load和store指令作用,指令中用了大量的寄存器,寄存器的作用和优缺点?实验步骤与预习:课前预习:1、寄存器寻址就是指令中存放的是地址,直接解析这个地址;立即寻址就是指令当中自带数据,直接读取,最快;寄存器间接寻址就只指令中存放的是地址的地址,或者是存放地址的寄存器,最慢。
2、PC是程序计数器,作用是,用于存放下一条将要执行指令的地址。
当一条指令按PC所指向的地址从程序存储器中取出之后,PC的值会自动增加,指向下一条指令。
3、Load/Store指令用于寄存器和内存间数据的传送。
Load 用于把内存中的数据装载到寄存器中。
Store用于把寄存器中的数据存入内存。
该集合的指令使用频繁,在指令集中最为重要,因为其他指令只能操作寄存器,当数据存放在内存中时,必须先把数据从内存装载到寄存器,执行完后再把寄存器中的数据存储到内存中。
Load/Store指令分为3类:(1)单一数据传送指令(LDR和STR等)(2)多数据传送指令(LDM和STM)(3)数据交换指令(SWP和SWPB)实验结果:疑难小结:在做这个实验的时候遇到的最大的问题还是对工具的不了解,参考了网上的资料才算有所了解,然后才发现这个实验很简单就是执行了一个程序而已,可能这个实验就是为下面的实验做铺垫吧,先熟悉一下工具的操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三多周期MIPS CPU的控制部件实验
用有限状态机实现多周期CPU的控制部件
一.实验目的
1、了解MIPS—CPU控制器的功能和工作原理;
2、掌握用有限状态机技术实现多周期控制器的方法;
3、熟练掌握用Verilog HDL语言设计多周期控制器的方法;
4、熟练掌握对多周期控制器的仿真实验验证和硬件测试两种调试方法;
5、掌握向MIPS-CPU顶层数据通路中增加控制单元的方法,并通过仿真验证和硬件测试两种方法对电路进行故障定位的调试技术。
二.实验内容
(1)MIPS—CPU控制器的有限状态机设计,根据MIPS—CPU各种类型指令执行要求和有限状态机的设计原理,将多周期控制器的指令执行划分为多个状态,确定每一种指令的有限状态机,最后归纳为完整的多周期控制器有限状态机。
通过Verilog HDL语言实现多周期控制器有限状态机。
(2)根据MIPS—CPU控制器的接口要求,在有限状态机的基础上,用Verilog HDL实现完整的MIPS—CPU控制器的设计,并根据仿真波形,验证设计的正确性,并对出现的故障进行定位,修改程序,重新编译;
(3)设计控制器的硬件下载测试方案。
将编译通过的电路下载到实验台中。
根据硬件调试结果验证设计的正确性,并对出现的故障进行定位,修改程序重新编译;最终完成控制器的硬件电路设计;
(4)在MIPS—CPU指令系统的数据通路基础上,增加控制单元电路,并进行编译,仿真波形和调试。
根据仿真波形,验证设计的正确性,并对出现的故障进行定位,修改程序,重新编译;
(5)对增加了控制单元的顶层数据通路设计硬件下载测试方案。
将编译通过的电路下载到实验台中。
根据硬件调试结果验证设计的正确性,并对出现的故障进行定位,修改程序,重新编译;最终完成增加了控制单元的顶层数据通路设计。
三.实验原理与步骤
1.把指令执行分成多个阶段,每个阶段在一个时钟周期内完成
(1).时钟周期以最复杂阶段所花时间为准
(2).尽量分成大致相等的若干阶段
(3).每个阶段内最多只能完成:1次访存或1次寄存器堆读/写或1次ALU
2.每步都设置相应的存储元件,执行结果都在下个时钟开始保存到相应单元
3.认真阅读书上的控制部件代码后,将其按照电路图进行拆分,拆分为三个部件,并在顶层模块中连接线路。
四.实验源代码
D触发器源代码:
下一状态部件源代码:
输出函数部件源代码:
五.EDA阶段的实验结果(“编译”、“仿真”等)
仿真结果如上图。
六.测试时的电路总体结构及其说明多周期CPU控制部件的状态转移图
多周期CPU控制部件的电路结构图
实验电路图
七.测试计划(包括计划进行的系统测试、每一测试的测试过程、测试所需的测试数据、预期结果数据等)及其相关说明
下一状态函数的真值表
八.关于实验电路设计的其他说明
q值暂未进行输出。
九.前期实验总结
认真阅读书上的控制部件代码后,将其按照电路图进行拆分成三个部件,在此过程中,对控制部件进行了深入的了解,并且对Verilog语言也加强了不少。