文档详情

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

博****1
实名认证
店铺
DOC
847.51KB
约10页
文档ID:397324690
电子计算机组成原理课程设计-模拟机的设计与实现_第1页
1/10

课 程 设 计 课程名称电子计算机组成原理题目名称模拟机的设计与实现专业班级08计算机科学本(1)学生姓名张志强学 号50802011012指导教师李长旺二○一○年六月二十二日 目录一. 程序设计概述 21.1 课程设计目的 21.2课程设计任务和基本要求 2二. 模型机的具体设计 32.1.设计目标 32.2.设计原理 32.2.2控制台命令流程图 32.2.3内存映象 42.2.4微程序 5三. 课程设计具体实现步骤 73.1按照图2连线 73.2.微指令代码 73.3分析 83.4联机实现 83.5结果分析 8四.设计心得 8五. 参考文献 9一. 程序设计概述1.1 课程设计目的通过对一个简单计算机的设计,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解为今后的科研打下扎实的基础1.2课程设计任务和基本要求 (1)按给定的数据格式和指令系统,理解为程序控制器的设计原理2)设计给定机器指令系统遗迹微程序流程图,安慰指令格式写出微程序的微指令代码3)连接逻辑电路,完成启动、测试、编程、校验和运行,并观测运行过程及结果。

4)将微程序控制器模块与运算器模块、存储器模块联机,组成一台模拟计算机5)用微程序控制器控制模型机的数据通路6)通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机的整机概念,掌握计算机的控制机制按指定应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型及数据通路设计实现机器指令功能的微程序二. 模型机的具体设计2.1.设计目标 设计一台模型机实现IN(输入)、ADD(加法)、STA(存数)、OUT(输出)、JMP(无条件转移)指令系统并通过给定的工作程序验证上述指令系统2.2.设计原理2.2.1机器指令本设计实现的模型机共包含五条机器指令:IN(输入)、ADD(加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码): 助记符机器指令码(二进制)说明微程序的入口地址(八进制)IN00000000“INPUT DEVICE”中的开关状态—>R010(取指令后续微指令默认地址为10)ADD addr00010000 XXXXXXXXRO+[addr]——>R011STA addr00100000 XXXXXXXXRO——>[addr]12OUT addr00110000 XXXXXXXX[addr]——>LED13JMP addr01000000 XXXXXXXXaddr——>PC14其中IN为单字长(8位),其余为双字长指令,XXXXXXXX为addr对应的二进制地址码。

2.2.2控制台命令流程图在测试程序装入内存后,机器自动执行控存中00号的微指令,产生控制台命令,其流程如下(01为取指微指令的地址): 图12.2.3内存映象本设计的工作程序的内存映象(装入起始地址00H)如下:地址(二进制)内容(二进制)助记符说 明十六进制代码0000 00000000 0000IN将输入数据送R0寄存器00000000 00010001 0000ADD [OAH]01100000 00100000 1010RO+[0AH]—>R0020A0000 00110010 0000STA [0BH]03200000 01000000 1011R0—>[0BH]040B0000 01010011 0000OUT [0BH]05300000 01100000 1011[0BH]—>LED060B0000 01110100 0000JMP 0107400000 10000000 000101H—>PC08010000 10100000 0001输入自定的数据0A01微程序微程序(主要ADD部分)微地址S3 S2 S1 S0 M CN WE A9 A8ABCUA5…UA0(后续地址)十六进制代码0 30 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 0 1 0 00300E0040 40 0 0 0 0 0 0 0 10 1 10 0 00 0 00 0 0 1 0 10400B0050 50 0 0 0 0 0 0 1 10 1 00 0 10 0 00 0 0 1 1 00501A2060 61 0 0 1 0 1 0 1 10 0 11 0 10 0 00 0 0 0 0 106959A010 90 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 10901ED832.3设计流程图 三. 课程设计具体实现步骤3.1按照图2连线 图23.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 $M140020183.3分析程序思想如下:首先将输入数据送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表示选中扩展单元(EX UNIT)的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,后续地址为04H04指令中,A,B,C字段分别为011,000,000表示LDDR2有效,即表示将内存中的数据传送到DR2寄存器中,RAM->BUS->DR2,后续地址为05H05这条指令的A,B,C字段为010,001,000,即是LDDR1,RS-B有效,表示叫R0的数据传送到DR1寄存器中,R0->DR1,后续地址为06H06指令既为ADD运算,S3…CN为100101,A,B,C字段为001,101,000,即LDRi,ALU-B逻辑运算单元有效,执行运算操作,将DR1和DR2中的数据相加,完成后将结果传送到R0,(DR1)+(DR2)->R0即完成了一次加法操作ADD指定完成后有JMP跳转到01H一直循环进行加法运算3.4联机实现测试数据:FEH结果为:FE->FF->00->01->…->FE->FF->00->… 一直循环,每次加13.5结果分析ADD执行的是不产生进位的加法,所以实验结果只是每次在原来的数据上加01H不产生进位加四.设计心得 通过这次课程设计,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深了对组成原理理论课程的理解。

通过自己对一系列微程序的编写,对程序执行的流程以及指令之间的跳转有了更深的理解,能够根据流程图和机器指令写出相应微程序,对简单模型机里的数据流向图也有了一定的理解,能看懂根据自己编写的微程序在模型机上的一步步流向,对ADD,ADC,BZC,RLC……等指令的运用更加熟悉,对它们微程序的一步步流程也有了清晰的认识,通过对机器指令和微指令的分析和编写,理解了指令代码所对应的功能 本次实验中,在微程序的调试中花费不少时间,但通过观察模型机上的操作流向来检查错误收获较大,模型机能比较准确的看出自己出错的地方(即数据没有向题目要求的地方流动),通过对程序进行多次调试修改以及老师的帮助指导下得到正确结果在这次课程设计中,很多计算机组成原理的知识在实际中得到运用,对组成原理的很多内容有了一个直观的认识,自身理论知识和动手能力得到很大提高有很大的收获主要结论本文主要是关于设计一台模型计算机,并且对计算机的基本组成、部件的设计、部件间的连接、模型机的硬件结构进行更深入的了解掌握微程序控制器的设计、微指令和微程序的编制和微程序设计过程做了进一步的了解4.2 对课程设计的认识通过本次课程设计,我更进一步了解了计算机的组成,线路的连接与模型机的各个硬件的结构,同时初步掌握了微程序微指令的一些编制与设计。

从一种微观的角度更加了解计算机模型机,这样我对于计算机的了解更加深入对于计算机的工作原理也有部分更深入的认识这次课程设计使我从中获益匪浅对计算机组成原理的理论知识有了更深刻的理解,对于以前一知半解的东西也有了充分的理解因为课程设计是要求将以前在课堂上学的理论知识运用到实际的设计当中去,但是在设计过程中,我们一定会碰到各种各样的问题但是为了解决这些问题,我们一定会更加仔细认真的去翻阅自己以前学过但是以为已经了解熟悉的东西这在无形中帮助我们加深对所学知识的了解及运用能力,并且让我们明白什么地方是我们真正需要去关注的而且这样我们对课本以及以前学过的知识有了一个更好的总结与。

下载提示
相似文档
正为您匹配相似的精品文档