计算机组成原理课程设计复杂模型机设计报告西安科技大学网络工程_第1页
计算机组成原理课程设计复杂模型机设计报告西安科技大学网络工程_第2页
计算机组成原理课程设计复杂模型机设计报告西安科技大学网络工程_第3页
计算机组成原理课程设计复杂模型机设计报告西安科技大学网络工程_第4页
计算机组成原理课程设计复杂模型机设计报告西安科技大学网络工程_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、成绩    课程设计: 计算机组成原理 题目名称: 复杂模型机设计 姓 名: 学 号: 班 级: 网络工程1102完成时间:2014年 1月 6日1设计目的: 建立清晰完整的整机概念;学习设计与调试计算机的基本方法与步骤;培养严谨的科研作风和独立工作能力。2 设计任务:综合运用所学的计算机原理知识,按给定的指令系统分和数据格式,在所提供的设备范围内,设计一台字长八位的由微程序控制器来控制的模拟计算机。设计并实现较为完整的八位模型计算机。设计微程序控制器的逻辑原理电路图;设计微地址转移的逻辑电路图;设计微程序流程图;设计说明书。3 设计指标: 字长八位; 时钟源MF

2、=QB=1us; 内存容量不得小于2 8 ;指令系统不得小于十四条。要求算术逻辑指令七条、访问内存和控制指令四条、输入输出指令两条、其他指令一条。4 设计说明:4.1 数据格式模型机规定数据采用定点整数补码表示,字长为8位,其格式如下:7 6 5 4 3 2 1 0 符号 尾数其中,第7位为符号位,数值的表示范围是:-1 X 1.。模型及设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。1. 算术逻辑指令设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:7 6 5 4 3 2 1 0OP-CODE RSRD其中,OP-CODE为操作码

3、,RS为源寄存器,RD为目的寄存器,并规定:RS或RD 选定的寄存器 00 R001R110R2九条算术逻辑指令的助记符、功能和具体格式表8-12. 访存指令及转移指令模型机设计2条访问指令,即存数(STA)、取数(LDA)、2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC)。其格式如下:7 6 5 4 3 2 1 0 00 M OP-CODERD D其中,OP-CODE为操作码, RD为目的寄存器地址(LDA、STA指令使用),D为位移量(正负均可),M为寻址模式,其定义如下:寻址方式 有效地址 说 明 00 E=D直接寻址01E=(D)间接寻址10E=(RI)+DRI

4、 变址寻址11E=(PC)+D相对寻址本模型机规定变址寄存器RI指定为寄存器R2。3. I/O指令输入(IN)和输出(OUT)指令采用单字节指令,其格式如下: OP-CODE addrR其中,addr=01 时,表示选中“INPUT DEVICE”中的开关组作为输入设备,addr=10时,表示选中“OUTPUT DEVICE”中的数码管作为输出设备。3. 控制台指令为了方便调试,且能写入数据和程序,以及显示内存中的数据,本模型机设计了两条控制台指令,它们由两个开关SWA,SWBB的状态来定义,如下表所示:SWA SWBB 控制台指令 00KRE(读内存)10KWE(写内存)11RP(启动主程序

5、)(1)KWE写内存:其功能是把控制台数据开关的内容作为程序或数据写入由地址灯指示的内存单元。(2)KRE读内存:其功能是把控制台数据开关的内容作为程序地址,送入地址寄存器,然后以该单元为起始地址,连续读出所有单元的内容。内存单元以及该单元的数据由控制台上的数据灯给出指示。(3)RP启动程序:其功能是将数据开关的内容作为作为程序地址送入PC,然后转入公操作。5. 停机指令指令格式如下:7 6 5 4 3 2 1 0OP-CODE 0 00 0这类指令只有1条,即停机指令HALT,用于实现停机操作.4.2系统指令本模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输

6、入/输出指令2条,其他它指令1条。表8-1列出了各条指令的格式、助记符和功能。4.3系统简介本系统是一台八位模型计算机,它由微程序控制器、数据通路、时序发生器等三大部分组成。它有16条基本指令,其中算术逻辑指令9条,访问内存指令和程序控制指令4条,输入/输出指令2条及停机指令1条。采用二进制代码开关作为输入设备,实现人机对话。4.4主要部件的工作原理通常把许多寄存器之间传送信息的通路,称为“数据通路”。信息从什么地方开始,中间经过哪些寄存器,最后传送到哪个寄存器,这些工作是由称为“操作控制器”的部件完成的。对数据通路和时序部分,我们直接使用了CM+实验仪器的现成电路。本次课程设计的主要任务是微

