计算机组成原理实验报告参考4篇

网友 分享 时间:

【路引】由阿拉题库网美丽的网友为您整理分享的“计算机组成原理实验报告参考4篇”文档资料,以供您学习参考之用,希望这篇范文对您有所帮助,喜欢就复制下载支持吧!

计算机组成原理实验报告1

课程名称:计算机组成原理学

院:计算机科学与工程专

业:计算机科学与技术指导教师:廖建明学生姓名:林怡学

号:实验成绩:日

期:实验报告

2012060020023

2014 年 11

28

日月

电 子 科 技 大 学

一、实验一:ALU设计实验

二、实验室名称:主楼A2-411 实验学时:4

三、实验目的:

1.熟悉ALU的工作原理。 2.掌握多个ALU的扩展方法。

3.掌握用硬件描述语言设计ALU的方法。

4.掌握数据的暂存和分时传送的方法。

四、实验内容

设计一个8bit ALU,实现两个8bit二进制数的算术运算和逻辑运算, ★算术运算(加、减); ★逻辑运算(与、或、置

1、清0); 实验要求:

1、设计一个4bitALU模块;

2、如何用4bitALU实现8bitALU的功能?

3、数据的输入/输出

输入: 只有8个开关,如何分时输入数据?

输出: 8个指示灯(数据),1个指示灯(进位/借位)

4、控制端输入

模式控制: (算术 / 逻辑)

运算方式控制: (+、- / and、or 、set、clr)

分时控制位: (输入数据的使能端)

数据输入控制脉冲:

五、实验原理: 实验原理图如图一:

图一

由图可知,ALU模块有四个输入,分别为寄存器A、B,模式控制端M与逻辑/算术运算方式控制端SE。输出为四位的D,同时还有一个进位/借位端cout。

其中M端为一位的输入,当M=1时,模块将用于逻辑运算,而M=0时,模块将进行算术运算。而两种运算模式下,两位的输入端SE的不同的值又将控制+、- / and、or 、set、clr等不同的运算方式。所以可以考虑采用if.。else.。结合case模块的方式来实现always块中的功能描述。

六、实验器材:

PC机、Xilinx 集成开发坏境、pq208芯片一块

七、实验步骤:

1、在Xilinx 集成开发坏境中输入实验代码,保存并验证其正确性;

2、将模块中使用到的开关与pq208的各个引脚的标号对应起来,并在xilinx中将其设置好;

3、将所需的开关与pq208的对应引脚用电线连接起来,之后将验证正确的代码下载到pq208芯片中;

4、根据实验要求操作各开关,观察指示灯的结果以验证实验的正确性;

实验代码如下:

module alu(A,B,M,SE,D,cout); input [3:0] A; input [3:0] B; input M; input [1:0] SE; output [3:0] D; output cout; reg [3:0] D; reg cout; always @(A,B,M,SE) begin

// 逻辑运算模式 if(M) begin case(SE) 2'b00:D=A&B; //与运算 2'b01:D=A|B; //或运算 2'b10:D=4'b1111; //置1 2'b11:D=4'b0000; //置0 endcase end

else //算术运算模式

begin

case(SE)

2'b00: {cout,D}=A+B; //加法运算 2'b01:{cout,D}=A+B; 2'b10: {cout,D}=A-B; //减法运算 2'b11:{cout,D}=A-B; endcase end end endmodule

I/O 端口与指示灯的连接方式: A[3:0] 与K1,K2,K3,K4相连, B[3:0]与K5,K6,K7,K8相连,

M与K10相连,SE与K12,K11相连,cout与L5相连, 输出端D[3:0]分别与L4,L3,L2,L1相连。

八、实验数据及结果分析:

电路图如图二、三所示:

图二

图三 图三中,当输入为0-1时,发现指示灯结果如为D[3:0]=1111 且cout=1。分析后可知,这个结果是由于-1的四位二进制补码表示为1111。

九、总结、改进建议及心得体会:

