学生学号 实验课成绩 学 生 实 验 报 告 书
实验课程名称 开 课 学 院 指导教师姓名 学 生 姓 名 学生专业班级
计算机组成原理
计算机科学与技术学院
田小华
2014
-- 2015 学年 第 2 学期
实验课程名称:_计算机组成原理
实验项目名称 实 验 者 同 组 者 运算器 专业班级 实验成绩 组 别 实验日期 2015年 6 月 2 日 第一部分:实验预习报告(包括实验目的、意义,实验基本原理与方法,主要仪器设备及耗材,实验方案与技术路线等) 1. 实验目的 (1) 了解运算器的组成结构。 (2) 掌握运算器的工作原理。 2. 实验设备 PC 机一台,TD-CMA 实验系统一套。 3. 实验原理 本实验的原理如图 1-1-1 所示。 运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存 于暂存器 A 和暂存器 B,三个部件同时接受来自 A 和 B 的数据(有些处理器体系结构把移位运 算器放于算术和逻辑运算部件之前, ARM)各部件对操作数进行何种运算由控制信号 S3…S0如, 和 CN 来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为 ALU 的输出。如 果是影响进位的运算,还将置进位标志 FC,在运算结果输出前,置 ALU 零标志。ALU 中所有 模块集成在一片 CPLD 中。 逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此 对这两个部件不再赘述。移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉 开关的原理如图 1-1-2 所示。图中显示的是一个 4X4 的矩阵(系统中是一个 8X8 的矩阵)。每一 个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即: (1) 对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用 的输出分别相连,而没有同任何输入相连的则输出连接 0。 (2) 对于循环右移功能,右移对角线同互补的左移对角线一起激活。例如,在 4 位矩阵中使 用‘右 1’和‘左 3’对角线来实现右循环 1 位。 (3) 对于未连接的输出位,移位时使用符号扩展或是 0 填充,具体由相应的指令控制。使用 另外的逻辑进行移位总量译码和符号判别。 1-1-1运算器原理图 运算器部件由一片 CPLD 实现。ALU 的输入和输出通过三态门 74LS245 连到 CPU 内总线 上,另外还有指示灯标明进位标志 FC 和零标志 FZ。请注意:实验箱上凡丝印标注有马蹄形标记,表示这两根排针之间是连通的。图中除 T4 和 CLR,其余信号均来自于 ALU 单元的排线座,实验箱中所有单元的 T1、T2、T3、T4 都连接至控制总线单元的 T1、T2、T3、T4,CLR 都连接至 CON 单元的 CLR 按钮。 由时序单元的 TS4 提供T4(时序单元的介绍见附录二),其余控制信号均由 CON 单元的二进制数据开关模拟给出。控制信号中除 T4 为脉冲信号外,其余均为电平信号,其中 ALU_B 为低有效,其余为高有效。 图 1-1-2 交叉开关桶形移位器原理图 暂存器 A 和暂存器 B 的数据能在 LED 灯上实时显示,原理如图 1-1-3 所示(以 A0 为例, 其它相同)。进位标志 FC、零标志 FZ 和数据总线 D7…D0 的显示原理也是如此。 图 1-1-3 A0 显示原理图 ALU 和外围电路的连接如图 1-1-4 所示,图中的小方框代表排针座。 运算器的逻辑功能表如表 1-1-1 所示,其中 S3 S2 S1 S0 CN 为控制信号,FC 为进位标志, FZ 为运算器零标志,表中功能栏内的 FC、FZ 表示当前运算会影响到该标志。 图 1-1-4 ALU 和外围电路连接原理图 表 1-1-1 运算器逻辑功能表 运算类型 逻辑运算 S3 S2 S1 S0 0000 0001 0010 0011 0100 CN X X X X X X 0 1 0 1 X X X X X X X X F=A(直通) F=B(直通) F=AB 功能 (FZ) F=A+B (FZ) F=/A (FZ) F=A 不带进位循环右移 B(取低 3 位)位 (FZ) F=A 逻辑右移一位 (FZ) F=A 带进位循环右移一位 (FC,FZ) F=A 逻辑左移一位 (FZ) F=A 带进位循环左移一位 (FC,FZ) 置 FC=CN (FC) F=A 加 B (FC,FZ) F=A 加 B 加 FC (FC,FZ) F=A 减 B (FC,FZ) F=A 减 1 (FC,FZ) F=A 加 1 (FC,FZ) (保留) (保留) 移位运算 0101 0110 0111 算术运算 1000 1001 1010 1011 1100 1101 1110 1111
计算机组成原理实验报告
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)