文档库 最新最全的文档下载
当前位置:文档库 › 计算机组成实验报告_LAB5

计算机组成实验报告_LAB5

计算机组成实验报告_LAB5
计算机组成实验报告_LAB5

计算机组成实验五——简单的类MIPS单周期处理器实现

生命科学技术学院

5110809XXX

大豆比

目录

1OVERVIEW (1)

1.1实验名称 (1)

1.2实验目的 (1)

1.3实验范围 (1)

1.4注意事项 (1)

2实验描述 (2)

2.1新建工程 (2)

2.2顶层模块Top (5)

2.2.1模块描述 (5)

2.2.2新建模块源文件Top.v (5)

2.2.3定义信号线 (5)

2.2.4程序计数器PC (6)

2.2.5RESET (6)

2.2.6模块实例化,连接模块 (7)

2.2.7连接其他信号线 (8)

3仿真测试 (10)

3.1编写二进制测试程序 (10)

3.2初始化存储器 (10)

3.3编辑testbench文件 (11)

3.4仿真测试,观察波形 (11)

4下载验证 (12)

4.1修改Top.v中Top模块的输入输出端口 (12)

4.2编辑管脚约束文件top.ucf (12)

4.3时钟分频 (12)

4.4指定输入输出端口的意义 (13)

5实验感想与建议 (14)

5.1实验感想 (14)

5.2一些建议 (14)

6实验程序源代码 (15)

6.1Top.v (15)

6.2Ctr.v (18)

6.3Alu.v (21)

6.4AluCtr.v (22)

6.5data_memory.v (23)

6.6register.v (25)

6.7signext.v (27)

6.8inst_memory.v (27)

6.9timeDivider.v (28)

1.OVERVIEW1

1.1实验名称

简单的类MIPS单周期处理器实现-整体调试

1.2实验目的

完成单周期的类MIPS处理器

1.3实验范围

本次实验将覆盖以下范围

1、ISE的使用

2、Xilinx Spartan3E实验板的使用

3、使用VerilogHDL进行逻辑设计

4、仿真测试、下载验证

1.4注意事项

本实验的逻辑设计工具为Xilinx ISE13.4。

2.1新建工程1、启动ISE1

3.4;

2、新建工程lab5;

3、选择FPGA型号、综合和仿真工具、描述语言等配置;

4、右键点击Hierarchy窗口,添加已有模块。有:Ctr.v、Alu.v、AluCtr.v、data_memory.v、register.v、signext.v六个文件(之前两个实验完成)。

5、Adding Source Files...中,选中全部要添加的文件,保持默认项,点OK。

2.2顶层模块Top

2.2.1模块描述

MIPS单周期处理器原理图

2.2.2新建模块源文件Top.v

下图的例子是已经下载至板子验证过的,故输入和输出有1个时钟(mainClock)、4个开关([3:0]SWITCH)和8个LED灯([7:0]LED)。

2.2.3定义信号线

给Top模块内的每一根连接的信号线命名,并在top模块中声明它们。

2.2.4程序计数器PC

程序计数器是这个简单CPU能够跑起来的关键。定义一个32位reg类型PC,在时钟上升沿做PC<=PC+4。

//定义PC

//初始化PC为0

//在时钟的上升沿根据不同情况对PC

赋值

2.2.5RESET

当RESET为1时,PC置0,各寄存器清零。

要达成上述功能,就需要适当修改之前实验的各个模块,给模块添加reset信号。

以下以data_memory模块为例,演示reset信号的加入和功能实现。

1、在data_memory模块的定义中加入输入信号reset:

2、在always模块中添加初始化代码

在这一步中需要注意的是,对数据初始化的操作必须在原来数据赋值的always模块中进行,否则上板时会失败(不允许同一个变量在两个模块中赋值)。

2.2.6模块实例化,连接模块

实例化前两次实验中编写的模块,实例化的过程中连接模块的端口。本实验在实例化过程中采用的是如下方法:

在连接时用“.”符号,表明原模块是定义时规定的端口名:

模块模块名(.端口1(信号1),.端口2(信号2))

下面是本工程文件所有实例化对象和端口连接的代码:

2.2.7连接其他信号线

MUX

Mux可以用一个三目运算符来实现。

在Top.v中Mux的实现代码如下:

OUT1:OUT2:

OUT3:OUT4:OUT5:

3.1编写二进制测试程序

由于处理器是从指令内存inst_memory中读取指令,依次执行的,所以程序保存在指令内存中。

以下是测试程序的指令:

00001000000000000000000000000100//j a

00000000000000000000000000000000//nop

00000000000000000000000000000000//nop

00000000000000000000000000000000//nop

10101100000001000000000000000000//sw$40($0)

10101100000000110000000000000100//sw$34($0)

10001100000000010000000000000100//lw$14($0)

10001100000000100000000000000000//lw$20($0)

00000000001000100001100000100000//add$3,$1,$2

00000000001000100010000000100010//sub$4,$1,$2

00001000000000000000000000000100//j a

3.2初始化存储器

$readmemb和$readmemh这两个系统任务用来从文件中读取数据到存储器中,代码编写放在存储器的initial初始化块中。

data_memory中:

register中:

inst_memory中:

注意:在仿真测试时,初始化不完全并不会对波形造成影响,但是如果要上板子,则需对变量中的每一位进行赋值,否则会产生一个warning,提示你进行了部分初始化,系统默认会将你的初始化操作忽略从而产生错误。

3.3编辑testbench文件

这里添加了时钟激励,200ns为一个时钟周期。

3.4仿真测试,观察波形

对照自己的测试程序可知,波形正确,仿真成功。

4.1修改Top.v中Top模块的输入输出端口

之前有提到过,上板子时,输入输出要做些变化。如下图Top模块的输入输出直接被改为一个时钟、四个开关和八个LED灯。

4.2编辑管脚约束文件top.ucf

将输入输出端口与物理管脚连接起来,如下:

4.3时钟分频

由于板子晶振提供的时钟频率速度较高,需要对时钟进行分频,所以自己定义了一个TimeDivider模块来实现,是由实验二中的TimeDivider模块做简单修改而来。

这里将buffer和clockOut做了一个初始化为0,是为了上板子的需要。

另外将clockOut<=&buffer改为clockOut<=buffer[24]可以使得到的时钟周期波形更加理想。如不改,则clockOut在绝大多数时间为0,只有在1/225的时间才为1,做此修改后,clockOut为0和1的时间各占一半,波形较理想,易于观察。

4.4指定输入输出端口的意义

前面4.1对Top模块的定义时,只有1个时钟、4个开关和8个LED灯,而没有指定他们分别表示什么。所以接下来我们需要定义这4个开关和8个LED灯所对应的信号。

//开关3为reset信号

//开关2,开关1,开关0的状态分别是关、关、开的时候即001时,LED灯显示第一个寄存器的后8位数据;

