1、课程设计指导老师评定成绩表项目分值优异(100x90)良好(90x80)中等(80x70)及格(70x60)不及格(x60)评分参考标准参考标准参考标准参考标准参考标准学习态度15学习态度认真,科学作风严谨,严格确保设计时间并按任务书中要求进度开展各项工作学习态度比较认真,科学作风良好,能按期圆满完成任务书要求任务学习态度尚好,遵守组织纪律,基础确保设计时间,按期完成各项工作学习态度尚可,能遵守组织纪律,能按期完成任务学习马虎,纪律涣散,工作作风不严谨,不能确保设计时间和进度技术水平和实际能力25设计合理、理论分析和计算正确,试验数据正确,有很强实际动手能力、经济分析能力和计算机应用能力,文件
2、查阅能力强、引用合理、调查调研很合理、可信设计合理、理论分析和计算正确,试验数据比较正确,有较强实际动手能力、经济分析能力和计算机应用能力,文件引用、调查调研比较合理、可信设计合理,理论分析和计算基础正确,试验数据比较正确,有一定实际动手能力,关键文件引用、调查调研比较可信设计基础合理,理论分析和计算无大错,试验数据无大错设计不合理,理论分析和计算有标准错误,试验数据不可靠,实际动手能力差,文件引用、调查调研有较大问题创新10有重大改善或独特见解,有一定实用价值有较大改善或新奇见解,实用性尚可有一定改善或新见解有一定见解观念陈旧论文(计算书、图纸)撰写质量50结构严谨,逻辑性强,层次清楚,语言
3、正确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸很工整、清楚结构合理,符合逻辑,文章层次分明,语言正确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清楚结构合理,层次较为分明,文理通顺,基础达成规范化要求,书写比较工整;图纸比较工整、清楚结构基础合理,逻辑基础清楚,文字尚通顺,勉强达成规范化要求;图纸比较工整内容空泛,结构混乱,文字表示不清,错别字较多,达不到规范化要求;图纸不工整或不清楚指导老师评定成绩:指导老师署名: 年 月 日重庆大学本科学生课程设计任务书课程设计题目微程序设计学院计算机学院专业计算机科学和技术年级已知参数和设计要求:用微程序控制器
4、实现以下指令功效调用:CALLaddr ;指令功效和80X86相同,addr是8位二进制地址 返回:RET ;存放器到存放器传送:MOV memi , memj; memi (memj), ij,memi内存单元地址带右移加法运算:ADD Ri , Rj , N; Ri (Ri)+(Rj)N ,Rj中内容不变 N=0-7学生应完成工作:依据模型计算机数据路径和微程序控制器工作原理,设计各指令格式和编码,并实现各机器指令微代码,依据定义机器指令,自拟编写包含以下指令应用程序。参考试验5.3、6.1。上机调试并输出正确结果,给出完整设计汇报。现在资料搜集情况(含指定参考资料):计算机组成原理试验指
5、导书计算机组成和设计,David A.Patterson编,清华大学出版社,12月计算机组织和结构,William Stallings编,高等教育出版社,8月计算机组成和系统结构,李亚民编,清华大学出版社,4月课程设计工作计划: -第一年第14周任务下达日期 年 12 月 8 日完成日期 12 月 8 日指导老师 (署名)学 生 (署名)说明:1、学院、专业、年级均填全称,如:光电工程学院、测控技术、。2、本表除署名外均可采取计算机打印。本表不够,可另附页,但应在页脚添加页码。计算机组成原理课程设计汇报书一、设计目标:综合利用所学过计算机原理知识,设计并实现较为完整计算机。掌握利用计算机原理知
6、识处理问题和设计指令程序能力。经过课程设计综合训练,培养实际分析问题,编写程序指令和动手能力、团体协作精神,帮助学生系统掌握计算机组成原理课程关键内容。二、设计要求:设计要求:用微程序控制器实现以下指令功效调用:CALLaddr ;指令功效和80X86相同,addr是8位二进制地址返回:RET ;存放器到存放器传送:MOV memi , memj; memi (memj), ij,memi内存单元地址带右移加法运算:ADD Ri , Rj , N; Ri (Ri)+(Rj)N ,Rj中内容不变 N=0-7依据模型计算机数据路径和微程序控制器工作原理,设计各指令格式和编码,并实现各机器指令微代码
7、,依据定义机器指令,自拟编写包含以下指令应用程序。三、微程序控制器原理:A. 微程序控制基础思想:1. 若干微命令编制成一条微指令,控制实现一步操作; 2. 若干微指令组成一段微程序,解释实施一条机器指令; 3. 微程序事先存放在控制存放器中,实施机器指令时再取出。B. 基础组成:控制存放器,微指令寄存器,微地址寄存器,地址转移逻辑框图:图1 微程序控制器组成原理框图控制存放器(CM):用来存放实现全部指令系统微程序,在CPU中。它是一个只读型存放器,要求速度快,读出周期短微指令寄存器:存放目前由控制存放器读出一条微指令信息,分为微地址寄存器和微命令寄存器两个部分。其中微地址寄存器决定将要访问
8、下一条微指令地址,微命令寄存器则保留一条微指令操作控制字段和判别测试字段(P)信息地址转移逻辑:自动完成修改微地址任务。微程序控制器:微程序控制器基础任务是完成目前指令翻译和实施,立即目前指令功效转换成能够控制硬件逻辑部件工作微命令序列,完成数据传送和多种处理操作。它实施方法就是将控制各部件动作微命令集合进行编码,立即微命令集合仿照机器指令一样,用数字代码形式表示,这种表示称为微指令。这么就能够用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存放在一个专用存放器中,称为控制存放器,微程序控制器原理框图图2所表示6MA5-MA02I7-I2P4-P1T4地址T16SE6SE0T
9、2CLR6uA5ua0T2uIR微指令CM2816*324位S3A8ABCQQ D指令译码单元3-8译码器指令寄存器IR图2 微程序控制器原理框图C. 微程序控制计算机工作过程:下面经过计算机开启、实施程序直到停机过程,来说明微程序是怎样控制计算机工作:计算机加电以后,首先由复位信号(Reset)将开机后实施第一条指令地址送入PC内,同时将一条取指微指令送入微指令寄存器中,并将其它部分相关状态位或寄存器置于初始状态。当电压达成稳定值后,自动开启计算机,产生节拍电位和工作脉冲。为确保计算机正常工作,电路必需确保开机后第一个机器周期信号完整性,在该CPU周期末,产生开机后第一个工作脉冲。然后计算机
10、开始实施程序,不停地取出指令、实施指令。程序能够存放在固定存放器中,也能够利用固化在只读存放器(ROM)中一小段引导程序,将要实施程序和数据从外部设备调入主存。实现各条指令微程序是存放在微程序控制器中。目前正在实施微指令从微程序控制器中取出后放在微指令寄存器中,由微指令控制字段中各位直接控制信息和数据传送,并进行对应处理。当碰到停机指令或外来停机命令后,应该待目前这条指令实施完成后再停机或最少在本机器周期结束时停机。要确保停机后,重新开启计算机能继续工作而且不出现任何错误。四、总体设计(系统组成):实现一个简单 CPU,而且在此CPU 基础上,继续构建一个简单模型计算机。CPU 由运算器(AL
11、U)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,图3所表示。这个CPU 在写入对应微指令后,就含有了实施机器指令功效,不过机器指令通常存放在主存当中,CPU 必需和主存挂接后,才有实际意义,所以还需要在该CPU 基础上增加一个主存和基础输入输出部件,以组成一个简单模型计算机。图3基础CPU组成原理图程序计数器PC:程序计数器PC由两片4位可预置二进制计数器组成8位计数器。使用“可预置”是因为转移指令需要直接修改PC值。其电路原理以下图。88LOADT4LDPCPC(74LS161)PC(74LS161)图3 程序计数器PC地址寄存
12、器AR:地址寄存器保留访问存放器时地址信息,由74LS273实现。其电路原理以下图。88AR(74LS273)T4LDAR图4 地址寄存器AR指令寄存器IR:指令寄存器IR存放是正在实施机器指令,它作为指令译码器电路输入,实现程序跳转控制。其电路原理以下图。88IR(74LS273)T4LDIR图5 指令寄存器IR寄存器堆R0:寄存器R0使用芯片是74LS374,该芯片是8个三态D-FF。其R0电路原理以下图。R0-B88R0(74LS374)T4LDR0图6 寄存器R0数据通路图:图8数据通路图五、具体设计微程序功效设计: (1)指令设计助记符 机器指令码 说明ADD 0000 0000 *
13、 * (data1+data2 )R0 OUT 0011 0000 R0-OUTMOV 0100 0000 (addr1)-(addr2)LDI 0110 0000 * (data)-R0CALL 0111 0000 * 调用子程序RET: 1000 0000 子程序返回 ADD 是三字节指令,后面两个* *是要进行加法数据,本指令功效是数据一加上数据二以后左移一位,结果存在R0里;OUT是输出;MOV指令实现是将内存地址一数据传输到内存地址二,因为它单字节指令,所以微指令实施期间要靠IN单元输入要操作内存地址;LDI是双字节指令,把后面*送到R0里;CALL是调用子程序,也还是双字节指令,*
14、是要调用子程序入口地址;RET指令用在子程序末尾,帮助子程序正确返回。 (2)微指令设计 依据机器指令所实现功效,画出微程序步骤图。 微程序步骤图:0001PCARPC+1MAA左移1-R0PCARPC+1MBA+B-A300A090D0C0BPCARPC+1MARPNOP010330INARR0MMR0INAR3408070601PCARPC+1MR0360111APCPCMPCARPC+1MAR0AR370113141516R0ARMPC380112R0 IO0133ADDOUTMOVLDICALLRET 当全部微程序设计完成后,将每条微指令代码化,下表即为将微程序步骤图按微指令格式转化而
15、成“二进制微代码表”。 二进制微代码表地址十六进制高五位S3-S0A字段B字段C字段MA5-MA000000001000000000000000000000000101006D430000000001101101010000110310707000010000011100000111000030006D490000000001101101010010010910100A0001000000010000000010100A006D4B0000000001101101010010110B10200C0001000000100000000011000C04920D000001001001001000
16、0011010D039201000000111001001000000001341860060001100001100000000001100610300700010000001100000000011107186008000110000110000000001000080100100000000001000000000137006D53000000000110110101010011131010140001000000010000000101001400641500000000011001000001010115200C160010000000001100000101101600534100
17、000000010100110100000136006D5100000000011011010101000111103001000100000011000000000001380064120000000001100100000100101210514100010000010100010100000133280401001010000000010000000001 试验准备: 按下图连接电路试验接线图:将微程序和机器程序以指定格式写入到以TXT 为后缀文件中联机运行。指令格式: 微指令格式: 机器指令格式: $M XX XXXXXX $P XX XX 十六进制微指令代码 十六进制机器指令代码十六
18、进制地址十六进制地址 标志符 标志符依据步骤图及指令格式,安排微指令地址地址编码及微指令编码:; /* Start Of Main Memory Data * /$P 00 40 ;MOV$P 01 60 ;LDI$P O2 F1 ;DATA$P 03 70 ;CALL$P 04 06 ;ADDR$P 05 30 ;0UT$P 06 00 ;ADD$P 07 11 ;DATA$P 08 22 ;DATA$P 09 30 ;OUT$P 0A 60 ;LDI$P 0B F1 ;DATA$P 0C 80 ;RET; /* End Of Main Memory Data * /; /* Start O
19、f MicroController Data * /$M 00 000001 ; NOP$M 01 006D43 ; PC-AR,PC 加1$M 03 107070 ; MEM-IR, P;ADD程序段$M 30 006D49 ;PC-AR PC+1$M 09 10100A ;M-A$M 0A 006D4B ;PC-AR PC+1$M 0B 10200C ;M-B$M 0C 04920D ;A+B-A$M 0D 039201 ;AR0;MOV程序段$M 34 186006 ;IN-AR$M 06 103007 ;MEM-R0$M 07 186008 ;IN-AR$M 08 01 ;R0-MEM
20、;CALL程序段$M 37 006D53 ;PC-AR PC+1$M 13 101014 ;MEM-A$M 14 006415 ;R0-AR$M 15 200C16 ;PC-MEM$M 16 005341 ;A-PC;LDI程序段$M 36 006D05 ;PC-AR,PC+1$M 11 103001 ;MEM-R0;RET程序段$M 38 006412 ;R0-AR$M 12 105141 ;MEM-PC;OUT指令$M 33 280401 ;R0-IO; /* End Of MicroController Data */联机:选择联机软件“【转储】【装载】”功效,在打开文件对话框中选择上面
21、所保留文件,软件自动将机器程序和微程序写入指定单元。选择联机软件“【转储】【刷新指令区】”能够读出下位机全部机器指令和微指令,并在指令区显示,对照文件检验微程序和机器程序是否正确,假如不正确,则说明写入操作失败,应重新写入,能够经过联机软件单独修改某个单元指令,以修改微指令为例,先用鼠标左键单击指令区微存TAB 按钮,然后再单击需修改单元数据,此时该单元变为编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入数据。六、测试:运行:将时序和操作台单元开关KK1 和KK3 置为运行档,进入软件界面,选择菜单命令“【试验】【简单模型机】”,打开简单模型机数据通路图。按动CON 单元总清按钮CLR
22、,然后经过软件运行程序,选择对应功效命令,即可联机运行、监控、调试程序。观察微程序每一步实现,在数据通路图和微程序流中观察指令实施过程。对应微指令:$M 34 186006 ;IN-AR(MOV中) 对应微指令:$M 06 103007 ;MEM-R0(MOV中) 对应微指令:$M 11 103001 ;MEM-R0(LDI中) 对应微指令:$M 13 101014 ;MEM-A(CALL中) 对应微指令:$M 14 006415 ;R0-AR(CALL中) 对应微指令:$M 16 005341 ;A-PC(CALL中) 对应微指令:$M 0B 10200C ;M-B(ADD中) 对应微指令:
23、$M 0D 039201 ;AR0(ADD中) 对应微指令:$M 33 280401 ;R0-IO(OUT中) 对应微指令:$M 38 006412 ;R0-AR(RET中)试验结果: 试验结果完全符合当初设计,各个微指令全部实现了预先设计目标,机器程序测试也达成预期效果。七、设计中出现问题和处理方法(一)出现问题: (a)在设计CALL指令时,需要把目前指令位置压栈,等到子程序调用RET指令时再将之弹出栈,方可返回对应主程序。但设计指令时并未设计PUSH,POP指令,所以保留目前指令成为一个难题。 (b)在设计MOV指令时,内存之间是不能够直接传送数据。(二) 对应处理方法: (a)为处理此
24、问题,设计时就多加了一条LDI(立即数送寄存器)指令,目标是使得我们自己能够指定一个内存地址,存放我们目前指令地址。这么,在我们调用CALL指令前只需调用LDI即可指定位置一个位置存放目前指令地址(类似压栈)。当然,RET也要调用它。()处理方法,利用寄存器当中转,先把存放器一中数据放到寄存器,在把寄存器中数据放到存放器二。八、心得体会 这次试验增强了我们动手能力、提升了我们发觉问题、分析问题和处理问题能力、增强了我们团体合作意识和经验。 首先,动手能力一直是我们弱点,这次试验使我们在老师和同学帮助下自己动手完成了这次试验,让我们知道了怎样正确按自己思绪画步骤图、按原理图连接线路、依据数据通路
25、图控制端确定控制信号代码,装入正确微代码,正确实现此试验要求。 同时,我们平时习惯了按要求回复问题,碰到设计之类问题总是烦恼万分,对一具体题目总是联想翩翩却无从下手。经过这次试验使我们知道了怎样从最基础知识入手逐步深入到题目标最终实现。整个试验过程中,从连线到调试最终正确问题可谓层出不穷,怎样发觉问题对我们而言是一大难题。首先,此试验线路复杂,如连错便不易检验,且线路导通是否也极难检验,经过理论和问题对应分析对我们来说就尤其关键。在调试时我们发觉数据流向错误时就得检验微代码和所写步骤图,并结合步骤图和个功效控制信号写出正确微程序,并得到正确数据通路。当然,这次试验也让我们体会到了合作好处。因为我们每个人学习能力大小不一样,感爱好知识方向不一样,这就使得我们有能力完成单个人能力范围外事或达成更高试验要求。九、参考资料:1.计算机组成原理试验指导书,重庆大学计算机学院编2.计算机组成和设计,David A.Patterson编,清华大学出版社,12月3.计算机组织和结构,William Stallings编,高等教育出版社,8月4.计算机组成和系统结构,李亚民编,清华大学出版社,4月5.计算机组成和设计 ,David A.Patterson、John L.Hennessy著、郑纬民译, 清华大学出版社,12月
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100