计算机组成原理实习报告.doc

上传人:仙人指路1688 文档编号:2882300 上传时间:2023-03-01 格式:DOC 页数:16 大小:83KB
返回 下载 相关 举报
计算机组成原理实习报告.doc_第1页
第1页 / 共16页
计算机组成原理实习报告.doc_第2页
第2页 / 共16页
计算机组成原理实习报告.doc_第3页
第3页 / 共16页
计算机组成原理实习报告.doc_第4页
第4页 / 共16页
计算机组成原理实习报告.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《计算机组成原理实习报告.doc》由会员分享,可在线阅读,更多相关《计算机组成原理实习报告.doc(16页珍藏版)》请在三一办公上搜索。

1、 计算机类课程实习报告课程名称:计算机组成原理实习题目:简单模型机设计姓 名:系:计算机专 业:计算机科学与技术年 级:学 号:指导教师: 职 称:讲师2010年 06月 25日 课程实习报告结果评定评语:能够参加课程实习,认真完成任务(20分)实习报告格式符合要求,内容完整(20分)流程图、电路图正确,文字叙述正确(25分)对所学知识的理解程度及分析问题的能力(35分)成绩:指导教师签字:评定日期:2010.7.3目 录1实习的目的和任务42实习要求43实习地点44主要仪器设备(实验用的软硬件环境)45实习内容45.1编写程序45.2连接试验线路55.3写程序86问题讨论与分析97结束语16

2、参考文献16简单模型机设计1. 实习的目的和任务计算机组成原理是一门理论性和实践性非常强的课程,学生仅仅通过课堂教学来获取理论知识是远远不够的,必须加强实践教学,通过亲自动手,巩固课堂知识、提高综合运用所学的理论知识和方法独立分析和解决问题的能力,并从成功和失败的体验中得到锻炼,才能够掌握和运用所学到的理论知识来解决实际问题,达到学以致用的目的。除此之外,计算机组成原理课程实习为学生提供了一次学习综合运用所学知识去解决实际问题的锻炼。 计算机组成原理课程实习是学生学习计算机组成原理课程期间的一个重要教学环节。通过实习总结计算机组成原理课程的学习内容:层次化设计方法、多路开关,逻辑运算部件,微程

3、序控制的运算器设计、微程序控制的存储器设计、简单计算机的设计等内容。为将来从事专业工作打下基础,培养良好的职业道德和严谨的工作作风。2. 实习要求了解并掌握计算机组成原理设计的一般方法,具备初步的独立分析和设计能力; 通过该课程设计的学习,总结计算机组成原理课程的学习内容,层次化设计方法、多路开关,逻辑运算部件,微程序控制的运算器设计、微程序控制的存储器设计、简单计算机的设计。提高综合运用所学的理论知识和方法独立分析和解决问题的能力。3. 实习地点 田家炳C404硬件实验室4. 主要仪器设备(实验用的软硬件环境)ZYE1603B计算机组成原理实验仪一台;PC机一台; ZYE1603B计算机组成

4、原理实验仪联机软件。5. 实习原理在第一部分的单元实验中,所有的控制信号是人为用SWITCH单元产生的,但是在实际的CPU中,所有的控制信号都是由CPU自动产生的。所以在本次实验中我们用微程序来控制,自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。通过微程序控制自动产生各部件单元控制信号,实现特定指令的功能。微程序控制器控制计算机的数据通路,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期由微指令的序列来完成,即一条机

5、器指令对应一条微程序。本次采用五条机器指令,它们是IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下:助计词机器指令码说明IN0000 0000“INPUT DEVICE”中的开关状态 ROADD addr0001 0000xxxxxxxxRO+addr ROSTA addr 0010 0000xxxxxxxxROaddrOUT addr 0011 0000xxxxxxxxaddr BUSJMP addr0100 0000xxxxxxxxaddr PC 其中IN 为单字长(8位),其余为双字长指令,XXXXXXXX为addr对应的二进制码。

