硬布线设计实验报告#内容清晰_第1页
硬布线设计实验报告#内容清晰_第2页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机组成原理实验报告 实验名称:使用硬连线控制器的CPU设计 专业班级:计算机科学与技术2010211301 学生姓名:贾晓冬 宋丽君 杨嘉宁 肖迪月 实验时间:2012.06 目录1 教学目的、实验设备与任务 1.1 教学目的3 1.2 实验设备.3 1.3 设计与调试任务.32 总体说明4 2.1 硬连线控制器的基本原理42.2 指令系统.42.3 控制台指令.52.4 数据通路.52.5 控制器指令周期流程图.52.6 控制台控制信号及作用.63 设计方案73.1说明及流程图.73.2 逻辑状态表.84设计的实现104.1 ABEL源代码.104.2组装、调试及管脚连线.114.3数据

2、测试及结果.135本次设计的体会14一、 教学目的、实验设备与任务 教学目的1. 融会贯通计算机组成原理课程和计算机系统结构课程的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识。2. 掌握硬连线控制器的设计方法3. 学习运用大容量可编程器件开发技术,掌握设计和调试的基本步骤和方法,体会ISP技术的优点。4. 培养科学研究能力,取得设计与调试的实践经验。 实验设备TEC-5计算机组成原理实验系统 一台Pentium3以上微型计算机 一台逻辑测试笔 一支 设计与调试任务1. 按给定的数据格式和指令系统,利用大容量ISP可编程器件,设计一台硬布线控制器组成的处理机2. 根

3、据设计,在TEC-5实验系统中进行调试。3. 在调试成功的基础上,整理出设计图纸和其他文件2、 总体说明1、 硬连线控制器的基本原理硬布线控制器的基本原理是,每个微操作控制信号S是一系列输入量的逻辑函数,即用组合逻辑电路来实现,S = f( Im, Mi, Tk, Bj )其中Im是机器指令操作码译码器的输出信号,Mi是节拍信号发生器的节拍信号,Tk是时序信号发生器的时序信号,Bj是状态条件判断信号。在TEC5实验系统中,时序信号Tk(T1T4)已经直接输送给数据通路;因为机器指令系统比较简单,操作码只有位,省去操作码译码器,用Im直接作为操作码,即指令寄存器的IR4IR7信号。Mi的来源就是

4、时序模块的节拍信号,例如W3W1。Bj的信号包括:来自数据通路中运算器ALU的进位信号C;来自控制台的开关信号SWC、SWB、SWA;其他信号。其中C、SWC、SWA和SWB信号在微程序控制器中同样存在。每个控制信号的函数式都是上述输入信号的逻辑表达式,因此可以用组合逻辑构造电路。只要对所有控制信号都设计出逻辑函数表达式,这个硬布线控制器的方案也就得到了。2、 指令系统,由老师幻灯片中给出3、 控制台指令SWCSWB SWA操作000启动程序(PR)001写存储器(WRM)010读存储器(RRM)011写寄存器(WRF)100读寄存器(RRF)4、 数据通路5、 控制器的指令周期流程图 由老师

5、幻灯片给出6、 控制台控制信号及作用控制信号信号有效条件C在加法和减法运算时产生的进位信号RAM-BUS_存储器数据送数据总线DBUS信号。为0时将指令送往指令总线IBUSALU-BUS_ALU输出三态门使能信号,为0时将ALU运算结果送DBUSRS-BUS_通用寄存器右端口三态门使能信号。为0时将RF的B端口数据送DBUSSW-BUS_将SW7-SW0的数据送往DBUSLDRi双端口寄存器堆写入信号。为1时将数据总线上的数据再T3的上升沿写入由WR1/WR0指定的寄存器LDDR2对操作数寄存器DR2进行加载控制信号。为1时在T2的上升沿将由RS1、RS0指定的寄存器中的数据打入DR2LDDR

6、1对操作数寄存器DR1进行加载控制信号。为1时在T2的上升沿将由RD1、RD0指定的寄存器中的数据打入DR1LDAR_对AR进行加载的控制信号,为0时在T2的上升沿将数据总线上的数据打入ARAR_1AR+1LDPC_程序计数器PC接受来自DBUS的地址PC_1PC+1LDIR将来自RAM的指令打入指令寄存器IRTJ停机命令,关闭时序信号SKIP使节拍发生器在任意状态下直接跳到最后1拍S3/S2/S1/S0选择ALU的运算类型M选择ALU的运算模式:M=1时逻辑运算,M=0时算术运算Cn_ALU最低位的+1信号,为0时,ALU最低位LRW_当LRW_=1且CEL_=0时,对双端口存储器左端口进行