7、程序控制器部分。微程序控制器的基本思想是把操作控制信号编成微指令,存放在E2PROM中,当机器运行时,一条一条的读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部分执行所规定的操作。4.5微指令格式的设计对微程序制器的设计,关键在于先确定下来数据通路,数据通路一旦确定下来,指令流和数据流也就确定下来了,在数据通路图的各功能部件上的各种控制信号就是微程序控制器设计的主要依据。用这些控制信号来控制数据通路中的数据流向。另外,为了使模型机实现自动停机操作,因此在微指令中必须有一个自动停机指令。在设计中共有60多条微指令,故对控制器存储器采用6位地址。所以在微指令设计中,总共要产生33个控

8、制信号。为了减少指令长度,在本设计中,采用直接编码和译码相结合的混合编码。将一组相斥性的微命令信号组成一小组,然后将这一小组(A字段、B字段、C字段)信号通过译码器对每一个微命令信号进行译码,译码输出作为本次设计的控制信号。其格式如下: 表1 微指令代码定义表A字段 B字段 C字段151413选择121110选择987选择000000000001LDRi001RS_B001P(1)010LDDR1010RD_B010P(2)011LDDR2011RI_B011P(3)100LDIR100299_B100P(4)101LOAD101ALU_B101AR110LDAR110PC_B110LDPC2

9、42322212019181716151413121110987654321S3S2S1S0MCnWEA9A8 A B CuA5uA4uA3uA2uA1uA0 表2 微命令代码格式表微指令字长24位。其中顺序控制部分9位,即直接地址6位,判别地址3位,后者采用字段译码法可译出P(1)-P(4)4种判别测试标志位。操作控制字段18位:其中字段A、B、C均采用38译码器,可译出LDIR,PCBUS,WE,RSBUS,LDDR等微命令。其他微命令采用直接控制的方式。4.6微程序的设计将机器的全部指令系统采用微指令系列实现的过程,叫做微程序设计。一条机器指令对应一条微程序。微程序是由微指令解释执行的。

10、一条机器指令对应一个指令周期。而一条微指令对应一个CPU周期。微程序的设计包括横向设计和纵向设计。而微程序的设计关键在于纵向设计。纵向设计:由于该设计的后继地址采用判定方式,其通常做法是首先确定微程序分支处的微地址,因此这些分支处需要判别测试,然后再确定其他地址。当微地址确定以后,就可在微地址表中把相应微地址单元填进去,最后根据微程序流程图填写相应微命令及微指令代码表 。表3-1 微指令代码定义表 , 表3-2 微命令代码格式表。为了向RAM装入程序和数据,检查写入是否正确,并能启动程序执行,还需设计三个控制台操作微程序。存储器读操作(KRD):拨动开关CLR后,当控制台开关SWB、SWB置为

11、“00”时,按START微动开关,可对RAM进行连续手动读出。存储器写操作(KWE):拨动开关CLR后,当控制台开关SWB、SWB置为“01”时,按START微动开关,可对RAM进行连续写入。启动程序:拨动开关CLR后,当控制台开关SWB、SWB置为“11”时,按START微动开关,即可转入到第13、01号微地址“取指”微指令,启动程序运行。上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下: SWB SWA 控制台指令 0 0 读内存(KDR) 0 1 写内存(KWE) 1 1 启动程序(RP)根据以上要求设计数据通路框图,如下图所示。数据通路图微程序流程图4.7时序系统图

12、时序波形图 4.8微地址转移逻辑图微地址分配表测试字段功能P(1)用指令寄存器中的IR7IR4取代微地址的低4位。P(2)当P(2)=1时用IR3,IR4取代原微地址第一位和第零位。P(3)当P(3)=1时用FC或FZ取代原微地址第四位若CVE=1则将第零位置1,第一位置0,即转入公操作。P(4)用SWA,SWB取代原微地址的第一位,第零位。 在微地址转移逻辑中,还要加入必须的时序控制,其中微地址的修改信号为T4。经过约500ns的延时用T4的上升沿将修改好的微地址打入微地址寄存器中,根据控制要求如下微地址转移逻辑电路图。FC-CY(进位标志)FZ-ZI(全零标志)该图的IR顺序为(I7、I6

13、、I5、I3、I4、I2)逻辑表达式如下:4.9寄存器译码电路图4.10接线图4.11微程序控制器原理图4.12微程序实现图4.13模型计算机组装与调试4.13.1本次设计所需要的指令系统 助记符指令格式功能CLR011100RD0 RDMOV RS, RD1000RSRDRS RDADC RS, RD1001RSRDRS+RD+CY RDSBC RS, RD1010RSRDRS-RD-CY RD*DEC RD1011RSRDRD+1 RD*OR RS, RD1100RSRDRS V RD RDCOM RD1101RSRD RD RD*ROR RS, RD1110RSRD RS循环右移 RD*