通过本次实验,我不仅完成了Verilog HDL语言从书本知识到实践的转化,同时也加深了对计算机CPU中的ALU模块的各种功能的了解。把自己设计的ALU模块加载到pq208芯片上进行仿真验证,非常好地锻炼了我的动手能力,看到自己写出的代码能够有实质性的成果展示也更好的调动了我的积极性。

总体来说,这次实验是非常有收获的。

电 子 科 技 大 学

一、实验二:存贮器设计实验

二、实验室名称:主楼A2-411 实验学时:4

三、实验目的:

1.掌握存贮器的读写控制方法,(读信号、写信号、片选信号)。 2.掌握存储器的字扩展和位扩展方法。 3.掌握用硬件描述语言设计存贮器的方法。 4.了解存储器种类、工作原理和特点。

四、实验原理: 实验原理图如下图:

分析上图可知,我们要把16*4的存储器扩展为一个32*8的存储器模块,总共需要4块16*4的存储器模块。我们首先需要把两块16*4的模块连接在一起扩展为一块16*8的存储器模块,再对两块16*8的模块进行字扩展,最终把它们扩展为一块32*8的静态存储器模块。

五、实验内容:

用字扩展和位扩展的方式,设计一个32X8的静态存储器,能够对其随机的读写。其中:32表示地址的寻址空间大小,8表示数据单元的位数。 要求:

1.设计一个16X4的可随机读写的存储器模块。

2.利用16X4存储器模块,如何通过级连实现32X8的存储器的功能。 3.数据、地址的输入/输出

数据/地址的输入:开关控制。

数据的输出:指示灯显示。 4.控制信号

片选:低有效。

读:低有效。

写:上升沿有效。

六、实验器材:

PC机、Xilinx 集成开发坏境、pq208芯片一块

七、实验步骤:

1、把两块16*4的存储器模块位扩展为16*8的存储器模块;

2、继续把两块16*8的存储器模块字扩展为一块32*8的存储器模块;

3、在Xilinx 集成开发坏境中把写好的实验代码保存;

4、将模块中使用到的开关与pq208的各个引脚的标号对应起来,将所需的开关与pq208的对应引脚用电线连接起来,之后将验证正确的代码下载到pq208芯片中;

5、根据实验要求操作各开关,对存储器进行读写操作并观察指示灯的结果以验证实验的正确性;

实验代码如下: 16*4存储器设计模块

module ram16_4(din,addr,wr,rd,cs,dout);

parameter D_WIDTH = 4;

parameter A_WIDTH = 4;

input[D_WIDTH-1:0] din;

//D[3:0] input[A_WIDTH-1:0] addr;

//AD[3:0] input wr,rd,cs; output[D_WIDTH-1:0]dout;

reg [D_WIDTH-1:0] ram [(2**A_WIDTH)-1:0]; //16*4

wire [D_WIDTH-1:0] dout;

always @(posedge wr)

if (!cs)

ram[addr]<= din;

assign dout = (!(rd||cs))?ram[addr]:4'bzzzz;

//rd cs同时为低电平 ram[addr] endmodule 16*8存储器设计模块

module ram16_8(d,ad,wr,rd,cs,dout);

input[4:0] ad; input[7:0] d; input wr,rd,cs; output[7:0] dout; ram16_4 m1(。din(d[3:0]),。addr(ad[3:0]),。wr(wr),。rd(rd),。cs(ad[4]|cs),。dout(dout[3:0])); ram16_4 m2(。din(d[7:4]),。addr(ad[3:0]),。wr(wr),。rd(rd),。cs(~ad[4]|cs),。dout(dout[7:4])); endmodule

32*8存储器设计模块

module ram32_8(d,ad,wr,rd,cs,dout);

input[4:0] ad; input[7:0] d; input wr,rd,cs; output[7:0] dout; ram16_8 ram16_8_1(。d(d[3:0]),。ad(ad[3:0]),。wr(wr),。rd(rd),。cs(ad[4]|cs),。dout(dout[3:0])); ram16_8 ram16_8_2(。d(d[7:4]),。ad(ad[3:0]),。wr(wr),。rd(rd),。cs(~ad[4]|cs),。dout(dout[7:4])); endmodule

八、 实验数据及结果分析:

实验结果图如下:

九、 总结、改进建议及心得体会:

本实验对存储器模块进行了字扩展和位扩展,将16*4的模块扩展为32*8的存储器模块,加深了我对于存储器扩展这部分知识的理解,同时让我对于Verilog HDL语言中的模块调用这部分的机制有了更深入的体会。

在验证实验结果的环节,自己动手操作对存储器模块进行读写操作也使我对于存储器这个计算机的重要组成部分有了一个更加感性的认识,对于它的寻址方式,片选逻辑等机制都有了更深层次的掌握。

上面内容就是差异网为您整理出来的4篇《计算机组成原理实验报告》,能够给予您一定的参考与启发,是差异网的价值所在。

计算机组成原理实验报告2

课程名称:计算机组成原理学

院:计算机科学与工程专

业:计算机科学与技术指导教师:廖建明学生姓名:林怡学

号:实验成绩:日

期:实验报告

2012060020023

2014 年 11

日月

电 子 科 技 大 学

一、实验一:ALU设计实验

二、实验室名称:主楼A2-411 实验学时:4

三、实验目的:

1.熟悉ALU的工作原理。2.掌握多个ALU的扩展方法。

3.掌握用硬件描述语言设计ALU的方法。

4.掌握数据的暂存和分时传送的方法。

四、实验内容

设计一个8bit ALU,实现两个8bit二进制数的算术运算和逻辑运算, ★算术运算(加、减);★逻辑运算(与、或、置

1、清0);实验要求:

1、设计一个4bitALU模块;

2、如何用4bitALU实现8bitALU的功能?

3、数据的输入/输出

输入: 只有8个开关,如何分时输入数据?

输出: 8个指示灯(数据),1个指示灯(进位/借位)

4、控制端输入

模式控制:(算术 / 逻辑)

运算方式控制:(+、-/ and、or、set、clr)

分时控制位:(输入数据的使能端)

数据输入控制脉冲:

五、实验原理: 实验原理图如图一:

图一

由图可知,ALU模块有四个输入,分别为寄存器A、B,模式控制端M与逻辑/算术运算方式控制端SE。输出为四位的D,同时还有一个进位/借位端cout。

其中M端为一位的输入,当M=1时,模块将用于逻辑运算,而M=0时,模块将进行算术运算。而两种运算模式下,两位的输入端SE的不同的值又将控制+、-/ and、or、set、clr等不同的运算方式。所以可以考虑采用if.。else.。结合case模块的方式来实现always块中的功能描述。

六、实验器材:

PC机、Xilinx 集成开发坏境、pq208芯片一块

七、实验步骤:

1、在Xilinx 集成开发坏境中输入实验代码,保存并验证其正确性;

2、将模块中使用到的开关与pq208的各个引脚的标号对应起来,并在xilinx中将其设置好;

3、将所需的开关与pq208的对应引脚用电线连接起来,之后将验证正确的代码下载到pq208芯片中;

4、根据实验要求操作各开关,观察指示灯的结果以验证实验的正确性;

实验代码如下:

module alu(A,B,M,SE,D,cout);input [3:0] A;input [3:0] B;input M;input [1:0] SE;output [3:0] D;output cout;reg [3:0] D;reg cout;always @(A,B,M,SE)begin

// 逻辑运算模式 if(M)begin case(SE)2'b00:D=A&B;//与运算 2'b01:D=A|B;//或运算 2'b10:D=4'b1111;//置1 2'b11:D=4'b0000;//置0 endcase end

else //算术运算模式

begin

case(SE)

2'b00: {cout,D}=A+B;//加法运算 2'b01:{cout,D}=A+B;2'b10: {cout,D}=A-B;//减法运算 2'b11:{cout,D}=A-B;endcase end end endmodule

I/O 端口与指示灯的连接方式: A[3:0] 与K1,K2,K3,K4相连,B[3:0]与K5,K6,K7,K8相连,M与K10相连,SE与K12,K11相连,cout与L5相连,输出端D[3:0]分别与L4,L3,L2,L1相连。

八、实验数据及结果分析:

电路图如图二、三所示:

图二