7、读操作当LRW_=0且CEL_=0时在T2节拍对左端口进行写操作CEL_双端口存储器左端口使能信号。为0时允许对左端口读、写CER_双端口存储器右端口使能信号。为0时将指令送往指令总线IBUS3、 设计方案1、说明硬布线控制器以节拍为时间单位,1拍是从时序T1的上升沿到T4的下降沿的一段时间。在硬布线控制流程图中,1个执行框代表1拍。决定执行一条指令需要的节拍数,要根据所有指令而定。既不能只考虑某些需要最多节拍的指令,也不能只考虑节拍数最少的指令,一般要根据大多数机器指令所需的节拍数而定,设计才比较合理。在本实验中,由于选用3拍对大多数指令就够用,所以节拍发生器产生3个节拍信号(W1W3)。统

8、一用3拍执行1条机器指令后,对于所需节拍较少的的指令,为减少浪费,在时序电路中加入了一个控制信号SKIP的输入,该信号的作用是使节拍发生器在任意状态下直接跳到最后1拍(W3)。这样,设计控制流程时,在所需节拍较少的的指令流程的适当位置使SKIP控制信号有效,多余的节拍就可以跳过,从而提高了性能。机器指令选用3拍以后,将一条机器指令的执行化为占用两条(或者更多)机器指令的节拍,执行一条指令就可以占用W1、W2、W3、W1、W2、W3。为了区分一条指令的两个不同阶段,我们加了个ST内部信号作为标志位,当ST0=0时,标志执行指令的前3个节拍,当ST0=1时,标志执行指令的后3个节拍。同时设置了一个

9、SSTO信号作为ST信号的触发信号。具体流程图如下:2、 逻辑状态表4、 设计的实现(ABEL-HDL)1、ABEL语言源代码如下:MODULE ControllerDECLARATIONS输入管脚SWC,SWB,SWA PIN;IR7,IR6,IR5,IR4 PIN;W1,W2,W3,MF,T1,C,CLR PIN;输出管脚RAM_BUS_,ALU_BUS_,RS_BUS_,SW_BUS_,LDIR,LDAR_,AR_1,LDPC_,PC_1,S3,S2,S1,S0,Cn_,M,LDDR2,LDDR1,TJ,SKIP,CEL_,CER_,LRW_, LDRi PIN;自定义MF1,SSTO

10、NODE ISTYPE COM;RUN,STO NODE ISTYPE REG;RRF,WRF,RRM,WRM,RP,ADD,SUB,AND,STA,LDA,JC,STP,OUT NODE ISTYPE COM;CLK=.C.;EQUATIONSMF1=!CLR&MF#T1&CLR;RUN:=CLR;RUN.CLK=MF1;STO:=CLR&SSTO#CLR&STO;STO.CLK=MF1;SSTO=!STO&W3&RUN;指令译码RRF=SWC&(!SWB)&(!SWA);WRF=(!SWC)&SWB&SWA;RRM=(!SWC)&SWB&(!SWA);WRM=(!SWC)&(!SWB)&S

11、WA;RP=(!SWC)&(!SWB)&(!SWA);ADD=(!IR7)&(!IR6)&(!IR5)&(!IR4)&RP&STO;SUB=(!IR7)&(!IR6)&(!IR5)&IR4&RP&STO;AND=(!IR7)&(!IR6)&IR5&(!IR4)&RP&STO;STA=(!IR7)&(!IR6)&IR5&IR4&RP&STO;LDA=(!IR7)&IR6&(!IR5)&(!IR4)&RP&STO;JC=(!IR7)&IR6&(!IR5)&IR4&RP&STO;STP=(!IR7)&IR6&IR5&(!IR4)&RP&STO;OUT=(!IR7)&IR6&IR5&IR4&RP&ST