14、ROL RS,RD1111RSRD RS循环左移 RDLDA M, D, RD00M00RD (E) RDDSTA M, D, RD00M01RDRD (E)DJMP M, D00M1000E PCDBZC M, D00M1100当CY=1或Z=1 E PCDIN addr,RD010001RD addr RDOUT addr,RD010110RD RD addrHALT01100000停机助记符编码寻址方式M000直接寻址M101间接寻址M210R2变址寻址M311相对寻址*输入端口编码01,用SW表示。*输出端口编码10,用LD表示。*寄存器R0,R1,R2分别用00,01,02表示。4.

15、13.2调试运行程序:地址汇编符号指令格式功能说明二进制十六进制01CLR R00111 0000700->R002CLR R10111 0001710->R103CLR R20111 0010720->R204IN SW,R01000 000181R0->R105ROL R1,R11111 0101F5R1循环左移->R106JMP M1 08H0001 10000000 1000180807H->PC0708 090000 10010909LDA M0,R2 20H0000 00100010 0000022020H->R20A0BDEC R0101

16、1 0000B0R0-1->R00C ADC R2,R01001 100098R2+R0+CY->R00DBZC M0 03H0000 11000000 00110C 03CY=1或Z=103H->PC0E 0FSBC R0,R11010 0001A1R0-R1-CY->R110ROR R1,R11110 0101E5R1循环右移->R111OR R2,R11100 1001C9R2 V R1->R112STA M1,R1 25H0001 01010010 01011525R1->25H1314COM R11101 0001D1R1取反->R11

17、5STA M3,R1 26H0011 01010010 01103526R1->26H+PC(17H)1617LDA M1,R0 25H0001 00000010 0101102525H->R01819OUT LD,R00101 100058R0->LD1A LDA M2,R2 36H0010 00100011 01102236R2+36H->R21B1C OUT LD,R20101 10105A R2->LD1D HALT0110 000060STOP数据:地址数据200725FFFF04选择联机软件的“【转储】【装载】”功能,在打开文件对话框中选择下面所保存的

18、文件,软件自动将机器程序和微程序写入指定单元。选择联机软件的“【转储】【刷新指令区】”可以读出下位机所有的机器指令和微指令,并在指令区显示,对照文件检查微程序和机器程序是否正确,如果不正确,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的指令,以修改微指令为例,先用鼠标左键单击指令区的微存TAB按钮,然后再单击需修改单元的数据,此时该单元变为编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入的数据。运行程序联机运行进入软件界面,选择菜单命令“【实验】【复杂模型机】”,打复杂模型机实验数据通路图,选择相应的功能命令,即可联机运行、监控、调试程序。按动CON单元的总清按钮C

19、LR,然后通过软件运行程序,当模型机执行完OUT指令后,检查OUT单元显示的数是否正确。在数据通路图和微程序流中观测指令的执行过程,并观测软件中地址总线、数据总线以及微指令显示和下位机是否一致。机器转载:$P0070$P0171$P0272$P0344$P0481$P05F5$P0618$P0708$P0809$P0902$P0A20$P0BB0$P0C98$P0D0C$P0E03$P0FA1$P10E5$P11C9$P1215$P1325$P14D1$P1535$P1626$P1710$P1825$P1958$P1A22$P1B36$P1C5A$P1D60$P1E55$P1F60$P2007

20、$P25FF$PFF044.13.3微代码表 地址 指令S3-S0 MCnWEA9 A8 A B C 6 5 4 3 2 100 0181080000 0001 1000 0001 0000 100001 01ED820000 0001 1110 1101 1000 001002 00C0500000 0000 1100 0000 0101 000003 00A0040000 0000 1010 0000 0000 010004 00E0A00000 0000 1110 0000 1010 000005 00E0060000 0000 1110 0000 0000 011006 00A0070

21、000 0000 1010 0000 0000 011107 00E0A00000 0000 1110 0000 1010 000010 01ED8A0000 0001 1110 1101 1000 101011 01ED8C0000 0001 1110 1101 1000 110012 00A03B0000 0000 1010 0000 0011 101113 0180010000 0001 1000 0000 0000 000114 00203C0000 0000 0010 0000 0011 110015 00A00E0000 0000 1010 0000 0000 111016 01B

22、60F0000 0001 1011 0110 0000 111117 95EA251001 0101 1110 1010 0010 010120 01ED830000 0001 1110 1101 1000 001121 01ED850000 0001 1110 1101 1000 010122 01ED8D0000 0001 1110 1101 1000 110123 01EDA60000 0001 1110 1101 1010 011024 0010010000 0000 0001 0000 0000 000125 0304010000 0011 0000 0100 0000 000126

23、 0180160000 0001 1000 0000 0001 0110 27 3D9A010011 1101 1001 1010 0000 0001 30 0192010000 0001 1001 0010 0000 000131 01A22A0000 0001 1010 0010 0010 101032 01B22C0000 0001 1011 0010 0010 110033 01A4320000 0001 1010 0100 0011 001034 01A2330000 0001 1010 0010 0011 001135 01A4360000 0001 1010 0100 0011

