计算机组成原理课程设计报告,乘法,除法,

合集下载

计算机组成原理课程设计报告完整版

计算机组成原理课程设计报告完整版

计算机组成原理课程设计报告班级: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寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。

计算机组成原理除法课程设计

计算机组成原理除法课程设计

课程设计说明书题目: 设计指令系统院系:计算机科学与工程学院专业班级:计算机10-03班学号: 2010303089学生姓名:胡敬杰指导教师:刘向举2013年1 月10日安徽理工大学课程设计(论文)任务书计算机科学与工程学院监控与嵌入式技术系学号2010303089 学生姓名胡敬杰专业(班级)计算机10-3班设计题目设计指令系统设计技术参数1.本系统采用DJ-CPTH超强型计算机组成原理教学实验系统搭建电路图,在实验箱上实现指令系统。

2.利用软件工程中的可行性研究以及分析方法,进行系统分析。

设计要求1在基本模型机的基础上设计取数、存数、输入、输出、与、或、非、加法、减法、移位指令等,用这些指令的助记符不得与指导书上相同。

2.指令包括立即数寻址、寄存器直接寻址、存储器直接寻址三种寻址方式。

3.利用新构建的指令系统编程,分别实现求补、同或、异或、乘法、除法、两存储单元数据交换等功能。

工作量1.课程设计说明书2000字;2.画出流程图,编写微指令代码和程序。

工作计划1.首先认真研究老师所给的题目,了解题目要求做什么。

2.查阅资料,解决难题。

3.编写源程序并调试之。

4.写课程设计说明书参考资料[1] 蒋本珊.计算机组成原理(第2版).北京:清华大学出版社,2011[2] 白中英.计算机组成原理(第二版).北京:科学出版社,2008[3] DJ-CPTH超强型计算机组成原理与系统结构实验指导书[4] 沈美明.汇编语言程序设计北京:清华大学出版社指导教师签字教研室主任签字2012年 12月17日安徽理工大学课程设计(论文)成绩评定表指导教师评语:成绩:指导教师:年月日摘要本次计算机组成原理课程设计课题是基本模型机的设计与实现。

利用CPU与简单模型机来实现计算机组成原理课程设计,编写指令的应用程序,用微程序控制器实现一系列的指令功能,最终达到将理论与实践相联系。

本次设计完成了相关指令的格式以及编码的设计,实现了机器指令微代码,完成具有一定功能的程序。

课程设计报告(计算机组成原理)

课程设计报告(计算机组成原理)

课程设计(大作业)报告一、题目分析本次课程设计课题是设计基于微程序控制器的简单计算机设计与实现,宏观上利用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。

计算机组成原理课程设计报告

计算机组成原理课程设计报告

计算机组成原理课程设计报告文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)南通大学计算机科学与技术学院计算机组成原理课程设计报告书课题名模型计算机的设计与实现班级计123班姓名流星雪雨学号指导教师顾辉日期目录1 设计目的1.融会贯通教材各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间-空间”概念的理解,从而清晰地建立计算机的整机概念。

2.学习设计和调试计算机的基本步骤和方法,培养科学研究的独立工作能力,取得工程设计和调试的实践和经验。

2 设计内容1.根据给定的数据格式和指令系统,设计一台微程序控制的模型计算机。

2.根据设计图,在QUARTUS II环境下仿真调试成功。

3.在调试成功的基础上,整理出设计图纸和相关文件,包括:(1)总框图(数据通路图);(2)微程序控制器逻辑图;(3)微程序流程图;(4)微程序代码表;(5)设计说明书及工作小结。

3 设计要求(1)对指令系统中的各条指令进行分析,得出所需要的占领周期与操作序列,以便确定各器件的类型和数量;(2)设计总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得由指令系统所要求的数据通路都能实现,并满足技术指标的要求;(3)检查全部指令周期的操作序列,确定所需要的控制点和控制信号;(4)检查所设计的数据通路,尽可能降低成本,简化线路,优化性能。

以上过程可以反复进行,以便得到一个较好的方案。