6、为了向RAM中装入程序和数据,检查写如是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。它们是存储器读操作(KRD)、存储器写操作(KWE)和启动程序。这三条控制台指令用两个开关SWB、SWA的状态来设置。本实验设计了五条机器指令,其指令格式如下:助记符 机器指令码 说明IN 00000000 ;输入,“INPUT”设备中的开关状 态R0ADD addr00010000 XXXXXXXX ;二进制加法,R0addrR0STA addr00100000 XXXXXXXX ;存数,R0addrOUT addr 00110000 XXXXXXXX ;输出,addrBUSJMP addr 0

7、1000000 XXXXXXXX ;无条件转移,addrPC机器指令码的前4位为操作码。其中IN为单字长,其余为双字长指令,XXXXXXXX为addr对应的二进制地址码。为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。存储器读操作(READ):拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START微动开关,可对RAM连续手动读操作。存储器写操作(WRITE):拨动总清开关CLR后,控制台开关SWB、SWA设置为“01”时,按START微动开关可对RAM进行连续手动写入。启动程序(RUN):拨动总清开关CLR后,控制台开关SWB

8、、SWA设置为“11”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下:SWBSWA控制台命令00读内存(READ)01写内存(WRITE)11启动程序运行(RUN)根据以上要求设计数据通路框图,如图5-1。微代码定义如表5-1所示。根据以上要求设计数据通路框图,如图5-1。微代码定义如表5-1所示。图5-l 数据通路框图表5-1 基本模型机微指令结构图微程序242322212019181716151413121110987654321控制信号S3S2S1S0MCNRDM17M16ABPuA5uA4uA

9、3uA2uA1uA0A字段B字段P字段151413控制信号121110控制信号987控制信号000000000001LDRI001RS_G001P1010LDDR1010010011LDDR2011011100LDIR100100P4101LOAD101ALU_G101110LDAR110PC_G110LDPC系统涉及到的微程序流程见图6-2,当拟定“取指令”微指令时,该微指令的判别测试字段为P1测试。由于“取指令”微指令是所有微程序都使用的公用微指令,因此P1的测试结果出现多路分支。本机用指令寄存器的高4位(I7I4操作码)作为测试条件,出现5路分支,占用5个固定微地址单元。控制台操作为P4

10、测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用一个微地址单元随意填写。当全部微程序设计完毕后,应将每条微指令代码化,表6-2即为将图6-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。图5-2 微程序流程图表5-2 二进制代码表本系统有两种外部I/O设备,一种是二进制数码开关,作为输入设备(INPUT);另一种是两位十六进制数LED数码管,作为输出设备(OUTPUT UNIT)。在输入时,二进制开关数据直接经过三态门送到总线上。只要开关状态不变,输入的信息也不变。输出时,将输出数据送到

11、数据总线上,当写信号(WE)有效时,将数据打入输出锁存器,驱动数码块显示。6.实习内容6.1.根据该模型机的指令系统,编写一段程序本程序从输入设备(数码开关)读入数据,与0A单元的数据相加,然后送到输出设备(LED数码管)进行显示。本程序不断地循环运行,在运行中可改变输入开关(INPUT)的值,观察输出显示的变化。设计机器指令程序如下(机器码和地址为十六进制数据)。地 址 内 容 助记符 说 明00 00 IN ;输入开关数据R0,采集数据01 10 ADD 0AH ;R00AHR0,输入数据与指定数据相加02 0A ;地址03 20 STA 0BH ;R00B04 0B ;地址05 30 O

12、UT 0BH ;0BH BUS,输出显示06 0B ;地址07 40 JMP 00H ;00HPC08 00 ;跳转地址0A 01 ;加数,可自定0B ;求和结果保存在0B单元6.2.连接实验线路按图5-3连接实验线路6.3.手动写入(1)先将机器指令对应的微代码正确地写入28C16中,由于在实验1.7微程序控制器的组成与微程序设计实验中已将微代码写入E2PR0M芯片中,对照表2-5校验正确后就可使用。(2)使用控制台WRITE和READ微程序进行机器指令程序的装入和检查,其操作如下:A使SIGNAL UNIT单元的SP03为“STEP”状态,SP04为“RUN”状态,CONTROLUNIT的

