脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过两个12位的微型开关来完成,这就谈不上执行指令,只能通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。
### 运算器部件知识点详解
#### 一、实验背景与意义
本次实验主要围绕“脱机运算器实验”展开,旨在深入理解AM2901运算器的功能及其使用方法,特别是通过4片AM2901的级联实现更复杂的运算逻辑。此实验不仅有助于学生掌握运算器的基本原理与组成结构,还能够加深对运算器控制机制的理解。
#### 二、AM2901简介
AM2901是一款由AMD公司生产的4位切片型算术逻辑单元(ALU),广泛应用于教学和研究领域。它具备基本的算术运算(如加、减)以及逻辑运算(如与、或、非)能力,并可以通过级联的方式扩展到更大位数的运算需求。AM2901内部包含了一系列用于控制运算过程的输入端口和用于输出结果的状态指示端口。
#### 三、实验准备与操作
**实验目的**:
1. 深入理解AM2901运算器的工作原理及具体应用。
2. 掌握4片AM2901级联的方法,以便实现更高位数的运算功能。
3. 学习运算器部件的组成、设计思路、控制逻辑以及实际使用技巧。
**实验步骤**:
1. **初始化设置**:首先需要确保教学计算机的初始状态正确设置。例如,实验中提到将教学机左下方的5个拨动开关置为1XX00(单步、16位、脱机),并依次按“RESET”和“START”键进行初始化。
2. **控制信号输入**:通过两个12位的微型开关向运算器提供控制信号,这些信号决定了运算器执行的具体操作类型。例如,在实验中通过不同的控制信号实现了加法、减法、逻辑运算等功能。
3. **数据输入**:通过16位数据开关向运算器提供参与运算的数据。本实验中选取了两组数据D1(0101H)和D2(1010H)作为示例。
4. **观测结果**:实验过程中需要通过指示灯观察运算结果及状态标志。这些指示灯可以显示运算结果(ALU输出)以及各种标志位(如进位位C、零位Z、符号位V和溢出位S)的状态。
5. **控制操作**:为了使运算器的通用寄存器接收ALU的计算结果,需要在特定时刻按下“START”键。这是因为根据ALU的操作周期时序,数据锁存和接收操作发生在时钟的下降沿和低电平时。
#### 四、实验内容详解
根据实验内容,我们将重点分析几个关键操作:
1. **D1 + 0 -> R0**:在此操作中,将D1(0101H)与0相加,并将结果存储在寄存器R0中。控制信号为011000111,其中SST=001、SSH=0、SCi=00。运算结果为0101H,标志位为CZVS=0000,表明没有发生进位、结果不为0、符号位为正且无溢出。
2. **R0 + R1 -> R0**:将R0中的值(0101H)与R1中的值(1010H)相加,并将结果(2121H)存储回R0。控制信号为011000001,其中SST=001、SSH=0、SCi=00。运算结果为2121H,标志位为CZVS=0000,同样没有进位、结果不为0、符号位为正且无溢出。
3. **R0 ≮ R1 -> R0**:比较R0与R1的值,如果R0不大于R1,则将比较结果存储到R0中。第一次比较的结果为0E0EH,第二次为FEFEH。控制信号分别为011110001和011111001,其中SST=001、SSH=0、SCi=00。这一系列操作展示了如何利用AM2901实现条件判断功能。
#### 五、实验总结
通过本次实验,不仅加深了对AM2901运算器功能和使用方法的理解,还掌握了4片AM2901级联的具体实施步骤。此外,实验过程中对运算器部件的设计原理、控制逻辑以及实际应用场景有了更深刻的认识。尽管实验本身相对简单,但其背后的理论知识和实践技能对于进一步探索计算机体系结构和数字电路设计具有重要意义。