简单实验计算机的设计Word格式.docx

上传人:b****6 文档编号:19167055 上传时间:2023-01-04 格式:DOCX 页数:26 大小:82.44KB
下载 相关 举报
简单实验计算机的设计Word格式.docx_第1页
第1页 / 共26页
简单实验计算机的设计Word格式.docx_第2页
第2页 / 共26页
简单实验计算机的设计Word格式.docx_第3页
第3页 / 共26页
简单实验计算机的设计Word格式.docx_第4页
第4页 / 共26页
简单实验计算机的设计Word格式.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

简单实验计算机的设计Word格式.docx

《简单实验计算机的设计Word格式.docx》由会员分享,可在线阅读,更多相关《简单实验计算机的设计Word格式.docx(26页珍藏版)》请在冰豆网上搜索。

简单实验计算机的设计Word格式.docx

采用单累加器多寄存器结构(开关KA、KB、KC、KR分别置左、右、右、左)。

(2)指令系统:

小于等于8条指令,无外设。

(3)内存寻址方式:

直接地址寻址,立即数寻址,累加器直接寻址。

(4)微程序设计微操作信号发生器。

4.2、设计整机逻辑框图

4.3、设计指令系统

4、

(1)实验计算机的指令系统具体由以下5条指令组成

LDAaddr1

(2)指令操作数寻址方式及其编码

MOVRi#data:

寻址方式:

立即数寻址功能:

data→Ri

编码:

指令编码:

000000Ri(R1),data

1

d7

d6

d5

d4

d3

d2

d1

d0

LDAaddr1:

直接地址寻址功能:

(addr1)→A

指令编码:

000010a9,a8,a7~a0

a7

a6

a5

a4

a3

a2

a1

a0

ADDA,Ri:

累加器直接寻址功能:

(A)+(Ri)→A

010100Ri(R1)

STAaddr2:

A→(addr2)

010110a9,a8,a7~a0

HALT:

功能:

停机

10100000

4.4设计指令执行流程

双字节指令MOVRi,#data

该指令功能为data→Ri,需执行如下微操作:

①(PC)IABOAB;

程序计数器PC内容作访问内存地址

②(M)ODBIDBIRl;

读出指令字节送指令寄存器IR1

③(PC)+1PC;

PC加1,为取下条指令字节准备

④(PC)IABOAB;

根据PC访内存

⑤(M)ODBIDBRi;

取出本指令第二字节(即data)送Ri

⑥(PC)+1PC;

其中,①②必须同一拍;

③可单独一拍也可与①②合一拍;

④⑤也必须同一拍;

⑥可

单独一拍也可与④⑤合一拍。

推荐采用如下方案:

T0(第一拍):

T1(第二拍):

双字节指令LDAaddr

该指令功能为(addr)→A,需执行如下微操作:

④(PC)IABOAB;

根据PC访问内存

⑤(M)ODBIDBIR2;

取出本指令第二字节送IR2

⑥(PC)+1PC;

⑦I2.I1.I0(IR2)IABOAB;

由IRl低3位和IR2的8位形成11位操作数

地址

⑧(M)ODBIDBTMP;

从内存读出操作数送TMP

⑨(TMP)A;

TMP内容经ALU传送,存入A

⑦⑧也必须同一拍;

⑨可以单独一拍也可与⑦⑧合一拍;

③可单独一拍也可和①②合一拍;

⑥可单独一拍也可和④⑤合一拍或者和⑦⑧合一拍(TMP设置为直通)。

T0(第一拍):

T1(第二拍):

T2(第三拍):

单字节指令ADDA,Ri

该指令功能为(A)+(Ri)→A,需执行如下微操作:

①(PC)IABOAB;

②(M)ODBIDBIRl;

内存该地址单元读出指令字节送指令寄存器IR1

④(A)ACT;

累加器A内容送累加器暂存器ACT,为ALU准备好被加数

⑤(ACT)+(Ri)BUFIDBA;

使暂存器TMP输出高阻,读Ri寄存器内容,使ALU执行加法,结果经BUF至DB最后送人累加器A

⑥Cn+4CY;

据加法结果置进位标志CY

其中,①②必须在一拍(即取指令周期)内完成;

⑤⑥也必须在同一拍内完成;

而④不可

以和⑤⑥在同一拍,但可以和①②在同一拍;