13、开关SP05处于“NORM”状态,开关SP06处于“RUN” 状态。B拨动开关单元的总清开关CLR(101),微地址寄存器清零,程序计数器清零。然后使开关单元的SWB、SWA开关设置为“01”,使它变为写内存状态,按动一次控制台单元的触动开关START,就写入一个数据,微地址21中将PC存入AR,然后PC+1,微地址显示灯显示“010001”;再按动一次START,再写入数据,微地址24中,将SWBUS,然后BUS再存入DR1,微地址灯显示“010100”,此时数据开关的内容(输入单元)置为要写入的机器指令的内容;按动两次START键后,即完成该条指令的写入。若仔细阅读WRITE的流程,就不难

14、发现,机器指令的首地址总清后为零,以后每个循环PC会自动加1。所以,每次按动START,只有在微地址灯显示“010100”时,才设置内容,直到所有机器指令写完。图5-3 基本模型机实验接线图C校验。拨动SWITCH单元的总清开关CLR(101),微地址清零。PC程序计数器清零,然后使SWITCH单元的开关SWB、SWA为“00”,则此时为读内存状态,按动CONTROL UNIT的触动开关START,为读数据一次,将PC送入AR,然后PC自动加1,微地址灯将显示“010000”;再按START,就再读一次数据,将RAMBUS,然后BUSDR1,微地址灯显示为“010010”;第三次按START,

15、为读数据,将DR1LED,微地址灯显示为“010111”;再按START后,此时OUTPUT单元的数码管显示为该首地址中的内容。不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。每次在微地址灯显示为“010000”时,是将当前地址中的机器指令写入到输出设备中显示。6.4.手动运行程序(1)单步运行程序A使CONTROL UNIT的开关SP05处于“NORM”状态, SP06处于“RUN”状态,SIGNAL UNIT中的SP03为“STEP”状态,SP04为“RUN”状态,SWITCH单元的开关SWB、SWA为“11”,即为启动程序运行状态。B拨动SWITCH单元的总清开关CL

16、R(101),微地址清零,程序计数器清零,程序首址为00H。C单步运行微指令,每按动一次CONTROL UNIT的START触动开关,即单步运行一条微指令。对照微程序流程图2-2,观察微地址显示灯MA5-MA0是否和流程一致。D当运行结束后,可检查运行结果是否和理论值一致。如果运行结果保存在RAM的某一个单元中,则可以使用手动写入中的校验方法将其读出。数据传输过程:程序一PC=01 PC AR (AR=00) ARM 再MIR (M=00) 发出控制信号 INPUT D5R0PC=02 PC AR (AR=01) ARM 再MIR (M=20)发出控制信号PC=03 PC AR (AR=02)

17、 变址 MAR=08 再将保持在R0的值D5调到M。 PC=04 PC AR (AR=03) ARM M=30IR 发出控制信号PC=05 PC AR (AR=04) 变址 MAR=08 M=FF 传递到DR1 ALUINPUTPC=06 PC AR (AR=05) ARM M=40IRPC=07 PC AR (AR=06) M=00PC (PC值返回00)(2)连续运行程序A使CONTROL UNIT的开关SP05处于“NORM”状态, SP06处于“RUN”状态,SIGNAL UNIT中的SP03为“RUN”状态,SP04为“RUN”状态,SWITCH单元的开关SWB、SWA为“11”。B

18、拨动SWITCH单元的总清开关CLR(101),微地址及程序计数器清零,然后按动CONTROL UNIT的START触动开关,系统连续运行程序,稍后将SIGNAL UNIT中的SP04拨至“STOP”时,系统停机。C停机后,可检查运行结果是否正确。如果运行结果保存在RAM的某一个单元中,则可以使用手动写入中的校验方法将其读出。数据传输过程:程序二PC=01 PC AR (AR=00) ARM 再MIR (M=00) 发出控制信 号 INPUT D5R0PC=02 PC AR (AR=01) ARM 再MIR (M=10)发出控制信号PC=03 PC AR (AR=02) 变址 MAR=OA 再