//开关2,开关1,开关0的状态分别是关、开、关的时候即010时,LED灯显示第二个寄存器的后8位数据;

//开关2,开关1,开关0的状态分别是关、开、开的时候即011时,LED灯显示第三个寄存器的后8位数据;

//开关2,开关1,开关0的状态分别是开、关、关的时候即100时,LED灯显示第四个寄存器的后8位数据;

//开关2,开关1,开关0的状态分别是关、关、开的时候即001时,LED灯显示指令寄存器的后8位数据;

//开关2,开关1,开关0的状态是除上面说明的五种情况以外时,LED灯显示PC寄存器的后8位数据;

4.5生成二进制流文件,下载至板子

点击Generate Programming File,生成完成后,下载至板子验证。

经实际操作验证,程序有效,上板子成功!

5.实验感想与建议14

5.1实验感想

Lab5是对Lab3和Lab4的一个综合,通过新定义的模块Top来实现一个简单的类MIPS 单周期处理器。在老师所给的实验指导书中,省略了很多细节,有很多细节代码需要自己去编写,需要自己对着原理图思考。但是所幸前几个实验让我们对Verilog和FPGA有了一个粗浅的认识,使得自己拥有了初步自己思考和编写代码的能力。窃以为这样一步一步走向深入的方法是非常不错的!比我们本专业的实验设计要合理得多!希望老师能够继续保持,实验课能够越办越好。

不得不提的是在板子上验证这一环节占用了我整个Lab5编写的大半时间,这主要是由于我之前对Verilog的代码编写只是依葫芦画瓢,而不得其要领所致。花了很多的时间重新编写Lab5的代码部分,主要是因为阻塞赋值和非阻塞赋值的理解不够深刻,导致整个程序翻译成二进制流文件时一直报错。之后通过百度,知道了对这两种赋值的一般处理方法,才解决了此问题。总之,上板子遇到的问题要比仿真多得多……

最后还是感谢老师让我将板子带回宿舍自行调试,我才最终完成了板子调试这部分的工作,也算了却我一个心结。

5.2一些建议

本次实验结束,由于作为一名大四学生琐事缠身也无力进行下一个实验,虽然本人对下一个实验也是充满期待,在此也是表达一下遗憾之情。以下就是本人关于计算机组成实验的一些建议:

1、在实验初期时即说明板子可外借,其实本人Lab5波形仿真早已成功,只是板子验证实验花去过多时间而无法进行Lab6实验,直到老师借本人一个板子,才完成了板子验证实验。

2、实验指导文件中多一些要实现的功能的描述。在本次实验中,本人就是一直纠结reset 要实现何种功能而耽误许多时间,也许这是本实验高度开放性的体现,但本人还是希望有一个较明确的目标比较容易实现。

在这几个星期的实验中,多谢老师的悉心指导和给予的宽松的实验环境。谢谢老师!

6.1Top.v

////////////////////////////////////////////////////////////////////////////////// module Top(

input mainClock,

input[3:0]SWITCH,

output reg[7:0]LED

);

reg[31:0]PC;

wire clk,

reset,

REG_DST,

JUMP,

BRANCH,

MEM_READ,

MEM_TO_REG,

MEM_WRITE,

ALU_SRC,

REG_WRITE,

ZERO;

wire[1:0]ALU_OP;

wire[3:0]ALU_CTR;

wire[31:0]INST;

wire[31:0]ALU_RES;

wire[31:0]DATA;

wire[31:0]READ_DATA;

wire[31:0]READ_DATA1;

wire[31:0]READ_DATA2;

wire[4:0]OUT1;

wire[31:0]OUT2;

wire[31:0]OUT3;

wire[31:0]OUT4;

wire[31:0]OUT5;

wire[7:0]REG1;

wire[7:0]REG2;

wire[7:0]REG3;

wire[7:0]REG4;

initial

begin

PC=0;

end

timeDivider mainTimeDivider(

.clockIn(mainClock),.clockOut(clk));

Ctr mainCtr(

.reset(reset),

.opCode(INST[31:26]),

.regDst(REG_DST),

.jump(JUMP),

.branch(BRANCH),

.memRead(MEM_READ),

.memToReg(MEM_TO_REG),

.aluOp(ALU_OP),

.memWrite(MEM_WRITE),

.aluSrc(ALU_SRC),

.regWrite(REG_WRITE));

Alu mainAlu(

.reset(reset),

.input1(READ_DATA1),

.input2(OUT2),

.aluCtr(ALU_CTR),

.zero(ZERO),

.aluRes(ALU_RES));

AluCtr mainALuCtr(

.reset(reset),

.aluOp(ALU_OP),

.funct(INST[5:0]),

.aluCtr(ALU_CTR));

data_memory mainDataMemory(

.clock_in(clk),

.reset(reset),

.address(ALU_RES),

.writeData(READ_DATA2),

.memWrite(MEM_WRITE),

.memRead(MEM_READ),

.readData(READ_DATA)); register mainRegister(

.clock_in(clk),

.reset(reset),

.readReg1(INST[25:21]),

.readReg2(INST[20:16]),

.writeReg(OUT1),

.writeData(OUT3),

.regWrite(REG_WRITE),

.readData1(READ_DATA1),

.readData2(READ_DATA2),

.register1(REG1),//

.register2(REG2),//

.register3(REG3),//

.register4(REG4));//

signext mainSignExt(

.inst(INST[15:0]),

.data(DATA),

.reset(reset));

inst_memory mainInstMemory(

.reset(reset),

.readAddress(PC),

.inst(INST));

assign OUT1=REG_DST?INST[15:11]:INST[20:16];

assign OUT2=ALU_SRC?DATA:READ_DATA2;

assign OUT3=MEM_TO_REG?READ_DATA:ALU_RES;

assign OUT4=(ZERO&&BRANCH)?((DATA<<2)+PC+4):(PC+4);

assign OUT5=JUMP?(PC+4)&32'b111100000000000000000000|(INST[25:0]<<2): OUT4;

assign reset=SWITCH[3];

//assign LED=(SWITCH[2]&&SWITCH[1]&&SWITCH[0])?INST[7:0]:PC[7:0];

always

begin

case(SWITCH[2:0])

3'b001:

LED=REG1;

3'b010:

LED=REG2;

3'b011:

LED=REG3;

3'b100:

LED=REG4;

3'b111:

LED=INST[7:0];

default:

LED=PC[7:0];

endcase

end

always@(posedge clk)

begin

if(reset)

PC<=0;//

else if(ZERO&BRANCH)

PC<=OUT4;

else if(JUMP)

PC<=OUT5;

else

PC<=PC+4;

end

endmodule

6.2Ctr.v

////////////////////////////////////////////////////////////////////////////////// module Ctr(

input reset,

input[5:0]opCode,

output reg regDst,

output reg aluSrc,

output reg memToReg,

output reg regWrite,

output reg memRead,

output reg memWrite,

output reg branch,

