文档库 最新最全的文档下载
当前位置:文档库 › 组成原理运算器实验

组成原理运算器实验

组成原理运算器实验
组成原理运算器实验

计算机组成原理实验报告

Computer Organization Lab Reports

______________________________________________________________________________

班级:__ 姓名_ 学号:__ 实验日期:____2017.10.18_________

学院: _计算机与通信工程学_ 专业:_计算机科学与技术_

实验顺序:__01____ 原创:_____ 实验名称:__运算器实验____________________ 实验分数:_______ 考评日期:________ 指导教师:

______________________________________________________________________________ 一.实验目的

完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。

_________________________________________________________________________

二.实验环境

计算机组成原理实验箱

__________________________________________________________________________

三.实验原理

实验中所用的运算器数据通路如图所示。ALU运算器由CPLD描述。运算器的输出经

过2片74LS245三态门与数据总线相连,2个运算寄存器AX、BX的数据输入端分别由4

个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O输入输出端口用来给

出参与运算的数据,经2片74LS245三态门与数据总线相连。图中AX、BX的写控制由O2~O0

编码定义,通过按【单拍】钮完成运算源的数据打入。

________________________________________________________________

四.实验步骤及结果分析

1. 字算术运算

(1)字写操作(置数操作)

通过“I/O单元”二进制开关向寄存器AX和BX置数,操作步骤如下:

(2) 字读操作(运算寄存器AX 和BX 内容送总线)

(3) 字算术运算(不带进位加)

令M S2 S1 S0(K15 K13~K11=0100),FUN 及总线单元显示AX+BX 的结果。 令M S2 S1 S0(K15 K13~K11=0101),FUN 及总线单元显示AX -BX 的结果。

2. 字节算术运算

(1) 偶字节写(置数操作)

拨动“I/O 输入输出单元”开关向寄存器AL 和BL 置数,操作步骤如下:

(2) 偶字节读操作(运算寄存器AL 和BL 内容送总线)

(3) 偶字节减法运算(不带进位加)

令M S2 S1 S0(K15 K13~K11=0100),FUN 及总线单元显示AL+BL 的结果。 令M S2 S1 S0(K15 K13~K11=0101),FUN 及总线单元显示AL -BL 的结果。

3. 字逻辑运算

(1) 字写操作(置数操作)

拨动“I/O 输入输出单元”开关向寄存器AX 和BX 置数,操作步骤如下:

(2) 字读操作(运算寄存器AX 和BX 内容送总线)

(3) 字逻辑运算

令M S2 S1 S0(K15 K13~K11=1101),为逻辑与,FUN 及总线显示AX 逻辑与BX 的结果。 令M S2 S1 S0(K15 K13~K11=1100),为逻辑或,FUN 及总线显示AX 逻辑或BX 的结果。

4. 字节逻辑运算

(1) 偶字节写操作(置数操作)

拨动“I/O 输入输出单元”开关向寄存器AL 和BL 置数,具体操作步骤如下:

读AX

关闭控位

AX →DBUS

K10~K6=11000

读BX

K15~K11=11000

BX →DBUS

K23~K0=全”1” 置数

I/O=1122h

数据来源 I/O 单元

寄存器写 AX=1122 K10~K6=10000 按【单拍】按钮

置数 I/O=3344h 寄存器写 BX=3344 按【单拍】按钮 K19~K16=1000

K19~K16=1010

读AL

关闭控位

AL →DBUS

K10~K6=11001

读BL

K15~K11=11000

BL →DBUS

K23~K0=全”1” 置数

I/O=XX22h

数据来源 I/O 单元

寄存器写 AL=22 K10~K6=10001 按【单拍】按钮

置数 I/O=XX44h 寄存器写 BL=44 按【单拍】按钮 K19~K16=1000

K19~K16=1010

读AX

关闭控位

AX →DBUS

K10~K6=11000

读BX

K15~K11=11000

BX →DBUS

K23~K0=全”1” I/O=1122h

I/O 单元

AX=1122 K10~K6=10000 按【单拍】按钮

I/O=3344h BX=3344 按【单拍】按钮 K19~K16=1000

K19~K16=1010

(2) 偶字节读操作(运算寄存器AL 和BL 内容送数据总线)

① 若运算控制位设为(M S2 S1 S0=1111)则F=AL ,即AL 内容送到数据总线。 ② 若运算控制位设为(M S2 S1 S0=1000)则F=BL ,即BL 内容送到数据总线。 (3) 偶字节逻辑运算

令M S2 S1 S0(K15 K13~K11=1101),为逻辑与,FUN 及总线显示AL 逻辑与BL 的结果。 令M S2 S1 S0(K15 K13~K11=1100),为逻辑或,FUN 及总线显示AL 逻辑或BL 的结果。

(4) 奇字写操作(置数操作)

拨动“I/O 输入输出单元”开关向寄存器AH 和BH 置数,操作步骤如下:

(5) 奇字节读操作(运算寄存器AH 和BH 内容送总线)

关闭AH 、BH 写使能,令K17=K18=1,按下流程分别读AH 、BH 。

① 若运算控制位设为(M S2 S1 S0=1111)则F=AH ,即AH 内容送到数据总线。 ② 若运算控制位设为(M S2 S1 S0=1000)则F=BH ,即BH 内容送到数据总线。 (6) 奇字节逻辑运算

令M S2 S1 S0(K15 K13~K11=1101),为逻辑与,FUN 及总线显示AH 逻辑与BH 的结果。 令M S2 S1 S0(K15 K13~K11=1100),为逻辑或,FUN 及总线显示AH 逻辑或BH 的结果。

5. 移位运算