4 数据格式与指令系统数据格式数据字规定采用定点整数补码表示法,字长8位,其中最高位为符号位,其格式如下:7 6 5 4 3 21指令系统本实验设计使用5条机器指令,其格式与功能说明如下:7 6543210INADDSTAOUTJMPIN指令为单字长(字长为8bits)指令,其功能是将数据开关的8位数据输入到R0寄存器。

ADD指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器的内容与内存中地址为A的数相加,结果存放在R0寄存器中。

计算机组成原理课程设计报告,乘法,除法,

计算机组成原理课程设计报告,乘法,除法,

成绩:课程设计报告课程名称:计算机组成原理课程设计实验项目:用微指令实现乘法和除法的程序姓名:专业:计算机科学与技术班级:计算机14-6班学号:计算机科学与技术学院实验教学中心2016年9 月1 日设计项目名称:用微指令实现乘法和除法的程序(2 学时)一.设计目的1、通过学习用微指令实现乘法和除法的程序,巩固课本知识,加深对所学知识的理解,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念。

2、通过实际上机动手操作和亲自设计,锻炼自身的动手能力和实践能力,将课本的理论知识运用于实践,培养综合实践及独立分析、解决问题的能力,充分发挥理论联系实践的教学理念。

3、通过上机学习对微指令的设计,为以后走上工作岗位奠定一定的基础,同时也为以后学习其他相关的内容做铺垫。

4.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系。

二.设计内容针对COP2000实验仪,从详细了解该模型机的指令微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序,之后编写实现乘法和除法的程序进行设计的验证。

三.使用仪器cop2000计算机组成原理实验系统。

四.设计步骤1、理解试验系统自带的每一条微指令的含义和具体工作流程。

2、根据原有的微指令自己设计微指令。

3、微指令设计完成后调试所有的微指令确保没有错误。

4、用自己设计的微指令编写实现乘法和除法运算的程序。

5、编写程序完毕后调试并运行代码,观察是否能够满足需求。

五.微程序设计指令原理1.在微指令的控制字段中,每一位代表一个微命令,在设计微指令时,是否发出某个微命令,只要将控制字段中相应位置成"1"或"0",这样就可打开或关闭某个控制门。

2.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现(1)该模型机指令系统的特点:①总体概述:COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。

计算机组成原理乘法器和除法器课程设计

计算机组成原理乘法器和除法器课程设计

哈尔滨理工大学课程设计(计算机组成原理)题目:简单模型机指令系统的设计班级:姓名:指导教师:系主任:2017年03月10日计算机组成原理(课程设计)设计过程情况表目录1.课程设计的目的 (1)2.课程设计的任务 (1)3.课程设计所用设备及所需资料 (1)4.设计内容 (1)4.1设计原理 (1)4.1.1总体概述 (1)4.1.2模型机的寻址方式 (2)4.1.3模型机微指令系统的特点 (2)4.2设计过程与步骤................................................................. 错误!未定义书签。

4.2.1. 模拟乘法除法的原理 (4)4.2.2.对应算法分配硬件 (9)4.2.3设计全新的指/微指令系统 (10)4.3设计结果及分析 (12)4.3.1汇编语言程序 (12)4.3.2程序执行跟踪 (14)5心得体会 (16)- I-1.课程设计的目的1.在实验机上设计机器指令及对应的微指令(微程序),从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2. 通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3. 培养综合实践及独立分析、解决问题的能力。

2.课程设计的任务针对COP2000实验仪,首先通过综合实验了解该模型机微程序控制器原理(主要指熟悉该模型机指令/微指令系统的详细情况),然后以实现二进制乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;并编写并运行实现乘法和除法的程序进行设计的验证。

3.课程设计所用设备及所需资料1. COP2000实验系统2. PC机( COP2000仿真软件)3. COP2000计算机组成原理实验仪说明书4.设计内容4.1设计原理4.1.1总体概述COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。

《计算机组成原理》课程设计_两个数的乘法运算

《计算机组成原理》课程设计_两个数的乘法运算

