计算机系统综合设计课程设计-实验计算机指令的设计(七).doc_第1页
计算机系统综合设计课程设计-实验计算机指令的设计(七).doc_第2页
计算机系统综合设计课程设计-实验计算机指令的设计(七).doc_第3页
计算机系统综合设计课程设计-实验计算机指令的设计(七).doc_第4页
计算机系统综合设计课程设计-实验计算机指令的设计(七).doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

山东建筑大学计算机科学与技术学院山东建筑大学计算机科学与技术学院课程设计说明书课程设计说明书题目:实验计算机指令的设计(七)课程:计算机系统综合设计院(部):计算机科学与技术学院专业:网络工程班级:091班学生姓名:学号:指导教师:完成日期:2011-12-312目录一、课程设计题目.4二、课程设计目的.4三、课程设计方案.4四、课程设计内容.4(一)、硬件资源.41运算器模块.42寄存器堆模块.43指令部件模块.54内存模块.55总线缓冲模块.56微程序控制模块.57启停和时序模块.68整机逻辑框图.6(二)、设计指令.81、指令操作数寻址方式及其代码.82、指令执行流程.9(三)、确定微操作控制信号及其实现方法.111、设计微指令格式.112、微程序控制方式.123、设计实验接线表.124PLD方程.14(四)、指令编码及微程序.16(五)、程序调试.19五、结论.21六、参考文献.223山东建筑大学计算机学院山东建筑大学计算机学院计算机系统综合设计计算机系统综合设计课程设计任务书课程设计任务书设计题目实验计算机指令的设计(七)指导教师岳斌班级网络091学生李庆贺,姜继超,聂鹏已知技术参数和设计要求1、使用FD-CES实验仪2、主要模块:运算器、寄存器、指令部件、内存、总线缓冲、微程序控制、启停和时序模块。3、完成以下6条指令的设计:SUBARiMOVA#DATAMOVRiALDAaddrSTAaddrHALT设计内容与步骤1、运算器采用单累加器多寄存器结构,操作数寻址方式采用直接地址寻址,立即数寻址,寄存器直接寻址。2、程序、微程序的设计、调试。3、设计程序验证这6条指令的执行情况。4、课程设计说明书。设计工作计划与进度安排1、调试工具4学时2、设计语言ABL-HDL12学时3、FD-CES实验仪功能模块10学时4、指令与微程序的设计20学时5、课程设计说明书14学时设计考核要求1、考勤20%2、课程设计说明书50%。3、成果演示30%4指导教师(签字):教研室主任(签字):计算机科学与技术学院制一、课程设计题目一、课程设计题目实验计算机指令的设计(七)5二、课程设计目的二、课程设计目的在学习了专业基础课计算机组成原理A和系统结构课程的基础上,通过设计简单实验计算机的部分指令,加深对计算机硬件结构和系统软件的认识,初步掌握计算机指令的设计与使用方法。通过本次课程设计,即实验计算机指令的设计,进一步了解了指令系统的概念和操作过程以及计算机在执行指令时的指令执行过程。并且学习了解和初步掌握了指令系统的设计,有了设计专用计算机的初步基础。加深了对计算机软硬件结构和专用计算机的设计的认识。三、课程设计方案三、课程设计方案基于FD-CES实验箱的硬件模块平台,通过PC机和可编程逻辑(PLD)电路实验板,完成简单实验计算机的部分指令的控制信号线的连接、编码、微程序的设计,在FD-CES实验箱的控制台上运行用所设计的指令编写的程序,验证设计指令的正确性。四、课程设计内容四、课程设计内容(一)(一)、硬件资源、硬件资源1运算器模块该模块(ALU)的构成有:累加器A(74198)、运算器ALU(741812)、累加器存器ACT(74377)、暂存器(74373)、输出缓冲器BUFFER(74245),以及进位产生线路、累加器判零线路等构成。2寄存器堆模块寄存器堆模块由两片74670(U12、U13)组成,提供4个8位的通用寄存器。它们可以作为运算器中的通用寄存器R0-R3使用,也可以作为累加器A0-A3使用。3指令部件模块该部件由指令寄存器、程序计数器和指令译码器三部分组成。各部分的作用如下:指令寄存器:用来存放计算机当前执行的指令码,其基本组成是操作码和操作数址码。程序计数器:也叫作指令地址寄存器,用来存放下一条指令或者下一指令字节的址码,加一处于读数状态,当遇到转移指令且转移条件满足时接收转移地址。6指令译码器:用来翻译操作码,以产生相应的控制信号。4内存模块内存模块是由一片20488bit的静态RAM电路6116及其操作控制电路组。块最高位地址A1固定接地,内存模块(MEM)为用户提供有效的内存空间是1K节。停机时,可由控制台对其读写;运行时,可由实验计算机对其读写。5总线缓冲模块本实验的实验仪有两组总线:宽8bit的内部数据总线IDB和外部数据总线ODB,宽11bit的内部地址总线IAB和外部地址总线OAB,它们将实验设计的基本功能模块连接起来。总线缓冲模块(BUS)用于对总线信息进行控制传送和驱动。该模块由三态总线传输(两片74245、一片74125)组成。其中一片74245用于控制数据总线的双向传送,另一片74245和一片74125用于控制地址总线的单项传送。6微程序控制模块该模块(MPG)主要由11位微地址计数器MPC(741633)、2K24bit的CM(61163),以及24位微指令寄存器MIR(742773)组成。停机时,控存可由控制台读或写;运行时,控存处于读状态。7启停和时序模块启停和时序模块()由运行触发器RUN(7474)、脉冲延迟电路(双单稳74123)等构成。用于产生RO、RF、!、MICP等信号。8整机逻辑框图(见图一)7图一整机逻辑框图8(二)(二)、设计指令、设计指令1、指令操作数寻址方式及其代码根据FD-CES提供的硬件条件,但累加器多寄存器结构的实验计算机指令的操作数寻址方式有以下几种:(1)直接地址寻址11位操作数地址由指令第一字节低三位和第二字节8位直接给出。例:LDAaddr(addr)ASTAaddr(A)addr注:a10=0addr为内存地址;a10=1addr为外设地址。(2)寄存器直接寻址(3)寄存器间接寻址(4)立即数寻址2、指令执行流程根据实验计算机逻辑图设计指令系统中每条指令的执行流程。(1)首先给内存地址50H赋值40H(2)MOVA,#data指令功能为:dataA需执行如下操作:(PC)IABOAB;程序计数器PC内容作访问内存地址(M)ODBIDBIRl;读出指令字节送指令寄存器IR1(PC)+1PC;PC加1,为取下条指令字节准备(PC)IABOAB;根据PC访内存(M)ODBIDBA;取出本指令第二字节(即data)送A(PC)+1PC;PC加1,为取下条指令字节准备11位操作数地址操作码a100a9a8a7a6a5a4a3a2a1a0第一字节第二字节RCB2B3CIGIP+1CKX0X1CABRCPCOB1B2B3P+1CKPCOB19(3)MOVRiA指令功能为:(A)Ri,需要执行以下操作:(ACT)-(Ri)BUFIDBRi使暂存器TMP输出高阻,读Ri寄存器内容,使ALU执行加法,结果经BUF至DB最后送到地址单元Ri(4)LDAaddr指令功能为:(addr)A,需要完成以下操作:(PC)IABOAB;程序计数器PC内容作访问内存地址(M)ODBIDBIRl;读出指令字节送指令寄存器IR1(PC)+1PC;PC加1,为取下条指令字节准备(PC)IABOAB;根据PC访内存(M)ODBIDBIR2;取出本指令第二字节(即data)送IR2(PC)+1PC;PC加1,为取下条指令字节准备I2.I1.I0(IR2)IABOAB;由IRl低3位和IR2的8位形成11位操作数地址(M)ODBIDBAi;从内存读出操作数存入Ai其中,必须同一拍;也必须同一拍;也必须同一拍;可以单独一拍或和合一拍;可单独一拍也可和、合一拍或者和合一拍。(5)SUBA,Ri指令功能为(A)-(Ri)A,需执行的操作:(PC)IABOAB;程序计数器PC内容作访问内存地址(M)ODBIDBIRl;内存该地址单元读出指令字节送指令寄存器IR1OTABRRCnMS3S2S1S0OBX0X1CARCB2B3CIGIP+1CKX0X1CABRCPCOB1B2B3P+1CKPCOB1RCB2B3WRABOIBICIGIRCB2B3P+1CKPCOB110(PC)+1PC;PC加1,为取下条指令字节准备(A)ACT;累加器A内容送累加器暂存器ACT,为ALU准备好被加数(ACT)-(Ri)BUFIDBA;使暂存器TMP输出高阻,读Ri寄存器内容,使ALU执行加法,结果经BUF至DB最后送人累加器ACn+4CY;据加法结果置进位标志CY(6)STAaddr指令功能:(A)addr,需要执行以下操作:(PC)IABOAB;程序计数器PC内容作访问内存地址(M)ODBIDBIRl;读出指令字节送指令寄存器IR1(PC)+1PC;PC加1,为取下条指令字节准备(PC)IABOAB;根据PC访内存(M)ODBIDBIR2;取出本指令第二字节(即data)送IR2(PC)+1PC;PC加1,为取下条指令字节准备I2.I1.I0(IR2)IABOAB;由IRl低3位和IR2的8位形成11位操作数地址(ACT)-(Ri)BUFIDBODB;使暂存器TMP输出高阻,读Ri寄存器内容,使ALU执行加法,结果经BUF至DB最后送到ODB(7)HATL指令功能:表示指令执行结束CCCGOTABRRCnMS3S2S1S0OBX0X1CASASBCPRCB2B3CIGIP+1CKX0X1CABRCPCOB1B2B3P+1CKOIBIPCOB1OTABRRCnMS3S2S1S0OBX0X1CA11(三)(三)、确定微操作控制信号及其实现方法、确定微操作控制信号及其实现方法1、设计微指令格式微指令采用全水平不编码直接控制的格式,因为微指令长24位,所以最多有24位微操作控制信号可由微码直接实现。本实验计算机24位长的微指令分成6段定义,。22、微程序控制方式微程序控制方式确定微程序入口地址形成方法:比较简易的方法是以指令操作码(8位)为核心,扩展成11位的微程序地址即MD1OMDO,这种方法称为“按操作码散转”。如果指令系统仅8条指令,IRl的I7.I6.I5为指令操作码,每条指令执行不超过4拍,即微程序可由多至4条微指令组成,则可按照下面a方法中的图示生成微地址的首地址。a方法本实验入口地址形成采用“按操作码散转”的方法,即以指令操作码(8位)为核心,扩展成11位的微程序地址即MD10MD0。具体接线方法如下:MD10MD5MD4MD3MD2MD1MD0“0”I7I6I5“1”指令操作码I7I6I5微指令首地址MD10MD0000003H001007H01000BH01100FH100013H101017H11001BH11101FH按指令操作码散转b控存的顺序控制方法本实验采用计数增量的方法来确定控存的下地址。也就是说,每段微程序执行过程中MPC加1计数,指向下一条微指令地址。3、设计实验接线表a)运算器模块ZC=!(M20CLK)CP=!(M21CLK)12SA=M16X0=M16SB=M17X1=M17P0=CYP1=A0SR=A0P2=A7SL=A7CA=!CLKS3=M15S2=M14S1=M13S0=M12Cn=M19M=M18CG=M11CC=!CLKOB=M8OT=M10CT=1b)寄存器堆模块WR=!(M0CLK)RR=M1A=I0B=I1c)指令部件模块CL=!(M14CLK)P+1=M6GI=M7CI=!CLKCK=P0CLR=1OI=M23d)内存模块RC=M2#!CLKWC=M3#!CLKe)总线缓冲模块B1=RFB2=RFB2=RC#(IAB2IAB0)KA=IAB0PA=IAB1f)启停和时序模块DR=M5RCP=!CLKh)为程序控制模块MLD=M4MP+1=1MCLK=P0MIG=013MD10=0MD9=1MD8=0MD7=0MD6=0MD5=0MD4=I7MD3=I6MD2=I5MD1=1MD0=14PLD方程MODULECESBtitleThisisanexampleforhowtousePLDBoardDefineComputerOutputPins:BLOCK1IAB10PIN45IAB9PIN44IAB8PIN43IAB7PIN42IAB6PIN41IAB5PIN40IAB4PIN39RCPIN34WCPIN32IDB0PIN30B2PIN31IDB1PIN29IDB2PIN28IDB3PIN27IDB4PIN26I0PIN22I1PIN21I2PIN13I3PIN12PCOPIN7PINCPIN6LPPIN5GIPIN4OIPIN3BLOCK2CLPIN2RRPIN128WRPIN127SBPIN126SAPIN125APIN99BPIN100P1PIN123P2PIN56CGPIN124CYPIN110CTPIN122OTPIN12114ZDPIN20CPPIN120S3PIN119S2PIN118S1PIN117S0PIN109MPIN108CNPIN107SRPIN106SLPIN105X0PIN104X1PIN103A7PIN84A0PIN51OBPIN102ROPIN78DRPIN101CLKPIN46BLOCK3M23PIN98M22PIN96M21PIN95M20PIN94M19PIN93M18PIN92M17PIN91M16PIN90M15PIN89M14PIN88M13PIN87M12PIN86M11PIN85M10PIN77M9PIN76M8PIN75MD8PIN66MD7PIN63MD6PIN62MD5PIN61MD4PIN60MD3PIN59M7PIN74M6PIN73M5PIN72M4PIN71M3PIN70M2PIN69M1PIN68M0PIN67MD2PIN58MLDPIN57BLOCK4MIG=0PAPIN55KAPIN53PBPIN54KBPIN52READNODE15EQUATIONSDefineConnectionsandLogic:ALUCP=!(M21CLK)SA=M16X0=M16X1=M17SB=M17P1=A0SR=A0S3=M15S2=M14S1=M13S0=M12CN=M19M=M18CG=M11OB=M8OT=M10CT=1REGWR=!(M0CLK)RR=M1A=I0B=I1I-PCCL=!(M22CLK)PINC=M6GI=M7OI=M23PCO=!M6LP=(!M9)(!I4!I3ZD#!I4I3CY#I4!I3A0#I4I3)MEMRC=M2#!CLKWC=M3#!CLKBUSB2=M2#IAB2IAB10KA=IAB0PA=IAB1IDB0=KBIDB7=KAIDB0.OE=READIDB7.OE=READREAD=!(M2#!(IAB10IAB2)R-PDR=M5MPGMLD=M4MD7=0MD6=0MD5=0MD4=I716MD3=I6MD2=I5ENDCESB(四)(四)、指令编码及微程序、指令编码及微程序1.指令编码指令助记符指令功能指令微编码I7I6I5I4I3I2I1I0节拍微操作控制信号控制信号有效性取指微指令T0(PC)IABOAB(M)ODBIDBIR1(PC)+1PC(MD)MPC接数(A)ACTPCOB1RCB2B3CIGIP+1CKMLDCCCG000000100MOVA#datadataA00100000DATAT1(PC)IABOAB(M)ODBIDBA(PC)+1PCPCOB1RCB2B3X0X1CAP+1CK00000111MOVRiA(A)Ri0010001RiT1(ACT)BUFIDBRiCnMS3S2S1S0OBWRAB10000000I1I0SUBARi(A)-(Ri)A011001RiT1(ACT)-(Ri)BUFIDBA置CYRRABCnMS3S2S1S0OBX0X1CASASBCP0I1I000011001111T1(PC)IABOAB(M)ODBIDBIR2(PC)+1PCPCOB1RCB2B3CLP+1CK00000111LDAaddr(addr)A10000a10a8a7a0T2(IR1,IR2)IABOAB(M)ODBIDBAOIB1RCR2B3X0X1CA0000011STAaddrA(addr)10100a10a8a7a0T1(PC)IABOAB(M)ODBIDBIR2(PC)+1PCPCOB1RCB2B3CLP+1CK0000011117T2(IR1,IR2)IABOAB(ACT)BUFIDBODBOIB1CnMS3S2S1S0B2B3WC001000000100HALT置“0”RUN1101111T1置“0”RUNDR,RCP02微程序位23222120191817161514131211109876543210信号OICLCPOBCnMX1X0S3S2S1S0CGOTLPOBGIP+1DRMLDWCRCRRWR有效电平011000001000001指令助记符微地址微指令码(十六进制)取指微指令000H10000000000001110110101080076A001002MOVA#data007000000111000111111111010038FFA00800000000100001110110101000876A00900AMOVRiA00B000010001000111010111111088EBF00C00000000100001110110101000876A00D00ESUBARi00F011000111000111010111100638EBC01000000000100001110110101000876A011012LDAaddr01300000000110011111111101000CFFA014000000110000111110111010030FBA01500000000100001110110101000876A016STAaddr01700000000110011111111101000CFFA018000010000000111010110110080EB601900000000100001110110101000876A01A18HATL01B000000001000111110011110008F9E01C00000000100001110110101000876A(五)、程序调试1该实验测试的指令为:MOVA#DATAMOVRiALDAADDRSUBARiSTAADDRHATL2设计具体指令执行过程为:在内存地址50H中存入数据40HMOVA#40H;40AMOVR3A;(A)R3LDA50H;(050)ASUBA,R3;(A)-R3ASTA60H;(A)60HATL3执行前内存:地址指令指令编码000MOVA#40H2000140002MOVR3A47003LDA50H8000450005SUBA,R367006STA60HA000760008HATLDF4执行前控存:微地址微指令码1900000876A007038FFA00876A00B088EBF00876A01300CFFA030FBA00876A00F638EBC00876A01700CFFA080EB600876A01B008F9E00876A键入首地址000,按LOAD键和连续运行键START,查看000地址单元内容,应为20H,001单元内容应为40H。单拍运行(按STEP键)过程显示如下:P9P8P7(OAB信息)P6P5(ODB信息)0.0.02.00.0.18.00.0.24.77.F.F4.00.0.38.00.0.45.00.0.56.77.F.F0.00.0.6A.00.0.76.00.0.37.50.0.8D.F五、结论五、结论通过两周的课程设计学习,学到了很多知识和操作技巧,同时也暴露出了很多问题,比如对课本知识理解的不深刻,不能把所学到的内容转换成实际的操作成果。针对本次试验中暴露的问题和得到的经验教训做出此次实验的结论。通过本次课程设计,即实验计算机指令的设计,进一步了解了指令系统的概念和操作过程以及计算机在执行指令时的指令执行过程。并且学习了解和初步掌握了指令系统的设计,有了设计专用计算机的初步基础。加深了对计算机软硬件结构和专用计算机的设计的认识。20初步掌握计算机指令的设计与使用方法。在本次课程设计实验中,出现了很多问题。例如:微程序首址的形成中,由于指令系统不超过八条指令

温馨提示

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

评论

0/150

提交评论