搜档网
当前位置:搜档网 › 计算机组成原理实验指导书

计算机组成原理实验指导书

计算机组成原理实验指导书
计算机组成原理实验指导书

计算机组成原理实验

指导书

指导教师:佘欣媛

目录

第一章 实验系统介绍

1.1 实验系统组成

实验系统由一台计算机+实验箱组成,如图1-1所示:

图1-1 实验系统示意图

1、实验箱:ZY CH-4 SOPC 实验开发平台;

2、USB Blaster 下载线:计算机通过USB 接口连接实验箱,对实验箱上FPGA/CPLD 以及配置芯片进行编程、调试等操作;

1.2 实验箱介绍

CH-4实验系统主板器件位置如图1-2所示

CH-4 实验平台

USB Blaster 下载线

FPGA: EP3C16Q240C8N(15408Les)

配置芯片: EPCS16SI8N (2MB)

SDRAM: HY57V561620 (32MB)

LCD及触摸屏: 5.6吋TFT LCD屏、触摸屏,屏幕分辨率:640x480。型号:群

创AT056TN53。

LCD控制电路:使用CPLD EPM1270T144C5、SRAM 61LV25616*2;可控

制至少16位色LCD,可兼容MCS51系列单片机接口。

触摸屏控制电路: AD7843

LED发光二极管: 8位¢5mm红、黄、绿、兰各2 位

数码管(动态扫描):LG5641AHx2 8位7段数码管 0.5吋共阴红

按键: 8位 OMRON按键

二值开关: 8位

键盘: 4x4 OMRON按键

上电及手动复位电路:

蜂鸣器: 3V无源蜂鸣器 1个

温湿度传感器: SHT10

实时时钟电路: PCA8563(带锂电池)

铁电存储器: FM25V05(64KB)

SD卡接口:带2GB SD卡

PS2接口:带电压钳位保护

2路可控时钟源(1Hz,10Hz,100Hz,1KHz,10KHz,100Khz,1MHz,10MHz):

分别用BCD拨码开关选择,掉电时设置值不丢失。

串口: MAX3232

USB接口: FT232R

扩展接口座(40P):36IO,带电压钳位保护,兼容台湾友晶公司DE2开发板

扩展接口。

1.3 组成原理扩展板

CH-4实验箱中提供连接好的扩展板是组成原理/数字逻辑扩展模块,实验系统主

板通过4位IO口控制组成原理/数字逻辑扩展板的LCD、发光二极管、二值开关、

脉冲开关等输入输出资源。

组成原理/数字逻辑扩展模块配置如下:

面包板 1块:

●一个端子条300个插孔

●两个分配条,100个插孔

●适用线径:29-20 AWG

●尺寸:83.5x54.5x8.5mm;8.2x5.3x0.85cm

面包板相关实验IO接口:

LED发光二极管 8个

二值开关 8位

2 x16字符点阵液晶 1块

LED发光二极管 60个

二值开关 60位

触发按键(上升沿) 2位

触发按键(下降沿) 2位

控制器CPLD EPM1270C5N 1片

1.4实验软件环境

实验软件:

1、Quartus II 9.1 :

Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。

2、SOPC Builder:

SOPC builder是QuartusII中用来建立、开发、维护系统的平台,可构成包括处理器、外设和存储器接口等常用系统组成的总线系统。它能够实现让系统设计人员快速开发系统,大大提高FPGA设计人员的工作效率。

3、Nios II 9.1:

是一种开发人员广泛应用的,包含编辑、编译和调试应用软件等功能的集成开发环境。

简要来说,使用以上三种软件共同了FPGA硬件系统的开发,其中在SOPC Builder中完成系统硬件的设计,Nios II中完成对硬件实现控制的软件设计,Quartus II完成对设计好的硬件进行管脚等配置、编译,然后下载到实验平台的FPGA芯片中。

第二章组成原理实验

配合计算机组成原理理论课程,实验课程共分六个实验:

1.总线传输实验;

2.存储器实验;

3.IO(DMA)实验;

4.运算器实验;

5.指令系统实验;

6.最小系统实验。

实验一总线传输实验

一、实验目的与要求

1.掌握Quartus II编译环境及使用方法;

2.掌握组成原理扩展板的使用;

3.了解verilog提供的门级语言;

4.掌握lpm_ram_dq模块的建立;

5.体会总线同步传输时序及分时利用原理。

二、实验设备及软件

PC机、实验平台、Quartus II软件编辑环境。

三、实验内容

1.用图形法block diagram实现如下功能:

(1)建立两个lpm_ram_dq存储模块,分别模拟两个存储体;

(2)利用组成原理扩张板模拟CPU并给出:

存储体体号:指出当前访问的是两个存储体中的哪一个;

数据:CPU欲写入存储单元的数据;

存储器体内部地址:CPU数据存入的存储单元地址;

读写命令:读写控制(wren高电平为写)。

(3)可从组成原理扩展板上观察到写入的效果。

2.用verilog语言编程实现如下功能:

(1)编程模拟8个存储单元

(2)使用组成原理扩展板模拟CPU给出:

地址:8个存储单元地址号码;

数据:CPU欲写入存储单元的数据;

读写命令;

(3)可从组成原理扩展板上观察到写入的效果。

四、实验步骤

(一)图形法block diagram实现

1.打开Quartus II编辑环境,建立工程bus_b;

2.建立图形文件block diagram,另存为bus_b;

3.将组成原理扩展板代码lcdswip拷贝到工程bus_b目录下;

4.点击Quartus II中File—Create/Update—Create Symbol Files for

Current File生成组成原理扩展板图形模块;

5.在新建的图形文件bus_b中双击鼠标左键在弹出Symbol串口左侧的

libraries中双击第一个文件夹project下面的lcdswip,然后将其添加到bus_b文件中;

6.双击文件bus_b中的空白处添加模块lpm_ram_dq,其中数据位8位,地址位

5位,采用单一时钟,q output port不勾选,如法添加两个lpm_ram_dq;

7.使用lcdswip的SWA[0]控制第一个lpm_ram_dq的wren端,SWA[1]控制第二

个lpm_ram_dq的wren端;

8.SWA[6..2]给出两个lpm_ram_dq内部的存储单元地址;

9.SWA[7..0]出给欲写入两个存储体的数据;

10.第一个lpm_ram_dq的输出连接到扩展板的LEDB[7..0]端,第二个

lpm_ram_dq的输出连接到扩展板的LEDB[15..8]端;

11.存储体以及lcdswip芯片的时钟采用系统时钟;

12.分析、配置管脚、编译、下载、验证。

(二)verilog语言编程实现

1.打开Quartus II编辑环境,建立工程bus_v;

