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

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

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

《计算机组成原理》

实验报告

学院: ______________

专业:_______________

班级:______________

学号:______________

姓名:______________

目录

1 软件的安装、测试与使用 (3)

2 基本汇编指令应用 (8)

3 脱机运算器实验 (16)

4 存储器部件教学实验 (18)

5 I/O口扩展实验 (22)

6 中断实验 (26)

1 软件的安装、测试与使用

实验目的:

1.学习和了解TEC-XP教学实验系统监控命令的用法;

2.学习和了解TEC-XP教学实验系统的指令系统;

实验内容:

1.学习联机使用TEC-XP教学实验系统和仿真终端软件PCEC.

2. 熟悉实验箱三种工作模式:仿真、脱机、联机

实验要求

在使用该教学机之前,应先熟悉教学机的各个组成部分,及其使用方法。

实验步骤

一.实验具体操作步骤:

1.准备一台串口工作良好的PC机;

2.将TEC-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”按键,主机上显示:

TEC-2000 CRT MONITOR

Version 1.0 April 2001

Computer Architectur Lab., Tsinghua University

Programmed by He Jia

>

二、实验注意事项:

1.连接电源线和通讯线前TEC-XP实验系统的电源开关一定要处于断开状态,否则可能

会对TEC-XP实验系统上的芯片和PC机的串口造成损害;

2.五个黑色控制开关的功能示意图如下:

单步手动置指令组合逻辑联机 8位

上面

下面

连续从内存读指令微程序脱机 16位

3.几种常用的工作方式(开关拨到上方表示为1,拨到下方为0;)

三、仿真终端软件的操作步骤:

1. 在PC机上建一个文件夹TEC-XP;

2. 取出配套的用户盘,将应用程序PCEC16拷贝到用户机器硬盘上该文件夹里;

3.双击PCEC16图标,出现如图所示的界面:

4.系统默认选择串口1,用户可根据实际情况选择串口1或是串口2(这里的串口指的

是和 TEC-XP教学实验系统相连的PC机的串口),按回车后出现如图界面:

5.图中是系统设定的一些传输参数,建议用户不要改动,直接回车。按一下“RESET”按

钮放开后再按一下“START”按钮,出现界面如图所示:

6.此时表明TEC-XP机器联机通讯正常。

四.软件操作注意事项:

1.用户在选择串口时,选定的是PC机的串口1或串口2,而不是TEC-XP实验系统上的串口。即选定的是用户实验时通讯线接的PC机的端口;

2.如果在运行到第五步时没有出现应该出现的界面,用户需要检查是不是打开了两个软件界面,若是,关掉其中一个再试;

3.有时若TEC-XP实验系统不通讯,也可以重新启动软件或是重新启动PC再试;

4.在打开该应用软件时,其它的同样会用到该串口的应用软件要先关掉。

五.联机通讯失败自检:

如果上述的硬件和软件的操作都正确,联机却依旧失败,用户可以进行如下测试:1.测试PC机的串口是否能正常工作,或是换一台PC或换同一台PC的另一个串口再试,在换串口时要将TEC-XP实验系统断电,换完后重新启动实验系统和软

件;

2.检查机器上的元器件插接是否正确(建议用户对照能够正常通讯的实验系统进行详细检查),有没有被学生动过,尤其是扩展内存和扩展I/O接口时,芯片方向

是否插对,片选信号有没有连接;

3.检查相应的短路子是否连接正确;

4.建议教师预留一台运行正常的TEC-XP实验系统备用,机器出问题后可以对照检查。

六:实验总结(实验过程中遇到问题以及解决方案)

1.用R命令查看寄存器内容或修改寄存器的内容

1)在命令行提示符状态下输入:

R↙;显示寄存器的内容

注:寄存器的内容在运行程序或执行命令后会发生变化。

2)在命令行提示符状态下输入:

R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也

可有一个或数个空格

主机显示:

寄存器原值:_

在该提示符下输入新的值0036

再用R命令显示寄存器内容,则R0的内容变为0036。

2.用D命令显示存储器内容

在命令行提示符状态下输入:

D 2000↙

会显示从2000H地址开始的连续128个字的内容;

连续使用不带参数的D命令,起始地址会自动加128(即80H)。

3. 用E命令修改存储器内容

在命令行提示符状态下输入:

E 2000↙

屏幕显示:

2000 地址单元的原有内容:光标闪烁等待输入

输入 0000

依次改变地址单元2001~2005的内容为:1111 2222 3333 4444 5555

注意:用E命令连续修改内存单元的值时,每修改完一个,按一下空格键,系统会自

动给出下一个内存单元的值,等待修改;按回车键则退出E命令。

4.用D命令显示这几个单元的内容

D 2000↙

可以看到这六个地址单元的内容变为0000 1111 2222 3333 4444 5555。

5. 用A命令键入一段汇编源程序,主要是向累加器送入数据和进行运算,执行程序并观察

运行结果。

1)在命令行提示符状态下输入:

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命令输入程序的操作过程)

若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。

2)用U命令反汇编刚输入的程序

在命令行提示符状态下输入:

U 2000↙

在相应的地址会得到输入的指令及其操作码

注:连续使用不带参数的U命令时,将从上一次反汇编的最后一条语句之后接着继续反汇编。

3)用G命令运行前面键入的源程序

G 2000↙

程序运行结束后,可以看到程序的运行结果,屏幕显示各寄存器的值,其中R0和R1的值均为5555H,说明程序运行正确。

4)用P或T命令,单步执行这段程序,观察指令执行结果

在命令行提示符状态下输入:

T 2000↙

寄存器R0被赋值为AAAAH

T↙

寄存器R1被赋值为5555H

T↙

做加法运算,和放在R0,R0的值变为FFFFH

T↙

做与运算,结果放在R0,R0的值变为5555H

用P命令执行过程同上。

注:T总是执行单条指令,但执行P命令时,则把每一个CALL语句连同被调用的子程序一次执行完成。T、P命令每次执行后均显示所有通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。

2 基本汇编指令应用

实验目的:

1.在仿真或联机模式下,熟悉 TEC-XP教学实验系统汇编程序设计;

实验内容:

1. 使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器

内容;

2. 使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,

用T、P命令单步运行并观察程序单步执行情况;

实验要求:

熟悉TEC-XP教学实验系统的汇编指令功能,并会灵活使用。

实验步骤:

一:基本指令功能

3.用R命令查看寄存器内容或修改寄存器的内容

3)在命令行提示符状态下输入:

R↙;显示寄存器的内容

注:寄存器的内容在运行程序或执行命令后会发生变化。

4)在命令行提示符状态下输入:

R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也

可有一个或数个空格

主机显示:

寄存器原值:_

在该提示符下输入新的值0036

再用R命令显示寄存器内容,则R0的内容变为0036。

4.用D命令显示存储器内容

在命令行提示符状态下输入:

D 2000↙

会显示从2000H地址开始的连续128个字的内容;

连续使用不带参数的D命令,起始地址会自动加128(即80H)。

3. 用E命令修改存储器内容

在命令行提示符状态下输入:

E 2000↙

屏幕显示:

2000 地址单元的原有内容:光标闪烁等待输入

输入 0000

依次改变地址单元2001~2005的内容为:1111 2222 3333 4444 5555

注意:用E命令连续修改内存单元的值时,每修改完一个,按一下空格键,系统会自

动给出下一个内存单元的值,等待修改;按回车键则退出E命令。

4.用D命令显示这几个单元的内容

D 2000↙

可以看到这六个地址单元的内容变为0000 1111 2222 3333 4444 5555。

5. 用A命令键入一段汇编源程序,主要是向累加器送入数据和进行运算,执行程序并观察

运行结果。

5)在命令行提示符状态下输入:

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命令输入程序的操作过程)

若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。

6)用U命令反汇编刚输入的程序

在命令行提示符状态下输入:

U 2000↙

在相应的地址会得到输入的指令及其操作码

注:连续使用不带参数的U命令时,将从上一次反汇编的最后一条语句之后接着继续反汇编。

7)用G命令运行前面键入的源程序

G 2000↙

程序运行结束后,可以看到程序的运行结果,屏幕显示各寄存器的值,其中R0和R1的值均为5555H,说明程序运行正确。

8)用P或T命令,单步执行这段程序,观察指令执行结果

在命令行提示符状态下输入:

T 2000↙

寄存器R0被赋值为AAAAH

T↙

寄存器R1被赋值为5555H

T↙

做加法运算,和放在R0,R0的值变为FFFFH

T↙

做与运算,结果放在R0,R0的值变为5555H

用P命令执行过程同上。

