文档库 最新最全的文档下载
当前位置:文档库 › 计算机组成原理实验1-汇编语言实验

计算机组成原理实验1-汇编语言实验

计算机组成原理实验1-汇编语言实验
计算机组成原理实验1-汇编语言实验

微处理器与接口技术

实验指导

实验一监控程序与汇编语言程序设计实验

一、实验要求

1、实验之前认真预习,明确实验的目的和具体实验内容,设计好主要的待实验的程序,做好实验之前的必要准备。

2、想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果。

3、在教学实验过程中,要爱护教学实验设备,认真记录和仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。

4、实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。

二、实验目的

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

【2】学习和了解TEC-XP16教学实验系统的指令系统;

【3】学习简单的TEC-XP16教学实验系统汇编程序设计。

三、实验注意事项

(一)实验箱检查

【1】连接电源线和通讯线前TEC-XP16实验系统的电源开关一定要处于断开状态,否则可能会对TEC-XP16实验系统上的芯片和PC机的串口造成损害。

【2】五位控制开关的功能示意图如下:

【3】几种常用的工作方式【开关拨到上方表示为1,拨到下方为0】

(二)软件操作注意事项

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

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

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

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

(三)联机通讯失败自检

如果上述的硬件和软件的操作都正确,联机却依旧失败,可以进行如下测试:

【1】测试PC机的串口是否能正常工作,或是换一台PC或换同一台PC的另一个串口再试,在换串口时要将TEC-XP16实验系统断电,换完后重新启动实验系统和软件;

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

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

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

四、实验步骤

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

2.将TEC-XP16放在实验台上,打开实验箱的盖子,确定电源处于断开状态;

3.将黑色的电源线一端接220V交流电源,另一端插在TEC-XP16实验箱的电源插座里;

4.取出通讯线,将通讯线的9芯插头接在TEC-XP16实验箱上的串口“COM1”或“COM2”上,另一端接到PC机的串口上;

5.将TEC-XP16实验系统左下方的五个黑色的控制机器运行状态的开关置于正确的位置,在这个实验中开关应置为:00110【连续、内存、硬布线、联机、16位】,其它实验相同;

6.打开电源,船形开关和5V电源指示灯亮。

7.在PC机上运行PCEC16.EXE文件,根据连接的PC机的串口设置所用PC机的串口为“1”或“2”, 其它的设置一般不用改动,直接回车即可。(具体步骤附后)

8.按一下“RESET”按键,再按一下“START”按键,主机上显示:

TEC-2008 CRT MONITOR

Version3.0 2007.10

Computer Architectur Lab.,Tsinghua University

Copyright Jason He

>

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

【1】在PC机上建一个文件夹TEC-XP16;

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

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

【4】系统默认选择串口1,用户可根据实际情况选择串口1或是串口2(这里的串口指的是和TEC-XP16教学实验系统相连的PC机的串口),按回车后出现如图界面:

【5】图中是系统设定的一些传输参数,建议用户不要改动,直接回车。按一下“RESET”按钮放开后再按一下“START”按钮,出现界面如图所示:

【6】此时表明TEC-XP16机器联机通讯正常。

六、实验内容

【1】学习联机使用TEC-XP16教学实验系统和仿真终端软件PCEC;

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

【3】用“A”命令输入例1-例6,用“G”命令或“T”命令运行并观察结果,请在实验报告中给出各例的运行结果。

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

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

七、思考题

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

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

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

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

程序? 请验证之。

附:例子程序

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

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

A 2000↙;

屏幕将显示:

2000:

输入如下形式的程序:

2000: IN 81 ;判键盘上是否按了一个键

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

2002:SHR R0

2003:JRNC 2000 ;未输入完则循环测试

2004:IN 80 ;接收该字符

2005: OUT 80↙;在屏幕上输出显示字符‘6’

2006: RET↙;每个用户程序都必须用RET指令结束

2007:↙;(按回车键即结束输入过程)

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

【2】用“G”命令运行程序

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

执行上面输入的程序,结果是什么?

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

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

【1】在命令行提示符状态下输入:A 2020↙

屏幕将显示:

2020:

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

2020:MVRD R2,00OA ;送入输出字符个数

2022:MVRD R0,0030 ;“0”字符的ASCII码送寄存器R0

2024:OUT 80 ;输出保存在R0低位字节的字符

2025:DEC R2 ;输出字符个数减1

2026:JRZ 202E ;判10个字符输出完否,已完,则转到程序结束处

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

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

2029:SHR R0 ;

202A:JRNC 2028 ;未完成, 则循环等待

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

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

