计算机组成原理课程实习-简单模型机设计_第1页
计算机组成原理课程实习-简单模型机设计_第2页
计算机组成原理课程实习-简单模型机设计_第3页
计算机组成原理课程实习-简单模型机设计_第4页
计算机组成原理课程实习-简单模型机设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE福建农林大学计算机与信息学院计算机类课程实习报告课程名称:计算机组成原理实习题目:简单模型机设计姓名:系:计算机专业:计算机科学与技术年级:09级学号:指导教师:职称:2011年6月26日福建农林大学计算机与信息学院计算机类课程实习报告结果评定评语:能够参加课程实习,认真完成任务(20分)实习报告格式符合要求,内容完整(20分)流程图、电路图正确,文字叙述正确(25分)对所学知识的理解程度及分析问题的能力(35分)成绩:指导教师签字:评定日期:2010.7.32-目录1.实习的目的和任务………………12.实习要求…………13.实习地点…………14.主要仪器设备……………………15.实习原理…………16.实习内容…………66.1编写程序………………………66.2连接试验线路…………………76.3写程序…………76.4运行程序………………………107.问题讨论与分析…………………118.结束语……………119.参考文献…………12简单模型机设计实习的目的和任务《计算机组成原理》是一门理论性和实践性非常强的课程,学生仅仅通过课堂教学来获取理论知识是远远不够的,必须加强实践教学,通过亲自动手,巩固课堂知识、提高综合运用所学的理论知识和方法独立分析和解决问题的能力,并从成功和失败的体验中得到锻炼,才能够掌握和运用所学到的理论知识来解决实际问题,达到学以致用的目的。除此之外,《计算机组成原理课程实习》为学生提供了一次学习综合运用所学知识去解决实际问题的锻炼。

《计算机组成原理课程实习》是学生学习《计算机组成原理》课程期间的一个重要教学环节。通过实习总结计算机组成原理课程的学习内容:层次化设计方法、多路开关,逻辑运算部件,微程序控制的运算器设计、微程序控制的存储器设计、简单计算机的设计等内容。为将来从事专业工作打下基础,培养良好的职业道德和严谨的工作作风。实习要求了解并掌握计算机组成原理设计的一般方法,具备初步的独立分析和设计能力;通过该课程设计的学习,总结计算机组成原理课程的学习内容,层次化设计方法、多路开关,逻辑运算部件,微程序控制的运算器设计、微程序控制的存储器设计、简单计算机的设计。提高综合运用所学的理论知识和方法独立分析和解决问题的能力。实习地点田家炳C404硬件实验室主要仪器设备(实验用的软硬件环境)ZYE1603B计算机组成原理实验仪一台PC机一台ZYE1603B计算机组成原理实验仪联机软件实习原理在第一部分的单元实验中,所有的控制信号是人为用SWITCH单元产生的,但是在实际的CPU中,所有的控制信号都是由CPU自动产生的。所以在本次实验中我们用微程序来控制,自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。本实验设计了五条机器指令,其指令格式如下:助记符

机器指令码

说明IN

00000000

;输入,“INPUT”设备中的开关状态→R0ADDaddr

00010000XXXXXXXX

;二进制加法,R0+[addr]→R0STAaddr

00100000XXXXXXXX

;存数,R0→[addr]OUTaddr

00110000XXXXXXXX

;输出,[addr]→BUSJMPaddr

01000000XXXXXXXX

;无条件转移,addr→PC机器指令码的前4位为操作码。其中IN为单字长,其余为双字长指令,XXXXXXXX为addr对应的二进制地址码。为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。存储器读操作(READ):拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START微动开关,可对RAM连续手动读操作。存储器写操作(WRITE):拨动总清开关CLR后,控制台开关SWB、SWA设置为“01”时,按START微动开关可对RAM进行连续手动写入。启动程序(RUN):拨动总清开关CLR后,控制台开关SWB、SWA设置为“11”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下:SWBSWA控制台命令00读内存(READ)01写内存(WRITE)11启动程序运行(RUN)根据以上要求设计数据通路框图,如图6-1。微代码定义如表6-1所示。图6-l

数据通路框图表6-1

基本模型机微指令结构图微程序控制信

A字段B字段P字段151413控制信号121110控制信号987控制信号000

000

000

001LDRI001RS_G001P1010LDDR1010

010

011LDDR2011

011

100LDIR100

100P4101LOAD101ALU_G101

110LDAR110PC_G110LDPC系统涉及到的微程序流程见图6-2,当拟定“取指令”微指令时,该微指令的判别测试字段为P1测试。由于“取指令”微指令是所有微程序都使用的公用微指令,因此P1的测试结果出现多路分支。本机用指令寄存器的高4位(I7—I4操作码)作为测试条件,出现5路分支,占用5个固定微地址单元。控制台操作为P4测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用一个微地址单元随意填写。当全部微程序设计完毕后,应将每条微指令代码化,表6-2即为将图6-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。图6-2

微程序流程图表6-2

