欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    华北科技学院—《计算机组成原理》设计性实验报告.doc

    • 资源ID:2881910       资源大小:104.50KB        全文页数:13页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    华北科技学院—《计算机组成原理》设计性实验报告.doc

    华北科技学院计算机系设计性实验实 验 报 告 课程名称 计算机组成原理B 实验学期 2011 至 2012 学年 第 一 学期学生所在系部 计算机学院 年级 2011 专业班级 学生姓名 学号 任课教师 实验成绩 计算机系制实验报告须知1、 学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。2、 学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、内容、结果及分析等。3、 教师应该填写的内容包括:实验成绩、教师评价等。4、 教师根据本课程的实验指导中实验内容的要求,评定学生的设计性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。设计性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。5、 未尽事宜,请参考该课程的实验大纲和教学大纲。 计算机组成原理B课程设计性实验报告开课实验室:计算机组成原理实验室 2011 年11 月 9 日实验题目指令扩展实验一、实验目的深入了解教学计算机微程序控制器的组成和设计技术,包括Am2910器件的功能与具体用法,教学计算机的总体组成和部件之间的连接方法,总之应该深入理解控制器部件的组成、设计、控制与使用等诸项知识。二、设备与环境TEC-XP+教学机,微机一台,装有Windows XP、ISPLEVER、ispVM System等软件。三、实验内容在现有的基本指令系统上,扩展2条指令。四、实验步骤1、 扩展的2条指令的格式及功能写明2条指令的格式、功能、寻址方式、操作码编码、微程序步数、微程序入口地址。 格式 功能 寻址方式 操作码编码ADTW DR DR增2 寄存器寻址 10100001(A1)SWRM DR,SR DR与 SR 互换 寄存器间接寻址 11101001(E9) 微程序步数 微程序入口地址ADTW 2步 81SWRM 4步 86TEC-XP+教学计算机系统同时实现了微程序方案和组合逻辑方案的两种控制器,其总体组成如图2-5所示。从两种控制器的组成来看,都包括有程序计数器PC、指令寄存器IR、程序定序器Am2910以及MACH芯片四部分。PC是选用在运算器的通用寄存器组中的R5实现的,图中用虚线表示。IR是选用两片8位的寄存器电路实现的,还用到一片传送IR低位字节内容到内部总线IB的开关门电路。Am2910芯片用来确定微指令的执行次序。MACH芯片是一片有130多个输入输出管脚、由一万个门电路组成的CPLD器件,其内部的线路组成和实现的功能都比较复杂。2、 指令所对应的微程序指令入口地址下址CI3-0SCC3-0MVRI2-0I8-6I5-3B口A口SSTSSHSCIDC2DC1ADTW DR8100E0433080110030304330801100SWRM DR,SRA100E0430080000000E0441008003000E01730800000303002100000013、ABEL语言源程序编辑以及JED文件生成m256c.abl源程序修改过程(10步)以及生成JED文件的整个操作过程(1)定义指令操作码。(2)定义微址。(3)入口地址定义。(4)下址的定义。(5)定义条件判断。(6)定义MVR3位。(7)修改I08。(8)修改A,B口。(9)修改SST,SSH,SCI。(10)修改DC1,DC2。各个步骤所对应的操作如下所示,根据各个为上的数据,只需在对应的代码段进行增加的工作即可。程序部分代码:DC1=DC1_2,DC1_1,DC1_0;DC2=DC2_2,DC2_1,DC2_0;D=D7,D6,D5,D4,D3,D2,D1,D0;Y=Y7,Y6,Y5,Y4,Y3,Y2,Y1,Y0;NXTADDR=NXTADDR7,NXTADDR6,NXTADDR5,NXTADDR4,NXTADDR3,NXTADDR2,NXTADDR1,NXTADDR0;GALSCC=CI3,CI2,CI1,CI0,SCC3,SCC2,SCC1,SCC0;all=OUTER,SCI,SSH,I,SST,A,B,DC1,DC2; ADD=(IR=0,0,0,0,0,0,0,0); SUB=(IR=0,0,0,0,0,0,0,1); AND=(IR=0,0,0,0,0,0,1,0); OR=(IR=0,0,0,0,0,1,1,0);XOR_=(IR=0,0,0,0,0,1,0,0);CMP=(IR=0,0,0,0,0,0,1,1); TEST=(IR=0,0,0,0,0,1,0,1); MVRR=(IR=0,0,0,0,0,1,1,1); INC=(IR=0,0,0,0,1,0,0,1);DEC=(IR=0,0,0,0,1,0,0,0);SHL=(IR=0,0,0,0,1,0,1,0); SHR=(IR=0,0,0,0,1,0,1,1); JR=(IR=0,1,0,0,0,0,0,1); JRC=(IR=0,1,0,0,0,1,0,0); JRNC=(IR=0,1,0,0,0,1,0,1); JRZ= (IR=0,1,0,0,0,1,1,0); JRNZ=(IR=0,1,0,0,0,1,1,1); JMPA=(IR=1,0,0,0,0,0,0,0); LDRR=(IR=1,0,0,0,0,0,0,1);LDPC=(IR=1,0,0,0,1,0,0,1);STRR=(IR=1,0,0,0,0,0,1,1); IN_=(IR=1,0,0,0,0,0,1,0); OUT=(IR=1,0,0,0,0,1,1,0); PUSH=(IR=1,0,0,0,0,1,0,1); POP=(IR=1,0,0,0,0,1,1,1); PSHF=(IR=1,0,0,0,0,1,0,0); POPF=(IR=1,0,0,0,1,1,0,0); MVRD=(IR=1,0,0,0,1,0,0,0); CALA=(IR=1,1,0,0,1,1,1,0); RET=(IR=1,0,0,0,1,1,1,1);MA00 = (Y=0,0,0,0,0,0,0,0); MA01 = (Y=0,0,0,0,0,0,0,1);MA02 = (Y=0,0,0,0,0,0,1,0);MA03 = (Y=0,0,0,0,0,0,1,1);MA04 = (Y=0,0,0,0,0,1,0,0);MA05 = (Y=0,0,0,0,0,1,0,1);MA06 = (Y=0,0,0,0,0,1,1,0);MA07 = (Y=0,0,0,0,0,1,1,1);MA08 = (Y=0,0,0,0,1,0,0,0);MA09 = (Y=0,0,0,0,1,0,0,1);MA0A = (Y=0,0,0,0,1,0,1,0);MA0B = (Y=0,0,0,0,1,0,1,1);MA0C = (Y=0,0,0,0,1,1,0,0);MA0D = (Y=0,0,0,0,1,1,0,1);MA0E = (Y=0,0,0,0,1,1,1,0);MA0F = (Y=0,0,0,0,1,1,1,1);MA10 = (Y=0,0,0,1,0,0,0,0);MA11 = (Y=0,0,0,1,0,0,0,1);MA12 = (Y=0,0,0,1,0,0,1,0);MA13 = (Y=0,0,0,1,0,0,1,1);MA14 = (Y=0,0,0,1,0,1,0,0);MA15 = (Y=0,0,0,1,0,1,0,1);MA16 = (Y=0,0,0,1,0,1,1,0);MA17 = (Y=0,0,0,1,0,1,1,1);MA18 = (Y=0,0,0,1,1,0,0,0);MA19 = (Y=0,0,0,1,1,0,0,1);MA1A = (Y=0,0,0,1,1,0,1,0);MA1B = (Y=0,0,0,1,1,0,1,1);MA1C = (Y=0,0,0,1,1,1,0,0);MA1D = (Y=0,0,0,1,1,1,0,1);MA1E = (Y=0,0,0,1,1,1,1,0);MA1F = (Y=0,0,0,1,1,1,1,1);MA20 = (Y=0,0,1,0,0,0,0,0);MA21 = (Y=0,0,1,0,0,0,0,1);MA22 = (Y=0,0,1,0,0,0,1,0);MA23 = (Y=0,0,1,0,0,0,1,1);MA24 = (Y=0,0,1,0,0,1,0,0);MA30 = (Y=0,0,1,1,0,0,0,0);MA31 = (Y=0,0,1,1,0,0,0,1);MA89 = (Y=1,0,0,0,1,0,0,1);/* MA3A = (Y=0,0,1,1,1,0,1,0);MA3B = (Y=0,0,1,1,1,0,1,1);MA3C = (Y=0,0,1,1,1,1,0,0);MA3D = (Y=0,0,1,1,1,1,0,1);MA3E = (Y=0,0,1,1,1,1,1,0);MA3F = (Y=0,0,1,1,1,1,1,1);MA50 = (Y=0,1,0,1,0,0,0,0);MA51 = (Y=0,1,0,1,0,0,0,1);MA52 = (Y=0,1,0,1,0,0,1,0);MA53 = (Y=0,1,0,1,0,0,1,1);MA54 = (Y=0,1,0,1,0,1,0,0);MA55 = (Y=0,1,0,1,0,1,0,1);MA56 = (Y=0,1,0,1,0,1,1,0);MA57 = (Y=0,1,0,1,0,1,1,1);MA58 = (Y=0,1,0,1,1,0,0,0);MA59 = (Y=0,1,0,1,1,0,0,1);MA5A = (Y=0,1,0,1,1,0,1,0);MA5B = (Y=0,1,0,1,1,0,1,1);MA5C = (Y=0,1,0,1,1,1,0,0);MA5D = (Y=0,1,0,1,1,1,0,1);MA5E = (Y=0,1,0,1,1,1,1,0);MA5F = (Y=0,1,0,1,1,1,1,1);MA60 = (Y=0,1,1,0,0,0,0,0);MA61 = (Y=0,1,1,0,0,0,0,1);MA62 = (Y=0,1,1,0,0,0,1,0);MA63 = (Y=0,1,1,0,0,0,1,1);MA64 = (Y=0,1,1,0,0,1,0,0);MA65 = (Y=0,1,1,0,0,1,0,1);MA66 = (Y=0,1,1,0,0,1,1,0);MA67 = (Y=0,1,1,0,0,1,1,1);MA68 = (Y=0,1,1,0,1,0,0,0);MA69 = (Y=0,1,1,0,1,0,0,1);MA6A = (Y=0,1,1,0,1,0,1,0);EQUATIONSCK=CK1;SIGEXT = IR7&!IR15#!IR7& IR15;/*MAPROM 58C65*D0= !C_M&(!_MAP&(SUB#OR#CMP#MVRR#DEC#SHR#JR#PSHF#PUSH#POP#POPF#STRR#LDRR#LDPC#MVRD#CALA#RET)#NXTADDR0&!_PL)&!Bit8;D1= !C_M&(!_MAP&(AND#OR#TEST#MVRR#SHL#SHR#IN_#OUT#POP#POPF#LDRR#LDPC#JMPA#CALA#RET) #NXTADDR1&!_PL)&!Bit8;D2= !C_M&(!_MAP&(ADD#SUB#AND#OR#INC#DEC#SHL#SHR#PSHF#PUSH#POP#POPF#MVRD#JMPA#CALA)#NXTADDR2&!_PL)&!Bit8;D3= !C_M&(!_MAP&(XOR_#CMP#TEST#MVRR#INC#DEC#SHR#SHL#STRR#LDRR#LDPC#MVRD#JMPA#CALA)#NXTADDR3&!_PL)&!Bit8;D4= !C_M&(!_MAP&(JRC#JRNC#JRZ#JRNZ#JR#IN_#OUT#PSHF#PUSH#POP#POPF#STRR#LDRR#LDPC#MVRD#JMPA#CALA)#NXTADDR4&!_PL)&!Bit8;D5= !C_M&(!_MAP&(RET)#NXTADDR5&!_PL)&!Bit8;D6= !C_M&(!_MAP&(0)#NXTADDR6&!_PL)&!Bit8;D7= !C_M&(!_MAP&(0)#NXTADDR7&!_PL)&!Bit8;/*CMH AND NEXT ADDRESS*NXTADDR7:= 0;NXTADDR6:= 0;NXTADDR5:= !C_M&(MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA13#MA14#MA16#MA18#MA1A #MA1C#MA1E#MA22#MA24#MA30#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#MA63#MA66#MA68#MA69#MA6A)&!Bit8;NXTADDR4:= !C_M&(MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA12#MA13#MA14#MA15#MA16#MA17#MA1#MA1A#MA1C#MA1D#MA22#MA24#MA30#MA3F#MA50#MA51#MA52#MA53#MA54#MA55#MA56#MA57#MA58#MA59#MA5A#MA5C#MA5E#MA60#MA63#MA66#MA69#MA6A)&!Bit8;NXTADDR3:= !C_M&(MA15#MA17#MA1D#MA30#MA5C#MA5E#MA60)&!Bit8;NXTADDR2:= !C_M&(MA12#MA17#MA1D#MA1E#MA5C#MA5E)&!Bit8;NXTADDR1:= !C_M&(MA15#MA30#MA31#MA60#MA68)&!Bit8;NXTADDR0:= !C_M&(MA3F#MA68)&!Bit8;NXTADDR.CLK= CK;CI3:= !C_M&(MA00#MA01#MA02#MA19#MA1B#MA89#MA1F#MA20#MA21#MA23#MA89)&NRST&!Bit8;CI2:= !C_M&(MA00#MA01#MA02#MA19#MA1B#MA89#MA1F#MA20#MA21#MA23)&NRST&!Bit8;CI1:= !C_M&1&NRST&!Bit8;CI0 := !C_M&(MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA12#MA13#MA14#MA15#MA16#MA17#MA18#MA1A#MA1C#MA1D#MA1E#MA22#MA24#MA30#MA31)&NRST&!Bit8;SCC3:= !C_M&0&NRST&!Bit8;SCC2:= !C_M&(MA10#MA12#MA15#MA17#MA69)&NRST&!Bit8;SCC1:= !C_M&(MA12#MA15#MA17#MA30)&NRST&!Bit8;SCC0:= !C_M&(MA15#MA17)&NRST&!Bit8; GALSCC.CLK= CK;/* 16 bit !C_M*!_MIO00:=!(MA00#MA01#MA03#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA12#MA15#MA17#MA19#MA1B#MA89#MA1D#MA1E #MA21#MA23#MA30#MA31); REQ00 := (MA13#MA14);_WE00 :=(MA02#MA14#MA18#MA1C#MA20#MA24);I200 :=(MA0B#MA11#MA12#MA14#MA1A#MA1B#MA89#MA1C#MA20#MA24#MA30);I100 := (MA01#MA0C#MA0D#MA0E#MA0F#MA12#MA13#MA14#MA15#MA17#MA19#MA1C#MA1D #MA1E#MA1F#MA20#MA21#MA22#MA23#MA24#MA30#MA31);!I000 :=!(MA00#MA01#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0C#MA0D#MA0E#MA0F#MA11#MA12#MA13#MA14#MA15#MA17#MA19#MA1C#MA1D#MA1E#MA1F#MA20#MA21#MA23#MA24#MA30#MA31);I800 := (MA0E#MA0F);I700 :=(MA00#MA01#MA04#MA05#MA06#MA07#MA08#MA0B#MA0C#MA0D#MA0E#MA11#MA14#MA15#MA17#MA1C#MA1D#MA1E#MA1F#MA21#MA22#MA23#MA24#MA31);!I600 :=!(MA00#MA02#MA03#MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA10#MA11#MA12#MA13#MA14#MA15#MA16#MA18#MA19#MA1A#MA1B#MA89#MA1C#MA21#MA24); I500 :=(MA06#MA08#MA0A);I400 :=(MA07#MA08);I300 :=(MA00#MA05#MA07#MA09#MA0D#MA15#MA21);B30 = (MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA0C#MA0D#MA0E#MA0F#MA19#MA1C);B300 :=B30&IR7;B20 = (MA00#MA01#MA11#MA15#MA17#MA1D#MA1E#MA1F#MA21#MA22#MA23#MA24#MA31);B200 :=(!B30&B20 # B30&IR6);B10 = 0; B100 :=(!B30&B10 # B30&IR5); B00 = (MA00#MA01#MA11#MA1D#MA1E#MA1F#MA22#MA24#MA31);B000 :=(!B30&B00 # B30&IR4);A30 = (MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0B#MA1A#MA1B#MA89);A300 :=(A30&IR3);A20 = (MA00#MA01#MA11#MA17#MA1D#MA1E#MA1F#MA22#MA23#MA31);A200 :=(!A30&A20 # A30&IR2);A10 = 0;A100 :=(!A30&A10 # A30&IR1); A00 = (MA00#MA01#MA11#MA1D#MA1E#MA1F#MA22#MA31);A000 :=(!A30&A00 # A30&IR0);SST200:=(MA0E#MA0F);SST100:=(MA0E#MA18);SST000:=(MA04#MA05#MA06#MA07#MA08#MA09#MA0A#MA0C#MA0D#MA0F);SSH00 :=(0); SCI100:=(0); SCI000:=(MA00#MA01#MA05#MA09#MA0C#MA17#MA1D#MA1E#MA1F#MA23#MA31);DC2_200:=(MA00);DC2_100:=(MA00#MA01#MA12#MA15#MA17#MA19#MA1B#MA89#MA1D#MA1E#MA1F#MA21#MA23#MA31);DC2_000:=(MA00#MA01#MA02#MA12#MA15#MA17#MA19#MA1B#MA89#MA1D#MA1E#MA1F#MA21#MA23#MA31);DC1_200:= (MA01#MA31);DC1_100:= (MA01#MA11#MA12#MA16#MA30#MA31); DC1_000:= (MA13#MA16#MA1A#MA22#MA30); END4、MACH编程启动Lattice Semiconductor公司IspVM System软件,弹出主界面:(1) 连接好教学计算机上在线MACH编程电缆,打开教学计算机的电源。(2) 通过主界面的SCAN按钮找到在线编程器件。(3) 双击软件找到的设备LC4256v,通过Browse按钮选择已经编译好的JED文件,单击OK.(4) 重新回到主界面,点击GO命令进行编程,编程成功后关闭编程窗口。五、编程验证及结果分析根据实验的要求,我们小组做的是第二条和第四条指令的扩充工作,即ADTW(自增2运算)和SWRM(寄存器数据与存储器数据互换):以下是实验结果的截图:1.此图是ADTW实验的结果及程序截图:从图中我们可以清楚的看到寄存器R1成功的实现了自增2的运算,此次实验我们是先将R1寄存器中存入十六进制的数据1,然后通过小组扩充的指令,即ADTW指令实现寄存器的自增2的运算,在此验证程序中,以2002为地址的内存单元中的内容就是为了实现ADTW指令的功能的。从运行完后的寄存器的状态来看,R1由原来的1成功的变成了3,实现的自增2的运算,证明了实验的成功,同时也验证了理论的正确性。2.下面的两张图片是SWRM指令扩充后,验证程序及实验结果的截图:(1)此张截图验证了存储器中的内容确实进入了寄存器当中:大家由下图可知,该验证程序从一2000为抵制的内存单元中开始的,R1寄存器当中存储了数据5,R0寄存器当中存储了数据2100(就是要和寄存器R1进行交换的存储器的地址),以2004为地址的内存单元的指令就是为了实现前面扩充的指令SWRM,因为其编码即为A1,要交换的寄存器级存储器的地址存在于R0和R1当中所以指令格式为A110,我们在以2100为地址的存储器当中放入了数据9876,运行万的结果如下图所示可以清楚的看到R1寄存器当中的值已经变成9876即存储单元当中的内容,说明存储器当中的数据存入寄存器成功。(2)下面这张图片验证了存储器当中的数据也确实成功的进入了以2100为地址的存储器单元当中。如上图所示,当执行显示存储器单元命令D后,显示的2100单元存储的值为0005,即为在验证程序中R1寄存器当中存入的值。上面的两张图片足以验证SWRM该条指令扩充的正确性。教 师 评 价评定项目ABCD评定项目ABCD基本部件原理清楚操作熟练微指令设计合理解析完整微程序功能正确文字流畅验证程序运行正确报告规范其他:评价教师签名:年 月 日

    注意事项

    本文(华北科技学院—《计算机组成原理》设计性实验报告.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开