计算机组成原理课程设计报告.doc_第1页
计算机组成原理课程设计报告.doc_第2页
计算机组成原理课程设计报告.doc_第3页
计算机组成原理课程设计报告.doc_第4页
计算机组成原理课程设计报告.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成原理课程设计报告 实验内容及原理1、实验内容(1)常规型微程序控制组成实验。(2)CPU组成与机器指令执行实验。(3)中断原理实验。2、实验原理(1)TEC-4 计算机组成实验系统简介 TEC-4计算机组成实验系统由清华同方教学仪器设备公司研制。它是一个典型的计算机模型实验仪器,可用于将大专、本科、硕士研究生计算机组成原理课程、计算机系统结构课程的教学实验。该仪器将提高学生的动手能力就,提高学生对计算机整体和各组成部分的理解,提高学生对计算机系统的综合设计能力。(2)TEC-4计算机组成实验系统的组成 a控制台 b数据通路 c控制器 d用户自选器件实验区 e时序电路 f电源部分(3)时序发生器 时序发生器器产生计算机模型的时序。TEC-4计算机组成原理实验的时序电路如图一,电路采用2片GAL22V10(U6,U7),可产生两级等间隔时序新号T1-T4和W1-W4。其中一个W由一轮T1-T4循环组成,相当于一个微指令周期;而一轮W1-W4循环可供硬连线控制器执行一条机器指令。 CLR#为复位新号,低有效。试验仪处于任何状态下令CLR#=0,都会使时序发生器和微程序控制器复位;CLR#=0时,则可以正常运行。 TJ是停机新号,是控制器的输出新号之一。连续运行时,如果控制信号停机=1,会使机器停机,停止发送时序脉冲,从而暂停程序。QD是启动信号,是运行程序的标志。DP,DZ,DB是来自控制台的开关信号。DP表示单拍,当DP=1时,每次只执行一条微指令;DZ表示单指,当DZ=1时,每次只执行一条机器指令;当DP,DB,DZ都为0时,机器连续运行。 图一(4)数据通路 TEC-4计算机组成原理实验的数据通路的设计采用了数据总线和指令总线双总线形式,使得流水实验能够实现。它还使用了大规模在系统可编程器件作为运算器和寄存器堆,使得设计简单明了,可修改性强。数据通路位于实验系统的中部。如图二 其包括如下主要部件: a 运算器ALU,它有一片ispLSI 1024(U47)组成,在选择端S2,S1,S0控制下,对数据A和B加、减、与、直通、乘五种运算。 b DR1和DR2运算操作数寄存器; c 多端口通用寄存器堆 d 暂存寄存器 e 程序计数器、地址加法器;地址缓存器;等等 图二(5)控制器控制器位于本实验系统的中上部,产生数据通路操作所需的控制信号。如图三(6)控制台 控制台位于TEC-4计算机组成原理实验系统的下部,主要由指示灯和若干拨动开关组成,用于给数据通路设置数、设置控制信号、显示各种数据使用。图三实验任务1、按微指令格式的定义将控制台指令微程序的8条微指令按十六进制编码。2、单拍(DP)方式执行控制台微程序,读出上述八条微指令,并与填写的编码数据对照。3、对机器指令系统组成的简单程序进行译码,并填写机器码表。4、单拍、单指、单步执行八条机器指令。5、填写中断服务程序表,并完成中断实验。实验步骤1、常规型微程序控制器组成实验(1)熟悉给定的12条机器指令功能和数据通路总体图的控制信号,采用的微指令格式见图四。图四 微指令字长共35位,其中顺序控制部分10位,后续微地址6位,判别字段25位,各位进行直接控制。微指令格式中,信号名带有后缀“#的信号为低有效,不带有后缀“#”的信号为高有效信号。 对应微指令格式,微程序控制器的组成见图五,控制器采用片EEPROM28C64(U8,U9,U10,U11,U12)。微地址寄存器6位,用一片6D触发器74HC174(U1)组成,带有清零端。两级与门、或门构成微地址转移逻辑,用于产生下一微指令的地址。在每个T1上升沿时刻,新的微指令地址会打入微地址寄存器中,控制存储器随既输出相应的微命令代码。图五(2)熟悉机器指令与微指令 本实验仪使用12条机器指令,均为单字长(8位)指令。指令功能及格式如表一所示。指令的高4位提供给微程序控制器,低4位提供给数据通路。 上述12条指令的微程序流程设计如图六,每条微指令可按前述的微指令格式转换成二进制代码,然后写入5个28C64中。 为了写入的正确,还设计了以下五个控制台操作数程序:1 存储器写操作(KWE):按下复位按钮CLR#后,微地址寄存器状态为全零。此时置SWC=0,SWB=1,SWA=0,按启动按钮后微指令地址转入27H,从而可对RAM连续进行手动写入。2 存储器读操作(KRD):按下CLR#后,置SWC=0,SWB=0,SWA=1,可对RAM连续进行读操作。3 启动程序(PR):按下CLR#后,置SWC=0,SWB=0,SWA=0,用数据开关SW7-SW0设置内存中程序的首地址,可以执行“取指”微命令。4 写寄存器操作(KLD):按下CLR#后,置SWC=0,SWB=1,SWA=1,可对寄存器堆中的寄存器连续进行写操作。5 读寄存器操作(KRR):按下CLR#后,置SWC=1,SWB=0,SWA=0,可对寄存器堆中的寄存器连续进行读操作。名称助记符功能指令格式R7 R6 R5 R4R3 R2R1 R0加法ADD Rd,RsRd+RsRd0 0 0 0RS1 RS0RD1 RD0减法SUB Rd,RsRd-RsRd0 0 0 1RS1 RS0RD1 RD0乘法MUL Rd,RsRd*RsRd0 0 1 0 RS1 RS0RD1 RD0逻辑与AND Rd,RsRd&RsRd0 0 1 1RS1 RS0RD1 RD0存数STA Rd,RsRdRs0 1 0 0RS1 RS0RD1 RD0取数LDA Rd,RsRsRd0 1 0 1RS1 RS0RD1 RD0无条件转移JMP RsRs PC1 0 0 0RS1 RS0 条件转移JC D若C=1 则PC+DPC1 0 0 1D3 D2D1 D0停机STP暂停运行0 1 1 0 中断返回IRET返回断点1 0 1 0 开中断INTS允许中断1 0 1 1 关中断INTC禁止中断1 1 0 0 表一(3)熟悉微程序流程图图六(4)按照实验要求,连接试验台的数码开关K0-K15、控制开关、按钮开关、时钟信号源和微程序控制器。(5)熟悉微指令格式的定义,按此定义将控制台指令微程序的8条微指令按十六进制编码,列于下表(表二)制台指令的功能由SWC,SWB,SWA三个二进制开关的状态来指定(KRD=001B,KWE=010B,PR=010B)。 单拍(DP)方式执行控制台微程序,读出上述八条微指令,用P字段和微地址指示灯跟踪微指令执行情况,并与上表数据对照。微指令地址微指令编码微指令地址微指令编码00H005C00207H3CH405C8003DH07H005412005H17H00544003FH27H40544003DH3FH409C0003EH3DH00140003CH3EH005C8003FH 表二(6)比较实验数据: 按以上实验步骤得到实验数据如下表(表三)微指令地址微指令编码读出的微指令编码00H005C00007H005C00007H07H005C00207H005C00207H27H40044003DH40044003DH3DH00140003CH00140003CH3CH405C8003DH405C8003DH17H00544003FH00544003FH3FH409C0003EH409C0003EH3EH005C8003FH005C8003FH 表三2、CPU组成与机器指令执行实验(1)本次实验用到前面实验中的所有电路,包括运算器、存储器、通用寄存器堆、程序计数器、指令寄存器、微程序控制器等,将几个模块组合成为一台简单计算机。 在本次实验中,数据通路的控制将有微程序控制器来完成。CPU从内存取出一条机器指令到执行指令结束的一个机器指令周期,是有微指令组成的序列来完成的,即一条指令对应一个微程序,其框图如图七 图七(2)对机器指令系统组成的简单程序进行译码。将下表的程序按指令格式手工汇编成十六进制机器代码。如表四地址指令机器代码00HLDA R0,R20101100001HLDA R1,R30101110102HADD R0,R10000010003HJC +51001010104HAND R2,R30011111005HSUB R3,R20001101106HSTA R3,R20100101107HMUL R0,R10010010008HSTP0110XXXX09HJMP R1100001XX表四(3)按照图六框图,参考前面实验的电路图完成连线。其中,为把操作数攒送给通用寄存器组RF,数据通路上的RS1、RS0、RD1、RD0应分别与IR3至IR0连接,WR1、WR0也应连接到IR1、IR0上。(4)将表七中的程序机器代码用控制台操作存入内存中,并根据程序的需要,用数码开关SW7-SW0设置通用寄存器R2、R3及其内存相关单元的数据。(注:由于设置通用寄存器时会破坏内存单元的数据,因此应先设置寄存器的数据,再设置内存数据。)(5)用单拍(DP)方式执行一遍程序,列表记录通用寄存器堆RF中四个寄存器的数据,以及由STA指令存入RAM中的数据(程序结束后从RAM的相应单元中读出),与理论值作对比。执行时注意观察微地址指示灯、IR/DBUS指示灯、AR2/AR1指示灯、微地址指示灯和判别字段指示灯的值(可以观察到每一条微指令)。(6)以单指(DZ)方式重新执行程序一遍,注意观察IR/DBUS指示灯、AR2/AR1指示灯的值(可以观察到每一条机器指令)。列表记录RF中四个寄存器的数据,以及由STA指令存入RAM中的数据,与理论分析值作对比。(注:单指方式执行程序时,四个通用寄存器和RAM中的原始数据与第一遍执行程序的结果有关。)(7)以连续方式(DB,DP,DZ都设为0)再次执行程序。由于程序中有停机指令STP,程序执行到该指令时自动停机。列表记录RF中四个寄存器的数据,以及由STA指令存入RAM中的数据,与理论分析值作对比。(注:程序执行前的原始数据与第二遍执行结果有关。)(8)比较实验数据: 按照实验要求,可得到如表五实验结果。指令地址执行指令后寄存器的数据R0R1R2R300H00010000xxxxxxxx000000011111111101H0001000000000010000000011111111102H0001001000000010000000011111111103H0001001000000010000000011111111104H0001001000000010000000011111111105H0001001000000010000000011111111006H0001001000000010000000011111111007H0000010000000010000000011111111008H0000010000000010000000011111111009H00000100000000100000000111111110STA指令存入RAM中的数据00000001=11111110 表五与理论值分析一致。心得体会本来以为经过一学期的理论学习和经过几次试验的经验可以在课程设计中少走弯路,但是事实表明:我的能力还很差,我的水平并不怎么样,我还有很多东西要去学习。我对我本次的课程设计总结如下:首先,在连线阶段,由于对实验原理不能够理解,迟迟不能设计出试验的线路图,不知道哪几个功能该如何实现。之后,我把实验指导书和讲义好好的研究了一遍,知道了各个部件的原理,并在同学的大力帮助之下,终于知道了怎样让他们结合起来,以实现一系列的功能和应用,就像计算机硬件实现功能一样。在这一阶段我总结出,做实验之前,不能一心就扑到了实验的过程上,首先最重要的是要对实验的原理弄得很明白,这样才能在实验过程中做到游刃有余。其次,在机器操作过程中,虽然对实验原理有了一定的理解,但是在操作过程中还是漏洞百出。首先是没有设存储器地址,使得存了半天数总是存不上,之后在同学的指点下才恍然大悟。然后又是没法读数,又折腾了大半天,等到最后进行运算的时候又不知怎么的,就是和理论值合不上,没办法换了机子最后终于在同学们的共同合作中完成了实验。完成实验的时候,我们才发现,其实这个实验很简单,就是让我们设计一个计算器,使之能够进行加、减、乘法、逻辑与等运算。在机器操作过程中我觉得,我们的动手次数还是太少了,经常犯一些非常低级的错误,我们班有个同学的动手能力非常强,他知道实验中该注意什么,怎样做才能提高速度并且保证质量。我想他应该是练得比较多吧。其次是耐心,很多时候就是我们耐心不够而经常导致不应该的失误,在这方面,女生比我们做的好多了,他们有耐心,不急躁,所以她们很多人做的比我们男生好多了。还有就是要多问,我一开始很自信的自己弄了一台箱子在那独自钻研,但是我发现半天之后我什么也没有钻研出来。而别的同学已经做了很多工作了,这时我才意识到自己一个人的力量是薄弱的,只有靠团队合作才能更快的出成果。虽然这一次的课程设计做的很辛苦,但是我们的收获很大,我们了解了一个比较成熟的模型机

温馨提示

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

评论

0/150

提交评论