《计算机组成原理》课程设计报告课程设计题目:两个数的乘法运算小组成员:….完成日期:第十一周模型机设计实验一、实验目的综合运用所学计算机原理知识,设计并实现较为完整的模型计算机。

其功能为:输入两个数,进行两个正数(二进制4位)的乘法运算,输出结果。

二、实验内容编写程序,运行程序,观察并记录运行结果。

三、实验仪器1、ZY15CompSys12BB计算机组成原理及系统结构教学实验箱一台2、排线若干3、PC机一台四、预备知识1、数据格式8位,其格式如下:其中第7位为符号位,数值表示范围是:-1≤X<127。

2、指令格式模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问存储器、转移指令和停机指令。

(1)算术逻辑指令规定:算术逻辑指令的名称、功能和具体格式见表2—3。

(2)访存指令及转移指令模型机设计2条访存指令,即存数(STA)、取数(LAD),2条转移指令,即无条件转移(负均可)本模型机规定变址寄存器RI指定为寄存器R2。

(3)I/O指令其中,在IN 指令中,addr=01,选中“输入”中的开关组作为输入设备,在OUT指令中,addr=10时,表示选中“输出单元”中的数码块作为输出设备。

(4)停机指令HALT指令,机器码为60H,用于实现停机操作。

3、指令系统复杂模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。

表2-3列出了各条指令的格式、汇编符号、指令功能。

我们依然采用复杂模型机指令系统中的部分指令。

五、实验的机器指令程序如下:地址内容助记符说明00 14 IN R0 ; 作计数器用,00000001→R001 15 IN R1 ; 输入X的值,0000xxxx→R102 05 STA R1 ; X→22H03 2204 15 IN R2 ; 输入Y→R2,0000xxxx→R205 06 STA R2 ; R2→23H06 2307 42 CLR R2 ; R2清零08 06 STA R2 ; 存入结果R2→24H09 240A 02 LAD R2 ; 提取[23H]→R20B 230C 6A RRC R2,R2 ; R2带进位右循环一位→R2 0D 06 STA R2 ; 循环结果→23H0E 230F 02 LAD R2 ; 提取结果S,[24H]→R210 2411 0C BZC [15H] ; 有进位跳转到15H12 1513 08 JMP [18H] ; 无条件跳转到[18H]14 1815 01 LAD R1 ; 提取X→R116 2217 56 ADC R1,R2 ; R1+R2→R218 6A RRC R2,R2 ; R2带进位右循环一位→R219 06 STA R2 ; 循环结果→24H1A 241B70 RLC R0,R0 ; R0带进位左循环一位→R0 1C 0C BZC [20H] ; 有进位跳转到20H1D 201E 08 JMP [0AH] ; 无条件跳转到[0AH]1F 0A20 2A OUT R2 ; 输出R2中的结果21 60 HATL ; 停机22 XX23 XX24 XX六、程序机器指令和微程序以上程序的机器指令如下:$P0014 $P0115 $P0205 $P0322$P0416 $P0506 $P0623 $P0772$P0806 $P0924 $P0A02 $P0B23$P0C6A $P0D06 $P0E23 $P0F02$P1024 $P110C $P1215 $P1308$P1418 $P1501 $P1622 $P1756$P186A $P1906 $P1A24 $P1B70$P1C0C $P1D20 $P1E08 $P1F0A$P202A $P2160微程序如下$M00018108 $M0101ED82 $M0200C050$M0300A004 $M0400E098 $M0501B406$M06959B41 $M07298838 $M0801ED8A$M0901ED8C $M0A00A01E $M0B018001$M0C00201F $M0D019801 $M0E19880F$M0F019801 $M1001ED83 $M11001001$M12030401 $M13018016 $M143D9A01$M1501A205 $M16318207 $M1731820E$M18009001 $M19028401 $M1A05DB81$M1B0180DC $M1C018001 $M1D05DB8D$M1E070A08 $M1F068A09七、复杂模型机的数据通路框图WE图2-7复杂模型机数据通路框图八、复杂模型机实验接线图接到指令单元接到开关单元九、复杂模型机实验流程图十、课程设计总结1、成员总结体会…2、遇到的问题和解决的方法等1)寄存器不够用。

