组成原理实验三.doc_第1页
组成原理实验三.doc_第2页
组成原理实验三.doc_第3页
组成原理实验三.doc_第4页
组成原理实验三.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

组成原理课程设计 20091101603彭媛内蒙古师范大学计算机与信息工程学院计算机组成原理课程设计报告题目: 实验三 复杂模型机的组成与程序运行 姓 名彭媛学 号20091101603班 级09计算机科学与技术(师范汉)指导教师侯红霞职称日 期2012-7-61 任务描述 题目三、复杂模型机的组成与程序运行基于TD-CMA 计算机组成原理教学实验系统,设计一个复杂计算机整机系统模型机,分析其工作原理。根据模型机的数据通路以及微程序控制器的工作原理,设计完成以下几条机器指令和相应的微程序,输入程序并运行。(由于需要稍改了一些数值但并不影响实验)INR1,00H ;从端口00(IN 单元)读入数据送R1LDIR2,0FH ;将立即数0FH装入R2AND R1,R2;R1*R2 - R1STA01,20H,R1;R1-10H,间接寻址OUT 40H,20H;10H单元的内容在OUT 单元显示,直接寻址DEC 22H ;12H单元内容减1,直接寻址LOP:BZCEXITJMPLOPEXIT:HLT20H、22H单元内容分别为22H、03H。(其中 DEC 22H;用LDI R0 ,01H;LAD 01 ,R3 ,22H ;SUB ,R3 ,R0; STA 01,22H,R3 ;)2 设计设备 PC 机一台,TD-CMA 实验系统一套,排线若干。3 设计原理和方法3.1 设计原理3.1.1 数据格式:模型机规定采用定点补码表示法表示数据,字长为位,8 位全用来表示数据(最高位不表示符号)76 5 4 3 2 1符号尾 数数值表示范围是: 3.1.2 指令设计 模型机设计三大类指令共十五条,其中包括运算类指令、控制转移类指令,数据传送类指令。运算类指令包含三种运算,算术运算、逻辑运算和移位运算,设计有6 条运算类指令,分别为:ADD、AND、INC、SUB、OR、RR,所有运算类指令都为单字节,寻址方式采用寄存器直接寻址。控制转移类指令有三条HLT、JMP、BZC,用以控制程序的分支和转移,其中HLT为单字节指令,JMP 和BZC 为双字节指令。数据传送类指令有IN、OUT、MOV、LDI、LAD、STA 共6 条,用以完成寄存器和寄存器、寄存器和I/O、寄存器和存储器之间的数据交换,除MOV 指令为单字节指令外,其余均为双字节指令。3.1.3 指令格式:所有单字节指令(ADD、AND、INC、SUB、OR、RR、HLT和MOV)其格式如下:7 6 5 43 21 0OP-CODERSRD其中OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定:RS或RD选定寄存器00R001R110R2IN和OUT的指令格式为:7 6 5 4(1)3 2(1)1 0 (1)7 0 (2)OP-CODERSRDP其中括号中的1 表示指令的第一字节,2 表示指令的第二字节,OP-CODE 为操作码,RS为源寄存器,RD 为目的寄存器,P 为I/O 端口号,占用一个字节,系统的I/O 地址译码原理见图3-3-1(在地址总线单元)。 I/O地址译码原理图由于用的是地址总线的高两位进行译码,I/O 地址空间被分为四个区,如表3-3-1 所示:表3-3-1 I/O 地址空间分配系统设计五种数据寻址方式,即立即、直接、间接、变址和相对寻址,LDI 指令为立即寻址,LAD、STA、JMP 和BZC 指令均具备直接、间接、变址和相对寻址能力。LDI 的指令格式如下,第一字节同前一样,第二字节为立即数。其中OP-CODE为操作码,RD为目的寄存器地址(LDA、STA指令使用),D为位移量(正负均可),M为寻址模式,其定义如下:7 6 5 4(1)3 2(1)1 0 (1)7 0(2)OP-CODERSRDDataLAD、STA、JMP 和BZC 指令格式如下。 7 6 5 4(1)3 2(1)1 0 (1)7 0(2)OP-CODEMRDD其中M 为寻址模式,具体见表3-3-2,以R2 做为变址寄存器RI。 寻址方式寻址模式M有效地址E说明00011011E=DE=(D)E=(RI)+DE=(PC)+D直接寻址间接寻址RI变址寻址相对寻址 3.1.3 指令系统本模型机共有 15 条基本指令,表3-3-3 列出了各条指令的格式、汇编符号、指令功能。表3-3-3 指令描述3.2设计依据本模型机的数据通路框图如图 3-3-2 所示。图3-3-2 数据通路框图和前面的实验相比,复杂模型机实验指令多,寻址方式多,只用一种测试已不能满足设计要求,为此指令译码电路需要重新设计。如图3-3-3 所示在IR 单元的INS_DEC 中实现。 图3-3-3 指令译码原理图本实验中要用到四个通用寄存器 R3R0,而对寄存器的选择是通过指令的低四位,为此还得设计一个寄存器译码电路,在IR 单元的REG_DEC(GAL16V8)中实现,如图3-3-4 所示。 图3-3-4 寄存器译码原理图根据机器指令系统要求,设计微程序流程图及确定微地址,如图 5-3-5 所示。按照系统建议的微指令格式,见表3-3-4,参照微指令流程图,将每条微指令代码化,译成二进制代码表,见表5-3-5,并将二进制代码表转换为联机操作时的十六进制格式文件。 表3-3-4 微指令格式232221201018-1514-1211-98-65-0M23CNWRRDIOMS3-S0A字段B字段C字段UA5-UA0其中,A、B、C三个字段的编码方案如下表:A字段B字段C字段 14 13 12选择 11 10 9选择 8 7 6选择000NOP000NOP000NOP001LDA001ALU-B001P010LDB010RS_B010P011LDRi011RD_B011P100保留100RI_B100保留101LOAD101保留101LDPC110LDAR110PC_B110保留111LDIR111保留111保留3.3复杂模型机连线图 3.4微程序流程图图 3-3-5 微程序流程图4 代码清单 4.1 微程序代码清单地址十六进制高五位S3-S0 A字段 B字段C字段UA5UA00000 00 010000000000000000000000010100 6D 430000000001101101010000110310 70 700001000001110000011100000400 24 050000000000100110000001010504 B2 010000010010110010000000010600 24 070000000000100110000001110701 32 010000000100110010000000010810 60 090001000001100000000010010918 30 010001100000110000000000010A10 60 100001000001100000000100000B00 00 010000000000000000000000010C10 30 010001000000110000000000010D20 06 010010000000000011000000010E00 53 410000000001010011010000010F00 00 CB0000000000000000110010111028 04 010010100000000100000000011110 30 010001000000110000000000011206 B2 010000011010110010000000011300 24 140000000000100110000101001405 B2 010000010110110010000000011500 24 160000000000100110000101101601 B2 010000000110110010000000011700 24 180000000000100110000110001802 B2 010000001010110010000000011B00 53 410000000001010011010000011C10 10 1D0001000000010000000111011D10 60 8C0001000001100000100011001E10 60 1F0001000001100000000111111F10 10 200001000000010000001000002010 60 8C0001000001100000100011002810 10 290001000001100000001010012900 28 2A0000000000101000001010102A04 E2 2B0000010011100010001010112B04 92 8C0000010010010010100011002C10 10 2D0001000000010000001011012D00 2C 2E0000000000101100001011102E04 E2 2F0000010011100010001011112F04 92 8C00000100010010010100011003000 16 040000000000010110000001003100 16 060000000000010110000001103200 6D 480000000001101101010010003300 6D 4A0000000001101101010010103400 34 010000000000110100000000013500 00 350000000000000000001101013600 6D 510000000001101101010100013700 16 120000000000010110000100103800 16 130000000000010110000100113900 16 150000000000010110000101013A00 16 170000000000010110000101113B00 00 010000000000000000000000013C00 6D 5C0000000001101101010111003D00 6D 5E0000000001101101010111103E00 6D 6800000000001101101011010003F00 6D 6C0000000001101101011011004.2 机器指令代码清单地址 内容 助记符 说明0000 0000 0010 0001; IN R1,00H ;从端口00(IN 单元)读入数据送R10000 0001 0000 0000; 0000 0010 0110 0010; LDI R2,0FH ;将立即数0FH装入R20000 0011 0000 1111; 0000 0100 0001 1001; AND R1,R2 ;R1*R2 - R1 0000 0101 1101 0101; STA 01,20H,R1;R1-10H,间接寻址0000 0110 0010 0010; 0000 0111 0110 0011 LDI R3 22H0000 1000 0010 0010 0000 1001 0011 1100; OUT40H,R3;20H单元的内容在OUT 单元显示,直接寻址0000 1010 0100 0000; 0000 1011 0110 0000; LDI R0 01H0000 1100 0000 0001; 0000 1101 1100 0111; LAD 01 R3 22H 0000 1110 0010 0010 0000 1111 1000 0011 SUB R3 R0; 0001 0000 1101 0111 STA 01,22H,R3 0001 0001 0010 0010 0001 0010 1111 0000; LOP:BZC EXIT 0001 0011 0001 0110; 0001 0100 1110 0000; JMP LOP 0001 0101 0001 0010; 0001 0110 0101 0000; EXIT HIT 4.3化简后的机器指令:地址内容002101000262030F041905D5062207630822093C0A400B600C010DC70E220F8310D7112212F0131614E0151216501763182219D41A204.4微程序指令代码$M 00 000001 ; NOP$M 01 006D43 ; PC-AR, PC 加1$M 03 107070 ; MEM-IR, P$M 04 002405 ; RS-B$M 05 04B201 ; A 加B-RD$M 06 002407 ; RS-B$M 07 013201 ; A 与B-RD$M 08 106009 ; MEM-AR$M 09 183001 ; IO-RD$M 0A 106010 ; MEM-AR$M 0B 000001 ; NOP$M 0C 103001 ; MEM-RD$M 0D 200601 ; RD-MEM$M 0E 005341 ; A-PC$M 0F 0000CB ; NOP, P$M 10 280401 ; RS-IO$M 11 103001 ; MEM-RD$M 12 06B201 ; A 加1-RD$M 13 002414 ; RS-B$M 14 05B201 ; A 减B-RD$M 15 002416 ; RS-B$M 16 01B201 ; A 或B-RD$M 17 002418 ; RS-B$M 18 02B201 ; A 右循环-RD$M 1B 005341 ; A-PC$M 1C 10101D ; MEM-A$M 1D 10608C ; MEM-AR, P$M 1E 10601F ; MEM-AR$M 1F 101020 ; MEM-A$M 20 10608C ; MEM-AR, P$M 28 101029 ; MEM-A$M 29 00282A ; RI-B$M 2A 04E22B ; A 加B-AR$M 2B 04928C ; A 加B-A, P$M 2C 10102D ; MEM-A$M 2D 002C2E ; PC-B$M 2E 04E22F ; A 加B-AR$M 2F 04928C ; A 加B-A, P$M 30 001604 ; RD-A$M 31 001606 ; RD-A$M 32 006D48 ; PC-AR, PC加1$M 33 006D4A ; PC-AR, PC 加1$M 34 003401 ; RS-RD$M 35 000035 ; NOP$M 36 006D51 ; PC-AR, PC 加1$M 37 001612 ; RD-A$M 38 001613 ; RD-A$M 39 001615 ; RD-A$M 3A 001617 ; RD-A$M 3B 000001 ; NOP$M 3C 006D5C ; PC-AR, PC加1$M 3D 006D5E ; PC-AR, PC加1$M 3E 006D68 ; PC-AR, PC 加1$M 3F 006D6C ; PC-AR, PC 加15 设计运行结果分析5.1 程序执行过程第一步:取指第二步:分析指令第三步:执行指令显示输出结果及结果分析:输出结果是在OUT单元显示22,在主存MEM中显示从IN单元输入的数减一。指令执行过程: 01送 R1,0FH装入R2,R1*R2 - R1;R1中结果是01 R1-20H,LDI R3 ,22H

温馨提示

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

评论

0/150

提交评论