注:T总是执行单条指令,但执行P命令时,则把每一个CALL语句连同被调用的子程序一次执行完成。T、P命令每次执行后均显示所有通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。

二.汇编设计举例

例1:设计一个小程序, 从键盘上接收一个字符并在屏幕上输出显示该字符。

<1>在命令行提示符状态下输入:

A 2000↙;

屏幕将显示:

2000:

输入如下形式的程序:

注:在十六位机中,基本I/O接口的地址是确定的,数据口的地址为80,状态口的地址为81。

<2>用“G”命令运行程序

在命令行提示符状态下输入:

G 2000↙

执行上面输入的程序

光标闪烁等待输入,用户从键盘键入字符后,屏幕会显示该字符。

该例建立了一个从主存2000H地址开始的小程序。在这种方式下, 所有的数字都约定使用16进制数,故数字后不用跟字符H。每个用户程序的最后一个语句一定为RET汇编语句。因为监控程序是选用类似子程序调用方式使实验者的程序投入运行的,用户程序只有用RET语句结束, 才能保证程序运行结束时能正确返回到监控程序的断点, 保证监控程序能继续控制教学机的运行过程。

例2:设计一个小程序, 用次数控制在终端屏幕上输出'0'到'9'十个数字符。

<1>在命令行提示符状态下输入:

A 2020↙

屏幕将显示:

2020:

从地址2020H开始输入下列程序:

该程序的执行码放在2020H起始的连续内存区中。若送入源码的过程中有错, 系统会进行提示, 等待重新输入正确汇编语句。在输入过程中, 在应输入语句的位置直接打回车则结束输入过程。

<2>用“G”命令运行程序

在命令行提示符状态下输入:

G 2020↙

执行结果为:

0123456789

思考题: 若把IN 81, SHR R0, JRNC 2028三个语句换成4个MVRR R0,R0语句, 该程序执行过程会出现什么现象? 试分析并实际执行一次。

提示:该程序改变这三条语句后,若用T命令单条执行,会依次显示0~9十个数字。若用G命令运行程序,程序执行速度快,端口输出速度慢,这样就会跳跃输出。

在命令行提示符状态下输G 2020,屏幕显示09。

类似的, 若要求在终端屏幕上输出'A'到'Z'共26个英文字母,应如何修改例1中给

出的程序? 请验证之。

参考答案:

在命令行提示符状态下输入:

A 2100↙

屏幕将显示:2100:

从地址2100H开始输入下列程序:

(2100) MVRD R2,001A ;循环次数为26

MVRD R0,0041 ;字符“A”的值

(2104) OUT 80 ;输出保存在R0低位字节的字符

DEC R2 ;输出字符个数减1

JRZ 210E ;判26个字符输出完否,已完,则转移到程序结束处

PUSH R0 ;未完,保存R0的值到堆栈中

(2108)IN 81 ;查询接口状态,判字符串行输出完成否

SHR R0

JRNC 2108 ;未完成, 则循环等待

POP R0 ;已完成, 准备输出下一字符,从堆栈恢复R0的值

INC R0 ;得到下一个要输出的字符

JR 2104 ;转去输出字符

(210E)RET

用G命令执行该程序,屏幕上显示“A”~“Z”26个英文字母.

例3: 从键盘上连续打入多个属于‘0’到‘9’的数字符并在屏幕上显示, 遇到非数字字符结束输入过程。

<1> 在命令行提示符状态下输入:

A 2040↙

屏幕将显示:

2040:

从地址2040H开始输入下列程序:

(2040) MVRD R2,0030 ;用于判数字符的下界值

MVRD R3,0039 ;用于判数字符的上界值

(2044) IN 81 ;判键盘上是否按了一个键,

SHR R0 ;即串行口是否有了输入的字符

SHR R0

JRNC 2044 ;没有输入则循环测试

IN 80 ;输入字符到R0

MVRD R1,00FF

AND R0,R1 ;清零R0的高位字节内容

CMP R0,R2 ;判输入字符≥字符'0'否

JRNC 2053 ;为否, 则转到程序结束处

CMP R3,R0 ;判输入字符≤字符'9'否

JRNC 2053 ;为否, 则转到程序结束处

OUT 80 ;输出刚输入的数字符

JMPA 2044 ;转去程序前边2044处等待输入下一个字符

(2053) RET

<2> 在命令行提示符状态下输入:

G 2040↙

光标闪烁等待键盘输入,若输入0-9十个数字符,则在屏幕上回显;若输入非数字符,则屏幕不再显示该字符,出现命令提示符,等待新命令。

思考题, 本程序中为什么不必判别串行口输出完成否? 设计打入'A'~'Z'和'0'~'9'的程序, 遇到其它字符结束输入过程。(可回答可不回答)

三:实验编程要求

1:查看存储单元300F命令

用“G”命令运行程序

在命令行提示符状态下输入:

G 300F↙

执行上面输入的程序

光标闪烁等待输入,用户从键盘键入字符后,屏幕会显示该字符。

2: 计算1到10的累加和。(自己编写程序)

<1>在命令行提示符状态下输入:

A 2060↙

屏幕将显示:

2060:

从地址2060H开始输入下列程序:

(2060)MVRD R1,0000 ;置累加和的初值为0

MVRD R2,00OA ;最大的加数

MVRD R3,0000

(2066) INC R3 ;得到下一个参加累加的数

ADD R1,R3 ;累加计算

CMP R3,R2 ;判是否累加完

JRNZ 2066 ;未完, 开始下一轮累加

RET

<2>在命令行提示符状态下输入:

G 2060↙

运行过后, 可以用R命令观察累加器的内容。R1的内容为累加和。

结果为:R1=0037 R2=00OA R3=00OA

3:设计一个有读写内存和子程序调用指令的程序,功能是读出内存中的字符,将其显示到显示器的屏幕上,转换为小写字母后再写回存储器原存储区域。

<1>将被显示的6个字符‘A’~‘F’送入到内存20F0H开始的存储区域中。

在命令行提示符状态下输入:

E 20F0↙

屏幕将显示:

20F0 内存单元原值:

按下列格式输入:

20F0 内存原值:0041 内存原值:0042 内存原值:0043

内存原值:0044 内存原值:0045 内存原值:0046↙

在命令行提示符状态下输入:

从地址2080H开始输入下列程序:(自己编写程序)

(2080)MVRD R3,0006 ;指定被读数据的个数

MVRD R2,20F0 ;指定被读、写数据内存区首地址

(2084)LDRR R0,[R2] ;读内存中的一个字符到R0寄存器

CALA 2100 ;指定子程序地址为2100,调用子程序,完成显示、

转换并写回的功能

DEC R3 ;检查输出的字符个数

JRZ 208B ;完成输出则结束程序的执行过程

INC R2 ;未完成,修改内存地址

JR 2084 ;转移到程序的2086处,循环执行规定的处理(208B)RET

从地址2100H开始输入下列程序:

(2100)OUT 80 ;输出保存在R0寄存器中的字符

MVRD R1,0020

ADD R0,R1 ;将保存在R0中的大写字母转换为小写字母

STRR [R2],R0 ;写R0中的字符到内存,地址同LOD所用的地址(2105)IN 81 ;测试串行接口是否完成输出过程

SHR R0

JRNC 2105 ;未完成输出过程则循环测试

RET ;结束子程序执行过程,返回主程序

在命令行提示符状态下输入:

G 2080↙

屏幕显示运行结果为:

ABCDEF

<2>在命令行提示符状态下输入:

D 20F0↙

20F0H~20F5H内存单元的内容为:

0061 0062 0063 0064 0065 0066

<3>在命令行提示符状态下输入:

G 2080

屏幕显示运行结果为:

ABCDEF

<4>在命令行提示符状态下输入:

D 20F0

20F0H~20F5H内存单元的内容为:

0061 0062 0063 0064 0065 0066

4:设计一个程序在显示器屏幕上循环显示95个(包括空格字符)可打印字符。

<1>在命令行提示符状态下输入:

A 20A0↙

屏幕将显示:

20A0:

从地址20A0H开始输入下列程序:

<2> 在命令行提示符状态下输入:(自己编写程序)

A 20A0 ;从内存的20A0单元开始建立用户的第一个程序

20A0: MVRD R1,7E ;向寄存器传送立即数

20A2: MVRD R0,20 ;

20A4: OUT 80 ;通过串行接口输出R0低位字节内容到显示器屏幕

20A5: PUSH R0 ;保存R0寄存器的内容到堆栈中

20A6: IN 81 ;读串行接口的状态寄存器的内容

