为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

微程序控制器实验

2022-04-03 62页 ppt 1MB 0阅读

用户头像 个人认证

is_118825

暂无简介

举报
微程序控制器实验*计算机组成原理实验实验中心组成原理课题组*授课教师及实验课地点介绍张政凯办公室电话:87571561办公室:C区408南门迟宗正刘金鹏于成办公室电话:87571613办公室:C区413高新岩办公室:C区403&407实验课地点:C区409-411(硬件实验室)*为什么要做组成原理实验?在学习过计算机组成之后,需要通过实验的实践部分了解计算机的各硬件部分的工作原理,诸如:运算器的工作原理,存储器的工作原理,串口等外设的工作原理,CPU的两种控制逻辑(硬布线控制逻辑和微程序控制逻辑)通过实验实现:加深对理论的理解提高实践的能力*...
微程序控制器实验
*计算机组成原理实验实验中心组成原理课组*授课教师及实验课地点介绍张政凯办公室电话:87571561办公室:C区408南门迟宗正刘金鹏于成办公室电话:87571613办公室:C区413高新岩办公室:C区403&407实验课地点:C区409-411(硬件实验室)*为什么要做组成原理实验?在学习过计算机组成之后,需要通过实验的实践部分了解计算机的各硬件部分的,诸如:运算器的工作原理,存储器的工作原理,串口等外设的工作原理,CPU的两种控制逻辑(硬布线控制逻辑和微程序控制逻辑)通过实验实现:加深对理论的理解提高实践的能力*教学目标通过实验更加深刻的理解计算机的组成加深对计算机各个部件功能的认识以及各个部件之间的协同关系掌握运算器.控制器的工作原理,掌握微程序控制逻辑下的控制器并了解基于硬布线逻辑的控制器*课程主要清华实验箱基础汇编语言程序设计脱机运算器实验存储器扩展实验中断实验I/O接口实验FPGA程序设计复旦实验箱微程序控制器部件教学实验共计9个实验:(分两个实验箱完成)*课程主要内容安排原因1采用清华实验箱做简单部件实验,是因为各部件的开关和信号灯十分完善能够清楚的观察到实验的结果;但对于微程序控制器实验的设计存在一定的不可操作性,对大家理解微程序控制下的控制器工作不够明确。2采用复旦实验箱完成微程序控制器部件实验,能够充分利用实验箱上的键盘和微型打印机得到所见即所得的打印结果,并且能够细致观察到微程序下每条微指令的控制信号,能够将运算器工作更加细化。*课程的评分本课程共36学时,1.5学分,共9个单元。期末成绩由平时成绩累加没有考试实验报告实验结果检查课堂表现、考勤、遵守实验室纪律情况*教材与参考书教学资料讲稿(文件)及微信公众平台推送信息课程网站:ftp://210.30.97.87百度云盘:http://pan.baidu.com/s/1eQrh8Fg 提取码:mftr参考教材软件学院综合实验教程—计算机硬件综合实验大家上学期学过的计算机组成原理教材*对大家的期望和要求实验前要作充分的准备阅读相关的文献资料,找出完成实验题目的强调自学的能力实验中要勤于动手动脑强调独立解决问题的能力实验后要作深入的总结强调写作的能力*特别强调的一些规则1实验报告如有抄袭现象,一经发现取消当次实验成绩,两次及两次以上抄袭者取消课程成绩。2禁止在实验室内进食,饮用水必须放在教师指定位置,严禁将水带至实验台及饮用,违者从总成绩中递增减分。3禁止穿拖鞋进入实验室,禁止在实验课上上网聊天及游戏,违者从总成绩中递增减分。4实验结束后,必须将实验箱及桌椅复位,告知教师检查后方可离开,否则取消当次实验课堂成绩。*特别强调的一些规则(续)5迟到30分钟及早退将被视为旷课处理,病事假持假条请假,旷课3次取消课程成绩。6在实验过程中必须积极配合教师对实验结果的检查。7未经教师授权或同意,不得动用实验平台内外一切设备(尤其是电源),违者取消课程成绩并徐对损坏仪器照价赔偿。8实验课程期间在实验室内保持肃静!9实验结束后,必须将所有实验箱仪器以及桌椅板凳恢复原样,摆放整齐,并且所有你带来或制造的东西一律带走。10不得私自调课,否则无法录入成绩后果自负!!*实验箱的介绍复旦大学实验箱清华实验箱TEC-XP*实验一微程序控制的计算机实验存储器扩展实验*实验目的学习和掌握微程序控制计算机的工作原理及实现方法;初步学会程序的流程图画法及程序的模块化设计、调试方法。学会建立文本文件、表格、图形文件。*实验要求1)建立指令集文件(*.DEF指令系统)2)建立微程序文件(*.M19)3)编写二位乘法程序,通过调试观察汇编指令在微程序控制计算机中的实施过程,学会程序设计中的流程图,模块化设计及调试方法。*冯诺依曼计算机设计思想美国科学家冯·诺依曼于1946年提出了“存储程序”的设计思想,其后开发的计算机大多采用这种方式,此类计算机被称为冯·诺依曼计算机。存储程序概念:为了告诉计算机做什么事,以及按怎样的顺序去做,这就需要编制程序,使计算机能按人们所规定的顺序自动地工作。通常将程序以代码的形式事先存入计算机中,使计算机在工作时能自动高速地逐一取出并加以执行*冯诺依曼计算机构成计算机硬件基本构成按照冯·诺依曼计算机的设计思想,计算机硬件基本上由运算器、控制器、存储器、输入设备和输出设备五大部件构成。通常我们把组成计算机的这些功能部件称为硬件。*8位单累加器计算机基本结构*实验原理-微程序定义微程序:每条指令实际上分解成一系列微操作序列。因而指令的执行过程实际上就是相当于该条指令的微操作序列的执行过程。如果把统一节拍中要执行的微操作作为一条“微指令”,则一条机器指令可看做是由若干条微指令组成的。与一条机器指令相对应的微指令组成的微指令序列就叫做“微程序”。用于存放微程序的存储器叫做控制存储器*实验原理-微命令和微操作定义微命令和微操作:从微操作的角度出发可将计算机分成两部分:控制部分和执行部分。例如控制器即控制部分,而运算器、存储器及输入输出设备等相对于控制器而言即执行部分。微命令即由控制部分向执行部分发出的最基本的控制信号。微操作即是上述执行部分受到微命令后所执行的最基本的操作。可以看出,微命令与微操作实质上是同一个信号:从控制部分角度看它是微命令;从执行部分看它是微操作。可以称微命令是微操作的控制信号;而微操作是微命令控制的操作过程。*实验原理-微指令定义微指令:微指令就是若干微命令的组合常将要在同一节拍内执行的微操作所对应的微命令组合在一条微指令中。*实验原理图*控制信号S2、S1、S0:ALU功能选择S2S1S0ALU功能000F=A+B001F=A-B010F=A(带加法进位)011F=B100F=001111110101F=A(带减法借位)111F=000000000CIN:进位位X1、X0:累加器A功能选择X1X0累加器A功能11累加器A允许接数01累加器A右移操作10累加器A左移操作CG:暂存器接数允许。CP进位位CY接数允许。WRE寄存器写入允许。*控制信号OB:ALU输出允许GI:指令寄存器IR接数允许。GA1:低位地址寄存器接数允许。GA2:高位地址寄存器接数允许。PINC:PC加1信号。PL2、1、0:PC接数控制,PL2PL1PL0操作001CY010必转011notKRIX100notPRIX101禁用1XX备用*控制信号MXA1:地址多路开关选择0:PC送至地址总线AB1:ADR送至地址总线ABCWR:写存储器CRD:读存储器MPLD:MPC接数允许。图中的寄存器选择信号(RC、RB、RA)应直接来自指令码(I2、I1、I0)。以上的各个微操作信号,除了已标明的,可统一取为0有效。*实验原理-指令系统汇编码操作指令码MOVA,Ri(A)←Ri00000iiiMOVRi,A(Ri)←A00001iiiADDA,Ri(A)+(Ri)→A00100iiiSUBA,Ri(A)-(Ri)→A00101iiiMOVA,#data8data8→A00110000ddddddddMOVRi,#data8data8→Ri00111iiiddddddddLDAaddr(addr)→A01000000aaaaaaaaaaaaaaaaSTAaddr(A)→addr01001000aaaaaaaaaaaaaaaaJCaddrifCY=1thenaddr→PCelse(PC)+3→PC01010000aaaaaaaaaaaaaaaaJMPaddraddr→PC01011000aaaaaaaaaaaaaaaaJKBaddrifKRIX=0thenaddr→PCelse(PC)+3→PC01100000aaaaaaaaaaaaaaaaJPBaddrifPRIX=0thenaddr→PCelse(PC)+3→PC01101000aaaaaaaaaaaaaaaa*实验原理-微地址实现方法本实验计算机控存为1K,地址线宽度10*实验原理-微地址实现方法实例汇编码指令码微地址MOVA,Ri 00000iii00000111MOVA,#data80011000000110111JKBaddr0100000001000111从上面各例可以看出指令码的高5位决定微程序的入口地址.*实验原理-指令流程MOVA,RiT0:(PC)→AB,(M)→IR,(PC)+1→PC,(A)→ACTT1:(Ri)→ALU→DB→AMOVA,#data8T0:(PC)→AB,(M)→IR,(PC)+1→PC,(A)→ACTT1:(PC)→AB,(M)→DB→A,(PC)+1→PCLDAaddr:T0:(PC)→AB,(M)→IR,(PC)+1→PC,(A)→ACTT1:(PC)→AB,(M)→ADRH,(PC)+1→PCT2:(PC)→AB,(M)→ADRL,(PC)+1→PCT3:(ADR)→AB(M)→A*实验原理-微指令MOVA,Ri3724E00700257004MOVRi,A2120E00700257004ADDA,Ri0704E00700257004SUBA,Ri1704E00700257004MOVA,#data80725F00500257004MOVRi,#data80121F00500257004LDAaddr0125D0050125B0050725E08500257004*实验原理-微指令STAaddr0125D0050125B0052124E08300257004JCaddr0125D0050125B0050124E28700257004JMPaddr0125D0050125B0050124E48700257004JKBaddr0125D0050125B0050124E68700257004JPBaddr0125D0050125B0050124E88700257004*键盘工作原理键盘工作原理图初始状态,KRIX=0,表示键盘无数据输入。按下‘0’~‘F’任一键后,数据打入键盘数据缓冲器中(高4位为0),并置位KRIX,表示有键输入。CPU发出IOR信号,把数据读至数据总线的低8位,并清零KRIX。注意,这时如设新键盘数据输入,键盘数据缓冲器数据不变。有键输入键盘8键盘数据缓冲器DB7~0KRIXSRQIOR图2-4键盘等效框图*打印机工作原理打印机工作原理图PRIX打印完成打印启动打印机数据缓冲器DB7~0打印机SRQIOW图2-5打印机等效框图初始状态,PRIX为1,允许打印。在需要输出数据打印时,IOW发一个写脉冲(低有效),把数据总线低8位(DB7~0)上的数据打入打印机数据缓冲器中,并启动打印机从缓冲器取出数据开始打印,同时使PRIX=0(这时不允许再向打印机输出数据)。打印完成后,打印机状态PRIX置1,CPU可再次向打印机输出数据。*打印机工作原理-字轮打印机共有三个字轮,右边两个字轮为字符和符号,左边一个字符为数字。下表给出这三个字符的字符编码:     编码左中右      00G+      11KX      22√÷     33P◇      44D*      55%S      66MT      77⊿M      88+C      99—=A—B,R—C。‡%D#AE*打印机工作原理打印机开始位置在最右边。打印时,从右到左,先打印一个右边字轮的字符,第二个中轮的字符,以后打印的均为左轮的字符。打印的编码见上表。如输出的数据的高4位不等于0,则在打印完低4位的数字后自动回车换行(这也是使打印机回车的唯一方法)。所以要输出某数字后回车换行,可以输出此数字加10H。例如要输出“3”后回车,只要输出“13H”即可。对于只需回车换行,不打印数据时,可输出1AH。注:打印机具体用法可参看程序实例.*汇编程序实例(一位加法程序)ORG0伪指令—用来指出文件在内存中存放的起始位置STRT:JKBSTRTLDA8001HMOVR7,A输入第一操作数给R7L1:JKBL1LDA8001HMOVR6,A输入第二操作数给R6MOVA,#0STA8002HL2:JPBL2打印+MOVA,#0AHSTA8002HL3:JPBL3打印空格MOVA,#10HADDA,R7STA8002HL4:JPBL4打印第一操作数后回车换行MOVA,#9STA8002H*汇编程序实例L5:JPBL5打印=MOVA,#0AHSTA8002HL6:JPBL6打印空格MOVA,#10HADDA,R6STA8002HL7:JPBL7打印第二操作数后回车换行MOVA,#3STA8002HL8:JPBL8打印菱型符号MOVA,#0AHSTA8002HL9:JPBL9打印空格MOVA,R6ADDA,R7MOVR0,#10SUBA,R0将两数相加,再进行减10处理JCOVER判断结果是否大于10,是—跳转到OVER,否—顺序执行STA8002H*汇编程序实例L10:JPBL10打印个位MOVA,#11HOUT:STA8002HL11:JPBL11打印十位JMPSTRTOVER:ADDA,R0MOVR1,#10HADDA,R1JMPOUT恢复运算结果,跳转到打印个位注:第一列为标号地址,*实验操作步骤(一)建立汇编指令集打开自己编做汇编v1.0文件菜单中选择新建,弹出如下图所示对话框,选择汇编指令集,点OK。*实验步骤生成空白def文件,输入指令定义格式*在操作菜单中选择改变参数,可以定义2类指令系统,每类指令都可以选择寄存器的长度和类型输入完后要对输入的指令集格式进行检查载入(单累加器,多累加器),对操作选项设定和更改。设定完毕后可进行检查载入。实验步骤*实验步骤注:在指令集文件中的最后需要加上-ENDDEF检查载入成功后显示下图信息,如有错误可按错误提示修改。*实验操作步骤(二)编写汇编程序在文件菜单中选择新建,弹出如下图所示对话框,选择汇编程序,点OK,将生成空白ASM文件,输入汇编程序:*实验步骤*实验步骤-下载调试下载调试点击桌面impact来下载cpu的目标程序bit文件。双击impact出现如下对话框,选择ConfigureDevices,点击下一步*选SlaveSerialMode,点击完成后选择CPU8BV.bit文件。实验步骤*实验步骤*右击生成的cpu图标,执行Programming操作,进行下载。实验步骤*下载成功后提示ProgrammingSucceeded,下载完成。实验步骤*FPGA经下载烧录后成为了一颗cpu,使用通用调试器(Unidebugger)把计算机与实验仪连接,下载微指令集和汇编好的目标程序,进行联机调试。双击Unidebugger.exe程序,即启动通用调试器。程序启动界面如下:实验步骤*在这个界面下有如下三个窗口:实验步骤数据区跟踪数据区编辑区*实验步骤在该界面下首先点击系统,选择实验方式:然后会出现如下的系统设置对话框:*对本实验,实验方式为8位微程序方式,晶振频率为2MHz。总线方式为8位。按下确定后计算机与实验仪进行连接,读取微程序存储器以及RAM中的数据在数据区显示。按每条汇编指令所对应的微地址,将微程序输入到控存中:实验步骤MOVA,Ri0007H3724E0070008H00257004MOVRi,A000FH2120E0070010H00257004ADDA,Ri0027H0704E0070028H00257004SUBA,Ri002FH1704E0070030H00257004MOVA,#data80037H0725F0050038H00257004MOVRi,#data8003FH0121F0050040H00257004LDAaddr0047H0125D0050048H0125B0050049H0725E085004AH00257004*STAaddr004FH0125D0050050H0125B0050051H2124E0830052H00257004JCaddr0057H0125D0050058H0125B0050059H0124E287005AH00257004JMPaddr005FH0125D0050060H0125B0050061H0124E4870062H00257004JKBaddr0067H0125D0050068H0125B0050069H0124E687006AH00257004JPBaddr006FH0125D0050070H0125B0050071H0124E8870072H00257004实验步骤*本实验是微程序控制计算机实验,要在Micro窗口中直接输入设计的微程序。首次使用时,在微程序窗口中按照地址分配输入微程序代码。微程序全部输入完后点文件,选保存微程序,取一个文件名将文件保存,以后每次实验都要用到该文件。实验步骤*实验步骤*实验步骤在保存时,应先输入起始地址(一般为0)和结束地址(稍大于微程序的最后一条微指令的地址,保证能够将所要保存的数据都包括在内)。以后再次上机时,可用File菜单读出该微程序并下载至实验仪中。注意:微程序和汇编程序重新下载后都需要对该窗口刷新,方法是将鼠标放置到该区域,右键选刷新数据。*实验步骤输入完微程序后,则要将汇编后的目标程序(*.S19)下载至实验仪装入RAM中。*实验步骤*实验步骤在系统菜单中选择输出装置。选择菜单项“系统——输出设置——装载设置”,文件在C盘——复旦机箱——测试xc2s150文件夹下*实验步骤下载完微程序以及汇编程序,即可开始进行程序的调试。*以下功能可由调试菜单、图标或功能键执行,对应每个调试功能,均设置了相应的快捷键。另外,还有相应的工具栏快捷按钮:调试的过程中点击“扩展”然后观察“数据跟踪区”的数据变化是否符合预期实验步骤
/
本文档为【微程序控制器实验】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索