图三 图三中,当输入为0-1时,发现指示灯结果如为D[3:0]=1111 且cout=1。分析后可知,这个结果是由于-1的四位二进制补码表示为1111。

九、总结、改进建议及心得体会:

通过本次实验,我不仅完成了Verilog HDL语言从书本知识到实践的转化,同时也加深了对计算机CPU中的ALU模块的各种功能的了解。把自己设计的ALU模块加载到pq208芯片上进行仿真验证,非常好地锻炼了我的动手能力,看到自己写出的代码能够有实质性的成果展示也更好的调动了我的积极性。

总体来说,这次实验是非常有收获的。

电 子 科 技 大 学

一、实验二:存贮器设计实验

二、实验室名称:主楼A2-411 实验学时:4

三、实验目的:

1.掌握存贮器的读写控制方法,(读信号、写信号、片选信号)。2.掌握存储器的字扩展和位扩展方法。3.掌握用硬件描述语言设计存贮器的方法。4.了解存储器种类、工作原理和特点。

四、实验原理: 实验原理图如下图:

分析上图可知,我们要把16*4的存储器扩展为一个32*8的存储器模块,总共需要4块16*4的存储器模块。我们首先需要把两块16*4的模块连接在一起扩展为一块16*8的存储器模块,再对两块16*8的模块进行字扩展,最终把它们扩展为一块32*8的静态存储器模块。

五、实验内容:

用字扩展和位扩展的方式,设计一个32X8的静态存储器,能够对其随机的读写。其中:32表示地址的寻址空间大小,8表示数据单元的位数。要求:

1.设计一个16X4的可随机读写的存储器模块。

2.利用16X4存储器模块,如何通过级连实现32X8的存储器的功能。3.数据、地址的输入/输出

数据/地址的输入:开关控制。

数据的输出:指示灯显示。4.控制信号

片选:低有效。

读:低有效。

写:上升沿有效。

六、实验器材:

PC机、Xilinx 集成开发坏境、pq208芯片一块

七、实验步骤:

1、把两块16*4的存储器模块位扩展为16*8的存储器模块;

2、继续把两块16*8的存储器模块字扩展为一块32*8的存储器模块;

3、在Xilinx 集成开发坏境中把写好的实验代码保存;

4、将模块中使用到的开关与pq208的各个引脚的标号对应起来,将所需的开关与pq208的对应引脚用电线连接起来,之后将验证正确的代码下载到pq208芯片中;

5、根据实验要求操作各开关,对存储器进行读写操作并观察指示灯的结果以验证实验的正确性;

实验代码如下: 16*4存储器设计模块

module ram16_4(din,addr,wr,rd,cs,dout);

parameter D_WIDTH = 4;

parameter A_WIDTH = 4;

input[D_WIDTH-1:0] din;

//D[3:0] input[A_WIDTH-1:0] addr;

//AD[3:0] input wr,rd,cs;output[D_WIDTH-1:0]dout;

reg [D_WIDTH-1:0] ram [(2**A_WIDTH)-1:0];//16*4

wire [D_WIDTH-1:0] dout;

always @(posedge wr)

if(!cs)

ram[addr]<= din;

assign dout =(!(rd||cs))?ram[addr]:4'bzzzz;

//rd cs同时为低电平 ram[addr] endmodule 16*8存储器设计模块

module ram16_8(d,ad,wr,rd,cs,dout);

input[4:0] ad;input[7:0] d;input wr,rd,cs;output[7:0] dout;ram16_4 m1(。din(d[3:0]),。addr(ad[3:0]),。wr(wr),。rd(rd),。cs(ad[4]|cs),。dout(dout[3:0]));ram16_4 m2(。din(d[7:4]),。addr(ad[3:0]),。wr(wr),。rd(rd),。cs(~ad[4]|cs),。dout(dout[7:4]));endmodule

32*8存储器设计模块

module ram32_8(d,ad,wr,rd,cs,dout);

input[4:0] ad;input[7:0] d;input wr,rd,cs;output[7:0] dout;ram16_8 ram16_8_1(。d(d[3:0]),。ad(ad[3:0]),。wr(wr),。rd(rd),。cs(ad[4]|cs),。dout(dout[3:0]));ram16_8 ram16_8_2(。d(d[7:4]),。ad(ad[3:0]),。wr(wr),。rd(rd),。cs(~ad[4]|cs),。dout(dout[7:4]));endmodule