③可以和⑤⑥同拍也可以和①②同拍;

也可把

③、④单独一拍,甚至③和④各一拍也可以。

双字节指令STAaddr

该指令功能为A→(addr),需执行如下微操作:

RR,A,B,/Cn,M,S3,S2,S1,S0

OB

CL

⑧(ACT)BUFIDBODB;

读A内容经ALU传送至IDB,存人ODB

⑨ODB(M);

将ODB里的数写入到内存中。

4.5、确定微操作控制信号及其实现方法

4.5.1.设计微操作信号

(1)运算器模块(ALU)

ZC=

CP=

SA接X0接M17

SB接X1接M16

PO接CY

Pl接A0接SR

P2接A7接SL

CA接/φ

S3~S0接M23~M20

/Cn接M19

M接M11

CG接Ml8

CC接/φ

OB接M8

(2)寄存器堆模块(REG)

WR=

RR接M1

A接I0

B接I1

(3)指令部件模块(I_PC)

CL=

P+l接M7

GI接M6

CI接

CK接PO

CLR接+5V

0I接M15

LP、PC0如图2-15所示。

(4)内存模块(MEM)

RC=M2+

WC=M3+

(5)总线缓冲模块(BUS)

Bl、B3接RF

B2=RC+IAB2·

IAB10

KA接IAB0

PA接IAB1

(6)启停和时序模块(R_P)

DR接M5

RCP接

(7)微程序控制模块(MPG)

MLD接M4

MP+1接+5V

MCLR接RO

MCLK接P0

MIG接地

MDl0~MD6接地

MD5接I7

MD4接I6

MD3接地

MD2接I3

MDl~MDO接VCC(+5V)

4.5.2.微操作信号的实施

用PLD实验板实施,先在PC机Synario环境下编辑微操作信号的硬件描述文件,然后编译成相应的熔丝图文件,最后通过PC机并行口下载电缆将熔丝图文件烧到PLD实验板上的ispLSI2096内,即完成了微操作信号的实施。

4.5.3设计微指令的格式

指令助记符

23222120

19181716

15141312

111098

7654

3210

信号

S3S2

S1S0

CnM

X1X0

OICL

‘CP’/

CGOT

LP’OB

GIP+1

DRMLD

WC’RC’

RRWR’

微指令码

(十六进制)

有效电平

011*

****

0000

0100

0001

微地址

取指微指令

000H

1000

0111

0110

1010

00876A

001

002

003

1111

1011

008FFB

004

005

LDAaddr

007

1100

00CFFA

008

0011

030FBA

009

00A

013

1001

1110

9BAEBC

014

015

STAaddr

017

018

080EB6

019

01A

023

008F9E

024

4.5.4确定微程序控制方式

一、确定微程序入口地址形成方法

采用“按操作码散转”的方法确定微程序入口地址的形成。