(1)K23~K0全置“1”,灭M23~M0灯。 (2)累加器AX 置数与移位流程

(3)字移位:完成上流程,按下表改变K13、K11的状态,再按【单拍】钮,观察AX 的移位变化。

(4)字节移位:完成字移位后,改变字长宽度,令W (K6=1),然后根据下表设置K13、K11的电位,再按【单拍】钮,AX 进入字节移位状态,观察AL 的移位变化。

6. 进位控制与零标志

(1)进位控制流程

(2)进位控制实验

读AH

关闭控位

AH →DBUS

K10~K6=11011

读BH

K15~K11=11000

BH →DBUS

K23~K0=全”1” 置数

I/O=XX55h

数据来源 I/O 单元

寄存器写 AH=55 K10~K6=10001 按【单拍】按钮

置数 I/O=XX66h 寄存器写 BH=66 按【单拍】按钮 K19~K16=1001

K19~K16=1011

读AL

关闭控位

AL →DBUS

K10~K6=11001

读BL

K15~K11=11000

BL →DBUS

K23~K0=全”1” I/O=XX44h

I/O 单元

AL=44 K10~K6=10001 按【单拍】按钮

I/O=XX22h BL=22 按【单拍】按钮 K19~K16=1000

K19~K16=1010

进位控制

标志初始化

CY=0

方式选择 按【返回】按钮 改变K7 K6

位操作 K15 K14=10 按【单拍】按钮 关闭控位 K23~K0=全”1”

置数

I/O=0080h 数据来源

I/O 单元

寄存器 AX=0080h K10~K6=10000 按【单拍】按钮

数据来源 FUN

K19~K16=1000

K10~K6=11000

AX 移位 K15 K12=01 按【单拍】按钮

置位操作:当K15 K14 K6=101时,令K7=1,按【单拍】按钮,CY=1(灯亮); 清零操作:当K15 K14 K6=101时,令K7=0,按【单拍】按钮,CY=0(灯灭); 取反操作:当K15 K14 K6=100时,每按一次【单拍】钮,CY=/CY 。 (3)进位运算实验

① 按【返回】键,实现进位及零标志清零。通过“I/O 单元”向AX 、BX 置数。

② 进位标志锁存

K23~K0置全“1”,关闭M23~M0控位灯。令K8 K6=00,运算控位K15~K11=01000,按【单拍】按钮,FUN 显示带进位加结果,进位标志灯CY 亮,表示有进位。

完成上流程,按【单拍】钮,ALU 执行A+B+CY 的操作,FUN=0002、CY=1(灯亮)。

令K11为1,按【单拍】钮,ALU 执行A -B -CY 的操作,FUN=FFFB 、CY=0(灯灭)。 (4)零标志实验

① K23~K0置全“1”,通过“I/O 单元”向AX 、BX 均置数0001h ,操作步骤如下:

② 零标志锁存

K23~K0置全“1”,灭M23~M0控位灯。令K8=0,运算控位K15 K12=00,按【单拍】按钮,FUN 显示算术减结果,其零标志Z 的灯亮,表示运算结果为零。

(5)标志位的字节运算 令W (K6=“1”),参照进位与零标志运算流程,ALU 按字节方式建立和锁存CY 及

Z 标志。

7.实验操作结果

ALU 运算器真值表

运算控制 运算表达式 M S2 S1 S0 AX

BX

运算结果

带进位算术加 A+B+C 0 0 0 0 6655 AA77 FUN=( 10CC ) 带借位算术减 A-B-C 0 0 0 1 6655 AA77 FUN=( BBDE ) 带进位左移 RLC A 0 0 1 0 6655 AA77 FUN=( CCAA ) 带进位右移 RRC A 0 0 1 1 FUN=( ) 算术加 A+B 0 1 0 0 FUN=( ) 算术减

A-B

1

1

FUN=( )

关闭控位 K23~K0=全”1”

算术运算 数据来源 FUN 带进位加 A+B+CY K8 K6=00

K13~K11=000

CY 灯亮 CY=1

按【单拍】按钮 K15=0

运算控制 数据来源 FUN

减法 A-B=0 K8 K6=00

K12=0

Z 灯亮 Z=1

按【单拍】按钮 K15=0

关闭控位

K23~K0=全”1” 置数

I/O=0001h 数据来源

I/O 单元

累加器 AX=0001h K10~K6=10000 按【单拍】按钮

置数 I/O=0001h 暂存器 BX=0001h 按【单拍】按钮 K19~K16=1000

K17=1

置数

I/O=FFFEh 数据来源

I/O 单元

累加器 A=FFFEh K10~K6=10000 按【单拍】按钮

置数 I/O=0003h 暂存器 B=0003h 按【单拍】按钮 K19~K16=1000

K17=1

左移RL A 0 1 1 0 FUN=( )

右移RR A 0 1 1 1 FUN=( )

取BX值 B 1 0 0 0 6655 AA77 FUN=( AA77 )

AX取反NOT A 1 0 0 1 6655 AA77 FUN=( 99AA )

AX减1 A-1 1 0 1 0 6655 AA77 FUN=( 6654 )

清零0 1 0 1 1 FUN=( )

逻辑或 A OR B 1 1 0 0 FUN=( )

逻辑与 A AND B 1 1 0 1 FUN=( )

AX加1 A+1 1 1 1 0 FUN=( )

取AX值 A 1 1 1 1 FUN=( )

______________________________________________________________________________五.实验心得疑问建议

通过这次实验深入了解了算术、逻辑、移位运算实验的原理,熟悉了ALU 运算控制位的运用。

实验1运算器组成实验