12、O;管脚译码LRW_=!(RRF#WRF#WRM)&STO&W1#STA&W3);CEL_=!(RRF#WRF#RRM#WRM)&W1&STO#(STA#LDA)&W3);CER_=!(RRF#WRF)&W2&STO#W1&RP&STO);RAM_BUS_=!(RRM&W1&STO#W3&LDA);ALU_BUS_=!(W3&(ADD#SUB#AND#STA);RS_BUS_=!(W3&(RRF&STO#OUT#JC&C)#W2&(STA#LDA);SW_BUS_=!(W3&(!STO)&(RRF#WRF#RRM#WRM#RP)#W3&STO&WRF#W1&STO&(RRF#WRF#WRM);

13、LDRi=W3&(WRF&STO#ADD#SUB#AND#LDA);LDDR2=W2&(ADD#SUB#AND);LDDR1=W2&(ADD#SUB#AND#STA);LDAR_=!(W3&(!STO)&(RRF#WRF#RRM#WRM)#W2&(STA#LDA);AR_1=W3&STO&(RRM#WRM);LDPC_=!(W3&(!STO&(RRF#WRF#RP)#JC&C);PC_1=W3&(ADD#SUB#AND#STA#LDA#STP#OUT)#W2&JC;LDIR=!CER_;TJ=W1&STO&RRM#W2&STO&WRF#W3&(!STO)&(RRF#WRF#WRM)#STO&(

14、RRF#WRF#WRM)#STP#OUT);SKIP=W1&(!STO)&(RRF#WRF#RRM#WRM#RP)#STO&(RRM#WRM);S3=W3&(ADD#AND#STA);S2=W3&(SUB#STA);S1=W3&(SUB#AND#STA);S0=W3&(ADD#AND#STA);M=W3&(AND#STA);Cn_=!(W3&SUB);END2、 组装与调试 对程序进行编译,无误后下载到芯片 连线,调试 连线按照ABEL程序里面对管脚的定义连线第一步:检查全部硬布线控制流程,以单拍(DP)方式执行指令。进行的顺序也是先执行控制台命令,然后执行机器指令。当全部控制流程图检查完毕后

15、,数据通路的执行部件(运算器,存储器等)功能正确;第二步:在内存中装入包括有全部指令系统的一段程序和有关数据,进一步可采用单步(DB)方式或连续方式执行,以验证机器执行指令的正确性;第三步:编写一段表演程序,令机器运行。管脚连线: Pin Name Pin Assignment Pin Type, Pin Attribute TJ 3 Output, PULLUP CLR 4 Input, PULLUP LDIR 5 Output, PULLUP LDAR_ 6 Output, PULLUP RAM_BUS_ 7 Output, PULLUP CER_ 8 Output, PULLUP T1

16、9 Input, PULLUP S2 10 Output, PULLUP LRW_ 11 Output, PULLUP LDDR2 12 Output, PULLUP M 13 Output, PULLUP W2 14 Input, PULLUP SWA 15 Input, PULLUP SWC 16 Input, PULLUP IR4 18 Input, PULLUP PC_1 26 Output, PULLUP IR5 27 Input, PULLUP RS_BUS_ 28 Output, PULLUP LDPC_ 29 Output, PULLUP SKIP 30 Output, PUL

17、LUP CEL_ 31 Output, PULLUP SW_BUS_ 32 Output, PULLUP IR6 33 Input, PULLUP LDDR1 35 Output, PULLUP ALU_BUS_ 37 Output, PULLUP S1 54 Output, PULLUP S3 46 Output, PULLUP CN_ 47 Output, PULLUP LDRI 48 Output, PULLUP S0 50 Output, PULLUP MF 57 Input, PULLUP C 59 Input, PULLUP SWB 60 Input, PULLUP IR7 69

18、Input, PULLUP W3 70 Input, PULLUP AR_1 71 Output, PULLUP W1 73 Input, PULLUP寄存器和内存单元内容:计算结果:五、本次设计的体会贾晓冬: 这次小组做实验其实还是挺开心的,而且在开始做之前有一个大体的计划,所以等到真正开始做的时候没有手忙脚乱,而且合作的很好。不过做的过程中也确实发现了很多问题,比如说ABEL语言的标识符只能有字母、数字和下划线组成,或者里面的一个小小的逗号由于格式不对都能导致错误,各种奇奇怪怪的错误都在做的过程中出现了,不过幸好在大家的合作下都能找出来,虽然有时候找的过程很痛苦。其实我的主要任务就是各种找

19、错,比如说在译码表和程序出来之后找错啊什么的,还有就是参与讨论,理清原理。说起来很简单,但是其实做起来还是比较费时的,因为程序或者表格做出来,然后就需要一个一个的去对流程图,稍有不慎就有可能把错误忽略过去,不过由于是大家一起在做,所以也没有觉得有多难,还是那句话吧,三个臭皮匠顶一个诸葛亮,虽然几个人的水平都没那么高,但是一起合作可以找出很多忽略的地方,纠正很多一个人想不到的错误,所以效率也就提高。总之这次试验做的很成功也很高兴,全都仰仗大家的合作。宋丽君:硬布线控制器是依赖于组合逻辑而实现的,而老师在课堂上对微程序控制器讲解得比较多,所以在微程序控制器方面掌握的知识对我们研究硬布线控制器是很有帮助的。因为在数字逻辑课上,老师讲授的是VHDL语言,所以大多数同学选择用VHDL语言编写代码。但是,经我们小组的仔细研究讨论,我们觉得相比于VHDL语言,ABEL语言显得更精练,更易于编写,所以我们决定在网上搜集资料来自主学习ABEL语言。在用ABEL语言编写代码的时候,主要是逻辑表达式的编写,其实也没有什么特别难的地方,只需按照组合逻辑译

温馨提示

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

评论

0/150

提交评论