第一范文网 - 专业文章范例文档资料分享平台

CPU计算机组成原理实验报告

来源:用户分享 时间:2025/11/28 19:56:06 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

计算机组成与系统结构实验报告

CPU设计与实现

院(系):

专业班级:组 员:

指导教师:

计算机科学与技术

实验目的:

设计实现CPU部件。

实验仪器:

PC机(安装Altebra 公司的开发软件 QuartusII,Modelsim)两台

TEC-CA计算机组成原理试验箱

实验过程:

一、理论设计 1.1、设计指令集

设计CPU第一步,就是根据需求,确定功能,并且设计出指令集。指令集包括每一条指令的编码方式,操作码以及每一条指令实现的功能。考虑到第一次设计CPU,在指令集设计过程中难免会出现考虑不周全或者指令集设计不科学的问题,我们借鉴了经典的31条MIPS指令集。在对指令集每一条指令进行解读、分析后,我们确定:31条MIPS指令可以满足我们的CPU的基本功能。下面将31条MIPS指令的编码格式、对应的操作类型以表格的形式列举出来:

MIPS 指令集(共31条) 助记符 Bit 31..25..# 26 21 R-tyop rs pe 0000add rs 00 add0000rs u 00 sub 0000rs 00 指令格式 示例 示例含义 操作及其解释 sub0000rs u 00 and 0000rs 00 0000or rs 00 0000rs 00 xor 20..15..10.. 5..0 16 11 6 sha rt rd func mt rd <- rs + rt ;其中0001000 add rt rd $1=$2+$3 rs=$2,rt=$3, rd=$1 00 00 $1,$2,$3 rd <- rs + rt ;其中0001000 addu rt=$3, rd=$1,rt rd $1=$2+$3 rs=$2,00 01 $1,$2,$3 无符号数 rd <- rs - rt ;其中0001000 sub rt rd $1=$2-$3 rs=$2,rt=$3, rd=$1 00 10 $1,$2,$3 rd <- rs - rt ;其中0001000 subu rt=$3, rd=$1,rt rd $1=$2-$3 rs=$2,00 11 $1,$2,$3 无符号数 0001001 and $1=$2 & $ rd <- rs & rt ;其中rt rd rs=$2,rt=$3, rd=$1 00 00 $1,$2,$3 3 0001001 or $1=$2 | $ rd <- rs | rt ;其中rt rd rs=$2,rt=$3, rd=$1 00 01 $1,$2,$3 3 rd <- rs xor rt ;其0001001 xor $1=$2 ^ $中rs=$2,rt=$3, rt rd 00 10 $1,$2,$3 3 rd=$1(异或)

0000nor rs 00 0000rs 00 rt slt rt sltu 0000rs 00 rt sll 0000000rt 00 00 srl 0000000rt 00 00 0000000rt 00 00 0000rs 00 0000rs 00 sra sllv rt srlv rt 0000srav rs 00 rt jr 0000000rs 00 00 rt rt rd <- not(rs | rt) ;0001001 nor $1=~($2 |其中rs=$2,rt=$3, rd 00 11 $1,$2,$3 $3) rd=$1(或非) if (rs < rt) if($2<$3) rd=1 else rd=0 ;其0001010 slt rd $1=1 else 中rs=$2,rt=$3, 00 10 $1,$2,$3 $1=0 rd=$1 if (rs < rt) if($2<$3) rd=1 else rd=0 ;其0001010 sltu rd $1=1 else 中rs=$2,rt=$3, 00 11 $1,$2,$3 $1=0 rd=$1 (无符号数) rd <- rt << shamt ;shamt存放移位的位sha0000 sll $1=$2<<数, rd 也就是指令中的立mt 00 $1,$2,10 10 即数,其中rt=$2, rd=$1 rd <- rt >> shamt ;sha0000 srl $1=$2>>(logical) ,其中rt=$2, rd mt 10 $1,$2,10 10 rd=$1 rd <- rt >> shamt ;sha0000 sra $1=$2>>(arithmetic) 注意符号rd 位保留 mt 11 $1,$2,10 10 其中rt=$2, rd=$1 rd <- rt << rs ;其0000001 sllv $1=$2<<中rs=$3,rt=$2, rd 00 00 $1,$2,$3 $3 rd=$1 rd <- rt >> rs ;0000001 srlv $1=$2>>(logical)其中rs=$3,rd 00 10 $1,$2,$3 $3 rt=$2, rd=$1 rd <- rt >> rs ;(arithmetic) 注意符号0000001 srav $1=$2>>位保留 rd 00 11 $1,$2,$3 $3 其中rs=$3,rt=$2, rd=$1 0000000010 jr $31 goto $31 PC <- rs 00 00 00 immediate I-tyop rs pe 0010addi rs 00 rt <- rs + addi $1,$ $1=$2+10immediate (sign-extend)immedi2,100 0 ate ;其中

addi0010rs u 01 rt immediate 0011andi rs 00 rt immediate ori 0011rs 01 rt immediate xori 0011rs 10 rt immediate lui 0011000rt 11 00 immediate lw 1000rs 11 1010rs 11 rt immediate sw rt immediate beq 0001rs 00 rt immediate bne 0001rs 01 rt immediate slti 0010rs 10 rt immediate rt=$1,rs=$2 rt <- rs + addiu $1,$ $1=$2+10(zero-extend)immediate ;其中2,100 0 rt=$1,rs=$2 rt <- rs & andi $1,$ $1=$2 & (zero-extend)immediate ;其中2,10 10 rt=$1,rs=$2 rt <- rs | andi $1,$ $1=$2 | (zero-extend)immediate ;其中2,10 10 rt=$1,rs=$2 rt <- rs xor andi $1,$ $1=$2 ^ (zero-extend)immediate ;其中2,10 10 rt=$1,rs=$2 rt <- immediate*65536 ; $1=100*6将16位立即数放到目 lui $1,100 标寄存器高16 5536 位,目标寄存器的 低16位填0 $1=memo rt <- memory[rs + lw $1,10(ry[$2 (sign-extend)immedi$2) ate] ;rt=$1,rs=$2 +10] memory[rs + memory[$ sw $1,10((sign-extend)immedi2+10] ate] <- rt ;$2) =$1 rt=$1,rs=$2 if($1==$2 if (rs == rt) PC <- beq $1,$2) PC+4 + ,10 goto PC+4(sign-extend)immedi+40 ate<<2 if (rs != rt) PC <- if($1!=$2) bne $1,$2PC+4 + goto PC+4,10 (sign-extend)immedi+40 ate<<2 if (rs if($2<10) <(sign-extend)imme slti $1=1 else diate) $1,$2,10 rt=1 else rt=0 ; $1=0 其中rs=$2,rt=$1

搜索更多关于: CPU计算机组成原理实验报告 的文档
CPU计算机组成原理实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c833er3v9150vngl59en9_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top