计组课设实验报告

  • 格式:doc
  • 大小:17.50 KB
  • 文档页数:6

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计组课设实验报告

《计算机组成原理与系统结构》课程设计

实验报告

课题:两个16位二进制数加法计算班级:

成员:

完成日期:2021年10月11日

一:课程设计步骤 1.确定设计目标

综合考虑实验条件及自身能力水平,以及设计功能的可靠性和实用性,我们小组决定将设计目标定为“两个16位二进制数相加”。分两次分别输入两个加数的低八位和高八位,输出两个16位二进制数相加的结果。

2.确定指令系统

(1)数据格式

模型机规定数据采用定点整数补码表示,字长为8位,其格式如下:

7 6 5 4 3 2 1 0 符号尾

数(2)指令格式模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。

①算术逻辑指令

设计九条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:

7 6 5 4 OP-CODE RSRD 或00 01 10 ②I/O指令

3 2 1 0 RS RD 其中,OP-CODE为操作码,RS为

源寄存器,RD为目的寄存器,并规定:

选定的寄存器 R0 R1 R2 输入(1N)和输入(OUT)指令采用单字节指令,其格式如下:

7 6 5 4 3 2 1 0 OP-CODE addr RD 其中,addr=01时,选中“INPUT DEVICE”中的开关组作为输入设备,addr=10时,选中“INPUT DEVICE”中的数码块作为输入设备。

③访问指令及转移指令

模型机设计两条访问指令,即存数(STA)、取数(LDA),

两条颛臾指令,即无条件转移(JMP)、结果为零或有进位转移(BZC),指令格式如下:

7 6 00 5 4 M 3 2 OP-CODE 1 0 RD D 其中,OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。D为位移量

(正负均可),M为寻址模式,其定义如下:寻址模式 00 有效地址E E=D 说明直接寻址 01 10 11 E=(D)

E=(RI)+D E=(PC)+D 间接寻址 RI变址寻址相对寻址本模式机规定变址寄存器RI指定为寄存器R2

④停机指令

停机指令格式如下: 7 6 5 4 3 2 1 0 OP-CODE 00 00 HALT指令,用于实现停机操作。

(3)指令系统

在这次模型机设计中,为了实现两个16位二进制数相加的功能,我们一共使用了XOR(新设计指令),

ADC,INC,LDA,STA,JMP,BZC,IN,OUT,HALT共10个机器指令,其助记符、功能和具体指令格式如下:助记符号指令格式功能 XOR RS,RD 0 RS RD RS⊕RD ADC RS,RD 1001 RS RD RS+RD+CY->RD INC RD 1 RS RD+1->RD 00 M 00 RD LDA M,D,RD E->RS D 00 M 01 RD STA M,D,RD RD->E D 00 M 10 00 JMP M,D E->PC D 00 M 11 00 当CY=1或BZC M,D Z=1;E->PC D IN ADDR,RD 0100 01 RD ADDR->RD OUT ADDR,RD 0 10 RD RD->ADDR HALT 0110 00 00 停

机 3.总体结构和数据通路:

总体结构和数据通路图请参见附录1。 4.微程序流程图:

微程序流程图请参见附录2。 5.机器码及微程序:

机器码及微程序请参见附录3。

二.课程设计总结

这门课程是一门对综合能力和基础知识要求非常高的课程。

成功完成实验内容,需要熟悉《汇编语言》,《计算机组成原理》,《离散数学》和《数字逻辑》各

门课程的基础知识,并且要加以拓展和熟练运用,这对我们

整个小组来说是一个不小的挑战。

实验刚刚开始的阶段,我们参考了高年级同学的实验报告和

设计过程,起初觉得束手无策,很多内容都不知道其中的含义和

思考及设计的过程。不过从第一节课开始,陈老师指导我们一步步地完成整个设计过程,每节课对应设计中的一个步骤,化整为零,个个击破,实验进行的过程中,随着进度的加深,我们的信心也越来越饱满,渐渐看到了整体的思路和方向。出现问题时,我们首先进行小组讨论,小组讨论无法解决的问题,我们选择向更有经验和基础知识更加牢固的同学请教,再无法解决时,便向老师求助,陈老师在整个实验过程中提供了非常大的帮助。

整个实验过程中,除了对设计步骤和各种图表工具的陌生带来的困难以外,最大的困难来自于实验硬件条件给出的限制。对于只有三个寄存器的实验电路箱来说,分别进行高八位,低八位的输入,相加和输出就已经是个挑战,而更大的挑战在于,怎样储存和取出进位数字。我们知道,如果产生了进位,那么进位的数字将存储在CF专用寄存器中,但是CF寄存器内保存的数据十分的“脆弱”,稍有不慎,除了加法计算之外,其他的很多操作,只要是经过ALU加法器原件的操作,都有可能改变其中存储的数据。一度让我们觉得无从下手,甚至怀疑自己一开始设计的目标功能就是错误的,根本无法实现的。但是后来,我们想到了利用主存来存储进位的想法,翻看教材和上网查阅各种资料之后,我们失望得发现,CF寄存器是一个特殊的专用寄存器,无法向其他寄存器一样将数据随意存取,只会在进行带进位加(ADC)时,才会被带入到存储计算结果的寄存器中。这给了我们一个启发,我们想到了先将一个寄存器清零(使用我们新设计的XOR指

令),然后用这个寄存器自身和自身带进位加的方式将进位数字取出,然后将该寄存器的数据传入到主存中,通过这一特殊的方式,就实现了“将CF寄存器中的数据放入主存”这一原来看似不可能完成的任务。

解决这个问题的过程中,我们充分体会到了团队协作和创新思维的重要性,明白了一个看似困难重重几乎不可能完成的任务,只要勤于思考善于动手,也能通过自己的努力去实现。我们觉得这一体会是本次试验过程中,除了知识之外最大的收获。

三.小组成员各自的任务和完成情况

张三:小组核心成员和组长,拥有扎实的计算机组成原理和汇编语言基础,负责确定设计目标,核心程序的编写以及微程序、机器指令的转化,完成实验的理论基础框架。出色地完成了程序设计的任务,为最终的上机实践提供了保障。

李四:协调整个团队的合作,在遇到困难时查阅书籍和网上资料,对新的理论知识和操作技术进行吸收和消化,整理记录实验中各项设计笔记,完成实验报告的整合和撰写。

王五:心思细致缜密,动手能力强,实践经验丰富,负责实验箱的检验,调试和接线部分。

四.实验中的不足

最后一节课进行最终的上机实践检验时,我们遇到了意料之外的问题和困难。在前一节课中,我们利用已有的程序对试验箱进行了检验和调试,最终确定试验箱可以正常工作。但是在最后