计算机组成原理阵列乘法器课程设计报告

计算机组成原理阵列乘法器课程设计报告

课程设计教学院计算机学院课程名称计算机组成原理题目阵列乘法器专业计算机科学与技术班级2011级计科(X)班姓名XXX同组人员XXX XXX XXX指导教师XXX2013 年 1 月22 日1 课程设计概述1.1 课设目的计算机组成原理是计算机专业的核心专业基础课。

课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。

同时也巩固了我们对课本知识的掌握,加深了对知识的理解。

在设计中我们发现问题,分析问题,到最终的解决问题。

凝聚了我们对问题的思考,充分的锻炼了我们的动手能力、团队合作能力、分析解决问题的能力。

1.2 设计任务计算机系统设计的总体目标是设计模型机系统的总体结构、指令系统和时序信号。

所设计的主机系统能支持自动和单步运行方式。

具体设计任务如下:(1).设计一位全加器(2).设计4位求补电路(3).设计8位求补电路(4).设计4*4位无符号阵列乘法器1.3 设计要求根据理论课程所学的至少设计出简单计算机系统的总体方案,结合各单元实验积累和课堂上所学知识,选择适当芯片,设计简单的计算机系统。

(1)制定设计方案:我们小组做的是阵列乘法器,阵列乘法器主要由求补器和阵列全加器组成。

因此我们四人分两小组,一组做四位及八位求补器的内容,一组做阵列全加器的内容,最后综合就可以完成阵列全加器的任务。

(2)客观要求要掌握电子逻辑学的基本内容能在设计时运用到本课程中,其次是要思维灵活遇到问题能找到合理的解决方案。

小组成员要积极配合共同达到目的。

2 实验原理与环境2.1 1.实验原理计算机组成原理,数字逻辑,FPGA(Field Programmable Gate Array)是现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

计算机组成原理课程设计报告

计算机组成原理课程设计报告

计算机组成原理课程设计报告一、引言计算机组成原理是计算机科学与技术专业的重要课程之一,通过学习该课程,我们可以深入了解计算机的硬件组成和工作原理。

本次课程设计旨在通过设计一个简单的计算机系统,加深对计算机组成原理的理解,并实践所学知识。

