乘法器计组课设

乘法器计组课设
乘法器计组课设

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

班级:计算机/物联网1504 班姓名:杨杰铭学号:20154530 完成时间:2018.1.1

一、课程设计目的

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

2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;

3.培养综合实践及独立分析、解决问题的能力。

二、课程设计的任务

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

三、课程设计使用的设备(环境)

1.硬件

●COP2000实验仪

●PC机

2.软件

●COP2000仿真软件

四、课程设计的具体内容(步骤)

1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点:

该模型机指令系统的操作码由8位机器码组成,前6位机器码用于区分操作类型,后2位机器码是在操作中涉及通用寄存器时提供通用寄存器的寻址。

进位跳转指令JC要求倒数第3、4位为00

零跳转指令JZ要求倒数第3、4位为01

无条件跳转指令JMP要求倒数第3、4位为11

该模型机微指令系统的特点(包括其微指令格式的说明等):

该模型机的微指令寄存器地址为00H-0FFH,共256*30位,每条微指令的控制字段部分有30位,控制方式采用的是直接控制而非编码控制,即一位对应一个逻辑开关的状态。

可惜的是,此微指令无跳转方式和下指字段,因而仅通过微指令无法在微指令寄存器中跳转,即在一条机器指令所对应的微程序中,只有顺序执行操作。

原系统中每条机器指令最多四个周期(当然不是必须的,可以通过机器指令的机器码的设置使一个机器指令包含更多微指令),即此模型机中每个微程序最多四条微指令,多余的空位则浮空处理。

2. 计算机中实现乘法和除法的原理

(1)无符号乘法

①算法流程图:

乘法采用移位相加的操作来完成,由于位数限制,无溢出可能

因为积德长度限定在8位以内,由于需要储存中间结果及初始被乘数的指,乘数还需要在过程中进行移位,即两个寄存器无法完成此工作。

由上可知,完成乘法操作需要存取操作数,移位操作,测试标志位跳转,加法操作,同时为了调用加法程序,还需要子程序调用及返回操作。

②硬件原理框图:

寄存器A与R0,R3,EM通信

寄存器W与R2,EM通信

通用寄存器组R0,R1,R2与EM皆可通信

(2)无符号除法

①算法流程图:

使用余数恢复法。先用减测试进行测试若够减,则进行减法操作,不够减直接进行移

位操作。

②硬件原理框图:

3.对应于以上算法如何分配使用COP2000实验仪中的硬件(初步分配,设计完成后再将准确的使用情况填写在此处)ST:减测试/位测试时需使用

A/W:运算时使用

L/D/R:ROR/ROL时使用

乘法

R0:乘数

R1:被乘数

R2:中间结果/乘积

除法

R0:除数

R1:被除数/余数

R2:商

R3:除法次数

4.在COP2000集成开发环境下设计全新的指令/微指令系统设计结果如表所示(可按需要增删表项)

(1)新的指令集

(如果针对乘除法设计了两个不同指令集要分别列表)

(2)新的微指令集

其中减测试与位测试均占用5个节拍

5.用设计完成的新指令集编写实现无符号二进制乘法、除法功能的汇编语言程序(1)乘法

4位乘法的算法流程图与汇编语言程序清单:

将乘数放在R0,被乘数放在R1中

MOV R0,#04H ;乘数

MOV R1,#0AH ;被乘数

MUL: MOV R2,A ;将中间结果暂存入R2保护

MOV A,R1 ;得到被乘数

TEST A,#0FH ;被乘数为0?

JZ END ;为0结束

TEST A,#01H ;被乘数末位为0?

ROR ;右移,不产生标志

MOV R1,A ;将被乘数保存

MOV A,R2 ;得到乘数

JZ MUL1 ;此处为TEST A,#01H的判断结果

ADD A,R0 ;末位不为0,则加上乘数MUL1: ROL ;中间结果左移

JMP MUL ;循环

END ENDS

(2)除法

4位除法的算法流程图与汇编语言程序清单:采用余数恢复法

MOV R0,#08H ;除数

MOV R1,#36H ;余数/被除数

MOV R2,#00H ;商

MOV R3,#05H ;移位次数

MOV A,R1 ;判断被除数是否为0 TEST A,#0FFH

JZ OVERF ;为0则跳转至除法中断。置除数、商为0

SUB A,R0

JC ENDS ;不够除

MOV A,R0 ;将除数移位对阶

ROL

ROL

ROL

ROL ;在这里看似使用4次移位麻烦,但若使用循环,来回挪动操作数MOV R0,A ;将更加麻烦

MOV A,R1 ;看首位够不够减,若够减,商应大于4位,除法溢出,置除数商为SUBT A,R0 ;0FFH

JC DIV

JMP OVER

DIV:

MOV A,R1

SUBT A,R0 ;测试是否够减

JC DIV1

SUB A,R0 ;够减则用被除数减去除数

MOV R1,A

MOV A,#1H ;这里使用简单减法将标志位清0,取消对移位的干扰

SUB A,#0H

MOV A,R0 ;将除数右移

ROR

MOV R0,A

MOV A,R2

ROL ;将商左移,够减时商为1

ADD A,#01H

MOV R2,A

MOV A,R3

SUB A,#01H ;减少技术次数

MOV R3,A

JZ ENDS

JMP DIV

DIV1: ;不够减的情况,直接将除数右移

MOV R1,A

MOV A,#1H

