复杂模型机设计微程序.docx
- 文档编号:5763266
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:10
- 大小:218.83KB
复杂模型机设计微程序.docx
《复杂模型机设计微程序.docx》由会员分享,可在线阅读,更多相关《复杂模型机设计微程序.docx(10页珍藏版)》请在冰豆网上搜索。
复杂模型机设计微程序
计算机硬件课程设计
----复杂模型机设计(微程序)
专 业:
计算机科学与技术
实验日期:
2014年9月15日——2014年9月16日
复杂模型机设计实验
一、实验内容
搭建一台8位模型机,指令系统要求有10条以上,其中包括运算类指令、传送类指令、控制转移类指令、输入输出指令等,并且有各种不同的寻址方式。
二、实验原理
下面讲述一下模型计算机的数据格式及指令系统。
1.数据格式
模型机规定采用定点补码表示法表示数据,字长为8位,8位全用来表示数据(最高位不表示符号),数值表示范围是:
0≤X≤28-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.指令格式
所有单字节指令(ADD、AND、INC、SUB、OR、RR、HLT和MOV)格式如下:
7654
32
10
OP-CODE
RS
RD
其中,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定:
RS或RD
选定的寄存器
00
01
10
11
R0
R1
R2
R3
IN和OUT的指令格式为:
7654
(1)
32
(1)
10
(1)
7—0
(2)
OP-CODE
RS
RD
P
其中括号中的1表示指令的第一字节,2表示指令的第二字节,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,P为I/O端口号,占用一个字节,系统的I/O地址译码原理见图5-3-1(在地址总线单元)。
图5-3-1I/O地址译码原理图
由于用的是地址总线的高两位进行译码,I/O地址空间被分为四个区,如表5-3-1所示:
表5-3-1I/O地址空间分配
A7A6
选定
地址空间
00
IOY0
00-3F
01
IOY1
40-7F
10
IOY2
80-BF
11
IOY3
C0-FF
系统设计五种数据寻址方式,即立即、直接、间接、变址和相对寻址,LDI指令为立即寻址,LAD、STA、JMP和BZC指令均具备直接、间接、变址和相对寻址能力。
LDI的指令格式如下,第一字节同前一样,第二字节为立即数。
7654
(1)
32
(1)
10
(1)
7—0
(2)
OP-CODE
RS
RD
data
LAD、STA、JMP和BZC指令格式如下。
7654
(1)
32
(1)
10
(1)
7—0
(2)
OP-CODE
M
RD
D
其中M为寻址模式,具体见表5-3-2,以R2做为变址寄存器RI。
表5-3-2寻址方式
寻址模式M
有效地址E
说 明
00
01
10
11
E=D
E=(D)
E=(RI)+D
E=(PC)+D
直接寻址
间接寻址
RI变址寻址
相对寻址
4.指令系统
本模型机共有15条基本指令,表5-3-3列出了各条指令的格式、汇编符号、指令功能。
表5-3-3指令描述
三、总体设计
和前面的实验相比,复杂模型机实验指令多,寻址方式多,只用一种测试已不能满足设计要求,为此指令译码电路需要重新设计。
如图5-3-3所示在IR单元的INS_DEC中实现。
根据机器指令系统要求,设计微程序流程图及确定微地址,如图5-3-5所示。
按照系统建议的微指令格式,见表5-3-4,参照微指令流程图,将每条微指令代码化,译成二进制代码表,见表5-3-5,并将二进制代码表转换为联机操作时的十六进制格式文件。
表5-3-4微指令格式
四、实验步骤
1.按图5-3-6连接实验线路,仔细检查接线后打开实验箱电源。
图5-3-6实验接线图
2.写入实验程序,并进行校验
$P0020;START:
INR0,00H从IN单元读入计数初值
$P0100
$P0261;LDIR1,0FH立即数0FH送R1
$P030F
$P0414;ANDR0,R1得到R0低四位
$P0561;LDIR1,00H装入和初值00H
$P0600
$P07F0;BZCRESULT计数值为0则跳转
$P081A
$P0962;LDIR2,60H读入数据始地址
$P0A60
$P0BCB;LOOP:
LADR3,[RI],00H从MEM读入数据送R3,变址寻址,偏移量为00H
$P0C00
$P0D8D;SUBR1,R3
$P0E72;INCRI变址寄存加1,指向下一数据
$P0FCB;LADR3,[RI],00H从MEM读入数据送R3,变址寻址,偏移量为00H
$P1000
$P110D;ADDR1,R3求和
$P1272;INCRI变址寄存加1,指向下一数据
$P1363;LDIR3,01H装入比较值
$P1402
$P158C;SUBR0,R3
$P16F0;BZCagain相减为0,表示求和完毕
$P171A
$P18E0;JMPLOOP未完则继续
$P190B
$P1A62;again:
LDIR2,01H
$P1B01;
$P1C16;ANDR1,R3
$P1DF0;BZCRESULT相与为零,表示最低位为零
$P1E22
$P1F63;LDIR3,FEH
$P20FE;
$P2117;ANDR1,R3两者相与置R1最低位为0
$P22A4;RESULT:
RRR1,R0
$P23D0;STA70H,R1和存于MEM的70H单元
$P2470
$P2530;OUT40H,R1和在OUT单元显示
$P2640
$P27E0;JMPSTART跳转至START
$P2800
$P6001;数据
$P6102
$P6203
$P6304
$P6405
$P6506
$P6607
$P6708
$P6809
$P690A
$P6A0B
$P6B0C
$P6C0D
$P6D0E
$P6E0F
;//*****EndOfMainMemoryData*****//
;//**StartOfMicroControllerData**//
$M00000001;NOP
$M01006D43;PC->AR,PC加1
$M03107070;MEM->IR,P<1>
$M04002405;RS->B
$M0504B201;A加B->RD
$M06002407;RS->B
$M07013201;A与B->RD
$M08106009;MEM->AR
$M09183001;IO->RD
$M0A106010;MEM->AR
$M0B000001;NOP
$M0C103001;MEM->RD
$M0D200601;RD->MEM
$M0E005341;A->PC
$M0F0000CB;NOP,P<3>
$M10280401;RS->IO
$M11103001;MEM->RD
$M1206B201;A加1->RD
$M13002414;RS->B
$M1405B201;A减B->RD
$M15002416;RS->B
$M1601B201;A或B->RD
$M17002618;RS->B
$M18033201;A右环移->RD
$M1B005341;A->PC
$M1C10101D;MEM->A
$M1D10608C;MEM->AR,P<2>
$M1E10601F;MEM->AR
$M1F101020;MEM->A
$M2010608C;MEM->AR,P<2>
$M28101029;MEM->A
$M2900282A;RI->B
$M2A04E22B;A加B->AR
$M2B04928C;A加B->A,P<2>
$M2C10102D;MEM->A
$M2D002C2E;PC->B
$M2E04E22F;A加B->AR
$M2F04928C;A加B->A,P<2>
$M30001604;RD->A
$M31001606;RD->A
$M32006D48;PC->AR,PC加1
$M33006D4A;PC->AR,PC加1
$M34003401;RS->RD
$M35000035;NOP
$M36006D51;PC->AR,PC加1
$M37001612;RD->A
$M38001613;RD->A
$M39001615;RD->A
$M3A001417;RD->A
$M3B000001;NOP
$M3C006D5C;PC->AR,PC加1
$M3D006D5E;PC->AR,PC加1
$M3E006D68;PC->AR,PC加1
$M3F006D6C;PC->AR,PC加1
;//**EndOfMicroControllerData**//
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复杂 模型 设计 微程序
![提示](https://static.bdocx.com/images/bang_tan.gif)