ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:269.80KB ,
资源ID:27058466      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27058466.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机组成原理课程设计硬布线控制器的设计与实现.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机组成原理课程设计硬布线控制器的设计与实现.docx

1、计算机组成原理课程设计硬布线控制器的设计与实现硬布线控制器的设计与调试 教学目的、任务与实验设备教学目的熟练掌握实验5和硬布线控制器的组成原理与应用。复习和应用数据通路及逻辑表达式。学习运用ISP(在系统编程)技术进行设计和调试的基本步骤和方法,熟悉集成开发软件中设计调试工具的使用,体会ISP技术相对于传统开发技术的优点。教学任务按给定的数据格式和指令系统,在所提供的器件范围内,设计一台硬布线控制器控制的模型计算机。根据设计图纸,在通用实验台上进行组装,并调试成功。 在组装调试成功的基础上,整理出设计图纸和其他文件。TEC4计算机组成原理实验系统一台 直流万用表一只集成电路建议使用ISP芯片(

2、一片ispLSI1032)。采用ISP器件,则需要一台PC机运行设计自动化软件(例如ispEXPERT)作设计、编程和下载使用。总体设计思路(描述指令系统,给数据通路)采用与模型计算机相同的指令系统,即12条机器指令。实验设计中采用该指令系统的子集:去掉中断指令后的3条机器指令,只保留9条指令。采用的数据通路和微程序控制器方案相同。数据通路图和数据通路控制信号DBUS图4 数据通路总体图控制器的设计思路硬布线控制器能够实现控制功能,关键在于它的组合逻辑译码电路。译码电路的任务就是将一系列有关指令、时序等的输入信号,转化为一个个控制信号,输出到各执行部件中。根据硬布线控制器的基本原理,针对每个控

3、制信号S,可以列出它的译码函数S = f( Im, Mi, Tk, Bj )其中Im是机器指令操作码译码器的输出信号,Mi是节拍信号发生器的节拍信号,Tk是时序信号发生器的时序信号,Bj是状态条件判断信号。在TEC4计算机组成原理实验系统中,因为时序信号Tk(T1T4)已经直接输送给数据通路,所以译码电路不需Tk作为输入。又因为机器指令系统比较简单,操作码只有位,不需要专门的操作码译码器,因此Im直接就是操作码,即指令寄存器的IR4IR7信号。Mi的来源就是时序模块的节拍信号,例如W4W1。Bj的信号包括:1.来自数据通路中运算器ALU的进位信号C; 2.来自控制台的开关信号SWC、SWB、S

4、WA; 3.其他信号。其中C、SWC、SWA和SWB信号在微程序控制器中同样存在,不用加以解释。由于硬布线控制器设计和微程序控制器设计的不同需求和特点以及控制器的设计方案的不同,可能需要其他信号,也可能不需要其他信号,根据设计方案而定。 每个控制信号的函数式都是上述输入信号的逻辑表达式,因此可以用各种组合逻辑构造电路网络,实现这些表达式的逻辑功能。理论上,只要对所有控制信号都设计出译码函数,这个硬布线控制器的方案也就得到了。根据要求,列出所需的控制台指令和机器指令老师提供的控制台指令流程图 :在这个控制台里,我们将控制台指令KRR,KRD,KWE,KLD,PR分别拆分为KRR1,KRR2,KR

5、D1,KRD2,KWE1,KWE2,KLD1,KLD2和PR1,PR2。每个小指令分别占用W1-W4四个节拍。分2次执行完成。控制台控制信号作用:设计方案设计硬布线控制器的控制流程,也就是解决Mi、Im、Bj如何起作用的问题。设计微程序控制器时可以使用流程图,设计硬布线控制器同样可以使用流程图。微程序控制器的控制信号以微指令周期为时间单位,硬布线控制器以节拍为时间单位,两者本质上是一样的,1拍和1个微指令周期都是从时序T1的上升沿到 T4的下降沿的一段时间。在微程序控制流程图中,1个执行框代表1个微指令周期,而在硬布线控制流程图中,1个执行框就代表1拍。执行一条机器指令所需的微指令数目,在硬布