SUB A,#0H

MOV A,R0

ROR

MOV R0,A

MOV A,R2

ROL

MOV R2,A ;将商左移,不够减时商为0

MOV A,R3

SUB A,#01H ;减少计数次数

MOV R3,A

JZ ENDS

JMP DIV

OVERF:

MOV R1,#0

MOV R2,#0

JMP ENDS

OVER:

MOV R1,#0FFH

MOV R2,#0FFH

JMP ENDSNOP

6.上述程序的运行情况(跟踪结果)

按下表填写描述以上各程序运行情况的内容。按每个程序一张表进行。

程序运行的过程

乘法指令的运行过程,截取前几个循环(10*10 的乘法)

除法运行结果(54/8)一个循环

7.设计结果说明

调试运行程序时是否出现问题,是否有重新调整指令/微指令系统设计的情况出现?请在此做具体说明。

运行程序时偶尔会发想忘记添加某种类型指令,但只要添加上即可,其它都是汇编程序上的调整。

还有就是有些情况可以用多条机器指令,或者将这些机器指令的功能都通过一条微程序实现

五、本次课程设计的总结体会(不少于200字)

主要总结学到的具体知识、方法及设计中的切身体会;包括列出在设计的各个阶段出现的问题及解决方法。

设计阶段:

在起初设计时,准备设计单独的乘法、除法指令,即像8086/8088微机中的MUL,DIV 指令这种,通过提前规定好的寄存器存储其中一个运算数,在获取另一个进行运算。可是在仔细研读cop2000官方说明书,以及对模拟程序的摸索后,发现此模拟机中的微程序系统与教科书存在差异。其一为:微指令没有跳转方式和下指字段,也就是说,一条机器指令对应的微程序只能顺序执行,显然,这样不可能完成乘除法的运算;其二为:其对寄存器的选择是通过机器指令中操作数部分的字符翻译为编码来进行的,如操作数为R?则进行寄存器选择、为#xx则从EM中读取。也就是说在一个微程序中无法选择通用寄存器,那么一条指令的最大可用空间为A,W,一个R,ST。

还有一方面,就是由于不带进位的移位操作在此系统中不影响标志位,用01和00测试进行右移,结果一样。JZ不会跳转。因此只能用测试最后一位的方法得到其右移出的位。

此外,在试验过程中还发现,堆栈寄存器只有一个字,因此不能像在高级语言中一直压栈弹栈,在TEST和SUBT中均使用了堆栈保护当前的A寄存器值,因此,在要使用两个操作的块内不能嵌套使用堆栈操作。

(以上红色字内容为由设计者完成并填写。设计者如有需要可以

增加该报告的内容项目。)

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

. 课程设计

. 教学院计算机学院 课程名称计算机组成原理题目4位乘法整列设计专业计算机科学与技术班级2014级计本非师班姓名唐健峰 同组人员黄亚军 指导教师 2016 年10 月 5 日

1 课程设计概述 1.1 课设目的 计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。 同时也巩固了我们对课本知识的掌握,加深了对知识的理解。在设计中我们发现问题,分析问题,到最终的解决问题。凝聚了我们对问题的思考,充分的锻炼了我们的动手能力、团队合作能力、分析解决问题的能力。 1.2 设计任务 设计一个4位的二进制乘法器: 输入信号:4位被乘数A(A1,A2,A3,A4), 4位乘数B(B1,B2,B3,B4), 输出信号:8位乘积q(q1,q2,q3,q4,q5,q6,q7,q8). 1.3 设计要求 根据理论课程所学的至少设计出简单计算机系统的总体方案,结合各单元实验积累和课堂上所学知识,选择适当芯片,设计简单的计算机系统。 (1)制定设计方案: 我们小组做的是4位阵列乘法器,4位阵列乘法器主要由求补器和阵列全加器组成。 (2)客观要求 要掌握电子逻辑学的基本内容能在设计时运用到本课程中,其次是要思维灵活遇到问题能找到合理的解决方案。小组成员要积极配合共同达到目的。

2 实验原理与环境 2.1 1.实验原理 计算机组成原理,数字逻辑,maxplus2是现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 用乘数的每一位去乘被乘数,然后将每一位权值直接去乘被乘数得到部分积,并按位列为一行每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值,将各次部分积求和得到最终的对应数位的权值。 2.2 2.实验环境 2.2.1双击maxplu2II软件图标,启动软件 (1).新建工程,flie->new project ....,出现存储路径的选项框,指定项目保存路径并且为工程命名,第三行设置实体名,保持与工程名一致。点击OK

计组实验报告

计算机组成原理实验报告 实验1:VERILOG 设计基础 专业班级:14级计算机二班 学号:14048001 姓名:杨娜 学号:14048003 姓名:周蓉 实验地点:理工楼901 实验时间:2016年5月14日

实验十VGA显示控制器的设计 一、实验目的 1、学习VERILOG的基本语法和编程规则 2、掌握通用寄存器等常用基本数字模块的VERILOG描述和基本设计方法 3、理解带使能控制和异步清零的8位寄存器的设计原理 4、掌握使用VERILOG设计和验证带使能控制和异步清零的8位寄存器的方法 5、掌握移位寄存器的设计方法 二、实验任务 1、设计一个带使能控制和异步清零的8位寄存器REG8X,实现8位输入的锁存,在时钟的上升沿处得到一个8位的输出和一个8位的反向输出,将结果显示在发光二极管。 模块的端口描述如下: 模块的参考物理结构如下: R7 R6 R i R 0 7 6 i 0 带使能控制和异步清零的8位寄存器 模块的使用注意事项

