文档库 最新最全的文档下载
当前位置:文档库 › 单周期CPU实验报告

单周期CPU实验报告

单周期CPU实验报告
单周期CPU实验报告

计算机组成实验报告

实验名称:单周期CPUVerilog实现

实验日期:2011.4.12-2011.4.19

实验人员:

同组者:

一、主要实验内容

将已做好的各个模块进行模块合并,实现单周期CPU的各项指令,(注:由于此次设计只是利用verilog硬件编程语言实现具体功能,因此数据寄存器和存储器部件内的内容需由程序设计者自己给出,并不能从计算机中直接读取),下面对各个子模块进行简单的介绍。

二、各个子模块的简单介绍

此程序将数据通路(SingleDataLoad)设定为顶层模块,下面的模块包括:算术逻辑运算单元(ALU)、数据存储器(DataStore)、数据寄存器(Registers)、取指令部件(GetCode)、总控制器(Control),通过顶层模块对各个子模块的调用从而实现了整个单周期CPU。

1)数据通路(SingleDataLoad):进行数据的运算、读取以及存储功能,通过总控制器

产生的各个控制信号,进而实现对数据的各项操作。

2)算术逻辑运算单元(ALU):数据通路调用此模块,根据得到的控制信号对输入数

据进行处理,处理功能有:addu、add、or、subu、sub、sltu、slt等。

3)数据存储器(DataStore):当WrEn控制信号为1时,此时就将输入数据存储到此

存储器中,当WrEn为0时,则根据输入的地址,找到地址对应的单元将单元中的

数据输出。

4)数据寄存器(Registers):在此程序中功能和实现基本和数据存储器相同,但在实

际CPU当中使用的逻辑器件及获取数据的方式还是有所区别的。

5)取指令部件(GetCode):指根据PC所提供的地址从指令寄存器中取出要执行的指

令,再根据各控制信号,得出下一次要执行的指令的地址。(注:指令寄存器中存

放的就是一个程序或一段代码所需要执行的指令,这里也是程序设计者自己给出的

一些指令的值。)

6)总控制器(Control):总控制器通过从取指令部件获得的指令,进而产生各个控制

信号,并将控制信号返回个数据通路,就此实现各项功能。

(以上各个模块代码见附录)

三、程序截图及说明

上图为执行下列指令产生的图像:

(此时$1,$2所指的寄存器中存放的值是不同的)

