计算机硬件课程设计报告拓展接口的复杂模型机设计.docx

上传人:b****3 文档编号:26411014 上传时间:2023-06-19 格式:DOCX 页数:23 大小:463.46KB
下载 相关 举报
计算机硬件课程设计报告拓展接口的复杂模型机设计.docx_第1页
第1页 / 共23页
计算机硬件课程设计报告拓展接口的复杂模型机设计.docx_第2页
第2页 / 共23页
计算机硬件课程设计报告拓展接口的复杂模型机设计.docx_第3页
第3页 / 共23页
计算机硬件课程设计报告拓展接口的复杂模型机设计.docx_第4页
第4页 / 共23页
计算机硬件课程设计报告拓展接口的复杂模型机设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

计算机硬件课程设计报告拓展接口的复杂模型机设计.docx

《计算机硬件课程设计报告拓展接口的复杂模型机设计.docx》由会员分享,可在线阅读,更多相关《计算机硬件课程设计报告拓展接口的复杂模型机设计.docx(23页珍藏版)》请在冰豆网上搜索。

计算机硬件课程设计报告拓展接口的复杂模型机设计.docx

计算机硬件课程设计报告拓展接口的复杂模型机设计

 

计算机硬件课程设计报告

——拓展接口的复杂模型机设计

 

学院:

计算机科学与工程学院

专业:

计算机科学与技术

班级:

组员1:

组员2:

起止时间:

 

一、实验目的··············································3

二、实验内容··············································3

三、实验思路··············································3

四、实验原理··············································3

五、实验步骤·············································10

六、实验设计·············································11

七、实验心得·············································14

 

经过一系列硬件课程的学习及相关实验后,做一个综合的系统性的设计,这在硬件方面是一个提高,进一步培养实践能力。

搭建一台有拓展接口的8位模型机,指令系统要求有10条以上,其中包括运算类指令、传送类指令、控制转移类指令、输入输出指令、停机指令等。

1、确定设计目标:

确定所设计计算机的功能和用途。

2、确定指令系统:

确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。

3、确定总体结构与数据通路:

总体结构设计包含确定各部件设置以及它们之间的数据通路结构,列出各种信息传送路径以及实现这些传送所需要的微命令。

4、设计指令执行流程:

数据通路确定后,就可以设计指令系统中每条指令的执行流程。

根据指令的复杂程度。

每条指令所需要的机器周期数。

对于微程序控制的计算机,根据总线结构,需要考虑哪些微操作可以安排在同一个微指令中。

5、确定微程序地址:

根据后续微地址的形成方法,确定每条微程序地址及分支转移地址。

6、根据微指令格式,将微程序流程中的所有微操作进行二进制代码化,写入到控制存储器中的相应单元中。

7、组装、调试:

在总装调试前,先按功能模块进行组装和分调,因为只有功能模块工作正常后,才能保证整机的运行正确。

四、实验原理

(1)数据格式8位。

(2)指令格式:

指令系统应包括:

算术逻辑运算指令、访存指令、控制转移指令、I/O指令、停机指令。

一般指令格式如下:

OP-CODE(4位)

RS(2位)

RD(2位)

DATA/ADDR(8位)

其中RS、RD可以是R0、R1、R2中任一个,它们的代码分别为00、01、10。

DATA为立即数,ADDR为内存地址。

(3)指令系统:

读写端口指令:

PINPORT,RDPOUTRS,PORT

访存指令:

LOAD[ADDR],RDSTARS,[ADDR]

读取立即数指令:

MOVDATARD

算术运算指令:

ADDRS,RDSUBRS,RD

逻辑运算指令:

XORRS,RDANDRS,RDNOTRD

跳转指令:

JMPADDRJZADDR

停机指令:

HALT

2、

指令微操作流程

 

微指令为24位2进制编码,其中24位分配及编码方式如下:

(1)第24位至第19位分配方式:

24

23

22

21

20

19

S3

S2

S1

S0

M

Cn

第24位至第19位编码方式方式:

(2)第18位至第16位分配方式:

18

17

16

WE

A9

A8

