计算机组成原理多级中断实验,计算机组成原理实验指导2010 stu

a7f4a3f590493a1e451dd952a488fd7c.gif 计算机组成原理实验指导2010 stu

(48页)

04a2011b758fa67c097b7438c31581b6.png

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

19.9 积分

计算机组成原理计算机组成原理 实验指导实验指导 河南大学计算机与信息工程学院河南大学计算机与信息工程学院 网络工程系网络工程系 2010 目 录 目 录 一、概述.3 二、实验系统的硬件组成.4 三、TEC-XP机的指令系统.5 四、实验项目.13 一、概述.3 二、实验系统的硬件组成.4 三、TEC-XP机的指令系统.5 四、实验项目.13 实验一 TEC-XP汇编语言程序设计.13 13 实验二 脱机运算器实验.17 17 实验三 存储器部件实验.2222 实验四 微程序控制器部件实验 26 26 实验五 多级中断实验.46 46 第3页 by赵新强 计算机组成原理实验计算机组成原理实验 一、概述一、概述 计算机组成原理实验设备:TEC- XP 教学计算机系统 TEC- XP 系统的主要技术指标: 1、教学机系统配置了两个不同实现方案的 CPU 系统: l 一个 CPU 沿袭传统的设计思路,和当前主流的教材配套,由中小规模的 器件组成; l 另一个 CPU 参考国外著名大学的设计思路,用大规模的 FPGA(门阵列) 器件设计实现。 2、教学机的机器字长 16 位,即运算器、主存、数据总线、地址总线都是 16 位。 3、主存最大寻址空间是 16K 字,由基本容量 8K(字节或 16 位的字)的 ROM 和 2K(字节或 16 位的字)的 RAM 存储区域组成。还可以进一步完成存储器扩展的 教学实验。 TEC-XP 的内存地址分配: 4、 运算器由 4 片位片结构器件级联而成, 片间用串行进位方式传递进位信号。 ALU 实现 8 种算术与逻辑运算功能,内部包括 16 个双端口读出、单端口写入的通用寄 存器, 和一个能自行移位的乘商寄存器。 设置 C (进位) 、 Z (结果为 0) 、 V (溢出) 、 S(符号位)四个状态标志位。 5、控制器采用微程序和硬布线两种控制方案实现,可由实验者自由选择。 ROM 监控程序 RAM 用户区 RAM 监控程序工作区 RAM 用户扩展区 2000H …… 0000H 1FFFH …… 25FFH 2600H …… 27FFH 4000H …… FFFFH …… 3 第4页 by赵新强 二、实验系统的硬件组成二、实验系统的硬件组成 1、实验系统总体组成图: 2、各部分简介。 3、TEC-XP 的串口及状态寄存器 TEC-XP 有两个串行口 COM1(左侧)和 COM2(右侧) , COM1 的数据口地址为 80H,控制与状态口地址为 81H; COM2 的数据口地址为 82H,控制与状态口地址为 83H。 COM1 和 COM2 均由可编程串行接口 8251A 组成。 TEC-XP 机的状态寄存器格式为: 略 RXRDY TXRDY 其中: TxRDY = 1:发送器准备好,表明 CPU 可以向 8251A 发送数据。 TxRDY=0:发送器未准备好,需等待。 RxRDY=1: 接收器准备好,表明 8251A 已经从串行输入端接收了一个字符, CPU 可以到 8251A 取走该字符了。 RxRDY=0:按收器未准备好,需等待。 D7 ………… ………… D2 D1 D0 4 第5页 by赵新强 三、三、TEC- XP 机的指令系统机的指令系统 1、指令分类、指令分类 (1)指令长度:单字指令和双字指令。 (2)操作数个数:三操作数、双操作数、单操作数和无操作数。 (3)寻址方式:寄存器、寄存器间接、立即数、直接、相对等。 (4)指令功能:算逻运算类、读写内存类、I/O 类、转移类、子程序调用和返回 类、传送、移位、置进位和清进位等。 (5)本课程实验按指令的功能和它们的执行步骤分为 4 组: A 组:基本指令 ADD、SUB、AND、OR、XOR、CMP、TEST、MVRR、DEC、INC、 SHL、SHR、JR、JRC、JRNC、JRZ、JRNZ 扩展指令 ADC、SBB、RCL、RCR、ASR、NOT、CLC、STC、EI、DI、JRS、 JRNS、JMPR B 组:基本指令 JMPA、LDRR、STRR、PUSH、POP、PUSHF、POPF、MVRD、IN、 OUT、RET C 组:扩展指令 CALR、LDRA、STRA、LDRX、STRX D 组:基本指令 CALA 扩展指令 IRET 1)A 组完成通用寄存器间的数据运算或传送,在取指后可一步完成。 2)B 组完成一次内存或 I/O 读、写操作,在取指后可两步完成:第一步把要 使用的地址传送到地址寄存器 ARH、ARL 中,第二步执行内存或 I/O 读写操作。 3)C 组在取指后可三步完成:其中 CALR 在用两步读写内存后,第三步执行寄 存器间的数据传递;而其它指令在第一步置地址寄存器 ARH、ARL,第二步读内存 (即取地址操作数) 、计算内存地址、置地址寄存器 ARH、ARL,第三步读、写内存。 4)D 组完成两次读、写内存操作,在取指之后可四步完成。 2、指令格式、指令格式 15 8 7 4 3 0 目的寄存器号 源寄存器号 操作码 I/O 端口地址/相对偏移量 立即数/绝对地址/变址偏移量 特点: 1) 操作码占 8 位,这 8 位指令操作码(记作“IR15~IR8” ) ,含义如下: 5 第6页 by赵新强 ①IR15、IR14 用于区分指令组:0X 表示 A 组,10 表示 B 组,11 表示C、 D 组;C、D 组的区分还要用 IR11,IR11=0 为 C 组,IR11=1 为 D 组。 ②IR13 用于区分基本指令和扩展指令: 基本指令该位为 0,扩展指令该位 为 1。 ③IR12 用于简化控制器实现,其值恒为 0。 ④IR11~IR8 用于区分同一指令组中的不同指令。 2) 指令长度为 16 位(单字)或 32 位(双字)。 3) 在存储器中以字为单位进行编址。 4) 共有 16 个寄存器 R0~R15,其中 R4,R5,R6 作以下用途: R4 作为堆栈指针 SP (指向栈顶) ; R5 作为程序计数器 PC R6 作为指令当前地址寄存器 IP ; 其余 13 个寄存器作为通用寄存器供用户编程用。 3、指令系统、指令系统 助记符说明: SR―源操作数寄存器; DR-目的操作数寄存器; PC-程序计数器; OP-指令操作码。 按指令字长和操作数的个数来分,TEC-XP 机基本指令分为如下 6 类: ① 单字、无操作数指令,共 8 条 格式: 基本指令基本指令 含义含义 PSHF 状态标志(C、Z、V、S、P1、P0)入栈 POPF 弹出栈顶数据到状态标志寄存器 RET 子程序返回 扩展指令扩展指令 含义含义 CLC 清进位标志位 C= 0 15 8 7 0 OP 0000 0000 6 第7页 by赵新强 STC 置进位标志位 C= 1 EI 开中断,置中断允许位 INTE=1 DI 关中断,置中断允许位 INTE=0 IRET 中断返回 ② 单字、单操作数指令,共 21 条 基本指令基本指令 含义含义 DEC DR DR←DR-1 INC DR DR←DR+1 SHL DR DR 逻辑左移 (低位补 0,高位移入 C) SHR DR DR 逻辑右移 (高位补 0,低位移入 C) JR OFFSET 无条件转移到 ADR,ADR=原 PC 值+位移量 JRC OFFSET C=1 时,转移到 ADR,ADR=原 PC 值+位移量 JRNC OFFSET C=0 时,转移到 ADR,ADR=原 PC 值+位移量 JRZ OFFSET Z=1 时,转移到 ADR,ADR=原 PC 值+位移量 JRNZ OFFSET Z=0 时,转移到 ADR,ADR=原 PC 值+位移量 15 8 7 0 DR 0000 0000 SR OFFSET OP I/O 端口端口 7 第8页 by赵新强 IN I/O 端口 R0←[I/O 端口] 从外设 I/O 端口读入字节数据到 R0 低 8 位 OUT I/O 端口 [I/O 端口]←R0 R0 低 8 位数据写入外设 I/O 端口 PUSH SR SR 入栈 POP DR 弹出栈顶数据到 DR 扩展指令扩展指令 定义定义 RCL DR DR 与 C 循环左移 (C 移入最低位,最高位移入 C) RCR DR DR 与 C 循环右移 (C 移入最高位,最低位移入 C) ASR DR DR 算术右移 (最高位不变,最低位移入 C) NOT DR DR 求反,即 DR←/DR JMPR SR 无条件转移到 SR 指向的地址 CALR SR 调用 SR 指向的子程序 JRS OFFSET S=1 时,转移到 ADR,ADR=原 PC 值+位移量 JRNS OFFSET S=0 时,转移到 ADR,ADR=原 PC 值+位移量 ③ 单字、双操作数指令,共 12 条 基本指令基本指令 含义含义 ADD DR , SR 不带进位加 15 8 7 4 3 0 OP DR SR 8 第9页 by赵新强 SUB DR , SR 不带进位减 AND DR , SR 逻辑与 CMP DR , SR 比较(不改变操作数,只影响标志位) XOR DR , SR 逻辑异或 TEST DR , SR 测试(做与操作,但不改变操作数,只影响标志位) OR DR , SR 逻辑或 MVRR DR , SR 寄存器间传送数据 LDRR DR, [SR] DR←[SR] STRR [DR],SR [DR]←SR 扩展指令扩展指令 定义定义 ADC DR , SR 带进位加 SBB DR , SR 带进位减 ④ 双字、单操作数指令,2 条 基本指令基本指令 含义含义 JMPA ADR 无条件转移到地址 ADR CALA ADR 调用首地址在 ADR 的子程序 ⑤ 双字、双操作数指令,2 种格式 15 8 7 0 OP 0000 0000 ADR 9 第10页 by赵新强 格式 1: 基本指令基本指令 含义含义 MVRD DR,DATA DR←DATA LDRA DR,[ADR] DR←[ADR] STRA [ADR],SR [ADR]←SR 格式 2: 基本指令基本指令 含义含义 LDRX DR, OFFSET[SR] DR← [OFFSET+ SR] STRX OFFSET[DR],SR [OFFSET+ DR]← SR 15 8 7 0 DR 0000 OP 0000 SR DATA 15 8 7 0 OP DR SR DATA 10 第11页 by赵新强 4、教学机指令汇总表 (1)基本指令 注:*表示对应状态位在该指令执行后会被重置; ·表示执行后不会被修改。 指令格式 汇编语句 操作数 个数 CZVS 指令类 型 功能说明 00000000 DRSR ADD DR,SR 2 **** 00000001 DRSR SUB DR,SR 2 **** 00000010 DRSR AND DR,SR 2 **** 00000011 DRSR CMP DR,SR 2 **** 00000100 DRSR XOR DR,SR 2 **** 00000101 DRSR TEST DR,SR 2 **** 00000110 DRSR OR DR,SR 2 **** 00000111 DRSR MVRR DR,SR 2 ···· 00001000 DR0000 DEC DR 1 **** 00001001 DR0000 INC DR 1 **** 00001010 DR0000 SHL DR 1 *··· 00001011 DR0000 SHR DR 1 *··· 01000001 OFFSET JR OFFSET 1 ···· 01000100 OFFSET JRC OFFSET 1 ···· 01000101 OFFSET JRNC OFFSET 1 ···· 01000110 OFFSET JRZ OFFSET 1 ···· 01000111 OFFSET JRNZ OFFSET 1 ···· A 组 指 令 见前面 10000000 00000000 ADR (16 位) JMPA ADR 1 ···· 10000001 DRSR LDRR DR,[SR] 2 ···· 10000010 I/O PORT IN I/O PORT 1 ···· 10000011 DRSR STRR [DR],SR 2 ···· 10000100 00000000 PSHF 0 ···· 10000101 0000SR PUSH SR 1 ···· 10000110 I/O PORT OUT I/O PORT 1 ···· 10000111 DR0000 POP DR 1 ···· 10001000 DR0000 MVRD DR,DATA 2 ···· 10001100 00000000 POPF 0 ···· 10001111 00000000 RET 0 ···· 11001110 00000000 CALA ADR 1 ···· B 组 指 令 见前面 11 第12页 by赵新强 (2)扩展指令 注:*表示对应状态位在该指令执行后会被重置; ·表示执行后不会被修改。 指令格式 汇编语句 操作数 个数 CZVS 指令类 型 功能说明 00100000 DRSR ADC DR,SR 2 **** 00100001 DRSR SBB DR,SR 2 **** 00101010 DR0000 RCL DR 1 *··· 00101011 DR0000 RCR DR 1 *··· 00101100 DR0000 ASR DR 1 *··· 00101101 DR0000 NOT DR 1 **** 01100000 0000SR JMPR SR 1 ···· 01100100 OFFSET JRS OFFSET 1 ···· 01100101 OFFSET JRNS OFFSET 1 ···· 01101100 00000000 CLC 0 0··· 01101101 00000000 STC 0 1··· 01101110 00000000 EI 0 ···· 01101111 00000000 DI 0 ···· A 组 指 令 见前面 11100000 0000SR CALR SR 1 ···· 11100100 DR0000 LDRA DR,[ADR] 2 ···· 11100101 DRSR ADR(16 位) LDRX DR,OFFSET[SR] 2 ···· 11100110 DRSR ADR(16 位) STRX DR,OFFSET[SR] 2 ···· 11100111 0000SR STRA [ADR],SR 1 ···· C 组 指 令 见前面 11101111 00000000 IRET 0 ···· D 组 指令 中断返回 12 第13页 by赵新强 四、实验项目四、实验项目 实验一 TEC-XP 汇编语言程序设计 实验目的实验目的 1、 学习和了解 TEC-XP 教学实验系统监控命令的用法; 2、 学习和了解 TEC-XP 教学实验系统的指令系统; 3、 学习和了解 TEC-XP 教学实验系统汇编程序设计。 实验内容实验内容 1、 学习联机使用 TEC-XP 实验系统和仿真终端软件 PCEC; 2、 使用监控程序的 R 命令显示/修改寄存器内容、D 命令显示寄存器内容、E 命令修改寄存器内容; 3、 使用 A 命令写一小段汇编程序,U 命令反汇编查看,用 G 命令连续运行该 程序,用 T、P 命令单步运行并观察程序单步执行情况; 4、 按要求编写汇编程序。 实验要求实验要求 使用教学机前,先熟悉其各个组成部分及其使用方法。 实验步骤实验步骤 一、实验具体步骤 1、准备一台串口工作良好的 PC 机; 2、 将 TEC-XP 放在实验台上, 打开实验箱的盖子, 确定电源处于断电状态; 3、连接电源线,连接通讯线(一端接 TEC-XP 的串口“COM1”或“COM2” , 另一端接 PC 机的串口上) ; 4、TEC-XP 系统左下方的五个黑色控制机器运行状态的开关置于正确的位 置,在这个实验中开关应置为 00110(连续、内存读指令、组合逻辑、联机、 16 位) ,开关拨向上方表示“1” ,开关拨向下方表示“0” , “X”表示任意,其 他使用相同; 5、接通电源,打开 TEC-XP 的 0/1 电源开关,5V 电源指示灯亮; 6、在 PC 机上运行 PCEC16.EXE 文件,根据连接的 PC 机的串口设置所用 13 第14页 by赵新强 PC 机的串口为“1”或“2” ,其他设置一般不用改动,直接回车即可; 7、按一下“RESET”按键,再按一下“START”按键,主机上显示: TEC-XP CRT MONITOR Version 1.0 April 2001 Computer Architecture Lab. ,Tsinghua Uniersity Programmed by He Jia 出现命令行提示符“” ,表示进入了监控程序,否则检查上面的各步。 8、练习监控命令: (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 命令显示这几个单元的内容 14 第15页 by赵新强 D 2000↙ 再用 R 命令显示寄存器的内容,在 R0 的内容变为 0036。 (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 命令输入程序的过程) 若输入有误,系统会给出提示并显示出错地址, 只需在该地址用 A 命 令重新输入正确的指令即可。 2)用 U 命令反汇编刚输入的程序 在命令行提示符状态下输入: U 2000↙ 在相应地址会得到输入的指令及其操作码 3)用 G 命令运行程序 G 2000↙ 运行结束后,可以看到程序的运行结果,屏幕显示各寄存器的值,其 中 R0 和 R1 的值均为 5555H,说明程序运行正确。 4)用 T 或 P 单步执行该程序,观察每步指令执行结果 在命令行提示符状态下输入: T 2000↙ 寄存器 R0 被赋值为 AAAAH T↙ 寄存器 R1 被赋值为 5555H T↙ 做加法运算,和放在 R0,R0 值变为 FFFFH T↙ 做与运算,结果放在 R0,R0 值变为 5555H 用 P 命令执行过程同上。 9、编写汇编程序 (1)设计一个小程序,从键盘上接收一个字符并在屏幕上输出显示该字符。 15 第16页 by赵新强 提示:端口接收数据时,应当判断是否传输完成,这可以通过测试控制与 状态口的 RxRDY 的值来判断,具体参加 P4。 (2)设计一个小程序,用次数控制在终端显示器屏幕上输出‘0’到‘9’十 个数字符。 提示:假设用 R2 存储字符个数,R0 放第一个字符“0” ,输出一个字符则 R2 减 1,完成输出后 R0 加 1 ,以准备下一个字符。 (3)从键盘上连续打入多个属于‘0’到‘9’的数字符并在屏幕上显示,遇 到非数字字符结束输入过程。 验证:本程序中是否需要判别串行口输出完成否?为什么? (4)计算 1 到 10 的累加和。 (5)设计一个有读写内存和子程序调用指令的程序,功能是读出内存中的字 符, 将其显示到显示器的屏幕上, 转换为小写字母后再写回存储器原存储区域。 提示: 假设被显示字符 ‘A’ ~ ‘F’, 需先用 E 命令将其送入到内存 20F0H 开始的存储区域中。程序地址 2080H,子程序完成转换为小写字母的功能,程 序地址 2100H。 附表 1: 常用汇编命令如下表: 命令名称 命令格式 功能 汇编命令 A[adr] 输入单条指令,并将汇编之后的机器代码存入相应的内存 单元中。有错误提示,但功能并不完善 反汇编命令 U[adr] 从指定或默认地址开始反汇编 15 条指令,并将结果显示 处理 执行程序命令 G[adr] 从指定或默认地址开始连续运行一个用户程序 单条指令执行 命令 T[adr]/ P[adr] 从命令指定或 PC 指定地址开始单条执行指令 显示/修改寄存 器内容命令 R[reg] 当 R 命令不带参数时只是显示所有寄存器的内容;当 R 命令带参数时显示指定寄存器的内容,并可修改其值 显示存储器内 容命令 D[adr] 从指定或默认地址开始显示内存 128 个存储字的内容 修改存储器内 容命令 E[adr] 从指定或默认地址开始逐字显示每个内存字的内容并等 待用户键入一个新值存回该单元,用空格切换各个单元, 用回车结束 E 命令的执行。 16 15 实验二 运算器实验(1) 实验二 运算器实验(1) 一、实验目的 1. 一、实验目的 1. 了解脱机操作下运算器 AM2901 芯片的功能及控制信号的使用; 2.2. 了解运算器 AM2901 的内部结构及工作时序; 3.3. 观察运算器运算的结果对状态标志的影响。 二、实验说明 二、实验说明 脱机方式:所谓脱机方式是指将运算器部件完全脱离与计算机主机其他部件 正常的连接关系,在完全孤立出来的运算器上进行的教学实验。此时,只能通过 数据开关提供参加运算的数据,通过两个 12 位微型开关提供操作运算器运行所 必需的控制信号,通过指示灯观察运算结果。 做脱机运算器实验时,要用到实验台上提供的 24 位控制信号的微型开关和 提供 16 位数据的拨动开关。微型开关是红色的,一个微型开关可以提供 12 位的 控制信号,标有 micro switch 1micro switch 1 和 micro switch 2micro switch 2;数据开关是黑色的,左边 的标有 SWH 的是高 8 位,右边的标有 SWL 的是低 8 位。 微型开关与控制信号的对应关系由图所示: Micro switch 1 Micro switch 2 I I8 8-I-I6 6 I I5 5-I-I3 3 I I2 2-I-I0 0 SST SSH SCI B PORT A PORT SST SSH SCI B PORT A PORT 图 2-1 教学实验台微型开关的定义 下面的表格分别给出了 I2~~I0、 I5~~I3、 I8~~I6的 9位控制码的功能以方便同 学查阅 表一:运算数来源的控制 编 码 运算数据来源控制 I I2 2 I I1 1 I I0 0 R S R S 0 0 0 A Q 0 0 1 A B 0 1 0 0 Q 0 1 1 0 B 1 0 0 0 A 1 0 1 D A 17 16 1 1 0 D Q 1 1 1 D 0 表二:运算功能的控制 编 码 I I5 5 I I4 4 I I3 3 运算功能控制 0 0 0 R+S 0 0 1 S-R 0 1 0 R-S 0 1 1 R∨S 1 0 0 R∧S 1 0 1 R∧S 1 1 0 R?S 1 1 1 R?S 表三:运算结果的控制 编 码 运算结果控制 I I8 8 I I7 7 I I6 6 寄存器组 Q 寄存器 Y 输出 0 0 0 -- F→Q F 0 0 1 -- -- F 0 1 0 F→B -- A 0 1 1 F→B -- F 1 0 0 F/2→B Q/2→Q F 1 0 1 F/2→B -- F 1 1 0 2F→B 2Q→Q F 1 1 1 2F→B -- F 表四:状态寄存器的接收与保持控制 选择码 SST 状态位 C Z V S 说明 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 C Z V S CY F=0 OVR F3 内部总线对应的一位 0 Z V S 1 Z V S RAM0 Z V S RAM3 Z V S Q0 Z V S 4 个标志位的值不变 接收 ALU 的标志位输出 恢复标志位原现场值 置 C 为 0,另 3 个标志位不变 置 C 为 1,另 3 个标志位不变 右移操作,另 3 个标志位不变 左移操作,另 3 个标志位不变 联合右移,另 3 个标志位不变 表五:形成最低位进位输入信号 Cn的控制 SSH SCI 编码 指令举例 Cn 取值 18 17 0 0 0 0 0 1 0 1 0 0 1 1 ADD、DEC SUB、INC ADC、SBB 0 1 C 表六:最高、最低位移位输入信号的控制 左 移 右 移 SSH SCI 编码 RAM0 Q0 RAM15 Q15 说明 1 0 0 1 0 1 1 1 0 1 1 1 0 C Q15 X X X F15 X 0 C Cy F15 X X RAM0 RAM0 逻辑移位(移入信号为 0) 通用寄存器与 C 循环移位 原码除(左移)、乘(右移) 算术右移(高位不变) 三、实验内容及步骤 三、实验内容及步骤 图 2-2 Am2901 的逻辑结构图 输入D CnALU Cn+4 二选一 二选一三选一 A锁存器B锁存器 AB 16个通用寄存器 三选一 RAM3RAM0 4 4 4 4 移位器 OE F Q寄存器 三选一 Q3Q0 3I I4 5I 1I I2 0I 8I 6I 7I RS Z V S Y A口地址 B口地址 19 18 1.1.将教学计算机左下方的 5 个拨动开关置为 1XX001XX00(单步、16 位、脱机);先按 一下“RESETRESET”按键,再按一下“STARTSTART”按键,进行初始化。 2. 2.接下来,按下表所列的操作在机器上进行运算器脱机验证实验。 请注意以下提示: ①表中第一行的 D1+0→R0D1+0→R0 即将 01010101H 送寄存器 R0,通过 16 位的拨动开关置入 二进制数据 0000 0001 0000 0001(即十六进制的 01010101),并通过两个 12 位 的红色微型开关向运算器提供控制信号,按 STARTSTART 键将数据写入 R0。 ②表中第二行的 D2+0→R1D2+0→R1 即将 10101010H 送寄存器 R1,通过 16 位的拨动开关置入 二进制数据 0001 0000 0001 0000(即十六进制的 10101010),并通过两个 12 位 的红色微型开关向运算器提供控制信号,按 STARTSTART 键将数据写入 R1。 ③第三行以下各行是对 R0 和 R1 两个寄存器进行的操作,与拨动开关的数据无 关。只需通过两个 12 位的红色微型开关向运算器提供控制信号,通过指示灯 观察结果,按 STARTSTART 键后再观察。 ④按“STARTSTART”按键之前,ALU 输出的是计算结果(16 进制),参照 ALU 的操作 周期的时序可知 A 口、B 口数据锁存是在时钟的下降沿,通用寄存器的接收是在 低电平,所以要想寄存器接收 ALU 的计算结果必须按一次“STARTSTART”按键。CZVS 显示的是 4 位二进制信息。 运算器脱机实验操作表 压 STARTSTART 前 压 STARSTART 后 操作 I8~I0 SST SS H SC i B A ALU 输出 CZVS ALU 输出 CZVS D1+0→R0 011 000 111 00100000000不用0101随机 0101 0000 D2+0→R1 011 000 111 00100000001不用10100000 1010 0000 R0+R1→R0 011 000 001 00100000000000111110000 2121 0000 RO-R1→R0 011 001 001 00100010000000101010000 F0F1 1000 R1-R0→R1 011 001 001 0010001000100000F0F1000 0E0E 1000 R0∨R1→R0 011 011 001 0010000000100000F0F1000 0F0F 1010 R0∧R1→R0 011 100 001 00100000000000101011010 0101 1010 R 0 ≮ R 1 ↓ R 0 011 110 001 0010000000000010E0E1010 0101 1000 ( R 0 ≮ R 1 ) ↓ R 0 011 111 001 001000000000001FEFE1000 0E0E 1001 2*R0→R0(将 R0 左移一位) 111 000 011 00100000000不用FEFE1001 FDFC 0001 R0/2→R0(将 R0 右移一位) 101 000 011 00100000000不用FDFC0001 7EFE 0001 四、实验要求 1. 四、实验要求 1.实验之前认真预习,实验过程所用数据和运行结果等,否则实验效率会很 低,所学到的内容也会大受影响; 2.2.实验过程当中,要认真仔细的操作,防止损坏设备,分析可能遇到的各种现 象,判断结果是否正确,记录运行结果; 3.3.实验之后,认真写出实验报告,包括对遇到的各种现象的分析,实验步骤和 实验结果,自己在这次实验的心得体会与收获。 20 20 实验三 运算器实验(2) 实验三 运算器实验(2) 一、实验目的 一、实验目的 深入了解 AM2901 运算器的功能及具体用法;掌握用 AM2901 芯片完成各种运 算操作时,各控制信号的使用方法;观察指令执行的结果对状态标志的影响。 二、实验内容及步骤 1. 二、实验内容及步骤 1. 五个拨动开关置为 1XX001XX00(单步、16 位、脱机);先按一下“RESETRESET”按 键,再按一下“STARTSTART”按键,进行初始化。 2. 2. 按表格内填写的操作给出控制信号进行实验,并将结果填入下表中。(通过 两个 12 位的红色微型开关向运算器提供控制信号,通过 16 位数据开关向运算器 提供数据,通过指示灯观察运算结果及状态标志。) 操作记录表 按 Start 前 按 Start 后 执行操作 I8 ~ I6 I5 ~ I3 I2 ~ I0 SSTSSHSCIB 口 A 口 A L U C Z V S A L U C Z V S FFFF→R0 FFFF→R1 R1+R0→R1 FFFF→R0 0001→R2 R0-R2→R0 0001→R3 R3+1→R3 1234→R5 R5→Y R5+1→R5 AAAA→R8 9999→R9 R8-R9→R9 R9 右移 R8 与 Q的 联合右移 注意事项:注意事项:1. 不能打乱顺序执行。不能打乱顺序执行。 2. 注意记录按注意记录按 Start 之前和之后的结果。之前和之后的结果。 思 考 题: ? 分析R0-R2→R0和R8-R9→R9的结果,并说明操作控制的区别。 21 2、分析R3+1→R3 与R5→Y 同时R5+1→R5 的结果,并说明操作控制的区别。 第23页 by赵新强 实验三 存储器部件实验 实验目的实验目的 通过看懂教学机中已经使用的几个存储器芯片的逻辑连接关系和用于完成存 储器容量扩展的几个存储器芯片的布线安排,在教学机上设计、 实现并调试出存储 器容量扩展的实验内容。 其最终要达到的目的是: 1、深入了解计算机内存储器的功能、组成知识; 2、 深入地学懂静态存储器芯片的读写原理和用它们组成较先进系统的方法 (即 字、位扩展技术) ,控制其运行的方式; 3、思考并对比静态和动态存储器芯片在特性和使用场合等方面的同异之处。 实验要求实验要求 实验前先复习一下存储器字、位扩展的方法。 实验说明实验说明 教学机存储器系统由ROM和RAM两个存储区组成, 分别由EPROM芯片 (或EEPROM 芯片)和 RAM 芯片组成。TEC-XP 机还安排了另外几个存储器器件插座,可以插上 相应存储器芯片以完成存储器容量扩展的实验,为此必须比较清楚地了解: 1、TEC-XP 机的存储器系统的总体组成及其连接关系; 2、TEC-XP 机的有关存储器芯片、I/O 接口芯片的片选信号控制和读写命令的 给出和具体使用办法; 3、RAM 和 EPROM、EEPROM 存储器芯片在读写控制、写入时间等方面的同异之 处,并正确建立连线关系和在程序中完成正确的读写过程; 4、如何在 TEC-XP 机中使用扩展的存储器空间并检查其运行的正确性。 实验内容实验内容 1、要完成存储器容量扩展的实验,需为扩展存储器选择一个地址,并注意读 写(/WE)和输出使能控制(/OE) 、片选/CE(也叫/CS)等控制信号的正确状态; 2、用监控程序的 D、E 命令对存储器进行读写,比较 RAM(6116) 、EEPROM(28 系列芯片) 、EPROM(27 系列芯片)在读写上的异同; 3、用监控程序的 A 命令编写一段程序,对 RAM(6116)进行读写,用 D 命令 查看结果是否正确; 4、用监控程序的 A 命令编写一段程序,对 EEPROM(28 系列芯片)进行读写, 用 D 命令查看结果是否正确;若不正确,分析原因,改写程序,重新运行。 22 第24页 by赵新强 实验步骤实验步骤 1、检查 FPGA 下方的插针要按下列要求短接: 标有“/MWR” “RD”的插针左边两个短接; 标有“/MRD” “GND”的插针右边两个短接; 标有“ROMLCS”和“RAMLCS”的插针短接。 2、RAM(6116)支持即时读写,可直接用 A、E 命令向扩展的存储器输入程 序或改变内存单元的值。RAM 中的内容在断电后会消失,重新启动实验机后会发 现内存单元的值发生了改变。 (1)用 E 命令改变内存单元的值并用 D 命令观察结果。 1)在命令行提示符状态下输入: E 2020↙ 屏幕将显示:2020 内存单元原值: 按如下形式输入:2020 原值:2222(空格)原值:3333(空格)原值: 4444(空格)原值:5555↙ 2)用 D 命令查看: D 2020↙ 3)断电后重新启动教学机,用 D 关 键 词: 计算机组成原理实验指导2010stu

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
A组:基本指令 ADD、SUB、AND、OR、XOR、CMP、TEST、MVRR、DEC、INC、SHL、SHR、 JR、JRC、JRNC、JRZ、JRNZ 扩展指令 ADC、SBB、RCL、RCR、ASR、NOT、CLC、STC、EI、CI、JRS、 JRNS、JMPR B组:基本指令 JMPA、LDRR、STRR、PUSH、POP、PSHF、POPF、MVRD、IN、OUT、RET C组:扩展指令 CALR、LDRA、STRA、LDRX、STRX D组:基本指令 CALA 扩展指令 IRET 这种分类办法,是为了突出指令执行步骤的划分结果,有利于讲解控制器设计技术。 A组指令完成的是通用寄存器之间的数据运算或传送,或其它几项特殊的操作,在取指之后可一步完成。 B组指令完成的是一次内存或I/O读、写操作,在取指之后可两步完成,第一步把要使用的地址传送到地址寄存器AR中,第二步执行内存或I/O读、写操作。 C组指令在取指之后可三步完成,其中CALR指令在用两步完成一次写内存之后,第三步执行寄存器之间的数据传送;而其它指令在第一步置地址寄存器AR,第二步读内存(即取得一个内存单元的地址)并传送到地址寄存器AR,第三步执行另外一次读、写内存的操作。 D组指令完成的是两次读、写内存操作,在取指之后可四步完成。 十六位的教学机系统,实现了上面4组中的29条基本指令,用于支持教学机的监控程序和简单的汇编语言程序设计。保留了其余19条扩展指令,供学生在教学实验中进行扩展,即完成对这些指令的设计与调试,当然,还可以扩展另外一些指令。 为了支持汇编语言程序设计,每一条指令分配了一个汇编语句名,其命名规则是: 用一个英文单词或其缩写形式(2~4个字母)给出一个汇编语句名,例如ADD、SUB、MVRR、MVRD、JR、JMPA、STRX等; 其中的1~2个字母可能涉及到操作数寻址方式,具体规定如下: 用R代表寄存器寻址,例如ADD R0,R1 语句表示 R0←R0+R1;MVRR R0,R1语句表示把寄存器R1的内容传送到寄存器R0;在R字母两侧加上方括号,代表寄存器间接寻址,例如STRR [R8],R9 语句表示把R9的内容传送到以寄存器R8的内容为地址的内存单元之中; 用D表示立即数寻址,例如MVRD R3,1234 语句表示 R0←立即数1234; 用X表示变址寻址,例如 LDRX R1,12[R2] 语句表示把变址寄存器R2的内容与变址偏移量12相加作为内存地址,进行读操作,读出的数据传送的寄存器R1; 用A表示直接地址寻址,例如 JMPA 2008 语句表示转移到2008单元之处, STRA [2000], R2 语句表示把R2的内容写入到地址为2000的内存单元之中。 §1.2.1 基本指令汇总表

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值