实验一运算器组成实验 一、实验目的 1、掌握算术逻辑运算加、减、乘、与的工作原理。 2、熟悉简单运算器的数据传输通路。 3、验证试验台运算器的8位加、减、乘、与、直通功能。 二、实验电路 S0,S1,S2为片选信号,通过它们的高低电平的转换,使各模块的电路是否处于工作状态。每次输入数据存入存储器中,通过控制器取出指令,然后进行计算。 三实验过程 一、接线 1、固定接线 RS_BUS#接VCC,禁止寄存器堆RF向数据总线DBUS送数。 IAR_BUS#接VCC,禁止中断地址寄存器IAR向DBUS送数。 CEL#接VCC,禁止双端口RAM向数据总线DBUS送数。 M1、M2接VCC,选择DBUS作为DR1、DR2的数据输入源。 2、其他控制信号线 SW_BUS#接K0;ALU_BUS接K1; S0接K2;S1接K3;S2接K4; LDDR1接K5;LDDR2接K6。 接线图如下:

二、设置功能开关 1、置开关DB=0,DZ=0,DP=1,使实验系统处于单排状态(每按一次QD按钮,顺序产生T1、T 2、T 3、T4各一个脉冲) 2、将开关IP/DBUS拨到DBUS位置;置SW_BUS#(K0)=0,ALU_BUS(K1)=0,使数据输入设备(SW7~SW0)与数据总线DBUS接通;ALU的输出与数据总线DBUS断开。 三、实验操作 1、按下试验台上电源开关,接通电源。按复位按钮CLR#(使实验系统处于初始状态)。 2、置开关SW7~SW0为相应数字(eg:1000001)此数据通过74HC244加至数据总线DBUS。DBUS的数据指示灯显示相应数字(eg:1000001) 3、置LDDR2=1,LDDR1=0,按QD按钮(产生T3),则将DBUS的数据(1000001)打入DR2。 4、置开关SW7~SW0为相应数字(eg:1000010)此数据通过74HC244加至数据总线DBUS。DBUS的数据指示灯显示相应数字(eg:1000010) 5、置LDDR2=0,LDDR1=1,按QD按钮(产生T3),则将DBUS的数据(1000010)打入DR1。 6、置K0(SW_BUS#)=1、K1(ALU_BUS)=1。是数据输入设备(SW7~SW0)与数据总线DBUS 断开接通;ALU的输出与数据总线DBUS接通。 7、置S0、S1、S2为相应高低电平,使ALU进行相应计算(见下表)。运算的结果送至数据总线DBUS,DBUS的红色数据指示灯显示运算结果(10000011B);此时仅为指示灯为C=1。按QD按钮(产生T4),进位C=1保存。 8、其他运算通过变换S0、S1、S2的高低电平进行不同的运算(见下表)。

计算机组成原理运算器实验—算术逻辑运算实验

实验报告 、实验名称 运算器实验—算术逻辑运算实验 、实验目的 1、了解运算器的组成原理。 2、掌握运算器的工作原理。 3、掌握简单运算器的数据传送通路。 4、验证运算功能发生器( 74LS181)的组合功能 三、实验设备 TDN-CM++ 计算机组成原理教学实验系统一套,导线若干四、实验原理 实验中所用的运算器数据通路如图1-1 所示。其中两片74LSl81以串行方式构成8 位字长的ALU,ALU 的输出经过一个三态门(74LS245)和数据总线相连。三态门由ALU-R 控制,控制运算器运算的结果能否送往总线,低电平有效。为实现双操作数的运算,ALU 的两个数据输入端分别由二个锁存器DR1、DR2 (由74LS273实现)锁存数据。要将数据总线上的数据锁存到DRl、DR2 中,锁存器的控制端LDDR1 和DDR2必须为高电平,同时由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、LDDRl、 LDDR2 、ALU-B 、SW-B均由“ SWITCH UNIT ”中的二进制数据开关来模拟,其中Cn、ALU —B、SW 一 B 为低电平有效LDDR1 、LDDR2 为高电平有效。 对单总线数据通路,需要分时共享总线,每一时刻只能由一组数据送往总线。

基本运算器实验定稿版

基本运算器实验 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成原理 项目名称基本运算器实验 班级 学号 姓名 同组人员 实验日期 一、实验目的与要求 实验目的 (1)了解运算器的组成结构 (2)掌握运算器的工作原理 实验要求

(1)实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会很低,一次实验时间根本无法完成实验任务; (2)应在实验前掌握所以控制信号的作用,写出实验预习报告并带入实验室; (3)实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要自习思考实验有关内容; (4)实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的问题和分析与解决思路。还应写出自己的心得体会,也可以对教学实验提出新的建议等。实验报告要上交老师。 二、实验逻辑原理图与分析 画实验逻辑原理图 逻辑原理图分析 上图为运算器原理图。如图所示运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A 和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3…S0和CN来决定(三选一开关),任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志FZ。ALU中所有模块集成在一片CPLD中。

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

计算机组成原理课程实验报告 9.3 运算器组成实验 姓名:曾国江 学号: 系别:计算机工程学院 班级:网络工程1班 指导老师: 完成时间: 评语: 得分:

9.3运算器组成实验 一、实验目的 1.熟悉双端口通用寄存器堆的读写操作。 2.熟悉简单运算器的数据传送通路。 3.验证运算器74LS181的算术逻辑功能。 4.按给定数据,完成指定的算术、逻辑运算。 二、实验电路 ALU-BUS# DBUS7 DBUS0 Cn# C 三态门(244) 三态门(244)ALU(181) ALU(181) S3S2S1S0M A7A6A5A4F7F6F5F4 F3F2F1F0B3B2B1B0 Cn+4 Cn Cn Cn+4 LDDR2T2 T2 LDDR1LDRi T3 SW-BUS# DR1(273) DR2(273) 双端口通用寄存器堆RF (ispLSI1016) RD1RD0RS1RS0WR1WR0 数据开关(SW7-SW0)数据显示灯 A3A2A1A0B7B6B5B4 图3.1 运算器实验电路 LDRi T3A B 三态门 R S -B U S # 图3.1示出了本实验所用的运算器数据通路图。参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF 中。

RF(U30)由一个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上。 实验台上的八个发光二极管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所示,将运算器模块与实验台操作板上的线路进行连接。由于运 算器模块内部的连线已由印制板连好,故接线任务仅仅是完成数据开关、控制信号

运算器部件实验报告

实验一运算器部件实验报告 班级姓名学号日期 一、实验目的 ●熟悉与深入理解4位运算器芯片Am2901的功能和内部组成,运行中要求 使用的控制信号及其各自的控制作用。 ●熟悉与深入理解用4片4位的运算器芯片构成16位的运算器部件的具体方 案,各数据位信号、各控制位信号的连接关系。 ●熟悉与深入理解用2片GAL20v8芯片解决ALU最低位的进位输入信号和 最高、最低位的移位输入信号、实现4位的标志位寄存器的方案,理解为什么这些功能不能在运算器芯片之内实现而要到芯片之外另外处理。 ●明确教学计算机的运算器部件,使用总计24位的控制信号就完全确定了它 的全部运算与处理功能,脱机运算器实验中可以通过24位的微型开关提供这些控制信号。 二、实验说明 脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过24位的微型开关来完成,通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。 三、实验要求 1、实验之前认真预习,写出预习报告,包括操作步骤,实验过程所用数据和运行结果等 2、实验过程当中,要仔细进行,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,记录运行结果 3、实验之后,认真写出实验报告,包括对遇到的各种现象的分析,实验步骤和实验结果,自己在这次实验的心得体会与收获。 四、实验所使用到的控制信号 AM2901所用的控制信号

1、将教学机设置为单步、16位、脱机状态下,即把教学机左下方的5个控制开关置为1XX00。 2、按一下RESET按键,进行初始化。 3、按照指定功能给出控制信号和数据信息,观察各信号指示灯状态。 4、按压START键,给出脉冲信号,观察各信号灯状态。 六、实验内容 1、下表中所列操作在教学机上进行运算器脱机实验。并将结果填入表中。 运算器功能所用到的控制信号

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

实验三:八位运算器组成实验 一:实验目的: 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

嵌入式--计算器--实验报告

计算器设计实验报告 一、实验设计主要分工 04009320 文斌:算法设计,LCD显示。 04** 张希:界面(按钮控件)设计,文件内容读取。 共同调试、完善设计。 二、程序设计实现功能效果 (1)支持整数、小数基本加减乘除运算; (2)有优先级的判别计算。优先级由高到低一次为括号运算、乘除运算、加减运算。(3)支持键盘输入和触摸屏输入; (4)能读取指定目录下文本内容(内容为计算表达式)并计算得出结果,将内容和结果显示在LCD上。 程序任务开始后,等待键盘或触摸屏的输入。输入键有0~9数字键、+-*/()运算符、del退格键、clear清屏键、read读指定目录文本内容并计算键、enter'='键、‘.’小数点键。 每当有字符输入时,触摸屏相应键显示“AAA”,100ms后恢复原相应按键符号,同时LCD 屏幕上显示相应字符。当输入'del'键时,屏幕显示去掉最后一位字符。当输入'='号后,得出计算结果,结果显示于表达式的下一行。若是除零错误,则结果显示为“/0ERROR!”。若有非法字符(触摸点不能识别为设计按键符则视为非法字符),则结果输出为“Syntax Error!!”。若表达式有运算符连续输入,则忽略前面的运算符,只取最后一位运算符计算,正常显示数字结果。当输入'clear'键时,情况显示区域。当输入'read'键时,从指定目录文本文件中读取表达式并计算。将表达式内容和计算结果显示在LCD上。 三、程序算法实现 1、计算算法 首先将输入的0~9数字、+-*/()运算符的内容存储于一个全局变量cal[number]中, 表达为中缀表达式。用void str2repol()函数,将输入字符串cal[number]转换成逆波 兰表达式并存于全局数组char repol[maxs]中。str2repol()函数中缀表达式转成逆波兰 后缀表达式算法如下: (1)首先构造一个运算符栈stack[maxs],此运算符在栈内遵循越往栈顶优先级越高的 原则。

计算机组成原理实验报告运算器组成存储器

计算机组成原理实验报告 一、实验1 Quartus H的使用 一.实验目的 掌握Quartus H的基本使用方法。 了解74 1 38(3:8)译码器、74244、74273的功能。 利用Quartus H 验证74138 (3: 8)译码器、74244、74273 的功能。 二.实验任务 熟悉Quartus H中的管理项目、输入原理图以及仿真的设计方法与流程。新建项目,利用原理编辑方式输入74138、74244、74273的功能特性,依照其功能表分别进行仿真,验证这三种期间的功能。 三.74138、74244、74273的原理图与仿真图 1.74138 的原理图与仿真图 74244的原理图与仿真图 1.