二、设计目标本次课程设计的目标是设计一个基于冯·诺依曼体系结构的简单计算机系统,包括中央处理器(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、存储器和输入输出设备的实现,我们成功设计了一个基于冯·诺依曼体系结构的简单计算机系统。

计算机组成原理课程设计报告

计算机组成原理课程设计报告

计算机组成原理课程设计报告专业计算机科学与技术学生姓名秦霞班级B计073学号0710604317指导教师张静林完成日期2010年9月盐城工学院信息学院目录盐城工学院信息学院 0一、课程设计的目的 (1)二、课程设计的内容 (2)1.题目: (2)五、参考文献 (13)一、课程设计的目的本课程设计是在学完本课程教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的计算机组成原理课程基本知识,进一步领会计算机组成原理的一些算法,并进行具体实现,提高分析问题、解决问题的综合应用能力。

二、课程设计的内容1.题目:计算机组成原理算法实现(三)2.功能:课题③能够实现逻辑运算(逻辑非、逻辑加、逻辑乘、逻辑异)、定点整数的单符号位补码加减运算、定点整数的原码一位乘法运算和浮点数的加减运算。

3.实现步骤:(1)系统进入(主)窗体的设计:菜单需要在输入口令正确后方可激活使用。

口令输入错误时要给出重新输入口令的提示,三次口令输入错误应该禁止使用。

(2)选择主窗体中“逻辑运算”时进入下图所示的窗体:在上面的窗体中按“输入”按扭时,将输入焦点设置为最上面的一个文本框上。

依次输入两个(或一个)二进制数(如11001100或00111010)后,按“逻辑非”、“逻辑加”、“逻辑乘”或“逻辑异”按扭中的任一个后,将在第三个文本框中显示对应操作的结果。

选择“返回”按扭时回到主窗体。

(3)进行定点整数单符号位补码加减法的实现时都是在主窗体选择对应的菜单项后进入对应窗体再进行具体操作。

操作时首先选择“输入”按扭输入参与运算的数据,然后再选操作按扭。

各自窗体的参考图如下所示:在第一个数中输入+11001100在第二个数中输入-01011100点击加法按钮和减法按钮可得加法结果和减法结果进行定点整数定点整数原码乘法的实现时都是在主窗体选择对应的菜单项后进入对应窗体再进行具体操作。

操作时首先选择“输入”按扭输入参与运算的数据,然后再选操作按扭。

计算机组成原理原码以为乘法器课程设计

计算机组成原理原码以为乘法器课程设计

计算机组成原理原码以为乘法器课程设计简介本文档将介绍一个基于计算机组成原理的原码以为乘法器的课程设计。

乘法器是计算机中非常重要的一部分,其作用是实现数字乘法运算,是各种计算任务中必不可少的核心组件之一。

本课程设计旨在通过设计一个原码以为乘法器的电路,深入理解计算机组成原理的相关知识,并实践其中的原理和技术。

设计目标本课程设计的主要目标是实现一个8位原码以为乘法器电路,并能正确计算输入数字的乘积。

具体的设计目标包括以下几点:1.实现一个基于原码的乘法器电路。

2.支持8位输入数字的乘法运算。

3.保证电路的稳定性和正确性。

4.使用仿真软件验证电路设计的正确性。

设计原理选择使用原码作为乘法器的运算方式,是因为原码运算相对简单,并且易于理解。

原码运算直接对数字进行操作,不需进行补码转换,简化了计算过程。

乘法器的原理是将两个二进制数进行部分积的计算,然后将部分积相加得到最终的乘积。

在原码乘法器中,需要注意以下几点:1.正负数的处理:对于原码乘法器,正负数的处理是不同的。

正数的原码与补码一致,而负数的原码与补码相反。

因此,在乘法器的设计中,需要对输入的数字进行符号位判断,然后分别处理正数和负数。

2.部分积的计算:乘法器将两个数字的每一位进行相乘,然后将部分积相加得到最终的乘积。

在计算部分积时,需要进行位移操作和进位判断,以确保计算的正确性。

电路设计本课程设计的电路采用逻辑门的组合方式进行实现。

以下是电路设计的主要步骤:输入端口设计一个8位的并行输入端口,用于输入两个8位的原码数字。

每个输入都包含一个符号位和7个数据位。

符号位处理根据输入的符号位进行判断,如果两个输入的符号位相同,则输出结果的符号位为正,否则为负。

使用逻辑门进行判断,并将结果存储在一个标志位中。

部分积计算按位遍历两个输入数字的数据位,将每一位进行相乘,并根据位移规则将乘积结果相加得到部分积。

使用逻辑门和触发器进行位移和加法计算。

部分积相加将所有部分积相加得到最终的乘积结果。

计算机组成原理课设报告

计算机组成原理课设报告

长沙理工大学《计算机组成原理》课程设计报告黄浩辉学 院 计通学院 专 业 网络工程 班 级 网络11-01班 学 号 201158080130 学生姓名 黄浩辉 指导老师 陈沅涛 课程成绩 完成日期 2014年1月6日课程设计任务书计算机与通信工程学院网络工程专业课程设计成绩评定学院计通学院专业网络工程班级网络11-01班学号201158080130 学生姓名黄浩辉指导教师陈沅涛完成日期2014年1月6日指导教师对学生在课程设计中的评价指导教师对课程设计的评定意见基于VHDL的八位乘法器的设计与实现学生姓名:黄浩辉指导老师:陈沅涛摘要: 本次课程设计是设计和实现一个基于VHDL的八位乘法器。

该乘法器是有由 8 位加法器构成的以时序方式设计的 8 位乘法器,采用逐项移位相加的方法来实现相乘。

这次设计以VHDL语言和MAX+PLUS II为工具。

该乘法器分模块进行分析和设计,给出相应的设计原理图和VHDL源程序,通过仿真实现预定功能。

关键词:八位乘法器;移位逐项相加;VHDL;MAX +plusⅡBased on the VHDL Eight multiplier VHDL Design andImplementationStudent Name: Huang Haohui Supervisor: Chen YuantaoAbstract: This course is designed to design and implement an eight multiplier based on VHDL. The multiplier is a multiplier 8 constituted by the adder 8 to design thetiming of the shift-by using methods to achieve the sum multiplied. The design ofVHDL and MAX + PLUS II as a tool. The multiplier of modules for analysis anddesign, given the appropriate design schematics and VHDL source code, toachieve the intended function through simulation.Key words: Eight multiplier; Shift itemized sum; VHDL; MAX +plus Ⅱ目录1 引言 (1)1.1 EDA技术的概念 (1)1.2 VHDL语言介绍 (2)1.2.1 VHDL语言的简介 (2)1.2.2 VHDL语言的特点 (2)2设计要求与设计思路 (3)2.1 设计要求 (3)2.2 设计思路 (3)2.2.1 VHDL的简介 (3)2.2.2 VHDL语言的特点 (4)3关键模块的设计与仿真 (6)3.1 8位移位寄存器reg_8 的设计 (6)3.2 8位加法器adder_8 的设计 (6)3.3 1位乘法器multi_1 的设计 (7)3.4 16位移位寄存器reg_16 的设计 (8)3.5 8位乘法器的顶层设计与仿真 (9)4 结束语 (18)参考文献 (22)程序源代码及注释 (23)1 引言1.1EDA技术的概念EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CA T)和计算机辅助工程(CAE)的概念发展而来的。