1.数据源D(7..0)一直加在寄存器的数据输入端; 2.周期性的时钟信号Clock一直加在寄存器的时钟输入端 3.使能信号Enable控制寄存器是否接受数据。当Enable = '0'时,寄存器不 接受数据,保持原来的状态不变;当Enable = '1'时,在时钟信号Clock正 跳变时,寄存器接受并保存当时D(7..0)的数据; 4.本寄存器其它方面的功能与上述的寄存器相同。 完成的参考电路图如下:dout=q 2、设计一个有左、右移位功能的8位寄存器REGSHIFT8,并仿真验证。

三、实验内容 1、通过输入数据先进行计算,并通过实验进行验证REG8X。 (1)、将清零信号Resetn(sw17)设为0,将输入信号D(sw7~sw0)设为10101010,观察输出信号Q(ledr7~ledr0)和Qb(ledg7~ledg0),观察并记录输出。 (2)、将清零信号Resetn(sw17)设为1,在时钟信号处输入一个上升沿(按下key0),观察并记录输出。 (3)、将输入信号D(sw7~sw0)设为01010101,观察并记录输出。 (4)、在时钟信号处输入一个上升沿(按下key0),观察并记录输出。 (5)、自行完善设计表格,观察并记录测试输出。 实验数据表 2、通过输入数据先进行计算,并通过实验进行验证REGSHIFT8。 (1)、测试清零信号Resetn (2)、测试移位功能 (3)、测试寄存功能 (4)、自行设计表格观察并记录测试输出。 实验数据表

面向对象程序设计课程设计

《面向对象程序设计》课程设计 课程代码:*****(采用现行5位数字的课程代码) 课程名称:面向对象程序设计课程设计 设计周数:1周 学分:0.5学分 课程类别:必修课 一、课程设计的目的与任务 面向对象程序设计课程设计是计算机科学与技术、网络工程、信息管理与信息系统等专业集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。通过课程设计,学生可以将本课程所学知识点融会贯通,举一反三,加深实践与理解,提高学生综合运用所学知识的能力;另一方面,在参与一系列子项目的实践过程中,能使学生获得相关项目管理和团队合作等众多方面的实践经验。其目的在于加深对面向对象程序设计理论和基本知识的理解,通过对所选项目的分析、程序算法的设计、运行与调试过程的分析,使学生掌握基本的信息系统分析方法、设计方法和上机操作的各种技巧,对培养学生的逻辑思维能力、团队合作精神、创新能力、动手操作能力各方面素质有提供了良好的实践平台,为后续课程的学习打下一定的基础。 二、本课程设计的基本理论 本课程设计使用面向对象程序设计的方法解决实际问题,涵概了课程的所有重要知识点,如类与对象、继承与组合、虚函数与多态性等。 三、课程设计的形式与基本要求 形式:召开课程设计动员会,根据学生的学习水平和特长进行分组,每组选择指定课程设计的题目和内容。学生在规定的时间内,经过小组的协同工作和指导教师的辅导,完成所选课题的设计,最后由指导教师进行验收及评定。 基本要求:要求学生做好预习,认真分析设计过程中涉及到的算法,并确定所选课题的功能模块,详细描述各模块的具体内容;用流程图描述实现算法,根据算法进行代码的编写,最后进行反复上机调试修改,直到输出正确结果为止。 认真写好课程设计报告,根据每组学生的分工,各自写出对解决问题的详细分析、模块功能、调试结果,最后将课程设计报告上交给指导教师。 四、课程设计的内容 选题一:员工管理信息系统 (1)建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、部门、参加工作时间和年龄(必须计算得到)。

计组课后

7. 什么叫系统的并行性?粗粒度并行和细粒度并行有何区别? 答:所谓并行性包含同时性和并发性。同时性是指两个或两个以上的事件在同一时刻发生,并发性是指两个或多个事件在同一时间段发生。即在同一时刻或同一时间段内完成两个或两个以上性质相同或性质不同的功能,只要在时间上存在相互重叠,就存在并行性。 并行性又分为粗粒度并行和细粒度并行两类。粗粒度并行是指在多个处理机上分别运行多个进程,由多台处理机合作完成一个程序,一般用算法实现。细粒度并行是指在处理机的指令级和操作级的并行性。 8. 什么是指令流水?画出指令二级流水和四级流水的示意图,它们中哪个更能提高处理机速度,为什么? 答:指令流水是指将一条指令的执行过程分为n 个操作时间大致相等的阶段,每个阶段由一个独立的功能部件来完成,这样n 个部件就可以同时执行n 条指令的不同阶段,从而大大提高CPU 的吞吐率。 指令二级流水和四级流水示意图如下: IF ,ID EX ,WR IF ,ID EX ,WR IF ,ID EX ,WR 二级指令流水示意图四级指令流水示意图IF ID EX WR IF ID EX WR EX WR IF ID 四级流水更能提高处理机的速度。分析如下: 假设IF 、ID 、EX 、WR 每个阶段耗时为t ,则连续执行n 条指令 采用二级流水线时,耗时为:4t+(n-1)2t=(2n+2)t 采用四级流水线时,耗时为:4t+(n-1)t=(n+3)t