二进制代码表本系统有两种外部I/O设备,一种是二进制数码开关,作为输入设备(INPUT);另一种是两位十六进制数LED数码管,作为输出设备(OUTPUTUNIT)。在输入时,二进制开关数据直接经过三态门送到总线上。只要开关状态不变,输入的信息也不变。输出时,将输出数据送到数据总线上,当写信号(WE)有效时,将数据打入输出锁存器,驱动数码块显示。6.实习内容6.1编写程序根据该模型机的指令系统,编写一段程序。本程序从输入设备(数码开关)读入数据,与0A单元的数据相加,然后送到输出设备(LED数码管)进行显示。本程序不断地循环运行,在运行中可改变输入开关(INPUT)的值,观察输出显示的变化。设计机器指令程序如下(机器码和地址为十六进制数据)。地址

内容

助记符

说明00

00

IN

;输入开关数据→R0,采集数据01

10

ADD[0AH]

;R0+[0AH]→R0,输入数据与指定数据相加02

0A

;地址03

20

STA[0BH]

;R0→[0B]04

0B

;地址05

30

OUT[0BH]

;[0BH]→BUS,输出显示06

0B

;地址07

40

JMP[00H]

;00H→PC08

00

;跳转地址0A

01

;加数,可自定0B

;求和结果保存在0B单元6.2连接试验线路按图6-3连接实验线路(图中箭头表示需要接线的地方,接总线和控制信号时要注意高低位一一对应,可用彩排线的颜色来进行区分)。6.3写程序(1)先将机器指令对应的微代码正确地写入28C16中,由于在实验1.7微程序控制器的组成与微程序设计实验中已将微代码写入E2PR0M芯片中,对照表2-5校验正确后就可使用。(2)使用控制台WRITE和READ微程序进行机器指令程序的装入和检查,其操作如下:A.使SIGNALUNIT单元的SP03为“STEP”状态,SP04为“RUN”状态,CONTROLUNIT的开关SP05处于“NORM”状态,开关SP06处于“RUN”状态。B.拨动开关单元的总清开关CLR(101),微地址寄存器清零,程序计数器清零。然后使开关单元的SWB、SWA开关设置为“01”,按动一次控制台单元的触动开关START,微地址显示灯显示“010001”,再按动一次START,微地址灯显示“010100”,此时数据开关的内容(输入单元)置为要写入的机器指令的内容,按动两次START键后,即完成该条指令的写入。若仔细阅读WRITE的流程,就不难发现,机器指令的首地址总清后为零,以后每个循环PC会自动加1。所以,每次按动START,只有在微地址灯显示

图6-3

基本模型机实验接线图C.校验。拨动SWITCH单元的总清开关CLR(101),微地址清零。PC程序计数器清零,然后使SWITCH单元的开关SWB、SWA为“00”,按动CONTROLUNIT的触动开关START,微地址灯将显示“010000”,再按START,微地址灯显示为“010010”,第三次按START,微地址灯显示为“010111”,再按START后,此时OUTPUT单元的数码管显示为该首地址中的内容。不断按动START,以后每个循环PC会自动加1程序机器指令:$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$M0F00A$M1001ED92$M1101ED94$M1200A017$M13018001$M14002018$M15070A01$M1600D181$M17070A10$M18068A116.4运行程序手动运行程序(1)单步运行程序A.使CONTROLUNIT的开关SP05处于“NORM”状态,SP06处于“RUN”状态,SIGNALUNIT中的SP03为“STEP”状态,SP04为“RUN”状态,SWITCH单元的开关SWB、SWA为“11”B.拨动SWITCH单元的总清开关CLR(101),微地址清零,程序计数器清零,程序首址为00H。C.单步运行微指令,每按动一次CONTROLUNIT的START触动开关,即单步运行一条微指令。对照微程序流程图2-2,观察微地址显示灯MA5-MA0是否和流程一致。D.当运行结束后,可检查运行结果是否和理论值一致。如果运行结果保存在RAM的某一个单元中,则可以使用手动写入中的校验方法将其读出。(2)连续运行程序A.使CONTROLUNIT的开关SP05处于“NORM”状态,SP06处于“RUN”状态,SIGNALUNIT中的SP03为“RUN”状态,SP04为“RUN”状态,SWITCH单元的开关SWB、SWA为“11”B.拨动SWITCH单元的总清开关CLR(101),微地址及程序计数器清零,然后按动CONTROLUNIT的START触动开关,系统连续运行程序,稍后将SIGNALUNIT中的SP04拨至“STOP”时,系统停机。C.停机后,可检查运行结果是否正确。如果运行结果保存在RAM的某一个单元中,则可以使用手动写入中的校验方法将其读出。7.问题讨论与分析(1)写机器指令时,清零后按单步,微地址显示灯显示“001100”后,输入机器指令后按单步单步时一定要小心轻按,还要观察微地址灯和数据总线灯是否对应,若不对应则有可能导致实验结果错误。(2)在对微程序的内存读写的设计当中使用P(4)测试来判断内存是写、是读还是运行。注意:微地址00对应的后继微地址一定要为001000,不然程序出错。(3)清零操作是通过跳线来实现的,若清零开关不好使,程序也会发生错误8.结束语(1)这次实习是我第一次尝试计算机组成原理方面的试验,我一直坚信自己的只是和能力,所以这次实习我尽量独立完成,期间遇到过困难,但是在老师同学们的帮助下轻松解决了。(2)“纸上得来终觉浅,绝知此事要躬行。”在短暂的实习过程中,我深深的感觉到自己所学知识的肤浅和在实际运用中的专业知识的匮乏,刚开始的一段时间里,对一些问题如专业知识等感到无从下手,茫然不知所措,这让我感到非常的难

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论