202D:JR 2024 ;转去输出字符

202E:RET

202F:↙

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

【2】用“G”命令运行程序

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

执行结果为?

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

【1】在命令行提示符状态下输入:A 2040↙

屏幕显示如下:2040:从地址2040H开始输入下列程序:

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

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

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

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

SHR R0

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

IN80 ;输入字符到R0

MVRDR1,00FF

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

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

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

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

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

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

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

【2】在命令行提示符状态下输入:G 2040↙

执行结果为?

例4计算1到10的累加和。

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

A 2060↙屏幕将显示:

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

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

MVRD R2,00OA ;最大的加数

MVRDR3,0000

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

ADD R1,R3 ;累加计算

CMP R3,R2 ;判是否累加完

JRNZ2066 ;未完, 开始下一轮累加

RET

【2】在命令行提示符状态下输入:G 2060↙

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

执行结果为?

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

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

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

E 20F0↙屏幕将显示:

20F0 内存单元原值:

按下列格式输入:

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

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

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

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

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

MVRDR2,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 ;结束子程序执行过程,返回主程序

【2】在命令行提示符状态下输入:G 2080↙

屏幕显示运行结果为?

【3】在命令行提示符状态下输入:D 20F0↙

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

例6设计一个程序在显示器屏幕上循环显示95个(包括空格字符)可打印字符。【1】在命令行提示符状态下输入:A 20A0↙

屏幕将显示:20A0:

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

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 20AE ;条件转移指令,当标志位Z为1时转到20AE地址,结束程序20AC: INC R0 ;把R0寄存器的内容增加1

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

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

【2】在命令行提示符状态下输入:G 20A0↙

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

《微处理器与接口技术实验》实验报告 1 监控程序与汇编语言程序设计学号姓名专业成绩

一、实验结果

1. 执行例1输入的程序,结果是什么?

2. 执行例2输入的程序,结果是什么?

3. 执行例3输入的程序,结果是什么?

4. 执行例4输入的程序,结果是什么?

5. 执行例5输入的程序,屏幕显示运行结果是什么?在命令行提示符状态下输入:D 20F0↙ 20F0H~20F5H内存单元的内容分别是什么?

6. 执行例6输入的程序,结果是什么?

二、思考题

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

计算机组成原理实验1-汇编语言实验

微处理器与接口技术 实验指导

实验一监控程序与汇编语言程序设计实验 一、实验要求 1、实验之前认真预习,明确实验的目的和具体实验内容,设计好主要的待实验的程序,做好实验之前的必要准备。 2、想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果。 3、在教学实验过程中,要爱护教学实验设备,认真记录和仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。 4、实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。 二、实验目的 【1】学习和了解TEC-XP16教学实验系统监控命令的用法; 【2】学习和了解TEC-XP16教学实验系统的指令系统;

【3】学习简单的TEC-XP16教学实验系统汇编程序设计。 三、实验注意事项 (一)实验箱检查 【1】连接电源线和通讯线前TEC-XP16实验系统的电源开关一定要处于断开状态,否则可能会对TEC-XP16实验系统上的芯片和PC机的串口造成损害。 【2】五位控制开关的功能示意图如下: 【3】几种常用的工作方式【开关拨到上方表示为1,拨到下方为0】 (二)软件操作注意事项 【1】用户在选择串口时,选定的是PC机的串口1或串口2,而不是TEC-XP16实验系统上的串口。即选定的是用户实验时通讯线接的PC机的端口; 【2】如果在运行到第五步时没有出现应该出现的界面,用户需要检查是不是打开了两个软件界面,若是,关掉其中一个再试; 【3】有时若TEC-XP16实验系统不通讯,也可以重新启动软件或是重新启动PC再试; 【4】在打开该应用软件时,其它的同样会用到该串口的应用软件要先关掉。

实验四-循环结构汇编语言程序的设计实验报告

循环结构汇编语言程序设计实验报告

实验四循环结构汇编语言程序设计 一、实验目的 1、学习循环结构的汇编语言程序的设计和调试。 2、学习通过直接对8086计算机的寄存器和存的直接访问,编写更高效简洁的汇编程序。 3、加深掌握计算机整体的工作过程。 3、加深对排序算法的理解。 二、实验任务 编写程序求出数组A中(20个元素)的最大值和最小值(数组没有排序)。 要求至少采用二种不同的排序算法来实现。( 快速排序,归并排序、堆排序、Shell排序、插入排序、冒泡排序、交换排序、选择排序、基数排序……) 三、实验容 为了更好地实现老师所布置的实验任务,我们根据情况选取以下两种方式实