20A7: SHR R0 ;R0寄存器的内容右移一位,最低位的值移入标志位C

20A8: JRNC 20A6 ;条件转移指令,当标志位C不是1时就转到20A6地址

20A9: POP R0 ;从堆栈中恢复R0寄存器的原内容

20AA: CMP R0,R1 ;比较两个寄存器的内容是否相同,相同则标志位Z=1

20AB: JRZ 20A0 ;条件转移指令,当标志位Z为1时转到200A0地址

20AC: INC R0 ;把R0寄存器的内容增加1

20AE: JR 20A4 ;无条件转移指令,一定转移到20A4地址

20AF: RET ;子程序返回指令,程序结束

<2> 在命令行提示符状态下输入:

G 20A0↙

运行过后, 可以观察到显示器上会显示出所有可打印的字符。

上述例子, 都是用监控程序的A命令完成输入源汇编程序的。在涉及到汇编语句标号的地方, 不能用符号表示, 只能在指令中使用绝对地址。使用内存中的数据, 也由程序员给出数据在内存中的绝对地址。显而易见, 对这样的极短小程序矛盾并不突出, 但很容易想到,对很大的程序, 一定会有较大的困难。

在用A命令输入汇编源语句的过程中, 有一定用机经验的人, 常常抱怨A命令中未提供适当的编辑功能, 这并不是设计者的疏漏, 因为我们并不准备在这种操作方式下支持设计较长的程序, 这种工作应转到提供了交叉汇编程序的PC机上去完成。相反的情况是, 输入上述一些小程序, 用监控程序的A命令完成, 往往比用交叉汇编完成更简捷。

计算机组成原理实验-实验二

实验报告 课程名称计算机组成原理部件实验 实验项目实验二运算器组成实验 系别___ _计算机学院 _ ______ 专业___ 计算机科学与技术 ___ 班级/学号___计科1601/55___ 学生姓名 ______罗坤__ ________ 实验日期_(2018年4月12日) 成绩_______________________ 指导教师吴燕

实验二运算器组成实验一.实验目的 (1)掌握算术,逻辑运算单元的工作原理。 (2)熟悉多通用寄存器结构的简单运存器。 (3)进一步熟悉运算器的结构传送通路及控制方法。(4)按给定的各种操作流程完成运算。 二.实验电路

三.试验设备 数据通路板(B板)、控制信号板(A板)各一块。 四.实验数据 R0 ○OH→R0 SW=OH SW-BUS Ys1Ys0=11 LDR0,T4 R1 ○**H→R1 SW=**H SW-BUS Ys1Ys0=11 LDR1,T4 ○(R1)→DR1 YS1YS0=00 R1-BUS LDDR1,T4 ○(DR1)+1→R1 000001 ALU YS1YS0=11 LDR1,T4 YS1YS0=00 R1-BUS R2 ○**H→R2 SW=**H SW-BUS YS1YS0=11 LDR2,T4 ○(R2)→DR2 YS1YS0=00 R2-BUS LDDR2,T4 ○(DR2非)→R2 010110 ALU YS1YS0=11

YS1YS0=00 R2-BUS R1,R0 ○**H→R1 SW=**H SW-BUS Ys1Ys0=11 LDR1,T4 ○(R1)→DR2 YS1YS0=00 R2-BUS LDDR2,T4 ○(DR2) →R0 YS1YS0=00 LDR0,T4 YS1YS0=00 R0-BUS R1,R0 ○**H→R1 SW=**H SW-BUS Ys1Ys0=11 LDR1,T4 ○(R1)→DR1 YS1YS0=00 R1-BUS LDDR1,T4 ○**H→R0 SW=**H SW-BUS Ys1Ys0=11 LDR0,T4 ○(R0)→DR2 YS1YS0=00 R2-BUS LDDR2,T4 ○(DR1)-(DR2)→R0 011001 ALU YS1YS0=11 LDR2,T4 YS1YS0=00

计算机组成原理实验

计算机组成原理 一、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位运算器模块,⑵数据输入并显示模块,⑶数据总线显示模块,⑷功能开关模块(借用微地址输入模块)。

计算机组成原理实验

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

计算机组成原理实验三运算器