output reg[1:0]aluOp,

output reg jump

);

always@(opCode or reset)

begin

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

课程名称计算机组成原理 课程代码6013749 实验时间2013 年12 月15 日 指导单位 指导教师 学生姓名年级 学号专业 成绩 实验名称 实验地点 6A-417 实验二通用寄存器单元实验 实验类型验证实验学时8 实验日期 实验目的和要求: 目的:1.了解通用寄存器的组成和硬件电路; 2 .利用通用寄存器实现数据的置数、左移、右移等功能 要求:按照实验步骤完成实验项目,实现通用寄存器移位操作。了解通用寄存器的工作原理运用。实验环境(实验设备) :CPT实验机,连线

实验原理及内容 1.实验原理 <1>通用寄存器单元的工作原理: 通用寄存器的核心部件为2片GAL,它具有锁存、左移、右移、保存等功能。各个功能都由X1、X2信号和工作脉冲RACK来决定。当置ERA=0、X0=1、X1=1,RACK有上升沿时,把总线上的数据打入通用寄存器。可通过设置X1、X0来指定通用寄存器工作方式,通用寄存器的输出端Q0~Q7接入判零电路。LED(ZD)亮时,表示当前通用寄存器内数据为0。 输出缓冲器采用74LS244,当控制信号RA-O为低时,74LS244开通,把通用寄存器内容输出到总线;当控制信号RA-O为高时,74LS244的输出为高阻。 图1 通用寄存器原理图 <2>寄存器实验构成 1.通用寄存器由2片GAL构成8位字长的寄存器单元。8 芯插座RA-IN作为数据输入端,可通过端8芯扁平电缆, 把数据数据输入端连接到数据总线上。 2.数据输出由一片74LS244(输出缓冲器)来控制。用8 芯插座RA-OUT作为数据输出端,可通过端8芯扁平电 缆,把数据数据输出端连接到数据总线上。 3.判零和进位电路由1片GAL、1片7474和一些常规芯片 组成,用2个LED(ZD、CY)发光管分别显示其状态。

计算机组成实验报告_LAB5

计算机组成实验五——简单的类MIPS单周期处理器实现 生命科学技术学院 5110809XXX 大豆比

目录 1OVERVIEW (1) 1.1实验名称 (1) 1.2实验目的 (1) 1.3实验范围 (1) 1.4注意事项 (1) 2实验描述 (2) 2.1新建工程 (2) 2.2顶层模块Top (5) 2.2.1模块描述 (5) 2.2.2新建模块源文件Top.v (5) 2.2.3定义信号线 (5) 2.2.4程序计数器PC (6) 2.2.5RESET (6) 2.2.6模块实例化,连接模块 (7) 2.2.7连接其他信号线 (8) 3仿真测试 (10) 3.1编写二进制测试程序 (10) 3.2初始化存储器 (10) 3.3编辑testbench文件 (11) 3.4仿真测试,观察波形 (11) 4下载验证 (12) 4.1修改Top.v中Top模块的输入输出端口 (12) 4.2编辑管脚约束文件top.ucf (12) 4.3时钟分频 (12) 4.4指定输入输出端口的意义 (13) 5实验感想与建议 (14) 5.1实验感想 (14) 5.2一些建议 (14) 6实验程序源代码 (15) 6.1Top.v (15) 6.2Ctr.v (18) 6.3Alu.v (21) 6.4AluCtr.v (22) 6.5data_memory.v (23) 6.6register.v (25) 6.7signext.v (27) 6.8inst_memory.v (27) 6.9timeDivider.v (28)

1.OVERVIEW1 1.1实验名称 简单的类MIPS单周期处理器实现-整体调试 1.2实验目的 完成单周期的类MIPS处理器 1.3实验范围 本次实验将覆盖以下范围 1、ISE的使用 2、Xilinx Spartan3E实验板的使用 3、使用VerilogHDL进行逻辑设计 4、仿真测试、下载验证 1.4注意事项 本实验的逻辑设计工具为Xilinx ISE13.4。

计算机组成实验报告汇总

计算机组成与体系结构 实验报告

实验项目一 一、实验目的 通过了解高级语言源程序和目标机器代码的不同表示及其相互转换,深刻理解高级语言和机器语言之间的关系,以及机器语言和不同体系结构之间的关系。 二、实验要求: 在VC6.0中创建下列源程序 #include void main() { inti=100; int j=-1; int k; k=i+j; printf("%d",k); } 然后对该程序进行编译、链接,最终生成可执行目标代码。 三、实验报告 1.给出做实验的过程. 关键代码如下:

2.给出源程序(文本文件)的内容(用十六进制形式表示)。 3.给出可执行目标文件(二进制文件)的内容(用十六进制形式表示)。

4.VC6.0调试环境:设置断点、单步运行、变量的值(十进制、十六进制)、变量的地址、变量的存储。 断点设置如下:

变量的值十进制: 变量的值十六进制: 变量的地址:

5.VC 6.0反汇编:查看源程序对应的汇编程序、可执行目标程序的二进制编码、了解如何给变量分配内存、系统函数程序段的调用。 6.分析或回答下列问题。 (1)分析同一个源程序在不同机器上生成的可执行目标代码是否相同。 不相同。因为不同的机器硬件的组成不同,因此同一个源程序在不同的机器上生成的目标文件不同。 (2)你能在可执行目标文件中找出函数printf()对应的机器代码段吗?能的话,请标示出来。 不能。因为源程序中的printf函数在可执行文件中已转换为机器语言。被翻译的机器语言中有printf函数,但是不知道是从哪一段开始翻译的。 (3)为什么源程序文件的内容和可执行目标文件的内容完全不

计算机组成原理实验报告

重庆理工大学 《计算机组成原理》 实验报告 学号 __11503080109____ 姓名 __张致远_________ 专业 __软件工程_______ 学院 _计算机科学与工程 二0一六年四月二十三实验一基本运算器实验报告