实验2运算器组成实验 一、 实验目的 1. 掌握算术逻辑运算单元(ALU 的工作原理。 2. 熟悉简单运算器的数据传送通路。 3. 验证4位运算器(74181)的组合功能。 4. 按给定数据,完成几种指定的算术和逻辑运算。 二、 实验电路 附录中的图示出了本实验所用的运算器数据通路图。 8位字长的ALU 由2 片74181构成。2片74273构成两个操作数寄存器 DR1和DR2用来保存参 与运算的数据。DR1接ALU 的A 数据输入端口,DR2接 ALU 的B 数据输入端 口,ALU 的数据输出通过三态门74244发送到数据总线BUS7-BUS 上。参与 运算的数据可通过一个三态门74244输入到数据总线上,并可送到DR1或 DR2 暂存。 图中尾巴上带粗短线标记的信号都是控制信号。除了 T4是脉冲信号外,其 4. 74273的原理图与仿真图、

他均为电位信号。nCO, nALU-BUS nSW-BU鈞为低电平有效。 三、实验任务按所示实验电路,输入原理图,建立.bdf 文件。 四. 实验原理图及仿真图 ,然后利用ALU的直通功能,检查DR1 DR2中是否保存了所置的数。 其实验原理图如下: 波形图如下: 实验 3 半导体存储器原理实验 (一)、实验目的 (1)熟悉静态随机存储器RAM和只读存储器ROM勺工作特性和使用方法; (2)熟悉半导体存储器存储和读出数据的过程; (3)了解使用半导体存储器电路时的定时要求。 (二)、实验要求 利用Quartus H器件库提供的参数化存储单元,设计一个由128X8 位的RAM和128X8位的ROM勾成的存储器系统。请设计有关逻辑电路,要求仿真通过,并设计波形文件,验证该存储器系统的存储与读出。 (三)、实验原理图与仿真图 ram内所存储的数据: rom 内所存储的数据: 仿真图如下: (四)心得体会 本次试验中,我们应该熟练掌握Quartus H软件的使用方法;熟悉静态随机存储器RAM和只读存储器RO啲工作特性和使用方法;熟悉半导体存储器存

java计算器实验报告

Java计算器实验报告 计算机032 胡勇健 03095218 2005年5月5日

目录 1.设计名称与要求 2.各模块功能的介绍和实现3.系统的特色和不足4.参考书

一. 实验名称及其要求: A)名称: java计算器的设计 B)要求:1.实验目的:图形界面设计。 熟悉java.awt包中的组件,掌握图形界面设计方法,理解委托事件处理模型。 2.题意: 请设计并实现Windows系统中“计算器”的窗口及功能。 3.实验要求: (1)设计图形界面添加菜单:窗口上添加各种组件及菜单,并处理组件及菜单的事件监听程序。 (2)运算:实现多种运算,保证运算正确性。 二.各模块功能的介绍和实现: A)GUI图形界面的组件: a)所用到的Java类库包: java.awt.*; 基本的图形界面组件来源于awt包。 java.awt.event.*; 事件的属性处理来源于awt.event包。 javax.swing.*; swing组件增加了awt包中所不具备的各种优越功能。 java.awt.datatransfer.*; 用于计算器与外部的程序进行复制粘贴。 b)所用的各部分图形组件的定义: Frame mainFrame; //主框架 JTextField answerText; //显示计算结果 JTextField memoryState; //显示计算器内存的使用情况MenuBar menuGroup; //菜单栏 Menu editMenu,viewMenu,helpMenu; //编辑,查看,帮助菜单 MenuItem copyItem,pasteItem; //复制,粘贴 MenuItem standardModel; //标准型 CheckboxMenuItem numGroup; //数字分组 MenuItem aboutCal; //关于计算器 Button buttonBackSpace,buttonCE,buttonC; //退格,清除,清空按钮 Button buttonMC,buttonMR,buttonMS,buttonMADD; //内存操作按钮 Button buttonNum[]; //数字按钮 Button buttonAdd,buttonSub,buttonMul,buttonDiv; //+,-,*,/ Button buttonDot,buttonSign,buttonEqual; //. +/- =

运算器实验报告模板