八、实验数据及结果分析:

实验结果图如下:

九、总结、改进建议及心得体会:

本实验对存储器模块进行了字扩展和位扩展,将16*4的模块扩展为32*8的存储器模块,加深了我对于存储器扩展这部分知识的理解,同时让我对于Verilog HDL语言中的模块调用这部分的机制有了更深入的体会。

在验证实验结果的环节,自己动手操作对存储器模块进行读写操作也使我对于存储器这个计算机的重要组成部分有了一个更加感性的认识,对于它的寻址方式,片选逻辑等机制都有了更深层次的掌握。

计算机组成原理实验报告3

计算机科学与技术-计10计 算 机 组 成 原 理 实 验 报姓

名:

号:

级:

指 导 老 师:

计算机科学与技术-计10

4一个上升沿,数据66H 被写入W 寄存器。 3)将11H写入R0寄存器

①K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入“Hand.。.。.。”手动状态。 ②二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据11H

置控制信号为:

③按住STEP脉冲键,CK由高变低,观察现象;放开STEP键,CK由低变高,产生一个上升沿,数据11H 被写入R0 寄存器。 4)将22H写入R1寄存器

①K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入“Hand.。.。.。”手动状态。 ②二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据22H

置控制信号为:

③按住STEP脉冲键,CK由高变低,观察现象;放开STEP键,CK由低变高,产生一个上升沿,数据22H被写入R1 寄存器。 5)将33H写入R2寄存器

①K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入“Hand.。.。.。”手动状态。 ②二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据33H

置控制信号为:

③按住STEP脉冲键,CK由高变低,观察现象;放开STEP键,CK由低变高,产生一个上升沿,数据33H被写入R2 寄存器。

计算机科学与技术-计104

这时寄存器R3 的红色输出指示灯亮,R3 寄存器的数据送上数据总线。此时数据总线指示灯L7.。. L0为: 01000100. 将K11(RRD)置为1, 关闭R3 寄存器输出。 11)将12H写入MAR寄存器

①K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入“Hand.。.。.。”手动状态。 ②二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据12H

置控制信号为:

③按住STEP脉冲键,CK由高变低,观察现象;放开STEP键,CK由低变高,产生一个上升沿,数据12H被写入MAR寄存器。 12)将34H写入ST寄存器

①K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入“Hand.。.。.。”手动状态。 ②二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据34H

置控制信号为:

③按住STEP脉冲键,CK由高变低,观察现象;放开STEP键,CK由低变高,产生一个上升沿,数据34H被写入ST 寄存器。 13)将56H写入OUT寄存器

①K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入“Hand.。.。.。”手动状态。 ②二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据56H

置控制信号为:

计算机科学与技术-计10

4(2)掌握简单运算器的数据传送通道。

(3)能够按给定数据,完成实验指定的算术/逻辑运算。

4、实验步骤:

①将55H写入A寄存器

二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据55H

置控制信号为:

按住STEP脉冲键,CK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。放开STEP键,CK由低变高,产生一个上升沿,数据55H被写入A寄存器。

②将33H写入W寄存器

二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据33H

置控制信号为:

按住STEP脉冲键,CK由高变低,这时寄存器W 的黄色选择指示灯亮,表明选择W寄存器。放开STEP 键,CK 由低变高,产生一个上升沿,数据33H 被写入W 寄存器。

③置下表的控制信号,检验运算器的运算结果

计算机科学与技术-计10

4实验2:移位实验 将55H写入A寄存器

二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据55H

置控制信号为:

按住STEP脉冲键,CK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。放开STEP键,CK由低变高,产生一个上升沿,数据55H被写入A寄存器。

S2S1S0=111 时运算器结果为寄存器A内容

5、实验结果与分析:

移位与输出门是否打开无关,无论运算器结果如何,移位门都会给出移位结果。但究竟把那一个结果送数据总线由X2X1X0输出选择决定。表中第一行,A中寄存器值为55H=01010101,L为左移结果为:10101010B=AAH,D为直通输入结果为原值,R为右