计算机组成原理课程设计报告

计算机组成原理课程设计报告

计算机组成原理课程设计报告集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)南通大学计算机科学与技术学院计算机组成原理课程设计报告书课题名模型计算机的设计与实现班级计123班姓名流星雪雨学号指导教师顾辉日期目录1 设计目的1.融会贯通教材各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间-空间”概念的理解,从而清晰地建立计算机的整机概念。

2.学习设计和调试计算机的基本步骤和方法,培养科学研究的独立工作能力,取得工程设计和调试的实践和经验。

2 设计内容1.根据给定的数据格式和指令系统,设计一台微程序控制的模型计算机。

2.根据设计图,在QUARTUS II环境下仿真调试成功。

3.在调试成功的基础上,整理出设计图纸和相关文件,包括:(1)总框图(数据通路图);(2)微程序控制器逻辑图;(3)微程序流程图;(4)微程序代码表;(5)设计说明书及工作小结。

3 设计要求(1)对指令系统中的各条指令进行分析,得出所需要的占领周期与操作序列,以便确定各器件的类型和数量;(2)设计总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得由指令系统所要求的数据通路都能实现,并满足技术指标的要求;(3)检查全部指令周期的操作序列,确定所需要的控制点和控制信号;(4)检查所设计的数据通路,尽可能降低成本,简化线路,优化性能。

以上过程可以反复进行,以便得到一个较好的方案。

4 数据格式与指令系统4.1 数据格式数据字规定采用定点整数补码表示法,字长8位,其中最高位为符号位,其格式如下:7 6 5 4 3 214.2 指令系统本实验设计使用5条机器指令,其格式与功能说明如下:7 6543210INADDSTAOUTJMPIN指令为单字长(字长为8bits)指令,其功能是将数据开关的8位数据输入到R0寄存器。

ADD指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器的内容与内存中地址为A的数相加,结果存放在R0寄存器中。

《计算机组成原理》课程设计报告

《计算机组成原理》课程设计报告
5、设计微指令……………………………………………………………………5
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
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告课程名称:计算机组成原理课程设计 实验项目:用微指令实现乘法和除法的程序 姓 名:专 业:计算机科学与技术 班 级:计算机14-6班 学 号:计算机科学与技术学院实验教学中心2016年 9 月 1日设计项目名称:用微指令实现乘法和除法的程序(2 学时)一.设计目的1、通过学习用微指令实现乘法和除法的程序,巩固课本知识,加深对所学知识的理解,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念。