在n>1时,n+3<2n+2,可见四级流水线耗时比二级流水线耗时短,因此更能提高处理机速度。 17. 在中断系统中INTR、INT、EINT三个触发器各有何作用? 解:INTR——中断请求触发器,用来登记中断源发出的随机性中断请求信号,以便为CPU查询中断及中断排队判优线路提供稳定的中断请求信号。 EINT——中断允许触发器,CPU中的中断总开关。当EINT=1时,表示允许中断(开中断),当EINT=0时,表示禁止中断(关中断)。其状态可由开、关中断等指令设置。 INT——中断标记触发器,控制器时序系统中周期状态分配电路的一部分,表示中断周期标记。当INT=1时,进入中断周期,执行中断隐指令的操作。 24. 现有A、B、C、D四个中断源,其优先级由高向低按A、B、C、D 顺序排列。若中断服务程序的执行时间为20μs,请根据下图所示时间轴给出的中断源请求中断的时刻,画出CPU执行程序的轨迹。解:A、B、C、D的响优先级即处理优先级。CPU执行程序的轨迹图如下:

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

计算机组成原理课程设计报告JUC2模型机的微程序设计 姓名沈钰城 学号3140604029 专业信息安全 指导教师肖铁军 江苏大学计算机学院 2016年1 月 6 日

一.实验环境 1.使用的硬件实验板 (1)品牌,型号 实验板品牌:Altera 实验板型号:DE2-115 FPGA芯片品牌:Cyclone IV E FPGA芯片型号:EP4CE115 (2)FPGA在现代工业中的应用 FPGA令系统开发商的产品更快速地推向市场;更长的生命周期;灵活性,可支持各种标准和网络协议;低成本,低功耗。 在工业应用中,FPGA可取代旧的ASIC技术,提供更具成本有效性的解决方案;FPGA作为通信协处理器负责连接到以太网的工作,灵活的解决方案可以通过一个硬件平台支持多种协议;用FPGA控制马达,通过它的嵌入式处理器,实时特性和数字编码器轻松实现。 另一个典型应用是马达控制。目前世界工业电力的2/3都用来驱动电机,但只有2%的电机使用了可变速的驱动,如果使用变速电机控制每年将节约10个发电厂的能量。使用电机控制芯片技术将把工业应用的能耗效率提升到88%。系统有这样的需求:在增加以太网连接能力同时不想增加额外的器件;想要灵活的方法去控制多个马达和差异化的产品;想要一个支持马达控制和现场总线连接能力的单芯片方案。基于Cylone III的马达驱动方案通过集成了不同的算法和I/O接口可满足不同的特性需求。Altera与第三方伙伴合作,将他们提供的优化算法整合到FPGA中,一个平台可实现多个电机控制,大大提高能源利用效率 2.使用的设计软件 (1)品牌、名称、版本、发布年份 软件品牌:Altera 名称:quartus ii 版本:12.0 发布年份:2012 (2)行业对该软件的评价 Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。支持MAX7000/MAX3000等乘积项器件 Quartus II设计套装的其他特性包括:DSP Builder 12.0新的数字信号处理(DSP)支持——通过系统控制台,与MATLAB的DDR存储器进行通信,并具有新的浮点功能,提高了设计效能,以及DSP效率。经过改进的视频和图像处理(VIP)套装以及视频接口IP——通过具有边缘自适应算法的Scaler II MegaCore功能以及新的Avalon-Streaming (Avalon-ST)视频监视和跟踪系统IP内核,简化了视频处理应用的开发。增强收发器设计和验证——更新了Arria V FPGA的收发器工具包支持,进一步提高收发器数据速率(对于Stratix V FPGA,高达14.1 Gbps)。 3.使用的调试工具 硬件:JUPOD调试适配器 软件:JULAB实验系统软件 江苏大学计算机学院研发

计组-加法器实验报告

半加器、全加器、串行进位加法器以及超前进位加法器 一、实验原理 1.一位半加器 A和B异或产生和Sum,与产生进位C 2.一位全加器 将一位半加器集成封装为halfadder元件,使用两个半加器构成一位的全加器 3.4位串行进位加法器 将一位全加器集成封装为Fulladder元件,使用四个构成串行进位加法器

4.超前进位加法器(4位) ⑴AddBlock 产生并行进位链中的ti(即Cthis)和di(即Cpass),以及本位结果Sum ⑵进位链(Cmaker) 四位一组并行进位链,假设与或非门的级延迟时间为1.5ty,与非门的延迟时间为1ty,在di和ti产生之后,只需2.5ty就可产生所有全部进位

⑶超前进位加法器 将以上二者结合起来即可完成,A和B各位作为各个AddBlock的输入,低一位的进位Ci-1作为本位AddBlock的C-1的输入。各个AddBlock输出的C_this和C_pass作为对应的Cmaker的thisi和passi的输入。

二、实验器材 QuartusII仿真软件,实验箱 三、实验结果 1.串行进位加法器结果 2.超前进位加法器结果

四、实验结果分析 1.实验仿真结果显示串行加法器比超前进位加法器快,部分原因应该是电路结构优化 不到位。另外由于计算的位数比较少,超前进位加法链结构较复杂,所以优势没体现出来,反倒运作的更慢一点。当位数增加的时候,超前进位加法器会比串行的更快。 2.波形稳定之前出现上下波动,应该与“竞争冒险”出现的情况类似,门的延迟和路径 的不同导致了信号变化时到达的时间有先有后,因此在最终结果形成前出现了脉冲尖峰和低谷;另外也可能部分原因由于电路结构优化的不到位所致