计算机科学与技术-计10

4(2)按图3—6连接实验线路, 仔细查线无误后接通源。

4、实验结果与分析:

① 编程

1

计算机科学与技术-计104

MAO清零,从而明确本机的运行入口微地址为000000(二进制)。

D.按动“START”键,启动时序电路,则每按动一次启动键,读出一条微指令后停机, 此时实验台上的微地址显示灯和微命令显示灯将显示所读出的一条指令。 注意:在当前条件下,可将“MICRO—CONTROLLER”单元的sE6一sEl接至“SWITCH UNIT”中的S3—Cn对应二进制开关上,可通过强置端sEl一sE6人为设置分支地址。将SEI—SE6对应二进制开关量为“1”,当需要人为设置分支地址时,将某个或几个二进制开关置“0”,相应的微地址位即被强置为“l”,从而改变下一条微指令的地址。(二进制开关置为“0”,相应的微地址位将被强置为“l”) ④ 连续运行

A.将编程开关置为“RUN(运行)”状态。

B.将实验板的单步开关“STEP”置为“EXEC”状态。

C. 使CLR从l→0→l,此时微地址寄存器清“0”,从而给出取指微指令的入口地址为 000000(二进制)。

D.启动时序电路,则可连续读出微指令。

5、实验注意事项:

此次实验主要要掌握微程序控制器的组成、工作原理;明确微程序、微指令、微命令的概念;掌握微指令、微程序的设计及调试方法;通过单步方式执行若干条微指令深入理解微程序控制器的工作原理;用逻辑分析仪测试微程序控制器指令的转移,微程序、微指

3

计算机组成原理--实验报告4

实验一 寄存器实验

实验目的:了解模型机中各种寄存器结构、工作原理及其控制方法。

实验要求:利用CPTH 实验仪上的K16.。K23 开关做为DBUS 的数据,其它开关做为控制信号,将数据写入寄存器,这些寄存器包括累加器A,工作寄存器W,数据寄存器组R0.。R3,地址寄存器MAR,堆栈寄存器ST,输出寄存器OUT。

实验电路:寄存器的作用是用于保存数据的CPTH 用74HC574 来构成寄存器。74HC574 的功能如下:

系统清零和手动状态设定:K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入“Hand.。.。.。”手动状态。 在后面实验中实验模式为手动的操作方法不再详述.

将55H写入A寄存器

二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据55H

置控制信号为:

按住STEP脉冲键,CK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。放开STEP键,CK由低变高,产生一个上升沿,数据55H被写入A寄存器。 将66H写入W寄存器

二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据66H

将11H、22H、33H、44H写入R0、R1、R2、R3寄存器将 二进制开关K23-K16,置数据分别为11H、22H、33H、44H 置控制信号为:

K11、K10为10,K1、k0分别为00、01、10、11

并分别按住STEP 脉冲键,CK 由高变低,这时寄存器R0、R1R2R3 的黄色选择指示灯分别亮,放开STEP键,CK由低变高,产生一个上升沿,数据被写入寄存器。 注意观察:

1、 数据是在放开STEP键后改变的,也就是CK的上升沿数据被打入。

2、 K1(SB), K0(SA) 用于选择寄存器。

读寄存器

置控制信号为:K11、K10为01, K1、K0为00时,读R0,这时寄存器R0 的红色输出指示灯亮,R0 寄存器的数据送上数据总线。此时数据总线指示灯L7.。. L0为:00010001.

00110011、 01000100.

寄存器MAR原理图

连接线表 寄存器OUT原理图

寄存器MAR,ST,OUT写工作波形图

K14(MAROE)为0, MAR寄存器中的地址输出,MAR 红色输出指示灯亮。 将K14(MAROE)置为1,关闭MAR输出。

将34H写入ST寄存器

二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据34H

置控制信号为:

按住STEP 脉冲键,CK 由高变低,这时寄存器ST 的黄色选择指示灯亮,表明选择ST 寄存器。放开STEP键,CK由低变高,产生一个上升沿,数据34H被写入ST 寄存器。 将56H写入OUT寄存器