6、线控制器中相当于机器指令所需的节拍数。决定执行一条指令需要的节拍数,要根据所有指令而定。既不能只考虑某些需要最多节拍的指令,也不能只考虑节拍数最少的指令,一般要根据大多数机器指令所需的节拍数而定,设计才比较合理。在本实验中,由于选用4拍对大多数指令就够用,所以节拍发生器产生4个节拍信号(W1W4)。统一用4拍执行1条机器指令后,对于所需节拍较少的的指令,例如JMP指令只用2拍(忽略中断),剩下2拍就无事可做了。这在可行性上当然没有问题,但在性能上就打了折扣,因为多余的节拍都浪费掉了。为减少浪费,在时序电路中加入了一个控制信号SKIP的输入,该信号的作用是使节拍发生器在任意状态下直接跳到最后1拍

7、(W4)。这样,设计控制流程时,在所需节拍较少的的指令流程的适当位置使SKIP控制信号有效,多余的节拍就可以跳过,从而提高了性能。机器指令选用四拍以后,将一条机器指令的执行化为占用两条(或者更多)机器指令的节拍,执行一条指令就可以占用W1、W2、W3、W4、W1、W2、W3、W4。为了区分一条指令的两个不同阶段,我们加了个ST内部信号作为标志位,当ST=0时,标志执行指令的前四个节拍,当ST=1时,标志执行指令的后四个节拍。注意到只有CLR#到来后的第四拍时ST信号才发生翻转,所以又设了一个SSTO信号作为ST信号的触发信号。具体实现ST-SSTO模块如下:我们增加了一个标志位RUN,由于按C

8、LR#按钮复位后,实验系统的时序停止在T4,W4,ST的值为0,这样SSTO=!ST&W4的值为1.按QD启动按钮后,由于立即产生T1信号,在T1的上升沿使ST置1,在第一组W1,W2,W3,W4时,ST的值为1,这是我们不希望看到的。增加了标志位RUN后,按CLR#按钮复位,使RUN为0。由于SSTO=!ST*W4*RUN,因此复位后的SSTO=0.按QD启动按钮,在T1的上升沿,使RUN=1。根据SSTO的布尔表达式,在W1,W2,W3时,SSTO=0,直到W4时,才使SSTO=1,由于ST:=CLR#*SSTO#CLR*ST,在W4过后的下一个T1的上升沿,才使ST置1,从而将控制台操作

9、的两种状态区分开来。根据控制台指令设计出的硬布线控制器:逻辑状态表:根据硬布线指令流程图画出状态表,然后根据表格,列写出每个信号的逻辑表达设计的实现(ABEL-HDL)ABEL语言源代码如下:MODULE Compute DECLARATIONS输入管脚SWC, SWB, SWA PIN 3.5;IR7, IR6, IR5, IR4 PIN 6.9;MF,T1, W1,W2,W3,W4, C,CLR PIN 10.17;输出管脚ALU_BUS, AR1_INC, CEL, CER, LDAR1, LDAR2, LDDR1, LDDR2, LDER, LDIR, LDPC, LDR4,LRW P

10、IN 29.41;PC_INC,PC_ADD,RS_BUS,SW_BUS, WRD, SKIP, TJ, M1,M2,M3,M4,S0,S1,S2 PIN 45.58; 自定义MF1,SSTO NODE ISTYPE COM;RUN,ST NODE ISTYPE REG;tKRR,tKRD,tKWE,tKLD,tPR NODE ISTYPE COM;KRR1,KRD1,KWE1,KLD1,PR1,KRR2,KRD2,KWE2,KLD2,PR2 NODE ISTYPE COM; ADD,SUB,MUL,AND,LDA,STA,JMP,JC,STP NODE ISTYPE COM;CLK=.C.;

11、EQUATIONSMF1=!CLR&MF#T1&CLR;RUN:=CLR;RUN.CLK=MF1;ST:=CLR&SSTO#CLR&ST;ST.CLK=MF1;SSTO=!ST&RUN&W4;指令译码部分tKRR=SWC&!SWB&!SWA;tKRD=!SWC&!SWB&SWA;tKWE=!SWC&SWB&!SWA;tKLD=!SWC&SWB&SWA;tPR=!SWC&!SWB&!SWA;KRR1=!ST&tKRR;KRR2=ST&tKRR;KRD1=!ST&tKRD;KRD2=ST&tKRD;KWE1=!ST&tKWE;KWE2=ST&tKWE;KLD1=!ST&tKLD;KLD2=ST&t