第18位至第16位编码方式方式:

WE

A9

A8

功能

0

0

0

INPUT

0

0

1

RAM读

1

0

1

RAM写

1

1

0

LED,写接口

0

1

1

0

1

0

写接口

(3)第15位至第7位分配方式:

151413

121110

987

A

B

C

第15位至第7位编码方式:

A字段:

15

14

13

选择

0

0

0

0

0

1

LDRi

0

1

0

LDDR1

0

1

1

LDDR2

1

0

0

LDIR

1

0

1

LOAD

1

1

0

LDAR

B字段:

12

11

10

选择

0

0

0

0

0

1

RS-B

0

1

0

RD-B

0

1

1

RI-B

1

0

0

299-B

1

0

1

ALU-B

1

1

0

PC-B

C字段:

9

8

7

选择

0

0

0

0

0

1

P

(1)

0

1

0

P

(2)

0

1

1

P(3)

1

0

0

P(4)

1

0

1

AR

1

1

0

LDPC

(4)第6位至第1位分配方式:

6

5

4

3

2

1

uA5

uA4

uA3

uA2

uA1

uA0

第6位至第1位指示下一条微指令的地址。

(5)299移位控制表:

299-b

s1

s0

m

功能

0

0

0

任意

保持

0

1

0

0

循环右移

0

1

0

1

带进位循环右移

0

0

1

0

循环左移

0

0

1

1

带进位循环左移

任意

1

1

任意

装数

4、微程序地址入口的形成

P

(1)是用来译码指令寄存器的I7、I6、I5、I4,用于一般指令,微程序入口址为OP+10H

P

(2)是用来译码指令寄存器的I3、I2,用于不同寻址方式指令,入口地址转OP+20H

P(3)是用来译码判断标志位C、Z,用于条件转移指令,条件成立转OP+30H,条件不成立转OP+20H

P(4)是用来译码控制台操作的SWB、SWA,用于手动操作。

5、寄存器地址译码电路

6、微程序装载格式

机器指令格式:

$Pxxxx

微指令格式:

$Mxxxxxxxx

把它们保存为*.TXT文件。

注:

1)程序中字母要大写。

2)机器指令地址按顺序,微指令地址可不按顺序。

7、模型机的时序

8、模型机的数据通路

10、8255接口简介

(1)8255芯片简介

8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。

具有3个通道3种工作方式的可编程并行接口芯片。

其各口功能可由软件选择,使用灵活,通用性强。

8255可作为单片机与多种外设连接时的中间接口电路。

8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。

同时必须具有与外设连接的接口A、B、C口。

由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:

与CPU连接部分、与外设连接部分、控制部分。

1)与CPU连接部分  

根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。

由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。

此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。

2)与外设接口部分  

根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接。

3)控制器  

8255将3个通道分为两组,即PA0~PA7与PC4~PC7组成A组,PB0~PB7与PC0~PC3组成B组。

如图7.5所示,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:

  

(1)A组控制器:

控制A口与上C口的输入与输出。

  

(2)B组控制器:

控制B口与下C口的输入与输出。

(2)读写端口指令

1)读端口指令格式:

PINPORT,RD

OP-CODE(4位)

RS(2位)

00

PORT

2)写端口指令格式:

POUTRS,PORT

OP-CODE(4位)

00

RD(2位)

PORT

3)读写端口指令微操作:

(3)8255的编程

8255的初始化编程较简单,只需要一个控制字就把3个端口设置完成。

1)写入方式控制字。

方式控制字决定端口A、B、C的工作方式。

2)经过初始化编程之后,处理器执行读端口指令和写端口指令,对3个数据端口进行读写就可以实现处理器与外设之间的数据交换。

(1)按照给定模型机组装电路图连接电路;

(2)连通实验箱与PC机,打开CMP软件,测试实验箱是否正常;

(3)设计微指令,画出其微操作流程图,并翻译成相应的微指令格式;

(4)设计包含这些微指令的机器指令程序,并翻译成相应机器指令格式;

(5)把设计好微指令和机器指令保存为TXT文件,然后装载入CMP;