(beq rs rt imm16:指令的功能为:Cond←R[rs]-R[rt] if(Cond eq

0)PC←PC+(SignExt(imm16)*4)

Mem[0]<={6'b000100,5'b00001,5'b00010,5'b00000,5'b00000,6'b000001}; //beq $1,$2,1

Mem[4]<={6'b000000,5'b00001,5'b00010,5'b00100,5'b00000,6'b101011}; //sltu $4,$1,$2 Mem[8]<={6'b000010,5'b00000,5'b00000,5'b00000,5'b00000,6'b000010}; //j 2

当$1、$2所指的寄存器的值相同时,执行上述指令,得到的图如下:

可以看出CPU跳过了第二条指令,直接执行了第三条,而上图执行了第一条指令后接着执行第二条,最后才执行第三条指令,区别就在于第一幅图表示的是$1、$2中的值不相等所执行的情况,第二幅图表示的是$1、$2中的值相等的情况,由此可以得知测试正确。

四、实验收获及感想

说实话,关于单周期CPU的设计,我没有能够完全理解,原因是我没有把书上的内容认真看,老师上课讲的时候,并没有能够完全掌握,加之课外由于种种原因,自己没有抓紧时间,没有跟上老师的节奏。希望老师给我一点时间,我会努力跟上的。

附件:

①数据通路(SingleDataLoad)

module

SingleDataLoad(clk,RegWr,RegDst,ExtOp,ALUSrc,Branch,Jump,MemtoReg,MemWr,ALU ctr);

input clk;

//input[31:0] Instruction;

output RegWr,RegDst,ExtOp,ALUSrc,Branch,Jump,MemtoReg,MemWr;

output[2:0] ALUctr;

wire RegWr,RegDst,ExtOp,ALUSrc,Branch,Jump,MemtoReg,MemWr;

wire[2:0] ALUctr;

wire [31:0] Instruction;

wire [4:0] Rd,Rt,Rs;

wire [5:0] op,func;

wire[4:0] Rx;

wire P1,P2,Zero,Overflow;

wire [31:0] busW,busA,busB,out1,dataout,busB1,busBo;

wire [15:0] imm16;

Control

con(Instruction,RegWr,ExtOp,ALUSrc,ALUctr,Branch,Jump,RegDst,MemtoReg,MemWr);

assign op=Instruction[31:26];

assign func=Instruction[5:0];

assign Rs=Instruction[25:21];

assign Rt=Instruction[20:16];

assign Rd=Instruction[15:11];

assign imm16=Instruction[15:0];

assign P1=P2&RegWr;

MUX2 mux2(RegDst,Rt,Rd,Rx);

assign busB1={{16{imm16[15] & ExtOp}},imm16[15:0]};

MUX2TO1 mux1(ALUSrc,busB,busB1,busBo);

Registers Reg(clk,busW,P1,Rx,Rs,Rt,busA,busB);

ALU alu(busA,busBo,ALUctr,out1,Overflow,Zero);

assign P2=!Overflow;

DataStore datas(clk,busB,out1[4:0],MemWr,dataout);

MUX2TO1 mux3(MemtoReg,out1,dataout,busW);

GetCode get(Branch,Zero,Jump,clk,Instruction);

endmodule

module MUX2TO1(op,X,Y,Z);

input op;

input [31:0] X,Y;

output[31:0] Z;

reg [31:0] Z;

always@(op)

begin

if(op==1)

Z=Y;

else

Z=X;

end

endmodule

module MUX2(op,x,y,z);

input op;

input [4:0] x,y;

output[4:0] z;

reg [4:0] z;

always@(op)

begin

if(op==1)

z=y;

else

z=x;

end

endmodule

②算数逻辑运算单元(ALU)

module ALU(A,B,ALUctr,Result,Overflow,Zero);

parameter n=32;

input [n-1:0] A,B;

input [2:0] ALUctr;

output [n-1:0] Result;

output Overflow,Zero;

wire Zero,Overflow;

wire [n-1:0] Result;

wire SUBctr,OVctr,SIGctr;

wire [1:0] OPctr;

wire [n-1:0] H,M,N,Add_Result;

wire K,G,I,Add_Sign,Add_Overflow,Add_carry;

assign SUBctr=ALUctr[2];

assign OVctr=!ALUctr[1] & ALUctr[0];

assign SIGctr=ALUctr[0];

assign OPctr[1]=ALUctr[2] & ALUctr[1];

assign OPctr[0]=!ALUctr[2] & ALUctr[1] &!ALUctr[0];

assign H=B^{n{SUBctr}};

assign M=A|B;

Adderk nbit_add(SUBctr,A,H,Add_carry,Add_Sign,Add_Result,Zero);

//,Add_Overflow

assign Add_Overflow= A[n-1] & H[n-1] & !Add_Result[n-1] | !A[n-1] & !H[n-1] & Add_Result[n-1];

assign K=SUBctr ^ Add_carry;

assign I=Add_Sign ^ Add_Overflow;

assign Overflow=OVctr & Add_Overflow;

IMUX2to1 YN(K,I,SIGctr,G);

IMUX2to1 yn(0,1,G,N);

MUX3to1 nbit_Result(Add_Result,M,N,OPctr,Result);

endmodule

module Adderk (Cin, X, Y,Add_carry,Add_sign,Add_result,Zero); //Add_Overflow,

parameter k = 32;

input [k-1:0] X, Y;

input Cin;

output [k-1:0] Add_result;

output Add_carry,Add_sign,Zero; //,Add_Overflow

reg [k-1:0] Add_result;

reg Add_carry,Zero,Add_sign; //,Add_Overflow always@(X or Y or Cin)

begin

{Add_carry, Add_result} = X + Y + Cin;

if(Add_result==0)

Zero=1;

else

Zero=0;

if(Add_result[31]==1)

Add_sign=1;

else

Add_sign=0;

end

endmodule

module MUX3to1 (V,W,U,Selm,F);

parameter k = 32;

input [k-1:0] V,W,U;

input [1:0] Selm;

output [k-1:0] F;

reg [k-1:0] F;

always @(V or W or U or Selm)

case(Selm)

2'b00: F <= V;

2'b01: F <= W;

2'b10: F<=U;

endcase

endmodule

module IMUX2to1 (V,W,SIGctr,Less);

input[31:0] V,W;

input SIGctr;

output[31:0] Less;

reg[31:0] Less;

always @(V or W or SIGctr)

if (SIGctr == 0)

Less <= V;

else

Less <= W;

endmodule

③数据存储器(DataStore):

module DataStore(clk,DataIn,Adr,WrEn,Out);

input [31:0] DataIn;

input [4:0] Adr;

input WrEn,clk;

output [31:0] Out;

reg [31:0] Out;

reg [31:0] Store [31:0];

always@(negedge clk)

begin

if(WrEn==1)

Store[Adr]=DataIn;

end

always@(Adr or WrEn)

if(WrEn==0)

Out=Store[Adr];

endmodule

④数据寄存器(Registers):

module Registers(clk,busW,wr,Rw,Ra,Rb,busA,busB); input [31:0] busW;

input clk,wr;

input [4:0] Rw,Ra,Rb;

output [31:0] busA,busB;

reg [31:0] busA,busB;

reg [31:0] Regist [31:0];

always@(negedge clk)

begin

Regist[1]=32'd25;

Regist[2]=32'd25;

if(wr==0)

Regist[Rw]=busW;

end

always@(Ra or Rb or wr)

begin

if(wr==1)

begin

busA=Regist[Ra];

busB=Regist[Rb];

end

end

endmodule

⑤取指令部件(GetCode):

module GetCode(Branch,Zero,Jump,clk,Instruction); input Zero,Branch,Jump,clk;

output[31:0] Instruction;

reg[29:0] PC=25;

wire[29:0] M,M2;

wire [4:0] addmem;

wire K;

reg reset=1;

assign addmem={PC[2:0],2'b00};

wire[29:0] O1,O2,O3,O4;

wire[15:0] imm16;

instruct InsMem(addmem,Instruction);

always@(negedge clk)

begin

if (reset==1)

begin

PC <=0;

reset<=0;

end

else

begin

PC <= O4;

end

end

assign imm16=Instruction[15:0];

assign M=PC;

assign K=Zero & Branch;

Adder adder1(M,1,O1);

assign M1={{14{imm16[15]}},imm16[15:0]};

Adder adder2(O1,M1,O2);

MUX2T1 mux1(K,O1,O2,O3);

assign M2={M[29:26],Instruction[25:0]};

MUX2T1 mux2(Jump,O3,M2,O4);

endmodule

module Adder(M,N,O);

input[29:0] M;

input[29:0] N;

output[29:0] O;

wire[29:0] M,N,O;

assign O=M+N;

endmodule

module MUX2T1(op,X,Y,Z);

input [29:0] X,Y;

output[29:0] Z;

reg [29:0] Z;

always@(op)

begin

if(op==1)

Z=Y;

else

Z=X;

end

endmodule

module instruct(addr,inst);

input [4:0] addr;

output [31:0] inst;

reg [31:0] inst;

// Declare the RAM variable

reg [31:0] Mem [31:0];

// write instruction: add 3<=(1)+(2),sub 6<=(4)-(5),jump 0

always @(*)

begin

//Mem[0]<={6'b000000,5'b00001,5'b00010,5'b00011,5'b00000,6'b100000}; //add $3,$1,$2 // Mem[4]<={6'b000000,5'b00011,5'b00001,5'b00100,5'b00000,6'b100010}; //sub $4,$3,$1 // Mem[0]<={6'b000000,5'b00001,5'b00010,5'b00011,5'b00000,6'b101010}; //slt $3,$1,$2 // Mem[4]<={6'b000000,5'b00011,5'b00001,5'b00100,5'b00000,6'b100011}; //subu $4,$3,$1 // Mem[0]<={6'b000000,5'b00001,5'b00010,5'b00011,5'b00000,6'b101010}; //slt $3,$1,$2 // Mem[4]<={6'b000000,5'b00001,5'b00010,5'b00100,5'b00000,6'b101011}; //sltu $4,$1,$2 //Mem[0]<={6'b001101,5'b00001,5'b00011,5'b10000,5'b00000,6'b000101}; //ori $3,$1,32773 // Mem[4]<={6'b001001,5'b00010,5'b00100,5'b00000,5'b00000,6'b001000}; //addiu $4,$2, 8 // Mem[4]<={6'b001001,5'b00010,5'b00100,5'b11111,5'b11111,6'b111000}; //addiu $4,$2, -8 // Mem[0]<={6'b101011,5'b00001,5'b00011,5'b00000,5'b00000,6'b000101}; //sw $3,$1,5 // Mem[4]<={6'b100011,5'b00001,5'b00100,5'b00000,5'b00000,6'b000101}; //lw $4,$1,5 Mem[0]<={6'b000100,5'b00001,5'b00010,5'b00000,5'b00000,6'b000001}; //beq $1,$2,1 Mem[4]<={6'b000000,5'b00001,5'b00010,5'b00100,5'b00000,6'b101011}; //sltu $4,$1,$2 Mem[8]<={6'b000010,5'b00000,5'b00000,5'b00000,5'b00000,6'b000010}; //j 2

end

// read

always @(addr)

begin

inst <= Mem[addr];

end

endmodule

⑥总控制器(Control):

Control(Instruction,RegWr,ExtOp,ALUSrc,ALUctr,Branch,Jump,,RegDst,MemtoReg,Mem Wr);

output RegWr,RegDst,ExtOp,ALUSrc,Branch,Jump,MemtoReg,MemWr;

input[31:0] Instruction;

reg RegWr,RegDst,ExtOp,ALUSrc,Branch,Jump,clk,MemtoReg,MemWr;

output [2:0] ALUctr;

reg [2:0] ALUctr;

wire [5:0] op,func;

assign op=Instruction[31:26];

assign func=Instruction[5:0];

parameter

S0=6'b100000,S1=6'b100010,S2=6'b100011,S3=6'b101010,S4=6'b101011,S5=6'b001101,S6=6' b001001,S7=6'b100011,S8=6'b101011,S9=6'b000100,S10=6'b000010;

always@(op or func)

begin

if(op==6'b000000)

begin

case(func)

S0:

begin

Branch=0;

Jump=0;

RegDst=1;

ALUSrc=0;

ALUctr=3'b001;

MemtoReg=0;

RegWr=1;

MemWr=0;

end

S1:

begin

Branch=0;

Jump=0;

RegDst=1;

ALUSrc=0;

ALUctr=3'b101;

MemtoReg=0;

RegWr=1;

MemWr=0;

end

S2:

begin

Jump=0;

RegDst=1;

ALUSrc=0;

ALUctr=3'b100;

MemtoReg=0;

RegWr=1;

MemWr=0;

end

S3:

begin

Branch=0;

Jump=0;

RegDst=1;

ALUSrc=0;

ALUctr=3'b111;

MemtoReg=0;

RegWr=1;

MemWr=0;

end

S4:

begin

Branch=0;

Jump=0;

RegDst=1;

ALUSrc=0;

ALUctr=3'b110;

MemtoReg=0;

RegWr=1;

MemWr=0;

end

endcase

end

else

begin

case(op)

S5:

begin

Branch=0;

Jump=0;

RegDst=0;

ALUSrc=1;

ALUctr=3'b010;

MemtoReg=0;

MemWr=0;

ExtOp=0;

end

S6:

begin

Branch=0;

Jump=0;

RegDst=0;

ALUSrc=1;

ALUctr=3'b000;

MemtoReg=0;

RegWr=1;

MemWr=0;

ExtOp=1;

end

S7:

begin

Branch=0;

Jump=0;

RegDst=0;

ALUSrc=1;

ALUctr=3'b000;

MemtoReg=1;

RegWr=1;

MemWr=0;

ExtOp=1;

end

S8:

begin

Branch=0;

Jump=0;

ALUSrc=1;

ALUctr=3'b000;

RegWr=0;

MemWr=1;

ExtOp=1;

end

S9:

begin

Branch=1;

Jump=0;

ALUSrc=0;

ALUctr=3'b100;

MemWr=0;

end

S10:

begin

Branch=0;

Jump=1;

RegWr=0;

MemWr=0;

end

endcase

end

end

endmodule

工程测量实验报告

实验报告 课程名称:工程测量实验报告 专业班级:D测绘131 姓名学号:戴峻2013132911 测绘工程学院 实验报告一、精密角度测量 一、实验名称:精密角度测量 二、实验性质:综合性实验 三、实验地点:淮海工学院苍梧校区 时间:2016.6.02 四、实验目的: 1. 掌握精密经纬仪(DJ1或DJ2)的操作方法。 2. 掌握方向法观测水平角水平角的观测顺序,记录和计算方法。 五、仪器和工具: 全站仪一台,三脚架一个,记录板一块,自备铅笔,记录手薄和观测目标物。

六、实验内容及设计: 在实验之前,需要做的工作是:了解实验内容,以及读数的多种限差,并选择好实验地点,大略知道实验数据的处理。 1.实验步骤: (1)架设全站仪,完成对中、整平; (2)调清楚十字丝,选择好起始方向,消除视差; (3)一个测站上四个目标一测回的观测程序 2. 度盘配置: 设共测4个测回,则第i个测回的度盘位置略大于(i-1)180/4. 3. 一测回观测: (1) 盘左。选定一距离较远、目标明显的点(如A点)作为起始方向,将平读盘读数配置在稍大于0 o处,读取此时的读数;松开水平制动螺旋,顺时针方向依次照准B、C、D三目标读数;最后再次瞄准起始点A并读数,称为归零。

以上称为上半侧回。两次瞄准A点的读数之差称为“归零差”,检核是否超限,超限及时放弃本测回,重新开始本测回。 (2)盘右。先瞄准起始目标A,进行读数;然后按逆时针放线依次照准D、C、B、A各目标,并读数。 以上称之为下半测回,其归零差仍要满足规范要求。 上、下半测回构成了一个测回,检核本测回是否满足各项限差,如超限,重新开始本测回,合限,进行下一测回工作。 4.记录、计算 (1)记录。参考本指南所附的本次实验记录表格。盘左各目标的读数按从上往下的顺序记录,盘右各目标读数按从下往上的顺序记录。 (2)两倍照准误差2C的计算。按照下式计算2C 对于同一台仪器,在同一测回内,各方向的2C值应为一个定值。若有变化,其变化值不超过表1.1中规定的范围 表1.1 水平角方向观测法的技术要求

精简8位cpu设计报告

精简8位cpu实验设计报告 实验介绍: 实验分为两个部分,第一部分为16*8 ROM 设计与仿真 第二部分为SAP-1 设计与仿真 实验流程: ①16*8 ROM 的设计与仿真 Rom16_8.VHDL LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ROM16_8 is PORT( DATAOUT :OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --Data Output ADDR :IN STD_LOGIC_VECTOR(3 DOWNTO 0); --ADDRESS CE :IN STD_LOGIC --Chip Enable ); END ROM16_8; ARCHITECTURE a OF ROM 16_8 IS BEGIN DATA<=“00001001”WHEN ADDR=“0000”AND CE=‘0’--LDA 9H “00011010”WHEN ADDR=“0001”AND CE=‘0’ELSE --ADD AH “00011011”WHEN ADDR=“0010”AND CE=‘0’ELSE --ADD BH “00101100”WHEN ADDR=“0011”AND CE=‘0’ELSE --SUB CH “11100000”WHEN ADDR=“0100”AND CE=‘0’ELSE --OUT “11110000”WHEN ADDR=“0101”AND CE=‘0’ELSE --HLT “00010000”WHEN ADDR=“1001”AND CE=‘0’ELSE “00010100”WHEN ADDR=“1010”AND CE=‘0’ELSE “00011000”WHEN ADDR=“1011”AND CE=‘0’ELSE

数据通路实验报告

非常简单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累加器原理图如下:

《土木工程实验(一)》实验报告

姓名:肖龙 报名编号:T0759202101411509000002 学习中心:福建省厦门电子职业中专学校奥鹏学习中心[25] 层次:高起专 专业:建筑工程技术 实验一:水泥实验 一、实验目的: 1、学习水泥性质检验方法; 2、熟悉水泥的主要技术性质; 3、检验水泥是否合格。 二、实验内容: 第1部分:水泥标准稠度用水量、凝结时间测定 实验仪器、设备:水泥净浆搅拌机(符合GB3350.8要求);维卡仪;净浆标准稠度测定仪;凝结时间测定仪;圆台试模;初凝时间试针;终凝时间试针;水泥湿气养护箱;天平,量筒;其他工具:小刀、小铲。 1、水泥标准稠度用水量 (1)实验原理:水泥标准稠度净浆对标准试杆(或试锥)的沉入具有一定阻力。通过试验不同含水量水泥净浆的穿透性,以确定水泥标准稠度净浆中所需加入的水量。 本实验采用代用法测定水泥标准稠度用水量,并采用不变用水量法,量取拌用水142.5ml,根据实验结果换算得出最终标准稠度用水量。 (2)实验数据及结果

2、水泥凝结时间测定 (1)实验原理:凝结时间以试针沉入水泥标准稠度净浆至一定深度所需的时间表示。 (2)实验数据及结果 第2部分:水泥胶砂强度检验 1、实验依据: GB17671—1999水泥胶砂强度检验方法(ISO法)。 2、实验仪器、设备:行量式胶砂搅拌机;振实台;水泥抗折强度试验机;水泥抗压强度试验机;专用夹具;试模;大小括料器,金属刮平尺;养护箱、养护池;天平,量筒。 3、实验数据及结果 水泥检验项目合格性评定:

(1)水泥的凝结时间是否符合要求,是如何判定的? 答:水泥的凝结时间符合要求。依据GB175-2007《通用硅酸盐水泥》对P.042.5水泥的技术要求:凝结时间:初凝时间不早于45分钟,该试验初凝时间为140.2分钟,终凝时间不迟于600分钟,该试验终凝时间为203.22分钟,所以符合要求。 (2)水泥胶砂强度是否符合要求,是如何判定的? 答:符合要求。依据胶砂强度:28天抗折强度9.28≥6.5、抗压强度51.15≥42.5(实验数据结果不小于以下表中数据)。 实验二:土的压缩试验 一、实验目的:通过土的压缩实验得到试样在侧限与轴向排水条件下的孔隙比与压力的关系,即压缩曲线——e~p曲线,并以此计算土的压缩系数a1-2,判断土的压缩性,为土的沉降变形计算提供依据。 二、实验原理: 1、计算公式 (1 + W0)Gs Pw (1)试样初始孔隙比:e0﹦____________________________________ ___ 1 P0 (2)各级压力下试样固结变形稳定后的孔隙比: (1 + e0) e i = e0-_____________________________ △ hi h0 e1 –e2 △ e (3)土的压缩系数:a1-2 = ___________________ = - __________________________ P2–p1 △ p

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设计)

计算机硬件课程设计 设计报告 学号: 姓名:成绩: 学号: 姓名:成绩: 东南大学计算机科学与工程系 二0 10 年11 月

一、设计名称: My CPU的设计 二、本设计的主要特色: 1、熟悉挂总线的逻辑器件的特性和总线传送的逻辑实现方法。 2、掌握半导体静态存储器的存取方法。 三、设计方案: 1. 数据格式——8位二进制定点表示 2. 指令系统——CPU的指令格式尽量简单规整,这样在硬件上更加容易实现。 7条基本指令:输入/输出,数据传送,运算,程序控制。 指令格式:Array 7 6 5 4 3 2 1 0 两种寻址方式: 寄存器寻址Array 7 6 5 4 3 2 1 0 直接地址寻址,由于地址要占用一个字节,所以为双字节指令。 7条机器指令:

IN R目:从开关输入数据到指定的寄存器R目。 OUT R源:从指定的寄存器R源中读取数据送入到输出缓冲寄存器,显示灯亮。 ADD R目,R源:将两个寄存器的数据相加,结果送到R目。 JMP address : 无条件转移指令。 HALT : 停机指令。 LD R目,address : 从内存指定单元中取出数据,送到指定寄存器R 目。 ST address , R 源: 从指定的寄存器R源中取出数据,存入内存指定单元。

Address(内存地址) 3. CPU内部结构 4.数据通路设计 根据指令系统,分析出数据通路中应包括寄存器组、存储器、运算器、多路转换器等,采用单总线结构。 通用寄存器组:

运算器: 存储器: 多路转换器:

输出缓冲器: 5.控制器设计 控制通路负责整个CPU的运行控制,主要由控制单元和多路选择器MUX 完成。在每一个时钟周期的上升沿指令寄存器IR 从内存中读取指令字后,控制单元必须能够根据操作码,为每个功能单元产生相应主控制信号,以及对ALU 提供控制信号。对于不同的指令,同一个功能单元的输入不同,需要多路选择器MUX 来对数据通路中功能单元的输入进行选择。

机械工程测试实验报告----白云静

机械工程测试技术 实验指导书 学院:机械与动力工程学院 专业:车辆工程 班级: 11010141 学号: 1101014125 姓名:赵艳峰

实验一 用应变仪测量电阻应变片的灵敏度 一 实验目的 1、掌握在静载荷下使用电阻应变仪测量方法; 2、掌握桥路连接和电阻应变仪工作原理; 3、了解影响测量误差产生的因素。 二、实验仪器及设备 等强度梁 编号;天平秤;砝码;yd-15型动态电阻应变仪; 游标卡尺;千分尺(0~25㎜);DY-15型直流24伏电源; 三、实验原理 电测法的基本原理是:将电阻应变片粘贴在被测构件的表面,当构件发生变形时,应变片随着构件一起变形(ΔL/L ),应变片的电阻值将发生相应的变化,通过电阻应变仪,可测量出应变片中电阻值的变化(ΔR/R ),并换算成应变值,或输出与应变成正比的模拟电信号(电压或电流),用记录仪记录下来,也可用计算机按预定的要求进行数据处理,得到所需要的应变或应力值。电阻应变片的灵敏度是构件单位应变所引起应变片电阻值的变化量,用K 来表示, K= L/L R/R ??=ε R/R ? yd-15动态电阻应变仪主要技术参数 1、测量点数:4点 8点 2、测量范围: 10000微应变 3、标定应变: 50, 100, 300, 1000, 3000微应变,标定误差不超过 1%,最小 1微应变 4、灵敏系数:k=2.00 5、灵敏度:0.25mA/με(12Ω及2Ω负载) 0.093 5mA/με(16Ω负载) 0.025mA/με(20Ω负载) 0.01mA/με(50Ω负载) 0.01伏/με(1k 负载) 6、电阻应变片:按120Ω设计,100~600Ω可用。 7、线性输出范围:0 30mA(12Ω及2Ω负载)

微机组装实验报告

微机组装实验报告 一.实验内容 1、了解计算机的硬件系统 2、在规定的时间内完成一台计算机的完全拆卸并且完全还原的组装拆卸训练二.实验目的 1、熟悉计算机的基本配置及各部件的功能 2、掌握计算机的组装过程 三.实验过程及步骤 1、实验的主要过程及步骤 ①交代任务,强调实验的重点及注意事项 ②老师演示重点环节 ③拆卸计算机: 观察机箱外观---打开机箱并观察机箱内的部件---分解各个部件之间的连接---观察主板---拆卸主板上的部件 ④组装计算机: 安装cpu---散热风扇---内存条---电源盒---主板---显卡---光驱---硬盘---连接主板控制线 2、主要部件的功能及参数介绍: ①中央处理器(英文Central Processing Unit,CPU)是一台计算机的运算核心 和控制核心。CPU、内部存储器和输入/输出设备是电子计算机三大核心部件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU由运

算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。 差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令。所谓的计算机的可编程性主要是指对CPU的编程。 ②主机板:又叫主板(mainboard)、系统板(systemboard)或母板(motherboard);它 安装在机箱内,是微机最基本的也是最重要的部件之一。主板一般为矩形电路板,上面安装了组成计算机的主要电路系统,一般有BIOS芯片、I/O 控制芯片、键盘和面板控制开关接口、指示灯插接件、扩充插槽、主板及插卡的直流电源供电接插件等元件 ③内存条:内存条是连接CPU 和其他设备的通道,起到缓冲和数据交换作用。 库”太大,加上离CPU也很“远”,运输“原料”数据的速度就比较慢,导致 间,建了一个“小仓库”—内存。 四.实验心得及体会收获 通过学习计算机组装,我了解了计算机方面的一些基础知识,也了解到了CPU,主板,内存等配件的基本结构,原来在计算机方面不是很懂得的我,开始渐渐的深入了解它,相信我今后能更好的使用它。 “纸上得来终觉浅,绝知此事要躬行。”这次计算机组装实验,让我真正将理论和实践融为一体,既巩固了旧知识,又掌握了新知识,在提高了我的动手能力

CPU课程设计报告

课程设计报告 课程片上计算机系统 题目 CPU模型机设计 班级 专业 学生 学号 指导教师 2014年7 月 3 日 目录: 1.课程设计的目的及要求 (3) 2.处理器的设计思想和设计内容 (3)

3.设计处理器的结构和实现方法 (3) 4.模型机的指令系统 (4) 5.处理器的状态跳转操作过程 (4) 6. CPU的Verilog代码 (7) 7. 模型机在Quartus II环境下的应用 (19) 8. 仿真波形 (19) 9. 课程设计的总结 (21) 一.课程设计的目的及要求: (一)目的: 1.掌握RISC CPU与内存数据交换的方法。 2.学会指令格式的设计与用汇编语言编写简易程序。 3.能够使用VHDL硬件描述语言在QuartusⅡ软件环境下完成CPU模型机的 设计。

(二)要求: 1.以《计算机组成与设计》书中123页的简化模型为基础更改其指令系 统,形成设计者的CPU, 2.在Quartus II环境下与主存连接,调试程序,观察指令的执行是否达 到设计构想。 二.处理器的设计思想和设计内容: 处理器的字长为16b;包括四种指令格式,格式1、格式2、格式3的指令字长度为8b,格式4的指令字长度为16b;处理器内部的状态机包括七个状态。(一)关于修改后的CPU: 一共设计25条指令,主要包括空操作指令、中断指令、加法指令、减法指令、加法指令、四种逻辑运算指令、比较、算术移位操作指令、逻辑移位操作指令、加减1指令、加减2指令、数据传输指令、转移类指令、读写指令、特权指令等等。 (二)关于RAM: 地址线设置成8bits,主存空间为4096words。 三.设计处理器的结构和实现方法: (指令格式) 格式1:寄存器寻址方式 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OP Rx Ry 空白 格式2:寄存器变址寻址方式 OP Ry 空白 格式3:立即数寻址方式 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OP I 空白 格式4:无操作数寻址方式 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OP 空白空白 格式5:直接寻址方式 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OP Addr 内存(2的12次方) 四.模型机的指令系统 CPU的指令集: 操作码OP IR(15..1 2) 指令 格式 指令的助记指令的内容

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 控制器设计真值表

计算机硬件的组装实验报告

计算机硬件的组装实验 报告 TYYGROUP system office room 【TYYUA16H-TYY-TYYYUA8Q8-

计算机硬件的组装 实验时间:3月30日晚6:00-9:00 学号:姓名: 一、实验目的 1.加深对理论知识的理解,提高实际动手能力; 2.了解计算机的主要部件,理解各部件的功能,了解微型机的各项技术指标和参数。 3.能掌握现代计算机组成结构、内部部件的连接和装机步骤 4.能够熟练掌握计算机的基本组装技巧。 二、实验内容 1、了解计算机主要器件、外部设备的种类和发展情况; 2、掌握计算机主要器件、外部设备的主要性能指标; 3、知道如何选购计算机的主要器件和外部设备; 4、根据了解的知识,动手实践组装一台微型计算机系统; 5、了解并掌握计算机系统的调试、维护方法。 三、实验步骤 (一)计算机主要器件及外部设备 1、计算机系统硬件组成:微处理器、主板、内存、外存储器、输入系统设备、显示系统设备、机箱与电源。 2、计算机的结构构成和功能 ⑴.主板:主板是一块方形的电路板,在其上面分布着众多电 子元件和各种设备的插槽等。

⑵.主板的插座:主板上的插座主要是指主板上的CPU插座和电源插座。 ⑶. 主板的插槽 ⑷. 主板的芯片组:主板的芯片组是整个主板的核心,主板上各个部件的运行都是通过主板芯片组来控制的。 ⑸.CPU:CPU由控制器和运算器这两个主要部件组成。控制器是整个计算机系统的指挥中心。控制器的指挥控制下,运算器、存储器和输入/输出设备等部件协同工作,构成了一台完整的通用计算机。运算器是计算机中用于实现数据加工处理等功能的部件,它接受控制器的命令,负责完成对操作数据的加工处理任务,其核心部件是算术逻辑单元。 ⑹.内存:内存主要由内存颗粒、PCB电路板、金手指等部分组成。内存的作用是和CPU进行数据交换的,用于直接提供CPU要处理的数据,同时内存容量有限,它需要不断的从外存调入当前操作需要的数据以备CPU使用。 3.计算机的拆装 工具︰螺丝刀 ⑴.拆卸部件操作步骤: 关闭电源,用螺丝刀拆下螺丝,拆卸机 箱。观察主机各部件的连接线(电源和信号线),各部件的固定位置和方式(固定点、螺钉类型),并登记。拆除电源和信号线、板卡、内存、硬盘和软驱。(不要拆除CPU、风扇、主板) ⑵.安装计算机部件的操作步骤:

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

《计算机组成原理与接口技术实验》 实验报告 学院名称: 学生姓名: 学号: 专业(班级): 合作者: 时间:2016 年4 月25 日 成绩: ________ 实验二: 一. 实验目的 1.掌握单周期CPU数据通路图的构成、原理及其设计方法; 2.掌握单周期CPI的实现方法,代码实现方法; 3.认识和掌握指令与CPU勺关系; 4.掌握测试单周期CPI的方法。 二. 实验内容 设计一个单周期CPU,该CPU至少能实现以下指令功能操作。需设计的指令

与格式如下:

==>算术运算指令 功能:rd Jrs + rt 。 reserved为预留部分,即未用,一般填“0 (2)addi rt , rs , immediate 功能:rt J rs + (sign-extend) immediate ;immediate 符号扩展再参加“加”运算(3) sub rd , rs , rt 完成功能:rd J rs - rt ==>逻辑运算指令 (4)ori rt , rs , immediate 功能:rt Jrs | (zero-extend) immediate ; immediate 做“ o ”扩展再参加“或”运算(5) and rd , rs , rt 功能:rd Jrs & rt ;逻辑与运算 (6)or rd , rs , rt 功能:rd Jrs | rt ;逻辑或运算。 ==>传送指令 功能:rd Jrs + $0 ; $0=$zero=0。 ==>存储器读/写指令 (8)sw rt , immediate( rs)写存储器 功能:memory[rs+ (sign-extend) immediate ] J rt ; immediate 符号扩展再 相加。

机械工程测试技术基础实验报告

《机械工程测试技术基础》实验报告 专业 班级学号 姓名 成绩 沈阳理工大学机械工程学院 机械工程实验教学中心 2015年4月

目录 实验一金属箔式应变片——电桥性能实验1 1.1实验内容1 1.2实验目的1 1.3实验仪器、设备1 1.4简单原理1 1.5实验步骤2 1.6实验结果2 1.7思考题4 实验二状态滤波器动态特性实验4 2.1实验内容4 2.2实验目的4 2.3实验仪器、设备5 2.4简单原理5 2.5实验步骤5 2.6实验结果6 2.7思考题11 实验三电机动平衡综合测试实验11 3.1实验内容11 3.2实验目的11 3.3实验仪器、设备11 3.4简单原理12

3.5实验步骤12 3.6实验结果13 3.7思考题15 实验四光栅传感器测距实验15 4.1实验内容15 4.2实验目的16 4.3实验仪器、设备16 4.4简单原理16 4.5实验步骤16 4.6实验结果17 4.5思考题19 实验五 PSD位置传感器位置测量实验19 5.1实验内容19 5.2实验目的19 5.3实验仪器、设备19 5.4简单原理19 5.5实验步骤20 5.6实验结果20 5.7思考题23 -

实验一金属箔式应变片——电桥性能实验指导教师日期 1.1实验内容 1.2实验目的 1.3实验仪器、设备 1.4简单原理

1.5实验步骤 1.6实验结果 表1.1 应变片单臂电桥实验数据表

表1.2 应变片半桥实验数据表 根据实验结果计算单臂和半桥的灵敏度、线性误差、回程误差,在座标纸上分别画出单臂、板桥的输入及输出关系曲线,并在曲线上标出线性误差、回城误差位置:

计算机硬件的组装实验报告

计算机硬件的组装 实验时间:3月30日晚6:00-9:00 学号:姓名: 一、实验目的 1.加深对理论知识的理解,提高实际动手能力; 2.了解计算机的主要部件,理解各部件的功能,了解微型机的各项技术指标和参数。 3.能掌握现代计算机组成结构、内部部件的连接和装机步骤 4.能够熟练掌握计算机的基本组装技巧。 二、实验内容 1、了解计算机主要器件、外部设备的种类和发展情况; 2、掌握计算机主要器件、外部设备的主要性能指标; 3、知道如何选购计算机的主要器件和外部设备; 4、根据了解的知识,动手实践组装一台微型计算机系统; 5、了解并掌握计算机系统的调试、维护方法。 三、实验步骤 (一)计算机主要器件及外部设备 1、计算机系统硬件组成:微处理器、主板、内存、外存储器、输入系统设备、显示系统设备、机箱与电源。 2、计算机的结构构成和功能 ⑴.主板:主板是一块方形的电路板,在其上面分布着众多电子 元件和各种设备的插槽等。

⑵.主板的插座:主板上的插座主要是指主板上的CPU插座和电源插座。 ⑶. 主板的插槽 ⑷. 主板的芯片组:主板的芯片组是整个主板的核心,主板上各个部件的运行都是通过主板芯片组来控制的。 ⑸.CPU:CPU由控制器和运算器这两个主要部件组成。控制器是整个计算机系统的指挥中心。控制器的指挥控制下,运算器、存储器和输入/输出设备等部件协同工作,构成了一台完整的通用计算机。运算器是计算机中用于实现数据加工处理等功能的部件,它接受控制器的命令,负责完成对操作数据的加工处理任务,其核心部件是算术逻辑单元。 ⑹.内存:内存主要由内存颗粒、PCB电路板、金手指等部分组成。内存的作用是和CPU进行数据交换的,用于直接提供CPU要处理的数据,同时内存容量有限,它需要不断的从外存调入当前操作需要的数据以备CPU使用。 3.计算机的拆装 工具︰螺丝刀 ⑴.拆卸部件操作步骤: 关闭电源,用螺丝刀拆下螺丝,拆卸机箱。 观察主机各部件的连接线(电源和信号线),各部件的固定位置和方式(固定点、螺钉类型),并登记。拆除电源和信号线、板卡、内存、硬盘和软驱。(不要拆除CPU、风扇、主板) ⑵.安装计算机部件的操作步骤:

大工2017《道桥工程实验(二)》实验报告

实验名称:土的压缩试验 一、实验目的:通过土的压缩试验得到试样在侧限与轴向排水条件下的孔隙比和压力的关系,即压缩曲线—e ~p 曲线,并以此计算土的压缩系数a 1-2,判断土的压缩性,为土的沉降变形计算提供依据。 二、实验原理: 1、计算公式 (1)试样初始孔隙比: 0s w 00 (1)1 w G e ρρ+= - (2)各级压力下试样固结变形稳定后的孔隙比:000 (1) i i e e e h h +=- ? (3)土的压缩系数:121-221-=-p -p p e e e α?= ? (4)土的压缩模量: 0 s1-21-21+e E α= 三、实验内容: 1、实验仪器、设备: 固结容器:环刀、护环、透水板、水槽、加压上盖。环刀:内径为61.8mm ,高度为20mm ;护环:保证试样侧面不变形,即满足侧限条件;透水板:其渗透系数大于试样的渗透系数。 加压设备:由压力框架、杠杆及砝码组成。 变形量测设备:量程10mm ,最小分度值为0.01mm 的百分表。 2、实验数据及结果

3、实验成果整理 四、实验结果分析与判定:

(1)根据实验结果,该土的压缩类别如何?该土的压缩类别为中性压缩土。

实验名称:钢筋混凝土简支梁实验 一、实验目的:1、分析梁的破坏特征,根据梁的裂缝开展判断梁的破坏形态;2、观察裂缝开展,记录梁受力和变形过程,画出荷载挠度曲线;3、根据每级荷载下应变片的应变值分析应变沿截面高度是否成线性;4、测定梁开裂荷载和破坏荷载,并与理论计算值进行比较。 二、实验基本信息: 1.基本设计指标 (1)简支梁的截面尺寸150mm×200mm (2)简支梁的截面配筋(正截面)150mm×200mm×1200mm 2.材料 (1)混凝土强度等级C30 (2)钢筋强度等级HRB335 三、实验内容: 第1部分:实验中每级荷载下记录的数据

计算机组装过程实验报告

计算机组装过程实验报告 院系: 班级:姓名:学号: 一、组装前的准备 1)准备计算机配件 组装一台计算机的配件一般包括主板、CPU、CPU风扇、内存、显卡、声卡(主板中都有板载声卡,除非用户特殊需要)、光驱(VCD 或DVD)、机箱、机箱电源、键盘鼠标、显示器、数据线和电源线等。 2)准备装机工具 除了计算机配件以外,还需要准备要用到的螺丝刀、尖嘴钳、镊子等装机工具 (1)十字口螺丝刀:用于螺丝的安装或拆卸。最好使用带有磁性的螺丝刀,这样安装螺丝钉时可以将其吸住,在机箱狭小的空间内使用起来比较方便。 (2)一字口螺丝刀:用于辅助安装,一般用处不大。 (3)镊子:用来夹取各种螺丝、跳线和比较小的零散物品。例如,在安装过程中一颗螺丝掉入机箱内部,并且被一个地方卡住,用手又无法取出,这时镊子就派上用场了。 (4)尖嘴钳:主要用来拆卸机箱后面的挡板或挡片。不过,现在的机箱多数都采用断裂式设计,用户只需用手来回对折几次,挡板或挡片就会断裂脱落。当然,使用尖嘴钳会更加方便。 (5)散热膏(硅脂):在安装CPU时必不可少的用品。用户只需将散热膏涂到CPU上,帮助CPU和散热片之间的连接,以增强硬件的