c面向对象课程设计报告

课程设计报告 课程名称面向对象程序设计 课题名称学生成绩管理系统 专业计算机科学与技术 班级计算机1001 学号2010030101 姓名 指导教师李珍辉陈淑红李杰军 2011年12 月28 日

湖南工程学院 课程设计任务书 课程名称面向对象程序设计 课题学生成绩管理系统 专业班级计算机1001 学生姓名 学号2010030101 指导老师李珍辉陈淑红李杰军 审批 任务书下达日期2011 年11 月15 日 任务完成日期2011 年12 月28 日

一、设计内容与设计要求 1.课程设计目的: 面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。 2.课题题目 1)公司库存管理系统 2)高校学籍管理系统 3)高校工资管理系统 4)高校人事管理系统 5)通讯录程序设计 6)学生成绩管理系统 7) 图书管理系统 8)文本编辑器的设计与实现 9)学生考勤管理系统 10)公司人员管理系统 3.设计要求: ⑴设计课题题目:每位同学根据自己学号除以10所得的余数加1选择相 应题号的课题。随意换题者不记成绩。 ⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括 系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。②完 成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模 块图)。③完成系统详细设计:包括数据库需求分析;数据库概念结构设计(E -R图);数据库逻辑结构设计;类层次图;界面设计与各功能模块实现。④系 统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修 改和调整。⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出 每一步的操作步骤。⑥关键源程序(带注释)

计算机组成原理课设

计算机组成原理课程设计报告 班级:09计算机03 班姓名:** 学号:******** 完成时间:2012年1月3日 一、课程设计目的 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位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。

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

计算机组成原理课程设计报告 班级: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寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。24位控制位分别介绍如下: XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。 EMWR:程序存储器EM写信号。 EMRD:程序存储器EM读信号。 PCOE:将程序计数器PC的值送到地址总线ABUS上。 EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。 IREN:将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。 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?的选择由指令的最低两位决定。

计组-4位乘法器实验报告

实验4位乘法器实验报告 姓名:X XX 学号:X XX 专业:计算机科学与技术课程名称:计算机组成同组学生姓名:无 实验时间:实验地点:指导老师:XXX 一、实验目的和要求 1.熟练掌握乘法器的工作原理和逻辑功能 二、实验内容和原理 实验内容: 根据课本上例3-7的原理,来实现4位移位乘法器的设计。 具体要求:1. 乘数和被乘数都是4位 2. 生成的乘积是8位的 3. 计算中涉及的所有数都是无符号数 4.需要设计重置功能 5.需要分步计算出结果(4位乘数的运算,需要四步算出结果) 实验原理: 1.乘法器原理图

2.本实验的要求: 1.需要设计按钮和相应开关,来增加乘数和被乘数 2.每按一下M13,给一个时钟,数码管的左边两位显示每一步的乘 积 3.4步计算出最终结果后,LED灯亮,按RESET重新开始计算 三、主要仪器设备 1.Spartan-III开发板1套 2.装有ISE的PC机1台 四、操作方法与实验步骤 实验步骤: 1.创建新的工程和新的源文件 2.编写verilog代码(top模块、display模块、乘法运算模块、去抖动模块以及 UCF引脚) 3.进行编译 4.进行Debug 工作,通过编译。

5.. 生成FPGA代码,下载到实验板上并调试,看是否与实现了预期功能 操作方法: TOP: module alu_top(clk, switch, o_seg, o_sel); input wire clk; input wire[4:0] switch; output wire [7:0] o_seg; // 只需七段显示数字,不用小数点 output wire [3:0] o_sel; // 4个数码管的位选 wire[15:0] disp_num; reg [15:0] i_r, i_s; wire [15:0] disp_code; wire o_zf; //zero detector initial begin i_r <= 16'h1122; //0x1122 i_s <= 16'h3344; //0x3344 end alu M1(i_r, i_s, switch[4:2], o_zf, disp_code); display M3(clk, disp_num, o_seg, o_sel); assign disp_num = switch[0]?disp_code:(switch[1] ? i_s : i_r); endmodule

《面向对象程序设计》实验指导书(实验二)

实验二类与对象㈡——对象初始化、对象数据与指针 一、实验目的 1.理解构造函数、析构函数的意义及作用,掌握构造函数、析构函数的定义及调用时间,熟悉构造函数的种类; 2.理解this指针及使用方法,熟悉对象数组、对象指针、对象引用的定义及使用方法,熟悉对象作为函数参数的使用方法; 3.熟悉类与对象的应用及编程。 二、实验学时 课内实验:2课时课外练习:2课时 三本实验涉及的新知识 ㈠构造函数与析构函数 在C++中,提供了两个特殊的成员函数,即构造函数和析构函数。 构造函数用于对象的初始化,即在定义一个类对象时,计算机在给对象分配相应的存储单元的同时,为对象的数据成员赋初值。 析构执行的是与构造函数相反的操作,用于撤销对象的同时释放对象所占用的内存空间。 1.构造函数 ⑴构造函数的定义 格式: 类名(形参表) { 构造函数体} ⑵构造函数的调用 构造函数的调用是在定义对象时调用的。 格式:类名对象名(实参表); 类名对象名=构造函数名(实参表); ⑶说明 ①构造函数必须与类同名。 ②构造函数没有返回值,但不能在构造函数前加void类型符(其他没有返回值的成员函数必须加类型符void)。 ③在实际应用中,在定义类时通常应定义一至多个构造函数(重载),以对各数据成员进行初始化;如果不给出构造函数,系统将自定义一个构造函数。 ④构造函数可以可以带参数,也可不带任何参数(称无参构选函数),还可以使用缺省参数。 ⑤不能象普通成员函数一样单独调用。 2.析构函数 ⑴析构函数的定义 格式: ~类名(void) { 析构函数体} ⑵析构函数的调用 析构函数是在撤销对象时自动调用的。 ⑶说明