2.建立verilog文件,另存为bus_v;

3.将组成原理扩展板代码lcdswip拷贝到工程bus_v目录下;

4.编写代码

5.分析、配置管脚、编译、下载、验证

五、实验演示

(一)图形法block diagram实现

1.新建工程bus_b

2.配置图形

3.配置管脚

(二)verilog语言编程实现

module bus_v(MOSI,MCLK,MCS,SYSCLK,MISO);

output MOSI,MCLK,MCS;

input SYSCLK,MISO;

变量声明

控制逻辑

wire [7:0] Hex0,Hex1,Hex2,Hex3,Hex4,Hex5,Hex6,Hex7,Hex8,Hex9,Hex10,Hex11,Hex12,H ex13,Hex14,Hex15,Hex16,Hex17,Hex18,Hex19,Hex20,Hex21,Hex22,Hex23,Hex2 4,Hex25,Hex26,Hex27,Hex28,Hex29,Hex30,Hex31;

wire [19:0] SWA,SWB,SWC;

wire [19:0] LEDA;

wire [3:0] PS;

lcdswip

lcdxx( .MISO(MISO),.MOSI(MOSI),.MCLK(MCLK),.MCS(MCS),.SYSCLK(SYSCLK), .Hex0(8'h20),.Hex1(8'h20),.Hex2(8'h20),.Hex3(8'h20),.Hex4(8'h43),.Hex 5(8'h48),.Hex6(8'h2d),.Hex7(8'h34),.Hex8(8'h20),.Hex9(8'h53),.Hex10(8 'h4f),.Hex11(8'h50),.Hex12(8'h43),.Hex13(8'h20),.Hex14(8'h20),.Hex15( 8'h20),

.Hex16(8'h20),.Hex17(8'h20),.Hex18(8'h20),.Hex19(8'h20),.Hex20(8'h20) ,.Hex21(8'h20),.Hex22(8'h20),.Hex23(8'h20),.Hex24(8'h20),.Hex25(8'h20 ),.Hex26(8'h20),.Hex27(8'h20),.Hex28(PS[0]+8'h30),.Hex29(PS[1]+8'h30) ,.Hex30(PS[2]+8'h30),.Hex31(PS[3]+8'h30),

.LEDA(LEDA),.LEDB(LEDB),.LEDC(LEDC),

.SWA(SWA),.SWB(SWB),.SWC(SWC),.PS(PS)

);

endmodule

六、实验扩展及思考

如果有多台IO设备,那么使用计数器方式判优该如何实现。

实验二存储器实验

一、实验目的与要求

1.掌握lpm_ram_dq模块的使用;

2.熟练verilog提供的门级语言;

3.存储器片选原理。

二、实验设备及软件

PC机、实验平台、Quartus II软件编辑环境。

三、实验内容

1.使用四个256*4位的lpm_ram_dq模块搭建存储器,要求如下:

2.搭建成的存储器规格为:512*8位(需要进行字位扩展);

3.可以对存储器读、写;

4.需要有读、写两个控制信号,9位地址信号,8位数据信号(信号可以由lcdswip

模块给出);

四、实验步骤

1.建立工程memext;

2.建立图形文件memext;

3.添加四个256*4位的lpm_ram_dq;

4.添加lcdswip模块;

5.分别将lpm_ram_dq两两进行位扩展;

6.添加两个input信号:读、写;

7.通过lcdswip模块给出存储器的地址、数据信号;

8.添加input时钟信号;

9.配置管脚、分析、编译、下载、验证。

五、实验演示

实验连线示意:

管脚配置:

六、实验扩展及思考

使用verilog语言实现方案

实验三 IO(DMA)实验

一、实验目的与要求

1.掌握74377(带使能端的8进制D触发器)使用方法;

2.掌握ram_2port使用方法;

3.熟练verilog提供的门级语言;

4.掌握DMA原理及其中IO以周期窃取方式与主存交互信息的方式;

二、实验设备及软件

PC机、实验平台、Quartus II软件编辑环境。

三、实验内容

1.用图形法block diagram实现如下功能:

(1)建立256*8位ram_2port存储模块用于模仿存储器;

(2)利用组成原理扩张板模拟CPU以及IO:

模拟CPU给出的地址信号;

模拟CPU给出的数据信号;

模拟IO给出的地址信号;

模拟IO给出的数据信号;

模拟周期窃取原理,当IO有访存需求时,CPU让出使用权;

(3)可从组成原理扩展板上观察到写入的效果。

2.用verilog语言编程实现如上功能。

四、实验步骤

(一)图形法

1.建立工程DMA_B;

2.建立图形文件DMA_B;

3.添加1个256*8位的ram;

4.添加lcdswip模块;

5.通过lcdswip模块给出CPU给出的地址、数据信号以及IO给出的地址、数

据信号;

6.添加input时钟信号;

7.配置管脚、分析、编译、下载、验证。

(二)verilog编程方式

1.建立工程DMA_V;

2.建立verilog文件DMA_V;

3.编写程序;

4.配置管脚、分析、编译、下载、验证。

五、实验演示

(一)图形法

(二)编程法

always @(posedge CLK)

begin

if(DMA_REQ_N)

begin

ADDR_W <= CPU_ADDR;

DATA_W <= CPU_DATA;

end

else

begin

ADDR_W <= IO_ADDR;

DATA_W <= IO_DATA; end

end

六、实验扩展及思考

实验四运算器实验

一、实验目的与要求

1.熟练verilog提供的门级语言;

2.原码一位乘原理。

二、实验设备及软件

PC机、实验平台、Quartus II软件编辑环境。

三、实验内容

用verilog语言实现两个四位数的原码一位乘。

四、实验步骤

1.建立工程multi_4;

2.建立verilog文件multi_4;

3.编写程序;

4.配置管脚、分析、编译、下载、验证。

五、实验演示

begin

if(!RESET)

begin

result <= 9'b000000000;

overflow <= 1'b0;

counter <= 3'b100;

temp <= 5'b00000;

temp_y <= y[3:0];

end

else

begin

if(counter)

begin

if(temp_y[0])

begin