脱机运算器实验报告 理论课教师姓名:高金山实验指导教师:刘万成 组号:姓名:闫麟阁学号:12281212 实验目的: (1)了解脱机操作下AM2901运算器的功能与控制信号的使用,了解运算器AM2901的内部结构及工作时序,观察运算器运算的结果对状态标志的影响。 (2)深入了解AM2901运算器的功能与具体用法,掌握用AM2901完成各种运算操作时各控制信号的使用,观察指令执行的结果对状态标志的影响;了解4片AM2901的级联方式,深化运算器部件的组成、设计、控制与使用等诸项知识。 实验内容: 1.将教学机左下方的5个拨动开关置为1XXOO(单步、16位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化。 2.接下来,按下表所列的操作在机器上进行运算器脱机实验,将结果填入表中:其中D1取为0101H,D2取为1010H;通过两个12位的红色微型开关向运算器提供控制信号,通过16位数据开关向运算器提供数据,通过指示灯观察运算结果及状态标志。 运算器实验(1) 实验结果分析(每人选择2个操作运算进行控制信号取值和运算结果值的分析):

此式的功能是R0∨R1然后将值赋给R1,由于有两个值,所以A、B口均有对应地址输入,B 对应的是R0,所以B的地址为0001,A对应的是R1,所以A的地址为0000。因为最后的值存储到B口多对应的地址并输出,所以I8-I6所选值为011;该式实现的是并运算,所以I5-I3所选值为011;数据来源是A和B,所以I2-I0所选值为001。 该式接受ALU的标志位输出的值,所以SST所选值为001;该式执行的并(SUB),所以SSH SCI 所选值为000。 因为R0=0101,R1=1010,所以按START前ALU的输出值为0F0F,故输出值为0F0F。 此时的功能是实现R0的逻辑左移功能,由于只有一个值,所以只有B口有对应地址输入,B对应的是R0,所以B的地址为0000。因为最后的值存储到B口对应的地址并输出,所以I8-I6所选值为111,;该式实现的是逻辑左移,所以I5-I3取000(加法);数据来源是B,所以I2-I0所选值为011。 该式是左移操作,另三个标志不变,所以SST所选值为110;SSH SCI所选值为100。 因为R0=FEFE,实现逻辑左移后补0,所以按START之前R0为FEFE,按START后R0变为FDFC。 运算器实验(2) 实验步骤 将教学机左下方的5个拨动开关置为1XX00(单步、16位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化。接下来,按下表所列的操作在机器上进行运算器脱机实验,将结果填入表中:

运算器部件实验报告

实验一运算器部件实验报告 班级____________ 姓名_______________ 学号 _______________ 日期_____________ 一、实验目的 熟悉与深入理解4位运算器芯片Am2901的功能和内部组成,运行中要求使用的控制信号及其各自的控制作用。 熟悉与深入理解用4片4位的运算器芯片构成16位的运算器部件的具体方案,各数据位信号、各控制位信号的连接关系。 熟悉与深入理解用2片GAL20V8芯片解决ALU最低位的进位输入信号和最高、最低位的移位输入信号、实现4位的标志位寄存器的方案,理解为什么这些功能不能在运算器芯片之内实现而要到芯片之外另外处理。 明确教学计算机的运算器部件,使用总计24位的控制信号就完全确定了它的全部运算与处理功能,脱机运算器实验中可以通过24位的微型开关提供这些控制信号。 二、实验说明 脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过24位的微型开关来完成,通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。 三、实验要求 1、实验之前认真预习,写出预习报告,包括操作步骤,实验过程所用数据和运行结果等 2、实验过程当中,要仔细进行,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,记录运行结果 3、实验之后,认真写出实验报告,包括对遇到的各种现象的分析,实验步骤和实验结果,自己在这次实验的心得体会与收获。 四、实验所使用到的控制信号 AM2901所用的控制信号 运算器用到的GAL20V8的控制信号

五、实验步骤 1、将教学机设置为单步、16位、脱机状态下,即把教学机左下方的5个控制开关置为1XX00。 2、按一下RESET按键,进行初始化。 3、按照指定功能给出控制信号和数据信息,观察各信号指示灯状态。 4、按压START键,给出脉冲信号,观察各信号灯状态。 六、实验内容 1、下表中所列操作在教学机上进行运算器脱机实验。并将结果填入表中 2、下表中所列操作在教学机上进行运算器脱机实验。并将结果填入表中 运算器功能所用到的控制信号

《计算机组成原理》实验报告---8位算术逻辑运算实验

. '. 计算机专业类课程 实验报告 课程名称:计算机组成原理 学 院:信息与软件工程学院 专 业:软件工程 学生姓名: 学 号: 指导教师: 日 期: 2012 年 12 月 15 日

电子科技大学 实验报告 一、实验名称:8位算术逻辑运算实验 二、实验学时:2 三、实验内容、目的和实验原理: 实验目的: 1.掌握算术逻辑运算器单元ALU(74LS181)的工作原理。 2.掌握模型机运算器的数据传送通路组成原理。 3.验证74LS181的组合功能。 4.按给定数据,完成实验指导书中的算术/逻辑运算。 实验内容: 使用模型机运算器,置入两个数据DR1=35,DR2=48,改变运算器的功能设定,观察运算器的输出,记录到实验表格中,将实验结果对比分析,得出结论。 实验原理: 1.运算器由两片74LS181以并/串形式构成8位字长的ALU。

. '. 2.运算器的输出经过一个三态门(74LS245)和数据总线相连。 3.运算器的两个数据输入端分别由两个锁存器(74LS273)锁存。 4.锁存器的输入连至数据总线,数据开关(INPUT DEVICE)用来给 出参与运算的数据,并经过一三态门(74LS245)和数据总线相连。 5.数据显示灯(BUS UNIT)已和数据总线相连,用来显示数据总线内 容。 实验器材(设备、元器件):模型机运算器 四、实验步骤: 1. 仔细查看试验箱,按以下步骤连线 1)ALUBUS连EXJ3 2) ALU01连BUS1 3) SJ2连UJ2 4) 跳线器J23上T4连SD 5) LDDR1,LDDR2,ALUB,SWB四个跳线器拨在左边 6) AR跳线器拨在左边,同时开关AR拨在“1”电平 2. 核对线路,核对正确后接通电源 3. 用二进制数据开关KD0-KD7向DR1和DR2寄存器置入8位运算数据。

运算器组成实验

实验二 运算器组成实验 1.算术逻辑运算实验 一.实验目的 1. 了解简单运算器的数据传输通路。 2. 验证运算功能发生器的组合功能。 3. 掌握算术逻辑运算加、减、与的工作原理。 4. 验证实验台运算的8位加、减、与、直通功能。 5. 按给定数据,完成几种指定的算术和逻辑运算。 二.实验内容 1.实验原理 算术逻辑单元ALU 的数据通路如图2-1所示。其中运算器ALU181根据74LS181的功能用VHDL 硬件描述语言编辑而成,构成8位字长的ALU 。参加运算的两个8位数据分别为A[7..0]和B[7..0],运算模式由S[3..0]的16种组合决定,而S[3..0]的值由4位2进制计数器LPM_COUNTER 产生,计数时钟是Sclk (图2-1);此外,设M=0,选择算术运算,M=1为逻辑运算,C N 为低位的进位位;F[7..0]为输出结果,C O 为运算后的输出进位位。两个8位数据由总线IN[7..0]分别通过两个电平锁存器74373锁入,ALU 功能如表2-1所示。 表2-1 ALU181的运算功能 选择端 高电平作用数据 S3 S2 S1 S0 M=H M=L 算术操作 逻辑功能 Cn=L (无进位) Cn=H (有进位) 0 0 0 0 A F = A F = 1加A F = 0 0 0 1 B A F += B A F += )(B A F +=加1 0 0 1 0 B A F = B A F += B A F +=+1 0 0 1 1 0=F =F 减1(2的补码) 0=F 0 1 0 0 AB F = B A A F 加= B A A F 加=加1 0 1 0 1 B F = )(B A F +=加B A )(B A F +=加B A +1 0 1 1 0 B A F ⊕= B A F 减= 1减减B A F = 0 1 1 1 B A F = B A F += 1)(减B A F += 1 0 0 0 B A F += AB A F 加= AB A F 加=加1 1 0 0 1 B A F ⊕= B A F 加= B A F 加=加1 1 0 1 0 B F = AB B A F )加(+= AB B A F 加)(+=加1 1 0 1 1 AB F = AB F = 1减AB F = 1 1 0 0 1=F A A F 加=* 1加加A A F = 1 1 0 1 B A F += A B A F )加(+= A B A F )加(+=加1 1 1 1 0 B A F += A B A F )加(+= A B A F )加(+=加1 1 1 1 1 A F = A F = 1减A F = 注1、* 表示每一位都移至下一更高有效位, “+”是逻辑或,“加”是算术加 注2、在借位减法表达上,表2-1与标准的74181的真值表略有不同。 三.实验步骤 (1)设计ALU 元件 在Quartus II 环境下,用文本输入编辑器Text Editor 输入ALU181.VHD 算术逻辑单元文件,编译VHDL 文件,并将ALU181.VHD 文件制作成一个可调用的原理图元件。 (2)以原理图方式建立顶层文件工程

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

计算机组成原理实验一 运算器实验 一、实验目的: 1、掌握简单运算器的数据传输方式。 2、验证运算功能发生器(74LS181)及进位控制的组合功能。 二、实验要求: 完成不带进位及带进位算数运算实验、逻辑运算实验,了解算数逻辑运算单元的运用。 三、实验原理: 74LS181是4位算术逻辑运算器,用两个74LS181并联可以实

现8位运算,为了实现双操作的运算,ALU 的输入端分别由两个锁存器DR1,DR2锁存数据。数据显示灯和数据总线相连接,用来显示数据总线上的内容。由于实验电路中的时序信号均已连接至W /RUIT相应的时序信号引出端,只要微动开关,即可获得实验所需的单脉冲。 四、 实验连接: 1.八位运算器控制信号连接: S3,S2,S1,S0,M ,/CN ,LDDR1,LDDR2,LDCZY ,/SW-B ,/ALU-B ,Cn+4 Cn+4I 2.完成连接并检查无误后接通电源。 五、实验仪器状态设定: 在闪动的“P.”状态下按动“增址”命令键,使LED 显示器自左向右第一位显示提示符“H ”,表示本装置已进入手动单元实验状态。 五、 实验项目: (一)算数运算实验 拨动二进制数据开关向DR1和DR2寄存器置数(灯亮为1,灯灭为0)。 步骤如下: [CBA=001] [LDDR1=1] [LDDR1=0] [LDDR2=0] [LDDR2=1] 数据开关 (01100101) 三态门 寄存器DR1 (01100101) 数据开关 (10100111) 寄存器DR2 (10100111)

[“按STEP”] [“按STEP”] 然后检查数据: 1.关闭数据输入三态门(CBA=000) 2.打开ALU输出三态门(CBA=010) 3.当置S3,S2,S1,S0,M为11111时,总线指示灯显示DR1中的数 4.当置S3,S2,S1,S0,M为10101时,总线指示灯显示DR2中的数 算数运算(不带进位)实验: 置CBA=010,S3,S2,S1,S0,M,/CN为100101,LDCZY=0,则数据总线指示灯显示00001100(0CH) (二)进位控制实验 (1)进位标志清零 CBA=000 置S3,S2,S1,S0,M为00000 置/CN为0,LDCZY为1 按STEP (2)向DR1和DR2置数(同上) (3)验证进位运算及进位锁存功能,使/CN=1,LDCZY=1,来进行算数运算。 给定DR1=65,DR2=A7,改变运算器功能(逻辑或非运算方法见逻辑运算实验),得到运算器输出记录如下: DR1 DR2 S3 S2 S1 S0 M=0 (算数运算) M=1 (逻辑运算)CN=1 无进位 CN=0 有进位 65 A7 0000 F=(65)F=(66)F=(9A) 0001 F=(E7)F=(E8)F=(18) 0010 F=(7D)F=(7E)F=(82) 0011 F=(FF)F=(0)F=(0) 0100 F=(A5)F=(A6)F=(82) 0101 F=(27)F=(B8)F=(58) 0110 F=(BD)F=(-42)F=(C2) 0111 F=(3F)F=(40)F=(40) 1000 F=(8A)F=(E3)F=(BF) 1001 F=(C)F=(10D)F=(3D) 1010 F=(A2)F=(BE)F=(A7) 1011 F=(25)F=(7D)F=(7D) 1100 F=(CA)F=(CB)F=(1) 1101 F=(4C)F=(DD)F=(7D) 1110 F=(E2)F=(E3)F=(77) 1111 F=(64)F=(65)F=(65)

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

1.逻辑运算 (1)S3S2S1S0=0000时,F=A,例如:当A=00010101,B=01101001时 F=00010101; 当A=01011000时,B=01011110时 F=01011000 (2)S3S2S1S0=0001时,F=B,例如: 当A=10110111,B=01110010时 F=01110010 当A=11100011,B=01010110 F=01010110 (3)S3S2S1S0=0010时,F=AB。例如:当A=10110010,B=10010111时 F=10010010 当A=11000011,B=00111100时 F=00000000 (4)S3S2S1S0=0011时,F=A+B。例如:当A=00110101,B=11001010时, F=11111111 当A=01011011,B=11000101时 F=11011111 (5)S3S2S1S0=0100时,F=/A。例如:

当A=00110100,B=11010010时, F=11001011 当A=01001111,B=10100101时 F=10110000 2.移位运算 (1)S3S2S1S0=0101时,F=A逻辑右移B(取低三位)位。例如: 当A=01000101,B=00000010时, F=00010001 当A=01011011,B=00000101时 F=00000010 (2)S3S2S1S0=0110时,F=A逻辑左移B(取低三位)位。例如: 当A=00110101,B=00000011时, F=10101000 当A=01101011,B=00000001时 F=11010110 (3)S3S2S1S0=0111时,F=A算术右移B位。例如:当A=01110101,B=00000010时, F=00011101 当A=01000111,B=00000101时

实验一 运算器实验(1)

级班学号姓名 实验报告 实验一运算器实验 一、实验目的: 1、掌握简单运算器的数据传送通路; 2、验证运算功能发生器(74LS181)的组合功能; 3、验证带进位控制的算术运算功能发生器的功能; 4、按指定数据完成几种指定的算术运算。 二、实验设备 DVCC-C5JH计算机组成原理教学实验系统一台,排线若干。 三、实验原理 1、实验中所用的运算器数据通路图如附A图1-3所示。其中运算器由两片74LS181以并/串形式构成8位字长的ALU。运算器的输出经过一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由二个锁存器(74LS373)锁存,锁存器的输入连至数据总线,数据开关(“INPUT DEVICE”)用来给出参与运算的数据,并经过一三态门(74LS245)和数据总线相连,数据显示灯(“BUS UNIT”)已和数据总线相连,用来显示数据总线内容。 2、控制信号说明: T4:脉冲信号;实验时,将W/R UNIT的T4接至STATE UNIT的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲。 S3~S0、M:运算器的功能控制信号;可参见74181芯片的功能表P64。 Cn:进位控制信号,低电平有效。 LDDR1、LDDR2:数据寄存器DR1和DR2的数据装载控制信号,高电平有效。ALU-B:该控制信号控制是否将ALU的结果送到总线上,低电平有效。

SW-B :三态门开关信号,控制是否打开三态门,低电平有效。 四、实验内容 1、算术逻辑运算实验: 实验步骤: ①按图1-2连接路线,仔细检查无误后,接通电源; ②用二进制数码开关向DR1和DR2寄存器置数。 A )数据开关置01100101; B )设置switch unit :ALU-B=1 SW-B=0 LDDR1=1 LDDR2=0 C )按动KK2给出一个单脉冲信号,即T4=┎┒ D )数据开关置10100111; E )设置switch unit :LDDR1=0 LDDR2=1 F )按动KK2给出一个单脉冲信号。 ③检验DR1和DR2中存的数是否正确: A )设置switch unit :SW-B=1 ALU-B=0 B )设置switch unit :当S 3S 2S 1S 0M=00000,总线显示灯显示DR1中的数,而 置为S 3S 2S 1S 0M=01010,总线显示灯显示DR2中的数。 ④验证74LS181的算术运算和逻辑运算功能:[给定A=(DR1)=65 H ,B=(DR2)=A7 H] A )改变运算器的功能设置,观察运算器的输出,填入下表: DR1 DR2 S 3S 2S 1S 0 M=1(算术运算) M=0(逻辑运算) Cn=1 (无进位) Cn=0 (有进位) 65 A7 0000 01100101 01100110 10011010 65 A7 0001 11100111 11101000 00011000 65 A7 0010 01111101 01111110 10000010 65 A7 0011 11111111 00000000 00000000 65 A7 0100 10100101 10100110 11011010 65 A7 0101 00100111 00101000 01011000

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

