一台模型计算机设计与测试毕业设计(论文)word格式.doc_第1页
一台模型计算机设计与测试毕业设计(论文)word格式.doc_第2页
一台模型计算机设计与测试毕业设计(论文)word格式.doc_第3页
一台模型计算机设计与测试毕业设计(论文)word格式.doc_第4页
一台模型计算机设计与测试毕业设计(论文)word格式.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

辽 宁 工 业 大 学 计算机组成原理 课程设计(论文)题目: 一台模型计算机设计与测试 院(系): 电子与信息工程学院 专业班级: 计算机 062 班 学 号: 060401035 学生姓名: 侯文强 指导教师: 焦殿科 教师职称: 副教授 起止时间: 09.6.29-09.7.3 院(系): 电子与信息工程学院 教研室:计算机科学与技术学 号060401035学生姓名侯文强专业班级计算机062班课程设计(论 文)题 目 一台模型计算机设计与测试乘法指令流程课程设计(论文)任务 1.将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机2.用微程序控制器控制模型机数据通路3.通过cpu运行机器命令组成的简单程序,掌握机器指令与微指令的关系,牢固建立计算机的整机概念4.在实验箱上连线,并实现所写程序段的功能。用单拍(dp)方式、单指(dz)连续方式各执行一遍程序。并将结果进行比较,分析。指导教师评语及成绩成绩: 指导教师签字: 年 月 日辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)目 录第1章 课程设计简介11.1课题介绍11.2乘法指令流程11.3课程设计设备11.4乘法指令流程设计任务1第2章 数据通路设计32.1 运算器 alu32.2存储器32.3 输入与输出3第3章 微程序控制器设计53.1 机器指令格式53.2电路设计6第4章 机器语言程序设计84.1机器语言程序及其存储器位置、编码和数据初值的设计84.2 程序执行过程及运算结果8第5章 指令流程测试与调试95.1 接线方法95.2 设置通用寄存器r2、r3的值95.3 存储程序机器代码95.4 执行程序与验证结果10第6章 总结11参考文献12第1章 课程设计简介1.1课题介绍将微程序控制器同执行部件(整个数据通路)连机,组成一台模型计算机用微程序控制器控制模型机数据通路;通过cpu运行九条机器指令(排除中断指令)组成的简单程序,掌握机器指令与微指令的关系,牢固建立计算机的整机概念。1.2乘法指令流程本次课程设计用到的电路包括运算器、存储器、通用寄存器堆、程序计数器、指令寄存器、微程序控制器等,将几个模块组合成为一台简单计算机。计算机模型采用了数据总线和指令总线双总线体制能实现流水控制。控制器有微程序控制器或者硬布线控制器两种类型,每种类型又有流水和非流水两种方案。寄存器堆由1片isplsi1016组成,运算器由1片isplsi1024组成。实验台上包括了1片系统编程芯片isplsi1032,可用它实现硬件布线控制1.3课程设计设备(1)tec4计算机组成原理实验系统一台(2)双踪示波器一台(3)直流万能表一只(4)逻辑测试笔一只1.4乘法指令流程设计任务1利用机器指令系统编制简单程序,要求至少使用其中五条指令,对自己编制的简单程序进行译码,手工汇编成十六进制机器代码。学生根据老师指定完成不同的子标题,即程序中必须包含子标题类型的指令。2按图,参考组成原理实验的电路图完成连线,控制器是控制部件,数据通路是执行部件,时序产生器是时序部件。连线包括控制台、时序部分、数据通路和微程序控制器之间的连接。其中,为把操作数传给通用寄存器组rf,数据通路上的rs1、rs0、rd1、rd0应分别与ir3至ir0连接,wr1、wr0也应该接到ir1、ir0上。3将上述任务(1)中的程序机器代码用控制台操作存入内存中,并根据程序的需要,用数码开关sw7sw0设置通用寄存器及内存相关单元的数据。4用单拍(dp)方式执行一遍程序,列表记录通用寄存器堆rf中寄存器的数据,以及ram中的数据,与理论分析值做作对比。单拍方式执行是注意观察微地址指示灯、ir/dbus指示灯、ar2/ar1指示灯和判断字段指示灯的值,以跟踪程序中取指令和执行指令的详细过程。5以单指(dz)方式重新执行程序一遍,注意观察ir/dbus指示ar2/ar1指示灯的值。执行结束后,记录rf中四个寄存器的数据,以及ram中的数据,与理论分析值作对比。6以连续方式(db、dp、dz都设为0)再次执行程序。这种情况相当于计算机正常运行程序。由于程序中有停机指令stp,程序执行到该指令时自动停机。执行结束后,记录rf中四个寄存器的数据,以及ram中的数据,与理论分析值作对比。第2章 数据通路设计2.1 运算器 alu运算器alu由一片ispls1024(u47)组成,在选择端s2、s1、s0控制下,对数据a和b进行加、减、与、直通、乘五种运算,功能如下:操作功能表选择操作s2s1so000a&b001a&a(直通)010a+b011a-b100a(低4位)*b(低4位)进位c只在加法和运算和减法运算是产生。加运算中,c表示进位;减运算中,c代表借位。加、减运算产生的进位(借位)在t4的上升沿送入c寄存器保存。与、乘、直通操作不影响进位c的状态,即进位c保持不变。当alu_bus=1时,运算结果送往数据总线dbus。加、减运算产生的进位(借位)c与控制台的c指示灯相连。2.2存储器双端口存储器由一片idt7132(u36)及少量附加控制电路组成。idt7132是2048字节的双端口静态随机存储器,本机实际使用256字节。idt7132两个端口可同时进行读、写操作。在本机中,左端口的数据连接数据总线dbus,可进行读、写操作,右端口数据和指令总线ins连接,输出到指令寄存器ir,作为只读端口使用。存储器idt7132有6个控制引脚:cel#、lrw、ole#、cer#、rrw、oer#。cel#、lrw、ole#控制左端口读、写操作,cer#、rrw、oer#控制右端口读、写操作。cel#为左端口选择引脚,低有效,为高时禁止左端口操作;lrw为高时,左端口进行读操作,lrw为低时,左端口进行写操作;oer#为低时,将左端口读出的数据放到数据总线dbus上。cer#、rrw、oer#控制右端口读、写操作的方式与cel#、lrw、oer#控制左端口读、写操作的方式类似,不过右端口读出的数据放到指令总线上而不是数据总线上。本机设计中,oer#已固定接地,rrw固定接高电平,cer#有cer反相产生。当cer=1时,右端口读出数据,并放到指令总线ins上;当cer=0时,禁止右端口操作。左端口的ole#由lrw反相产生,不需单独控制。当cel#=0且lrw=1时,左端口进行读操作;当cer#=0且lre=0时,在t3的上升沿开始进行写操作,将数据总线dbus上的数据写入存储器。 2.3 输入与输出开关寄存器sw_bus(u38)是1片74hc244,用于将控制台开关sw7sw0的数据送往数据总线dbus。当sw_bus#=1时,禁止开关sw7sw0的数据送往数据总线dbus;当sw_bus#=0时,允许开关swsw0的数据送往数据总线dbus。通过sw7sw0输入数据,把数据输入到er中,然后分别rf中的中的r0r3中,然后通过选择,分别通过a、b端口送入dr1和dr2。然后送入alu进行相应的运算,再把结果通过dbus送入ram进行存储。然后再通过sw7sw0输入数据,通过dbus送入ram中,读取ram中相应单元的数据,并把指令通过ins送入ir,在送入控制器中,然后经过一系列的传送通过数据指示灯显示出来。第3章 微程序控制器设计3.1 机器指令格式根据下列表的代码格式。产生不同的功能,完成各个任务。指令格式表名称助记符功能指令格式 r7 r6 r5 r4r3 r2r1 r0加法add rd,rsrd+rs-rd0 0 0 0rs1 rs0rd1 rd0减法sub rd,rsrd-rs-rd0 0 0 1rs1 rs0rd1 rd0乘法mul rd,rsrd*rs-rd0 0 1 0rs1 rs0rd1 rd0逻辑与and rd,rsrd&rs-rd0 0 1 1rs1 rs0rd1 rd0存数sta rd,rsrd-rs0 1 0 0rs1 rs0rd1 rd0取数lda rd,rsrs-rd0 1 0 1rs1 rs0rd1 rd0无条件转移指令jmp rsrs-pc1 0 0 0rs1 rs0x x条件转移jc d若c=1则pc+d-pc1 0 0 1d3 d2d1 d0停机stp暂停运行0 1 1 0x xx x中断返回iret返回断点1 0 1 0x xx x开中断ints允许中断1 0 1 1x xx x关中断intc禁止中断1 1 0 0x xx x控制台指令格式表swcswbswa工作方式000pr, 启动程序001krd,读双端口存储器010kwe,写双端口存储器011kld,加载寄存器存器堆100krr,读寄存器堆微程序控制器组成原理图p字段 控制字段 地址转移逻辑微地址寄存器op控制存储器 3.2电路设计使用计算机组成原理实验的电路图,但本次课设加入中断系统。设计一个简单的中断系统模型,只支持单级中断、单个中断请求,有中断屏蔽功能,旨在说明最基本的原理。 中断屏蔽控制逻辑分别集成在2片gal22v10(timer1和timer2)中。其abel语言表达式如下: intr1:=intr; intr1.clk=clk1; ie:=clr&ints#clr&ie&!intc; ie.clk=mf; intq=ie&intr1;其中clk1是timer1产生的时钟信号,它主要是作为w1w4的时钟脉冲,这里作为intr1的时钟信号,inte的时钟信号是晶振产生的mf。ints微指令位是ints机器指令执行过程中从控制存储读出的,intc微指令位是intc机器指令执行过程中从控制存储器读出的。inte是中断允许标志,控制台有一个指示灯ie显示其状态,它为1时,允许中断,为0时,禁止中断。当ints=1时,在下一个mf的上升沿ie变1,当intc=1时,在下一个mf的上升沿ie变0。clr信号实际是控制台产生的复位信号clr#。当clr=0时,在下一个clk1的上升沿ie变0。当clr=1且ints=0且intc=0时,ie保持不变。intr是外部中断源,接控制台按钮intr。按一次intr按钮,产生一个中断请求正脉冲intr。intr1是intr经时钟clk1同步后产生的,目的是保持intr1与实验台的时序信号同步。intr脉冲信号的上升沿代表有外部中断请求到达中断控制器。intq是中断屏蔽控制逻辑传递给cpu的中断信号,接到微程序控制器上。当收到intr脉冲信号时,若中断允许位inte=0,则中断被屏蔽,intq仍然为0;若inte=1,则intq=1。为保持中断的断点地址,以便中断返回,设置了一个中断地址寄存器iar。第二节图4中的iar(u19)就是这个中断地址寄存器,它是一片74hc374,有ldiar和iar_bus#两个信号输入端,均连接至微程序控制器。ldiar信号的上升沿到达时,来自程序计数器pc的地址会置入iar中。iar_bus#为0时,保存在iar中的断点地址会输出到数据总线dbus上。由于本实验系统只有一个断点寄存器而无堆栈,因此仅支持一级中断而不支持多级中断。中断向量即中断服务程序的入口地址,在本实验仪中由8位数码 开关sw7sw0提供。第4章 机器语言程序设计4.1机器语言程序及其存储器位置、编码和数据初值的设计 程序功能:将存储器78h单元和79h单元中的数据相乘,将所得的积送入到存储器78h地址所指的内存单元中。 程序实现表:地址指令机器代码00hlda r0,r258h01hlda r1,r35dh02hmul r0,r124h03hsta r0,r248h04hstp60h 4.2 程序执行过程及运算结果首先设置通用寄存器r2、r3的值,使r2=78h,r3=79h。然后从00h地址开始存5个机器代码:11h,22h,33h,44h,55h。在78h存入02h,用于给r0赋初值;在79h存入01h,用于给r1赋初值。用单指的方式执行程序。初值:r0未定,r1未定,r2=78h,r3=79h。存储器,78h单元的内容是02h,79h单元的内容是01h。1.lda r0,r2执行结果: r2=78h,r0=02h。2.lda r1,r3执行结果: r3=79h,r1=01。h3.mul r0,r1执行结果:r0=02h,r1=01h。4sta r0,r2执行结果:78h=02h。5stp执行结果: 无变化第5章 指令流程测试与调试5.1 接线方法将跳线开关j1用短路子短接。时序发生器的输入tji接控制存储器的输出tj。控制器的输入c接运算器alu的c。控制器的输入ir7、ir6、ir5、ir4依次接指令寄存器ir的输出ir7、ir6、ir5、ir4。控制器的输出ldir(cer)、ldpc(ldr4)、pc_add、pc_inc、m4、ldiar、ldar1(ldar2)、ar1_inc、m3、lder、iar_bus#、sw_bus#、rs+bus#、alu_bus、cel#、lrw、wrd、lddr1(lddr2)、m1(m2)、s2、s1、s0依次与数据通路的对应信号连接。指令寄存器ir的输出iro接双端口寄存器堆的rd0、wr0,ir1接rd1、wr1,ir2接rs0,ir3接rs1。共6条线。合上电源。按clr#按钮,使实验系统处于初始状态。5.2 设置通用寄存器r2、r3的值1令dp=0,db=0,dz=0,使实验系统处于连续运行状态。令swc=0、swb=1、swa=1,使实验系统处于寄存器加载工作方式kld。按clr#按钮,使实验系统处于初始状态。2在sw7sw0上设置一个存储器地址,该存储器地址供设置通用寄存器使用。将该地址设置为0ffh。按依次qd按钮,将0ffh写入ar0和ar1。3在sw7sw0上设置02h,作为通用寄存器r2的寄存器号。按一次qd按钮,则将02h写入ir。4在sw7sw0设置78h,作为r2的值。按一次qd按钮,将78h写入ir指定的r2寄存器。5在sw7sw0设置03h,作为通用寄存器r3的寄存器号。按一次qd按钮,则将03h写入ir。6在sw7sw0设置79h,作为r3的值。按一次qd按钮,将79h写入ir指定的r3寄存器。7设置r2、r3结束,按clr#按钮,使实验系统恢复到初始状态。5.3 存储程序机器代码 本操作中,我们从存储器00h地址开始存5个机器代码:58h,5dh,24h,48h,60h。在存储器78h地址存入02h;在79h地址存入01h。令dp=0,db=0,dz=0,使实验系统处于连续运行状态。令swc=0、swb=1、swa=0,使实验系统处于写双端口存储器工作方式kwe。按clr#按钮,使实验系统处于初始状态。1.置sw7sw0为00h,按qd按钮,将00h写入ar1。2.置sw7sw0为11h,按oq按钮,将58h写入存储器00h单元。ar1自动加1,变为01h。3.置sw7sw0为22h,按oq按钮,将5dh写入存储器01h单元。ar1自动加1,变为02h。4.置sw7sw0为33h,按oq按钮,将24h写入存储器02h单元。ar1自动加1,变为03h。5.置sw7sw0为44h,按oq按钮,将48h写入存储器03h单元。ar1自动加1,变为04h。6.置sw7sw0为55h,按oq按钮,将60h写入存储器04h单元。ar1自动加1,变为05h。7按clr#按钮,使实验系统恢复到初始状态。5.4 执行程序与验证结果用单指的方式执行程序。在sw7-sw0上设置00h,作为程序启动地址。控制台方式开关swc置0,swb置0,swa置0,启动程序。db置0,dp置0,dz置1,选择执行方式为单指执行。1.按一次qd按钮,执行00h地址的程序,指示灯显示为00000000。2.按一次qd按钮,执行01h地址的程序,指示灯显示为00000001。3.按一次qd按钮,执行02h地址的程序,指示灯显示为00000010。4.按一次qd按钮,执行03h地址的程序,指示灯显示为00000011。5.按一次qd按钮,执行04h地址的程序,指示灯显示为00000100。6.按一次qd按钮,执行05h地址的程序,指示灯显示为00000101。程序执行完毕。 7.在sw7-sw0上设置78h,作为存储器地址。控制台方式开关swc置0,swb置0,swa置1,选择读双端口存储器。db置0,dp置0,dz置0。将ir/dbus开关拨到dbus位置,按一次qd按钮,ar1加1,指示灯显示为00000010,表示存储器78h地址中的数据为02h第6章 总结 乘法指令流程的设计涉及到微程序控制,数据通路,双端口存储和乘法运算的知识,让我进一步了解计算机组成原理课程。计算机组成原理是计算机科学与技术专业的一门核心的专业必修课程。从课程的地位来说,它是先导课与后续课之间的重要衔接课程。随着计算机技术的飞速发展,必须保证课程教学内容及实现手段的先进性,在实验中让我感觉到自己对课本上的知识理解还不是很好,还有很多知识点没有掌握,通过课程设计使我对课本上的知识有了更进一步的理解,同时也锻炼了我的动手能力。通过与同学的交流和查找资料使遇到的困难解决了,结合本课程内容多、难度大的特定,采取理论与实践相结合的方法,有效地巩固了学习效果,进

温馨提示

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

评论

0/150

提交评论