验。 1、利用冒泡排序的方式求解数组A中元素的最大值最小值。设计流程图如 下所示: 2、利用选择排序的方式求得数组A中元素的序列。设计流程图如下所示:

四、实验环境 PC机: winXP/win7(32位)/win7(64位)+winxp 虚拟机 汇编工具:Masm.exe+Link.exe。 五、实验步骤 1)建立和生成的文件 (1)编写的源程序,源程序名为abc、扩展名为.asm (2)源程序经汇编程序Masm.exe汇编(翻译)后生成二进制目标程序,文件名为abc.obj (3)目标程序需要经Link.exe连接生成可执行程序,文件名为abc.exe 2)汇编环境 最基本的汇编环境只需要两个文件:Masm.exe和Link.exe。将这两个文件拷入到已经建好的文件夹(例如 huibian)中,并将文件夹huibian放在硬盘根

目录C :\>下 3)上机步骤 进入DOS窗口中执行。 4)调试程序 进入DEBUG后,调试程序 5)调试成功后重新汇编、连接并生成可执行代码 6)执行程序,并对运行结果截图。 利用冒泡排序求得数组A中元素的最大值最小值的实验结果如下图所示:(说明:输入数据为:13,0,59,900,587,1,657,234,34,48) 利用选择排序对数组A中元素排序得到的序列得实验结果如下图所示:(说明:输入数据为13,0,59,900,587,1,657,234,34,48)

计算机组成原理实验题

一.这是一个判断某一年是否为润年的程序,运行可执行程序Ifleap.exe后,输入具体的年份,可输出是本年是否为闰年的提示信息。 DATA SEGMENT ;定义数据段 INFON DB 0DH,0AH,'PLEASE INPUT A YEAR: $' ;声明空间存储输入提示信息,其中0d回车,0a换行 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(?) ;声明空间作为缓冲区,总共10个字节,第一个表示准备接受的字DATA ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS ;定义一个栈,200字节 CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START:MOV AX,DATA MOV DS,AX ;指定堆栈 LEA DX,INFON ;在屏幕上显示提示信息 MOV AH,9 INT 21H ;将infon开始的字符串输出到屏幕 LEA DX,BUF ;从键盘输入年份字符串 MOV AH,10 INT 21H MOV CL, [BUF+1] ;获取实际输入长度 LEA DI,BUF+2 ;获取字符串首地址 CALL DATACATE ;调用子程序,将输入字符串传化为年份数字 CALL IFYEARS ;调用子程序,判断是否闰年 JC A1 ;如果进位标记C为1则跳转到a1

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

《计算机组成原理实验》报告1姓名学号教师时间地点机位 实验名称:数据传送实验 一、实验目的 1. 理解自然语言形式命令的人工译码过程。 2. 学习系统部件和数据总线间传送数据的操作。 二、实验原理 寄存器的作用是用于保存数据的。 CP226实验仪用74HC574(8D型上升沿触发器)构成各种寄存器。

寄存器A 的原理图 A 6 V A 4 .12 A 1 C K u 卜;、 寄存器组(R0-R3的原理图 SR SA 谨掙 G 0 U0 4 1 R] 1 V R2 1 1 RJ

三、实验内容 1、将57H写入A寄存器。 2、将68H写入W寄存器。 3、将12H写入R0寄存器。 四、实验步骤 1、将57H写入A寄存器。 (电平为:低咼低咼低咼咼咼) 置控制信号为选通寄存器A,置K0 (AEN)为0。 ②关闭机箱电源,用导线把K0和AEN连接。 ③检查连线和电键位置,确信无误。 ④开启机箱电源,按下RST键复位,再按小键盘TV/ME键3次显示屏进入Hand??手动状态。按下小键盘STEP脉冲键,CK由高变低,观察现象;放开小键盘STEP键,CK脉冲由低变高,产生一个上升沿,数据57H打入选通的寄存器A,观察现象。 2、将68H写入W寄存器。 (电平为:低咼咼低咼低低低) 置控制信号为选通寄存器W,置K1 (WEN)为0, K0 (AEN)为1。 ②用导线把K1和WEN连接。 ③检查连线和电键位置,确信无误。 ④按下小键盘STEP脉冲键,CK由高变低,观察现象;放开小键盘STEP键,CK脉冲由低变高,产生一个上升沿,数据68H打入选通的寄存器W,观察现象。 3、将12H写入R0寄存器。 (电平为:低低低高低低高低) ②用不同颜色的导线把K5和RRD连接,K4和RWR连接,K3和SB连接,K2和SA连接。 ③检查连线和电键位置,确信无误。 ④按下小键盘STEP脉冲键,CK由高变低,观察现象;放开小键盘STEP键,CK脉冲由低变高,产生一个上升沿,数据12H打入选通的寄存器R0,观察现象。

