计算机组成原理课程设计(微程序设计)
- 格式:docx
- 大小:966.55 KB
- 文档页数:13
《计算机组成原理》课程设计报告目录1.任务书 (1)2.设备清单 (1)3.设计原理及方法 (1)3.1数据格式 (1)3.2指令设计 (1)3.3指令格式 (2)3.4指令系统 (3)3.5设计依据 (3)3.6按微指令的格式参照程序流图 (5)3.7微程序代码清单 (6)3.8实验接线图 (7)3.9机器指令代码清单 (8)3.10化简后的机器指令 (8)4.设计运行结果分析 (12)4.1实验过程 (12)4.2结果分析 (14)5.设计小结 (14)6.设计日志 (15)1.任务描述复杂指令计算机系统设计设计不少于10条指令的指令系统。
其中,包含算术逻辑指令,访问内存指令,程序控制指令,输入输出指令,停机指令。
重点是要包括直接、间接、变址和相对寻址等多种寻址方式。
基于TD-CMA计算机组成原理教学实验系统,设计一个复杂计算机整机系统模型机,分析其工作原理。
根据模型机的数据通路以及微程序控制器的工作原理,设计完成以下几条机器指令和相应的微程序,输入程序并运行。
IN R1,00H; 从端口00(IN单元)读入数据送R1LDI R2,0FH;将立即数OFH装入R2AND R1,R2;R1*R2->R1STA [10H],R1;R1->[[10H]],间接寻址OUT 40H,10H;10H单元的内容在OUT单元显示,直接寻址DEC 12H;12H单元内容减1,直接寻址LOP:BZC EXIT;JMP LOP;EXIT:HLT10H、12H单元内容分别为12H、03H2.设备清单PC机一台,TD-CMA实验系统一套,排线若干。
3.设计原理及方法3.1数据格式模式机规定采用的定点补码表示法表述数据,字长为8位,8位全用来表示数据(最高位不表示符合),数值表示的范围:0≤X≤28-1。
3.2指令设计模型机设计三大类指令共十五条,其中包括运算类指令、控制转移类指令,数据传送类指令。
运算类指令包括三类:算数运算、逻辑运算、移位运算,设计有6类运算指令,分别为:AND、ADD、INC、SUB、OR、RR,所有运算全是单指令,寻址方式采用寄存器直接寻址。
计算机组成原理课程设计报告班级:06计算机 6 班姓名:李凯学号:20063007完成时间:2009年1月3日一、课程设计目的1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及独立分析、解决问题的能力。
二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三、课程设计使用的设备(环境)1.硬件●COP2000实验仪●PC机2.软件●COP2000仿真软件四、课程设计的具体内容(步骤)1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点:COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。
其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。
微程序控制部分也可以用组合逻辑控制来代替。
模型机为8位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。
相比而言8位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。
模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。
指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。
课程设计报告课程设计名称:计算机组成原理系:学生姓名:班级:学号:成绩:指导教师:开课时间:2011-2012学年2 学期一、设计题目计算机组成原理课程设计——简单模型机的微程序设计二、主要内容通过课程设计更清楚地理解下列基本概念:1.计算机的硬件基本组成;2.计算机中机器指令的设计;3.计算机中机器指令的执行过程;4.微程序控制器的工作原理。
5.微指令的格式设计原则;在此基础上设计可以运行一些基本机器指令的微程序的设计三.具体要求1.通过使用作者开发的微程序分析和设计仿真软件,熟悉介绍的为基本模型机而设计的微程序的执行过程。
必须充分理解并正确解释下些问题:(1)微程序中的微指令的各个字段的作用。
哪些字段是不译码的,哪些字段是直接译码的,哪些字段又可以看成是字段间接编码的。
(2)微程序中的微指令是否是顺序执行的,如果不是,那么次地址是如何产生的。
什么情况下,次地址字段才是将要执行的微指令的地址。
(3)在微程序中如何根据机器指令中的相关位实现分支,据此,在设计机器指令时应如何避免和解决与其它指令的微指令的微地址冲突。
(4)哪些微指令是执行所有指令都要用到的。
(5)解释一条机器指令的微程序的各条微指令的微地址是否连续?这些微指令的微地址的安排的严重原则是什么?(6)为什么读写一次内存总要用两条微指令完成?(7)机器程序中用到的寄存器是R0,是由机器指令中哪些位决定的?如果要用R1或R2,是否要改写微程序或改写机器指令?如果要,应如何改写?2.在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。
新增加的机器指令的功能是:求反指令NOT RS,RD :/(RS) →(RD)与指令AND RD,(addr):(RD)与(addr)→(RD)异或指令XOR RD,(addr):(addr)异或(RD)→(RD)或指令OR RD,(addr):(RD)或(addr)→(RD)减法指令SUB RD,RS :(RS)减(RD)→(RD)其中的RS、RD可以是R0、R1、R2中的任何一个。
计算机组成原理》课程标准计算机组成原理》课程标准一、课程基本情况课程名称:计算机组成原理适用专业:计算机应用专业课程性质:专业核心课程计划学时:60学时二、制定课程标准的依据本课程教学标准依据中职计算机应用专业的专业教学标准中的人才培养目标和培养规格以及对计算机组成原理课程教学目标要求而制定,用于指导计算机组成原理课程教学和课程建设。
三、课程性质本课程是计算机应用专业的一门专业核心课程。
通过介绍计算机硬件基本结构、工作原理和分析设计方法等方面的知识,培养学生对计算机的整机概念有较完整清晰的认识,对计算机的硬件结构有深刻的理解和对硬件的分析与设计方法有一定的认识。
同时也为研究后续课程打下一定的基础。
四、本课程与前续课程和后续课程的关系本课程研究和训练之前,学生应已修完如下课程:计算机应用基础、数字电路,而他的后续课程是计算机系统结构、计算机组成原理。
本课程在他的前续课程和后续课程之间起到了纽带的作用。
五、课程的教育目标1.知识、能力目标知道《计算机组成原理》这门学科的性质、地位和独立价值;理解计算机系统的五大组成部件的概念、功能以及整机的工作原理;理解数值数据的表示方法、运算器的计算方法,了解非数值数据的表示方法和常用编码;理解各个部件的组成结构和基本功能;掌握基本的定点数的加、减运算和实现的基本逻辑电路框图以及浮点数的表示方法;掌握指令的概念、功能以及指令的各种寻址方式和指令类型;知道存储器层次结构和主存系统的设计方法;掌握CPU的功能及组成;理解几种常见的外围设备的信息交换方式;了解常用的外围设备和使用方法;理解组合逻辑控制器和微程序控制器的基本的设计和分析方法。
2.方法、过程目标通过本课程的研究,培养学生通过计算机组成原理实验,进一步理解计算机内部的工作原理及计算机整机系统的基本设计和分析方法,具备一定的专业知识技能。
通过“完整工作过程”的研究和体验,培养学生分析问题、解决问题的能力和团结、协作的团队精神。
《计算机组成原理课程设计》任务书一、实验目的:(1)通过微程序的编制、装入、执行,验证微程序控制器控制的工作方法。
观察微程序的运行过程,为进行简单模型计算机实验做准备。
(2)通过实验分析简单模型机结构,了解计算机工作原理。
掌握计算机微程序控制器的控制方法,掌握计算机指令执行过程。
(3)深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,通过在简单模型计算机基础上设计新的5条机器指令,以提高学生对计算机机器指令理解,锻炼学生自己动手设计模型计算机机器指令的能力。
二、实验说明:要进行这项大型实验,必须清楚地懂得:(1)模型机的功能部件及其连接关系;(2)模型机每个功能部件的功能与具体组成;(3)模型机支持的指令格式;(4)模型机的微指令格式;(5)已实现的典型指令的执行实例,即相应的微指令与其执行次序的安排与衔接;三、实验内容:(1)完成总线数据传输控制实验。
(2)完成简单模型计算机实验。
(3)完成机器指令设计实验。
可选择其中一项任务任务之一:在模型机上实现以下功能:a)每次输入2个数,将这2 个数相加,其和依次存入存储器地址为20H开始的3个单元,并送LED显示输出,以上操作循环执行3次后停机。
b)其中:设R0为循环计数器、R1为累加器、R2为变址寄存器,Ri就是R2c)INPUT DEVICE和OUTPUT DEVICE的端口地址皆为00H。
任务之二:在模型机上实现以下功能:对输入开关上的数据和存储器某一单元中的数据进行加法操作,结果累计在存储器某一单元中,当累计值大于256时转而进行减法操作,即把此存储器单元中的值减去输入开关上的数据,结果送同一存储器单元,当操作结果小于0时再转而进行加法操作,使用显示灯上出现数据连续加,然后连续减,减到0时再连续加。
这样连续加民、减直到拔动CLR结束程序运行为止。
任务之三:1、分析手动装入程序代码时,为什么必须要在微地址显示灯显示“”时,才从开关上置入指令代码?同时,在手动校验时,为什么只有当微地址显示灯显示“”时,发光管上显示的内容才是内存的数据?2、若将OUT指令的操作码改为0101,则微程序必须做什么样的修改?3、在微程序流程图上,最多还可以添加几条机器指令?四、实验要求:(1)根据实验内容完成各指导书中的实验数据的结果、分析和总结。
计算机组成原理课程设计实验报告目录一、程序设计 (1)1、程序设计目的 (1)2、程序设计基本原理 (1)二、课程设计任务及分析 (6)三、设计原理 (7)1、机器指令 (7)2、微程序流程图 (9)3、微指令代码 (10)4、课程设计实现步骤 (11)四、实验设计结果与分析 (15)五、实验设计小结 (15)六、参考文献 (15)一、程序设计1、程序设计目的(1)在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。
(2使用简单模型机和复杂模型机的部分机器指令,并编写相应的微程序,具体上机调试掌握整机概念。
(3)掌握微程序控制器的组成原理。
(4)掌握微程序的编写、写入,观察微程序的运行。
(5)通过课程设计,使学生将掌握的计算机组成基本理论应用于实践中,在实际操作中加深对计算机各部件的组成和工作原理的理解,掌握微程序计算机中指令和微指令的编码方法,深入理解机器指令在计算机中的运行过程。
2、程序设计基本原理(1)实验模型机结构[1] 运算器单元(ALU UINT)运算器单元由以下部分构成:两片74LS181构成了并-串型8位ALU;两个8位寄存器DR1和DR2为暂存工作寄存器,保存参数或中间运算结果。
ALU的S0~S3为运算控制端,Cn为最低进位输入,M为状态控制端。
ALU的输出通过三态门74LS245连到数据总线上,由ALU-B控制该三态门。
[2] 寄存器堆单元(REG UNIT)该部分由3片8位寄存器R0、R1、R2组成,它们用来保存操作数用中间运算结构等。
三个寄存器的输入输出均以连入数据总线,由LDRi和RS-B根据机器指令进行选通。
[3] 指令寄存器单元(INS UNIT)指令寄存器单元中指令寄存器(IR)构成模型机时用它作为指令译码电路的输入,实现程序的跳转,由LDIR控制其选通。
[4] 时序电路单元(STATE UNIT)用于输出连续或单个方波信号,来控制机器的运行。
《计算机组成原理》教案教案名称:计算机组成原理教学设计教学目标:1.了解计算机的基本组成和工作原理;2.掌握计算机硬件组成要素的功能和作用;3.理解计算机的指令执行过程;4.学会设计简单的计算机硬件电路。
教学内容:1. 计算机硬件组成要素:中央处理器(CPU)、存储器(Memory)、输入设备、输出设备和外部设备;2.计算机指令的执行过程;3.计算机硬件电路的设计原理。
教学步骤:第一课时:1.导入:与学生讨论计算机的基本组成和工作原理,引发学生的兴趣和思考。
2. 介绍计算机硬件组成要素:中央处理器(CPU)、存储器(Memory)、输入设备、输出设备和外部设备。
3.分组讨论:学生分组讨论各个硬件组成要素的功能和作用,并向全班展示自己的讨论结果。
第二课时:1.复习上节课内容:与学生复习计算机硬件组成要素的功能和作用。
2.介绍计算机指令的执行过程:取指令、分析指令、执行指令、存储执行结果。
3.小组活动:学生分组进行实验,模拟计算机指令的执行过程,并给出实验过程和结果的报告。
第三课时:1.复习上节课内容:与学生复习计算机指令的执行过程。
2.介绍计算机硬件电路的设计原理:逻辑门、组合逻辑电路和时序电路的原理。
3.设计实践:学生进行计算机硬件电路的设计实践,根据给定的需求和限制条件进行设计,并给出设计思路和电路图。
第四课时:1.复习上节课内容:与学生复习计算机硬件电路的设计原理。
2.学习资源:引导学生利用教材和网络资源进一步了解计算机组成原理的相关知识和应用实例。
3.总结:与学生总结计算机组成原理的核心内容和重要概念,鼓励学生进行思考和提问。
教学评估:1.小组讨论报告:根据学生的小组讨论报告进行评估,评估内容包括对计算机硬件组成要素功能和作用的理解程度。
2.实验报告:根据学生的实验报告进行评估,评估内容包括对计算机指令执行过程的理解程度和实验结果的准确性。
3.设计报告:根据学生的设计报告进行评估,评估内容包括对计算机硬件电路设计原理的理解程度和设计思路的合理性。
郑州轻工业学院本科计算机组成原理课程设计总结报告设计题目:基本模型机的设计与实现学生姓名:系别:专业:班级:学号:指导教师:2011 年1月7 日郑州轻工业学院课程设计任务书题目基本模型机的设计与实现专业、班级学号姓名主要内容:乘法指令、停机指令的设计与实现。
基本说明:由于乘法指令较为复杂,本次模型机设计只完成乘法机器指令和停机指令的设计与实现。
主要参考资料等:《计算机组成原理》白中英主编科学出版社。
完成期限:一周指导教师签名:课程负责人签名:2011年 1月 7 日目录课程设计任务书 (2)一、微程序控制器的基本原理 (4)二、模型机结构 (5)三、微指令格式 (6)四、指令系统 (7)五、指令流程图 (8)六、程序清单 (9)七、微程序清单 (10)八、心得与体会 (11)附录:微程序详解 (11)1. 总述 (11)2. 乘法算法 (11)3. 实现难点 (12)一、微程序控制器的基本原理微程序控制器原理框图如图所示。
它主要有控制存储器、微指令寄存器和地址转移逻辑三大部分组成。
其中微指令寄存器分为微地址寄存器和微命令寄存器两部分。
(1)控制存储器控制存储器用来存放实现全部指令系统的微程序,机器运行时只读不写。
其工作过程是:每读出一条微指令,则执行这条微指令接着以读出下一条微指令,又执行这条微指令……。
(2)微指令寄存器微指令寄存器用来存放由控制存储器读出的一条微指令信息。
其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。
(3)地址转移逻辑在一般情况下,微指令由控制存储器读出后直接给出下一微指令的地址,通常我们简称微地址,这个微地址信息就存放在微地址寄存器中。
如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出。
当微程序出现分支时,意味着微程序出现条件转移。
在这种情况下,通过判别测试字段P和执行部件的“状态条件”反馈信息,去修改微地址寄存器人内容,并按改好人内容去读下一条微指令。
《计算机组成原理》教学设计一、该课程应讲授的内容体系1.基本描述【课程中文名称】:计算机组成原理【课程英文名称】:PRINCIPLES OF COMPUTER ORGANIZATION【总学时】:68【讲课学时】:52【实验学时】:16【授课对象】:计算机科学与技术专业、信息安全专业、生物信息技术专业【先修课程】:数字电路设计2.教学定位《计算机组成原理》是计算机科学与技术专业本科教学中的一门重要技术基础课,在计算机科学与技术专业的教学计划中占有重要地位和作用。
学习本课程旨在使学生掌握计算机硬件各子系统的组成原理及实现技术,建立计算机系统的整体概念,对培养学生设计开发计算机系统的能力有重要作用。
该课程为今后学习计算机体系结构、计算机网络、计算机容错技术、计算机并行处理、计算机分布式处理技术等课程打好基础。
3.知识点与学时分配( 1 )第一章计算机系统概论(2.5学时)计算机软硬件概念、计算机系统的层次结构、计算机的基本组成、冯•诺依曼计算机的特点、计算机的硬件框图及工作过程、计算机硬件的主要技术指标和本书结构及学习指南。
( 2 )第二章计算机的发展及应用(0.5学时)计算机的产生、发展及在各个不同领域的应用。
( 3 )第三章系统总线(3学时)总线的基本概念、总线的分类、总线特性及性能指标、总线结构和总线的判优控制及通信控制。
( 4 )第四章存储器(10学时)存储器分类和存储器的层次结构;主存储器(包括半导体存储芯片简介、静态随机存取存储器和动态随机存取存储器、只读存储器、存储器与CPU的连接、存储器的校验、提高访存速度的措施);高速缓冲存储器(包括Cache的基本结构及工作原理、Cache--主存地址映像、替换算法);辅助存储器(包括辅助存储器的特点及主要技术指标、磁记录原理和记录方式、磁盘存储器的结构、光盘存储器的存取原理)。
( 5 )第五章输入输出系统(8学时)输入输出系统的发展概况及组成、I/O与主机的编址方式、传送方式、联络方式以及设备寻址;外部设备分类及简介、I/O接口的功能及基本组成;程序查询方式的工作原理及程序查询接口电路;程序中断方式的工作原理及程序中断接口电路、中断服务流程;DMA方式的特点、DMA接口电路的功能、组成、类型及DMA 的工作过程。
《计算机组成原理》课程设计报告
——微程序设计
指导老师:**
学院:计算机学院
班级:软件 1501
姓名:
学号:
一、项目任务
本项目的任务是针对第2章所述的OpenJUC-II教学机模型机,设计控制器的微程序,实现该模型机的指令系统。
通过课程设计理解指令的执行过程,指令系统与硬件的关系,进而加深对计算机的结构和工作原理的理解。
二、项目设计
本项目预期分为6个上机设计步骤:
Day1:熟悉微程序的设计和调试方法
Day2:双操作数指令的设计与调试
Day3:条件转移指令的设计与调试
Day4:移位指令的设计与调试
Day5:堆栈相关指令的设计与调试
Day6:中断系统的设计与调试
通过上述实践步骤,初步达成微程序设计要求,针对不同产品提出的不同要求,通过编写相应符合的微程序汇编指令,达到预期效果和收益。
三、项目需求
OpenJUC-II模型机、Quartus II软件、虚拟实验板软件、Windows计算机、预先编写完成的.sof和.scc文件。
取指令字段
取源操作数
进入取目阶段
取目的操作数阶段
从微地址028至02F依次为寄存器寻址,寄
存器间接寻址,寄存器自增间接寻址,02B
为空,直接寻址,间接寻址,变址寻址,相
对寻址
从41开始为
MOV,ADD,ADDC,SUB,SUBB,AND,OR,XOR,CMP,
TEST的入口地址
保存结果的控存
SAR,SHL,SHR,ROL,ROR,RCL,RCR控存
JC,JNC,JO,JNO,JZ,JNZ,JS,JNS控存
转移的控存
JMP,INC,DEC,NOT的控存PUSH,POP,CALL的控存
HALT,NOP,RET,RETI,EI,DI
INC与JMP设计与调试。
ORG 0030H
INC 0040H
JMP 0030H
MOV,SUB调试
CMP及JC测试
软件延时
0030: 0460 INC FF02H 0031: FF02
0032: 1600 MOV #000F, R0 0033: 000F
0034: 0440 INC R0
0035: 9600 CMP #FFFFH, R0 0036: FFFF
0037: 0220 JC 0030H 0038: 0030
0039: 0260 JNC 0034H 003A: 0034 003B:
HALT
右移
0030: 1601 MOV #0001H, R0 0031: 0001
0032: 00C0 SHR R0
0033: 0238 JC FFFDH(PC) 0034: FFFD
0035: 0000 HALT
左移
0030: 1601 MOV #0505H, R0 0031: 0001
0032: 00C0 TEXT #0001H,R1 0033: 0238
0034: FFFD JZ 3(PC)
0035: 0000
0036:0101 ROL R1
0037:0420 JMP 0032
流水灯设计
0030: 1620 MOV #0080H, FF01H 0031: 0080
0032: FF01
0033: 1600 MOV #0000H, R0 0034: 0000
0035: 0440 INC R0
0036: 9600 CMP #FFFFH, R0 0037: FFFF
0038: 0220 JC 003CH
0039: 003C
003A: 0260 JNC 0035H
003B: 0035
003C: 0160 ROR FF01H
003D: FF01
003E: A620 TEST #FFFFH, FF01H 003F: FFFF
0040: FF01
0041: 0320 JZ 0030H
0042: 0030
0043: 0360 JNZ 0033H 0044: 0033
0045: 0000 HALT
PUSH,POP
0030: 1600 MOV #0041H,R0 0031: 0041
0032: 0060 PUSH R0
0033: 0620 PUSH 0040H 0034: 0040
0035: 0648 POP (R0)
0036: 0641 POP R1
程序中断
0030: 1600 MOV #0100H, 0000H 0031: 0040
0032: 0000
0033: 0004 EI
0034: 0460 INC 0040H
0035: 0040
0036: 1601 MOV #2333H, R1 0037: 2333
0038: 0000 HALT
0100: 1820 MOV #FF08H, FF02H 0101: FF08
结课任务
将R2的内容左右颠倒存入R7(A1A2A3A4------A4A3A2A1)
总体设计及总结
成功完成了对JUC2的整体设计。
包括取指令,取目的(源)操作数,保存结果,转移指令,移位指令,堆栈相关指令设计,中断设计等。
熟练掌握了微程序设计的基本思想和实现方法。
理解指令执行过程,指令系统与硬件的关系,加深了对计算机的结构和工作原理的理解。