8位模型机课程设计报告书.docx

上传人:b****8 文档编号:9123733 上传时间:2023-02-03 格式:DOCX 页数:30 大小:1.39MB
下载 相关 举报
8位模型机课程设计报告书.docx_第1页
第1页 / 共30页
8位模型机课程设计报告书.docx_第2页
第2页 / 共30页
8位模型机课程设计报告书.docx_第3页
第3页 / 共30页
8位模型机课程设计报告书.docx_第4页
第4页 / 共30页
8位模型机课程设计报告书.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

8位模型机课程设计报告书.docx

《8位模型机课程设计报告书.docx》由会员分享,可在线阅读,更多相关《8位模型机课程设计报告书.docx(30页珍藏版)》请在冰豆网上搜索。

8位模型机课程设计报告书.docx

8位模型机课程设计报告书

xxxxx

课程设计报告

 

学院机电信息学院

课程课程设计

专业计算机科学与技术

班级xxxxx

姓名xxxxxxxx

学号xxxxxxxxxx

指导教师xxxxxx

日期201x年x月x日

 

课程

设计

目的

1.通过课程设计加深对计算机结构及原理的理解。

2.培养综合分析、设计、开发和调试计算机应用系统的能力。

3.掌握使用Protues工具软件基本操作。

4.培养团队协作能力。

课程

设计

要求

1.设计一台8位模型机。

要求包括五大部分。

2.综合应用所学知识,补充新知识。

3.先分段完成各部分电路的设计与仿真,然后综合完成整体设计。

4.撰写课程设计报告。

5.装订按照学校的统一要求完成。

课程

设计

注意

事项

1.所有电路图尽可能画在同一图中,同时注意信号的流向。

2.注意总体电路图的紧凑和协调,要求布局合理,排列均匀。

3.要严格遵守学习纪律,遵守作息时间。

4.要爱护公物,搞好环境卫生。

课程

设计

1.输入/输出设备的设计与仿真。

2.运算器的设计与仿真。

3.存储器的设计与仿真。

4.微控制器的设计与仿真。

5.基本模型机的设计与仿真。

课程

设计

简要

操作

步骤

1.画出电路原理图。

2.设置仿真环境。

3.调试与仿真。

4.总结。

 

课程

设计

心得

体会

通过此次课程设计,使我更加扎实的掌握了有关计算机组成原理方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次思考与检查终于找出了问题所在,这也暴露出前期我在这方面的知识欠缺和经验不足。

实践出真知,通过亲自动手,是我们掌握的知识不再是纸上谈兵。

课程

设计

评语

成绩

评语

成绩

指导

教师

(签名)

 

日期:

8位模型机的设计与仿真

1.概述

在掌握部件单元电路设计与仿真的基础上,进一步将其组成系统构造一台8位模型机。

字长是8位纯整型,包含基本的五大件:

运算器、存储器、控制器、I/O设备。

它的结构框图如下图1-1所示.

输入设备

输出设备

控制器

运算器

CPU

内存储器

外存储器

图1-1模型机结构框图

这基本的五大件通过数据总线连接,实现数据的处理和控制。

部件实验过程中,各部件单元的控制信号是人为模拟产生的,而综合实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。

这里,计算机数据通路的控制将由微程序控制器来完成,CPU从存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。

2.总体设计

模型机主要由运算器、控制器、存储器、数据总线、输入输出和时序产生器组成,模型机的结构图如图2-1所示。

图2-1模型机结构图

 

在图2-1中T1、T2、T3和T4等控制信号都是由时序产生器生产,时序产生器由时序电路实现如图2-2所示,时序产生器一个周期中产生四个脉冲信号T1~T4,这四个脉冲信号用于控制组件的执行顺序,组件在这些信号的控制下有序的执行,一个周期中完成一条微指令的执行。

图2-2时序产生器

模型机的工作过程可以归纳如下:

(1)控制器把PC中的指令地址送往地址寄存器AR,并发出读命令。

存储器按给定的地址读出指令,经由存储器数据寄存器MDR送往控制器,保存在指令寄存器IR中。

(2)指令译码器ID对指令寄存器IR中的指令进行译码,分析指令的操作性质,并由控制电路向存储器、运算器等有关部件发出指令所需要的微命令。

(3)当需要由存储器向运算器提供数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往地址寄存器AR,然后向存储器发出读命令,从存储器中读出的数据经由存储器数据寄存器MDR送往运算器。

(4)当需要由运算器向存储器写入数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器AR,再将欲写的数据存入存储器数据寄存器MDR,最后向存储器发出写命令,MDR中的数据即被写入由MAR指示地址的存储单元中。

(5)一条指令执行完毕后,控制器就要接着执行下一条指令。

为了把下一条指令从存储器中取出,通常控制器把PC的容加上一个数值,形成下一条指令的地址,但在遇到“转移”指令时,控制器则把“转移地址”送入PC。

控制器不断重复上述过程的

(1)到(5),每重复一次,就执行了一条指令,直到整个程序执行完毕。

3.详细设计

3.1运算器

运算器(arithmeticunit)是计算机中执行各种算术和逻辑运算操作的部件。

运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。

计算机运行时,运算器的操作和操作种类由控制器决定。

运算器处理的数据来自存储器;处理后的结果数据通常送回存储器,或暂时寄存在运算器中。

本次8位模型机实验中,运算器是由两片74LS181芯片构成。

74LS181是一个四位的ALU单元,它是由一个四位全加器以及进位电路构成。

正逻辑74LS181的逻辑图3-1所示.

 

图3-1运算器原理图

74LS181运算功能发生器能进行16种算术运算和逻辑运算。

功能表如下:

设计步骤:

(1)按图3-2连接实验电路,并检查无误。

图中将用户需要连接的信号用圆圈标明(其它实验相同)。

图3-2实验接线图

(2)将时序与操作台单元的开关KK2置为‘单拍’档,开关KK1、KK3置为‘运行’档。

(3)打开电源开关,如果听到有‘嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。

然后按动CON单元的CLR按钮,将运算器的A、B和FC、FZ清零。

(4)用输入开关向暂存器A置数。

拨动CON单元的SD27…SD20数据开关,形成二进制数01100101(或其它数值),数据显示亮为‘1’,灭为‘0’。

置LDA=1,LDB=0,连续按动时序单元的ST按钮,产生一个T4上沿,则将二进制数01100101置入暂存器A中,暂存器A的值通过ALU单元的A7…A0八位LED灯显示。

(5)用输入开关向暂存器B置数。

拨动CON单元的SD27…SD20数据开关,形成二进制数10100111(或其它数值)。

置LDA=0,LDB=1,连续按动时序单元的ST按钮,产生一个T4上沿,则将二进制数10100111

置入暂存器B中,暂存器B的值通过ALU单元的B7…B0八位LED灯显示。

(6)改变运算器的功能设置,观察运算器的输出。

置ALU_B=0、LDA=0、LDB=0,然后按表1-1-1置S3、S2、S1、S0和Cn的数值,并观察数据总线LED显示灯显示的结果。

如置S3、S2、S1、S0为0010,运算器作逻辑与运算,置S3、S2、S1、S0为1001,运算器作加法运算。

如果实验箱和PC联机操作,则可通过软件中的数据通路图来观测实验结果(软件使用说明请看附录一),方法是:

打开软件,选择联机软件的“【实验】—【运算器实验】”,打开运算器实验的数据通路图,如图3-3所示。

进行上面的手动操作,每按动一次ST按钮,数据通路图会有数据的流动,反映当前运算器所做的操作,或在软件中选择“【调试】—【单节拍】”,其作用相当于将时序单元的状态开关KK2置为‘单拍’档后按动了一次ST按钮,数据通路图也会反映当前运算器所做的操作。

重复上述操作,然后改变A、B的值,验证FC、FZ的锁存功能。

图3-3数据通路图

3.2存储器

存储器的主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。

存储器是具有”记忆”功能的设备,它采用具有两种稳定状态的物理器件来存储信息。

这些器件也被称为记忆元件。

在计算机中采用只有两个数码”0”和”1”的二进制来表示数据。

本次实验所采用的半导体静态存储器电路原理如图3-4所示。

实验中的静态存储器由一片6116(2k*8)构成,其数据线接至数据总线,地址总线由地址锁存器(74LS273)给出,地址灯AD0`AD7与地址线相连,显示地址容。

数据开关经三态门(74LS245)连至数据总线,分时给出地址和数据。

图3-4存储器电路原理图

因为地址寄存器为8位,接入6116的地址为A7~A0,而高三位A8~A10接地,所以其实际容量为256字节。

6116有三个控制线:

CE(片选线)、OE(读线)、CE(写线)。

当片选线有效(CE=0)时,OE=0时进行读操作,WE=0时进行写操作,其写时间与T3脉冲宽度一致。

操作时将T3脉冲接至实验板上时序电路模块的TS3相应插孔中,其脉冲宽度可调,其他电平控制信号由“SWITCHUNIT”单元的二进制开关模拟,其中SW-B为低电平有效,LDAR为高电平有效。

设计步骤:

l.实验接线如下:

⑴MBUS连BUS2;

⑵EXJ1连BUS3;

⑶跳线器J22的T3连TS3;

⑷跳线器J16的SP连H23;

⑸跳线器SWB、CE、WE、LDAR拨在左边(手动位置)。

2.连接实验线路,仔细查线无误后接通电源。

形成时钟脉冲信号T3,方法如下:

在时序电路模块中有两个二进制开关“运行控制”和“运行方式”。

将“运行控制”开关置为“运行”状态、“运行方式”开关置为“连续”状态时,按动“运行启动”开关,则T3有连续的方波信号输出,此时调节电位器W1,用示波器观察,使T3输出实验要求的脉冲信号;本实验中“运行方式”开关置为“单步”状态,每按动一次“启动运行”开关,则T3输出一个正单脉冲,其脉冲宽度与连续方式相同。

3.具体操作步骤图示如下:

给存储器的00地址单元中写入数据11,具体操作步骤如下:

 

如果要对其它地址单元写入容,方法同上,只是输入的地址和容不同。

(4)读出刚才写入00地址单元的容,观察容是否与写入的一致。

具体操作步骤如下:

 

 

4.结果分析

1)根据存储器的读写原理,填写表3-1。

表3-1存储器的读写信号配合

控制信号

写地址写容读容

SWB开关

101010

LDAR 开关

1010

CE开关 

1010

WE开关 

010

2)记录向存储器写入数据的操作过程。

按照前面介绍的实验步骤向存储器地址为00H,01H,02H,03H,04H,05H的单元分别写入数据:

55H,33H,44H,66H,08H,F0H。

3)写出读出存储器单元容的操作过程并记录以下地址单元读出的容。

表3-2存储器单元容读出记录

地址

地址

00000000

01010101

00000100

00001000

00000001

00110011

00000101

11110000

00000010

01000100

00001000

00000000

00000011

01100110

00001001

00000000

 

4)根据电路图分析向存储器置数和从存储器读数的工作原理。

存储器是计算机用来保存程序与数据的主要部件。

存储器可以分为易失性和飞易失性存储器,易失性存储器中的数据在关电后就不复存在,非易失性存储器的数据在关电后不会丢失。

易失性存储器又可以分为动态存储器和静态存储器,动态存储器保存信息的时间只有2ms,工作时需要不断更新,既不断刷新数据静态存储器只有不断电,信息是不会丢失的。

3.3微控制器

控制器(ControlUnit)是整个CPU的指挥控制中心,由寄存器IR,程序计数器PC和操作控制器OC三个部件组成,对协调整个电脑有序工作极为重要。

有两种由于设计方法不同因而结构也不同的控制器:

硬布线控制器和微程序控制器。

在本次课设中我们采用的是微程序控制器。

微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。

微控制器诞生于20世纪70年代中期,经过30多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。

微控制器的电路图如下图3-5.

图3-5微控制器电路原理图

设计步骤:

(1)将全部微程序按微指令格式变成二进制代码,可得到表3-3的二进制代码表。

微地址

S3S2S1S0MCNWEA9A8

A

B

C

UA5—UA0

00

000000011

000

000

100

010000

01

000000011

110

110

110

000010

02

000000001

100

000

001

001000

03

000000001

110

000

000

000100

04

000000001

011

000

000

000101

05

000000011

010

001

000

000110

06

100101011

001

101

000

000001

07

000000001

110

000

000

001101

10

000000000

001

000

000

000001

11

000000011

110

110

110

000011

12

000000011

110

110

110

000111

13

000000011

110

110

110

001110

14

000000011

110

110

110

010110

15

000000101

000

001

000

000001

16

000000001

110

000

000

001111

17

000000001

010

000

000

010101

20

000000011

110

110

110

010100

21

000000011

110

110

110

010100

22

000000001

010

000

000

010111

23

000000011

000

000

000

000001

24

000000000

010

000

000

011000

25

000001110

000

101

000

000001

26

000000001

101

000

110

000001

27

000001110

000

101

000

010000

30

000001101

000

101

000

010001

表3-3

 

(2)按图3-6连接实验线路,仔细查线无误后接通电源。

图3-6微控制器实验接线图

 

(3)观察微程序控制器的工作原理:

1.将微程序输入控制存储器中

①.将编程开关MJ20置为PROM(编程)状态。

②.将实验板上“STATEUNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。

③.用二进制模拟开关uA0~~uA5输入当前微地址MA5——MA0。

④.在MK24~~MK1开关上置微指令代码,24位开关对应24位显示灯,开关量为“0”时灯亮,开关量为“l”时灯灭。

⑤.启动时序电路(按动启动按钮“START”),即将微代码写入到E2PROM2816的相应地址对应的单元中。

⑥.重复③—⑥步骤,将表1的微指令代码写入E2PROM2816中。

2.校验

①.将编程开关MJ20设置为READ(校验)状态。

②.将实验板的“STEP”开关置为“STEP”状态,“STOP”开关置为“RUN”状态。

③.用二进制模拟开关uA0~~uA5置好微地址MA5——MA0。

④.按动“START”键,启动时序电路,读出微代码。

观察显示灯MD24——MD1的状态(灯亮为“0”,灭为“l”),检查读出的微代码是否与写入的相同。

如果不同,则将开关置于PROM编程状态,重新输入微指令代码即可。

3.单步运行

①.将编程开关MJ20置于“RUN(运行)”状态。

②.实验板的“STEP”及“STOP”开关保持原状。

③.操作CLR开关使CLR信号l→0→l,此时微地址寄存器MA5一MA0清零,从而确定本机的运行入口微地址为000000(二进制)。

④.按动“START”键,启动时序电路,则每按动一次启动键,读出一条微指令,此时实验台上的微地址显示灯和微命令显示灯将显示所读出的一条微指令。

4.连续运行

①.将编程开关MJ20置为“RUN(运行)”状态。

②.将实验板的单步开关“STEP”置为“EXEC”状态。

③.拨动CLR开关使CLR从l→0→l,此时微地址寄存器清“0”,从而给出取指微指令的入口地址为000000(二进制)。

④.按动“START”键,启动时序电路,则可连续读出微指令。

3.4基本模型机设计与实现

在实验1到实验3中,各部件单元的控制信号是人为模拟产生的。

而本次课设主要是设计模型机在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。

这里,计算机数据通路的控制将由微程序控制器来完成,CPU从存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。

本实验采用五条机器指令:

IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):

助记符机器指令码说明

IN00000000“INPUTDEVICE”中的开关状态–>RO

ADDaddr00010000××××××××二进制加法R0+[addr]–>R0

STAaddr00100000××××××××存数RO–>[addr]

OUTaddr00110000××××××××输出[addr]–>LED

JMPaddr01000000××××××××无条件转移addr–>PC

其中IN为单字长(8位)指令,其余为双字长指令,××××××××为addr对应的二进制地址码。

图3-7模型机数据通路图

根据模型机的数据通路图(如图3-7所示)和指令的要求定义微代码如下:

表1微代码定义

微程序

24~21

20

19

18

17

16

15~13

12~10

9~7

6~1

控制信号

S3~S0

M

CN

RD

M17

M16

A

B

P

uA5~uA0

表2A、B、P字段

A字段

B字段

P字段

15

14

13

控制信号

12

11

10

控制信号

9

8

7

控制信号

0

0

0

0

0

0

0

0

0

0

0

1

LDRI

0

0

1

RS_G

0

0

1

P1

0

1

0

LDDR1

0

1

0

RD_G

0

1

0

P2

0

1

1

LDDR2

0

1

1

RI_G

0

1

1

P3

1

0

0

LDIR

1

0

0

299_G

1

0

0

P4

1

0

1

LOAD

1

0

1

ALU_G

1

0

1

AR

1

1

0

LDAR

1

1

0

PC_G

1

1

0

LDPC

表中μA5~μA0为6位后续微地址,A、B、C为三个译码字段,分别由三个控制位译码出多位。

P字段中的P

(1)~P(4)是四个测试字位。

其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行。

B字段中的RS-B、RD-B、RI-B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。

A字段中的LDRI为从输入设备组件中读入数据使能控制信号。

系统涉及到的微程序流程如图3-4-2所示,这里“取指”是公用微指令,为了能确定不同机器指令有各自不同的微程序转向,我们在这里以指令寄存器的前4位(IR7~IR4)作为测试条件,引入了P

(1)指令测试字段,如此,对于五条机器指令,就可以有五路P

(1)测试分支,对于每一指令分别予以微程序解释。

由图3-4-2微程序流程图中可以看到,在执行机器指令IN的时候要执行三条微指令:

01、02和10,每个微指令需要一个CPU周期来执行,所以执行一条机器指令IN需要三个CPU周期。

图3-8微程序流程图

当全部微程序设计完毕后,应将每条微指令代码化.图3-6即为将如图3-8的微程序流程图按微指令格式转化而成的二进制微代码表。

设计步骤:

①单步运行程序

A.使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。

B.拨动总清开关CLR(0→1),微地址清零,PC计数器清零,程序首地址为00H。

C.单步运行一条微指令,每按动一次START键,即单步运行一条微指令。

对照微程序流程图,观察微地址显示灯是否和流程一致。

D.当运行结束后,可检查存数单元(0B)中的结果是否和理论值一致。

②连续运行程序

A.使“STATEUNIT”中的STEP开关置于“EXEC”状态,STOP开关置为“RUN”状态。

B.拨动CLR开关,清微地址及PC计数器,按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。

C.停机后,可检查存数单元(0B)结果是否正确。

若联机运行程序时,进入DEBUG调试界面,总清开关CLR(0→1)清零后,程序首地址为00H,按相应功能键即可联机运行、调试程序。

部寄存器选择电路:

赋给[1AH]

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

当前位置:首页 > 解决方案 > 学习计划

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

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