一、实验名称 基本运算器实验 二、完成学生:张致远班级115030801 学号11503080109 三、实验目的 1.了解运算器的组成结构。 2.掌握运算器的工作原理。 四、实验原理: 两片74LS181 芯片以并/串形式构成的8位字长的运算器。右方为低4位运算芯片,左方为高4位运算芯片。低位芯片的进位输出端Cn+4与高位芯片的进位输入端Cn相连,使低4位运算产生的进位送进高4位。低位芯片的进位输入端Cn可与外来进位相连,高位芯片的进位输出到外部。 两个芯片的控制端S0~S3 和M 各自相连,其控制电平按表2.6-1。为进行双操作数运算,运算器的两个数据输入端分别由两个数据暂存器DR1、DR2(用锁存器74LS273 实现)来锁存数据。要将内总线上的数据锁存到DR1 或DR2 中,则锁存器74LS273 的控制端LDDR1 或LDDR2 须为高电平。当T4 脉冲来到的时候,总线上的数据就被锁存进DR1 或DR2 中了。 为控制运算器向内总线上输出运算结果,在其输出端连接了一个三态门(用74LS245 实现)。若要将运算结果输出到总线上,则要将三态门74LS245 的控制端ALU-B 置低电平。否则输出高阻态。数据输入单元(实验板上印有INPUT DEVICE)用以给出参与运算的数据。其中,输入开关经过一个三态门(74LS245)和内总线相连,该三态门的控制信号为SW-B,取低电平时,开关上的数据则通过三态门而送入内总线中。 总线数据显示灯(在BUS UNIT 单元中)已与内总线相连,用来显示内总线上的数据。控制信号中除T4 为脉冲信号,其它均为电平信号。 由于实验电路中的时序信号均已连至“W/R UNIT”单元中的相应时序信号引出端,因此,需要将“W/R UNIT”单元中的T4 接至“STATE UNIT”单元中的微动开关KK2 的输出端。在进行实验时,按动微动开关,即可获得实验所需的单脉冲。 S3、S2、 S1、S0 、Cn、M、LDDR1、LDDR2、ALU-B、SW-B 各电平控制信号则使用“SWITCHUNIT”单元中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B 为低电平有效,LDDR1、LDDR2 为高电平有效。 对于单总线数据通路,作实验时就要分时控制总线,即当向DR1、DR2 工作暂存器打入数据时,数据开关三态门打开,这时应保证运算器输出三态门关闭;同样,当运算器输出结果至总线时也应保证数据输入三态门是在关闭状态。 运算结果表

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

实验二存储器实验 一、实验目的 熟悉和了解存储器组织与总线组成的数据通路。 二、实验原理 存储器是计算机的存储部件,用于存放程序和数据。存储器是计算机信息存储的核心,是计算机必不可少的部件之一,计算机就是按存放在存储器中的程序自动有序不间断地进行工作。本系统从提高存储器存储信息效率的角度设计数据通路,按现代计算机中最为典型的分段存储理念把存储器组织划分为程序段、数据段等,由此派生了数据总线(DBUS)、指令总线(IBUS)、微总线( BUS)等与现代计算机设计规范相吻合的实验环境。该存储器组织由二片6116构成具有奇偶概念的十六位信息存储体系,该存储体系AddBus由PC指针和AR 指针分时提供,E/M控位为“0”时选通PC,反之选通AR。该存储体系可随机定义总线宽度,动态变更总线结构,把我们的教学实验提高到能与现代计算机设计规范相匹配与接轨的层面。 连线信号孔接入孔作用有效电平 1 DRCK CLOCK 单元手动实验状态的时钟来源下降沿打入 2 W K6(M6) 总线字长:1=16位字操作,0=8位字节操作 3 XP K7(M7) 源部件奇偶标志:1=偶寻址,0=奇寻址 4 X2 K10(M10) 源部件定义译码端X2 三八译码 八中选一5 X1 K9(M9) 源部件定义译码端X1

四、实验过程 1. 存储器数据段读写操作 (1) 数据段写操作(字) 在进行数据存储器字操作时,地址线A0必须为0(偶地址)。向数据段的0000~0005h 存储单元写入11 22 33 44 55 66一串数据,以0000h 地址单元写入数据1122h 为例表述操作流程。 置地址I/O=0000h AR 地址写入(0000h)置数据I/O=1122h 存储器写入(1122h)关存储器写X2 X1 X0=011XP W=11 LDAR(K17)=0 MWR(K21)=1按[单拍] E/M(K23)=1LDAR(K17)=1按[单拍] MWR(K21)=0 (2) 数据段读操作(字) 依次读出数据段0~0005h 单元的内容,这里以0000h 地址单元读出为例阐述操作流程。 置地址I/O=0000h AR 地址写入(0000h)关AR 写使能存储器读出(1122h)数据总线显示存储器值 X2 X1 X0=011XP W=11 LDAR(K17)=0 E/M(K23)=1LDAR(K17)=1按 [单拍] X2 X1 X0=100W=1 2. 存储器程序段读写操作 (1) 程序段字节写操作 计算机规范的取指操作均以字节为单位。所以本实验以字节操作方式展开。程序段写入必须从定义地址入手,然后再进入程序存储器的写入。 PC 指针是带预置加法计数器,因此在输入起始地址后一旦后续地址为PC+1的话就不需重装PC ,用PC+1指令完成下续地址的读写操作。 PC 地址装载写入与PC+1写入流程 置地址I/O=0000h PC 地址写入(0000h)I/O=1234h 12h →[PC]地址增量PC+1关存储器写X2 X1 X0=011XP W=11 E/M(K23)=0LDPC(K22)=0MWR(K21)=1W=0,按[单拍] LDPC(K22)=1MWR(K21)=0 E/M(K23)=1LDPC(K22)=1按[单拍] LDPC(K22)=0MWR(K21)=1XP=0,按[单拍] (2) 程序段字节读操作 PC 地址装载读出及PC+1读出流程 X2 X1 X0=011XP W=11 E/M(K23)=0LDPC(K22)=0X2 X1 X0=100XP=1, W=0 LDPC(K22)=1按[单拍] E/M(K23)=1LDPC(K22)=1按[单拍] 按[单拍] 五、结果分析

计算机组成原理实验报告

《计算机组成原理》 实验报告 实验室名称:S402 任课教师:邹洋 小组成员:王娜任芬 学号:2010212121 2010212119

实验一_HAMMING码 (2) 实验二_乘法器 (7) 实验三_时序部件 (16) 实验四_CPU__算术逻辑单元实验 (24) 实验五_CPU__指令译码器实验 (32) 实验六_CPU_微程序控制器实验1 (43) 实验七_八_CPU实验 (59)

1 编码实验:Hamming码 1.1、实验目的 1、对容错技术有初步了解,理解掌握海明码的原理 2、掌握海明码的编码以及校验方法 1.2、实验原理 海明码是由Richard Hamming于1950年提出的,目前是被广泛采用的很有效的校验编码。它的特点是只要增加少数几个校验位,就能检测出多位出错,并能自动纠错。 Hamming码的实现原理是在数据中加入几个校验位,将数据代码的码距比较均匀的拉大,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化。这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。 假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余的2r-1个信息指出错误发生在哪一位。然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系: 2r≥k+r+1 若要能检测与自动校正一位错,并能发现两位错,此时校验位的位数r和数据位的位数k应满足下述关系:2r-1≥k+r 按上述不等式,可计算出数据位k与校验位r的对应关系,如表1.1所示: 表1.1 数据位k与校验位r的对应关系 k值最小的r值 1~3 4 4~10 5 11~25 6 26~56 7 57~119 8 若海明码的最高位号为m,最低位号为1,即H m H m-1…H2H1,则此海明码的编码规律通常是 1)校验位与数据位之和为m,每个校验位P i在海明码中被分在位号为2i-1的位置上,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。 2)海明码的每一位码H i(包括数据位和校验位本身)由多个校验位校验,其关系是被校验的每一位位号等于校验它的各校验位的位号之和。 3)在增大合法码的码距时,所有码的码距应尽量均匀增大,以保证对所有码的检错能力平衡提高。 下面具体看一下对一个字节进行海明编码的实现过程。 只实现一位纠错两位检错,由前面的表可以看出,8位数据位需要5位校验位,可表示为H13H12…H2H1。 五个校验位P5~P1对应的海明码位号分别为H13、H8、H4、H2和H1。P5只能放在H13位

