计算机组成原理实验报告材料1-单周期.doc

计算机组成原理实验报告材料1-单周期.doc

ID:56524011

大小:326.50 KB

页数:18页

时间:2020-06-27

计算机组成原理实验报告材料1-单周期.doc_第1页
计算机组成原理实验报告材料1-单周期.doc_第2页
计算机组成原理实验报告材料1-单周期.doc_第3页
计算机组成原理实验报告材料1-单周期.doc_第4页
计算机组成原理实验报告材料1-单周期.doc_第5页
资源描述:

《计算机组成原理实验报告材料1-单周期.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机组成原理实验报告单周期处理器开发Q:10649503642015.05.12文档目录:1、功能设计说明2、模块化和层次化设计说明3、具体模块定义4、测试代码及结果5、实验完成时间安排6、心得体会功能设计说明1.完成的指令集:a)add,sub,and,or,slt,lw,sw,beq和J指令。b)不支持溢出。2.处理器为单周期设计。3.功能模块统一采用书上201页的图4-24设计,信号控制采用书上的193页图4-12和200页图4-22的真值表进行化简。1、模块化和层次化设计说明2、具体模块定义数据通路:1)PC模块定义:(1)基本描述PC主要功能是完成输出当前指令地址。复位

2、后,PC指向0x0000_0000,此处为第一条指令的地址。(2)模块接口信号名方向描述[31:0]addressI输入的指令地址clkI时钟信号rstI复位信号[31:0]outO输出的指令地址(3)功能定义序号功能名称功能描述1复位rst=1时,将out置为0X0000_00002输出指令地址时钟信号到来时,将address赋给out2)NPC模块定义:(1)基本描述NPC主要功能是根据当前指令是否为beq指令,输出下一条指令的地址。该模块调用了MUX模块。(2)模块接口信号名方向描述[15:0]imaddrI指令的低16位zeroIALU计算结果:1表示当前两寄存器(rs,r

3、t)值相等;0表示不相等。brI是否为beq指令。1是0否[31:0]pcI输入当前指令地址[31:0]npcO输出下一条指令地址(3)功能定义序号功能名称功能描述1输出指令地址根据zero与br的值输出下一条指令的地址。3)ALU模块定义:(1)基本描述实现加、减、与、或、小于则赋1五种计算。(2)模块接口信号名方向描述[2:0]aluctrlIALU控制信号[31:0]AIrs寄存器的值[31:0]BIrt寄存器的值zeroOA-B=0,则zero=1;否则zero=0.[31:0]resultOAlu计算输出的结果。(3)功能定义序号功能名称功能描述1输出计算结果根据alu控

4、制信号,输出A与B的计算结果2输出zero若result=0则输出zero=1,否则输出zero=0。4)MUX模块定义:(1)基本描述实现32位和5位二选一数据选择器(2)模块接口信号名方向描述SIMUX控制信号[31:0]d0/[4:0]d0IMUX输入[31:0]d1/[4:0]d1IMUX输入[31:0]y/[4:0]yOMUX输出(3)功能定义序号功能名称功能描述1输出d0,或d1的值S为0,y=d0;S为1,y=d1.5)EXT模块定义:(1)基本描述将输入的16位地址按符号位扩展为32位。(2)模块接口信号名方向描述[15:0]addrinI输入的16位地址[31:0

5、]addroutO输出的32位地址(3)功能定义序号功能名称功能描述1输出扩展的32位地址.将addrin扩展为32位的addrout.6)regfile模块定义:(1)基本描述根据输入的两个寄存器地址,输出相应寄存器的值,根据寄存器写信号和寄存器地址,将输入的数据选择写入寄存器。(2)模块接口信号名方向描述clkI时钟信号[4:0]rreg1IRs寄存器地址[4:0]rreg2IRt寄存器地址[31:0]rdata1ORs寄存器值[31:0]rdata2ORt寄存器值regwI写寄存器信号[4:0]wregIRt写寄存器地址[31:0]wdataI写入寄存器的信号(3)功能定义序

6、号功能名称功能描述1读寄存器数据读rs、rt寄存器的数据2向寄存器写入数据根据写信号向寄存器选择写入数据7)im_4k模块定义:(1)基本描述指令存大小为4K,初始化从code.txt载入指令。根据输入的指令地址,输出当前位置存储的指令。(2)模块接口信号名方向描述[9:0]addrI指令地址[31:0]doutO指令(3)功能定义序号功能名称功能描述1载入指令初始化载入code.txt中的指令2输出指令根据输入的指令地址,输出当前指令8)dm_4k模块定义:(1)基本描述“数据存”大小为4K,根据输入的地址读出“数据存”中的数据,并根据数据写信号,将输入的数据选择写入“数据存”中

7、。(2)模块接口信号名方向描述clkI时钟信号[9:0]addrI数据地址[31:0]dinI写入的数据weI数据存写信号[31:0]doutO读出的数据(3)功能定义序号功能名称功能描述1读数据存数据根据输入的数据地址,读出数据存的数据,读出的数据不一定被使用,只有lw指令才会使用。2向数据存写入数据在时钟信号到来时,根据写数据信号,将输入的数据选择写入数据存中。9)Jump模块定义:(1)基本描述将输入的低26位指令左移两位,高四位加上pc+4的高4位,组成32位

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。