《高级计算机体系结构》实验
input [5:0] din; output [5:0] dout;
assign dout = (en)?din:6'bzzz_zzz; endmodule
(9)三态门(8 bit)模块
module tri8(en,din,dout); input en;
input [7:0] din; output [7:0] dout;
assign dout = (en)?din:8'bzzzz_zzzz; endmodule
2.CPU模块的Verilog实现
module cpu(clk,rst,data,read,addr,acout); input clk,rst; input [7:0] data; output read;
output [5:0] addr; output [7:0] acout; wire [7:0] bus; wire [5:0] pcout;
wire [7:0] drout,acout,aluout; wire [1:0] irout;
wire alusel,acload,acinc;
tri8 t0(membus,data,bus[7:0]); ar ar1(clk,arload,bus[5:0],addr);
pc pc1(clk,rst,pcload,pcinc,bus[5:0],pcout); tri6 t1(pcbus,pcout,bus[5:0]);
dr dr1(clk,drload,bus[7:0],drout); tri8 t2(drbus,drout,bus[7:0]);
alu alu1(alusel,acout,bus[7:0],aluout); ac ac1(clk,rst,acload,acinc,aluout,acout); ir ir1(clk,irload,bus[7:6],irout); control c1(clk,rst,bus[7:6], read,membus, arload,
pcload,pcinc,pcbus, drload,drbus, alusel,
acload,acinc, irload); endmodule
《高级计算机体系结构》实验
3.Inst Mem模块的实现(用Altera的宏)
4.Data Mem模块的实现(用Altera的宏)
5.顶层模块(系统:CPU+指令Mem+数据Mem)用Schematic实现
6.引脚配置(要求引出。。。。)及测试数据
Clk信号,复位信号
7.测试
在quartus中,将cpu.v文件设置为顶层文件。然后生成cpu和memery器件,建立一个block模板,在里面讲cpu和memery连接好,并配上相应的输入输出信号。接着,编译工程。然后建立一个wave文件,进行模拟仿真。最后连接实验箱,进行仿真。
一. 思考题
1、单周期CPU的控制器设计与实验1中控制器设计有何异同。
《高级计算机体系结构》实验 实验2 单周期MIPS处理器设计
一、实验目的
设计实现是指令简单,容易译码的单周期MIPS处理器,设计实现单周期的MIPS处理器,熟悉并掌握指令结构,利用verilog编写各个子模块。 二、实验原理
1、MIPS的简单介绍
MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。MIPS技术公司是美国著名的芯片设计公司,它采用精简指令系统计算结构(RISC)来设计芯片。和英特尔采用的复杂指令系统计算结构(CISC)相比,。RISC具有设计更简单、设计周期更短等优点,并可以应用更多先进的技术,开发更快的下一代处理器。MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。 2、单周期MIPS设计
单周期MIPS处理器的概念设计如图1所示:
图1 单周期MIPS处理器的结构 3、 指令集
本实验共有9条指令,每一条MIPS指令是一个32位的。MIPS指令集中共包括三种格式的指令,分别是立即数(immediate)类型(I类型)指令,跳转(jump)类型(J类型)指令和寄存器(register)类型(R类型)指令。指令集的这种设计方法简化了指令译码,一些复杂的很多使用的操作和寻址方式可以通过编译器利用一组简单指令来合成。MIPS的指令格式如下所示:
(1)R类型指令
《高级计算机体系结构》实验
31 26 25 21 20 16 15 11 10 6 5 0 op rs rt rd shamt func 6-bit 5-bit 5-bit 5-bit 5-bit 6-bit (2)I类型指令
31 26 25 21 20 16 15 0 op rs rt immediate 6-bit 5-bit 5-bit 16-bit (3)J类型指令
31 26 25 0 op Target address 6-bit 26-bit
指令格式中的op(opcode)是指令操作码。rs(register source)是源操作数的寄存器号。rd(register destination)是目的寄存器号。rt(register target)既可为源寄存器号,又可为目的寄存器号,由具体的指令决定。func(function)被认为是操作码。shamt(shift amount)由移位指令使用,定义移位位数。immediate是16位立即数,使用之前由指令进行O扩展或符号扩展。26位Target address由jump指令使用,用于产生跳转的目标地址。
R(register)类型的指令从寄存器堆中读取两个源操作数,计算结果写回寄存器堆。
I(immediate)类型的指令使用一个16位的立即数作为一个源操作数。J(jump)类型的指令使用一个26位立即数作为跳转的目标地址(target address)。
MIPS指令集具有以下特点。①简单的LOAD/STORE结构。②IPS指令集的指令格式非常规整,所有的指令均为32位,而且指令操作码在固定的位置上。③易于编译器的开发。一般地讲,编译器在编译高级语言程序时,很难用到复杂的指令。MIPS指令的寻址方式非常简单,每条指令的操作也非常简单。 MIPS具体的指令结构:
表1 指令结构
Instruction bit number add sub and or slt lw sw beq j 31..26 000000 000000 000000 000000 000000 100011 101011 000100 000010 25..21 rs rs rs rs rs rs rs rs 20..16 rt rt rt rt rt rt rt rt Address 15..11 rd rd rd rd rd 10..6 00000 00000 00000 00000 00000 immediate immediate immediate 5..0 100000 100010 100100 100101 101010 4、单周期MIPS处理器结构 每条指令1个时钟周期内完成。
相关推荐: