电子计算机组成原理课程设计模拟机的设计与实现.docx

上传人:b****8 文档编号:28091175 上传时间:2023-07-08 格式:DOCX 页数:12 大小:132.26KB
下载 相关 举报
电子计算机组成原理课程设计模拟机的设计与实现.docx_第1页
第1页 / 共12页
电子计算机组成原理课程设计模拟机的设计与实现.docx_第2页
第2页 / 共12页
电子计算机组成原理课程设计模拟机的设计与实现.docx_第3页
第3页 / 共12页
电子计算机组成原理课程设计模拟机的设计与实现.docx_第4页
第4页 / 共12页
电子计算机组成原理课程设计模拟机的设计与实现.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

电子计算机组成原理课程设计模拟机的设计与实现.docx

《电子计算机组成原理课程设计模拟机的设计与实现.docx》由会员分享,可在线阅读,更多相关《电子计算机组成原理课程设计模拟机的设计与实现.docx(12页珍藏版)》请在冰豆网上搜索。

电子计算机组成原理课程设计模拟机的设计与实现.docx

电子计算机组成原理课程设计模拟机的设计与实现

 

课程设计

 

课程名称

电子计算机组成原理

题目名称

模拟机的设计与实现

专业班级

08计算机科学本

(1)

学生姓名

张志强

学号

50802011012

指导教师

李长旺

 

二○一○年六月二十二日

 

一.程序设计概述

1.1课程设计目的

通过对一个简单计算机的设计,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。

为今后的科研打下扎实的基础。

课程设计任务和基本要求

(1)按给定的数据格式和指令系统,理解为程序控制器的设计原理。

(2)设计给定机器指令系统遗迹微程序流程图,安慰指令格式写出微程序的微指令代码。

(3)连接逻辑电路,完成启动、测试、编程、校验和运行,并观测运行过程及结果。

(4)将微程序控制器模块与运算器模块、存储器模块联机,组成一台模拟计算机。

(5)用微程序控制器控制模型机的数据通路。

(6)通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机的整机概念,掌握计算机的控制机制。

按指定应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型及数据通路设计实现机器指令功能的微程序。

二.模型机的具体设计

设计一台模型机实现IN(输入)、ADD(加法)、STA(存数)、OUT(输出)、JMP(无条件转移)指令系统。

并通过给定的工作程序验证上述指令系统。

本设计实现的模型机共包含五条机器指令:

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

助记符

机器指令码(二进制)

说明

微程序的入口地址

(八进制)

IN

00000000

“INPUTDEVICE”中的开关状态—>R0

10

(取指令后续微指令默认地址为10)

ADDaddr

00010000XXXXXXXX

RO+[addr]——>R0

11

STAaddr

00100000XXXXXXXX

RO——>[addr]

12

OUTaddr

00110000XXXXXXXX

[addr]——>LED

13

JMPaddr

01000000XXXXXXXX

addr——>PC

14

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

在测试程序装入内存后,机器自动执行控存中00号的微指令,产生控制台命令,其流程如下(01为取指微指令的地址):

图1

映象

本设计的工作程序的内存映象(装入起始地址00H)如下:

地址(二进制)

内容(二进制)

助记符

说明

十六进制代码

00000000

00000000

IN

将输入数据送R0寄存器

0000

00000001

00010000

ADD[OAH]

0110

00000010

00001010

RO+[0AH]—>R0

020A

00000011

00100000

STA[0BH]

0320

00000100

00001011

R0—>[0BH]

040B

00000101

00110000

OUT[0BH]

0530

00000110

00001011

[0BH]—>LED

060B

00000111

01000000

JMP01

0740

00001000

00000001

01H—>PC

0801

00001010

00000001

输入自定的数据

0A01

.4微程序

微程序(主要ADD部分)

微地址

S3S2S1S0MCNWEA9A8

A

B

C

UA5…UA0(后续地址)

十六进制代码

03

000000001

110

000

000

000100

0300E004

04

000000001

011

000

000

000101

0400B005

05

000000011

010

001

000

000110

0501A206

06

100101011

001

101

000

000001

06959A01

09

000000011

110

110

110

000011

0901ED83

 

三.课程设计具体实现步骤

图2

联机写入程序(微指令),按照实验要求的规定格式,将机器指令及微指令二进制代码表编辑成十六进制的文件。

微指令代码如下:

$M00018110$M0700E00D$M0E00E00F$M15070A01

$M0101ED82$M08001001$M0F00A015$M1600D181

$M0200C048$M0901ED83$M1001ED92$M17070A10

$M0300E004$M0A01ED87$M1101ED94$M18068A11

$M0400B005$M0B01ED8E$M1200A017

$M0501A206$M0C01ED96$M13018001

$M06959A01$M0D028201$M14002018

程序思想如下:

首先将输入数据送R0寄存器,然后送到ALU单元执行ADD操作,加法完成后将结果再送到R0寄存器,然后STA跳转,将R0寄存器的数据送到0BH,然后送显示器显示,送显后立即JMP指令回到微程序的01步,即继续执行ADD加法,一直循环。

微程序中,当A9=0,A8=0时,选中Y0;

当A9=0,A8=1时,选中Y1;

当A9=1,A8=0时,选中Y2;

当A9=1,A8=1时,选中Y3

微指令解释:

指令中S3…CN为全0表示不执行任何运算操作,A9,A8如开始解释的表示选择外设,均为1表示选中扩展单元(EXUNIT)的Y3,而根据实验接线图可知,Y3表示不做任何操作,A,B,C字段为根据实验线路图中起作用的单元,从09开始A,B,C分别为110,110,110表示LDAR,PC-B,LDPC有效(附录图3),根据数据通路图,即是PC->AR,PC并自动+1,UA5…UA0为000011,即下址为下一条微指令地址03H。

09执行完后根据下址到达03,其中A9,A8为01即是选中Y1,Y1与WE相连表示存储器工作,即RAM->BUS->AR,后续地址为04H。

04指令中,A,B,C字段分别为011,000,000表示LDDR2有效,即表示将内存中的数据传送到DR2寄存器中,RAM->BUS->DR2,后续地址为05H。

05这条指令的A,B,C字段为010,001,000,即是LDDR1,RS-B有效,表示叫R0的数据传送到DR1寄存器中,R0->DR1,后续地址为06H。

06指令既为ADD运算,S3…CN为100101,A,B,C字段为001,101,000,即LDRi,ALU-B逻辑运算单元有效,执行运算操作,将DR1和DR2中的数据相加,完成后将结果传送到R0,(DR1)+(DR2)->R0。

即完成了一次加法操作。

ADD指定完成后有JMP跳转到01H。

一直循环进行加法运算。

测试数据:

FEH

结果为:

FE->FF->00->01->…->FE->FF->00->…一直循环,每次加1。

ADD执行的是不产生进位的加法,所以实验结果只是每次在原来的数据上加01H。

不产生进位加。

四.设计心得

通过这次课程设计,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深了对组成原理理论课程的理解。

通过自己对一系列微程序的编写,对程序执行的流程以及指令之间的跳转有了更深的理解,能够根据流程图和机器指令写出相应微程序,对简单模型机里的数据流向图也有了一定的理解,能看懂根据自己编写的微程序在模型机上的一步步流向,对ADD,ADC,BZC,RLC……等指令的运用更加熟悉,对它们微程序的一步步流程也有了清晰的认识,通过对机器指令和微指令的分析和编写,理解了指令代码所对应的功能。

本次实验中,在微程序的调试中花费不少时间,但通过观察模型机上的操作流向来检查错误收获较大,模型机能比较准确的看出自己出错的地方(即数据没有向题目要求的地方流动),通过对程序进行多次调试修改以及老师的帮助指导下得到正确结果。

在这次课程设计中,很多计算机组成原理的知识在实际中得到运用,对组成原理的很多内容有了一个直观的认识,自身理论知识和动手能力得到很大提高。

有很大的收获。

主要结论本文主要是关于设计一台模型计算机,并且对计算机的基本组成、部件的设计、部件间的连接、模型机的硬件结构进行更深入的了解。

掌握微程序控制器的设计、微指令和微程序的编制和微程序设计过程做了进一步的了解。

4.2对课程设计的认识

通过本次课程设计,我更进一步了解了计算机的组成,线路的连接与模型机的各个硬件的结构,同时初步掌握了微程序微指令的一些编制与设计。

从一种微观的角度更加了解计算机模型机,这样我对于计算机的了解更加深入。

对于计算机的工作原理也有部分更深入的认识。

这次课程设计使我从中获益匪浅。

对计算机组成原理的理论知识有了更深刻的理解,对于以前一知半解的东西也有了充分的理解。

因为课程设计是要求将以前在课堂上学的理论知识运用到实际的设计当中去,但是在设计过程中,我们一定会碰到各种各样的问题。

但是为了解决这些问题,我们一定会更加仔细认真的去翻阅自己以前学过但是以为已经了解熟悉的东西。

这在无形中帮助我们加深对所学知识的了解及运用能力,并且让我们明白什么地方是我们真正需要去关注的。

而且这样我们对课本以及以前学过的知识有了一个更好的总结与理解。

而课程设计需要我们不但通过翻阅复习以前学过的知识而且需要查阅更多的相关信息,如去图书馆查阅相关的书籍,去网上搜索相关的材料,最终确立了设计方案。

在模型机设计过程中我碰到了许多问题,而这些问题都是需要我认真仔细才能检查出来,而且,这些设计是要通过系统的设计才能完成的,不能想到哪里就做到哪里,必须在设计之前有个系统的分析,在详细设计时更加要仔细对待,因为对于各个代码都不能出错,一些细微的错误就会导致所有的错误。

所以这一周下来,是对我考虑问题及细致处理的一种考验。

但是通过这次的设计我对于CPU指令系统和模型机的认识很大的提高,而且通过此次课程设计,对我们以后的工作和学习的帮助都很有用处。

这是我们踏入社会前的一次模拟工作。

给了我们很好的一次实践的机会。

通过这次课设让我明白了理论和实际操作之间差距,而且也让我明确得意识到自己在学习上有很多的知识漏洞,应努力弥补,并且给了我努力的明确方向,知识只有会运用了才是真正的了解掌握了这些知识。

而这些不了解的差距在以后的工作中将是致命的。

所有又一次给我的提点。

给我不断完善自己的机会。

给了我实际工作的一点有用的经验,这是所有的理论都比不过实践的地方,而我在今后的学习中,也将向着这些方面去完善。

微程序控制器

微程序控制器的定义微程序控制器的结构与微指令的格式密切相关。

微程序控制器由控制存储器、微地址寄存器、微命令寄存器和地址转移逻辑几部分组成。

微地址寄存器和微命令寄存器两者的总长度即为一条微指令的长度,二者合在一起称为微指令寄存器。

●控制存储器(ROM)

ROM中存放微程序,也就是全部的微指令。

ROM的容量取决于微指令的总数。

假如控制器需要128条微指令,则微地址寄存器长度为7位。

ROM的字长取决于微指令长度。

如果微指令为32位,则ROM的字长就是32位。

实际应用中ROM可采用EPROM或E2PROM、EAROM,用户写入和修改微程序比较方便。

●微命令寄存器

微命令寄存器暂存由控制存储器中读出的当前微指令中控制字段与测试判别字段信息,可由8D寄存器组成。

●微地址寄存器

微地址寄存器暂存由控制存储器读出的当前微指令的下址字段信息。

它可由带RD、SD强置端的D触发器组成。

其中时钟端和D端配合用做ROM的读出打入,用SD进行下址修改。

●地址转移逻辑

微指令由ROM读出后直接给出下一条微指令的地址,这个地址就放在微地址寄存器中。

当微程序出现分支时通过地址转移逻辑去修改微地址寄存器内容,并按修改好的微地址读出下条微指令。

地址转移逻辑是一个组合逻辑电路,其输入是当前微指令的判别测试字段Pi、执行部件反馈的“状态条件”及时间因素T4。

微程序控制器框图 图3-5微程序控制器框图

 微程序流程图图3-6微程序流程图微程序代码表

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

当前位置:首页 > 经管营销 > 生产经营管理

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

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