该方法以指令操作码((8位)为核心,扩展成11位的微程序地址即MD1O~MDO。

IRl的I7.I6.I2为指令操作码,每条指令执行不超过4拍,即微程序可由多至4条微指令组成,那么可按下图形成各微程序首地址

MD10~MD6MD5MD4MD3MD2MD1MD0

└──┘││││└───┘

││││││

“0”I7I6“0”I3“1”

按指令操作码散转

指令操作码

I7I6I3

微程序首址

MD10~MD0

000

001

010

011

100

003H

007H

013H

017H

023H

二、确定控存的顺序控制方法

控存的顺序控制方法采用计数增量方法。

即每段微程序执行过程中MPC加1计数,指向下一条微指令地址。

4.5.5编写各指令的微程序

节拍

T0

T1

T2

4.6、编写调试程序

4.6.1汇编程序:

MOVR1#20H

LDA55H

ADDA,R1

STA56H

4.6.2、编写ABEL程序,并烧到PLD实验板

MODULECESB

title'

ThisisanexampleforhowtousePLDBoard'

"

DefineComputerInput/OutputPins:

BLOCK1

IAB10PIN45;

IAB9PIN44;

IAB8PIN43;

IAB7PIN42;

IAB6PIN41;

IAB5PIN40;

IAB4PIN39;

IAB3PIN38;

IAB2PIN37;

IAB1PIN36;

IAB0PIN35;

RCPIN34;

WCPIN32;

B2PIN31;

IDB0PIN30;

IDB1PIN29;

IDB2PIN28;

IDB3PIN27;

IDB4PIN26;

IDB5PIN25;

IDB6PIN24;

IDB7PIN23;

I0PIN22;

I1PIN21;

I2PIN13;

I3PIN12;

I4PIN11;

I5PIN10;

I6PIN9;

I7PIN8;

PCOPIN7;

PINCPIN6;

LPPIN5;

GIPIN4;

OIPIN3;

BLOCK2

CLPIN2;

RRPIN128;

WRPIN127;

SBPIN126;

SAPIN125;

APIN99;

BPIN100;

P1PIN123;

P2PIN56;

CGPIN124;

CYPIN110;

CTPIN122;

OTPIN121;

ZDPIN20;

CPPIN120;

S3PIN119;

S2PIN118;

S1PIN117;

S0PIN109;

MPIN108;

CNPIN107;

SRPIN106;

SLPIN105;

X0PIN104;

X1PIN103;

A7PIN84;

A0PIN51;

OBPIN102;

ROPIN78;

DRPIN101;

CLKPIN46;

BLOCK3

M23PIN98;

M22PIN96;

M21PIN95;

M20PIN94;

M19PIN93;

M18PIN92;

M17PIN91;

M16PIN90;

M15PIN89;

M14PIN88;

M13PIN87;

M12PIN86;

M11PIN85;

M10PIN77;

M9PIN76;

M8PIN75;

MD8PIN66;

MD7PIN63;

MD6PIN62;

MD5PIN61;

MD4PIN60;

MD3PIN59;

M7PIN74;

M6PIN73;

M5PIN72;

M4PIN71;

M3PIN70;

M2PIN69;

M1PIN68;

M0PIN67;

MD2PIN58;

MLDPIN57;

BLOCK4

"

MIG==0

PAPIN55;

KAPIN53;

PBPIN54;

KBPIN52;

READNODE;

EQUATIONS

DefineConnectionsandLogic:

**********ALU**********

CP=!

(M13&

CLK);

SA=M16;

X0=M16;

SB=M17;

X1=M17;

P1=A0;

SR=A0;

S3=M23;

S2=M22;

S1=M21;

S0=M20;

CN=M19;

M=M18;

CG=M11;

OB=M8;

OT=M10;

CT=1;

************REG************

WR=!

(M0&

RR=M1;

A=I0;

B=I1;

*************I-PC***********

CL=!

(M14&

PINC=M6;

GI=M7;

OI=M15;

PCO=!

M6;

LP=(!

M9)&

(!

I4&

!

I3&

ZD

#!

I3&

CY

#I4&

A0

I3);

**************MEM*********

RC=M2#!

CLK;

WC=M3#!

**************BUS**********

B2=M2#IAB2&

IAB10;

KA=IAB0;

PA=IAB1;

IDB0=KB;

IDB7=KA;

IDB0.OE=READ;

IDB7.OE=READ;

READ=!

(M2#!

(IAB10&

IAB2));

**************R-P************

DR=M5;

***************MPG***********

MLD=M4;

MD8=0;

MD7=0;

MD6=0;

MD5=I7;

MD4=I6;

MD3=0;

MD2=I3;

ENDCESB

4.6.3、利用FD-CES控制台将汇编程序输入内存

1、输入内存

如要将程序和数据分别写入内存的相应单元中,相应的操作和显示如下表

操作

显示

M/CM置左

RET(或STOP)

CPUREADY(或小数点消失)

000LOAD

000xxxxx

01W+1

001xx01

20W+1

002xx20

08W+1

003xx08

55W+1

004xx55

51W+1

005xx51

58W+1

006xx58

56W+1

007xx56

A0W+1

008xxA0

2、读内存

将内存中的相应单元的数据读出,检查上一步键入是否正确,相应的操作和显示如下表

00001xxx

R+1

00120xxx

00208xxx

00355xxx

00451xxx

00558xxx

00656xxx

007A0xxx

4.6.4.利用FD-CES控制台将指令的微程序输入控存

一、写控存(键人微程序)

把微程序分别写入控存的相应单元中,相应的操作和显示如下表。

M/CM置右

000xxxxxx

00876AW+1

001xxxxxx

RET

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

当前位置:首页 > 表格模板 > 合同协议

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

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