2、通过实际上机动手操作和亲自设计,锻炼自身的动手能力和实践能力,将课本的理论知识运用于实践,培养综合实践及独立分析、解决问题的能力,充分发挥理论联系实践的教学理念。

3、通过上机学习对微指令的设计,为以后走上工作岗位奠定一定的基础,同时也为以后学习其他相关的内容做铺垫。

4.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系。

二.设计内容针对COP2000实验仪,从详细了解该模型机的指令微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序,之后编写实现乘法和除法的程序进行设计的验证。

三.使用仪器cop2000计算机组成原理实验系统。

四.设计步骤1、理解试验系统自带的每一条微指令的含义和具体工作流程。

2、根据原有的微指令自己设计微指令。

3、微指令设计完成后调试所有的微指令确保没有错误。

4、用自己设计的微指令编写实现乘法和除法运算的程序。

5、编写程序完毕后调试并运行代码,观察是否能够满足需求。

五.微程序设计指令原理1.在微指令的控制字段中,每一位代表一个微命令,在设计微指令时,是否发出某个微命令,只要将控制字段中相应位置成"1"或"0",这样就可打开或关闭某个控制门。

2.详细了解并掌握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位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。

模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。

指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。

而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。

在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。

模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。

模型机的缺省的指令集分几大类:算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入/输出指令。

②模型机的寻址方式模型机的寻址方式寻址方式说明指令举例指令说明累加器寻址操作数为累加器A CPL A 将累加器A的值取反隐含寻址累加器A OUT 将累加器A的值输出到输出端口寄存器OUT 寄存器寻址参与运算的数据在将寄存器R0的值加上累加R0~R3的寄存器中 ADD A,R0 器A的值,再存入累加器A中寄存器间接寻址参与运算的数据在存将寄存器R1的值作为地址,把存储器EM中,数据的地址储器EM中该地址的内容送入累加在寄存器R0-R3中 MOV A,@R1 A中存储器直接寻址参与运算的数据在存将存储器EM中40H单元的数据储器EM中,数据的地与累加器A的值作逻辑与运算,址为指令的操作数。

AND A,40H 结果存入累加器A立即数寻址参与运算的数据从累加器A中减去立即为指令的操作数。

SUB A,#10H 数10H,结果存入累加器A (2)该模型机微指令系统的特点(包括其微指令格式的说明等):①总体概述该模型机的微命令是以直接表示法进行编码的,其特点是操作控制字段中的每一位代表一个微命令。

这种方法的优点是简单直观,其输出直接用于控制。

缺点是微指令字较长,因而使控制存储器容量较大。

②微指令格式的说明模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。

微程序控制器由微程序给出24位控制信号,而微程序的地址又是由指令码提供的,也就是说24位控制信号是由指令码确定的。

该模型机的微指令的长度为24位,其中微指令中只含有微命令字段,没有微地址字段。

其中微命令字段采用直接按位的表示法,哪位为0,表示选中该微操作,而微程序的地址则由指令码指定。

③微指令控制信号的功能以及控制信号的说明XRD 外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据EMWR 程序存储器EM写信号。

EMRD 程序存储器EM读信号。

PCOE 将程序计数器PC的值送到地址总线ABUS上。

EMEN 将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。

IREN 将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器μPC。

EINT中断返回时清除中断响应和中断请求标志,便于下次中断。

ELP PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。

MAREN 将数据总线DBUS上数据打入地址寄存器MAR。

MAROE 将地址寄存器MAR的值送到地址总线ABUS上。

OUTEN 将数据总线DBUS上数据送到输出端口寄存器OUT里。

STEN 将数据总线DBUS上数据存入堆栈寄存器ST中。

RRD 读寄存器组R0~R3,寄存器R?的选择由指令的最低两位决定。

RWR 写寄存器组R0~R3,寄存器R?的选择由指令的最低两位决定。

CN 决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。

FEN 将标志位存入ALU内部的标志寄存器。

X2、X1、X0 X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。

WEN 将数据总线DBUS的值打入工作寄存器W中。

AEN 将数据总线DBUS的值打入累加器A中。

