浙江理工大学计算机组成原理课程设计报告
计算机组成原理课程设计报告
《计算机组成原理》课程设计报告目录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,所有运算全是单指令,寻址方式采用寄存器直接寻址。
课程设计报告(计算机组成原理)
课程设计(大作业)报告一、题目分析本次课程设计课题是设计基于微程序控制器的简单计算机设计与实现,宏观上利用CPU、cache、存储器以及一些外设设备来组成一台简单计算机,微观上由运算器、译码电路、和存储器指令用的控制存储器构成。
此次设计要求完成各个指令的格式以及编码的设计,实现各个机器指令的微代码。
本计算机实现的功能有:IN(输入),OUT(输出),ADD(加法),SUB(减法),STA(存数),JMP(跳转)。
设计进行开始,在了解微程序的基本格式, 及各个字段值的作用后, 按微指令格式参照指令流程图,设计出程序以及微程序,将每条微指令代码化,译成二进制代码表,并将二进制代码转换为联机操作时的十六进制格式文件。
根据机器指令系统要求,设计微程序流程图及确定微地址。
设计的加法和减法中, 被加数和被减数都由调试人员输入, 而加数和减数都从存储器中读取. 最后上机调试,各个功能运行结果正确。
二、基本理论计算机原理图(一)、ALU1、功能及组成它是数据加工处理部。
执行所有的算术运算执行所有的逻辑运算,并进行逻辑测试,通常,一个算术操作产生一个运算结果,而一个逻辑操作则产生一个判决。
2、设计图(二)、CPU1、如何执行指令(1)MOV指令a. 程序计数器PC中装入第一条指令地址101b. PC的内容被放到指令总线ABUS上,对指存进行译码,并启动读命令。
c. 从101号地址读出的MOV指令通过指令总线IBUS装入指令寄存器IR。
d. 程序计数器内容加1,变成102,为取下一条指令做好准备。
e. 指令寄存器中的操作码被译码。
f. CPU识别出是MOV指令。
至此,取值周期结束。
g. 操作控制(OC)器送出控制信号到通用寄存器,选择R1作源寄存器,选择R0作目标寄存器。
h. OC送出控制信号到ALU,制定ALU做传送操作。
i. OC送出控制信号,打开ALU输出三态门,将ALU输出送到数据总线DBUS 上。
(任何时候DBUS上只能有一个数据)j. OC送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DR。
计算机组成原理课程设计报告
计算机组成原理课程设计实验报告目录一、程序设计 (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)用于输出连续或单个方波信号,来控制机器的运行。
计算机组成原理课程设计的实验报告范文
长治学院课程设计报告课程名称:计算机组成原理课程设计设计题目:设计一台性能简单的计算机系别:计算机系专业:计科1101班组别:第三组学生姓名: 学号:起止日期: 2013年7月4日~ 2013年7月10日****:***目录一、课程设计的目的 ----------------------------------1二、设计要求 ----------------------------------------1三、设计的方法及过程---------------------------------23.1整机设计 --------------------------------------23.1.1 根据设计要求正确设置正确设置多路开关-------23.1.2操作控制信号及其实现方式-------------------23.1.3根据接线表画出整机的线路图-----------------2 3.2.设计指令系统----------------------------------3 3.3.设计微指令及指令的微程序----------------------43.3.1设计微地址 --------------------------------4 3.3.2写出指令的执行流程-------------------------3 3.3.3编写指令的微程序---------------------------53.4.编写并执行应用程序----------------------------8四、心得体会-----------------------------------------7 一课程设计的目的通过课程设计更清楚地理解下列基本概念:(1)计算机的硬件基本组成;(2)计算机中机器指令的设计;(3)计算机中机器指令的执行过程;(4)微程序控制器的工作原理;(5)微指令的格式设计原理;二设计要求题一研制以台性能如下的实验计算机。
计算机组成原理课程设计报告
计算机组成原理课程设计报告一、课程设计目的1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及独立分析、解决问题的能力。
二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三、课程设计使用的设备(环境)1.硬件●COP2000实验仪●PC机2.软件●COP2000仿真软件四、课程设计的具体内容(步骤)1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现(1)该模型机指令系统的特点:①指令系统设计模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。
指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。
而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。
在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。
模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。
模型机的缺省的指令集分几大类:算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入/输出指令、用户还可以自行设计自己的指令系统。
②模型机寻址方式③指令格式(2)该模型机微指令系统的特点(包括其微指令格式的说明等):①设计思想该模型机的微命令是以直接表示法进行编码的,其特点是操作控制字段中的每一位代表一个微命令。
这种方法的优点是简单直观,其输出直接用于控制。
计算机组成原理课程设计报告
计算机组成原理课程设计报告一、引言计算机组成原理是计算机科学与技术专业的重要课程之一,通过学习该课程,我们可以深入了解计算机的硬件组成和工作原理。
本次课程设计旨在通过设计一个简单的计算机系统,加深对计算机组成原理的理解,并实践所学知识。
二、设计目标本次课程设计的目标是设计一个基于冯·诺依曼体系结构的简单计算机系统,包括中央处理器(CPU)、存储器、输入输出设备等。
通过该设计,我们可以掌握计算机系统的基本组成和工作原理,加深对计算机组成原理的理解。
三、设计方案1. CPU设计1.1 硬件设计CPU由控制单元和算术逻辑单元组成。
控制单元负责指令的解码和执行,算术逻辑单元负责算术和逻辑运算。
1.2 指令设计设计一套简单的指令集,包括算术运算指令、逻辑运算指令、数据传输指令等。
1.3 寄存器设计设计一组通用寄存器,用于存储数据和地址。
2. 存储器设计2.1 主存储器设计一块主存储器,用于存储指令和数据。
2.2 辅助存储器设计一个简单的辅助存储器,用于存储大容量的数据。
3. 输入输出设备设计3.1 键盘输入设备设计一个键盘输入设备,用于接收用户的输入。
3.2 显示器输出设备设计一个显示器输出设备,用于显示计算结果。
四、实施步骤1. CPU实现1.1 根据CPU的硬件设计,搭建电路原型。
1.2 编写控制单元的逻辑电路代码。
1.3 编写算术逻辑单元的逻辑电路代码。
1.4 进行仿真验证,确保电路的正确性。
2. 存储器实现2.1 设计主存储器的存储单元。
2.2 设计辅助存储器的存储单元。
2.3 编写存储器的读写操作代码。
2.4 进行存储器的功能测试,确保读写操作的正确性。
3. 输入输出设备实现3.1 设计键盘输入设备的接口电路。
3.2 设计显示器输出设备的接口电路。
3.3 编写输入输出设备的读写操作代码。
3.4 进行输入输出设备的功能测试,确保读写操作的正确性。
五、实验结果与分析通过对CPU、存储器和输入输出设备的实现,我们成功设计了一个基于冯·诺依曼体系结构的简单计算机系统。
计算机组成原理课程设计总结报告[优秀范文5篇]
计算机组成原理课程设计总结报告[优秀范文5篇]第一篇:计算机组成原理课程设计总结报告大庆师范学院计算机组成原理课程设计总结报告设计题目:基本模型机的模拟设计与实现子题目:外部中断控制流水灯、蜂鸣器学生姓名:院别:专业:班级:学号:指导教师:2011 年 7 月 5日大庆师范学院课程设计任务书题目基本模型机的模拟设计与实现主要内容:对基本模型机的设计与实现,能够自己设计机器指令并且能够翻译为微程序,并能将机器指令和微程序分别打入模拟机的内存和控制存储其中,并通过程序调试能将所编写的程序正确运行。
参考资料:《计算机组成原理》唐朔飞著《计算机组成原理》白中英著《计算机组成原理实验指导》完成期限:一周指导教师签名:2011年 7 月5日大庆师范学院本科毕业论文(设计)大庆师范学院本科毕业论文(设计)目录一、设计目标 (1)二、采用设备 (1)三、设计的原理 (1)3.1 单片机..............................................................................1 3.2中断方式...........................................................................2 3.3实现控制LED 和蜂鸣器的原理 (3)四、逻辑电路图 (3)4.1LED小灯原理图..................................................................... 3 4.2扬声器原理图..................................................................... 3 4.3单片机的独立按键原理图 (4)五、程序代码...........................................................................4 5.1C语言的特点及选择...............................................................4 5.2 程序代 (5)六、调试情况 (5)6.1在keil环境下,编写外部中断的程序…………………………………6 6.2软件调试的步骤 (6)七、心得体会 (6)八、参考文献 (7)大庆师范学院本科毕业论文(设计)摘要:本文介绍了在89c51单片机系统中设计外部中断流水灯、蜂鸣器的一种方法。
组成原理课设报告
计算机组成原理课程设计目录1.1设计内容 (3)1.2 具体要求 (3)1.3 设计环境 (3)2、总体设计方案 (5)2.1 设计思路 (5)2.2 微指令格式 (5)2.3 设计的指令系统 (5)2.4 24个微指令的意义: (6)3、详细设计方案 (8)3.1 指令流程图及其微程序清单 (8)4、调试过程 (12)4.1 实验步骤 (12)4.2 出现的问题与解决办法 (25)5、小结 (26)6、参考资料 (26)1、设计任务与要求1.1设计内容实验一微程序控制器的设计与实现。
主要内容如下:⑴指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
⑵指令系统至少要包括六条指令,具有上述功能和寻址方式⑶根据微操作流程及给定的微指令格式写出相应的微程序⑷将所设计的微程序在虚拟环境中运行调试程序,并给出测试思路和具体程序段。
实验二定点原码一位乘的设计与实现。
主要内容如下:⑴利用计算机组成原理实验仪和仿真软件,实现定点原码一位乘⑵写出总体设计方案(包括设计原理和设计思路等)和详细设计方案⑶编写实现乘法的程序进行设计的验证1.2 具体要求1. 巩固和深刻理解“计算机组成原理”课程所讲解的原理,加深对计算机各模块协同工作的认识。
2. 通过设计实现机器指令及对应的微指令(微程序)并验证,从而掌握微程序设计的思想和具体流程、操作方法。
3. 通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识,并进一步建立整机系统的概念。
4. 将所设计的微程序在虚拟环境中运行调试程序,并给出测试思路和具体程序段5. 培养学生独立工作和创新思维的能力,取得设计与调试的实践经验。
6. 撰写课程设计报告。
1.3 设计环境本实现采用伟福COP2000型计算机组成原理实验仪,微机,相关虚拟软件。
在COP2000试验仪上实现编程,所应用的编程语言为汇编语言。
计算机组成原理课程设计报告
计算机组成原理课程设计设计任务:综合前面实验单元典型部件设计与调试,对数据选择器(A、B)、计数器、运算器、寄存器和微程序控制器透彻了解的基础上,完成一个简单计算机的设计,使其具有简单运算功能:取数、读数、做加法、送数等。
设计目的:通过一个简单计算机的设计,对计算机系统的基本组成、部件的设计、部件间的连接、微程序的编制与调试等全过程有一个较为综合、深入的认识和理解。
设计与调试步骤:结合计算机组成原理的教学内容和课程设计平台系统,计算机的设计与调试步骤如下:数据通路:数据通路的设计在总体结构中是最重要的一个环节。
实验室的仿真模型机的数据通路是以总线为基础、以CPU为核心构成的。
系统简介:机器指令存放在3#RAM中将3#RAM作为内存使用,机器指令是按由上到下顺序执行的,其执行顺序由PC(程序计数器)和MAR(地址寄存器)控制。
2#RAM和1#RAM作为控制存储器简称为控存一条微指令由十六个微命令组成高八位存放于2#RAM中,低八位存放于1#RAM中。
后继地址有三种形成方式μIR2μIR1μIR0为001时μPC+1安顺序执行微指令为010时JP无条件转移,地址由μIR15-8提供。
本简单计算机基于简化处理μIR15-8均为0它代表了均跳向为指令寄存器的00入口即取指令入口。
为011时QJP高四位安机器指令的操作码转移,第四位为0其由后继地形成逻辑实现,所有涉及的地址转移均为指令的转移。
因为机器指令是按顺序执行的。
每按一次单脉冲键执行一条微指令,一条机器指令由若干条微指令组成,一条微指令由十六个微命令组成其中因为μIR3μIR6μIR7全为零故省略掉了。
为保证机器指令是从第一条开始顺序执行的,在操作前应按一次复位键将微指令计数器μpc,机器指令计数器pc,内存地址寄存中的内容清零。
第一条微指令地址为00,微操作为RAM→IR即从内存中取出指令放到机器指令寄存器中,此时地址寄存器中的内容为00,所以在3#RAM的00地址中取出MOV1指令18,取出指令后PC+1→PC(01)为取下一条内存内容做好准备,再按一次单脉冲键执行QJP及按操作码转移,此时指令寄存器中存放的为18 操作码为0001,所以转移后高四位为:0001 低四位为全零:0000 。
计组课程设计报告_图文
《计算机组成原理》课程设计报告年级专业班级:完成日期: 2015.12.51.引言1.1 实验目的1)在掌握传统的、顺序执行的CPU工作原理基础上,理解掌握流水CPU的工作原理;2)掌握流水线的设计思路和方法,尤其是对结构相关、数据相关和控制相关的解决思路;3)理解硬件设计流程,熟悉掌握指令系统的设计方法,并设计简单的指令系统;4)理解和掌握基于VHDL语言和TEC-CA硬件平台设计模型机的方法,并藉此掌握工程设计的思路和方法。
1.2 实验要求1)基本设计要求参考《16位5级流水无cache实验CPU课程设计实验要求》文档及其VHDL 代码,在理解其思想和方法的基础上,将其改造成8位的5级流水无cache的实验CPU,包括对指令系统、数据通路、各流水段模块、存储器模块等方面的改造。
利用VHDL语言编程实现,并在TEC-CA平台上进行仿真测试。
为方便起见,后续16位5级流水无cache实验CPU简记为ExpCPU-16,而8位的则记为ExpCPU-8。
对于存储器模块的改造,参考《计算机组成原理》课程综合实验的方法,独立设计一块8位的RAM。
要求测试减法的溢出标志位,如测试192-(-96)或者-192-96的溢出标志位。
2)额外设计要求时间允许的情况下,进行一些额外的、探索性的改造,可用于加分。
例如:(1)利用TEC-CA平台上的16位RAM来存放8位的指令和数据;(2)实现一条JRS指令,以便在符号标志位S=1时跳转。
需要改写ID段的控制信息,并改写IF段;(3)实现一条CMPJ DR,SR,offset指令,当比较的两个数相等时,跳转到目标地址PC+1+offset;(4)可以探索从外部输入指令,而不是初始化时将指令“写死”在RAM中;(5)此5段流水模块之间,并没有明显地加上流水寄存器,可以考虑在不同模块间加上流水寄存器;(6)探索5段流水带cache的CPU的设计。
1.3 实验设备本课程综合设计中,需要用到的实验设备如下:1)PC两台;2)TEC-CA硬件实验箱一个;3)Quartus II软件平台一个;4)DebugController软件一个;5)JTAG连接线。
计算机组成原理课程设计实验报告书
计算机组成原理课程设计报告班级::学号:完成时间:一、课程设计目的1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及独立分析、解决问题的能力。
二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三、课程设计使用的设备(环境)1.硬件●COP2000实验仪●PC机2.软件●COP2000仿真软件四、课程设计的具体容(步骤)1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点:1)指令系统特点与设计模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。
指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。
而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。
在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。
模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。
指令系统包括以下七类:2)模型机寻址方式3)指令格式该模型机微指令系统的特点(包括其微指令格式的说明等):微指令格式2)微指令设置说明X2 X1 X0与S2 S1 S0的具体对应操作如表所示:2.计算机中实现乘法和除法的原理(1)无符号乘法①实例演示(即,列4位乘法具体例子演算的算式):被乘数为1001(二进制),即为十进制的9;乘数为0110(二进制),即为十进制的6。
计算机组成原理课程设计报告
计算机组成原理课程设计报告班级:计算机________ 班姓名: _________ 学号:完成时间:一、课程设计目的1在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2 •通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3 •培养综合实践及独立分析、解决问题的能力。
二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三、课程设计使用的设备(环境)1硬件COP2000实验仪PC机2. 软件COP2000仿真软件四、课程设计的具体内容(步骤)1. 详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点:1. 模型机总体结构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位,根据指令类型的不同,可以有0到2个操作数。
指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码作为微地址来寻址微程序存储器,找到执行该指令的微程序。
计算机组成原理课程设计报告书
**大学计算机科学与技术学院计算机组成原理课程设计报告书专业班级学生姓名学号指导教师日期一、设计目的1.融会贯通教材各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间-空间”概念的理解,从而清晰地建立计算机的整机概念。
2.学习设计和调试计算机的基本步骤和方法,培养科学研究的独立工作能力,取得工程设计和调试的实践和经验二、设计任务1.根据给定的数据格式和指令系统,设计一台微程序控制的模型计算机。
2.根据设计图,在QUARTUS II环境下仿真调试成功。
3.在调试成功的基础上,整理出设计图纸和相关文件,包括:(1)总框图(数据通路图);(2)微程序控制器逻辑图;(3)微程序流程图;(4)微程序代码表;(5)设计说明书及工作小结。
三、设计内容1.数据格式数据字规定采用定点整数补码表示法,字长8位,其中最高位为符号位,其格式如下:7 6 5 4 3 2 12.指令格式本实验设计使用5条机器指令,其格式与功能说明如下:INADDSTAOUTJMPIN8位数据输入到R0寄存器。
ADD指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器的内容与内存中地址为A的数相加,结果存放在R0寄存器中。
STA指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器中的内容存储到以第二个字为地址的内存单元中。
OUT指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将内存中以第二个字为地址的内存单元中的数据读出到数据总线,显示之。
JMP指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是程序无条件转移到第二个字指定的内存单元地址。
数据通路图一旦确定,指令流与数据流的通路也就确定了。
图1中各功能器件上标注的控制点及控制信号,就是微程序控制器设计的依据。
微指令格式建议采用水平型微指令格式,后继微地址采用断定方式。
计算机组成原理课程设计报告
计算机组成原理课程设计报告Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#电子信息学院实验报告书课程名:《计算机组成原理》题目:实验类别【验证】班级:学号:姓名:第一章课设任务概述课设目的通过本周的课设,使我们对计算机组成与体系结构这门课有一个更深入的了解。
主要要了解计算机的硬件组成、微操作以及储存器中的地址变换等。
将我们在课堂上所学的理论知识应用于实践。
课设任务1、参考给出的或者课本上的计算机的硬件(应有中断功能)组成,写出完成下面给定的指令格式的指令的执行流程;(1)累加器内容完成“异或”运算“异或”指令的指令格式(2)把一个内存单元中的内容读到所选择的一个累加器中。
(3)以下五条机器指令为选做题目,给出指令执行流程(选做要求:(组号mod 5)+1=红色题目编号):IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下:助记符机器指令码说明①IN 0000 0000 “I NPUT DEVICE”中的开关状态R0②ADD addr 0001 0000 ×××× R0+[addr] R0③STA addr 0010 0000 ×××× R0 [addr]④OUT addr 0011 0000 ×××× [addr] BUS⑤JMP addr 0100 0000 ×××× addrPC2、以下三道为选做题目(选做要求:(组号 mod 3)+1=红色题目编号)①某机器中,已知配有一个地址空间为(0000—1FFF)16的ROM区域,现在用几个SRAM芯片(8K×8位)形成一个16K×16位的RAM区域,起始地址为2000H。
计算机组成原理课程设计的实验报告
计算机组成原理课程设计的实验报告实验报告:计算机组成原理课程设计摘要:本实验报告旨在介绍计算机组成原理课程设计的实验过程和结果。
该实验旨在深入理解计算机的组成和工作原理,并通过设计和实现一个简单的计算机系统来加深对计算机组成原理的理解。
本实验报告将包括实验的目的、实验环境、实验步骤、实验结果以及实验的分析和讨论。
1. 实验目的:本实验的目的是通过设计和实现一个简单的计算机系统,加深对计算机组成原理的理解。
具体目标包括:- 理解计算机的基本组成和工作原理;- 掌握计算机硬件的设计和实现方法;- 学习使用计算机组成原理相关的软件工具。
2. 实验环境:本实验所需的硬件和软件环境如下:- 硬件环境:一台支持计算机组成原理课程设计的计算机;- 软件环境:计算机组成原理相关的软件工具,如Xilinx ISE、ModelSim等。
3. 实验步骤:本实验的步骤主要包括以下几个部分:3.1 系统需求分析在设计计算机系统之前,首先需要明确系统的需求和功能。
根据实验要求,我们需要设计一个简单的计算机系统,包括指令集、寄存器、运算单元等。
3.2 系统设计根据系统需求分析的结果,进行系统设计。
设计包括指令集的设计、寄存器的设计、运算单元的设计等。
3.3 系统实现在系统设计完成后,需要进行系统的实现。
具体步骤包括使用硬件描述语言(如VHDL)进行电路设计,使用Xilinx ISE进行逻辑综合和布局布线,最终生成bit文件。
3.4 系统测试在系统实现完成后,需要进行系统的测试。
测试包括功能测试和性能测试。
功能测试主要是验证系统是否按照设计要求正常工作;性能测试主要是测试系统的性能指标,如运行速度、吞吐量等。
4. 实验结果:经过实验,我们成功设计和实现了一个简单的计算机系统。
该系统具有以下特点:- 指令集:支持基本的算术运算和逻辑运算;- 寄存器:包括通用寄存器、程序计数器、指令寄存器等;- 运算单元:包括算术逻辑单元(ALU)和控制单元。
《计算机组成原理》课程设计报告
7.连接实验线路…………………………………………………………………..12
8.运行与调试……………………………………………………………………..13
五总结…………………………………………………………………………………………….13
六参考文献…………………………………………………………………………………………15
OUT addr
0011 0000 XXXX XXXX
[addr] -> LED
JMP addr
0100 0000 XXXX XXXX
[addr] -> PC
4
(1)微指令格式
微指令字长共24位,其控制位顺序如下表所示:
A字段
B字段
C字段
15
14
13
选择
12
11
10
选择
9
8
7
选择
0
0
0
0
0
0
0
0
0
0
110
110
000110
0B
0
0
0
0
0
0
0
1
1
110
110
110
011000
0C
0
0
0
0
0
0
0
1
1
110
110
110
001101
0D
0
0
0
0
0
0
0
0
1
101
000
110
000001
18
0
0
计算机组成原理(毕业设计报告)
《计算机组成原理》课程设计报告实验计算机的设计学院:班级:学号:姓名:完成时间:目录一、设计目的 (2)二、设计内容 (2)三、设计要求 (2)四、设计原理 (2)五、调试程序 (6)六、应用程序 (6)七、心得体会 (8)一. 设计目的:巩固和深刻理解"计算机组成原理"课程所讲解的原理,加深对计算机各模块协同工作的认识,掌握微程序设计的思想和具体方法,培养我们独立思考和创新思维的能力,取得设计与调试的实践经验.二. 设计内容:按照要求设计一指令系统,该指令系统能够实现数据传送,进行加,减运算和逻辑左移和右移,具有累加器寻址,寄存器寻址,寄存器间接寻址,存储器直接寻址,立即数寻址等五种寻址方式.三. 设计要求:仔细复习所学过的理论知识,掌握微程序设计的思想,并根据掌握的理论写出要设计的指令系统的微程序.运算器采用多累加器结构.指令系统至少要包括六条指令,具有上述功能和寻址方式.将所设计的微程序在虚拟环境中进行调试,并给出测试思路和具体程序段(1)运算器:采用单累加器多寄存器结构(开关KA,KB,KC,KR分别置左,右,右,左)(2)指令系统:多于16条指令,外设和内存统一编址,统一操作指令(3)内存寻址方式:寄存器直接寻址寄存器间接寻址直接寻址立即数寻址(4)微程序设计微操作信号发生器四. 设计原理用FD-CES-B型试验仪的硬件资源,实验者可自行设计指令系统以及相应的微程序,研制一台微程序控制的试验计算机。
把微程序输入控存,在给定具体的程序后,用汇编语言编出算法。
手工编译为微指令,输入主存,调试得到预期结果。
部分接线图如下所示:接线:SA 接 X0 接 M16 SB 接 X1 接 M17 P0、SR、SL 接CYP1 接 A0P2 接 A7CA、CC、RCP、CI 接ΦS3~S0 接 M23~M20Cn 接M19M 接M18CG 接M11OB 接M8OT 接 M10CT 接+5VRR 接M1A 接 I0B 接 I1P+1 接M6GI 接 M7CK 接ΦCLR 接+5VOI 接M15B1、B3 接RFKA 接IAB0PA 接 IAB1DR 接 M5MLD 接 M4MP+1 接 +5VMCLR 接 ROMCLK 接POMIG 接地MD10~MD6 接地MD5 接 I7MD4 接 I6MD3 接 I5MD2 接 I2MD1~MD0 接+5V根据设计要求,实验计算机属多累加器结构.因此,应将实验仪上的KA,KB,KC,KR四组开关分别置为右,左,左,上的位置.另外,实验计算机和外设不仿采用I/O查询方式.下图是整机逻辑框图:微指令格式和指令微程序:五. 调试程序(一)准备工作:1、测试控制台的复位功能:加电按RET键,应显示CPU READY字样,表示实验仪监控程序开始工作。
浙江理工大学计算机组成原理课程设计报告
计算机组成原理课程设计报告(2013/2014第二学期------第19周)指导教师:许建龙张芳班级:12计科2班姓名:学号:计算机组成原理大型实验任务书(计算机12级1、2、3班和实验班)一、实验目的:深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,进一步理解和掌握动态微程序设计的概念;完成微程序控制的特定功能计算机的指令系统设计和调试。
二、实验说明:要进行这项大型实验,必须清楚地懂得:(1)TEC-2机的功能部件及其连接关系;(2)TEC-2机每个功能部件的功能与具体组成;(3)TEC-2机支持的指令格式;(4)TEC-2机的微指令格式,AM2910芯片的用法;(5)已实现的典型指令的执行实例,即相应的微指令与其执行次序的安排与衔接;(6)要实现的新指令的格式与功能。
三、实验内容:选定指令格式、操作码,设计如下指令:(1)把用绝对地址表示的内存单元A中的内容与内存单元B中的内容相加,结果存于内存单元C中。
指令格式:D4××,ADDR1,ADDR2,ADDR3 四字指令(控存入口100H)功能: [ADDR3]=[ADDR1]+[ADDR2](2)将一通用寄存器内容减去某内存单元内容,结果放在另一寄存器中。
指令格式:E0 DR SR,ADDR (SR,DR源、目的寄存器各4位)双字指令(控存入口130H)功能: DR=SR - [ADDR](3)转移指令。
判断两个通用寄存器内容是否相等,若相等则转移到指定绝对地址,否则顺序执行。
指令格式:E5 DR SR,ADDR 双字指令(控存入口140H)功能: if DR==SR goto ADDR else 顺序执行。
设计:利用指令的CND 字段,即IR 10~8,令IR 10~8=101,即CC=Z则当DR==SR 时Z=1,微程序不跳转,接着执行MEM PC (即ADDR PC ) 而当DR!=SR 时Z=0,微程序跳转至A4。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理课程设计报告(2013/2014第二学期------第19周)指导教师:许建龙张芳班级:12计科2 班姓名:学号:计算机组成原理大型实验任务书(计算机12级1、2、3 班和实验班)一、实验目的:深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,进一步理解和掌握动态微程序设计的概念;完成微程序控制的特定功能计算机的指令系统设计和调试。
二、实验说明:要进行这项大型实验,必须清楚地懂得:(1)TEC-2机的功能部件及其连接关系;(2)TEC-2机每个功能部件的功能与具体组成;(3)TEC-2机支持的指令格式;(4)TEC-2机的微指令格式,AM2910芯片的用法;(5)已实现的典型指令的执行实例,即相应的微指令与其执行次序的安排与衔接;(6)要实现的新指令的格式与功能。
三、实验内容:选定指令格式、操作码,设计如下指令:(1)把用绝对地址表示的内存单元A中的内容与内存单元B中的内容相加,结果存于内存单元C 中。
指令格式:D4××,ADDR1,ADDR2,ADDR3 四字指令(控存入口100H)功能:[ADDR3]=[ADDR1]+[ADDR2](2)将一通用寄存器内容减去某内存单元内容,结果放在另一寄存器中。
指令格式:E0 DR SR,ADDR (SR,DR 源、目的寄存器各4位)双字指令(控存入口130H)功能:DR=SR- [ADDR](3)转移指令。
判断两个通用寄存器内容是否相等,若相等则转移到指定绝对地址,否则顺序执行。
指令格式:E5 DR SR,ADDR 双字指令(控存入口140H)功能:if DR==SR goto ADDR else顺序执行。
设计:利用指令的CND 字段,即IR10~8,令IR10~8=101,即CC=Z则当DR==SR时Z=1,微程序不跳转,接着执行MEM(即)而当DR!=SR 时Z=0,微程序跳转至A4。
四、实验要求:(1)根据内容自行设计相关指令微程序;(务必利用非上机时间设计好微程序)(2)设计测试程序、实验数据并上机调试。
(3)设计报告内容:包括1、设计目的2、设计内容3、微程序设计(含指令格式、功能、设计及微程序)4、实验数据(测试所设计指令的程序及结果)。
(具体要求安最新规范为准)(1)大型实验报告必须打印成册,各班班长收齐大型实验报告于19周星期五前,交张芳老师办公室。
五、上机时间安排:2014计算机组成原理课程设计安排如下:(第十九周)(地点:10-413和414机房)备注:1.各班每2人一组,可自由组合但要固定,各班班长将各组组号及学生名单于第一次上机时上报指导教师;2.各班学生须严格按照规定的时间上机,不得无故缺席、迟到早退,指导教师会严格考勤。
指导教师:许建龙、张芳2014年6月18日计算机组成原理课程设计实验报告一、目的和要求深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,进一步理解和掌握动态微程序设计的概念;完成微程序控制的特定功能计算机的指令系统设计和调试。
二、实验环境PC 机与TEC-2机模拟程序三、具体内容(一)把用绝对地址表示的内存单元A 中的内容与内存单元B中的内容相加,结果存于内存单元C中。
指令格式:D4××,ADDR1,ADDR2,ADDR3 四字指令(控存入口100H)功能:1. 微程序:[ADDR3]=[ADDR1]+[ADDR2](1)PC→AR,PC+1→PC 00000E00A0B55402当前程序计数器内容送地址寄存器,为读取第一个操作数地址做准备;程序计数器指向下一单元地址B55----------------------------------------------------------------------------------------------------------------B0CI3-CI0(B43-B40)为1110,功能为顺序执行;SCC(B39-B37)为000,CC#=1,不发生转移;SST(B34-B32)为000,标志位不发生改变;MIO#(B31)REQ(B27)WE#(B23)为101,表示不操作;B 口地址(B15-B12)为0101,BI8-BI6(B30-B28)为010,MI5-MI3(B26-B24)为000,MI2-MI0(B22-B20)为011,SCI(B11-B10)为01,SA(B7)为0,SB(B3)为0,表示5 号通用寄存器R5,即PC 通过B 口实现加1,再通过B 口写回到PC(B+0+Cin→B);(2)MEM→AR00000E00 10F0 0002从主存读取第一个操作数地址,为读取第一个操作数做准备B55-----------------------------------------------------------------------------------------------------------------B0MIO#REQ WE#为001,表示从主存储器读入数据(地址);B 口地址为0000,BI8-BI6为001,MI5-MI3为000,MI2-MI0为111,SCI为00,做运算;表示AM2901不0000 0000 0000 1110 0000 0000 1010 0000 1011 0101 0101 0100 0000 0010 0000 0000 0000 1110 0000 0000 0001 0000 1111 0000 0000 0000 0000 0010(3)MEM→Q 00000E0000F00000从主存读取第一个操作数B55--------------------------------------------------------------------------------------------------------------------B000000000000011100000000000000000111100000000000000000000MIO #REQ WE#(B23)为001,表示从主存储器读入数据(地址);I8-6 为000,MI5-3为000,MI2-0 为111,表示将主存中读出的数据加上0,再将结果回送到Q 寄存器;(4)PC→AR,PC+1→PC 00000E00A0B55402当前程序计数器内容送地址寄存器,为读取第二个操作数地址做准备;程序计数器指向下一单元地址B55--------------------------------------------------------------------------------------------------------------------B00000 0000 0000 1110 0000 0000 1010 0000 1011 0101 0101 0100 0000 0010(5)MEM→AR00000E00 10F0 0002从主存读取第二个操作数地址,为读取第二个操作数做准备B55--------------------------------------------------------------------------------------------------------------------B00000 0000 0000 1110 0000 0000 0001 0000 1111 0000 0000 0000 0000 0010(6)MEM+Q→Q 0000 0E00 00E0 0000从主存读取第二个操作数B55--------------------------------------------------------------------------------------------------------------------B000000000000011100000000000000000111000000000000000000000MIO# REQ WE#为001,BI8-6为000,MI5-3为000,MI2-0为110,表示将第二个操作数从主存读出并且加上Q 寄存器的内容,再将结果回送到Q寄存器;(7)PC→AR,PC+1→PC 00000E00A0B55402当前程序计数器内容送地址寄存器,为读取计算结果存储单元地址做准备;程序计数器指向下一单元地址B55--------------------------------------------------------------------------------------------------------------------B00000 0000 0000 1110 0000 0000 1010 0000 1011 0101 0101 0100 0000 0010(8)MEM→AR00000E00 10F0 0002从主存读取结果存储单元地址B55--------------------------------------------------------------------------------------------------------------------B00000 0000 0000 1110 0000 0000 0001 0000 1111 0000 0000 0000 0000 0010(9)Q→MEM,CC#=00029 0300 1020 0010计算结果送结果存储单元B55--------------------------------------------------------------------------------------------------------------------B00010 1001 0000 0011 0000 0000 0001 0000 0010 0000 0000 0000 0001 0000MIO#REQ WE#为000,BI8-6为001,MI5-3为000,MI2-0为010,表示将Q 寄存器里面的内容存到AR 存储的单元地址对应的存储单元;B55-B46为0010100100(4AH),即下地址,CI3-0 为0011(3号命令,条件转移),SCC为00(CC#),表示转移到4AH中断。
2. 输入微码>E90009000000:00000000:0E000000:A0B5 0000:5402 0000:00000905 0000:0E00 0000:10F0 0000:0002 0000:0000 0000:0E00090A 0000:00F0 0000:0000 0000:0000 0000:0E00 0000:A0B5090F 0000:5402 0000:0000 0000:0E000000:10F0 0000:00020914 0000:0000 0000:0E010000:00E0 0000:0000 0000:0000 0919 0000:0E00 0000:A0B50000:5402 0000:0000 0000:0E00 091E 0000:10F0 0000:0002 0000:0029 0000:0300 0000:1020 0923 0000:0010;将微程序的16进制代码输入到从900H开始的内存单元中3. 查看微码>D9000900 0000 0E00 A0B5 5402 0000 0E00 10F0 0002 0908 0000 0E00 00F0 0000 0000 0E00 A0B5 5402 0910 0000 0E00 10F0 0002 0000 0E01 00E0 00000918 0000 0E00 A0B5 5402 0000 0E00 10F0 0002 0920 0029 0300 1020 0010 0000 0000 0000 0000;查看单元内容是否正确4. 加载微码>A8000800:MOV R1,900;微码在内存中的首地址为900H 0802:MOV R2,9;微程序一共有9 条微指令0804:MOV R3,100;微码加载到微控存中的首地址0806:LDMC;加载微码指令807: RET;返回808:>G800 ;执行加载微码程序5. 输入程序,测试新指令>A8200820:MOV R0,0023 0822:MOV[A00],R0 0824:MOV[A01],R0 826:NOP827:NOP828:NOP829:NOP082A: RET082B:>E826将操作数放到寄存器R0,这里两个操作数都是23H 将R0存放的操作数放到A00地址单元将R0存放的操作数放到A01地址单元编辑0826开始到0829单元内容,将新指令输入0826 0000:D400 0000:0A00 0000:0A010000:0A02 >U820查看0820:2C000023MOV R0, 00230822:3400 0A00MOV [0A00],R00824:3400 0A01MOV [0A01],R00826:D400 DW D4000827:0A00 ADC R0, R00828:0A01 ADC R0, R10829:0A02 ADC R0, R2082A: AC00 RET>G820运行6. 运算结果>DA00 0A00 0023 0023 0046 0000 0000 0000 0000 0000;0A00 单元和 0A01 单元内容为操作数,相加后结果为 0046,存在 0A02 单元,正确(二)将一通用寄存器内容减去某内存单元内容,结果放在另一寄存器中。