计算机组成原理 实验4

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

T3 CLR 图4-2 程序计数器(PC)原理图 本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高4位为操作码): 助记符机器指令码说明 IN0010 0000IN R0 ADD0000 0000R0 + R0 R0 OUT0011 0000R0 OUT JMP addr1110 0000 ********addr PC HLT0101 0000停机 其中JMP为双字节指令,其余均为单字节指令,********为addr对应的二进制地址码。微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。根据以上要求,设计数据通路图,如图4-3所示。 本实验在前一个实验的基础上增加了三个部件,一是PC(程序计数器),另一个是AR(地址寄存器),还有就是MEM(主存)。因而在微指令中应增加相应的控制位,其微指令格式如表4-1所示。

大学计算机实验报告

《大学计算机基础Ⅰ》课程 实验报告 (以上由学生填写) 西南大学计算机与信息科学学院 计算机基础教育系 2017年12月8日 实验成绩记载 课程Array实验报告一 一、实验题目:Win7得基本操作、文件管理与控制面板得使用 二、实验目得: 1.掌握“计算机"(资源管理器)得使用。 2.掌握文件与文件夹得基本操作。 3.了解显示属性得相关内容,掌握显示属性得设置。 4.掌握鼠标、键盘得属性设置。 5.掌握应用程序得添加/删除功能。 6.掌握输入法得设置方法.

7.掌握系统属性得设置方法。 8.掌握计算机名或域得查瞧及更改方法。 三、实验主要内容及过程(实验主要内容得介绍、主要得操作步骤) (列出实验主要内容通过截屏显示出操作过程以及实验结果) (一)文件与文件夹得管理 1、双击桌面上“计算机"→选择D盘→空白处右击选择“新建”重命名 文件夹→改名为“windows练习”→双击“windows练习"→右击空白处分别新建三个文件夹为“LX1”、“LX2”、“LX3”. 2、双击“C盘”打开→搜索框搜索“*、wmf”单击搜索按钮→选择任 意三个图片文件→右击→选择“复制”→粘贴至“LX1"文件夹中→并对三个文件分别重命名为“图片1、wmf”、“图片2、wmf”、“图片3、wmf”。 3、打开“LX1”文件夹→右击图片“1、wmf”→剪切→打开“LX2” 文件夹→右击空白处点击“粘贴”→选中剩下得两个文件→复制→打开“LX3”文件夹→右击选择“粘贴”→右击“LX2”选择“剪切” →打开“LX1”文件夹→右击选择“粘贴”

4、右击“LX3”文件夹→选择“属性”→选择“常规”属性卡→勾选“隐 藏”→右击“LX2"文件夹→选择“常规"属性卡→勾选“已读"

计算机组成原理实验

实验一基础汇编语言程序设计 一、实验目的: 1、学习和了解TEC-XP16教学实验系统监控命令的用法。 2、学习和了解TEC-XP16教学实验系统的指令系统。 3、学习简单的TEC-XP16教学实验系统汇编程序设计。 二、预习要求: 1、学习TEC-XP16机监控命令的用法。 2、学习TEC-XP16机的指令系统、汇编程序设计及监控程序中子程序调用。 3、学习TEC-XP16机的使用,包括开关、指示灯、按键等。 4、了解实验内容、实验步骤和要求。 三、实验步骤: 在教学计算机硬件系统上建立与调试汇编程序有几种操作办法。 第一种办法,是使用监控程序的A命令,逐行输入并直接汇编单条的汇编语句,之后使用G命令运行这个程序。缺点是不支持汇编伪指令,修改已有程序源代码相对麻烦一些,适用于建立与运行短小的汇编程序。 第二种办法,是使用增强型的监控程序中的W命令建立完整的汇编程序,然后用M命令对建立起来的汇编程序执行汇编操作,接下来用G命令运行这个程序。适用于比较短小的程序。此时可以支持汇编伪指令,修改已经在内存中的汇编程序源代码的操作更方便一些。 第三种办法,是使用交叉汇编程序ASEC,首先在PC机上,用PC机的编辑程序建立完整的汇编程序,然后用ASEC对建立起来的汇编程序执行汇编操作,接下来把汇编操作产生的二进制的机器指令代码文件内容传送到教学机的内存中,就可以运行这个程序了。适用于规模任意大小的程序。

在这里我们只采用第一种方法。 在TEC-XP16机终端上调试汇编程序要经过以下几步: 1、使教学计算机处于正常运行状态(具体步骤见附录联机通讯指南)。 2、使用监控命令输入程序并调试。 ⑴用监控命令A输入汇编程序 >A 或>A 主存地址 如:在命令行提示符状态下输入: A 2000↙;表示该程序从2000H(内存RAM区的起始地址)地址开始 屏幕将显示: 2000: 输入如下形式的程序: 2000: MVRD R0,AAAA ;MVRD 与R0 之间有且只有一个空格,其他指令相同 2002: MVRD R1,5555 2004: ADD R0,R1 2005: AND R0,R1 2006: RET ;程序的最后一个语句,必须为RET 指令 2007:(直接敲回车键,结束A 命令输入程序的操作过程) 若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。 ⑵用监控命令U调出输入过的程序并显示在屏幕上 >U 或>U 主存地址

大学计算机实验报告2

《大学计算机基础Ⅰ》课程 实验报告手册 \ 实验教师(签字) 西南大学计算机与信息科学学院 计算机基础教育系 年月日