汇编语言学习知识程序设计实验

目录 目录 (1) 实验一利用DEBUG熟悉常用指令的使用 (2) 一、实验目的 (2) 二、示例 (2) 三、实验题 (2) 实验二汇编程序和连接程序的使用 (6) 一、实验目的。 (6) 二、示例。 (6) 三、实验题。 (8) 实验三顺序结构程序设计 (11) 一、实验目的 (11) 二、示例 (11) 三、实验题 (12) 四、实验报告 (15) 实验四循环结构程序设计 (16) 一、实验目的 (16) 二、示例 (16) 三、实验题 (18) 实验五分支结构程序设计 (21) 一、实验目的 (21) 二、示例 (21) 三、实验题 (22) 实验六子程序设计 (29) 一、实验目的 (29) 二、实验题 (29)

实验一利用DEBUG熟悉常用指令的使用 一、实验目的 熟悉指令系统,掌握常用指令的用法;通过实验加深对各种寻址方式的理解;能熟练使用DEBUG中的命令对指令进行反汇编,观察并了解机器代码。 二、示例 请分别用一条汇编语言指令完成如下功能:(过程略)。 1.用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。 ADD AL,[BX][SI] 2.用位移量为0520H的直接寻址方式把存储器中的一个字与3412H相加,并把结果送回该存储单元。 ADD WORF PTR [0520H],3412H 三、实验题 1.调试、验证下列指令的结果,已知(DS)=2000H,(BX)=0100H,(SI)=0002H,(BP)=0200H,(SS)=2300H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(21202)=B7H,(21203)=65H,(23204)=88H,说明各指令执行完后AX寄存器的内容。要求输入指令,相应存储单元的内容要事先设置,单步 P执行,观察执行结果。 (设置存储器的值)

计算机组成原理实验

计算机组成原理 一、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 主存地址

计算机组成原理-实验一

《计算机组成原理-实验一》 实验报告 韶关学院数信学院 2010级信息与计算科学 2012年 9月

实验一:本实验分三部分: 1熟悉Linux常用命令(上) 2 Linux下程序设计基础(中) 3汇编语言与机器指令(下)(暂略) 实验一熟悉Linux常用命令(上) 一,实验要求: 1,熟练Linux下的常用命令. 2,熟练地操作linux. 二,实验内容: 练习使用Linux常用命令; 三,实验环境: windows7的vmware的Redhat。 四,Linux下常用命令实验操作:(以下命令若权限不够,要在命令前加sudo) 1. 写出下面命令每个部分含义,字符C表示命令(Command)、O表示选项(Option)、OA表示选项的参数(Option Argument)、CA表示命令的参数(Command Argument),如: C OOA O OA C A Answer $ lpr –Pspr –n 3 proposal.ps Command line Linux命令行的语法结构: $ command [[-]option(s)] [option argument(s)] [command argument(s)] 含义: ● $:linux系统提示符,您的linux系统可能是其他的提示符 ● Command :linux命令的名字 ● [[-]option(s)] :改变命令行为的一个或多个修饰符,即选项 ● [option argument(s)] :选项的参数 ● [command argument(s)] :命令的参数 1) ls -la convert.txt 2) more convert.txt 3) pwd 4) cat file1 file2 file3 5) rm -r temp 6) ping –c 3 https://www.wendangku.net/doc/e113871368.html, 7) telnet https://www.wendangku.net/doc/e113871368.html, 13 8) cc -o short short.c -lbaked 9) chmod u+rw file1.c 10) uname –n

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH, 97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H 的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD 码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再 将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 第1页

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

(完整版)计算机组成原理作业讲解1-4章答案分解