24、011036 3182370011 0001 1000 0010 0011 011137 3182390011 0001 1000 0010 0011 100140 0090010000 0000 1001 0000 0000 000141 0284010000 0010 1000 0100 0000 000142 05DB810000 0101 1101 1011 1000 000143 0180E40000 0001 1000 0000 1110 010044 0180010000 0001 1000 0000 0000 000145 95AAA01001 0101 1010 1010 1

25、010 000046 00A0270000 0000 1010 0000 0010 011147 01BC280000 0001 1011 1100 0010 100050 95EA291001 0101 1110 1010 0010 1001 51 95AAA01001 0101 1010 1010 1010 000052 01B42B0000 0001 1011 0100 0010 101153 959B411001 0101 1001 1011 0100 000154 01A42D0000 0001 1010 0100 0010 110155 65AB6E0110 0101 1011 1

26、011 0110 111056 0D9A010000 1101 1001 1010 0000 0001*62 F59A011111 0101 1001 1010 0000 000163 01B4350000 0001 1011 0100 0011 010164 05DB810000 0101 1101 1011 1000 0001 *65 E99B41 1110 1001 1001 1011 0100 0001 66 0D9A010000 1101 1001 1010 0000 0001*67 2188380010 0001 1000 1000 0011 100070 0198010000 0

27、001 1001 1000 0000 0001*71 11883A0001 0001 1000 1000 0011 101072 0198010000 0001 1001 1000 0000 000173 070A080000 0111 0000 1010 0000 100074 068A090000 0110 1000 1010 0000 1001*INC改成DEC,62改成F59A01*AND改成OR, 65 改成E99B41*RRC改成ROR, 67改成218838*RLC改成ROL, 71改成11883A十六进制文件如下$M00018108$M0101ED82$M0200C050$M0

28、300A004$M0400E0A0$M0500E006$M0600A007$M0700E0A0$M0801ED8A$M0901ED8C$M0A00A03B$M0B018001$M0C00203C$M0D00A00E$M0E01B60F$M0F95EA25$M1001ED83$M1101ED85$M1201ED8D$M1301EDA6$M14001001$M15030401$M16018016$M173D9A01$M18019201$M1901A22A$M1A01B22C$M1B01A432$M1C01A233$M1D01A436$M1E318237$M1F318239$M20009001$M2

29、1028401$M2205DB81$M230180E4$M24018001$M2595AAA0$M2600A027$M2701BC28$M2895EA29$M2995AAA0$M2A01B42B$M2B959B41$M2C01A42D$M2D65AB6E$M2E0D9A01$M2F01AA30$M300D8171$M31959B41$M32F59A01$M3301B435$M3405DB81$M35E99B41$M360D9A01$M37218838$M38019801$M3911883A$M3A019801$M3B070A08$M3C068A09$M3DE7B239$M3EE7B239$M3

30、F0000004.13.4运行与调试程序运行说明:*本程序完成对(07+X-1+CY)-2XV07再循环右移的计算X为输入的值在程序中,计算结果会存在FF中,然后再取反,存入3D中。相当于会有两个结果,后一个是前一个的取反结果,最后将其分两次通过OUTPUT输出.*注意:程序中用到带进位跳转指令,以下示例中,当INPUT=FB时,由于之后的计算带进位,则由程序控制跳转至PC=03处,此时输入INPUT=21,则程序按顺序执行。FF中,初始值为04,由于会有STA指令的执行,则会有04->77的变化。*当INPUT1=FB. INPUT2=21时,主要步骤计算结果截图如下:1 开始之前:2

31、 R0,R1,R2成功清零:3 打入FB至R0(X=FB):4 07+X+CY(X=FB),结果有进位为102(之前自减),此时R0=025 CY=1,跳转至PC=03处6 07+X-1+CY的结果存入R0,此时R0=28(再次INPUT =21)7 (07+X-1+CY)-2X的结果存入R1,此时R1=E68 对R1=E6循环右移=73,存入R19 R1=73,R2=07,相或得77存入R110 对R1=77取反=88,存入R111 输出计算结果,OUTPUT=7712 输出取反结果OUTPUT=8813 停机指令5 实验体会: 还没有开始的时候,给了自己一个念头,就是"好难啊",以至于不知道从何下手。没有办法,只有到图书馆,从网络上,查各种资料。这样之后,脑袋里总算是有了概念。第二天,老师又给我们讲了一遍具体的流程,我们到底应该做哪些工作。这样就将整个过程理顺了,也有了初步的计划。在最开始连线

温馨提示

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

评论

0/150

提交评论