一、实验说明 本课程实验分为一般性实验(验证和简单设计)和综合性实验(课程设计)两部分。从第3周开始参考实验任务书(本报告中的五部分)完成每周规定的实验,并根据进度按要求认真填写本实验报告中的六、七部分,此实验报告将作为实验成绩评定的依据之一。 本课程实验从开课学期第3周开始实习,每周2学时,16周结束,共28学时。除统一安排的时间外,学生还可根据自己的实际适当安排课余时间上机。上机内容参见本报告中的“五、实验任务书”部分。 二、实验目的 通过本实验,让学生掌握计算机的基本操作和基本技能,能够学会知识的运用与积累,能够举一反三,具备一定的独立解决问题的能力和信心,培养学生熟练地使用常用软件的能力及严肃认真的科学作风,为今后的学习和工作打下良好的基础。 三、实验要求 1、每次实验课将考勤,并作为实验成绩的重要依据。 2、每次实验前学生必须充分准备每次的实验内容,以保证每次上机实验的效果。实验过程中必须独立完成。 3、学期结束时,每位同学应将自己的《实验报告》交各专业班长或学习委员,由班长或学习委员以专业为单位、按学号从小到大排列好统一交给实验指导老师,否则无实验成绩。 四、实验报告要求 一共要求填写3个阶段性实验报告、1个综合性实验报告和1份学期总结,与每份实验报告对应产生的电子文档交由实验老师指定的位置,该电子文档也将作为实验成绩评定的依据之一。 五、实验任务书 教材:《大学计算机基础》第五版高等教育出版社 实验参考书:《大学计算机基础实践教程》高等教育出版社 实验一:指法练习、汉字录入 实验目的: 1.掌握鼠标和键盘的使用及正确的操作指法。 2.掌握微型计算机的打开和关闭操作 3.熟悉键盘指法和文字录入 4.了解中英文切换,全半角的切换 实验任务: 1.参见实验参考书中的实验1-1-1中的[任务1](7页) 2.参见实验参考书中的实验1-1-1中的[任务3](7页) 实验二:Windows的基本操作和文件管理操作 实验目的: 1.掌握Windows的基本知识和基本操作 2.掌握“Windows资源管理器”和“我的电脑”的使用 实验任务: 1.参见实验参考书中的实验1-2-1中的全部任务(14页) 2.参见实验参考书中的实验1-2-2中的全部任务(18页)

计算机组成原理实验报告

实验报告书 实验名称:计算机组成原理实验 专业班级:113030701 学号:113030701 姓名: 联系电话: 指导老师:张光建 实验时间:2015.4.30-2015.6.25

实验二基本运算器实验 一、实验内容 1、根据原理图连接实验电路

3、比较实验结果与手工运算结果,如有错误,分析原因。 二、实验原理 运算器可以完成算术,逻辑,移位运算,数据来自暂存器A和B,运算方式由S3-S0以及CN来控制。运算器由一片CPLD来实现。ALU的输入和输出通过三态门74LS245连接到CPU内总线上。另外还有指示灯进位标志位FC和零标志位FZ。 运算器原理图: 运算器原理图 暂存器A和暂存器B的数据能在LED灯上实时显示。进位进位标志FC、零标志FZ 和数据总线D7…D0 的显示原理也是如此。 ALU和外围电路连接原理图:

ALU和外围电路连接原理图运算器逻辑功能表:

三、实验步骤 1、按照下图的接线图,连接电路。 2、将时序与操作台单元的开关KK2 置为‘单拍’档,开关KK1、KK3 置为‘运行’档。 3、打开电源开关,如果听到有‘嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。然后按动CON 单元的CLR 按钮,将运算器的A、B 和FC、FZ 清零。 4、用输入开关向暂存器A 置数。 ①拨动CON 单元的SD27…SD20 数据开关,形成二进制数01100101 (或其它数值),数据显示亮为‘1’,灭为‘0’。 ②置LDA=1,LDB=0,连续按动时序单元的ST 按钮,产生一个T4 上沿,则将二进制数01100101 置入暂存器A 中,暂存器A 的值通过ALU 单元的 A7…A0 八位LED 灯显示。 5、用输入开关向暂存器B 置数。 ①拨动CON 单元的SD27…SD20 数据开关,形成二进制数10100111 (或其它数值)。 ②置LDA=0,LDB=1,连续按动时序单元的ST 按钮,产生一个T4 上沿,则将二进制数10100111 置入暂存器B 中,暂存器B 的值通过ALU 单元的 B7…B0 八位LED 灯显示。 6、改变运算器的功能设置,观察运算器的输出。置ALU_B=0 、LDA=0、LDB=0,然后按表2-2-1 置S3、S2、S1、S0 和Cn的数值,并观察数据总线LED 显示灯显示的结果。如置S3、S2、S1、S0 为0010 ,运算器作逻辑与运算,置S3、S2、

计算机组成原理实验七

图16 启停单元布局图 序电路由1片74LS157、2片74LS00、4个LED PLS2、PLS3、PLS4)组成。当LED发光时 图17

图17 时序单元布局图 (二)启停、脉冲单元的原理 1.启停原理:(如图18) 启停电路由1片7474组成,当按下RUN按钮,信号输出RUN=1、STOP=0,表示当前实验机为运行状态。当按下STOP 按钮,信号RUN=0、STOP=1,表示当前实验机为停止状态。当 系统处于停机状态时,微地址、进位寄存器都被清零,并且可 通过监控单元来读写内存和微程序。在停止状态下,当HALT 时有一个高电平,同时HCK有一个上升沿,此时高电平被打入 寄存器中,信号输出RUN=1、STOP=0,使实验机处于运行状态。

图18 启停单元原理图 2.时序电路: 时序电路由监控单元来控制时序输出(PLS1、PLS2、PLS3、PLS4)。实验所用的时序电路(如图19)可产生4个等间隔的时序信号PLS1、PLS2、PLS3、PLS4。为了便于监控程序流程,由监控单元输出PO信号和SIGN脉冲来实现STEP(微单步)、GO (全速)和HALT(暂停)。当实验机处于运行状态,并且是微单步执行,PLS1、PLS2、PLS3、PLS4分别发出一个脉冲,全速执行时PLS1、PLS2、PLS3、PLS4脉冲将周而复始的发送出去。在时序单元中也提供了4个按钮,实验者可手动给出4个独立的脉冲,以便实验者单拍调试模型机。

图19 时序电路图 实验步骤 1.交替按下“运行”和“暂停”,观察运行灯的变化(运行:RUN 亮;暂停:RUN灭)。 2.把HALT信号接入二进制拨动开关,HCK接入脉冲单元的PLS1。按下表接线 接入开关位号 信号定 义 HCK PLS1孔 HALT H13孔 3.按启停单元中的停止按钮,置实验机为停机状态,HALT=1。 4.按脉冲单元中的PLS1脉冲按键,在HCK上产生一个上升

计算机组成原理实验报告