计组课设-微指令的设计实验

计算机组成原理课程设计报告 班级:计算机/物联网班姓名:学号: 完成时间:2016.1.14 一、课程设计目的 1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系; 2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念; 3.培养综合实践及独立分析、解决问题的能力。 二、课程设计的任务 针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。 三、课程设计使用的设备(环境) 1.硬件 ●COP2000实验仪 ●PC机 2.软件 ●COP2000仿真软件 四、课程设计的具体内容(步骤) 1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点: 从指令字长来看该模型机指令系统包含单字长和双字长两种格式的指令,字长为8位,对于需要访问内存的指令都是双字长的,指令系统中大多数指令是单字长;从指令操作码是定长和变长来看,这里认为,虽然ADD A, R?和ADD A, @R?都是执行加法操作,但他们是不同的指令,将指令格式中寻址寄存器的两位也认为是操作码的一部分,这两条指令的操作码不同。因此,指令系统的指令格式是定长操作码的,操作码为6位。 1)双字长的指令格式如下:

2)单字长的指令格式如下: 举例: 该模型机微指令系统的特点(包括其微指令格式的说明等): 该模型机微指令系统的微指令格式是水平型微指令,微指令的字长为24位,是机器字长的3倍,每条微指令仅包含微操作控制字段,无顺序控制字段。操作控制字段的每一位对应一个微操作,采用字段直接译码的方式对系统进行控 举例:微指令CBFFFF:取指令

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

微程序控制器的设计与实现

目录 1设计目的 (3) 2设计内容 (3) 3具体要求 (3) 4设计方案 (3) 5 调试过程 (11) 6 心得体会 (12)

微程序控制器的设计与实现 一、设计目的 1)巩固和深刻理解“计算机组成原理”课程所讲解的原理,加 深对计算机各模块协同工作的认识 2)掌握微程序设计的思想和具体流程、操作方法。 3)培养学生独立工作和创新思维的能力,取得设计与调试的实 践经验。 4)尝试利用编程实现微程序指令的识别和解释的工作流程 二、设计内容 按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。 三、设计要求 1)仔细复习所学过的理论知识,掌握微程序设计的思想,并根 据掌握的理论写出要设计的指令系统的微程序流程。指令系 统至少要包括六条指令,具有上述功能和寻址方式。 2)根据微操作流程及给定的微指令格式写出相应的微程序 3)将所设计的微程序在虚拟环境中运行调试程序,并给出测试 思路和具体程序段 4)尝试用C或者Java语言实现所设计的指令系统的加载、识 别和解释功能。 5)撰写课程设计报告。 四、设计方案 1)设计思路 按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。从而可以想到如下指令:24位控制位分别介绍如下: XRD :外部设备读信号,当给出了外设的地址后,输出

此信号,从指定外设读数据。 EMWR:程序存储器EM写信号。 EMRD:程序存储器EM读信号。 PCOE:将程序计数器PC的值送到地址总线ABUS上。 EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR 和EMRD决定是将DBUS数据写到EM中,还是 从EM读出数据送到DBUS。 IREN:将程序存储器EM读出的数据打入指令寄存器IR 和微指令计数器uPC。 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

面向对象程序设计课程设计报告同学通讯录管理程序

目录 1.设计题目 (1) 2.设计目的和内容 (1) 2.1设计目的 (1) 2.2设计内容 (1) 3.基本功能描述 (1) 4.设计思路 (1) 5.软件设计 (2) 5.1设计步骤 (2) 5.2界面设计 (3) 5.3关键功能的实现 (3) 5.3.1添加记录 (3) 5.3.2删除记录 (4) 5.3.3选中记录 (4) 5.3.4确认修改 (4) 5.3.5保存记录 (4) 5.3.6退出 (4) 6.结论与心得体会 (4) 7.参考文献 (4) 8.附录 (5) 8.1调试报告及测试结果 (5)

8.2关键源代码 (10) 8.2.1 Student类 (10) 8.2.2全局 (10) 8.2.3List Control初始化 (10) 8.2.4添加记录 (11) 8.2.5删除记录 (11) 8.2.6选中记录 (12) 8.2.7修改记录 (12) 8.2.8保存记录 (13) 8.2.9退出程序 (13)