(6)打开复杂模型机,然后用单步机器指令运行程序并调试;

(7)检查输出结果是否正确,最后撰写实验报告。

1、设计机器指令

在实验设计中,我们定义了12条指令,分别为他们编码,如下表所示:

基本指令

指令代码

PIN

0000

POUT

0001

LOAD

0010

STA

0011

MOV

0100

ADD

0101

SUB

0110

AND

0111

XOR

1000

NOT

1001

JMP

1010

JZ

1011

2、设计微指令

A

B

C

微操作

00018001

00

000000

011

000

000

000

000001

0101ED82

01

000000

011

110

110

110

000010

PC->AR,PC+1->PC

0200C050

02

000000

001

100

000

001

010000

RAM->BUS,BUS->IR

PIN

1001ED83

10

000000

011

110

110

110

000011

PC->AR,PC+1->PC

0300E004

03

000000

001

110

000

000

000100

RAM->BUS,BUS->AR

04011001

04

000000

010

001

000

000

000001

读端口数据送入寄存器

POUT

1101ED85

11

000000

011

110

110

110

000101

PC->AR,PC+1->PC

0500E006

05

000000

001

110

000

000

000110

RAM->BUS,BUS->AR

06030201

06

000000

110

000

001

000

000001

寄存器写入端口数据

LOAD

1201ED87

12

000000

011

110

110

110

000111

PC->AR,PC+1->PC

0700E008

07

000000

001

110

000

000

001000

RAM->BUS,BUS->AR

08009001

08

000000

001

001

000

000

000001

RAM->BUS,BUS->Ri

STA

1301ED89

13

000000

011

110

110

110

001001

PC->AR,PC+1->PC

0900E00A

09

000000

001

110

000

000

001010

RAM->BUS,BUS->AR

0A028201

0A

000000

101

000

001

000

000001

Ri->BUS,BUS->RAM

MOV

1401ED8B

14

000000

011

110

110

110

001011

PC->AR,PC+1->PC

0B009001

0B

000000

001

001

000

000

000001

RAM->BUS,BUS->Ri

ADD

1501A20C

15

000000

011

010

001

000

001100

Ri->LDDR1

0C01B40D

0C

000000

011

011

010

000

001101

Ri->LDDR2

0D959A01

0D

100101

011

001

101

000

000001

LDDR1+LDDR2->Ri

SUB

1601A20E

16

000000

011

010

001

000

001110

Ri->LDDR1

0E01B40F

0E

000000

011

011

010

000

001111

Ri->LDDR2

0F619B41

0F

011000

011

001

101

101

000001

LDDR1-LDDR2->Ri

AND

1701A220

17

000000

011

010

001

000

100000

Ri->LDDR1

2001B421

20

000000

011

011

010

000

100001

Ri->LDDR2

21159A01

21

000101

011

001

101

000

000001

LDDR1与LDDR2->Ri

XOR

1801A222

18

000000

011

010

001

000

100010

Ri->LDDR1

2201B423

22

000000

011

011

010

000

100011

Ri->LDDR2

23699A01

23

011010

011

001

101

000

000001

LDDR1+LDDR2->Ri

NOT

1901B424

19

000000

011

011

010

000

100100

Ri->LDDR2

24099A01

24

000010

011

001

101

000

000001

LDDR1+LDDR2->Ri

JMP

1A01EDA5

1A

000000

011

110

110

110

100101

PC->AR,PC+1->PC

2500D181

25

000000

001

101

000

110

000001

RAM->BUS,BUS->PC

JZ

1B01ECEF

1B

000000

011

110

110

011

101111

PC->AR,PC+1->PC

2F018001

2F

000000

011

000

000

000

000001

分支测试失败

3F00D181

3F

000000

001

101

000

110

000001

分值测试成功

3、设计验证程序

汇编指令

(前一个操作数为源操作数,

后一个操作数为目的操作数)

MOV90H,R2

POUTR2,03H

PIN00H,R1

MOV02H,R2

ADDR1,R2

XORR1,R2

NOTR2

LOAD[20H],R0