实验三:八位运算器组成实验 一:实验目的: 1:掌握运算器的组成原理、工作原理; 2:了解总线数据传输结构; 3:熟悉简单的运算器的数据通路与控制信号的关系; 4:完成给定数据的算术操作、逻辑操作; 二:实验条件: 1:PC机一台; 2:MAX+PLUSⅡ软件; 三:实验内容(一) 1:所用到的芯片 74181:四位算术逻辑运算单元; 74244:收发器(双向的三态缓冲器) 74273:八位D触发器; 74374:八位D锁存器; 74163:八进制计数器; 7449:七段译码器 2:实验电路图 (1)运算器电路图 (A)数据输入电路由两个十六进制计数器连接成16*16=256进制的计数器,可以实现八位的输入。 (B)运算功能选择电路由一个十六进制计数器组成,可以实现16种不同运算的选择。再加上逻辑运算器上的M位和Cn位的选择,一共可以实现16*3=48种运算功能。内部由一个74163构成。

内部结构: (C)数码管扫描显示电路由一个扫描电路scan和一个七段译码器7449组成,scan 内部是一个二选一的多路复用器。 scan内部结构: (D)运算器电路图

(2)波形仿真图 (A)输入两个数A=05H,B=0AH,O5H DR1,0AH DR2,并通过经由74181在总线上显示。

(B)对两个数进行各种数学运算和逻辑运算。加法运算:输出控制:s4s3s2s1=0001,M=0,CN=0 输出使能:ALU_BUS=0 计算结果:05H+0AH=10H

四:实验内容(二) 给定A,B两个数,设A=05H,B=0AH,完成几种常见的算术运算和逻辑运算画出运算的波形和仿真图 (1)逻辑运算:A and B,A or B,取反/A,A⊙B,A⊕B; /A A⊕B A⊙B A and B A or B 输入控制s3s2s1s0 0000 0110 1001 1011 1110 计算结果FAH 0FH F0H 00H 0FH

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

河南农业大学 计算机组成原理实验报告 题目简单机模型实验 学院信息与管理科学学院 专业班级计算机科学与技术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端的输入都是无效状态,这个触发器保持稳定。

计算机组成原理实验

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

一、实验准备和实验注意事项 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为高电平有效。 对单总线数据通路,需要分时共享总线,每一时刻只能由一组数据送往总线。

计算机组成原理实验

实验3 MIPS指令系统和MIPS体系结构 一.实验目的 (1)了解和熟悉指令级模拟器 (2)熟悉掌握MIPSsim模拟器的操作和使用方法 (3)熟悉MIPS指令系统及其特点,加深对MIPS指令操作语义的理解(4)熟悉MIPS体系结构 二. 实验内容和步骤 首先要阅读MIPSsim模拟器的使用方法,然后了解MIPSsim的指令系统。(1)、启动MIPSsim (2)、选择“配置”->“流水方式”选项,使模拟器工作在非流水方式。

(3)、参照使用说明,熟悉MIPSsim模拟器的操作和使用方法。 (4)、选择“文件”->“载入程序”选项,加载样例程序 alltest.asm,然后查看“代码”窗口,查看程序所在的位置。 (5)、查看“寄存器”窗口PC寄存器的值:[PC]= 0x00000000 。

(6)、执行load和store指令,步骤如下: 1)单步执行一条指令(F7)。 2)下一条指令地址为 0x00000004 ,是一条有(有,无)符号载入字节 (字节,半字,字)指令。 3)单步执行一条指令(F7)。 4)查看R1的值,[R1]=-128。

5)下一条指令地址为 0x00000008 ,是一条(有,无)符号载入字(字节,半字,字)指令。 6)单步执行1条指令。 7)查看R1的值,[R1]=128。 8)下一条指令地址为 0x0000000C ,是一条无(有,无)符号载入字(字节,半字,字)指令。 9)单步执行1条指令。

10)查看R1的值,[R1]=128。 11)单步执行1条指令。 12)下一条指令地址为 0x00000014 ,是一条保存字(字节,半字,字)指令。 13)单步执行一条指令。

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

实验五 存储器读写实验实验目的 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的工作原理及其控制方法,还有了解了程序执行过程中顺序和跳转指令的实现方法。

计算机组成原理实验3-微程序控制器实验