1.设计题目 同学通讯录管理程序 2.设计目的和内容 2.1设计目的 1)学习Visual C++的MFC开发程序的步骤。. 2)综合运用所学的类、继承和多态的知识。 3)进一步掌握程序的调试方法。 2.2设计内容 1)利用MFC的向导,创建基于对话框的应用程序,添加按钮、编辑框等控件; 2)设计通讯录的数据结构(如:以数组或者动态链表)和相应的类; 3)完成对通讯录中记录的增加、修改、删除和显示; 4)将通讯录存入文本文件。 3.基本功能描述 可以实现学生信息(姓名、学号、系别、邮箱、电话)的添加、显示、选中修改、删除选中和保存并退出程序的功能。 4.设计思路 1)创建基于对话框的MFC应用程序,添加控件:5个Edit Control、6个Button、1 个List Control; 2)在5个Edit Control分别输入相应信息,点击“添加记录”Button可在List Control 中显示相应信息,同时清空五个Edit Control以便下一个学生信息的输入; 3)点中List Control选中已有一组学生信息,点击“删除记录”Button可删除该组 信息; 4)点中List Control选中已有一组学生信息,点击“选择该列”Button将该列信息 返回到5个Edit Control。修改完成后点击“确认修改”Button,对List Control 中选中列完成修改; 5)点击“确认保存”将信息保存到文本文档; 6)点击“退出”退出程序。 7)可在D盘查看保存的信息。

《面向对象程序设计cpp》课程设计指导书

《面向对象程序设计》课程设计指导书

一、课程设计目的 通过本课程设计,培养上机动手能力,使学生巩固《面向对象程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,闯过编程关。 二、课程设计题目 0、人事管理系统 1、物业管理系统 2、客房管理系统 3、学生管理系统 4、民航订票系统 5、商场销售管理系统 6、通讯录 7、图书馆管理系统 8、商场(工厂)库存管理系统 9、“一二九”合唱评委打分系统 学生课设选题根据学号的尾数确定。(例学号为17号的学生做7号题目) 三、课程设计任务 1、任务:在两周内独立正确完成至少1道题目。 2、学生完成课设后,向指导老师提出答辩申请。答辩时要检查的内容为: (1) 课程设计纸质文档; (2) 课程设计源代码及其运行结果; (3) 老师提出相关问题,学生对问题进行作答。 3、时间: 指导:第十六,十七周。 答辩时间:第十七周 四、课程设计考核方式 课程设计成绩评定的依据有设计文档资料、具体实现设计方案的程序及课程设计考勤登记表,其中平时成绩占总成绩的30%。

优(90分以上):按要求完成,有完整的符合标准的文档,文档有条理、文笔通顺,格式正确,其中有总体设计思想的论述,有正确的流程图,程序完全实现设计方案,设计方案先进,软件可靠性好,能很好的回答老师所提出的问题; 良(80 - 90分):按要求完成,有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现设计方案的软件,设计方案较先进,能较好的回答老师所提出的问题; 中(70 - 80分):按要求完成,有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确,能基本回答老师所提出的问题; 及格(60 - 70分):按要求完成,有完整的符合标准的文档,有基本实现设计方案的软件,但不能完全运行,设计方案基本正确,不能完全回答老师所提出的问题; 不及格(60分以下):不能完成程序,没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案不正确,不能回答老师所提出的问题。 五、提交的资料 1、软件 软件需提供源程序,并能正常运行。 注:对于程序中未能实现的部分需要加以说明。 对于程序中所参考的部分代码需要加以声明,并说明出处。 2、文档 (1)设计文档的格式尽量按照《中华人民共和国国家标准UDC 681. 3计算机软件产品开发文件编制指南GB 8567-88》的标准书写。 (2)内容(以下仅提供参考) 1、需求分析; 2、类设计及说明; 3、定义的函数主要功能说明; 4、主要算法说明:举例说明1、2个比较有特点的算法; 5、系统总框图; 6、存在的问题与不足及对策;

计组课设实验报告

《计算机组成原理与系统结构》课程设计 实 验 报 告 课题:两个16位二进制数加法计算 班级: 成员: 完成日期:2013年10月11日

一:课程设计步骤 1.确定设计目标 综合考虑实验条件及自身能力水平,以及设计功能的可靠性和实用性,我们小组决定将设计目标定为“两个16位二进制数相加”。分两次分别输入两个加数的低八位和高八位,输出两个16位二进制数相加的结果。 2.确定指令系统 (1)数据格式 模型机规定数据采用定点整数补码表示,字长为8位,其格式如下: 7 6 5 4 3 2 1 0 符号尾数 (2)指令格式 模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。 ①算术逻辑指令 设计九条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下: 7 6 5 4 3 2 1 0 OP-CODE RS RD 其中,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定: RS或RD 选定的寄存器 00 01 10 R0 R1 R2 ②I/O指令 输入(1N)和输入(OUT)指令采用单字节指令,其格式如下: 7 6 5 4 3 2 1 0 OP-CODE addr RD 其中,addr=01时,选中“INPUT DEVICE”中的开关组作为输入设备,addr=10时,选中“INPUT DEVICE”中的数码块作为输入设备。 ③访问指令及转移指令 模型机设计两条访问指令,即存数(STA)、取数(LDA),两条颛臾指令,即无条件转移(JMP)、结果为零或有进位转移(BZC),指令格式如下: 7 6 5 4 3 2 1 0 00 M OP-CODE RD D 其中,OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。D为位移量(正负均可),M为寻址模式,其定义如下: 寻址模式有效地址E 说明 00 E=D 直接寻址

计组实验报告.

武汉大学计算机学院计算机科学与技术专业 CPU设计实验报告 实验名称:开放式实验CPU设计课题名称: 计算机组成原理 班级: 指导教师:徐爱萍 组长: 组员: 二零一五年三月

