计算机组成原理课程设计任务书_第1页
计算机组成原理课程设计任务书_第2页
计算机组成原理课程设计任务书_第3页
计算机组成原理课程设计任务书_第4页
计算机组成原理课程设计任务书_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课 程 设 计 任 务 书题目 专业、班级 学号 姓名 主要内容、基本要求、主要参考资料等:完 成 期 限: 指导教师签名: 课程负责人签名: 年 月 日 目 录第一章 程序设计概述1.1 课程设计的教学目的1.2 课程设计任务和基本要求第二章 指定应用项目的设计实现3.1 设计任务3.2 任务分析及解决方案3.3 设计原理3.4 应用项目设计实现操作步骤第三章 收获、体会和建议参考文献第一章 程序设计概述1.1 课程设计的教学目的本课程设计的教学目的是在掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握信息流和控制信息流的流动过程,进一步加深计算机系统各模块间相

2、互关系的认识和整机的概念,培养开发和调试计算机的技能。再设计实践中提高应用所学专业知识分析问题和解决问题的能力。1.2 课程设计任务和基本要求本课程设计以TDN-CM+计算机组成原理教学实验系统为平台设计完成。1. 按给定的数据格式和指令系统,理解为程序控制器的设计原理。2. 设计给定机器指令系统遗迹微程序流程图,安慰指令格式写出微程序的微指令代码3. 连接逻辑电路,完成启动、测试、编程、校验和运行,并观测运行过程及结果。4. 将微程序控制器模块与运算器模块、存储器模块联机,组成一台模拟计算机。5. 用微程序控制器控制模型机的数据通路。6. 通过在模型机上运行由机器指令组成的简单程序,掌握机器

3、指令与微指令的关系,建立计算机的整机概念,掌握计算机的控制机制。7. 按指定应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型及数据通路设计实现机器指令功能的微程序。在PC机上编辑机器指令和微程序,装载代码到TDN-CM+实验系统并运行,实现应用要求。 第二章 指定应用项目的设计实现3.1 课程设计任务 从输入设备中读取数据X并将其存入以K为直接地址的内存单元,计算2X加X减1并将结果存入以N为间接地址的内存单元。3.2 课程设计思想及任务分析在进行这一次设计之前当我们看见我们的题目的时候,我们联系到了最后的一次实验的机器运行的过程联系这次的的要求我们先明确的这次设计的大体

4、过程,画大体图汇编程序流程图微指令代码检查,然后我们进行了下一步骤,观察题目在进行这一次的设计之时首先我们看见了在读取与储存时的两种不同的寻址方式,想到了这两种的不同,具体表示在流程图上面就是间接寻址要通过地址先找地址再找数据所以要分两次,然后我们又看了看我们的运算所需要的过程,对照书本的49页的代码,我们决定了将2X通过一次X加X算术运算来实现,由于X的给予只需要做运算即可,非运算书上有,加法运算书上有,减1运算书上面也有,于是我们就决定在预算过程过程中通过4次来实现,所以我们想到了先计算X加X然后在将2X求非再加X最后减1的运算流程,于是一个初步的构想于是就这样形成了,在写汇编程序时候我们

5、也是忠实的按照这个构想来写的,由于设计不慎急于求成,将2x操作与非操作搞到一起了,虽然这样可以实现,但是在别的程序员阅读是会产生很大的不便,经过老师的讲解,我们迅速的从新改变了整体的思路,然后迅速修改,由于需要修改多条伪指令的编号我们决定大体不变,删除错的或者讲错的变为正确的,这样导致了我们的微指令并不是那么的连续,这样是一个程序上面的瑕疵吧,好在不影响运行与阅读。设计顺序大致如下:先画出了程序的流程,然后写出了汇编程序,并且写出了机器指令,其次我们完成了总体的流程图,然后根据流程图写出了微指令以及微指令代码,将机器指令代码与微指令代码写成了一个txt文档用机器录入,运行程序,对照程序上面显示

6、的图与我们画的流程图进行对照,检查来判断这次试验的成功与否。 到此我们这一次的设计过程到这里就结束了,我们充分的参与并且体会了设计一个程序的每一次的收获,充分的体会了其中的设计的快乐与痛苦,对我们的专业只是也有很大的提升。3.3 设计原理在部件试验中,我们是人为用二进制开关来模拟一些控制信号来完成数据通路的控制。而在本课程设计中,数据通路的控制将由微程序控制器来完成,即一条机器指令对应一个微程序。本设计的规定项目采用五条机器指令:IN(输入)、MOV(将最终计算结果存入间接地址中)、ADD(二进制加法)、NOT(给2X取非)、STA(将X存入直接地址中)、DEC(减1)、OUT(输出)、HLT