1.1 概述数字计算机的发展经过了哪几个代?各代的基本特征是什么? 略。 1.2 你学习计算机知识后,准备做哪方面的应用? 略。 1.3 试举一个你所熟悉的计算机应用例子。 略。 1.4 计算机通常有哪些分类方法?你比较了解的有哪些类型的计算机? 略。 1.5 计算机硬件系统的主要指标有哪些? 答:机器字长、存储容量、运算速度、可配置外设等。 答:计算机硬件系统的主要指标有:机器字长、存储容量、运算速度等。 1.6 什么是机器字长?它对计算机性能有哪些影响? 答:指CPU一次能处理的数据位数。它影响着计算机的运算速度,硬件成本、指令系统功能,数据处理精度等。 1.7 什么是存储容量?什么是主存?什么是辅存? 答:存储容量指的是存储器可以存放数据的数量(如字节数)。它包括主存容量和辅存容量。 主存指的是CPU能够通过地址线直接访问的存储器。如内存等。 辅存指的是CPU不能直接访问,必须通过I/O接口和地址变换等方法才能访问的存储器,如硬盘,u盘等。 1.8 根据下列题目的描述,找出最匹配的词或短语,每个词或短语只能使用一次。(1)为个人使用而设计的计算机,通常有图形显示器、键盘和鼠标。 (2)计算机中的核心部件,它执行程序中的指令。它具有加法、测试和控制其他部件的功能。 (3)计算机的一个组成部分,运行态的程序和相关数据置于其中。 (4)处理器中根据程序的指令指示运算器、存储器和I/O设备做什么的部件。 (5)嵌入在其他设备中的计算机,运行设计好的应用程序实现相应功能。 (6)在一个芯片中集成几十万到上百万个晶体管的工艺。 (7)管理计算机中的资源以便程序在其中运行的程序。 (8)将高级语言翻译成机器语言的程序。 (9)将指令从助记符号的形式翻译成二进制码的程序。 (10)计算机硬件与其底层软件的特定连接纽带。 供选择的词或短语: 1、汇编器 2、嵌入式系统 3、中央处理器(CPU) 4、编译器 5、操作系统 6、控制器 7、机器指令 8、台式机或个人计算机 9、主存储器10、VLSI 答:(1)8,(2)3,(3)9,(4)6,(5)2, (6)10,(7)5,(8)4,(9)1,(10)7 计算机系统有哪些部分组成?硬件由哪些构成? 答:计算机系统硬件系统和软件系统组成。 硬件由控制器、存储器、运算器、输入设备和输出设备五大部件构成 1.9 冯·诺伊曼V on Neumann计算机的主要设计思想是什么? 略。 1.10 计算机硬件有哪些部件,各部件的作用是什么?

汇编语言程序设计实验篇emu

1.汇编语言程序设计实验篇 1.1.汇编系统软件简介 Emu8086-Microprocessor Emulator是集源代码编辑器、汇编/反汇编工具以及debug 的模拟器。它能模拟一台"虚拟"的电脑运行程序,拥有独立的“硬件”,避免访问真实硬件。该软件兼容Intel的下一代处理器,包括PentiumII、Pentium4。利用该软件提供的调试工具,能够单步跟踪程序,观察程序执行过程中寄存器、标志位、堆栈和内存单元的内容。 1.1.1创建程序 https://www.wendangku.net/doc/e113871368.html, TEMPLATE程序 本章与指令相关的实验都是用COM TEMPLATE类型的程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。 在“choose code template”对话框中,选择“COM template-simple and tiny executable file format, pure machine code.”后,单击按钮。

在如所示的编辑界面中,在“;add your code here”部分输入相应的指令,第一条指令默认的偏移地址为100h。 输入全部指令后,单击按钮,保存相应的程序段。 2.EXE TEMPLATE程序 本章与DOS功能调用和汇编源程序相关的实验都是用EXE TEMPLATE程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。

在“choose code template”对话框中,选择“EXE template-advanced executable file.header: relocation, checksum.”后,单击按钮。 在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码段的定义以及必要的功能调用等,在“add your data here”和“;add your code here”部分可以分别输入相应的变量定义和指令。

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

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

计算机组成原理实验1-运算器

《计算机组成原理》 实验报告 实验一运算器实验

一、实验目的 1.掌握运算器的组成及工作原理; 2.了解4位函数发生器74LS181的组合功能,熟悉运算器执行算术操 作和逻辑操作的具体实现过程; 3.验证带进位控制的74LS181的功能。 二、实验环境 EL-JY-II型计算机组成原理实验系统一套,排线若干。 三、实验内容与实验过程及分析(写出详细的实验步骤,并分析实验结果) 实验步骤:开关控制操作方式实验 1、按图1-7接线图接线: 连线时应注意:为了使连线统一,对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。 图1-1 实验一开关实验接线图 2、通过数据输入电路的拨开关开关向两个数据暂存器中置数: 1)拨动清零开关CLR,使其指示灯。再拨动CLR,使其指示灯亮。置ALU-G =1:关闭ALU的三态门;再置C-G=0:打开数据输入电路的三态门; 2)向数据暂存器LT1(U3、U4)中置数:

(1)设置数据输入电路的数据开关“D15……D0”为要输入的数值; (2)置LDR1=1:使数据暂存器LT1(U3、U4)的控制信号有效,置LDR2=0:使数据暂存器LT2(U5、U6)的控制信号无效; (3)按一下脉冲源及时序电路的【单脉冲】按钮,给暂存器LT1送时钟,上升沿有效,把数据存在LT1中。 3)向数据暂存器LT2(U5、U6)中置数: (1)设置数据输入电路的数据开关“D15……D0”为想要输入的数值; (2)置LDR1=0:数据暂存器LT1的控制信号无效;置LDR2=1:使数据暂存器LT2的控制信号有效。 (3)按一下脉冲源及时序电路的“单脉冲”按钮,给暂存器LT2送时钟,上升沿有效,把数据存在LT2中。 (4)置LDR1=0、LDR2=0,使数据暂存器LT1、LT2的控制信号无效。 4)检验两个数据暂存器LT1和LT2中的数据是否正确: (1)置C-G=1,关闭数据输入电路的三态门,然后再置ALU-G=0,打开ALU 的三态门; (2)置“S3S2S1S0M”为“F1”,数据总线显示灯显示数据暂存器LT1中的数,表示往暂存器LT1置数正确; (3)置“S3S2S1S0M”为“15”,数据总线显示灯显示数据暂存器LT2中的数,表示往暂存器LT2置数正确。 3、验证74LS181的算术和逻辑功能: 按实验步骤2往两个暂存器LT1和LT2分别存十六进制数“1234H”和“5678H”,在给定LT1=1234H、LT2=5678H的情况下,通过改变“S3S2S1S0MCn”的值来改变运算器的功能设置,通过数据总线指示灯显示来读出运算器的输出值F,填入上表中,参考表1-1的功能表,分析输出F值是否正确。分别将“AR”开关拨至“1”和“0”的状态,观察进位指示灯“CY”的变化并分析原因。 实验结果表为:

计算机组成原理全部实验.

计算机科学技术系王玉芬2012年11月3日

基础实验部分该篇章共有五个基础实验组成,分别是: 实验一运算器实验 实验二存储器实验 实验三数据通路组成与故障分析实验 实验四微程序控制器实验 实验五模型机CPU组成与指令周期实验

实验一运算器实验 运算器又称作算术逻辑运算单元(ALU),是计算机的五大基本组成部件之一,主要用来完成算术运算和逻辑运算。 运算器的核心部件是加法器,加减乘除运算等都是通过加法器进行的,因此,加快运算器的速度实质上是要加快加法器的速度。机器字长n位,意味着能完成两个n位数的各种运算。就应该由n个全加器构成n位并行加法器来实现。通过本实验可以让学生对运算器有一个比较深刻的了解。 一、实验目的 1.掌握简单运算器的数据传输方式。 2.掌握算术逻辑运算部件的工作原理。 3. 熟悉简单运算器的数据传送通路。 4. 给定数据,完成各种算术运算和逻辑运算。 二、实验内容: 完成不带进位及带进位的算术运算、逻辑运算实验。 总结出不带进位及带进位运算的特点。 三、实验原理: 1.实验电路图

图4-1 运算器实验电路图

2.实验数据流图 图4-2 运算器实验数据流图 3.实验原理 运算器实验是在ALU UNIT 单元进行;单板方式下,控制信号,数据,时序信号由实验仪的逻辑开关电路和时序发生器提供,SW7-SW0八个逻辑开关用于产生数据,并发送到总线上;系统方式下,其控制信号由系统机实验平台可视化软件通过管理CPU 来进行控制,SW7-SW0八个逻辑开关由可视化实验平台提供数据信号。 (1)DR1,DR2:运算暂存器, (2)LDDR1:控制把总线上的数据打入运算暂存器DR1,高电平有效。 (3)LDDR2:控制把总线上的数据打入运算暂存器DR2,高电平有效。 (4)S3,S2,S1,S0:确定执行哪一种算术运算或逻辑运算(运算功能表见附录1或者课本第49页)。 (5)M :M =0执行算术操作;M =1执行逻辑操作。 (6)/CN :/CN =0表示ALU 运算时最低位加进位1;/CN =1则表示无进位。 (7)ALU -BUS :控制运算器的运算结果是否送到总线BUS ,低电平有效。 (8)SW -BUS :控制8位数据开关SW7-SW0的开关量是否送到总线,低电平有效。 四、实验步骤: 实验前首先确定实验方式(是手动方式还是系统方式),如果在做手动方式实验则将方式选择开关置手动方式位置(31个开关状态置成单板方式)。实验箱已标明手动方式和系统方式标志。所有的实验均由手动方式来实现。如果用系统方式,则必须将系统软件安装到系统机上。将方式标志置系统模式位置。学生所做的实验均在系统机上完成。其中包括高 ALU DR1 DR2 LDDR1 T4 LDDR2 T4 S1 S2 M0 S0 CN S3