目录 目录 (1) 1 实验环境 (2) 1.1 Quartus Ⅱ介绍 (2) 1.2 硬件描述语言(VHDL) (3) 1.3实验的主要成果 (3) 2 实验要求 (5) 2. 1 指令格式要求 (5) 2. 2 指令流程及微信号序列分析 (6) 2.2.1 ADD指令分析 (6) 2.2.2 ADC指令分析 (7) 2.2.3 SUB指令分析 (7) 2.2.4 SBC指令分析 (7) 2.2.5 INC指令分析 (7) 2.2.6 DEC指令分析 (8) 2.2.7 SHL指令分析 (8) 2.2.8 SHR指令分析 (8) 2.2.9 MOVR指令分析 (8) 2.2.10 MOVD指令分析 (9) 2.2.11 LDRR指令分析 (9) 2.2.12 STRR指令分析 (10) 2.2.13 JMP指令分析 (10) 2.2.14 JRC指令分析 (11) 2.2.15 JRZ指令分析 (11) 2.2.16 JRS指令分析 (11) 2.2.17 CLC指令分析 (11) 2.2.18 STC指令分析 (11) 3.部件仿真实验 (11) 3.1 八个通用寄存器设计与仿真 (11) 3.1.1 设计代码 (11) 3.1.2 RTL连接图 (17) 3.1.3 仿真过程 (17) 3.2算术逻辑单元设计与仿真 (18) 3.2.1 设计代码 (18) 3.2.2 RTL连接图 (21) 3.2.3 仿真过程 (22) 4. CPU设计 (23) 4.1取指设计 (23) 4.2指令译码的设计 (25) 4.3执行部分设计 (28) 4.4存储器部分设计 (31) 4.5通用寄存器组设计 (32)

面向对象程序设计课设题目

2012计算机科学与技术专业 面向对象课程设计题目 一设计要求 每个题目可以1人或至多两人,按题目要求完成程序设计及课程设计报告。 (若两人一个题目,需各自独立完成,题目相同者的课程设计报告不能完全相同。)二题目列表 三题目内容及要求 题目1 矩阵运算 内容及要求: 定义矩阵类,实现矩阵加法、减法、乘法、矩阵转置、求矩阵的逆矩阵等。 用程序实现验证n*n矩阵的如下定理: A(BC)=(AB)C。

题目2 填XO游戏程序 内容及要求: 游戏规则和胜利条件: 棋盘共有5行5列: 选择难度(1):两个斜对角之一都为X或O,则玩家胜。一横行都为X或O则玩家胜。)一竖行都为X或O则玩家胜。 选择难度(2):两个斜对角之一都为X或O,则玩家胜。 选择难度(3):两个斜对角都为X或O,则玩家胜。 输入必须为一个两位整数,如11,代表棋盘的第一行第一列,输完后按回车键; 玩者下一步X或O,计算机也自动下一步X或O。 程序运行示例: 题目3 统计学生成绩 内容及要求: 要求编写一个“Student”类及用来存取文件的save()和load()函数,使用函数及运算符重载技术完成如下操作: (1)计算每个学生的平均成绩,将数据存入文件stud.dat中并验证是否正确地存入了文件。(2)要求对“<<”和“>>”运算符进行重载。 (3)把学生姓名和平均成绩抽取出来,建立一个简明文件stud_mean.dat,并验证是否正确地存入了。 (4)从文件stud.dat按如下格式输出大于等于平均成绩的学生信息: 学号姓名算术语文平均 (5)将两门功课成绩都不及格的学生信息从文件中删除并另外存入文件bad.dat中。 (6)编写能检索文件中某个学生信息的子程序。如无此学生,输出“未查到”信息。 (7)使用多文件编程和菜单操作。 题目4 会议记录管理系统 内容及要求: 定义会议信息类class Conference

计组实验报告--部分

2、设计报告 2、1实验方法 本实验要完成的工作主要包括: 1、指令系统的设计 2、利用VHDL语言完成实验CPU的设计,包括通用寄存器的设计、取值部分设计、指令译 码设计、执行设计、存储器设计、程序包设计和顶层设计设计 3、在Quatus II 平台上进行仿真,并下载到TEC-CA教学实验箱上进行调试。 这三大部分为并行关系,只有在完成上一部分的基础上才能继续进行下一步,而第二大部分可以同时并行进行。 实验的主要流程图为图2.1所示。 图2.1

在指令系统和CPU逻辑设计时,主要的方法是先根据老师给的指令要求,确定CPU所要实现的功能,根据寄存器等的情况划分指令格式,然后根据功能写出指令,根据不同指令的特点将它们分组并确定操作码;接下来设想每条指令的执行过程,需要哪些硬件支持,最后确定整个CPU的逻辑结构图。 2、2总体说明 2.2.1 CPU组成部件 实验CPU由5部分组成:取指部分instru_fetch、指令译码部分decoder_unit、执行部分exe_unit、存储器部分memory_unit和通用寄存器组fegile.另外,还有一个程序包exe_cpu_components,将各底层设计实体作为元件存储,供各设计实体使用。顶层设计实体exe_cpu完成5个组成部分的链接。 GR(8位,4个寄存器),ALU(8位),时序节拍发生器timer,AR(8位),IR(8位),PC(8位)、PC(8位),RAM(8位),组合期间T1,T2,T3。逻辑控制器件controller,地址总线(8位),数据总线(8位)。 2、2、2整机原理实验图

图2.2.1 图2.2.2

相关文档
最新文档