二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据56H

置控制信号为:

1实验电路:CPTH 中的运算器由一片CPLD实现,有8 种运算,通过S2,S1,S0 来选择,运算数据由寄存器A及寄存器W 给出,运算结果输出到直通门D。

连接线表

3

按住STEP脉冲键,CK由高变低,这时寄存器W 的黄色选择指示灯亮,表明选择W寄存器。放开STEP 键,CK 由低变高,产生一个上升沿,数据33H 被写入W 寄存器。

置下表的控制信号,检验运算器的运算结果

注意观察:

运算器在加上控制信号及数据(A,W)后,立刻给出结果,不须时钟。 实验心得:

实验三

PC 实验

实验目的:

1、了解模型机中程序计数器PC的工作原理及其控制方法。

2、了解程序执行过程中顺序和跳转指令的实现方法。

5

PC 原理图

在CPTH 中,PC+1 由PCOE 取反产生。 当RST = 0 时,PC 记数器被清0

7

当ELP=1 时,LDPC=1,不允许PC被预置 当ELP=0 时,LDPC 由IR3,IR2,Cy,Z确定 当IR3 IR2 = 1 X 时,LDPC=0,PC 被预置

当IR3 IR2 = 0 0 时,LDPC=非Cy,当Cy=1时,PC 被预置 当IR3 IR2 = 0 1 时,LDPC=非Z,当Z=1 时,PC 被预置 连接线表

9

每置控制信号后,按一下STEP键,观察PC的变化。

实验心得

实验四 存储器EM 实验

实验目的:了解模型机中程序存储器EM 的工作原理及控制方法。

实验要求:利用CPTH 实验仪上的K16.。K23 开关做为DBUS 的数据,其它开关做为控制信号,实现程序存储器EM 的读写操作。 实验电路:

存储器EM 由一片6116RAM 构成,是用户存放程序和数据的地方。存储器EM 通过一片74HC245 与数据总线相连。存储器EM 的地址可选择由PC或MAR 提供。

存储器EM 的数据输出直接接到指令总线IBUS,指令总线IBUS 的数据还可以来自一片74HC245。当ICOE 为0 时,这片74HC245 输出中断指令B8。

1

实验1:PC/MAR 输出地址选择

置控制信号为:

3

0,二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据01H 置控制信号为:

按STEP键, 将地址1 写入MAR

将数据22H写入EM[1] 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据22H 置控制信号为:

按STEP键,将数据22H写入EM[1] 实验3:存储器EM 读实验 将地址0 写入MAR 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据00H 置控制信号为:

按STEP键, 将地址0 写入MAR

5实验4:存储器打入IR指令寄存器/uPC实验 将地址0写入MAR 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据00H

置控制信号为:

按STEP键,将地址0写入MAR

读EM[0],写入IR及uPC

置控制信号为:

EM[0]被读出:11H 按STEP键,将EM[0]写入IR及uPC,IR=11H,uPC=10H

7实验五 微程序存储器uM 实验

实验目的:

1、了解微程序控制方式模型机的基本工作原理。

2、了解微程序存储器uM的控制方法。 实验要求:利用CPTH 实验仪上的开关做为控制信号,实现微程序存储器uM 的输出功能。

实验电路:

存储器uM 由三片6116RAM 构成,共24 位微指令,采用水平型微指令格式。存储器的地址由uPC 提供, 片选及读信号恒为低, 写信号恒为高。 存储器uM 始终输出uPC 指定地址单元的数据。

9

uM原理图

连接线表

实验1:微程序存储器uM 读出

置控制信号为:K0为1

uM 输出uM[0]的数据

按一次STEP脉冲键,CK产生一个上升沿,数据uPC 被加一。 uM 输出uM[1]的数据

按一次STEP脉冲键,CK产生一个上升沿,数据uPC 被加一。 uM 输出uM[2]的数据

实验2:使用实验仪小键盘输入uM

1.连接J1, J2

2.打开电源

1实验六

模型机综合实验(微程序控制器)

3 -

35 467407
");