JMP30H

SUBR0,R0

JZ40H

ANDR0,R2

POUTR2,01H

4、汇编程序与机器指令程序的转换

地址

机器指令码(二进制)

机器指令码(十六进制)

指令

01

01000010

42H

MOV90H,R2

02

10010000

90H

03

00011000

18H

POUTR2,03H

04

00000011

03H

05

00000001

01H

PIN00H,R1

06

00000000

00H

07

00010100

14H

POUTR1,01H

08

00000001

01H

09

01000010

42H

MOV02H,R2

0A

00000010

02H

0B

01010110

56H

ADDR1,R2

0C

10000110

86H

XORR1,R2

0D

10010010

92H

NOTR2

0E

00100000

20H

LOAD[20H],R0

0F

01000000

20H

10

10100000

A0H

JMP30H

11

00110000

30H

30

01100000

60H

SUBR0,R0

31

10110000

B0H

JZ40H

32

01000000

40H

40

011100010

72H

ANDR0,R2

41

00011000

18H

POUTR2,01H

42

00000001

01H

5、建立联机操作文件

为了从PC机下载工作程序和微程序,需要建立联机操作文件,该文件是普通的文本文件,扩展名为TXT,可用记事本来建立。

源程序如下:

$P0401

$P0500

$P0614

$P0701

$P0842

$P0902

$P0A56

$P0B86

$P0C92

$P0D20

$P0E20

$P0FA0

$P1030

$P3060

$P31B0

$P3240

$P4072

$P4118

$P4201

$M00018001

$M0101ED82

$M0200C050

$M1001ED83

$M0300E004

$M04011001

$M1101ED85

$M0500E006

$M06030201

$M1201ED87

$M0700E008

$M08009001

$M1301ED89

$M0900E00A

$M0A028201

$M1401ED8B

$M0B009001

$M1501A20C

$M0C01B40D

$M0D959A01

$M1601A20E

$M0E01B40F

$M0F619B41

$M1701A220

$M2001B421

$M21159A01

$M1801A222

$M2201B423

$M23699A01

$M1901B424

$M24099A01

$M1A01EDA5

$M2500D181

$M1B01ECEF

$M2F018001

$M3F00D181

经过两天的学习、设计和开发,带有拓展接口的复杂模型机基本上算是开发完成了,其功能基本能够符合设计需求,基本能够达到硬件课程设计基本目的。

当然,在这个过程中也参阅了不少书籍并从中受益匪浅,学到了不少东西和技巧。

但由于设计时间较短,所以该模型机还有许多不尽人意的地方,这些都有待进一步改善。

通过学习,我不仅掌握了基本的硬件知识和理论,并且增强了自学和深入思考的能力。

因此,参加这次硬件课程设计,不仅仅是只是做出了一个模型机而已,更培养和加强了自主学习、深入思考问题的能力,可以说是一举多得。

作为一名计算机学院的学生,我们觉得这样的课程设计是十分有意义的。

我们在课堂上掌握的仅仅是专业基础课的理论面,如何去运用现实中的各种硬件部件?

如何去面对现实中的各种程序设计?

如何把我们所学到的专业基础理论知识运用到实践中去呢?

我想做类似的课程设计就为我们提供了良好的实践平台。

在做本次课程设计的过程中,我感触最深的当属翻阅了很多次课本和指导书。

这次的课程设计,可是说是对进入大学里来所有涉及到硬件的课程的一次大综合,她所涉及到的知识面涵括了计算机组成原理和微机接口技术等。

可以说,这次的课程设计是对我们所学硬件知识的一次大融合,有助于我们在更高层次上把握和理解硬件基础知识。

计算机技术浩瀚无边,需要我们学习的知识非常之多。

借助于本次课程设计,无论是从技术上还是对知识的理解上讲,都对我们今后步入社会都打下了一个良好的基础。

总之,通过这次的生产实习,我学会了很多,也了解了很多。

在这,我真诚的感谢辅导过我的老师,还有帮助过我的同学们。

谢谢!

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

当前位置:首页 > 总结汇报 > 学习总结

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

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