计算机组成原理实验报告1-寄存器实验

2.1 寄存器实验 姓名:孙坚学号:134173733 班级:13计算机日期:2015.4.3 一.实验要求:利用CPTH 实验仪上的K16..K23 开关做为DBUS 的数据,其它开关做为控制信号,将数据写入寄存器,这些寄存器包括累加器A,工作寄存器W,数据寄存器组R0..R3,地址寄存器MAR,堆栈寄存器ST,输出寄存器OUT。 二.实验目的:了解模型机中各种寄存器结构、工作原理及其控制方法。 三.实验电路:寄存器的作用是用于保存数据的,因为我们的模型机是8位的,因此在本模型机中大部寄存器是8 位的,标志位寄存器(Cy, Z)是二位的。 CPTH 用74HC574 来构成寄存器。74HC574 的功能如下: 1. 在CLK的上升沿将输入端的数据打入到8 个触发器中 2. 当OC = 1 时触发器的输出被关闭,当OC=0 时触发器的输出数据

四.实验数据及步骤: 实验1:A,W 寄存器实验 寄存器A,W 写工作波形图

连接线表: 系统清零和手动状态设定:K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入"Hand......"手动状态。 在后面实验中实验模式为手动的操作方法不再详述. 将66H写入A寄存器 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据66H 置控制信号为: 按住STEP脉冲键,CK由高变低,这时寄存器A 的黄色选择指示灯亮,表明选择A 寄存器。放开STEP 键,CK 由低变高,产生一个上升沿,数据66H 被写入A 寄存器。 将88H写入W寄存器 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据88H 置控制信号为: 按住STEP脉冲键,CK由高变低,这时寄存器W 的黄色选择指示灯亮,表明选择W 寄存器。放开STEP 键,CK 由低变高,产生一个上升沿,数据88H 被写入W 寄存器。 注意观察: 1.数据是在放开STEP键后改变的,也就是CK的上升沿数据被打入。 2.WEN,AEN为高时,即使CK有上升沿,寄存器的数据也不会改变。

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

计算机组成原理实验报告 学院信息与管理科学学院 专业班级计算机科学与技术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.分析实验六中五条机器指令的执行过程。

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

实验一运算器组成实验 一、实验目的 1.熟悉双端口通用寄存器堆的读写操作。 2.熟悉简单运算器的数据传送通路。 3.验证运算器74LS181的算术逻辑功能。 4.按给定数据,完成指定的算术、逻辑运算。 二、实验电路 S3 S2 S1 S0 M 图3.1 运算器实验电路 图3.1示出了本实验所用的运算器数据通路图。参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF中。 RF(U54)由一个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(U47)和DR2(U48)各由1片74LS273构成,用于暂存参与运算的数据。DR1接ALU 的A输入端口,DR2接ALU的B输入端口。ALU(U31、U35)由两片74LS181构成,ALU的输出通过一个三态门(74LS244)发送到数据总线DBUS上。 实验台上的八个发光二极管DBUS7-DBUS0显示灯接在DBUS上,可以显示输入数据或运算结果。另有一个指示灯C显示运算器进位标志信号状态。 图中尾巴上带粗短线标记的信号都是控制信号,其中S3、S2、S1、S0、M、Cn#、LDDR1、LDDR2、ALU_BUS#、SW_BUS#、LDRi、RS1、RS0、RD1、RD0、WR1、WR0都是电位信号,在本次实验中用拨动开关K0—K15来模拟;T2、T3为时序脉冲信号,印制板上已连接到实验台的时序电路。实验中进行单拍操作,每次只产生一组T1、T2、T3、T4时序脉冲,需将实验台上的DP、DB开关进行正确设置。将DP开关置1,DB开关置0,每按一次QD按钮,则顺序产生T1、T2、T3、T4一组单脉冲。 三、实验设备 1.TEC-5计算机组成实验系统1台 2.逻辑测试笔一支(在TEC-5实验台上) 3.双踪示波器一台(公用) 4.万用表一只(公用) 四、实验任务 1.按图3.1所示,将运算器模块与实验台操作板上的线路进行连接。由于运算器模块 内部的连线已由印制板连好,故接线任务仅仅是完成数据开关、控制信号模拟开 关、与运算器模块的外部连线。注意:为了建立清楚的整机概念,培养严谨的科 研能力,手工连线是绝对必要的。 2.用开关SW7—SW0向通用寄存器堆RF内的R0—R3寄存器置数。然后读出R0—R3 的内容,在数据总线DBUS上显示出来。 3.验证ALU的正逻辑算术、逻辑运算功能。 令DR1=55H,DR2=0AAH,Cn#=1。在M=0和M=1两种情况下,令S3—S0的值从0000B变到1111B,列表表示出实验结果。实验结果包含进位C,进位C由指示灯显示。 注意:进位C是运算器ALU最高位进位Cn+4#的反,即有进位为1,无进位为0。 五、实验要求 1.做好实验预习,掌握运算器的数据传输通路及其功能特性,并熟悉本实验中所用 的模拟开关的作用和使用方法。 2.写出实验报告,内容是: (1)实验目的。 (2)按实验任务3的要求,列表表示出实验结果。 (3)按实验任务4的要求,在表中填写各控制信号模拟开关值,以及运算结果值。 六、实验步骤和实验结果 (1)实验任务2 的实验步骤和结果如下:(假定令R0=34H,R1=21H,R2=52H,R3=65H)1.置DP=1,DB=0,编程开关拨到正常位置。