7、(保持执行结束状态,不再执行操作),其指令格式如下表1(前四位是操作码):指令助记符操作码地址码功能说明IN0000 00000000 0000“INPUTDEVICE”->R0ADD0010 00000100 00000000 00110000 0110(DR1)+(DR2)->R0NOT0011 00000000 0101DR1->R0STA0011 00000000 0101R0->RAMDEC0101 00000000 1000R0-1->R0MOV0110 00000000 1001R0->RAM,RAM->RAMOUT0100 000000

8、00 0111RAM->LEDHLT0101 00000000 1001停机 IN为单字长指令,含义是将输入设备输入的数据放入R0中 ADD为双字长指令,其含义是根据指令提供的地址将内存中的数取出放入DR2,与DR1中的数相加,结果放在R0。NOT为单字长指令,含义是将R0的内容取非后放入R0。 STA为双字长指令,第二个字是要存放的地址,含义是将R0中的内容存储到第二字为地址的内存单元中。 DEC是单字长指令,含义是R0的内容减1后放入R0 MOV是双字长指令,第二字是要存放的间接地址,含义是将R0中的内容存储到第二字为间接地址的内存单元中。 OUT为双字长指令,含义是根据指令提供的地

9、址,将内存中的数据取出由数码管进行显示。 HLT为空转指令,保持执行结束状态,并不在执行任何操作。本设计的机器指令如下:地址(二进制)内容(二进制)助记符注释0000 00000000 0000IN R0“INPUT DEVIECE”->R00000 00010001 0000STA R0,0FHR0->0FH0000 00100000 11110000 00110010 0000ADD 0FH,R0R0+0FH->R00000 01000000 11110000 01010011 0000NOT R0R0->R00000 01100100 0000ADD 0FH,R0

10、R0+0FH->R00000 01110000 11110000 10000101 0000DEC R0R0-1->R00000 10010110 0000MOV R0,10HR0->10H0000 10100001 00000000 10110111 0000OUT 10H10H->LED0000 11000001 00000000 11011000 0000HLT停止0000 11100000 11110000 00010001 00000001 00010001 0001结果为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还设计了三个控制台操作微

11、程序:存储器读操作(KRD):拨动总清开关CLR后,当控制台开关SWB、SWA置为“00”时,按START微动开关,可对RAM进行连续手动读操作。存储器写操作(KWE):拨动总清开关CLR后,当控制台开关SWB、SWA置为“01”时,按START微动开关,可对RAM进行连续手动写入。启动程序:拨动总清开关CLR后,当控制台开关SWB、SWA置为“11”时,按START微动开关,即可转入到第01号“取指”微指令,启动程序运行。上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如表2:SWBSWA控制台指令00读内存(KRD )01写内存(KRD )01启动程序(RP) 按照如下规定的

12、格式,用联机软件在CMPP中建立将机器指令及微指令的二进制代码编辑成十六进制的*.txt类型文件。(微指令格式中的微指令代码为将表中的24位微代码按从左到右费城三个八位,将此三个八位二进制代码转换为相应的十六进制数即可),并用联机软件的转储功能将该式文件装载到试验系统中。机器指令代码 机器指令格式说明: $PXX XX十六进制地址 微指令代码微指令格式说明: $MXX XXXXXX十六进制地址 启动程序:当控制台开关SWB、SWA置为“1 1”时,按START微动开关,即可转入到第01号“取指”微指令,启动程序运行。根据以上要求设计数据通路框图如图2所示:图2 数据通路框图微指令格式如表3所示

13、:24232221201918171615 14 1312 11 109 8 7654321S3S2S1S0MCnWEA9A8ABCA5A4A3A2A1A0 按照数据通路可画出机器指令的微程序流程图如图2所示。当拟定“取指”微指令时,该微指令的判别测试字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支。本实验中共出现8路分支,分别对应8种机器指令。占用8个固定的微地址单元。微程序流程图根据流程图写出所有微指令代码微指令代码微地址S3 S2 S1 S0 M CN WE A9 A8 A B C 123456000 0 0 0 0 0 0 1 1

14、0 0 00 0 00 0 00 1 0 0 0 0010 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 0020 0 0 0 0 0 0 0 11 0 00 0 00 0 11 0 0 0 0 0030 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 0 1 0 0040 0 0 0 0 0 1 0 10 0 00 0 10 0 00 0 0 0 0 1050 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 0 1 1 0060 0 0 0 0 0 0 0 10 1 10 0 00 0 00 0 0 1 1 1070