实验一 实验题目:运算器实验 实验目的:熟悉存储器和总线的硬件电路 实验要求:按照实验步骤完成实验项目,利用存储器和总线传输数据 实验器材:计算机组成原理实验仪 实验电路图/程序流程图: 实验步骤/程序源代码: 实验原理:实验中所用的运算器原理如图1所示。其中运算器由两片74LS181以并/川形式构成8位字长的ALU。运算器的输出经过有一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器锁存,锁存器的输入已连至数据总线,数据开关用来给出参与运算的数据,经一三态门和数据总线相连,数据显示灯已和数据总线相连,用来显示数据总线内容。 本实验装置的控制线应与相连,数据总线、时序电路产生的脉冲信号(T1-T4)、P(1)、P(2)、P(3)本实验装置已做连接,必须选择一档合适的时钟,其余均为电平控制信号。进行实验室,首先按动位于本实验装置右中则的复位按钮使系统进入初始待令状态,在LED显示器闪动出现“P”的环境下,按动增址命令键使LED显示器自左向右第一位显示提示符“H”,表示本装置已进入手动单元实验状态,在该状态下按动单步命令键,即可获得实验所需的单脉冲信号,而各电平控制信号用位于LED显示器左方的K25-K0二进制数据开关来模拟。在进行手动实验时,必须先预置开关电平:/Load=1,/CE=1,其余开关控制信号电平均置为0,这在以后手动实验时不再说明,敬请注意。 实验连接:按上图实验线路作以下连接: (1)八位运算器控制信号连接:位于实验装置左上方的控制信号(CTR-OUT UNIT)中的(S3、S2、S1、S0、M、/CN、LDDR1、LDDR2、LDCZY、C、B、A)与位于实验装置右中方的(CTR-IN UNIT)、位于实验装置左中方的(UPC UNIT)、位于右上方的(FL UNIT)做对应链接。 (2)完成上述连接,仔细检查无误后方可接通电源进入实验。 实验仪器工作状态设定 在闪动的“P”状态下按动“增址”命令键,使LED显示器自左向右第一位显示提示符“H”,

计算机组成原理_实验报告四(含答案)

湖南科技学院 电子与信息工程学院 实验报告 课程名称: 姓名: 学号: 专业: 班级: 指导老师:

实验四微程序控制组成实验 一、实验目的及要求 1.将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机。 2.用微程序控制器控制模型计算机的数据通路。 3.执行给定的简单程序,掌握机器指令与微指令的关系,牢固建立计算机的整机概念。 二、实验电路 本次实验将前面几个实验中的所模块,包括运算器、存储器、通用寄存器堆等同微程序控制器组合在一起,构成一台简单的模型机。这是最复杂的一个实验,也将是最有收获的一个实验。 在前面的实验中,实验者本身作为“控制器”,完成了对数据通路的控制。而在本次实验中,数据通路的控制将交由微程序控制器来完成。实验机器从内存中取出一条机器指令到执行指令结束的一个指令周期,是由微程序完成的,即一条机器指令对应一个微程序序列。 实验电路大致如下面框图所示。其中控制器是控制部件,数据通路是执行部件,时序发生器是时序部件。需使用导线将各个部件控制信号与控制器相连。 三、实验主要仪器设备 1.TEC-5计算机组成实验系统1台 2.逻辑测试笔一支(在TEC-5实验台上) 四、实验任务 1.对机器指令组成的简单程序进行译码。将下表的程序按机器指令格式手工汇编成二进制机器代码, 此项任务请在预习时完成。 2. 3.使用控制台命令将寄存器内容初始化为:R0=11H,R1=22H,R2=0AAH。

4.使用控制台命令将任务1中的程序代码存入内存中(注意起始地址为30H),以及将内存地址为 11H的单元内容设置为0AAH。 5.用单拍(DP)方式执行一遍程序,执行时注意观察各个指示灯的显示并做好记录(完成实验表格), 从而跟踪程序执行的详细过程(可观察到每一条微指令的执行过程)。 6.用连续方式再次执行程序。这种情况相当于计算机正常的工作。程序执行到STP指令后自动停机。 读出寄存器中的运算结果,与理论值比较。 五、实验步骤和实验结果记录 1.程序译码。 2.实验接线(本实验接线比较多,需仔细) 只要把上表种同列的信号用线连接即可,一共接线33条。 接好线后,将编程开关拨到“正常位置”。合上电源,按CLR#按钮,使TEC-5实验实验系统处于初始状态。 3.实验任务3:使用控制台命令将寄存器内容初始化为:R0=11H,R1=22H,R2=0AAH的操作步骤及结果记录。 (1)掌握写寄存器WRF的原理和步骤(详见实验参考资料)。 (2)操作过程如下:

大学生计算机实验报告(完整版)

《大学计算机基础》实验3.1 文件和文件夹的管理 实验报告 专业班级:经贸1103 姓名——- 学号201118910315 指导教师:———完成时间:2011.10 一、实验题目 文件和文件夹的管理 二、实验目的 1.熟悉Windows XP的文件系统。 2.掌握资源管理器的使用方法。 3.熟练掌握在Windows XP资源管理器下,对文件(夹)的选择、新建、移动、复制、删除、重命名的操作方法。 三、实验内容 1.启动资源管理器并利用资源管理器浏览文件。 2.在D盘创建文件夹 3.在所创建文件夹中创建Word文件。 4.对所创建文件或文件夹执行复制、移动、重命名、删除、恢复、创建快捷方式及设置共享等操作。 四、实验步骤 (一)文件与文件夹管理 1.展开与折叠文件夹。右击开始,打开资源管理器,在左窗格中点击“+”展开,点击“—”折叠 2.改变文件显示方式。打开资源管理器/查看,选择缩略、列表,排列图标等

3.建立树状目录。在D盘空白处右击,选择新建/文件夹,输入经济贸易学院,依次在新建文件夹中建立经济类1103班/王帅、王鹏 4..创建Word并保存。打开开始/程序/word,输入内容。选择文件/另存为,查找D盘/经济贸易学院/1103班/王帅,单击保存 5.复制、移动文件夹 6.重命名、删除、恢复。右击文件夹,选择重命名,输入新名字;选择删除,删除文件 7.创建文件的快捷方式。右击王帅文件夹,选择发送到/桌面快捷方式

8.设置共享文件。右击王帅,选择属性/共享/在网络上共享这个文件/确定 9.显示扩展名。打开资源管理器/工具/文件夹选项/查看/高级设置,撤销隐藏已知文件的扩展名 (二)控制面板的设置。 1.设置显示属性。右击打开显示属性/桌面、屏幕保护程序 2.设置鼠标。打开控制面板/鼠标/按钮(调整滑块,感受速度)、指针 3.设置键盘。打开控制面板/键盘/速度(调整滑块,感受速度)、硬件 4.设置日期和时间打开控制面板/日期和时间 5.设置输入法。打开控制面板/区域与语言选项/详细信息/文字服务与输入语言

计算机组成原理实验报告