19、将内存中01传递到DR2 再把R0中的D5送到DR1。 最后输出结果再送到R0 (ALUR0)PC=04 PC AR (AR=03) ARM M=20IRPC=05 PC AR (AR=04) 变址 MAR=0B 再将保持在R0的值FF调到M。 PC=06 PC AR (AR=05) ARM M=30IR=30PC=07 PC AR (AR=06) M=08AR 然后再将M=FFDR1. 通过ALUINPUT=FFPC=08 PC AR (AR=07) ARM M=40IRPC=09 PC AR (AR=08) M=00PC (PC值返回00)参考程序一的机器指令:$P0000 $P0120$

20、P0208 $P0330 $P0408 $P0540$P0600参考程序二的机器指令:$P0000 $P0110$P020A $P0320$P040B $P0530$P060B $P0740$P0800 $P0A01微程序(以上两程序公用):$M00018110 $M0101ED82 $M0200C048$M0300E004 $M0400B005 $M0501A206$M06959A01 $M0700E00D $M08001001$M0901ED83 $M0A01ED87 $M0B01ED8E$M0C01ED96 $M0D028201 $M0E00E00F$M0F00A015 $M1001ED

21、92 $M1101ED94$M1200A017 $M13018001 $M14002018$M15070A01 $M1600D181 $M17070A10$M18068A117. 问题讨论与分析 对机器指令程序的装入和检查:将控制单元中的各开关置于规定状态,CLR(1-0-1),微地址寄存器、程序计数器清零,调整各开关状态,写入指令。CPU把程序计数器PC中第N条指令所在存储单元的地址通过地址总线送到存储器中的地址译码器,选中第N个存储单元;再CPU通过控制总线向存储器发出读取数据的控制信号,存储器中被选中的存储单元的内容通过数据总线送到指令寄存器中;CPU对该内容进行译码、分析指令将执行哪类

22、操作。然后在之后的循环中,程序计数器自动加1。 CPU根据译码结果发出完成此指令所需的控制信号,如果需要从存储器中取操作数,则CPU通过地址总线发出存放操作数的存储单元地址,并通过控制总线发出读取数据的控制信号,然后通过数据总线读取操作数。执行指令所规定的操作,程序计数器PC自动加1,又进入下一条(第N+1条)指令的取指令过程。计算机不断地取出指令、分析指令、执行指令,直到程序中的所有指令操作完毕。8. 结束语这学期我们学习了计算机组成原理这门课,通过这门课程的学习,说实话,不是每一个都学到了,但是让我对计算机的基本结构,基本组成与结构原理有了更加深入的了解。这门课程是本专业重要的基础课,起了

23、很大的作用,这个实验也是。初看这个试验很吃力,觉得它所涉及的东西比较枯燥乏味,不是很直观。但是在模拟机联机模拟上,可以很容易的演示出来,让整个试验更加容易理解,更加直观。对于计算机的基本结构,基本组成与结构原理,各功能部件在整机中的作用以及所要完成的任务,程序和数据在计算机中是如何存储的以及指令在计算机中的执行过程,计算机与外部设备之间的接口技术与原理和计算机外部设备的基本结构与工作原理等这些课程内容基本上还是有了深一点的掌握,并能比较好的理解。本次试验中,在微程序的调试中花费不少时间,在通过模拟机上观察操作流向来检查错误的收获比较大,模拟机能够较精确的看出自己出错的地方,通过对程序进行多次调试修改以及老师的帮助下得到正确的结果,有很大的收获。虽然在第二个程序中不能成功的调试出来,但是还是看了别人的成果,还是有点收获的。参考文献1 计算机组成与结构,李文兵编著,清华大学出版社,2000,第1版.2 计算机组成原理实验指导,张旭玲编著.3 计算机组成原理:解题、题库、实验,王诚编著,清华大学出版社,2001,第3版.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号