华中科技大学HUST类MIPS单周期微处理器设计实验报告

华中科技大学HUST类MIPS单周期微处理器设计实验报告
华中科技大学HUST类MIPS单周期微处理器设计实验报告

类MIPS单周期微处理器设计

实验报告

|

专业:

班级:

:

学号:

姓名:

一、(

二、微处理器各模块设计

各模块的框图结构如上图所示。由图可知,该处理器包含指令存储器、数据存储器、寄存器组、ALU单元、符号数扩张、控制器、ALU控制译码以及多路复用器等。图中还忽略了一个单元:时钟信号产生器,而且以上各个部件必须在时钟信号的控制下协调工作。

1.指令存储器的设计

指令寄存器为ROM类型的存储器,为单一输出指令的存储器。因此其对外的接口为clk、存储器地址输入信号(指令指针)以及数据输出信号(指

令)。

(1)在IP wizard 中配置ROM,分配128个字的存储空间,字长为32位宽。

(2)选择输入具有地址寄存功能,只有当时钟上升沿有效时,才进行数据的输出。

(3)配置ROM内存空间的初始化COE文件。最后单击Generate按钮生成IROM模块。

2.数据存储器的设计

数据存储器为RAM类型的存储器,并且需要独立的读写控制信号。因此其对外的接口输入信号为clk、we、datain、addr;输出信号为dataout。

数据存储器基本建立过程同ROM的建立。

3.寄存器组设计

寄存器组是指令操作的主要对象,MIPS中一共有32个32位寄存器。在指令的操作过程中需要区分Rs、Rt、Rd的地址和数据,并且Rd的数据只有在寄存器写信号有效时才能写入,因此该模块的输入为clk、RegWriteAddr、RegWriteData、RegWriteEn、RsAddr、RtAddr、reset;输出信号为RsData、RtData。

由于$0一直输出0,因此当RsAddr、RtAddr为0时,RsData以及RtData 必须输出0,否则输出相应地址寄存器的值。另外,当RegWriteEn有效时,数据应该写入RegWriteAddr寄存器。并且每次复位时所有寄存器都清零。

代码如下:

module regFile(

input clk,

input reset,

input [31:0] regWriteData,

input [4:0] regWriteAddr,

$

input regWriteEn,

output [31:0] RsData,

output [31:0] RtData,

input [4:0] RsAddr,

input [4:0] RtAddr

);

reg[31:0] regs[0:31];

<

assign RsData = (RsAddr == 5'b0)32'b0:regs[RsAddr];

assign RtData = (RtAddr == 5'b0)32'b0:regs[RtAddr];

integer i;

always @(posedge clk)

begin

if(!reset)

begin

|

if(regWriteEn==1)

begin

regs[regWriteAddr]=regWriteData;

end

end

else

begin

for(i=0;i<31;i=i+1)

regs[i]=0;

regs[31]=32'hffffffff;

end

end

endmodule

4.ALU设计

在这个简单的MIPS指令集中,微处理器支持add、sub、and、or、slt 运算指令,需要利用ALU单元实现运算,同时数据存储指令sw、lw也需要ALU单元计算存储器地址,条件跳转指令beq需要ALU来比较两个寄

存器是否相等。所有这些指令包含的操作为加、减、与、或小于设置5种不同的操作。

,

该模块根据输入控制信号对输入数据进行相应的操作,并获得输出结果以及零标示,由于MIPS处理器ALU单元利用4根输入控制线的译码决定执行何种操作,因此该模块的接口为:

输入:input1(32bit),input2(32bit),aluCtr(4bit)

输出:zero(1bit),alluRes(32bit)

代码如下:

module ALU(

input [31:0] input1,

input [31:0] input2,

input [3:0] aluCtr,

:

output [31:0] aluRes,

output zero

);

reg zero;

reg[31:0] aluRes;

always @(input1 or input2 or aluCtr)

'

begin

case(aluCtr)

4'b0110:

begin

aluRes=input1-input2;

if(aluRes==0)

zero=1;

else

[

zero=0;

end

4'b0010:

aluRes=input1+input2;

4'b0000:

aluRes=input1&input2;

4'b0001:

aluRes=input1|input2;

`

4'b1100:

aluRes=~(input1|input2);

4'b0111:

begin

if(input1

aluRes = 1;

end

default:

'

aluRes = 0;

endcase

end

endmodule

5.ALU控制设计

ALU单元对应以上5种操作的编码如表所示:

通过2位操作类型码以及6位指令功能码就可以产生ALU单元的4位控制信号。它们之间的对应关系如表所示:

因此该模块的主要功能就是根据译码控制单元产生2位操作码以及6位功能码产生4位ALU控制信号,接口为:

输入:aluop(2bit),funt(6bit)

输出:aluctr(4bit)

代码为:

module aluctr(

input [1:0] ALUOp,

input [5:0] funct,

output [3:0] ALUCtr

);

reg[3:0] ALUCtr;

·

always @(ALUOp or funct)

casex({ALUOp,funct})

8'b00xxxxxx:ALUCtr=4'b0010;

8'b01xxxxxx:ALUCtr=4'b0110;

8'b11xxxxxx:ALUCtr=4'b0000;

8'b10xx0000:ALUCtr=4'b0010;

8'b10xx0010:ALUCtr=4'b0110;

8'b10xx0100:ALUCtr=4'b0000;

}

8'b10xx0101:ALUCtr=4'b0001;

8'b10xx1010:ALUCtr=4'b0111;

endcase

endmodule

6.控制器设计

控制器输入为指令的opCode字段,即操作码。操作码经过主控制单元的译码,给ALUCtr、Data、Memory、Registers、Muxs等部件输出正的控制信号。

微处理器在执行不同指令时,控制信号相对应的状态表如下:

因此该模块的接口为:

输入:opcode(6bit)

输出:alusrc,memtoreg,regwrite,memread,memwrite,branch,,aluop[1:0],j

mp

代码为:

module ctr(

input [5:0] opCode,

output regDst,

"

output aluSrc,

output memToReg,

output regWrite,

output memRead,

output memWrite,

output branch,

output [1:0] aluop,

output jmp

.

);

reg regDst;

reg aluSrc;

reg memToReg;

reg regWrite;

reg memRead;

reg memWrite;

reg branch;

reg[1:0] aluop;

reg jmp;

always @(opCode)

begin

case(opCode)

6'b000010:pCode(inst[31:26]),

.regDst(reg_dst),

{

.aluSrc(alu_scr),

.memToReg(memtoreg),

.regWrite(regwrite),

.memRead(memread),

.memWrite(memwrite),

.branch(branch),

.aluop(aluop),

.jmp(jmp));

ALU alu(.input1(RsData),

.input2(mux2),

.aluCtr(aluCtr),

.zero(zero),

.aluRes(aluRes));

aluctr aluctr1(.ALUOp(aluop), >

.funct(inst[5:0]),

.ALUCtr(aluCtr));

dram dmem(

.a(aluRes[7:2]),

.d(RtData),

.clk(!clkin),

.we(memwrite),

-

.spo(memreaddata)

);

irom_number imem(

.a(pc[8:2]),

.clk(clkin),

.spo(inst)

);

regFile regfile(

.RsAddr(inst[25:21]),

.RtAddr(inst[20:16]),

.clk(!clkin),

.reset(reset),

.regWriteAddr(mux1),

.regWriteData(mux3),

-

.regWriteEn(regwrite),

.RsData(RsData),

.RtData(RtData)

);

signext signext(.inst(inst[15:0]),.data(expand));

assign mux1=reg_dstinst[15:11]:inst[20:16];

assign mux2=alu_screxpand:RtData;

assign mux3=memtoregmemreaddata:aluRes;

assign mux4=choose4address:add4;

assign mux5=jmpjmpaddr:mux4;

assign choose4=branch&zero;

assign expand2=expand<<2;

assign jmpaddr={add4[31:28],inst[25:0],2'b00};

assign address=pc+expand2;

)

endmodule

三、Rom汇编程序设计

下面以将本人学号U3的ASCII码存入RAM的连续内存区域编写为汇编程序为例:

#

编辑MIPS汇编源代码:

采用ultraedit编辑汇编源程序代码,并保存为文件。代码如下:

main:

andi $2,$31,85 #U

sw $2,0($3)

andi $2,$31,50 #2

sw $2,4($3)

andi $2,$31,48 #0

·

sw $2,8($3)

andi $2,$31,49 #1

sw $2,12($3)

andi $2,$31,53 #5

sw $2,16($3)

andi $2,$31,49 #1

sw $2,20($3)

andi $2,$31,51 #3

|

sw $2,24($3)

andi $2,$31,51 #3

sw $2,28($3)

andi $2,$31,52 #4

sw $2,32($3)

andi $2,$31,51 #3

sw $2,36($3)

j main

~

获取机器代码,并保存为coe文件:

利用QtSpim装载,并测试功能是否正常。装载之后的用户代码段在QtSpim中的结构如附图所示:

提取的用户代码对应的机器码,并把j main指令对应的机器码0x08100009修改为0x08000000。

将上述机器指令保存在ultraedit中新的文件中,添加coe文件头描述语句,完成后的完整coe文件内容如下:

MEMORY_INITIALIZATION_RADIX=16;

MEMORY_INITIALIZATION_VECTOR=

*

33e20055,

ac620000,

33e20032,

ac620004,

33e20030,

ac620008,

33e20031,

ac62000c,

}

33e20035,

ac620010,

33e20031,

ac620014,

33e20033,

ac620018,

33e20033,

ac62001c,

`

33e20034,

ac620020,

33e20033,

ac620024,

08000000,

将该文件保存为coe文件,即。至此,coe文件制作完成。

最后,把coe文件导入irom中,如下图所示:

四、模块仿真

1.寄存器组仿真:

建立仿真代码,在自动生成的激励代码基础上加入功能仿真需要的代码:reset测试、写入测试、输出测试等、完整代码如下:

module regsim;

lk(clk),

!

.reset(reset),

.regWriteData(regWriteData),

.regWriteAddr(regWriteAddr),

.regWriteEn(regWriteEn),

.RsData(RsData),

.RtData(RtData),

.RsAddr(RsAddr),

.RtAddr(RtAddr) `

);

integer i;

initial begin

数据通路实验报告

非常简单CPU数据通路设计实验报告非常简单CPU数据通路设计【实验目的】 1. 掌握CPU的设计步骤 2. 学会芯片的运用及其功能 【实验环境】 Maxplus2环境下实现非常简单CPU数据通路的设计 【实验内容】 非常简单CPU的寄存器:一个8位累加器AC,一个6位的地址寄存器绘制 AR,一个6位的程序计数器PC,一个8位的数据寄存器DR,一个2位的指令寄存器IR。其数据通路详见教材P。 1、零件制作 6位寄存器 (自行设计) 6位计数器 (自行设计) 8位寄存器 (可选择74系列宏函数74273) 8位计数器 (由两个74161构成) 2位寄存器 (由D触发器构成,自行设计) 6三态缓冲器 (自行设计,可由74244内部逻辑修改而成) 8三态缓冲器 (选择74系列宏函数74244,或作修改) alu模块 (自行设计,限于时间,其内部逻辑不作要求) 2、选择器件,加入数据通路顶层图 8位累加器AC:选择8位计数器 6位地址寄存器AR:reg6 6位的程序计数器PC:cou6

8位的数据寄存器DR:选择8位寄存器 2位的指令寄存器IR:选择2位寄存器 3、为PC、DR加入三态缓冲器。 4、调整版面大小,器件位置。 5、设计地址引脚、数据引脚、8位内部总线,加入数据引脚到内部总线的 缓冲器。 6、连接各器件之间以及到内部总线的线路,设计并标注各控制信号。 7、(选做)编译之后,给出微操作 AR<-PC 的测试方法及仿真结果。 8、实验报告中应给出各元部件的实现方法、内部逻辑贴图、打包符号说 明及顶层的“非常简单CPU”数据通路图。 实验报告 一、实验步骤 基于前面非常简单CPU的讲解,我掌握了非常简单CPU的指令集结构及非常简单CPU的指令读取过程和执行过程,本次实验是在上次实验的基础之上完成非常简单CPU数据通路的设计,其步骤如下: (1)、AC累加器原理图如下:

MIPS单周期CPU设计2018版体会

11条MIPS指令单周期CPU设计 2018元月份,我按照袁春风老师的第三版教材,又重新设计了11条MIPS 指令的单周期CPU。这次的设计与我2017年7月份的单周期CPU还是有些区别。2017年7月份设计的CPU主要是参考《计算机组成与设计-硬件/软件接口David A.Patterson》。 设计中的几点体会如下: 一.基本流程 1.首先要分析清楚这11条指令的格式和特点。按照MIPS指令的格式和特 点,完全掌握它们的功能和执行的过程。 2.这些指令执行过程中需要哪些硬件部件和控制信号,这些部件如何连接 构成数据通路。 3.对所有需要的控制信号进行归纳分析,列出真值表,设计相应的控制电 路。 二.具体设计过程 1.ALU的设计。ALU的设计重点在于先设计出32位的加法器,减法运算是利用 加法的“变反加一”。同时要产生各种运算结果的信号:溢出(OF)、进位(CF)、符号位(SF)、零符号位(Zero)。OF=C n⊕C n-1;CF=C out⊕C in。至于需要其它的运算指令,如逻辑运算、移位运算、乘除法运算,都可以直接调用logisim库中的器件,添加到ALU中,这些运算的结果可以同时产生,只是最后用多路选择器来选择那种指令的结果输出,用的控制信号是OPctr。在ALU中需要设计一个控制信号生成部件,用于产生ALU内部需要的各种控制信号。见袁春风老师教材P155。(第一次实验:ALU部件的设计)(ALU设计中,现在的加法器只是串行的,可以让好的学生用先行进位加法器)

图1:ALU电路图 2.设计寄存器部件。设计一个32个*32位的寄存器部件。两路输入和两路输出, 可读写。(第二次实验:寄存器部件的设计) 图2:寄存器电路图 3.数据通路的设计。通路的设计不能急于求成,要一条指令一条指令来分析和 设计。首先设计R-type中的add、sub、subu、slt、sltu等的通路。要注意是否要判断溢出。在此基础上,再分析I-type带立即数运算指令的数据通路,分析出需要添加哪些部件。再分析sw、lw指令的数据通路,分支指

《数据库课程设计》计划-2014

《数据库课程设计》计划-2014

《数据库课程设计》计划 该计划依据计算机科学与技术专业2011级《数据库课程设计》教学大纲制定。 一、课程设计的目的 《数据库课程设计》是在学习专业基础课《数据库原理》之后进行的实践教学环节,其主要目的是进行数据库设计,使学生加深对数据库系统理论知识的理解,训练和提高学生的数据库设计能力,为学生学习后续软件设计课程以及进行基于数据库的软件开发奠定良好的基础。通过该课程设计,提高学生灵活运用本课程基础理论知识的能力,锻炼学生独立思考研究问题和资料搜集、撰写报告的能力。 二、课程设计的内容与题目 给定一些小型信息系统实例作为题目,学生可以选择这些题目之一,也可以学生自选感兴趣的、并具有合适规模的应用系统作为题目(须经老师审核)。要求学生针对自己的选题,完成数据库设计和程序基本界面设计。 1.建议题目共8个 (1)毕业设计管理系统 毕业设计管理系统是用于毕业设计管理的系统,系统为三类用户提供不同的功能: 管理人员可以完成各项管理功能,包括添加和维护学生、教师信息,查看所有课题信息和按班级查看定题情况。管理人员还可以添加和发布公告、通知。 教师可以添加毕业设计题目,修改题目信息,可以看到选自己课题的学生名单,可以接受学生的选题申请(叫做定题)。定题后,每个教师还可以向自己的全部学生发布小组公告。 学生可以查看所有课题,可以填报多个(最多3个)选题志愿,表明自己的选题意愿。学生还可以查看小组公告。当论文完成后,可以上传论文。 (2)学生成绩管理系统(或叫做教务管理系统) 类似于我校教务管理系统,有四类用户: 教务员可以输入学生、教师、班级、课程信息,一个班级只属于一个专业,一个学生只属于一个班级。教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。 教师可以查看学习该课程的学生名单。课程结束后,教师可以录入课程成绩。一个教师可以教授多个班的多门课程,每门课由多位老师讲授。

计算机组成原理实验报告单周期cpu的设计与实现

1个时钟周期 Clock 电子科技大学计算机科学与工程学院 标 准 实 验 报 告 (实验)课程名称: 计算机组成原理实验 电子科技大学教务处制表 电 子 科 技 大 学 实 验 报 告 学生姓名: 郫县尼克杨 学 号: 2014 指导教师:陈虹 实验地点: 主楼A2-411 实验时间:12周-15周 一、 实验室名称: 主楼A2-411 二、 实验项目名称: 单周期CPU 的设计与实现。 三、 实验学时: 8学时 四、 实验原理: (一) 概述 单周期(Single Cycle )CPU 是指CPU 从取出1条指令到执行完该指令只需1个时钟

周期。 一条指令的执行过程包括:取指令→分析指令→取操作数→执行指令→保存结果。对于单周期CPU 来说,这些执行步骤均在一个时钟周期内完成。 (二) 单周期cpu 总体电路 本实验所设计的单周期CPU 的总体电路结构如下。 (三) MIPS 指令格式化 MIPS 指令系统结构有MIPS-32和MIPS-64两种。本实验的MIPS 指令选用MIPS-32。以下所说的MIPS 指令均指MIPS-32。 MIPS 的指令格式为32位。下图给出MIPS 指令的3种格式。 本实验只选取了9条典型的MIPS 指令来描述CPU 逻辑电路的设计方法。下图列出了本实验的所涉及到的9条MIPS 指令。 五、 实验目的 1、掌握单周期CPU 的工作原理、实现方法及其组成部件的原理和设计方法,如控制器、26 31 221 216 15 11 1 6 5 0 op rs rt rd sa func R 型指令 26 31 221 216 15 0 op rs rt immediate I 型指令 26 31 20 op address J 型指令

数据库课程设计图书管理系统的设计与实现要点

计算机工程学院数据库原理及应用 课程设计报告 课题名称: 专业: 班级: 姓名:图书管理系统的设计与实现 信息管理与信息系统 信管1121 杨** 学号:1121807131 指导老师:周泓、金春霞 2013年12月14日

指导教师(签章): 年月日

课程设计评语 学生姓名:杨**班级、学号:信管 1 1 2 1 1121807131 题目:图书管理系统的设计与实现 综合成绩: 教师评语: 教师(签字): 年月日

中文摘要 图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建 立和维护以及前端应用程序的开发两个方面,一方面要求建立起数据一致性和完 整性强、数据安全性好的库另一方面则要求应用程序功能完备易使用等特点。因 此我结合学校图书借阅的要求,对Visual FoxPro数据库管理系统、SQL语言进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。VFP图书管理系统是一个教育单位不可缺少的部分它的内容对于学校的决策者和图书管理者来说都至关重要所以图书管理系统应该能够为教师和学生提供充足的图书信息和快捷的查询手段。 关键词信息管理,VFP,图书管理,数据库

外文摘要

目录 1引言 (1) 1.1选题背景 (1) 1.2系统环境 (1) 2 系统总体分析 (2) 2.1需求分析 (2) 2.1.1 功能需求 (2) 2.1.2 性能需求 (3) 2.1.3 环境需求 (3) 2.2 可行性分析 (3) 2.2.1 经济可行性 (3) 2.2.2 技术可行性 (3) 2.2.3 管理可行性 (4) 2.2.4 用户可行性 (4) 3系统总体设计......‥ (4) 3.1 软件模块结果设计 (4) 3.1.1 系统方案确定 (4) 3.1.2 软件结构设计 (4) 3.2系统模块功能图 (4) 3.3 数据库设计 (5) 3.4 概念结构设计 (6) 3.4.1实体功能图 (6) 3.4.2 E-R图 (8) 3.5 逻辑结构设计 (8) 4系统实现与测试 (10) 4.1 连接数据库的实现 (10) 4.2 模块功能实现 (10) 5备份和还原数据库 (16) 5.1 规划数据库的还原和备份 (16) 5.2 数据库的备份 (16) 5.3 还原数据库 (18) 结论 (20) 致谢 (21) 参考文献 (22)

cpu实验报告

简易计算机系统综合设计设计报告 班级姓名学号 一、设计目的 连贯运用《数字逻辑》所学到的知识,熟练掌握EDA工具的使用方法,为学习好后续《计算机原理》课程做铺垫。 二、设计内容 ①按给定的数据格式和指令系统,使用EDA工具设计一台用硬连线逻辑控制的简易计算机系统; ②要求灵活运用各方面知识,使得所设计的计算机系统具有较佳的性能; ③对所做设计的性能指标进行分析,整理出设计报告。 三、详细设计 3.1设计的整体架构 控制信号

3.2各模块的具体实现 1.指令计数器(zhiling_PC) 元件: 输入端口:CLK,RESET,EN; 输出端口:PC[3..0]; CLK:时钟信号; RESET:复位信号; EN:计数器控制信号,为1的时候加一; PC[3..0]:地址输出信号; 代码:

波形图: 总共有九条指令,指令计数器从0000到1000;功能: 实现指令地址的输出; 2.存储器(RAM) 元件: 输入端口:PC[3..0],CLK; 输出端口:zhiling[7..0]; CLK:时钟信号; PC[3..0]:指令地址信号; zhiling[7..0]:指令输出信号; 代码:

波形图: 功能: 根据输入的地址输出相应的指令; 3.指令译码器(zlymq) 元件: 输入端口:zhiling[7..0]; 输出端口:R1[1..0],R2[1..0],M[3..0];zhiling[7..0]:指令信号; R1:目标寄存器地址; R2:源寄存器地址; M[3..0]:指令所代表的操作编号; 代码:

波形图:

功能: 实现指令的操作译码,同时提取出目标寄存器和源寄存器的地址; 4.算术逻辑运算器(ALU) 元件: 输入端口:EN_ALU,a[7..0],b[7..0],M[3..0]; 输出端口:c[7..0],z; EN_ALU:运算器的使能端; a[7..0]:目标寄存器R1的值; b[7..0]:源寄存器R2的值; M[3..0]:指令所代表的操作编号; c[7..0]:运算结果; z:运算完成的信号; 代码:

单周期CPU设计

信息科学与工程学院 课程设计报告 课程名称:计算机组成原理与结构题目:单周期CPU逻辑设计年级/专业:XXXXXXXXXXXXXXX X 学生姓名:王侠侠、李怀民 学号:XXXXXXXXXXXXXXXXXXX 指导老师:XXXX 开始时间:2016年9月15日 结束时间:2016年11月15日

摘要 一、设计目的与目标 1.1 设计目的 1.2 设计目标 二、课程设计器材 2.1 硬件平台 2.2 软件平台 三、CPU逻辑设计总体方案 3.1 指令模块 3.2 部件模块 四、模块详细设计 4.1 指令设计模块 4.2 部件设计模块 五、实验数据 5.1 初始数据 5.2 指令数据 六、结论和体会 七、参考文献

本CPU设计实验以Quartus II 9.0为软件设计平台,以Cyclone 采III型号EP3C16F484C6为FPGA实测板。此CPU设计采用模块化设计方案,首先设计指令格式模块,此模块决定CPU各个部件的接口数据容量及数量,再对CPU各个部件独立设计实现,主要涉及的部件有:寄存器组、控制器、存储器、PC计数器、数据选择器、ALU单元以及扩展单元。分部件的设计通过软件平台模拟仿真各部件的功能,在确保各部件功能正确的情况下,将所有部件模块整合在一起实现16位指令的CPU功能。再按照指令格式设计的要求,设计出一套能完整运行的指令,加载到指令存储器中,最终通过在FPGA实测板上实现了加2减1的循环运算效果,若要实现其他效果,也可更改指令存储器或数据存储器的数据而不需要对内部部件进行更改元件。 关键词:CPU设计、16位指令格式、模块化设计、Quartus软件、CPU各部件

CPU设计实验报告文档(英文版)

Southeast University Microprogra m med CPU Design -- COA experiment School of Information Science and Engineering 04009XXX 2012-4-25

Purpose The purpose of this project is to design a simple CPU (Central Processing Unit). This CPU has basic instruction set, and we will utilize its instruction set to generate a very simple program to verify its performance. For simplicity, we will only consider the relationship among the CPU, registers, memory and instruction set. That is to say we only need consider the following items: Read/Write Registers, Read/Write Memory and Execute the instructions. At least four parts constitute a simple CPU: the control unit, the internal registers, the ALU and instruction set, which are the main aspects of our project design and will be studied. Instruction Set Single-address instruction format is used in our simple CPU design. The instruction word contains two sections: the operation code (opcode), which defines the function of instructions (addition, subtraction, logic operations, etc.); the address part, in most instructions, the address part contains the memory location of the datum to be operated, we called it direct addressing. In some instructions, the address part is the operand, which is called immediate addressing. For simplicity, the size of memory is 256×16 in the computer. The instruction word has 16 bits. The opcode part has 8 bits and address part has 8 bits. The instruction word format can be expressed in Figure 1 Figure 1 the instruction format The opcode of the relevant instructions are listed in Table 1. In Table 1, the notation [x] represents the contents of the location x in the memory. For example, the instruction word 00000011101110012 (03B916) means that the CPU adds word at location B916 in memory into the accumulator (ACC); the instruction word 00000101000001112 (050716) means if the sign bit of the ACC (ACC [15]) is 0, the CPU will use the address part of the instruction as the address of next instruction, if the sign bit is 1, the CPU will increase the program counter (PC) and use its content 7 as the address of the next instruction. Table 1 List of instructions and relevant opcodes

09数据库课程设计安排

格式:纸张大小为A4复印纸,页边距采用:上2.5cm 、下2.0cm 、左2.8cm 、 右 1.2cm 。无特殊要求的汉字采用 小四号宋体字,行间距为1.25倍行距。页眉从 正文开始,一律设为“天津理工大学XXXX 级数据库课程设计说明书” 宋体五号字居中书写。页码从正文开始按阿拉伯数字 居中书写。 封面示例: (宋体三号) 成绩: 评语: 第一页:目录 页首三号黑体字居中打印“目录”,“目”与“录”之间空四格。隔两行打印 章、节、小节号、章、节、小节名称及相应页码。章、节、小节号分别用第一章、 1.1、1.1.1方式表示,章名用黑体四号字,节、小节名用小四号宋体字,章、节、 小节名与页码间用多个“……”符连接。 第二页:正文(宋体,小四号) 一般由标题、文字段落、图、或表构成。由于研究工作涉及选题、研究方法、 ,米用 (宋体小五号)连续编排, 天津理工大学聋人工学院 数据库课程设计报告 (黑体二号) (宋体二号,) 专业: 计算机科学与技术 (宋体三号) 年级: 2009级计1班(宋体三号) 姓名: xx (小组成员) (宋体三号) 学号:

工作进程、结果表达方式等有很大差异,难以规定统一的内容形式。但是,必须 合乎逻辑,层次分明。内容包括以下部分: 第一 章、 综合设 计题 (1) (2) (3) 第二章、xx 数据库管理系统的设计 一、 系统需求、功能分析 介绍选题的内容、 课题主要解决的问题, 凡合作承担的课题, 必须说明本人在总课题中 独立承担的任务以及该部分内容在总课题中所起的作用。 二、 主要内容(包括以下几个方面, 可以根据设计需要自行增加内容、 调整顺序) 1、 功能模块的划分,给出系统的整体结构图 写成系统主要包括哪些功能模块 2、 逻辑结构设计 在数据库中创建表,为表设计合理的表结构,输入表中的数据,每个表不少于 20 个事例数据 3、 概念结构设计 将第三步设计的逻辑结构转化成概念结构,即把表结构转化成 4、 界面、代码设计 要求层次清楚,重点突出,文字简明通顺。 小标题用黑体字单列一行,小标题内序号用⑴、 用 A 、B 、C .... , a 、b 、c .....。 正文的编写格式如下。 ① 标题 每章的标题采用三号黑体字居中打印,例 另起一页打印。 “节”下为“小 节 用 1.5 倍行 距。 ② 图 图题中文字体为五号楷体, 图题紧接图的下一行居中打印。 图中的标注一律 采用中文。图题后空一行,继续正文内容。 图号按章顺序编号, 例如,图 3.2 即为第三章第二图。 如果图中含有几个不 同部分,应将分图号(如“图 3.2.1 ”表示图 3.2 的第一个分图)居中标注在分创建数据库及三个表, 为表设计合理的表结构, 给出合理的事例数据, 不 少于 10 个。 使用 SQL 语句实现需求,给出结果图。 简单说明解决问题的思路、想法和体会。 E-R 图。 小节内的小标题序号用1、2、3……, ⑵、⑶……,其余层次序号依次 “ 第一章XXX ”,下一章 “章”下为“节”,采用小三号黑体居中打印,例“ 1.1 XXX ”; ”,采用四号黑体、左起打印,例“ 1.1.1 XXX ”。题目采

CPU设计实验报告

实验中央处理器的设计与实现 一、实验目的 1、理解中央处理器的原理图设计方法。 2、能够设计实现典型MIPS的11条指令。 二、实验要求 1、使用Logisim完成数据通路、控制器的设计与实现。 2、完成整个处理器的集成与验证。 3、撰写实验报告,并提交电路源文件。 三、实验环境 VMware Workstations Pro + Windows XP + Logisim-win-2.7.1 四、操作方法与实验步骤 1、数据通路的设计与实现 数据通路主要由NPC、指令存储器、32位寄存器文件、立即数扩展部件、ALU、数据存储器构成。其中指令存储器和数据存储器可直接调用软件库中的ROM和RAM元件直接完成,其余部件的设计如图所示: 图1.1 NPC

图1.2 32位寄存器

图1.3 立即数扩展部件 图1.4 ALU 2、控制器的设计与实现 控制器的主要设计思想如图所示 图2.1 控制器设计思想 输入 1 1 0

输出R-type ORI LW SW BEQ JUMP RegDst 1 0 0 x x x ALUSrc 0 1 1 1 0 x MemtoReg0 0 1 x x x RegWrite 1 1 1 0 0 0 MemWrite0 0 0 1 0 0 Branch 0 0 0 0 1 0 Jump 0 0 0 0 0 1 Extop x 0 1 1 1 x ALUop2 1 0 0 0 0 x ALUop1 x 1 0 0 x x ALUop0 x 0 0 0 1 x ALUop[2:0] Funct[3:0] 指令ALUctr[2:0] 111 0000 add 010 111 0010 sub 110 111 0100 and 000 111 0101 or 001 111 1010 slt 111 010 xxxx ori 001 000 xxxx Lw/sw 010 011 xxxx beq 110 表2.1 控制器设计真值表

数据库课程设计资源

数据库课程设计资源 题目一:人事管理系统 1、系统功能的基本要求: (1)员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等。(2)员工各种信息的修改; (3)对于转出、辞职、辞退、退休员工信息的删除; (4)按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询、按婚姻状况查询、按学历查询、按工作岗位查询等,至少应该包括按学历、婚姻状况、岗位、参加工作时间等统计各自的员工信息; (5)对查询、统计的结果打印输出。 2、数据库要求:在数据库中至少应该包含下列数据表: (1)员工基本信息表; (2)员工婚姻情况表,反映员工的配偶信息; (3)员工学历信息表,反映员工的学历、专业、毕业时间、学校、外语情况等; (4)企业工作岗位表; (5)企业部门信息表。 题目二:工资管理系统 1、系统功能的基本要求: (1)员工每个工种基本工资的设定 (2)加班津贴管理,根据加班时间和类型给予不同的加班津贴; (3)按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资; (4)员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12; (5)企业工资报表。能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计,并能够打印; 2、数据库要求:在数据库中至少应该包含下列数据表: (1)员工考勤情况表;

(2)员工工种情况表,反映员工的工种、等级,基本工资等信息; (3)员工津贴信息表,反映员工的加班时间,加班类别、加班天数、津贴情况等;(4)员工基本信息表 (5)员工月工资表。 题目三:能源管理收费系统 1、系统功能的基本要求: 1.用户基本信息的录入:包括用户的单位、部门、姓名、联系电话、住址 2.用户水、电、气数据的录入(每个月的数据的录入); 3.水、电、气价格的管理 4.工号的管理 5.查询、统计的结果打印输出。 2、数据库要求:在数据库中至少应该包含下列数据表: 1.用户基本信息表; 2.水、电、气单价表及历史记录表等 3.工号及权限表 题目四:校园小商品交易系统 1、系统功能的基本要求: 包含三类用户:管理员、商品发布者、普通用户、访客。 1、向管理员提供以下功能:自身密码修改,其他用户添加删除,用户信息修改、统计。 商品信息添加、修改、删除、查找、统计。 2、向商品发布者提供以下功能:注册、登陆、注销、自身密码修改、自身信息修改。 商品信息发布,自身商品信息统计。查找浏览其他商品。 3、向一般用户提供以下功能:商品浏览、查找、获知商家联系方式,定购商品。 4、向访客提供以下功能:商品浏览、查找、获知商家联系方式。 题目五:实验选课系统

数据库课程设计(自己做的)

——货存控制系统 6、1数据库设计概述 ㈠数据库设计的概念:数据库设计就是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求与处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。 ㈡数据库设计的特点 1、数据库建设就是硬件、软件与干件的结合:三分技术、七分管理、十二分基础数据,技术与管理的界面称之为干件。 2、数据库设计过程就是结构设计与行为设计的密切结合:结构设计就是设计数据库结构,行为设计就是设计应用程序、事务处理等。 ㈢数据库设计的方法 1、手工试凑法:设计质量与设计人员的经验与水平有直接关系,缺乏科学理论与工程方法的支持,工程质量难保证。 2、规范设计法:基本思想就是过程迭代与逐步求精。 ㈣数据库设计的基本步骤 准备工作:选定参加设计的人员。 ⑴分析员:数据库设计的核心人员,自始至终参与数据库设计,其水平决定了数据库系统的质量。 ⑵用户:主要参加需求分析与数据库的运行维护,用户的积极参与将加速数据库设计,提高数据库设计的质量。 ⑶程序员:在系统实施阶段参与进来,负责编制程序。 ⑷操作员:在系统实施阶段参与进来,准备软硬件环境。 ㈤数据库设计的过程(六个阶段) 1、需求分析阶段: 准确了解与分析用户需求(包括数据与处理),就是整个设计过程的基础,就是最困难、最耗费时间的一步。 2、概念结构设计阶段: 整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型 3、逻辑结构设计阶段: 将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。 4、数据库物理设计阶段: 为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构与存取方法)。 5、数据库实施阶段: 运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计与物理设计的结果建立数据库、编制与调试应用程序、组织数据入库并进行试运行。 6、数据库运行与维护阶段: 数据库应用系统经过试运行后即可投入正式运行,在运行过程中不断对其进行评价、调整与修改。 设计一个数据库应用系统往往就是上述六个阶段的不断反复。 ㈥数据库设计各阶段的模式形成: 1、需求分析阶段:综合各个用户的应用需求。 2、概念设计阶段:形成独立于机器特点,独立于各个DBMS产品的概念模式(E-R图)。

数据库课程设计详细计划

数据库应用实训 1.1教务信息管理需求分析 与教室管理相关的学校的组织机构有:学生、教师和教室。学校的所有日常工作都是围绕着这三大部分进行的。 一个学校下设若干学院,如信息学院、经济学院、法学院、财政金融学院等;一个学院下设若干专业,如信息学院下设三个专业:信息管理与信息系统、计算机科学与技术和数学与应用数学;一个专业有若干班级,如信息学院的2005级信息管理与信息系统专业下设两个班级:信管1班、信管2班;一个班级有若干同学,如信管1班有姜杉、刘天营、张蓝方、张娜、周潇等。 一个学校下设若干学院,如信息学院、经济学院、法学院、财政金融学院等;一个学院下设若干专业,如信息学院下设三个专业:信息管理与信息系统、计算机科学与技术和数学与应用数学;一个专业有若干教师,如信息学院信息管理与信息系统专业有陈禹、左美云。 一个学校下设若干学院,如信息学院、经济学院、法学院、财政金融学院等;一个学院下设若干专业,如信息学院下设三个专业:信息管理与信息系统、计算机科学与技术和数学与应用数学;一个专业开设有若干课程,如信息学院信息管理与信息系统专业开设有数据库系统概论、计算机网络等课程。 一个学校有若干教学楼,如求是楼、教学一楼、教学二楼、教学三楼等;一个教学楼有若干楼层,如教学一楼有一层、二层、三层、四层、五层、六层;一个楼层有若干教室,如一层有1101,1102,1103,1104等教室。 一个教师可以开设若干门课程,一门课程可以由多个老师来教授。一个教室在不同的时段可以上不同的课程。 1.2 实训内容 根据以上给出的相关需求分析完成以下操作: 1.2.1数据库概念设计 1.自行阅读相关资料,查找信息系统的需求分析、逻辑设计和物理设计这三个阶段主要完成的任务,如何完成(需要做哪些工作)。 2.查找ER图的概念,如何画ER图 3.画出相关分ER图 (1)画出学生和教师实体集ER图(参照数据表结构) (2)画出教师、院系和学生实体集ER图 (3)画出学生、教室和教师实体集ER图 4.画出教室管理系统的整体ER图(实体集之间关系参照给定的需求分析)

MIPS单周期CPU实验报告

《计算机组成原理实验》 实验报告 (实验二) 学院名称: 专业(班级): 学生姓名: 学号: 时间:2017年11月25日

成绩: 实验二:单周期CPU设计与实现 一.实验目的 (1) 掌握单周期CPU数据通路图的构成、原理及其设计方法; (2) 掌握单周期CPU的实现方法,代码实现方法; (3) 认识和掌握指令与CPU的关系; (4) 掌握测试单周期CPU的方法; (5) 掌握单周期CPU的实现方法。 二.实验内容 设计一个单周期的MIPSCPU,使其能实现下列指令: ==> 算术运算指令 功能:rd←rs + rt。reserved为预留部分,即未用,一般填“0”。 功能:rt←rs + (sign-extend)immediate;immediate符号扩展再参加“加”运算。 (3)sub rd , rs , rt 功能:rd←rs - rt ==> 逻辑运算指令 功能:rt←rs | (zero-extend)immediate;immediate做“0”扩展再参加“或”运算。 (5)and rd , rs , rt

功能:rd←rs & rt;逻辑与运算。 (6)or rd , rs , rt 功能:rd←rs | rt;逻辑或运算。 ==>移位指令 功能:rd<-rt<<(zero-extend)sa,左移sa位,(zero-extend)sa ==>比较指令 功能:if (rs 存储器读/写指令 功能:memory[rs+ (sign-extend)immediate]←rt;immediate符号扩展再相加。即将rt寄存器的内容保存到rs寄存器内容和立即数符号扩展后的数相加作为地址的内存单元中。 (10) lw rt , immediate(rs) 读存储器 功能:rt ← memory[rs + (sign-extend)immediate];immediate符号扩展再相加。 即读取rs寄存器内容和立即数符号扩展后的数相加作为地址的内存单元中的数,然后保存到rt寄存器中。 ==> 分支指令 (11)beq rs,rt,immediate 功能:if(rs=rt) pc←pc + 4 + (sign-extend)immediate <<2 else pc ←pc + 4

数据库课程设计报告

《数据库类课程设计》 系统开发报告 学号:__________ 111007133 _____________ 姓名:_____________ 邢小迪 __________________ 题目企业员工薪资管理___________ 指导教师:__________ 王红梅 _________________ 提交时间:2013年6月01日_______________

计算机科学与应用系

目录 一绪论 二员工薪资管理系统概述?1 现状分析?I 系统目标?2 系统特点?3 三员工薪资管理系统数据库设计?3 需求分析3 数据库物理结构分析4 数据库概念结构设计6 数据库逻辑结构设计?9 四员工薪资管理系统数据库功能模块的创建12五总结21 体会21 参考文献22

一绪论 随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于SQL server 数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。基本上能满足管理员和公司的要求。 此次数据库课程设计的主要设计如下:原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。 需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。 二员工薪资管理系统概述 1、现状分析 随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,

单片机实验报告

本科生实验报告 实验课程单片机原理及应用 学院名称核技术与自动化工程学院 专业名称电气工程及其自动化 学生姓名 学生学号 指导教师任家富 实验地点6C902 实验成绩 二〇一五年三月二〇一五年六月 单片机最小系统设计及应用 摘要 目前,单片机以其高可靠性,在工业控制系统、数据采集系统、智能化仪器仪表等领域得到极其广泛的应用。因此对于在校的大学生熟练的掌握和使用单片机是具有深远的意义。通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用,本次设计课程采用STC89C52单片机和ADC0804,LED显示,键盘,RS232等设计一个单片机开发板系统。进行了LED显示程序设计,键盘程序设计,RS232通信程序设计等。实现了单片机的各个程序的各个功能。对仿真软件keil的应用提升了一个新的高度。单片机体积小、成本低、使用方便,所以被广

泛地应用于仪器仪表、现场数据的采集和控制。通过本实验的学习,可以让学生掌握单片机原理、接口技术及自动控制技术,并能设计一些小型的、综合性的控制系统,以达到真正对单片机应用的理解。 关键词:单片机;智能;最小系统;ADC;RS232;显示;STC89C52 第1章概述 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。单片机采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 它最早是被用在工业控制领域,由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。 第2章实验内容 2.1单片机集成开发环境应用

《单周期CPU设计》实验报告

《计算机组成原理与接口技术实验》 实验报告 学院名称: 学生姓名: 学号: 专业(班级): 合作者:

时间:2016年4月25日 成绩: 实验二: 一.实验目的 1.掌握单周期CPU数据通路图的构成、原理及其设计方法; 2.掌握单周期CPU的实现方法,代码实现方法; 3.认识和掌握指令与CPU的关系; 4.掌握测试单周期CPU的方法。 二.实验内容 设计一个单周期CPU,该CPU至少能实现以下指令功能操作。需设计的指令与格式如下: ==> 算术运算指令 (1)add rd , rs, rt(说明:以助记符表示,是汇编指令;以代码表示,是机器指令)

功能:rd←rs + rt。reserved为预留部分,即未用,一般填“0”。 (2)addi rt , rs ,immediate 功能:rt←rs + (sign-extend)immediate;immediate符号扩展再参加“加”运算。 (3)sub rd , rs , rt 完成功能:rd←rs - rt ==> 逻辑运算指令 (4)ori rt , rs ,immediate

功能:rt←rs | (zero-extend)immediate;immediate做“0”扩展再参加“或”运算。 (5)and rd , rs , rt 功能:rd←rs & rt;逻辑与运算。 (6)or rd , rs , rt 功能:rd←rs | rt;逻辑或运算。 ==> 传送指令 (7)move rd , rs 功能:rd←rs + $0 ;$0=$zero=0。 ==> 存储器读/写指令 (8)sw rt ,immediate(rs) 写存储器

华中科技大学HUST类MIPS单周期微处理器设计实验报告

类MIPS单周期微处理器设计 实验报告 专业: 班级: 学号: 姓名:

一、微处理器各模块设计 各模块的框图结构如上图所示。由图可知,该处理器包含指令存储器、数据存储器、寄存器组、ALU单元、符号数扩张、控制器、ALU控制译码以及多路复用器等。图中还忽略了一个单元:时钟信号产生器,而且以上各个部件必须在时钟信号的控制下协调工作。 1.指令存储器的设计 指令寄存器为ROM类型的存储器,为单一输出指令的存储器。因此其对外的接口为clk、存储器地址输入信号(指令指针)以及数据输出信号(指令)。 (1)在IP wizard 中配置ROM,分配128个字的存储空间,字长为32位宽。 (2)选择输入具有地址寄存功能,只有当时钟上升沿有效时,才进行数据的输出。 (3)配置ROM内存空间的初始化COE文件。最后单击Generate按钮生成IROM模块。

2.数据存储器的设计 数据存储器为RAM类型的存储器,并且需要独立的读写控制信号。因此其对外的接口输入信号为clk、we、datain、addr;输出信号为dataout。 数据存储器基本建立过程同ROM的建立。 3.寄存器组设计 寄存器组是指令操作的主要对象,MIPS中一共有32个32位寄存器。在指令的操作过程中需要区分Rs、Rt、Rd的地址和数据,并且Rd的数据只有在寄存器写信号有效时才能写入,因此该模块的输入为clk、RegWriteAddr、RegWriteData、RegWriteEn、RsAddr、RtAddr、reset;输出信号为RsData、RtData。 由于$0一直输出0,因此当RsAddr、RtAddr为0时,RsData以及RtData 必须输出0,否则输出相应地址寄存器的值。另外,当RegWriteEn有效时,数据应该写入RegWriteAddr寄存器。并且每次复位时所有寄存器都清零。 代码如下: module regFile( input clk, input reset, input [31:0] regWriteData, input [4:0] regWriteAddr, input regWriteEn, output [31:0] RsData, output [31:0] RtData, input [4:0] RsAddr, input [4:0] RtAddr

相关文档
最新文档