散热效率。在选购时一定要购买优质的导热硅脂。 二、台式计算机组装过程 1.拆卸机箱 >确定机箱侧板固定螺丝的位置,将固定螺丝拧下。 >转向机箱侧面,将侧板向机箱后方平移后取下,并以相同方式将另一侧板取下。 >取出机箱内的零件包。 2.安装电源(P4电源) 主机电源一般安装在主机箱的上端靠后的预留位置上。 >开电源包装盒,取出电源。 >将电源安装到机箱内的预留位置。 >用螺丝刀拧紧螺丝,将电源固定在主机机箱内。 3.将CPU和CPU散热器安装在主板上 >抬起主板上的CPU零拔插力插座(ZIF)的压杆,将CPU底板缺针的角对着插座上的缺口,然后水平放下,将CPU插入插座,然后将压杆往下压,卡住以后CPU就安装到位了。 >将塑料卡子按入风扇插座的4个孔中。 >将风扇放入支架中,固定风扇。 >将风扇电源线插入主板标明的CPU-FAN插座。 4.安装内存条 >最好将内存条插在离CPU最近的内存插槽中,可以提高内存的读写速度。

CPU与简单模型机设计 实验报告汇总

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成与结构 项目名称 CPU与简单模型机设计实验 班级 学号 姓名 同组人员无 实验日期 2015-11-15