经济管理学院信息管理与信息系统专业班 __组学号 姓名协作者教师评定_____________ 实验题目_ 微程序控制器实验_________________ 1.实验目的与要求: 实验目的:1.理解时序产生器的原理,了解时钟和时序信号的波形; 2.掌握微程序控制器的功能、组成知识; 3掌握微指令格式和各字段功能; 4.掌握微程序的编制、写入、观察微程序的运行,学习基 本指令的执行流程。 实验要求:按练习一要求完成测量波形的操作,画出TS1、TS2、TS3、TS4的波形,并测出所有的脉冲Φ的周期。按练习二的要 求输入微指令的二进制代码表,并单步运行五条机器指 令。 2.实验方案: 1.用联机软件的逻辑示波器观测时序信号: 测量Φ、TS1、TS2、TS3、TS4信号的方法: (1)按图接线,接一根即可; (2)把探笔的探头端按颜色分别插到试验仪左上角的CH1、CH2,黑探头插CH1,红探头插CH2,将黑探笔的探头插在Φ接线的上孔,将红探笔的探针夹在TS1两针之间; (3)将实验仪的STOP开关置为RUN、STEP开关置为EXEC,“SWITCH UNIT”中CLR开关置为1状态,按动START按键; (4)启动“组成原理联机软件”,点击“调试”菜单下的“显示逻辑示波器窗口”,点击示波器开关,即可在屏幕上看到波形。使用“步数”或“速度”调整波形,波形调整好后,不要用同步通道来稳定波形,应该单击示波器开关,这样整个波形都停下来;(5)鼠标停留在波形线上,会有时间提示,两者相减可以算出波形周期; (6)测完Φ和TS1后,接着测量TS1和TS2,把黑红探针分别夹在TS1两根针之间和TS2两根针之间,相互比较,可以测量TS1 和TS2之间相位关系。同理通过测量TS2、TS3可以测量出TS2

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

实验一运算器组成实验 一、实验目的 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产生的状态标志位的结果。

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

实验五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。

计算机组成原理实验

成绩:计算机原理实验室实验报告 课程:计算机组成原理 姓名:姜香玉 专业:网络工程 学号:132055215 日期:2015年12月 太原工业学院 计算机工程系

实验一:运算器实验 实验环境PC机+Win 2003+emu8086+proteus仿真器实验日期2015年.10 一.实验内容 1.熟悉proteus仿真系统 2.设计并验证4位算数逻辑单元的功能 3.实现输入输出锁存 4.实现8位算数逻辑单元 二.理论分析或算法分析 实验原理: 算术逻辑运算单元的核心是由74LS181 构成,它可以进行二进制数的算术逻辑运算,74LS181 的各种工作方式可通过设置其控制信号来实现。当正确设置74LS181的各个控制信号,74LS181 会运算数据锁存器内的数据。由于数据锁存器已经把数据锁存,只要74LS181的控制信号不变,那么74LS181 的输出数据也不会发生改变。输出缓冲器采用74LS245,当控制信号为低电平时,74LS245导通,把74LS181 的运算结果输出到数据总线,高电平时,74LS245 的输出为高阻。 实验中所用的运算器数据通路如图所示。 其中运算器由两片74LS181以并/串形式构成8位字长的ALU。 运算器的输出经过一个三态门(74LS245)以8芯扁平线方式和数据总线相连,运算器的2个数据输入端分别由二个锁存器(74LS273)锁存,锁存器的输入亦以8芯扁平线方式与数据总线相连,数据开关(INPUT DEVICE)用来给出参与运算的数据,经一三态门(74LS245)以8芯扁平线方式和数据总线相连,数据显示灯(BUS UNIT)已和数据总线相连,用来显示数据总线内容。

计算机组成原理实验

计算机组成原理 实验报告 学院(系):软件学院 专业:软件设计 班级:软件设计一班 学号: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 容量一定时,随着相联度的不断增加,不命中率渐渐减小,但是当相连度增加到一定程度时,不命中率保持不变;

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

计算机组成原理实验五 参考 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

实验五 CPU组成与机器指令执行实验 第一步,对机器指令系统组成的简单程序进行译码。 地址指令机器代码 00H LDAR0,[R2]58H 01H LDA R1,[R3]5DH 02H ADD R0,R104H 03H JC +596H 04H AND R2,R33EH 05H SUB R3,R21BH 06H STA R3,[R2]4BH 07H MUL R0,R124H 08H STP60H 09H JMP [R1]84H 第二步,接线 本实验的接线比较多,需仔细。 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#按钮,使实验系统处于初始状态。 第三步,利用设置通用寄存器R2、R3的值

相关主题