复杂模型机设计微程序.docx

上传人:b****5 文档编号:5763266 上传时间:2023-01-01 格式:DOCX 页数:10 大小:218.83KB
下载 相关 举报
复杂模型机设计微程序.docx_第1页
第1页 / 共10页
复杂模型机设计微程序.docx_第2页
第2页 / 共10页
复杂模型机设计微程序.docx_第3页
第3页 / 共10页
复杂模型机设计微程序.docx_第4页
第4页 / 共10页
复杂模型机设计微程序.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

复杂模型机设计微程序.docx

《复杂模型机设计微程序.docx》由会员分享,可在线阅读,更多相关《复杂模型机设计微程序.docx(10页珍藏版)》请在冰豆网上搜索。

复杂模型机设计微程序.docx

复杂模型机设计微程序

计算机硬件课程设计

----复杂模型机设计(微程序)

 

专  业:

计算机科学与技术

     

 

实验日期:

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**//

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1