一、实验目的 1.掌握一个简单CPU的组成原理; 2.在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机; 3.为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。 二、实验逻辑原理图与分析 2.1 实验逻辑原理图及分析 本实验要实现一个简单的CPU,并且在此CPU的基础上,继续构建一个简单的模型计算机。CPU由运算器(ALU)、微程序控制器(MC)、通用寄存器(RO)、指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图下图所示。这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和贮存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。 基本CPU构成原理图 系统的程序计数器(PC)和地址寄存器(AR)集成在一片CPLD芯片中。CLR连接至CON单元的纵情断CLR,按下CLR按钮,将是PC清零,LDPC和T3相与后作为计数器的计数时钟,当LOAD为低时,计数时钟到来后将CPU内总线的数据打入PC。 程序计数器(PC)原理图

2.2 逻辑原理图分析 本模型机;和前面微程序控制器实验相比,新增加一条跳转指令JMP,供有五条指令:IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移)、HLT(停机)、其指令格式瑞霞(高4为为操作码): 其中JMP为双字节指令,其余均为单字节指令,********为addr对应的二进制地址码。微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。 系统涉及到的微程序流程如下图所示,当拟定“取指”微指令时,该微指令的判别测试字段为P<1>测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P<1>的测试结果出现多分支。本机用指令寄存器的高6位(IR7—IR2)作为测试条件,出现5路分支,占用5个固定为地址单元,剩下的其他地方就可以一条微指令占用控制一个微地址单元随意填写,微程序流程图上的但愿地址为16进制。 当全部为程序设计完毕后,应将每条微指令代码化,下表即为将下图的微程序流程图按微指令格式转化而成的“二进制微代码表”。 简单模型机微程序流程图

