
复杂模型机实验.doc
13页5.3 复杂模型机设计实验复杂模型机设计实验5.3.1 实验目的实验目的综合运用所学计算机组成原理知识,设计并实现较为完整的计算机5.3.2 实验设备实验设备PC 机一台,TD-CMA 实验系统一套5.3.3 实验原理实验原理下面讲述一下模型计算机的数据格式及指令系统1.数据格式.数据格式模型机规定采用定点补码表示法表示数据,字长为8位,8 位全用来表示数据(最高 位不表示符号) ,数值表示范围是: 0≤X≤28-12.指令设计.指令设计模型机设计三大类指令共十五条,其中包括运算类指令、控制转移类指令,数据传送 类指令运算类指令包含三种运算,算术运算、逻辑运算和移位运算,设计有 6 条运算类 指令,分别为:ADD、AND、INC、SUB、OR、RR,所有运算类指令都为单字节,寻址 方式采用寄存器直接寻址控制转移类指令有三条 HLT、JMP、BZC,用以控制程序的分 支和转移,其中 HLT 为单字节指令,JMP 和 BZC 为双字节指令数据传送类指令有 IN、OUT、MOV、LDI、LAD、STA 共 6 条,用以完成寄存器和寄存器、寄存器和 I/O、 寄存器和存储器之间的数据交换,除 MOV 指令为单字节指令外,其余均为双字节指令。
3.指令格式.指令格式所有单字节指令(ADD、AND、INC、SUB、OR、RR、HLT 和 MOV)格式如下:76543210OP-CODERSRD其中,OP-CODE 为操作码,RS 为源寄存器,RD 为目的寄存器,并规定:RS 或 RD选定的寄存器00 01 10 11R0 R1 R2 R3IN 和 OUT 的指令格式为:7654(1 )32(1)10(1)7—0(2)OP-CODERSRDP其中括号中的 1 表示指令的第一字节,2 表示指令的第二字节,OP-CODE 为操作码, RS 为源寄存器,RD 为目的寄存器,P 为 I/O 端口号,占用一个字节,系统的 I/O 地址译 码原理见图 5-3-1(在地址总线单元) A1 B1 A2 B2 G1N G2NY10NY20NY13NY12NY11NY23NY22NY21N74LS139GNDA6A7IOY0IOY1 IOY2IOY3图图 5-3-1 I/O 地址译码原理图地址译码原理图由于用的是地址总线的高两位进行译码,I/O 地址空间被分为四个区,如表 5-3-1 所示:表表 5-3-1 I/O 地址空间分配地址空间分配A7 A6选定地址空间00IOY000-3F01IOY140-7F10IOY280-BF11IOY3C0-FF系统设计五种数据寻址方式,即立即、直接、间接、变址和相对寻址,LDI 指令为立 即寻址,LAD、STA、JMP 和 BZC 指令均具备直接、间接、变址和相对寻址能力。
LDI 的指令格式如下,第一字节同前一样,第二字节为立即数7654(1 )32(1)10(1)7—0(2)OP-CODERSRDdataLAD、STA、JMP 和 BZC 指令格式如下7654(1 )32(1)10(1)7—0(2)OP-CODEMRDD其中 M 为寻址模式,具体见表 5-3-2,以 R2 做为变址寄存器 RI表表 5-3-2 寻址方式寻址方式寻址模式 M有效地址 E说 明00 01 10 11E = D E =(D) E =(RI)+ D E =(PC)+ D直接寻址 间接寻址 RI 变址寻址 相对寻址4.指令系统.指令系统本模型机共有 15 条基本指令,表 5-3-3 列出了各条指令的格式、汇编符号、指令功能表表 5-3-3 指令描述指令描述助记符号指令格式指令功能MOV RD,RSADD RD,RSSUB RD,RSAND RD,RSOR RD,RSRR RD,RSINC RDLAD M D,RDSTA M D,RSJMP M DBZC M DIN RD,POUT P,RSLDI RD,DHALT0100RSRD1001RSRD0000RSRD1000RSRD0001RSRD1010RSRD0101****0110**RDD0011RS**P0010**RDP1111M**D1110M**D1100MRDDRS RDRS RD停机1101MRDD0111**RDD RDRS [P][P] RD当FC或FZ=1时, E PCE PCRD EE RDRD+1 RDRS右环移 RDRD RS RDRD RS RDRD - RS RDRD + RS RD5.3.4 总体设计总体设计本模型机的数据通路框图如图 5-3-2 所示。
图图 5-3-2 数据通路框图数据通路框图和前面的实验相比,复杂模型机实验指令多,寻址方式多,只用一种测试已不能满足 设计要求,为此指令译码电路需要重新设计如图 5-3-3 所示在 IR 单元的 INS_DEC 中实 现SE1T4I[5]I[6] I[7]I[3]PPSE0T4I[4]I[6] I[7]I[2]PPFZFCT4SE4PSE3T4PI[7]SE2T4PI[6]图图 5-3-3 指令译码原理图指令译码原理图本实验中要用到四个通用寄存器 R3…R0,而对寄存器的选择是通过指令的低四位, 为此还得设计一个寄存器译码电路,在 IR 单元的 REG_DEC(GAL16V8)中实现,如图 5-3-4 所示2:4 DECODERA1 B1 A2 B2 G1N G2NY10NY20NY13NY12NY11NY23NY22NY21N741392:4 DECODERA1 B1 A2 B2 G1N G2NY10NY20NY13NY12NY11NY23NY22NY21N74139VCCGNDI[0] I[1]LDRiRD_BI[2] I[3]RS_BRI_BLDR0LDR1LDR2LDR3R0_BR1_BR2_BR3_B图图 5-3-4 寄存器译码原理图寄存器译码原理图根据机器指令系统要求,设计微程序流程图及确定微地址,如图 5-3-5 所示。
按照系统建议的微指令格式,见表 5-3-4,参照微指令流程图,将每条微指令代码化, 译成二进制代码表,见表 5-3-5,并将二进制代码表转换为联机操作时的十六进制格式文件表表 5-3-4 微指令格式微指令格式A字段B字段C字段14 13 12选择 000001LDA010LDB 011LDRi100保留 101 11023 M232221201918-1514-1211-98-65-0 WRRDIOMA字段B字段C字段UA5-UA0S3-S0NOP111LDIRLDARLOAD11 10 9选择 000001ALU_B010RS_B 011RD_B100保留101 110NOP111保留PC_B876选择 000001P010P 011P100保留 101 110NOP111保留保留LDPCCNRI_BNOP00PC->AR PC加1MEM->IRPPC->AR PC加1NOPPC->AR PC加1RD->ANOPPC->AR PC加1PC->AR PC加1PC->AR PC加1PC->AR PC加1RD->ARD->ARD->ARS->RDPC->AR PC加1RD->ARD->ARS->BA加B ->RDRS->BA与B ->RDRS->BA右环移 ->RDMEM->ARIO->RDMEM->ARRS->IOMEM->AMEM->ARMEM->ARMEM->AMEM->ARMEM->ARI->BA加B->ARA加B->AMEM->APC->BA加B->ARA加B->APMEM->RDRD->MEMA->PCNOP0103300438310607393A171834320809330A103536373B3C1C1D3D1E1F203E3F282C2D292A2E2F2B0F0E0D0C0B0C0C0C0C30ADDSUBANDORRRMOVINOUTHLTLDIINC保留直接间接变址相对操作数准备STAJMPBZC3501010101010101010101010105RS->BA或B ->RD151601RS->BA减B ->RD131401LADMEM->RDA加1->RD1112PNOPA->PC0B1BYN0101图图 5-3-5 微程序流程图微程序流程图表表 5-3-5 二进制代码表二进制代码表地址十六进制表示高五位S3-S0A 字段B 字段C 字段UA5-UA00000 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 2000010 00000010000001000002010 60 8C0001000001100000100011002810 10 290001000000010000001010012900 28 2A0000000000101000001010102A04 E2 2B0000010011100010001010112B04 92 8C0000010010010010100011002C10 10 2D0001000000010000001011012D00 2C 2E0000000000101100001011102E04 E2 2F0000010011100010001011112F04 92 8C0000010010010010100011003000 16 040000000000010110000001003100 16 060000000000010110000001103200 6D 480000000001101101010010003300 6D 4A00000000011011。