temp = {temp[4], temp[3:0]} + {1'b0,x[3:0]};

temp_y[3:0] = {temp[0],temp_y[3:1]};

temp = {1'b0,temp[4:1]}; // logic right shift overflow <= temp[4] ^ temp[3];

result <= {temp,temp_y[3:0]};

end

else

begin

temp_y[3:0] = {temp[0],temp_y[3:1]};

temp = {1'b0,temp[4:1]}; // logic right shift

result <= {temp,temp_y[3:0]};

end

counter <= counter - 1;

end

else

begin

result <= {flag,result[7:0]}; end

end

end

六、实验扩展及思考

实验五指令系统实验

一、实验目的与要求

1.熟练verilog提供的门级语言;

2.掌握指令系统的设计;

3.掌握CPU硬件组成。

二、实验设备及软件

PC机、实验平台、Quartus II软件编辑环境。

三、实验内容

设计指令系统并用verilog语言实现。

四、实验步骤

1.设计指令系统:

可运行两种指令STA(将ACC内容存到制定存储单元)、CLA(将ACC内容清零),不考虑间址以及中断周期。

STA:

(1)取指周期

T0:PC-〉MAR,1-〉R

T1:AD(CMDR)-〉CMAR

T2:M(MAR)->MDR,(PC)+1->PC

T3:AD(CMDR)->CMAR

T4:MDR->IR

T5:OP(IR)->微地址形成部件->CMAR

(2)执行周期

T0:AD(IR)-〉CMAR,1-〉R

T1:AD(CMDR)-〉CMAR

T2:ACC->MDR

T3:AD(CMDR)->CMAR

T4:MDR->M(MAR)

T5:AD(CMDR)-〉CMAR,取指微程序入口地址->CMAR CLA:

(1)取指周期

T0:PC-〉MAR,1-〉R

T1:AD(CMDR)-〉CMAR

T2:M(MAR)->MDR,(PC)+1->PC

T3:AD(CMDR)->CMAR

T4:MDR->IR

T5:OP(IR)->微地址形成部件->CMAR

(2)执行周期

T0:0->ACC

T1:AD(CMDR)-〉CMAR,取指微程序入口地址->CMAR

第0位表示控制 PC->MAR微操作

第1位表示控制 1->R微操作

第2位表示控制 M(MAR)->MDR

第3位表示控制 (PC)+1->PC

第4位表示控制 MDR->IR

第5位表示控制 0->ACC

第6位表示控制 AD(IR)->MAR

第7位表示控制 1->W

第8位表示控制 ACC->MDR

第9位表示控制 MDR->M(MAR)

第10位表示控制 0->G

2.编写verilog程序实现上述指令系统;

3.配置管脚、编译、下载、验证。

五、实验演示

module INSTRUCTION(MOSI,MCLK,MCS,SYSCLK,MISO); output MOSI,MCLK,MCS;

input SYSCLK,MISO;

reg [3:0] PC;

reg [3:0] MAR;

reg [7:0] MDR;

reg [7:0] IR;

reg [7:0] ACC;

reg [7:0] MM[3:0];//ZHU cun

wire [3:0] MM_ADD;

wire [7:0] MM_DATA;

reg [15:0] CMM[31:0];//kong cun

wire [4:0] CMM_ADD;

wire [15:0] CMM_DATA;

reg [4:0] CMAR;

reg [15:0] CMDR;

reg write;

reg read;

wire flag_write;

wire M_flag_write;

reg STP;

always @(posedge CLK or negedge RESET) begin

if(!RESET)

begin

ACC = 8'b11000000;

PC = 4'b0001;

MAR = 4'b0000;

CMDR = 16'b1100000000000001;

end

else

begin

if(flag_write)

begin

CMM[CMM_ADD] <= CMM_DATA;

end

else if(M_flag_write)

begin

MM[MM_ADD] <= MM_DATA;

end

else

begin

case ( CMDR[15:5] )

11'b11000000000:

begin

MAR = PC;

read = 1;

CMAR = CMDR[4:0];

CMDR = CMM[CMAR];

end

11'b00110000000:

begin

MDR = MM[MAR];

PC = PC+1;

CMAR = CMDR[4:0];

CMDR = CMM[CMAR];

end

11'b00001000000:

begin

IR = MDR;

case (IR)

8'b0000000001:

begin

CMAR = 5'b00011;

CMDR = CMM[CMAR];

end

8'b0000000010:

begin

CMAR = 5'b00100;

CMDR = CMM[CMAR];

end

8'b0000000100:

begin

CMAR = 5'b00111;

CMDR = CMM[CMAR];

end

endcase

end

11'b00000100000:

begin

ACC = 0;

CMAR = 5'b00000;

CMDR = CMM[CMAR];

end

11'b00000011000:

begin

MAR = MDR[3:0];

write = 1;

CMAR = CMDR[4:0];

CMDR = CMM[CMAR];

end

11'b00000000100:

计算机组成原理实验题

一.这是一个判断某一年是否为润年的程序,运行可执行程序Ifleap.exe后,输入具体的年份,可输出是本年是否为闰年的提示信息。 DATA SEGMENT ;定义数据段 INFON DB 0DH,0AH,'PLEASE INPUT A YEAR: $' Y DB 0DH,0AH,'THIS IS A LEAP YEAR! $' N DB 0DH,0AH,'THIS IS NOT A LEAP YEAR! $' W DW 0 BUF DB 8 DB ? DB 8 DUP(?) DATA ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START:MOV AX,DATA MOV DS,AX LEA DX,INFON ;在屏幕上显示提示信息 MOV AH,9 INT 21H LEA DX,BUF ;从键盘输入年份字符串 MOV AH,10 INT 21H MOV CL, [BUF+1] LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H

JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H 二.这是一个显示系统日期和时间的程序,运行时,在出现的提示信息中输入大写字母“D”,可显示系统当前日期;输入大写字母“T”,可显示系统当前时间;输入大写字母“Q”,可结束程序。 DATACATE PROC NEAR; PUSH CX; DEC CX LEA SI,BUF+2 TT1: INC SI LOOP TT1 ;LEA SI,CX[DI] POP CX MOV DH,30H MOV BL,10 MOV AX,1 L1: PUSH AX SUB BYTE PTR [SI],DH MUL BYTE PTR [SI] ADD W,AX POP AX MUL BL DEC SI LOOP L1 RET DATACATE ENDP

计算机组成原理实验

计算机组成原理 一、8 位算术逻辑运算 8 位算术逻辑运算实验目的 1、掌握简单运算器的数据传送通路组成原理。 2、验证算术逻辑运算功能发生器74LS181的组合功能。 8 位算术逻辑运算实验内容 1、实验原理 实验中所用的运算器数据通路如图3-1所示。其中运算器由两片74LS181以并/串形成8位字长的ALU构成。运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUS1~6中的任一个相连,内部数据总线通过LZD0~LZD7显示灯显示;运算器的两个数据输入端分别由二个锁存器74LS273(U29、U30)锁存,两个锁存器的输入并联后连至插座ALUBUS,实验时通过8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,通过数据开关输入的数据由LD0~LD7显示。 图中算术逻辑运算功能发生器74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M并行相连后连至SJ2插座,实验时通过6芯排线连至6位功能开关插座UJ2,以手动方式用二进制开关S3、S2、S1、S0、CN、M来模拟74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M;其它电平控制信号LDDR1、LDDR2、ALUB`、SWB`以手动方式用二进制开关LDDR1、LDDR2、ALUB、SWB来模拟,这几个信号有自动和手动两种方式产生,通过跳线器切换,其中ALUB`、SWB`为低电平有效,LDDR1、LDDR2为高电平有效。 另有信号T4为脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲。 2、实验接线 本实验用到4个主要模块:⑴低8位运算器模块,⑵数据输入并显示模块,⑶数据总线显示模块,⑷功能开关模块(借用微地址输入模块)。

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

《计算机组成原理实验》课程实验报告 实验题目组成原理上机实验 班级1237-小 姓名 学号 时间2014年5月 成绩

实验一基本运算器实验 1.实验目的 (1)了解运算器的组成原理 (2)掌握运算器的工作原理 2.实验内容 输入数据,根据运算器逻辑功能表1-1进行逻辑、移位、算术运算,将运算结果填入表1-2。 表 1-1运算器逻辑功能表 运算类 A B S3 S2 S1 S0 CN 结果 逻辑运算65 A7 0 0 0 0 X F=( 65 ) FC=( ) FZ=( ) 65 A7 0 0 0 1 X F=( A7 ) FC=( ) FZ=( ) 0 0 1 0 X F=( ) FC=( ) FZ=( ) 0 0 1 1 X F=( ) FC=( ) FZ=( ) 0 1 0 0 X F=( ) FC=( ) FZ=( ) 移位运算0 1 0 1 X F=( ) FC=( ) FZ=( ) 0 1 1 0 0 F=( ) FC=( ) FZ=( ) 1 F=( ) FC=( ) FZ=( ) 0 1 1 1 0 F=( ) FC=( ) FZ=( ) 1 F=( ) FC=( ) FZ=( ) 算术运算 1 0 0 0 X F=( ) FC=( ) FZ=( ) 1 0 0 1 X F=( ) FC=( ) FZ=( ) 1 0 1 0X F=( ) FC=( ) FZ=( ) 1 0 1 0X F=( ) FC=( ) FZ=( ) 1 0 1 1 X F=( ) FC=( ) FZ=( ) 1 1 0 0 X F=( ) FC=( ) FZ=( ) 1 1 0 1 X F=( ) FC=( ) FZ=( ) 表1-2运算结果表

计算机组成原理实验

实验一基础汇编语言程序设计 一、实验目的: 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 主存地址

计算机组成原理实验一

_计算机_学院计算机科学与技术专业_10(5)班______组、学号3210006075 姓名钟柳贤协作者___________ 教师评定 实验题目_基础汇编语言程序设计_______________________ 一、实验目的: 1.学习和了解TEC-XP教学实验系统监控命令的用法; 2.学习和了解TEC-CP教学实验系统的指令系统; 3.学习简单的TEC-XP教学实验系统汇编程序设计; 二、实验设备与器材: TEC-XP+教学实验系统 仿真终端软件PCEC 三、实验内容: 1.学习联机使用TEC-XP教学实验系统和仿真终端软件PCEC。 2.使用监控程序的R命令显示/修改寄存器内容,D命令显示存储器内容,E命令修改存储器内容: 3.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T,P命令单步运行并观察程序单步执行情况: 四、实验步骤: 一、实验具体操作步骤 1.准备一台串口工作良好的PC机; 2.将TXC-XP放在实验台上,打开实验箱的盖子,确定电源处于断开状态; 3.将黑色的电源线一端接220V交流电源,另一端插在TEC—XP实验箱的电源插座里;4.取出通讯线,将通讯的9芯插头接在TEC—XP实验箱上的串口“COM1”或“COM2”上,另一端接到PC机的串口上; 5.将TEC—XP实验系统左下方的五个黑色的控制机器运行状态的开关置于正确的位置,在这个实验中开关应置为00110(连续、内存读指令、组合逻辑、联机、16位),控制开关的功能在开关上、下方有标示;开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意,其它实验相同; 6.打开电源,船形开关和5V电源指示灯亮。 7.在PC机上运行PCEC16.EXE文件,根据连接的PC机的串口设置所用PC机的串口为“1” 或“2”,其它设置一般不作改动,直接回车即可。 8.按一下“RESET”按键,再按一下“START”按键,主机上显示:

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

河南农业大学 计算机组成原理实验报告 题目简单机模型实验 学院信息与管理科学学院 专业班级计算机科学与技术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 微地址

计算机组成原理实验七

图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. 读出系统已有的指令,并理解其含义。 2. 设计并实现一条新指令。 二、实验原理:利用CP226实验仪(用74HC754即8D型上升沿触发器)上的K16…K23 开关为数据总线DBUS设置数据,其他开关作为控制信号,一条指令执行完 毕PC会自动加1,系统顺序执行下一条指令,但系统要进入一个新的指令序 列时,如跳转、转子程序等,必须给PC打入新的起始值——新指令序列的 入口地址。实验箱实现把数据总线的值(目标地址)打入PC的操作,以更新 PC值。 三、实验内容:1. 考察机器指令64的各微指令信号,验证该指令的功能。(假设R0=77H, A=11H, 77地址单元存放56H数据,64指令的下一条指令为E8) 2. 修改机器指令E8,使其完成“输出A+W的结果左移一位后的值到OUT” 操作。 四、实验步骤:1. 考察机器指令64的各微指令信号,验证该指令的功能。(假设R0=77H, A=11H, 77地址单元存放56H数据,64指令的下一条指令为E8) ①在初始化系统(Reset),进入微程序存储器模式(μEM状态),用NX键观 察64H,65H,66H,67H, 地址中原有的微指令,分析并查表确定其功能。 ②在EM状态下,Adr打入A0,DB打入64;按NX键,Adr显示A1,DB 打入E8。 ③在μEM状态下,在E8H、E9H、EAH、EBH下分别打入:FFDED8、CBFFFF、 FFFFFF、FFFFFF。 ④给μPC状态下,打入μPC(00)、PC(A0)、A(11)、W(00),按3次 NX输入R0(77)。 ⑤按下STEP键,观察实验现象。 2. 修改机器指令E8,使其完成“输出A+W的结果左移一位后的值到OUT” 操作。 ⑥继续按STEP键,直到进入E8状态下。 ⑦在EM状态下,打入Adr为77,DB为56。 ⑧按STEP键执行指令,观察实验现象。 五、实验现象:OUT寄存器的值为5A。 六、数据记录、分析与处理:实验结果和预期的一样。 七、实验结论:1、机器指令64对应的各微指令码为:FF77FF、D7BFEF、FFFE92、CBFFFF。其功能为:将R0寄存器的值打入地址寄存器MAR;存贮器EM将MAR输出地址所对应的值打入W寄存器;ALU直通门输出的值打入A寄存器,A、W中的值进行“与”运算,结果在A输出;PC+1,读出下一条指令并立即执行。 八、建议:暂无。

计算机组成原理实验十

上海大学计算机学院 《计算机组成原理二实验》报告十 姓名:林琦学号:xxxxxxxx 教师:王雪娟 时间:周一5-6 地点:计算机大楼609 机位:33 实验名称:十中断机制和应用(综合实验) 一、实验目的 1. 学习实验箱感知中断的硬件结构和工作原理。 2. 学习使用中断系统。 3. 学习使用扩展外设。 二、实验原理 程序中断:因“随机性”原因,使一个程序暂停执行,转而执行另一个程序,以处理随机事件,然后再返回原程序继续执行的过程成为“中断”。中断同子程序调用有共同点:执行另一个程序,然后返回。所以在调用另一个程序(中断服务子程序)时必须保存断点。中断与子程序调用有一个根本区别:中断发生的时间是随机的(不可预知,但发生后应该如何处理是安排好的),而子程序调用时间是安排好的,由程序员写下的调用指令决定。中断发生的“随机性”决定了“必须用硬件感知中断请求”、“不仅要保存断点,还必须保存现场”。中断发生时间与正在运行的程序的无关性,使得整个系统在运行一个程序的同时,还能感知其它事件的发生!这是实时监控的技术基础、是多用户、多任务、多线程技术的关键点,因此是操作系统工作的前提,是计算机系统的“点睛”之笔!深刻理解中断系统是计算机专业人员用好计算机的必备知识! 只有“中断返回”指令和复位操作使EINT为低电平,这个低电平作用到IREQ 的SD端,使上面这个D触发器的Q端为1,作用到IACK的CD端使下面这个D触发器的Q端输出0。 CK驱动下,IREQ的Q端输出D端的INT状态。当有中断请求时INT为0,则一个CK后Q端输出0,但这个0能否被CPU感知却要看①号“或门”是否允许它通过。而“非取指”微指令有IREN=1,则②号“或门”输出1,于是IREQ 的Q端无论输出0或1,①号“或门”总输出1,即不允许中断请求通过。同时这个1又送入IACK的SD端;于是下触发器的SD和CD端的输入都是无效状态,这个触发器保持稳定。

计算机组成原理实验报告材料

福建农林大学计算机与信息学院信息工程类实验报告系:计算机科学与技术专业:计算机科学与技术年级: 09级 姓名:张文绮学号: 091150022 实验课程:计算机组成原理 实验室号:___田405 实验设备号: 43 实验时间:2010.12.19 指导教师签字:成绩: 实验一算术逻辑运算实验 1.实验目的和要求 1. 熟悉简单运算器的数据传送通路; 2. 验证4位运算功能发生器功能(74LS181)的组合功能。 2.实验原理 实验中所用到的运算器数据通路如图1-1所示。其中运算器由两片74181

以并/串形式构成8位字长的ALU。运算器的输出经过一个三态门(74245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器(74373)锁存,锁存器的输入连接至数据总线,数据开关INPUT DEVICE用来给出参与运算的数据,并经过一个三态门(74245)和数据总线相连,数据显示灯“BUS UNIT”已和数据总线相连,用来显示数据总线内容。 图1-2中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4为脉冲信号,其它均为电平信号。由于实验电路中的时序信号均已连至W/R UNIT的相应时序信号引出端,因此,在进行实验时,只需将W/R UNIT 的T4接至STATE UNIT的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲,而S3,S2,S1,S0,Cn,LDDR1,LDDR2,ALU-B,SW-B各电平控制信号用SWITCH UNIT中的二进制数据开关来模拟,其中Cn,ALU-B,SW-B为低电平控制有效,LDDR1,LDDR2为高电平有效。 3.主要仪器设备(实验用的软硬件环境) ZYE1603B计算机组成原理教学实验系统一台,排线若干。 4.操作方法与实验步骤

计算机组成原理实验

计算机组成原理上机实验指导

一、实验准备和实验注意事项 1.本课程实验使用专门的TDN-CM++计算机组成原理教学实验设备,使用前后均应仔细检查主机板,防止导线、元件等物品落入装置导致线路短路、元件损坏。 2.完成本实验的方法是先找到实验板上相应的丝印字及其对应的引出排针,将排针用电缆线连接起来,连接时要注意电缆线的方向,不能反向连接;如果实验装置中引出排针上已表明两针相连,表明两根引出线部已经连接起来,此时可以只使用一根线连接。 3.为了弄清计算机各部件的工作原理,前面几个实验的控制信号由开关单元“SWITCH UNIT”模拟输入;只有在模型机实验中才真正由控制器对指令译码产生控制信号。在每个实验开始时需将所有的开关置为初始状态“1”。 4.本实验装置的发光二极管的指示灯亮时表示信号为“0”,灯灭时表示信号为“1”。 5.实验接线图中带有圆圈的连线为实验中要接的线。 6.电源关闭后,不能立即重新开启,关闭与重启之间至少应有30秒间隔。 7.电源线应放置在机专用线盒中。 8.保证设备的整洁。

二、实验设备的数据通路结构 利用本实验装置构造的模型机的数据通路结构框图如下图。其中各单元部已经连接好,单元之间可能已经连接好,其它一些单元之间的连线需要根据实验目的用排线连接。 图0-2 模型机数据通路结构框图

实验一运算器实验:算术逻辑运算实验 一.实验目的 1.了解运算器的组成结构; 2.掌握运算器的工作原理; 3.掌握简单运算器的数据传送通路。 4.验证运算功能发生器(74LSl81)的组合功能。 二.实验设备 TDN-CM++计算机组成原理教学实验系统一台,排线若干。 三.实验原理 实验中所用的运算器数据通路如图1-l所示。其中两片74LSl81以串行方式构成8位字长的ALU,ALU的输出经过一个三态门(74LS245)和数据总线相连。三态门由ALU-B控制,控制运算器运算的结果能否送往总线,低电平有效。 为实现双操作数的运算,ALU的两个数据输入端分别由二个锁存器DR1、DR2(由74LS273实现)锁存数据。要将数据总线上的数据锁存到DR1、DR2中,锁存器的控制端LDDR1和LDDR2必须为高电平,同时由T4脉冲到来。 数据开关(“INPUT DEVICE”)用来给出参与运算的数据,经过三态门(74LS245)后送入数据总线,三态门由SW-B控制,低电平有效。数据显示灯(“BUS UNIT”)已和数据总线相连,用来显示数据总线上的容。 图中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4为脉冲信号外,其它均为电平信号。由于实验电路中的时序信号均已连至“W/R UNIT”的相应时序信号引出端,因此,在进行实验时,只需将“W/R UNIT”的T4接至“STATE UNIT”的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲。 ALU运算所需的电平控制信号S3、S2、S1、S0、Cn、M、LDDR1、LDDR2、ALU-B、SW-B均由“SWITCH UNIT”中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B为低电平有效,LDDRl、LDDR2为高电平有效。 对单总线数据通路,需要分时共享总线,每一时刻只能由一组数据送往总线。

计算机组成原理实验五存储器读写实验

实验五 存储器读写实验实验目的 1. 掌握存储器的工作特性。 2. 熟悉静态存储器的操作过程,验证存储器的读写方法。 二、实验原理 表芯片控制信号逻辑功能表

2. 存储器实验单元电路 芯片状态 控制信号状态 DO-D7 数据状态 M-R M -W 保持 1 1 高阻抗 读出 0 1 6116-^总钱 写人 1 0 总线-*6116 无效 报警 ^2-10 D7—DO A7—A0

團2-8存储器实验电路逻辑图 三、实验过程 1. 连线 1) 连接实验一(输入、输出实验)的全部连线。 2) 按逻辑原理图连接M-W M-R 两根信号低电平有效信号线 3) 连接A7-A0 8根地址线。 4) 连接B-AR 正脉冲有效信号 2. 顺序写入存储器单元实验操作过程 1) 把有B-AR 控制开关全部拨到0,把有其他开关全部拨到1,使全部信号都处 于无效 状态。 2) 在输入数据开关拨一个实验数据,如“ 00000001”即16进制的01耳 把IO-R 控制开关拨下,把地址数据送到总线。 3) 拨动一下B-AR 开关,即实现“1-0-1 ”产生一个正脉冲,把地址数据送地 址寄存器保存。 4) 在输入数据开关拨一个实验数据,如“ 10000000',即16进制的80耳 把IO-R 控 制开关拨下,把实验数据送到总线。 3. 存储器实验电路 0 O O 0 0 olo O O O O 0 00 OUTPUT L/O :W 8-AR £ ■」2 ■七 ol^Fgr' L P O 74LS273 A7- AO vz 0 o|o 0 r 6116 A7 INPUT D7-O0 [olololololololol T2

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

计算机组成原理实验报告 学院信息与管理科学学院 专业班级计算机科学与技术2010级2班学生姓名毛世均 1010101046 指导教师郭玉峰 撰写日期:二○一二年六月四日

SA4=1 1.根据上边的逻辑表达式,分析58页图6-2的P1测试和P4测试两条指令的微地址转移方向。 P1测试:进行P1测试时,P1为0,其他的都为1, 因此SA4=1, SA3=I7,SA2=I6,SA1=,SA0=I4 微地址011001,下址字段为001000下址字段001000译码后,高两位不变,仍然为00,低四位受到机器指令的高四位I7-I4的影响。 机器指令的高四位为0000时,下一条微指令地址为001000,转到IN 操作。机器指令高四位0010时,下一条微指令地址为001010,转到MOV 操作。机器指令高四位为0001时,下一条微指令地址为001001,转到ADD 操作。机器指令高四位为0011时,下一条微指令地址为001011,转到OUT 操作。机器指令高四位为0100时,下一条微指令地址001100,转到JMP 操作 P4测试:进行P4测试时,P4为0,其他的都为1. 因此SA4=SA3=SA2=1,SA1=CA2,SA0=CA1 微地址000000,下址字段为010000. 010000被译码之后,高四位不变,0100低两位由CA2和CA1控制。CA2和CA1的值是由单片机的键盘填入控制的。 当实验选择CtL2=1时,CA2和CA1被填入0和1,这时低两位被译码电路翻译成01,所以下一条微地址就是010001,然后进入写机器指令的状态。当实验选择CtL2=2时,CA2和CA1被填入1和0,这时低两位被译码电路翻译成10,所以下一条微地址就是010010,然后进入读机器指令的状态。当实验选择CtL2=2时,CA2和CA1被填入1和1,这时低两位被译码电路翻译成 11,所以下一条微地址就是010011,然后进入运行机器指令的状态。 2.分析实验六中五条机器指令的执行过程。

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

2.5 PC实验 姓名:孙坚学号:134173733 班级:13计算机日期:2015.5.15 一.实验要求:利用CPTH 实验仪上的K16..K23 开关做为DBUS 的数据,其它开关做为控制信号,实现程序计数器PC的写入及加1 功能。 二.实验目的:1、了解模型机中程序计数器PC的工作原理及其控制方法。2、了解程序执行过程中顺序和跳转指令的实现方法。 三.实验电路:PC 是由两片74HC161构成的八位带预置记数器,预置数据来自数据总线。记数器的输出通过74HC245(PCOE)送到地址总线。PC 值还可以通过74HC245(PCOE_D)送回数据总线。 PC 原理图 在CPTH 中,PC+1 由PCOE 取反产生。 当RST = 0 时,PC 记数器被清0 当LDPC = 0 时,在CK的上升沿,预置数据被打入PC记数器 当PC+1 = 1 时,在CK的上升沿,PC记数器加一 当PCOE = 0 时,PC值送地址总线

PC打入控制原理图 PC 打入控制电路由一片74HC151 八选一构成(isp1016实现)。 当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 被预置 连接线表 四.实验数据及步骤: 实验1:PC 加一实验

置控制信号为: 按一次STEP脉冲键,CK产生一个上升沿,数据PC 被加一。 实验2:PC 打入实验 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据12H 置控制信号为: 每置控制信号后,按一下STEP键,观察PC的变化。 五.心得体会: 经过上一个实验的练习,在做这个实验的时候更加得心应手,了解了模型机中程序计数器PC的工作原理及其控制方法,还有了解了程序执行过程中顺序和跳转指令的实现方法。

计算机组成原理实验报告(运算器组成、存储器)

计算机组成原理实验报告 一、实验1 Quartus Ⅱ的使用 一.实验目的 掌握Quartus Ⅱ的基本使用方法。 了解74138(3:8)译码器、74244、74273的功能。 利用Quartus Ⅱ验证74138(3:8)译码器、74244、74273的功能。 二.实验任务 熟悉Quartus Ⅱ中的管理项目、输入原理图以及仿真的设计方法与流程。 新建项目,利用原理编辑方式输入74138、74244、74273的功能特性,依照其功能表分别进行仿真,验证这三种期间的功能。 三.74138、74244、74273的原理图与仿真图 1.74138的原理图与仿真图 74244的原理图与仿真图

1. 4.74273的原理图与仿真图、

实验2 运算器组成实验 一、实验目的 1.掌握算术逻辑运算单元(ALU)的工作原理。 2.熟悉简单运算器的数据传送通路。 3.验证4位运算器(74181)的组合功能。 4.按给定数据,完成几种指定的算术和逻辑运算。 二、实验电路 附录中的图示出了本实验所用的运算器数据通路图。8位字长的ALU由2片74181构成。2片74273构成两个操作数寄存器DR1和DR2,用来保存参与运算的数据。DR1接ALU的A数据输入端口,DR2接ALU的B数据输入端口,ALU的数据输出通过三态门74244发送到数据总线BUS7-BUS0上。参与运算的数据可通过一个三态门74244输入到数据总线上,并可送到DR1或DR2暂存。 图中尾巴上带粗短线标记的信号都是控制信号。除了T4是脉冲信号外,其他均为电位信号。nC0,nALU-BUS,nSW-BUS均为低电平有效。 三、实验任务 按所示实验电路,输入原理图,建立.bdf文件。 四.实验原理图及仿真图 给DR1存入01010101,给DR2存入10101010,然后利用ALU的直通功能,检查DR1、

计算机组成原理实验说明分解

实验一运算器组成实验 一、实验目的 1.熟悉双端口通用寄存器堆(组)的读写操作。 2.熟悉简单运算器的数据传送通路。 3.验证运算器74LS181的算术逻辑功能。 4.按给定数据,完成指定的算术、逻辑运算。 二、实验原理 上图是本实验所用的运算器数据通路图。参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF中。

RF由一个ispLSI1016实现,功能上相当于四个8位通用寄存器,用于保存参与运算的数据,运算后的结果也要送到RF中保存。双端口寄存器堆模块的控制信号中,RS1、RS0用于选择从B端口(右端口)读出的通用寄存器,RD1、RD0用于选取从A端口(左端口)读出的通用寄存器。而WR1、WR0用于选择写入的通用寄存器。LDRi是写入控制信号,当LDRi=1时,数据总线DBUS上的数据在T3写入由WR1、WR0指定的通用寄存器。RF的A、B端口分别与操作数暂存器DR1、DR2相连:另外,RF的B端口通过一个三态门连接到数据总线DBUS上,因而RF 中的数据可以直接通过B端口送到DBUS上。 DR1和DR2各由1片74LS273构成,用于暂存参与运算的数据。DR1接ALU 的A输入端口,DR2接ALU的B端口。ALU由两片74LS181构成,ALU的输出通过一个三态门(74LS244)发送到数据总线DBUS上。 图中尾巴上带粗短线标记的信号都是控制信号,其中S3,S2,Sl,S0,M,Cn#,LDDR2,LDDRl, ALU-BUS#,SW-BUS#、LDRi、RS1、RS0、RD1、RD0、WR1、WR0等是电位信号,用电平开关K0—Kl5来模拟。T2、T3是脉冲信号,印制板上已连接到实验台的时序电路上。#为低电平有效。K0—K15是一组用于模拟各控制电平信号的开关,开关向上时为1,开关向下时为0,每个开关无固定用途,可根据实验具体情况选用。 实验中进行单拍操作,每次只产生一组Tl,T2,T3,T4脉冲,需将实验台上的DP,DB开关进行正确设置。将DP开关置l,将DB开关置0,每按一次QD 按钮,则顺序产生Tl、T2、T3、T4各一个单脉冲。 三、实验任务 1.按图要求,将运算器模块与实验台操作板上的线路进行连接。 置DP=1,DB=0,编程开关拨到正常位置. 2.用开关SW7-SW0向通用寄存器堆RF内的R0-R3寄存器置数34H、21H、52H、65H。然后读出R0-R3的内容,在数据总线DBUS上显示出来。 3.令DR1=55H、DR2=0AAH、Cn#=1,验证ALU的正逻辑算术、逻辑运算功能。 四、实验要求 1.做好实验预习。掌握运算器的数据传送通路和ALU的功能特性,并熟悉本实验中所用的控制台开关的作用和使用方法。

计算机组成原理实验1.

计算机组成原理实验1 运算器(脱机)实验 通过开关、按键控制教学机的运算器执行指定的运算功能,并通过指示灯观察运算结果。实验原理: 为了控制Am2901运算器能够按照我们的意图完成预期的操作功能,就必须向其提供相应的控制信号和数据。 控制信号包括 1、选择送入ALU的两路操作数据R和S的组合关系(实际来源)。 2、选择ALU的八种运算功能中我们所要求的一种。这可通过提供三位功能选择码I5、 I4、I3实现。 3、选择运算结果或有关数据以什么方式送往何处的处理方案,这主要通过通用寄存器 组合和Q寄存器执不执行接收操作或位移操作,以及向芯片输出信息Y提供的是 什么内容。这是通过I8、I7、I6三位结果选择码来控制三组选择门电路实现的。 外部数据包括 1、通过D接收外部送来的数据 2、应正确给出芯片的最低位进位输入信号C n 3、关于左右移位操作过程中的RAM3、RAM0、Q3和Q0的处理。 4、当执行通用寄存器组的读操作时,由外部送入的A地址选中的通用寄存器的内容送 往A端口,由B地址选中的通用寄存器的内容送往B端口,B地址还用作通用寄 存器的写汝控制。 对于芯片的具体线路,需说明如下几点: 1、芯片结果输出信号的有无还受一个/OE(片选)信号的控制。 2、标志位F=0000为集电极开路输出,容易实现“线与”逻辑,此管脚需经过一个电阻 接到+5V。 3、RAM3、RAM0、Q3和Q0均为双向三态逻辑,一定要与外部电路正确连接。 4、通用寄存器组通过A端口、B端口读出内容的输出处均有锁存器线路支持。 5、该芯片还有两个用于芯片间完成高速进位的输出信号/G和/P。 6、Am2901芯片要用一个CLK(CP)时钟信号作为芯片内通用寄存器、锁存器和Q寄 存器的打入信号。 实验步骤如下: (1)选择运算器要完成的一项运算功能,包括数据来源,运算功能,结果保存等;(2)需要时,通过数据开关向运算器提供原始数据; (3)通过24位的微型开关向运算器提供为完成指定运算功能所需要的控制信号; (4)通过查看指示灯或用电表量测,观察运算器的运行结果(包括计算结果和特征标志)。实验准备 12为微型开关的具体控制功能分配如下: A口和B口地址:送给Am2901器件用于选择源与目的操作数的寄存器编号; I8~I0:选择操作数来源、运算操作功能、选择操作数处理结果和运算器输出内容的3组3位控制码; Sci,SSH和SST:用于确定运算器最低位的进位输入、移位信号的入/出和怎样处理Am2901产生的状态标志位的结果。

计算机组成原理专题实验

计算机组成原理专题实验 课程设计方案 学院:电信学院 班级:计算机16 学号:2110505136 姓名:冯旭 指导老师:姜欣宁 提交日期:2014年4月1日

设计目的 通过对一个简单模型机的设计与实现,对计算机的基本组成、部件的设计、部件间的 连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。 在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机。 指令集的设计 1.机器位数及寻址特性及时间特性 计划设计一个16位系统,提供256字的寻址空间和16个16位的通用寄存器。寻址方式提供立即数寻址、寄存器寻址和直接寻址3种方式。 计划每条指令由两个机器周期完成(第一个机器周期取指令,第二个机器周期执行指令),每个机器周期固定占4个时钟周期。 2.指令类型 计划提供16种指令,其中算逻类指令8条,其他类指令8条。 指令采用类似MIPS的方式,即只能使用load和store指令来访问存储器,一切运算均在寄存器之间进行。同时由于所设计的系统是简化系统不含I/O设备,所以指令集中不提供I/O类指令。 具体指令及其所采用的寻址方式,如下所示: 非算逻类指令: 指令名指令格式指令含义 LOAD Load dr,addr 将地址addr中的数存入dr寄存器 STORE Storedr,addr 将dr寄存器中的数写入地址addr所指的空间 JMP Jmp addr 跳转到地址addr JNE Jne addr 若标志位z无效跳转到地址addr JC Jc addr 若标志位c有效跳转到地址addr NOP nop 空指令 MOV Mov dr,sr 将sr寄存器中的值复制到sr寄存器 MOVI Movi dr,imm 将8位立即数imm写入dr寄存器 算逻类指令: ADD Add dr,sr 将dr寄存器中的值与sr寄存器中的值相加,结果存dr寄存器 SUB Sub dr,sr 将dr寄存器中的值与sr寄存器中的值相减,结果存dr寄存器 AND And dr,sr 将dr寄存器中的值与sr寄存器中的值按位做逻辑与,结果存dr寄存器 OR Or dr,sr 将dr寄存器中的值与sr寄存器中的值按位做逻辑或,结果存dr寄存器 NOT Not dr 将dr寄存器中的值按位取反 SHL Shl dr,sr 将dr寄存器中的值逻辑左移sr中值那么多位 SHR Shr dr,sr 将dr寄存器中的值逻辑右移sr中值那么多位 INC Inc dr 将dr寄存器中的值自增1 3.指令格式 我们采用16位固定位指令格式,根据操作数寻址方式的不同,对这16位可以划分为两种不同的理解方式,即可以认为是提供两种相似的格式: 其中操作码部分均为4位,占指令中15到12的高4位。DR和SR均为通用寄存器的编号,各占4位,ADDR/IMM部分为地址或立即数(8位)占指令中最低8位。 根据指令中操作数的数量和寻址类型的不同选用不同的格式,其主导思想为:

计算机组成原理实验五参考

实验五CPU组成与机器指令执行实验 第一步,对机器指令系统组成的简单程序进行译码。 第二步,接线 本实验的接线比较多,需仔细。 1.将跳线开关J1用短路子短接。时序发生器的输入TJI接控制存储器的输出TJ。控制器的输入C接运算器ALU的C。控制器的输入IR7、IR6、IR5、IR4依次指令寄存器IR的输出IR7、IR6、IR5、IR4。共6条线。

2.控制器的输出LDIR(CER)、LDPC(LDR4)、PC_ADD、PC_INC、M4、LDIAR、LDAR1(LDAR2)、AR1_INC、M3、LDER、IAR_BUS#、SW_BUS#、RS_BUS#、ALU_BUS、CEL#、LRW、WRD、LDDR1(LDDR2)、M1(M2)、S2、S1、S0 依次与数据通路的对应信号连接。共27条线。

3.指令寄存器IR的输出IR0接双端口寄存器堆的RD0、WR0,IR1接RD1、WR1,IR2接RS0,IR3接RS1。共6条线。 合上电源。按CLR#按钮,使实验系统处于初始状态。 第三步,利用控制台微程序KLD设置通用寄存器R2、R3的值 在本操作中,我们打算使R2 = 60H,R3 = 61H。 1.令DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。令SWC = 0、SWB = 1、SWA = 1,使实验系统处于寄存器加载工作方式KLD。按CLR#按钮, 使实验系统处于初始状态。 2.在SW7—SW0上设置一个存储器地址,该存储器地址供设置通用寄存器使用。 该存储器地址最好是不常用的一个地址,以免设置通用寄存器操作破坏重要的存储 器单元的内容。例如可将该地址设置为0FFH。按一次QD按钮,将0FFH写入AR1 和AR2。

计算机组成原理实验

计算机组成原理 实验报告 学院(系):软件学院 专业:软件设计 班级:软件设计一班 学号:1415925365 姓名:沈烨 2016年11月24日

实验1 Cache模拟器的实现 一.实验目的 (1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。 (2)掌握Cache容量、相联度、块大小对Cache性能的影响。 (3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。 (4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。 二、实验内容和步骤 1、启动CacheSim。 2、根据课本上的相关知识,进一步熟悉Cache的概念和工作机制。 3、依次输入以下参数:Cache容量、块容量、映射方式、替换策略和写策略。 4、读取cache-traces.zip中的trace文件。 5、运行程序,观察cache的访问次数、读/写次数、平均命中率、读/写命中率。思考:1、Cache的命中率与其容量大小有何关系? Cache 的容量与块长是影响cache效率的重要因素; Cache 容量越大,其CPU命中率就越高,当然容量过大,增加成本,而且cache 容量达到一定值时,命中率已不因容量的增加而又明显的提高; 2、Cache块大小对不命中率有何影响? Cache 当块由小到大,在已被访问字的附近,近期也可能访问,增大块长,可将更多有用字存入缓存,提高命中率;但是继续增大块长,命中率可能下降,因为所装入缓存的有用数据反而少于被替换掉的有用数据,由于块长增大,块数减少,装入新的块要覆盖旧块,很可能出现少数块刚装入就被覆盖,故命中率可能下降; 3、替换算法和相联度大小对不命中率有何影响? 替换算法中:LRU算法的平均命中率比FIFO的高 LRU算法比较好地利用访存局部性原理,替换出近期用得最少的字块,它需要随时记录cache 各个字块使用情况。FIFO不需要记录各个字块的使用情况,比较容易实现开销小,但是没有根据访存的局部性原理,最早调入的信息可能以后还要用到,或经常用到例如循环程序; Cache 容量一定时,随着相联度的不断增加,不命中率渐渐减小,但是当相连度增加到一定程度时,不命中率保持不变;

相关主题