计算机组成原理实验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产生的状态标志位的结果。

计算机组成原理实验1

计算机组成原理实验日志 实验题目: 运算器组成实验 实验目的: (1)了解运算器的组成结构; (2)掌握运算器的工作原理; (3)学习运算器的设计方法; (4)掌握简单运算器的数据传输通路; (5)验证运算功能发生器 74LS181 的组合功能。 实验主要步骤: (1)(按图 1.1-2 连接实验电路并检查无误。图中将学生需要连接的信 号线用小圆圈标明 (其他实验相同,不再说明 )。 图 1.1-2 算术逻辑实验接线图 (2)打开电源开关。 (3)用输入开关向暂存器DR1 置数。 ①拨动输入开关,形成二进制数01100101(或其他数值 )。(数据显示:灯亮为0,灭为 1)。 ②使SWITCH UNIT 单元中的开关SW-B=0( 打开数据输入三态门) 、ALU-B=1( 关闭 ALU 输入三态门 )、LDDR1=1 、LDDR2=0 。 ③按动微动开关 KK2( 产生 T4),则将二进制数01100101置入 DR1 中。 (4)用输入开关向暂存器DR2 置数。

①拨动输入开关,形成二进制数10100111(或其他数值 )。 ②SW-B=0、ALU-B=1 保持不变,改变L DDR1 、LDDR2 ,使 LDDR1=0 、LDDR2=1 。 ③按动微动开关 KK2( 产生 T4),则将二进制数10100111置入 DR2 中。 (5)检验 DR1 和 DR2 中存的数是否正确。 ①关闭数据输入三态门(SW-B=1),打开 ALU 输出三态门 (ALU-B=0) ,并使 LDDR1=0 、LDDR2=0 ,关闭寄存器。 ②置 S3、S2、S1、S0、M 为 1、1、1、1、1,总线显示灯显示 DR1 中的数。 ③置 S3、S2、S1、S0、M 为 1、0、1、0、1,总线显示灯显示 DR2 中的数。 (6)改变运算器的功能设置,观察运算器的输出。 ①SW-B=1、ALU-B=0 保持不变。 ②按表 1.1-2 置 S3、S2、 S1、S0、M 、Cn 的数值,并观察总线显示灯显示的结果。 例如: 置S3、S2、S1、 S0、M 、 Cn 为 1、0、0、1、0、1,运算器进行加法运算。 置S3、S2、S1、 S0、M 、 Cn 为 0、1、1、0、0、0,运算器进行减法运算。 (7)验证 74LS181 的算术运算和逻辑运算功能(采用正逻辑 )。 ①在给定 DR1=65、 DR2=A7 的情况下,改变运算器的功能设置,观察运算器的输出,并将该输出填入表 1.1-2 中。 ②参考表 1.1-1 给出的 74LS181 的逻辑功能表,验证 74LS181 的算术运算和逻辑运算功能 (采用正逻辑 ),且与理论分析进行比较和验证。 实验结果: DR1 置入 DR1 置入01H 02H 加法,总线显示03H 减法,总线显示01H 心得体会: 通过本次实验初步了解了实验器材,加法原理和操作。

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