12、KLD;PR1=!ST&tPR;PR2=ST&tPR;ADD=PR2&(!IR7)&(!IR6)&(!IR5)&(!IR4);SUB=PR2&(!IR7)&(!IR6)&(!IR5)&(IR4);MUL=PR2&(!IR7)&(!IR6)&(IR5)&(!IR4);AND=PR2&(!IR7)&(!IR6)&(IR5)&(IR4);LDA=PR2&(!IR7)&(IR6)&(!IR5)&(IR4);STA=PR2&(!IR7)&(IR6)&(!IR5)&(!IR4);JMP=PR2&(IR7)&(!IR6)&(!IR5)&(!IR4);JC=PR2&(IR7)&(!IR6)&(!IR5)&(I

13、R4);STP=PR2&(!IR7)&(IR6)&(IR5)&(!IR4);数据通路管脚译码ALU_BUS=(ADD#SUB#MUL#AND)&W3#(STA&W4);AR1_INC=(KRD2#KWE2)&W4;CEL=!(KRD2#KWE2#KLD2#KRR2)&W1#(W3&LDA)#(W4&STA);CER=(KLD2#KRR2)&W2#(W1&PR2);LDAR1=W4&(KRR1#KRD1#KWE1#KLD1)#(W2&LDA)#(W2&STA); LDAR2=W4&(KRR1#KLD1)#(PR2&W1);LDDR1=W2&(ADD#SUB#MUL#AND);LDDR2=LDDR

14、1#(W2&STA);LDER=W3&(KLD2#ADD#SUB#MUL#AND#LDA);LDIR=CER;LDPC=W4&(PR1#JMP#(JC&C);LDR4=LDPC;LRW=W1&KRD2#W3&LDA;M1=!LDDR1;M2=!LDDR2;M3=W4&(KRR1#KLD1);M4=W4&(PR1#JMP);PC_INC=W1&PR2;PC_ADD=W4&JC&C;RS_BUS=!(W2&(LDA#STA)#W4&(KRR2#JMP);SW_BUS=!(W1&(KWE2#KLD2#KRR2)#(W3&KLD2)#(W4&!ST);S0=SUB#STA;S1=ADD#SUB;S2=

15、MUL;SKIP=W1&!ST#(W1&(KRD2#KWE2)#(W2&(KRR2#STA)#W2&(JMP#JC#STP); TJ=W1&KRD2#W2&KLD2#W4&(tKRR#tKWE#tKLD)#W4&STP;WRD=W4&(KLD2#ADD#SUB#MUL#AND#LDA);END对程序进行编译,无误后下载到芯片。连线,调试,验收连线按照ABEL程序里面对管脚的定义连线寄存器和内存单元内容:实验开始就很考验我们的细心与操作,实验5的连线很多,虽然能够可以轻松的连出数据通路,但是在读寄存器还有读存储器时候很容易忽略一些细节。尤其是寄存器的编号设置很容易忘记怎么设,导致实验进入误区,读

16、不出来正确的数据。 编程我们是通过参考网上的程序来完成的,虽然弄清楚怎么执行的写数据和读数据的指令,但是跟自己一开始的思路还是差很多,网上的太过于简便,反而容易误导我们的思路,自己做的错误太多,只能和网上的一块调试并应用。需要注意的就是一开始写数的时候,网上的可以直接逻辑拉下来,我们只能一个个去写。这个步骤的连线没什么难的,需要注意的就是最后那5个端口不能忘了。硬布线控制器最最重要的就是数据通路和逻辑表达式的应用,不管是检测实验电路还是最后实验数据的输出,都需要掌握这些知识。本实验还涉及到了DP,DZ,DB的步骤顺序控制方式,只要掌握好数据通路就可以轻松理解这些步骤。总的来说,小学期的实验需要的不仅仅是时间还有耐心和以前所学的应用,这次的实验不仅告诉我们要牢牢掌握所学过的知识还是学会合作。参考文献:1. 计算机组成原理白中英老师编写本学期的五次实验指导书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1