计算机组成CPU数据通路verilog实验报告.doc

计算机组成与系统结构实验报告 院(系):计算机科学与技术学院 专业班级: 学号: 姓名: 同组者: 指导教师: 实验时间: 2012 年 5 月 23 日 实验目的:

完成处理器的单周期cpu的设计。 实验仪器: PC机(安装Altebra 公司的开发软件 QuartusII)一台 实验原理: 控制器分为主控制器和局部ALU控制器两部分。主控制器的输入为指令操作码op,输出各种控制信号,并根据指令所涉及的ALU运算类型产生ALUop,同时,生成一个R-型指令的控制信号R-type,用它来控制选择将ALUop输出作为ALUctr信号,还是根据R-型指令中的func字段来产生ALUctr信号。 实验过程及实验记录: 1.设计过程: 第一步:分析每条指令的功能,并用RTL来表示。 第二步:根据指令的功能给出所需的元件,并考虑如何将它们互连。 第三步:确定每个元件所需控制信号的取值。 第四步:汇总各指令涉及的控制信号,生成所反映指令与控制信号之间的关系图。 第五步:根据关系表,得到每个控制信号的逻辑表达式,据此设计控制电路。

2.完成代码的编写,并调试运行。 1)control module Control(op,func,Branch,Jump,RegDst,ALUSrc,ALUctr,MemtoReg, RegWr,MemWr,ExtOp); input [5:0] op,func; output reg Branch,Jump,RegDst,ALUSrc,MemtoReg,RegWr,MemWr,ExtOp; output reg [2:0] ALUctr; always @(op) case(op) 6'b000000: begin Branch=0;Jump=0;RegDst=1;ALUSrc=0;MemtoReg=0;RegWr=1;MemWr =0; case(func) 6'b100000:ALUctr=3'b001; 6'b100010:ALUctr=3'b101; 6'b100011:ALUctr=3'b100; 6'b101010:ALUctr=3'b111; 6'b101011:ALUctr=3'b110; endcase end 6'b001101: begin Branch=0;Jump=0;RegDst=0;ALUSrc=1;MemtoReg=0;RegWr=1;MemWr =0;ExtOp=0;ALUctr=3'b010; end 6'b001001: begin Branch=0;Jump=0;RegDst=0;ALUSrc=1;MemtoReg=0;RegWr=1;MemWr =0;ExtOp=1;ALUctr=3'b000; end

