微程序控制器的设计与实现_第1页
微程序控制器的设计与实现_第2页
微程序控制器的设计与实现_第3页
微程序控制器的设计与实现_第4页
微程序控制器的设计与实现_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

课程设计题目:微程序控制器的设计与实现一、目的:1.稳固和深刻理解“计算机组成原理〞课程所讲解的原理,加深对计算机各模块协同工作的认识2.掌握微程序设计的思想和具体流程、操作方法。3.培养学生独立工作和创新思维的能力,取得设计与调试的实践经验。二、内容:按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、存放器寻址、存放器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。三、具体要求:1、仔细复习所学过的理论知识,掌握微程序设计的思想,并根据掌握的理论写出要设计的指令系统的微程序流程。指令系统至少要包括六条指令,具有上述功能和寻址方式。2、根据微操作流程及给定的微指令格式写出相应的微程序3、将所设计的微程序在虚拟环境中运行调试程序,并给出测试思路和具体程序段撰写课程设计报告。4、撰写课程设计报告。四、设计环境:伟福COP2000型计算机组成原理实验仪,微机,相关虚拟软件。五、设计方案:〔1〕、设计思想:编写一个指令系统,根据所编写的指令的功能来设计相应的微程序。首先利用MOV传送指令来给存放器和累加器传送立即数,实现立即数寻址;利用存放器寻址方式,用ADDC指令对两者进行相加运算;利用存放器间接寻址方式,用SUB指令实现减运算;利用累加器寻址方式,用CPL指令实现对累加器寻址;利用存储器寻址方式,用JMP指令实现程序的无条件跳转。这样,所要设计的指令系统的功能就全部实现了。〔2〕、微指令格式:采用水平微指令格式的设计。一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。其一般格式如下:控制字段判别测试字段下地址字段按照控制字段的编码方法不同,水平型微指令又分为三种:全水平型(不译法)微指令,字段译码法水平型微指令,以及直接和译码相混合的水平型微指令。〔3〕24个微指令的意义:模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。指令码的最低两位用来选择R0-R3存放器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。模型机有24位控制位以控制存放器的输入、输出,选择运算器的运算功能,存储器的读写。24位控制位分别介绍如下:XRD:外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。EMWR:程序存储器EM写信号。EMRD:程序存储器EM读信号。PCOE:将程序计数器PC的值送到地址总线ABUS上。EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。IREN:将程序存储器EM读出的数据打入指令存放器IR和微指令计数器uPC。EINT:中断返回时去除中断响应和中断请求标志,便于下次中断。ELP:PC打入允许,与指令存放器的IR3、IR2位结合,控制程序跳转。MAREN:将数据总线DBUS上数据打入地址存放器MAR。MAROE:将地址存放器MAR的值送到地址总线ABUS上。OUTEN:将数据总线DBUS上数据送到输出端口存放器OUT里。STEN:将数据总线DBUS上数据存入堆栈存放器ST中。RRD:读存放器组R0-R3,存放器R?的选择由指令的最低两位决定。RWR:写存放器组R0-R3,存放器R?的选择由指令的最低两位决定。CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。FEN:将标志位存入ALU内部的标志存放器。X2、X1、X0三位组合来译码选择将数据送到DBUS上的存放器。如下表所示:X2X1X0输出存放器000IN_OE外部输入门001IA_OE中断向量010ST_OE堆栈存放器011PC_OEPC存放器100D_OE直通门101R_OE右移门110L_OE左移门111没有输出WEN:将数据总线DBUS的值打入工作存放器W中。AEN:将数据总线DBUS的值打入累加器A中。S2、S1、S0三位组合决定ALU做何种运算。如下表所示:S2S1S0功能000A+W加001A-W减010A|W或011A&W与100A+W+C带进位加101A-W-C带进位减110~AA取反111A输出A〔4〕、微程序的设计:一共设计七条微程序,如下:MOVVR0,#55H立即数寻址,数据传送MOVVA,#33H立即数寻址,数据传送MOVV@R0,A将A的值存入以R0为地址的内存单元ADDCA,R0存放器寻址,带进位加SUBA,@R0存放器间接寻址,减运算CPLLA累加器寻址,求反JMPP0存储器寻址,无条件跳转在COP2000中的设计如下所截图:七条指令的流程图如下:〔1〕MOVVA,#II〔2〕MOVVR?,#II〔3〕MOVV@R?,APCPCABUSPC+1PCABUSEMAPCABUSPC+1PCABUSEMAPCABUSEMR?PCABUSPC+1R?MARMARABUSADEM〔4〕ADDCA,R?〔5〕SUBBA,@R?〔6〕CPLLAPCPCABUSPC+1PCABUSEMAPCABUSPC+1R?WR?MARPCABUSPC+1AALU(A取反)ALUAA+WALUAMARABUSEMWA-WALUALUA〔7〕JMPPMMPCPCABUSPC+1PCPCABUSEMPC详细设计:下面详细分析每条程序的设计:MOVVA,#II该指令为两个周期状态,T1状态的设计及可控制信号如下:T0状态的设计及可控制信号如下:MOVVR?,#II该指令为两个周期状态,T1状态的设计及可控制信号如下:T0状态的设计及可控制信号如下:MOVV@R?,A该指令为三个周期状态,T2状态的设计及可控制信号如下:T1状态的设计及可控制信号如下:T0状态的设计及可控制信号如下:ADDCA,R?该指令为三个周期状态,T2状态的设计及可控制信号如下:T1状态的设计及可控制信号如下:T0状态的设计及可控制信号如下:SUBBA,@R?该指令为四个周期状态,T3状态的设计及可控制信号如下:T2状态的设计及可控制信号如下:T1状态的设计及可控制信号如下:T0状态的设计及可控制信号如下:CPLLA该指令为两个周期状态,T1状态的设计及可控制信号如下:T0状态的设计及可控制信号如下:7.JMPPMM该指令为两个周期状态,T1状态的设计及可控制信号如下:T0状态的设计及可控制信号如下:六、调试过程:将上述七条指令设计完成后,在COP2000的ASM窗口中写入以下几行源程序:MOVVA,#55HMOVVR0,#22HMOVV@R0,AADDCA,R0SUBA,@R0CPLLAJMPP0然后分别保存指令和文件,发现程序代码颜色会发生改变,点击复位按钮后进行单微指令的测试。MOVVA,#55H测试结果如图:说明立即数55已经写入累加器A中。MOVVR0,#22H测试结果如图:说明立即数22已经写入存放器R0中。MOVV@R0,A测试结果如图:说明累加器中A的直55已经写入以R0为地址的内存单元中。ADDCA,R0测试结果如下:先将R0中的22传送的W中。将A与W通过ALU相加,并把结果通过直通门返回到累加器A中。SUBA,@R0测试结果如下:先将R0的地址读出并送入地址存放器MAR中。MAR将地址输出到ABUS,EM读出该地址的数据并将该数据55传送到W中。A与W通过ALU相减,得到的结果通过直通门返回到累加器A中。CPLLA测试结果如下:将累加器A中的22进行取反操作,结果为DD返回到A。JMPP0测试结果如下:PC将地址输出到ABUS,EM将值为0打入回PC,说明下条指令从0地址开始运行。问题与解决方法:程序在运行完中间某个指令后自动中断操作。解决方法:忘记在该指令的最后一个周期设计取指令操作,加上该微指令即可。在进行MOVV@R?,A的操作时,无法将A的值写入内存。解决方法:控制信号中的EM_WR没有置为低电平,将该信号设为有效位即可写入。跳转操作在第一次可顺利完成,但在第二次会出现错误。解决方法:控制信号EM_RD应设为有效位,即允许读内存的信息。七、心得体会:本次课程设计为计算机组成原理微程序控制器的设计与实现,由于条件限制,我们的设计环境是用COP2000来完本钱次课程设计。起初,对于这样一个新接触的陌生软件,我无从下手,因为在平时的试验中直接触过一次用该软件设计一个加法操作,所以想用该软件实现多种寻址方式和各种操作还是比拟困难的。所以,我首先通过该软件的使用手册以及上网搜寻相关资料来熟悉该软件的界面以及各种操作,其次再通过本次课程设计的要求来一步步设计微指令,从而更加熟悉用COP2000来实现微程序的设计的方法。在本次课程设计中,是我感受最深的是不管要进行何种课程设计,必须首先要有一个好的设计思想和设计步骤,如果所使用平台是一个比拟陌生的软件环境的话,还要首先熟悉该软件才能在设计时防止由于准备不充分而带

温馨提示

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

最新文档

评论

0/150

提交评论