计算机组成原理实验报告 ——微程序控制器实验 一.实验目的: 1.能瞧懂教学计算机(TH-union)已经设计好并正常运行的数条基本指令的功能、格式及执 行流程。并可以自己设计几条指令,并理解其功能,格式及执行流程,在教学计算机上实现。 2.深入理解计算机微程序控制器的功能与组成原理 3.深入学习计算机各类典型指令的执行流程 4.对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念 5.学习微程序控制器的设计过程与相关技术 二.实验原理: 微程序控制器主要由控制存储器、微指令寄存器与地址转移逻辑三大部分组成。 其工作原理分为: 1、将程序与数据通过输入设备送入存储器; 2、启动运行后从存储器中取出程序指令送到控制器去识别,分析该指令要求什么事; 3、控制器根据指令的含义发出相应的命令(如加法、减法),将存储单元中存放的操作数据取出送往运算器进行运算,再把运算结果送回存储器指定的单元中; 4、运算任务完成后,就可以根据指令将结果通过输出设备输出 三.微指令格式: 其中高八位为下地址字段、其余各位为控制字段、 1)微地址形成逻辑 TH—UNION 教学机利用器件形成下一条微指令在控制器存储器的地址、 下地址的形成由下地址字段及控制字段中的CI3—SCC控制、当为顺序执行时,下地址字段不起作用、下地址为当前微指令地址加1;当为转移指令(CI3—0=0011)时,由控制信号SCC 提供转移条件,由下地址字段提供转移地址、 2)控制字段 控制字段用以向各部件发送控制信号,使各部件能协调工作。 控制字段中各控制信号有如下几类: ①对运算器部件为了完成数据运算与传送功能,微指令向其提供了24位的控制信号,包括:4位的A、B口地址,用于选择读写的通用积存器3组3位的控制码I8-I6、 I5-I3、I2-I6,用于选择结果处置方案、运算功能、数据来源。 3组共7位控制信号控制配合的两片GAL20V8 3位SST,用于控制记忆的状态标志位 2位SCI,用于控制产生运算器低位的进位输入信号 2位SSH,用于控制产生运算器最高,最地位(与积存器)移位输入信号 ②对内存储器I/O与接口部件,控制器主要向它们提供读写操作用到的全部控制信号,共3位,即MRW

计算机组成原理实验完整版

河南农业大学 计算机组成原理实验报告 题目简单机模型实验 学院信息与管理科学学院 专业班级计算机科学与技术2010级1班 学生姓名张子坡(1010101029) 指导教师郭玉峰 撰写日期:二○一二年六月五日

一、实验目的: 1.在掌握各部件的功能基础上,组成一个简单的计算机系统模型机; 2.了解微程序控制器是如何控制模型机运行的,掌握整机动态工作过程; 3定义五条机器指令,编写相应微程序并具体上机调试。 二、实验要求: 1.复习计算机组成的基本原理; 2.预习本实验的相关知识和内容 三、实验设备: EL-JY-II型计算机组成原理试验系统一套,排线若干。 四、模型机结构及工作原理: 模型机结构框图见实验书56页图6-1. 输出设备由底板上上的四个LED数码管及其译码、驱动电路构成,当D-G和W/R均为低电平时将数据结构的数据送入数据管显示注:本系统的数据总线为16位,指令、地址和程序计数器均为8位。当数据总线上的数据打入指令寄存器、地址寄存器和程序寄存器时,只有低8位有效。 在本实验我们学习读、写机器指令和运行机器指令的完整过程。在机器指令的执行过程中,CPU从内存中取出一条机器指令到执行结束为一个指令周期,指令由微指令组成的序列来完成,一条机器指令对应一段微程序。另外,读、写机器指令分别由相应的微程序段来完成。

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,必须设计三个控制操作微程序。 存储器读操作(MRD):拨动清零开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。 存储器写操作(MWE):拨动清零开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。 启动程序(RUN):拨动开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“11”时,按“单步”键,即可转入第01号“取指”微指令,启动程序运行。 注:CA1、CA2由控制总线的E4、E5给出。键盘操作方式有监控程序直接对E4、E5赋值,无需接线。开关方式时可将E4、E5接至控制开关CA1、CA2,由开关控制。 五、实验内容、分析及参考代码: 生成的下一条微地址 UA5 UA0 MS5 MS0 微地址

《大学计算机基础》上机实验报告

《大学计算机基础》 上机实验报告 班级: 姓名: 学号: 授课教师: 日期:年月日

目录 一、Windows操作系统基本操作 ............................. - 1 - 二、Word文字处理基本操作 ................................ - 4 - 三、Excel电子表格基本操作 ............................... - 6 - 四、PowerPoint幻灯片基本操作 ............................ - 8 - 五、网页设计基本操作..................................... - 9 - 六、Access数据库基本操作 ............................... - 10 - 上机实验作业要求: ○1在实验报告纸上手写并粘贴实验结果; ○2每人将所有作业装订在一起(要包封面); ○3全部上机实验结束后全班统一上交; ○4作业内容不得重复、输入的数据需要有差别。

实验名称一、Windows操作系统基本操作 实验目的1、掌握Windows的基本操作方法。 2、学会使用“画图”和PrntScr快捷键。 3、学会使用“计算器”和Word基本操作。 实验内容 1、日历标注 利用“画图”和Word软件,截取计算机上日历的图片并用文字、颜色、图框等标注出近期的节假日及其名称,并将结果显示保存在下面(参考下面样图)。 运行结果是: 主要操作步骤是: 2、科学计算 利用“计算器”和Word软件,计算下列题目,并将结果截图保存在下面(参考样图)。 ○1使用科学型计算器,求8!、sin(8)、90、74、20、67、39、400、50.23、ln(785)的平均值、和值,并用科学计数法显示。 运行结果是: ②将以下十、八、十六进制数转换为二进制数:(894.8125)10、(37.5)8、(2C.4B)16 运行结果是:(需要下载使用“唯美计算器”) ○3计算下列二进制数的加法与乘法:101.1+11.11;1101*1011 运行结果是:(参考样图) 写出主要操作步骤: 3、实验心得体会

计算机组成原理实验报告

计算机组成原理实验报告-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

计算机组成原理实验报告 ——微程序控制器实验一.实验目的: 1.能看懂教学计算机(TH-union)已经设计好并正常运行的数条基本指令的功能、格式及 执行流程。并可以自己设计几条指令,并理解其功能,格式及执行流程,在教学计算机上实现。 2.深入理解计算机微程序控制器的功能与组成原理 3.深入学习计算机各类典型指令的执行流程 4.对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念 5.学习微程序控制器的设计过程和相关技术 二.实验原理: 微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成。 其工作原理分为: 1、将程序和数据通过输入设备送入存储器; 2、启动运行后从存储器中取出程序指令送到控制器去识别,分析该指令要求什么事; 3、控制器根据指令的含义发出相应的命令(如加法、减法),将存储单元中存放的操作数据取出送往运算器进行运算,再把运算结果送回存储器指定的单元中; 4、运算任务完成后,就可以根据指令将结果通过输出设备输出 三.微指令格式: 微指令由下地址字段及控制字段组成.TH—UNION教学机的微指令格式如下: 其中高八位为下地址字段.其余各位为控制字段. 1)微地址形成逻辑 TH—UNION 教学机利用器件形成下一条微指令在控制器存储器的地址. 下地址的形成由下地址字段及控制字段中的CI3—SCC控制.当为顺序执行时,下地址字段不起作用.下地址为当前微指令地址加1;当为转移指令(CI3— 0=0011)时,由控制信号SCC提供转移条件,由下地址字段提供转移地址. 2)控制字段

相关文档
相关文档 最新文档