一.实验目的及要求 (1) 了解运算器的组成结构。 (2) 掌握运算器的工作原理。 二.实验模块及实验原理 本实验的原理如图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 填充,具体由相应的指令控制。使用另外的逻辑进行移位总量译码和符号判别。 运算器部件由一片CPLD 实现。ALU的输入和输出通过三态门74LS245 连到CPU 总线上,另外还有指示灯标明进位标志FC和零标志FZ。请注意:实验箱上凡丝印标注有马蹄形标记‘’,表示这两根排针之间是连通的。图中除T4和CLR ,其余信号均来自于ALU单元的排线座,实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR 都连接至CON 单元的CLR 按钮。T4由时序单元的TS4 提供(时序单元的介绍见附录二),其余控制信号均由CON单元的二进制数据开关模拟给出。控制信号中除T4为脉冲信号外,其余均为电平信号,其中ALU_B为低有效,其余为高有效。 暂存器A 和暂存器B 的数据能在LED 灯上实时显示,原理如图1-1-3所示(以A0为例,其它相同)。进位标志FC、零标志FZ和数据总线D7…D0的显示原理也是如此。 ALU和外围电路的连接如图1-1-4所示,图中的小方框代表排针座。 运算器的逻辑功能表如表1-1-1所示,其中S3 S2 S1 S0 CN 为控制信号,FC 为进位标志,FZ为运算器零标志,表中功能栏的FC、FZ表示当前运算会影响到该标志。

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