15、0 0 0 0 0 0 1 10 1 00 0 10 0 00 0 1 1 1 1100 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 1 1 0 0110 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 1 1 0 1120 0 0 0 0 0 0 0 10 1 00 0 00 0 00 0 1 0 1 1130 0 0 0 0 1 1 1 00 0 01 0 10 0 00 0 0 0 0 1140 0 0 0 0 0 1 0 10 0 00 0 10 0 00 0 0 0 0 1150 0 0 0 0 0 0 0 11 1 00 0 00 0 0

16、0 0 1 0 1 0171 0 0 1 0 1 0 1 10 0 11 0 10 0 00 0 0 0 0 1200 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 0 1 0210 0 0 0 0 0 0 0 11 1 01 1 01 1 00 1 0 1 0 0220 0 0 0 0 0 0 0 10 1 00 0 00 0 00 1 0 1 1 1230 0 0 0 0 0 0 1 10 0 00 0 00 0 00 0 0 0 0 1240 0 0 0 0 0 0 0 00 1 00 0 00 0 00 1 1 0 0 0260 0 0 0 1 0 0 1 1

17、0 0 11 0 10 0 00 0 0 0 0 1270 0 0 0 0 1 1 1 00 0 01 0 10 0 00 1 0 0 0 0300 0 0 0 0 1 1 0 10 0 01 0 10 0 00 1 0 0 0 1310 0 0 0 0 0 0 0 11 1 00 0 00 0 00 1 1 0 1 0320 0 0 0 0 0 0 0 10 1 10 0 00 0 00 1 1 0 1 1330 0 0 0 0 0 0 1 10 1 00 0 00 0 00 1 1 1 0 0341 0 0 1 0 1 0 1 10 0 11 0 10 0 00 0 0 0 0 1361

18、1 1 1 0 1 0 1 10 0 11 0 10 0 00 0 0 0 0 1370 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 1 0 0 0400 0 0 0 0 0 0 0 00 0 10 0 00 0 00 0 0 0 0 1410 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 1420 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 1 0 1430 0 0 0 0 0 0 1 10 1 00 0 10 0 00 1 0 1 1 0440 0 0 0 0 0 0 1 11 1 01 1 01 1 0

19、0 1 1 0 0 1450 0 0 0 0 0 0 1 10 1 00 0 10 0 00 1 1 1 1 0460 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 1 1 1 1470 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 1 0 0 1500 0 0 0 0 0 0 1 10 0 00 0 00 0 01 0 1 0 0 0指令寄存器(IR)用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数构成。为了执行任何给定的指令,必须对操作码进行测试P(1

20、),通过节拍脉冲T4的控制以便识别所要求的操作。“指令寄存器”(实验板上标有“INS DECODE”的芯片)根据指令中的操作码译码结果强置微控器单元的微地址,使下一条微指令指向相应得微程序首地址。本系统使用两种外部设备,一种是二进制代码开关,它作为输入设备(INPUT DEVICE);另一种是数码管,它作为输出设备(OUPUT DEVICE)。例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。输出时,将输出的数据送到数据总线BUS上,当写信号(W/R)有效时,将数据打入输出锁存器,并在数码管显示。2.4 课程设计实现步骤3.4.1 按照图1接线图连接线路

21、。3.4.2 联机写入程序(微指令),按照实验要求的规定格式,将机器指令及微指令二进制代码表编辑成十六进制的文件。机器指令$P0000$P0110$P020F$P0320$P040F$P0530$P0640$P070F$P0850$P0960$P0A10$P0B70$P0C10$P0D80$P0F01$P1011$P1100微指令$M00018110$M0101ED82$M0200C060$M0300E004$M04028201$M0500E006$M0600B007$M0701A20F$M0800E00C$M0900E00A$M0A00A00B$M0B070A01$M0C028201$M0D

22、00E00A$M0F959A01$M1001ED92$M1100ED94$M1200A017$M13018001$M14002018$M16099A01$M17070A10$M18068A11$M1900E01A$M1A00B01B$M1B01A21C$M1C959A01$M1EF59A01$M1F00E008$M20001001$M2101ED83$M2201ED85$M2301A216$M2401ED99$M2501A21E$M2601ED7F$M2701ED89$M280180283.4.3 联机运行联机运行程序时,进入软件界面,装载机器指令及微指令后,选择运行通路图复杂模型机功能菜单打开相应的动态数据通路图,按相应功能键即可联机运行、监控、调试程序。3.5 实验设计结果与分析在经过运行之后可以得出以下结果:输入数值 X=0000 0001 (01H)直接地址 K=0000 1111 (0FH)中间结果 2X=1111 1101 (FDH)间接地址 N=0001 0000 (10H)间接地址所指直接地址 0001 0001 (11H)最终结果 2X加X减1=1111 1101(FDH)经检验,输出结果与计算结果相符,证明实验设计正确3.6 实验设计小结本次实验大体上分为三步。首先,是连接电路。其次,装载课程设计指导书上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论