单片机实验报告

本科生实验报告 实验课程单片机原理及应用 学院名称核技术与自动化工程学院 专业名称电气工程及其自动化 学生姓名 学生学号 指导教师任家富 实验地点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单片机集成开发环境应用

软件测试实验报告

本科实验报告 课程名称:软件测试技术 实验项目:软件测试技术试验实验地点:实验楼211 专业班级:软件工程学号: 学生姓名:戴超 指导教师:兰方鹏 2015年10月7 日

太原理工大学学生实验报告 学院名称计算机与软件学院专业班级软件工程实验成绩 学生姓名戴超学号实验日期2015.10. 课程名称软件测试实验题目实验一白盒测试方法 一、实验目的和要求 (1)熟练掌握白盒测试方法中的逻辑覆盖和路径覆盖方法。 (2)通过实验掌握逻辑覆盖测试的测试用例设计,掌握程序流图的绘制。 (3)运用所学理论,完成实验研究的基本训练过程。 二、实验内容和原理 测试以下程序段 void dowork(int x,int y,int z) { (1)int k=0,j=0; (2)if((x>0)&&(z<10)) (3){ (4)k=x*y-1; (5)j=sqrt(k); (6)} (7)if((x==4)||(y>5)) (8)j=x*y+10; (9)j=j%3; (10)} 三、主要仪器设备 四、操作方法与实验步骤 说明:程序段中每行开头的数字(1-10)是对每条语句的编号。

A 画出程序的控制流图(用题中给出的语句编号表示)。 B 分别用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。 C 编写完整的C 程序(含输入和输出),使用你所设计的测试用例运行上述程序段。完整填写相应的测试用例表(语句覆盖测试用例表、判定覆盖测试用例表、条件覆盖测试用例表、判定/条件覆盖测试用例表、条件组合覆盖测试用例表、路径覆盖测试用例表、基本路径测试用例表) 流程图为: 开始 开始 k=0,j=0 (x>0)&&(z<1) k=x*y-1 j=sqrt(k) (x==4)||(y>5) j=x*y+10 j=j%3 结束 1 2 5 7 8 9

相关文档