S2、S1、S0 S2、S1、S0三位组合决定ALU做何种运算。

④COP2000中有7个寄存器可以向数据总线输出数据, 但在某一特定时刻只能有一个寄存器输出数据. 由X2,X1,X0决定那一个寄存器输出数据。

X2 X1 X0 输出寄存器0 0 0 IN_OE 外部输入门0 0 1 IA_OE 中断向量0 1 0 ST_OE 堆栈寄存器0 1 1 PC_OE PC寄存器1 0 0 D_OE 直通门1 0 1 R_OE 右移门1 1 0 L_OE 左移门1 1 1 没有输出⑤ COP2000中的运算器由一片EPLD实现. 有8种运算, 通过S2,S1,S0来选择。

运算数据由寄存器A及寄存器W给出, 运算结果输出到直通门D。

S2 S1 S0 功能0 0 0 A+W 加0 0 1 A-W 减0 1 0 A|W 或0 1 1 A&W 与1 0 0 A+W+C 带进位加1 0 1 A-W-C 带进位减1 1 0 ~A A取反1 1 1 A 输出A六.设计具体过程1、理解试验系统自带的每一条微指令的含义和具体工作流程。

2、根据原有的微指令自己设计微指令系统。

①根据所设计的每条微指令的工作原理,选择相应的控制功能,下面以微指令ADD A, R?为例说明:第一个周期T3,实现将寄存器R中的内容送到寄存器W中,控制信号RRD和WEN有效,控制信号选择如下:第二个周期T1,实现将累加器A中的内容与寄存器W中的内容相加后送到累加器A中,控制信号FEN有效,影响标志位,不带进位加法S2、S1、S0为000,AEN有效,ALU直通,X2、X1、X0为100。

控制信号选择如下:第三个周期T0,实现获得下一条微指令的入口地址,控制信号EMRD、PCOE和IREN有效。

控制信号选择如下:②通过结构图检验自己所设计的微指令是否正确。

结构图如下:3、微指令设计完成后调试所有的微指令确保没有错误。

4、用自己设计的微指令编写实现乘法和除法运算的程序。

①乘法原理:本实验采取原码一位乘计算,控制流程如下:乘法运算前,将A寄存器清零,作为初始部分积,被乘数原码放在X中,乘数放在Q 中,计数器C存放乘数的位数n。

乘法开始后,首先通过异或运算,求出乘积符号并存在S,接着将被乘数和乘数从原码形式变为绝对值。

然后根据Qn的状态决定部分积是否加上被乘数,在逻辑右移一次,重复n次,即得运算结果。

②除法原理:本实验采用累减法实现除法运算,其控制流程如下:将被除数保存在累加器A中,将除数保存在存储器M中的某一位置,同时用寄存器R1,R0存放商和余数。

每次进行运算前,先判断累加器A中的内容是否大于存储器M中的内容,若大于,则将A的内容减去存储器M中的内容,并将寄存器R1加1,,否则直接将A存入R0中,结束运算。

5、编写程序完毕后调试并运行代码,观察是否能够满足需求。

七.运行结果1、乘法:计算两个16进制的数8fh(143d)和0dh(13d)的乘积。

通过笔算可知 143 * 13 = 1859(0743h),通过微程序计算的结果跟笔算结果一样,计算结果保存在EM存储器中,高位保存在33h号单元中,低位保存在34h号单元中,笔算结果和程序运算结果一致,证明所设计的乘法运算程序在一定数据范围内是正确的。

2、除法:①整除时的情况:计算两个16进制的数8fh(143d)和0dh(13d)的商通过笔算可知 143 / 13 = 11······0,通过微程序计算的结果跟笔算结果一样,计算结果保存在EM存储器中,商保存在33h号单元中,余数保存在34h单元中。

笔算结果和程序运算结果一致,证明所设计的除法运算程序在一定数据范围内是正确的。

②非整除时的情况:计算两个16进制的数0efh(239d)和1ah(26d)的商通过笔算可知 239 / 26 = 9······5,通过微程序计算的结果也如此。

相关文档
最新文档