HKZK-CPT计算机组成原理试验指导书 - 图文

更新时间:2024-05-08 00:47:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机组成原理实验平台HKZK-CPT

目 录

第1章 性能特点 ______________________________________________________________ 3

1.1系统功能及特点 __________________________________________________________ 3 1.2实验系统组成 ____________________________________________________________ 4

第2章 实验项目 ______________________________________________________________ 5

2.1算术逻辑运算单元实验 ____________________________________________________ 5

实验1、不带进位位逻辑或运算实验 _________________________________________ 7 实验2、不带进位位加法运算实验 ___________________________________________ 8 2.2 通用寄存器单元实验 ____________________________________________________ 10 实验1、 数据输入通用寄存器 _____________________________________________ 11 实验2、 寄存器内容无进位位左移实验 _____________________________________ 12 实验3、 寄存器内容无进位位右移实验 _____________________________________ 12 2.3进位控制、通用寄存器判零实验 ___________________________________________ 14 实验1、算术逻辑单元带进位位的加法运算实验 ______________________________ 15 实验2、带进位移位实验 __________________________________________________ 16 2.4 存储器和总线实验 ______________________________________________________ 18 实验1、存储器的写操作 __________________________________________________ 20 实验2、读存储器的数据到总线上 __________________________________________ 20 2.5 堆栈寄存器实验 ________________________________________________________ 21 实验1、对4个寄存器进行写入操作 ________________________________________ 22 实验2、 对4个寄存器进行读出操作 _______________________________________ 23 2.6 微程序控制单元实验 ____________________________________________________ 24 实验1、微地址打入操作 __________________________________________________ 26 实验2 微地址+1操作 ____________________________________________________ 27 2.7 指令部件模块实验 ______________________________________________________ 27 实验1、PC计数器置数 ___________________________________________________ 31 实验2、PC计数器加1 ____________________________________________________ 31 实验3、置当前指令寄存器 ________________________________________________ 31 2.8 时序与启停实验 ________________________________________________________ 32 2.9 模型机的总体设计 ______________________________________________________ 35 2.9.3.2.1 指令类型: ______________________________________________________ 37 2.9.3.2.2 操作数寻址方式及编码 ____________________________________________ 37

第3章 综合实验的调试 _______________________________________________________ 45

实验1、实现普通的加、减法指令 __________________________________________ 51

实验2、带进位运算的模型机 ______________________________________________ 54

第4章 驻机键盘和液晶显示器的使用方式 _______________________________________ 60

4.1 键盘定义 ______________________________________________________________ 60

1

计算机组成原理实验平台HKZK-CPT

4.2 操作方法 ______________________________________________________________ 60

第5章 HKCPT软件简介和安装 _________________________________________________ 63

5.1 HKCPT性能特点 ________________________________________________________ 63 5.2 软件安装和卸载 ________________________________________________________ 63 5.3 HKCPT软件界面介绍 _________________________________________________ 63 5.4 菜单介绍 ______________________________________________________________ 65 5.5 快速入门 ______________________________________________________________ 70

注意事项:

在做单元模块实验前,务必先将CPT-A总线上短8芯扁平电缆及CPT-B上连线板全部拔离实验平台。做实验时,根据实验说明连接相关总线。可通过PC机软件(HKCPT)中的查看—刷新菜单来观察各寄存器当前值。

2

计算机组成原理实验平台HKZK-CPT

第1章 性能特点

1.1系统功能及特点

1.1.1提供各个基本功能模块

我们在比较了国内的多家实验平台厂商的产品后,发现多数产品不是连线过于繁琐,就是由CPLD来替代所有的硬件。市场需要一种连线不多,但具有灵活性的实验系统,不同设计方案,不同的连线方法,可以得到不同的结果。

我们所提供的实验平台本身就是一个可运行的系统。整个系统采用功能模块化的

设计思路,实验者可单独设计和调试各个功能模块,最终实现一个新的系统,这样可大大减轻实验指导教师的工作量。

整个实验平台提供了运算器模块、指令部件模块、堆栈寄存器模块、存储器模块、总线传输模块、微程序模块、启停和时序模块,以及用于调试和观察数据的监控模块。 1.1.2 组成结构

整个系统采用总线结构,总线

结构具有扩展能力强,结构简单清晰,连线方便快捷等特点。本实验平台的总线分为:内部、外部地址总线,内部、外部数据总线。整个系统的各个总线都布有测试孔,以便于测试。各模块的电源、地、地址数据总线已经按照标准连接完毕,控制信号都按各功能模块的布局引出,实验者可方便的定位各测试点。 1.1.3监控模块

监控模块为实验调试和程序设计带来了相当的便利。实验者可以通过监控模块来修改微程序和内存中的程序。为了实验的连贯性,系统中还提供了FLASH MEMORY 来保存微程序和程序,掉电时内容不会丢失,实验者可随时保存和读取微程序与程序。为了使实验者随时观察数据和地址,实验平台提供了一块2*16的液晶屏,可同时显示当前地址、当前总线上的数据和当前的微指令和一些关键寄存器的值。 1.1.4操作方式:

单机方式:整个系统可单独使用,可通过24个按键和液晶来编辑内存和微程序存储器中的数据,在系统运行时可监控所有关键数据。实验者使用拨动开关来产生二进制码进行微程序和程序的编写。

联机方式:系统可与PC机相连,PC机上提供了windows界面的操作软件,实验者可在PC机上进行编辑、加载、动态调试等操作。

3

计算机组成原理实验平台HKZK-CPT

1.2实验系统组成

本实验平台由两部分组成,左边为实验模块部分(CPT-A),主要分布着各个实验单

元和监控单元。实验平台的右边为数据输出板(CPT-B),板上分布着24个二进制开关、若干个LED发光二极管、DIP插座,还有1块用于显示当前状况的液晶板。CPT-A上的控制信号都通过2根扁平电缆连到了CPT-B上。

4

计算机组成原理实验平台HKZK-CPT

第2章 实验项目

2.1算术逻辑运算单元实验

2.1.1实验目的

1、掌握简单运算器的数据传输方式 2、掌握74LS181的功能和应用 2.1.2实验要求

完成不带进位位算术、逻辑运算实验。按照实验步骤完成实验项目,了解算术逻辑运算单元的运行过程。 2.1.3实验说明

2.1.3.1 ALU单元实验构成(如图2-1-1)

1、运算器由2片74LS181构成8位字长的ALU单元。 2、2片74LS374作为2个数据锁存器(DR1、DR2),8芯插座ALU-IN作为数据输入端,可通过短8芯扁平电缆,把数据输入端连接到数据总线上。

3、 运算器的数据输出由一片74LS244(输出缓冲器)来控制,8芯插座ALU-OUT作为数

据输出端,可通过短8芯扁平电缆把数据输出端连接到数据总线上。

图2-1-1

5

计算机组成原理实验平台HKZK-CPT

图2-1-2

6

计算机组成原理实验平台HKZK-CPT

2.1.3.2 ALU单元的工作原理(如图2-1-2)

数据输入锁存器DR1的EDR1为低电平,并且D1CK有上升沿时,把来自数据总线的数据打入锁存器DR1。同样使EDR2为低电平、D2CK有上升沿时把数据总线上的数据打入数据锁存器DR2。

算术逻辑运算单元的核心是由2片74LS181组成,它可以进行2个8位二进制数的算术逻辑运算,74LS181的各种工作方式可通过设置其控制信号来实现(S0、S1、S2、S3、M、CN)。当实验者正确设置了74LS181的各个控制信号,74LS181会运算数据锁存器DR1、DR2内的数据。由于DR1、DR2已经把数据锁存,只要74LS181的控制信号不变,那么74LS181的输出数据也不会发生改变。

输出缓冲器采用74LS244,当控制信号ALU-O为低电平时,74LS244导通,把74LS181的运算结果输出到数据总线;当ALU-O为高电平时,74LS244的输出为高阻。

2.1.3.3 控制信号说明

信号名称 EDR1 EDR2 DR1CK DR2CK S0~S3 M CN CCK ALU-O 2.1.4实验步骤

实验1、不带进位位逻辑或运算实验

? 把ALU-IN(8芯的盒型插座)与CPT-B板上的二进制开关单元中J01插座相连(对应二

进制开关H16~H23),把ALU-OUT(8芯的盒型插座)与数据总线上的DJ02相连。 ? 把D1CK和D2CK用连线连到脉冲单元的PLS1上,把EDR1、EDR2、ALU-O、S0、

S1、S2、S3、CN、M接入二进制开关(请按下表接线)。 信号定义 接入开关位号 D1CK PLS1 孔 D2CK PLS1 孔 EDR1 H8 孔 EDR2 H7 孔 ALU-O H6 孔 CN H5 孔 M H4 孔 S3 H3 孔 S2 H2 孔 S1 H1 孔 S0 H0 孔

? 按启停单元中的运行按钮,使实验平台处于运行状态。

7

作用 选通DR1寄存器 选通DR2寄存器 DR1寄存器工作脉冲 DR2寄存器工作脉冲 74LS181工作方式选择 选择逻辑或算术运算 有无进位输入 进位寄存器的工作脉冲 74LS181计算结果输出至总线 有效电平 低电平有效 低电平有效 上升沿有效 上升沿有效 上升沿有效 低电平有效 计算机组成原理实验平台HKZK-CPT

? 二进制开关H16~H23作为数据输入,置33H(对应开关如下表)。 H23 H22 H21 H20 H19 H18 H17 H16 数据总线值 D7 D6 D5 D4 0 0 1 1 置各控制信号如下: H8 EDR1 H7 EDR2 H6 ALU-O D3 0 H5 CN D2 0 D1 1 H4 M D0 1 H3 S3 8位数据 33H H2 S2 H1 S1 H0 S0 0 1 0 1 1 1 1 1 0 ? 按脉冲单元中的PLS1脉冲按键,在D1CK上产生一个上升沿,把33H打入DR1数据

锁存器,通过逻辑笔或示波器来测量确定DR1寄存器(74LS374)的输出端,检验数据是否进入DR1中。

? 二进制开关H16~H23作为数据输入,置55H(对应开关如下表)。 H23 H22 H21 H20 H19 H18 H17 H16 数据总线值 D7 D6 D5 D4 0 1 0 1 置各控制信号如下: H8 EDR1 H7 EDR2 H6 ALU-O D3 0 H5 CN D2 1 D1 0 H4 M D0 1 H3 S3 8位数据 55H H2 S2 H1 S1 H0 S0 1 0 0 1 1 1 1 1 0

? 按脉冲单元中的PLS1脉冲按键,在D2CK上产生一个上升沿的脉冲,把55H打入DR2

数据锁存器。

? 经过74LS181的计算,把运算结果(F=A或B)输出到数据总线上,数据总线上的LED

显示灯IDB0~IDB7应该显示为77H。 实验2、不带进位位加法运算实验

? 二进制开关H16~H23作为数据输入,置33H(对应开关如下表)。 H23 H22 H21 H20 H19 H18 H17 H16 数据总线值 D7 D6 D5 D4 0 0 1 1 置各控制信号如下: H8 EDR1 H7 EDR2 H6 ALU-O D3 0 H5 CN D2 0 D1 1 H4 M D0 1 H3 S3 8位数据 33H H2 S2 H1 S1 H0 S0 0 1 0 1 0 1 0 0 1 ? 按脉冲单元中的PLS1脉冲按键,在D1CK上产生一个上升沿,把33H打入DR1数据

锁存器,通过逻辑笔或示波器来测量确定DR1寄存器(74LS374)的输出端,检验数据是否进入DR1中。

? 二进制开关H16~H23作为数据输入,置55H(对应开关如下表)。 H23 H22 H21 H20 H19 H18 H17 H16 数据总线值 D7 D6 D5 D4 0 1 0 1 置各控制信号如下: H8 EDR1 H7 EDR2 H6 ALU-O D3 0 H5 CN D2 1 D1 0 H4 M D0 1 H3 S3 8位数据 55H H2 S2 H1 S1 H0 S0 1 0 0 1 0 1 0 0 1

? 按脉冲单元中的PLS1脉冲按键,在D2CK上产生一个上升沿,把55H打入DR2数据

8

计算机组成原理实验平台HKZK-CPT

锁存器。

? 经过74LS181的计算,把运算结果(F=A加B)输出到数据总线上,数据总线上的LED

显示灯IDB0~IDB7应该显示为88H。

2.1.5实验思考

验证74LS181的算术运算和逻辑运算,在保持DR1=65H、DR2=A7H时,改变运算器的功能设置,观察运算器的输出,填写以下表格来进行分析和比较。 DR1 DR2 S3 S2 S1 S0 M=1 M=0 (算术运算) 逻辑运算 CN=1 CN=0 65 A7 0 0 0 0 F= F= F= 65 A7 0 0 0 1 F= F= F= 65 A7 0 0 1 0 F= F= F= 65 A7 0 0 1 1 F= F= F= 65 A7 0 1 0 0 F= F= F= 65 A7 0 1 0 1 F= F= F= 65 A7 0 1 1 0 F= F= F= 65 A7 0 1 1 1 F= F= F= 65 A7 1 0 0 0 F= F= F= 65 A7 1 0 0 1 F= F= F= 65 A7 1 0 1 0 F= F= F= 65 A7 1 0 1 1 F= F= F= 65 A7 1 1 0 0 F= F= F= 65 A7 1 1 0 1 F= F= F= 65 A7 1 1 1 0 F= F= F= 65 A7 1 1 1 1 F= F= F=

附74LS181的逻辑 方式 S3 S2 S1 S0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 M=1逻辑运算 逻辑运算 F=/A F=/(A+B) F=/A B F=0 F=/(AB) F=/B F=A⊕B F=A /B F=/A+B F= /(A⊕B ) F=B F=AB F=1 F=A+/B F=A+B F=A M=0算术运算 CN=1(无进位) CN=0(有进位) F=A F=A加1 F=A+B F=(A+B)加1 F=A+/B F=(A+/B)加1 F=0 F=减1(2的补) F=A加A/B F=A加A/B加1 F=(A+B)加A/B F=(A+B)加A/B加1 F=A减B减1 F=A减B F=A/B F=A/B减1 F=A 加AB F=A 加AB加 1 F=A加B F=A加B加1 F=(A+/B)加AB F=(A+/B)加AB加1 F=AB F=AB减1 F=A加 A F=A加 A 加1 F=(A+B) 加 A F=(A+B) 加 A 加1 F=(A+/B)加A F=(A+/B)加A加1 F=A F=A减1 9

计算机组成原理实验平台HKZK-CPT

2.2 通用寄存器单元实验

2.2.1实验目的

1、 了解通用寄存器的组成和硬件电路

2、 利用通用寄存器实现数据的置数、左移、右移等功能

2.2.2实验要求

按照实验步骤完成实验项目, 实现通用寄存器移位操作。了解通用寄存器单元的工作原理运用。

2.2.3实验说明

2.2.3.1 寄存器实验构成:(如图2-2-1)

1、 通用寄存器由2片GAL构成8位字长的寄存器单

元。8芯插座RA-IN作为数据输入端,可通过短8芯扁平电缆,把数据输入端连接到数据总线上。 2、 数据输出由一片74LS244(输出缓冲器)来控制。

用8芯插座RA-OUT作为数据输出端,可通过短8芯扁平电缆,把数据输出端连接到数据总线。 3、 判零和进位电路由1片GAL、1片7474和一些常

规芯片组成,用2个LED(ZD、CY)发光管分别显示其状态。

图2-2-1

2.2.3.2 通用寄存器单元的工作原理:(图2-2-2)

通用寄存器单元的核心部件为2片GAL,它具有锁存、左移、右移、保存等功能。各个功能都由X1、X2信号和工作脉冲RACK来决定。当置ERA=0、X0=1、X1=1,RACK有上升沿时,把总线上的数据打入通用寄存器。可通过设置X0、X1来指定通用寄存器工作方式,通用寄存器的输出端Q0~Q7接入判零电路。LED(ZD)亮时,表示当前通用寄存器内数据为0。

输出缓冲器采用74LS244,当控制信号RA-O为低时,74LS244开通,把通用寄存器内容输出到总线;当RA-O为高时,74LS244的输出为高阻。

GAL 方程如下:

Clk,OE pin 1,11;

10

计算机组成原理实验平台HKZK-CPT

A,B,C,D pin 3,4,5,6; QA,QB,QC,QD pin 18,17,14,13; S0,S1,SIL,SIR pin 8,9,2,7; Q =[QD,QC,QB,QA]; I =[D,C,B,A];

SL=[QC,QB,QA,SIL]; SR =[SIR,QD,QC,QB]; equations

Q:= S0 & S1 & I # S0 &!S1 & SR # !S0 &S1 & SL #!S0 &!S1 & Q;

图2-2-2

2.2.3.3 控制信号说明 信号名称 X0、X1 ERA RA-O RACK M 作用 74LS198的工作模式 选通通用寄存器 通用寄存器内容输出至总线 通用寄存器工作脉冲 在ALU单元中作为逻辑和算术运算的选择。在本实验中决定是否带进位移位 有效电平 低电平有效 低电平有效 上升延有效 0 带进位 1 不带进位

2.2.4实验步骤

实验1、 数据输入通用寄存器

? 把RA-IN(8芯的盒型插座)与CPT-B板上二进制开关单元中的J01插座相连(对应二

进制开关H16~H23),把RA-OUT(8芯的盒型插座)与数据总线上的DJ6相连。

? 把RACK连到脉冲单元的PLS1,把ERA、X0、X1、RA-O、M接入二进制拨动开关。

11

计算机组成原理实验平台HKZK-CPT

(请按下表接线)。 信号定义 RACK X0 X1 ERA RA-O M H23 H22 H21 H20 H19 H18 H17 H16 接入开关位号 PLS1 孔 H12 孔 H11 孔 H10 孔 H9 孔 H4 孔 数据总线值 ? 二进制开关H16~H23作为数据输入,置42H(对应开关如下表)。 D7 D6 D5 D4 0 1 0 0 置各控制信号如下: H12 X0 H11 X1 H10 ERA D3 0 D2 0 D1 1 H4 M D0 0 8位数据 42H H9 RA-O 1 1 0 0 1 ? 按启停单元中的运行按钮,置实验平台为运行状态。

? 按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,把42H打入通用寄存

器。

? 此时数据总线上的指示灯IDB0~IDB7 应该显示为42H。由于通用寄存器内容不为0,

所以LED(ZD)灯灭。 实验2、 寄存器内容无进位位左移实验

? 按照实验1数据输入的方法把数据42H打入通用寄存器中,数据总线上显示42H。 ? 实现左移功能,置各控制信号如下: H12 X0 H11 X1 H10 ERA H9 RA-O H4 M 0 1 0 0 1 ? 按启停单元中的运行按钮,置实验平台为运行状态。 ? 按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,使通用寄存器中的值左

移。

? 此时数据总线上的LED指示灯IDB0~IDB7 应该显示为84H。由于通用寄存器内容不

为0,所以ZD(LED)灯灭。

? 按脉冲单元中的PLS1脉冲按键,使通用寄存器中的值左移,此时数据总线上的LED

指示灯IDB0~IDB7应该显示为09H。若一直按PLS1,在总线上将看见数据循环左移的现象。 实验3、 寄存器内容无进位位右移实验

? 按照实验1数据输入的方法把数据42H打入通用寄存器中,数据总线上显示42H。 ? 实现右移功能,置各控制信号如下: H12 X0 H11 X1 H10 ERA H9 RA-O H4 M 1 0 0 0 1 ? 按启停单元中的运行按钮,置实验平台为运行状态。 ? 按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,使通用寄存器中的值右

12

计算机组成原理实验平台HKZK-CPT

移。

? 此时数据总线上的LED指示灯IDB0~IDB7 应该显示为21H。由于通用寄存器内容不

为0,所以ZD(LED)灯灭。

? 按脉冲单元中的PLS1脉冲按键,使通用寄存器中的值右移,此时数据总线上的LED

指示灯IDB0~IDB7应该显示为90H。若一直按PLS1,在总线上将看见数据循环左移的现象。

附:通用寄存器的逻辑

通用寄存器(8位并入并出移位寄存器)

CLR X1 X0 CLK SL SR QA~AH 0 X X X X X 全 0 1 X X 0 X X 保持不变 1 1 1 X X 上升沿 并行接数A~H 1 0 1 X 0 上升沿 右移 移入0 1 0 1 X 1 上升沿 右移 移入1 1 1 0 0 X 上升沿 左移 移入0 1 1 0 1 X 上升沿 左移 移入1 13

计算机组成原理实验平台HKZK-CPT

2.3进位控制、通用寄存器判零实验

2.3.1实验目的

1、 熟悉带进位控制的算术逻辑运算器的组成和硬件电路 2、 用进位寄存器来实现带进位的左移、右移。 3、 熟悉判零线路。

2.3.2实验要求

按照实验步骤完成实验项目,实现带进位位的算术逻辑运算,通用寄存器实现带进位的左移、右移功能,理解通用寄存器的判零电路。

2.3.3实验说明

2.3.3.1 进位和判零电路的实验构成

进位和判零电路由1片GAL、74LS74和两个LED(CY、ZD)发光管组成。当有进位时CY发光管亮,ZD发光管亮表示当前通用寄存器的内容为0。

图2-3-1

2.3.3.2 进位控制的原理:(如图2-3-1)

? 进位电路与通用寄存器、ALU有着非常紧密的关系,算术逻辑单元的进位输出和通用

寄存器带进位移动都会影响进位寄存器中的结果。

? 若实验者在做算术逻辑实验时,选择了算术运算方式,当ALU的计算结果输出至总线

时,在CCK 上来一个上升沿,将把74LS181的进位输出位(CN+4)上的值(为了统一进位标识,1表示有进位,0表示无进位),打入进位寄存器(74LS74)中,并且有进位时LED(CY)发光。

? 在进行通用寄存器的数据移位实验时,把CCK和通用寄存器的工作脉冲接在一起,当

选择带进位左移动时,在工作脉冲下,通用寄存器的最高位将移入进位寄存器中,进位寄存器中的值将移入通用寄存器的最低位。当进位寄存器中的值为1时,LED(CY)

14

计算机组成原理实验平台HKZK-CPT

发亮,若进位寄存器中的值为0时,LED(CY)灭。同样在带进位右移时,也会产生这样的效果。

? 通过把通用寄存器中的每一位做“或”运算,当寄存器的每一位为0时,ZD输出0,

LED(ZD)发光。

以下为GAL中的方程:

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 M X0 X1 GND

CN+4 ALU_O CY NC NC CY_I ZD C SR SL ERA VCC SR=M * /X1 * X0 * Q0 + /M * /X1 * X0 * CY + /ALU_O*/CN+4 SL=M * X1 * /X0 * Q7 + /M * X1 * /X0 * CY + /ALU_O*/CN+4 CY_I = /X1 * X0 * Q0 + X1 * /X0 *Q7 + /ALU_O*/CN+4 /ZD = /Q0 * /Q1 * /Q2 * /Q3 * /Q4 * /Q5 * /Q6 * /Q7

2.3.4实验步骤

实验1、算术逻辑单元带进位位的加法运算实验

? 把ALU-IN(8芯的盒型插座)与CPT-B板上的二进制开关单元中J01插座相连(对应二

进制开关H16~H23),把ALU-OUT(8芯的盒型插座)与数据总线上的DJ2相连。 ? 把D1CK、D2CK、CCK用连线连到脉冲单元的PLS1上,把EDR1、EDR2、ALU-O、

S0、S1、S2、S3、CN、M接入二进制拨动开关(请按下表接线)。 信号定义 接入开关位号 D1CK PLS1 孔 D2CK PLS1 孔 CCK PLS1 孔 EDR1 H8 孔 EDR2 H7 孔 ALU-O H6 孔 CN H5 孔 M H4 孔 S3 H3 孔 S2 H2 孔 S1 H1 孔 S0 H0 孔 ? 按启停单元中停止按钮,实验平台停机并且把进位寄存器CY清零(CY灯灭)。在本实验中使用算术逻辑单元作为进位发生器,按运行键,实验即进入运行状态。 ? 二进制开关H16~H23作为数据输入,置65H(对应开关如下表)。 H23 H22 H21 H20 H19 H18 H17 H16 数据总线值 D7 D6 D5 D4 0 1 1 0 置各控制信号如下: H8 EDR1 H7 EDR2 H6 ALU-O D3 0 H5 CN D2 1 D1 0 H4 M D0 1 H3 S3 8位数据 65H H2 S2 H1 S1 H0 S0 0 1 1 1 0 1 0 0 1 ? 按脉冲单元中的PLS1脉冲按键,在D1CK上产生一个上升沿,把65H打入DR1数据

锁存器,通过逻辑笔或示波器来测量确定DR1寄存器(74LS374)的输出端,检验数

15

计算机组成原理实验平台HKZK-CPT

据是否进入DR1中。

? 二进制开关H16~H23作为数据输入,置A7H(对应开关如下表)。

H23 H22 H21 H20 H19 H18 H17 H16 数据总线值 D7 D6 D5 D4 1 0 1 0 置各控制信号如下: H8 EDR1 H7 EDR2 H6 ALU-O D3 0 H5 CN D2 1 D1 1 H4 M D0 1 H3 S3 8位数据 A7H H2 S2 H1 S1 H0 S0 1 0 1 1 0 1 0 0 1 ? 按脉冲单元中的PLS1脉冲按键,在D2CK上产生一个上升沿,把A7H打入DR2数据

锁存器。

? 再置各控制信号如下: H8 EDR1 H7 EDR2 H6 ALU-O H5 CN H4 M H3 S3 H2 S2 H1 S1 H0 S0 1 1 0 1 0 1 0 0 1 ? 按脉冲单元中的PLS1脉冲按键,在CCK上产生一个上升沿,把74LS181的进位打入进位寄存器中,在有进位的情况下,CY指示灯亮,并且ALU-O为0,把计算结果输出到数据总线。

? 经过74LS181的计算将产生进位,即CN+4输出0,当把计算结果输出到总线时,数据

总线指示灯IDB0~IDB7将显示结果0CH。

实验2、带进位移位实验

? 按启停单元中停止按钮,实验平台停机时把进位寄存器CY清零(CY灯灭)。在本实验

中使用通用寄存器作为进位发生器,按运行键,实验即进入运行状态。

? 把RA-IN(8芯的盒型插座)与CPT-B板上的二进制开关单元中J01相连(对应二进制

开关H16~H23),把RA-OUT(8芯的盒型插座)与数据总线上的DJ6相连。

? 把CCK、RACK连到脉冲单元的PLS1,把ERA、X0、X1、RA-O、M接入二进制拨

动开关。(请按下表接线)。

信号定义 接入开关位号 CCK PLS1 孔 RACK PLS1 孔 X0 H12 孔 X1 H11 孔 ERA H10 孔 RA-O H9 孔 M H4 孔 ? 二进制开关H16~H23作为数据输入,置81H(对应开关如下表)。 H23 H22 H21 H20 H19 H18 H17 H16 数据总线值 D7 D6 D5 D4 1 0 0 0 置各控制信号如下: H12 X0 H11 X1 H10 ERA D3 0 D2 0 D1 0 D0 1 8位数据 81H H9 RA-O H4 M 1 1 0 0 0 ? 按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,把81H打入通用寄存

16

计算机组成原理实验平台HKZK-CPT

器内。

? 此时数据总线上的指示灯IDB0~IDB7 应该显示为81H。由于通用寄存器内容不为0,

所以ZD(LED)灯灭。 置各控制信号如下:

H12 X0 H11 X1 H10 ERA H9 RA-O H4 M 0 1 0 0 0 ? 按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,使通用寄存器中的值左

移。因进位寄存器CY的初始值为0,在RACK脉冲作用下将CY打入通用寄存器的最低位Q0。同时在CCK脉冲作用下把通用寄存器的最高位Q7(为1)打入进位寄存器CY,使CY显示灯亮,这样就实现了带进位的左移功能。

? 同样置各控制信号如下,并且按脉冲单元中的PLS1脉冲按键,可实现带进位的右移功

能。 H12 X0 H11 X1 H10 ERA H9 RA-O H4 M 1 0 0 0 0 把M作为是否带进位的选择,M=0 带进位移位,M=1不带进位移位。控制型号X0、X1、M的功能状态如下:

功能状态表 X1 X0 M 功能 移位操作 循环右 Q7->Q6->Q5->Q4->Q3->Q2->Q1->Q0 0 1 0 移 带进位 CY-> Q7->Q6->Q5->Q4->Q3->Q2->Q1->Q0 0 1 1 循环右 移 循环左 Q7<-Q6<-Q5<-Q4<-Q3<-Q2<-Q1<-Q0 1 0 0 移 带进位 CY<-Q7<-Q6<-Q5<-Q4<-Q3<-Q2<-Q1<-Q0 1 0 1 循环左 移

17

计算机组成原理实验平台HKZK-CPT

2.4 存储器和总线实验

2.4.1 实验目的

熟悉存储器和总线的硬件电路

2.4.2 实验要求

按照实验步骤完成实验项目,熟悉存储器的读、写操作,理解在总线上数据传输的方法。

2.4.3 实验说明

2.4.3.1 存储器和总线的构成

1、 总线由1片74LS245、1片74LS244组成,把整个系统分为内部总线和外部总线。2片

74LS374锁存当前的数据、地址总线上的数据以供LED显示。(如图2-4-1) 2、 存储器采用静态1片RAM(6264)

3、 存储器的控制电路由1片74LS32和74LS08组成。(如图2-4-2)

图2-4-1

图2-4-2

2.4.3.2 存储器和总线的原理

1、 总线的原理:由于本系统内使用8根地址线、8根数据线,所以使用1片74LS245作为

数据总线,另1片74LS244作为地址总线(见图2-4-3)。总线把整个系统分为内部数据、地址总线和外部数据、地址总线,由于数据总线需要进行内、外部数据的交换,所以由BUS信号来控制数据的流向,当BUS=1时数据由内到外,当BUS=0时,数据由外到内。

18

计算机组成原理实验平台HKZK-CPT

图2-4-3

2、 由于本系统内使用8根地址线、8位数据线,所以6264的A8~A12接地,其实际容量

为256个字节(如图2-4-4)。6264的数据、地址总线已经接在总线单元的外部总线上。存储器有3个控制信号:地址总线设置存储器地址,RM=0时,把存储器中的数据读出到总线上;当WM=0,并且EMCK有一个上升沿时,把外部总线上的数据写入存储器中。为了更方便地编辑内存中的数据,在实验平台处于停机状态时,可由监控来编辑其

中的数据。

图2-4-4

2.4.3.3 控制信号说明 信号名称 BUS RM WM EMCK CR CW M/C

19

作 用 总线方向选择 6264的读允许信号 6264的写允许信号 6264的写入脉冲信号 监控对6264的读允许信号 监控对6264的写允许信号 监控选择程序空间或微程序空间 有效电平 低电平有效 低电平有效 上升沿有效 低电平有效 低电平有效 计算机组成原理实验平台HKZK-CPT

2.4.4 实验步骤 实验1、存储器的写操作

? 把内部地址总线AJ1(8芯盒形插座)与CPT-B板上的二进制开关单元中J03插座相连(对

应二进制开关H0~H7),把内部数据总线DJ8与CPT-B板上的J02插座相连(对应二进制开关H8~H15)。

? 把EMCK连到脉冲单元的PLS1,WC、RC、BUS接入二进制的开关中。(请按下表接

线)。 信号定义 接入开关位号 EMCK PLS1 孔 WM H22 孔 RM H21 孔 BUS H21 孔 ? 按启停单元中的运行按钮,置实验平台为运行状态。 ? 二进制开关H0~H7作为地址(A0~A7)输入,置55H(对应开关如下表)。

H7 H6 H5 H4 H3 H2 H1 H0 数据总线值 A7 A6 A5 A4 A3 A2 A1 A0 8位数据 0 1 0 1 0 1 0 1 55H ? 二进制开关H8~H15作为数据(D0~D7)输入,置66H(对应开关如下表)。

H15 H14 H13 H12 H11 H10 H9 H8 数据总线值 D7 D6 D5 D4 0 1 1 0 置各控制信号如下: H22 WM H21 RM、BUS D3 0 D2 1 D1 1 D0 0 8位数据 66H 0 1 ? 按脉冲单元中的PLS1脉冲按键,在EMCK上产生一个上升沿,数据从内部数据总线

流向外部数据总线,将数据66H写入地址为55H的存储单元。 实验2、读存储器的数据到总线上

? 在做好实验1的基础上,保持电源开启和线路连接不变,只拔掉内部数据总线DJ8与

CPT-B板上的J02插座 (对应二进制开关H8~H15) 的连接。 ? 按启停单元中的运行按钮,置实验平台为运行状态。

? 二进制开关H0~H7作为地址(A0~A7)输入,置55H(对应开关如下表)

H7 H6 H5 H4 H3 H2 H1 H0 数据总线值 A7 A6 A5 A4 0 1 0 1 置各控制信号如下: H22 WM H21 RM、BUS A3 0 A2 1 A1 0 A0 1 8位数据 55H 1 0 ? 按脉冲单元中的PLS1脉冲按键,在EMCK上产生一个上升沿,数据从外部数据总线

流向内部数据总线,将存储器55H单元中的内容输出,应该为实验1中的写入的数据66H。此时数据总线上的指示灯IDB0~IDB7显示结果66H。

20

计算机组成原理实验平台HKZK-CPT

2.5 堆栈寄存器实验

2.5.1 实验目的 1、熟悉堆栈概念

2、熟悉堆栈寄存器的组成和硬件电路

2.5.2 实验要求

按照实验步骤完成实验项目,对4个堆栈寄存器进行读出、写入数据操作。

2.5.3 实验说明

2.5.3.1 堆栈寄存器组实验构成(图2-5-1)

本系统内有4个寄存器R0~R3,寄存器组由4个74LS374组成,由1片74LS139(2-4译码器)来选择4个74LS374,并且由2片74LS32来组成控制线。8芯插座R-IN、R-OUT作为数据输入、输出端,可通过短8芯扁平电缆把数据输入、输出端连接到数据总线上。

图2-5-1

2.5.3.2 堆栈寄存器组原理(图2-5-2)

由SA、SB两根控制线通过74LS139译码来选择4个寄存器(74LS374)。当WR=0时,表示数据总线向寄存器写入数据,RCK为寄存器的工作脉冲,在有上升沿时把总线上数据打入74LS139选择的那个寄存器。当RR=0时,74LS139所选择的寄存器上的数据输出至数据总线。在本系统内使用了WR=0作为写入允许,RCK信号为上升沿时打入数据、RR=0时数据输出。

21

计算机组成原理实验平台HKZK-CPT

图2-5-2

2.5.3.3 控制信号说明:

信号名称 SA、SB RR WR RCK 2.5.4 实验步骤

实验1、对4个寄存器进行写入操作

? 将R-IN(8芯盒形插座)与CPT-B板上的二进制开关单元中J03插座相连(对应二进制开

关H0~H7),R-OUT可通过短8芯扁平电缆与数据总线上DJ4相连。

? 把RR、WR、SA、SB接入二进制拨动开关( SA,SB借用X0,X1的H12,H11孔),

把RCK连到脉冲单元的PLS1。(请按下表接线)。

信号定义 接入开关位号 RCK PLS1 孔 RR H15 孔 WR H14 孔 SA H12 孔 SB H11 孔 1、把数据写入寄存器R0

? 二进制开关H0~H7作为数据(D0~D7)输入,置11H(对应开关如下表)

22

作 用 选通寄存器 数据读出允许 数据写入允许 寄存器写入脉冲 有效电平 低电平有效 低电平有效 低电平有效 上升沿有效 计算机组成原理实验平台HKZK-CPT

H7 H6 H5 H4 H3 H2 H1 H0 数据总线值 D7 D6 D5 D4 D3 D2 D1 D0 8位数据 0 0 0 1 0 0 0 1 11H ? 按启停单元中的运行按钮,置实验平台为运行状态。 ? 置WR=0、RR=1、SB=0、SA=0 (对应开关如下表)。 H15 H14 H12 H11 RR WR SA SB 1 0 0 0 ? 按脉冲单元中的PLS1脉冲按键,在RCK上产生一个上升沿的脉冲,把11H打入R0

寄存器。

2、把数据写入寄存器R1

? 置二进制开关H0~H7(D0~D7)为22H,各控制信号对应开关如下表。 H15 H14 H12 H11 RR WR SA SB 1 0 1 0 ? 按脉冲单元中的PLS1脉冲按键,在RCK上产生一个上升沿的脉冲,把22H打入R1

寄存器。

3、把数据写入寄存器R2

? 置二进制开关H0~H7(D0~D7)为33H,各控制信号对应开关如下表。 H15 H14 H12 H11 RR WR SA SB 1 0 0 1 ? 按脉冲单元中的PLS1脉冲按键,在RCK上产生一个上升沿的脉冲,把33H打入R2

寄存器。

? 同理:置二进制开关H0~H7为44H,RR=1 WR=0、SA=1、SB=1,在RCK脉冲作用下

把44H打入R3寄存器。 实验2、 对4个寄存器进行读出操作

? 置WR=1、RR=0、SB=0、SA=0 (对应开关如下表)。此时把寄存器R0数据读出 H15 H14 H12 H11 RR WR SA SB 0 1 0 0 ? 总线数据IDB0~IDB7指示灯将显示11H。 ? 保持RR、WR的值不变(RR=0,WR=1),可通过分别设置SB、SA为10、01、11把

R1,R2,R3中的值显示在总线上。观察寄存器输出的数据是否与上实验中写入的数据相同。

附:74LS139的逻辑

74LS139 输入 输出 SB SA Y0 Y1 Y2 Y3 选择寄存器 X X H H H H X 0 0 0 1 1 1 R0 0 1 1 0 1 1 R1 1 0 1 1 0 1 R2 1 1 1 1 1 0 R3 23

计算机组成原理实验平台HKZK-CPT

2.6 微程序控制单元实验

2.6.1 实验目的

1、熟悉微程序控制器的原理

2、掌握微程序编制、写入并观察运行状态

2.6.2 实验要求

按照实验步骤完成实验项目,掌握设置微地址、微指令输出的方法

2.6.3 实验说明

2.6.3.1 微程序控制单元的构成:(如图2-6-1)

1、 8位微地址寄存器由2片74LS161组成 2、 3片6264(3*8位)为微程序存储器 3、 24位微指令锁存器由3片74LS374组成

2.6.3.2 微程序控制单元原理:(如图2-6-2)

1、 由于本系统中指令系统规模不大、功能

较简单,微指令可以采用全水平、不编码的方式,每一个微操作控制信号由1位微代码来表示,24位微代码至少可表示24个不同的微操作控制信号。如要实现更多复杂的操作可通过增加一些译码电路来实现。

2、 增量方式来控制微代码的运行顺序,每

一条指令的微程序连续存放在微指令存储器连续的单元中。

3、 每一指令的微程序的入口地址是通过

对指令操作码的编码来形成的。在本系统内指令码最长为8位,那么最多可形成256条指令。

4、 在微程序存储器的0单元存放取指指

令,在启动时微地址寄存器清零,执行取指指令。

5、 每一段微程序都以取指指令结束,以取

得下一条指令。

图2-6-1 6、 在本系统内,MLD为置微地址的控制信号,MCK为工作脉冲。当MLD=0、MCK有上升沿时,把MD0~MD7的值作为微程序的地址,打入微地址寄存器。当MLD=1、MCK有上升沿时,微地址计数器自动加1。

24

计算机组成原理实验平台HKZK-CPT

图2-6-2

25

计算机组成原理实验平台HKZK-CPT

2.6.4 实验步骤:

? 将MD0~MD7、MLD接入二进制的开关上,将MCK、MOCK分别接入脉冲单元上的

PLS1、PLS2上。(请按下表接线)。 信号定义 接入开关位号 MCK PLS1 孔 MOCK PLS2 孔 MD0 H0 孔 MD1 H1 孔 MD2 H2 孔 MD3 H3 孔 MD4 H4 孔 MD5 H5 孔 MD6 H6 孔 MD7 H7 孔 MLD H23 孔

? 按启停单元中的停止按键,使实验平台处于停机状态。通过键盘把数据写入微程序存储

器中,例如微地址0H中输入11H、11H、11H三个字节、在05H中输入55H、55H、55H三个字节、在06H中输入66H、66H、66H。键盘监控的使用方法请参阅第4章《键盘监控》。

实验1、微地址打入操作

? 按启停单元中的停止按键,使实验平台处于停机状态,此时微地址寄存器被清零。 ? 按启停单元中的运行按键,使实验平台处于运行状态。此时微程序存储器为读状态,微

地址寄存器(74LS161)确定了当前微程序存储器的地址,并且输出24位微操作(M0~M23)。

? 按脉冲单元中的PLS2脉冲按键,在MOCK上产生一个上升沿,把当前微程序存储器

输出的微指令打入微指令锁存器。可在CPT-B上的微指令指示灯显示出当前微指令,应为11H,11H,11H。

? 置MLD=0,微代码的地址MD0~MD7(对应二进制开关H0~H7)为05H (对应开关如

下表)。 H7 H6 H5 H4 H3 H2 H1 H0 H23 MD7 MD6 MD5 MD4 MD3 MD2 MD1 MD0 MLD 0 0 0 0 0 1 0 1 0 ? 按脉冲单元中的PLS1脉冲按键,在MCK上产生一个上升沿,把MD0~MD7打入

74LS161,微地址显示灯MA0~MA7将显示05H,微程序存储器把05H单元的内容输出。

? 按脉冲单元中的PLS2脉冲按键,在MOCK上产生一个上升沿的脉冲,把当前微指令

打入微指令锁存器,在CPT-B板上的微指令指示灯应显示55H,55H,55H。

注意:微代码由3片74LS374作为微指令锁存器,它的OE端已经接地,只要MOCK端上有

上升沿,即可锁存并输出微代码。

26

计算机组成原理实验平台HKZK-CPT

实验2 微地址+1操作

? 置MLD=1。

? 按启停单元中的运行按键,使实验平台处于运行状态。

? 按脉冲单元中的PLS1脉冲按键,在MCK上产生一个上升沿,微地址寄存器自动加1。

若原来微地址寄存器的值为05H,那么当前的微地址显示灯MA0~MA7将显示06H,同时微程序存储器输出06H单元中的内容。

? 按脉冲单元中的PLS2脉冲按键,在MOCK上产生一个上升沿,将微程序存储器的输

出的微指令,打入微指令锁存器并输出,在CPT-B板上的微指令指示灯应显示66H,66H,66H。

2.7 指令部件模块实验

2.7.1 实验目的

1、掌握指令部件的组成方式。

2、熟悉指令寄存器的打入操作,PC计数器的设置和加1操作,理解跳转指令的实现过程。

2.7.2 实验要求

按照实验步骤完成实验项目,掌握数据打入指令寄存器IR1、PC计数器的重置,PC计数器自动加1和实现跳转指令的方法。

2.7.3 实验说明

2.7.3.1 指令部件模块实验的构成:

1、 1片74LS374作为指令模块的指令寄存器IR1,另1片74LS374作为地址锁存器IR2。

8芯插座PC-IN作为数据输入端,可通过短8芯扁平电缆把数据输入端连接到数据总线上。

2、 2片74LS161作为PC计数器。

3、 2片74LS245(同时只有1片输出)作为当前地址的输出。8芯插座PC-OUT作为地

址输出端,可通过短8芯扁平电缆把地址输出端连接到地址总线上。 4、 1片74LS153来实现多种条件跳转指令(JZ,JC,JMP等跳转指令)。

27

图2-7-1

2.7.3.2 指令部件模块原理:(如图2-7-2)

1、 指令寄存器IR1(74LS374)的 EIR1为低电平并且IR1CK有上升沿时,把来自数据

总线的数据打入IR1,IR1的输出就作为本系统内的8位指令I0~I7。在本系统内由这8位指令可最多译码256条不同的指令,通过编码可对应出这些指令在微程序存储器中入口地址,并且输出相应的微指令。

2、 2片74LS161组成了PC计数器,它由信号ELP、信号PC-O、脉冲PCCK来控制PC

计数器+1和PC计数器置数操作。在停机状态下,由控制台置起始地址,给出打入脉冲并置入74LS161。当ELP=0,PCCK有上升沿时可重新置PC值。当PCO=0、ELP=1, PCCK是上升沿时把当前PC计数器加1,并且把PC计数器的值作为地址输出到地址总线上。

3、 置EIR2为低电平,并且IR2CK有上升沿时,数据总线的数据打入IR2锁存器后,置

IR2-O=0,PC-O=1时,把IR2的值作为地址输出到地址总线上。

4、 74LS153是4选1的芯片,可通过JS0、JS1来选择用JC还是JZ来实现条件跳转的指

令 JS1 JS0 功 能 0 0 选择JZ 当通用寄存器为0时跳转 0 1 选择JC 当进位寄存器为0时跳转 1 0 选择JN 提供给用户自定义,JN=0跳转 1 1 重新设置当前PC指针,实现JMP指令

2.7.4 实验步骤

? 在启停单元中按“运行”按钮,使实验平台处于运行状态。

? 把EIR1,EIR2,PC-O,IR2-O,ELP,JS0,JS1接入二进制拨位开关中。把IR1CK

和IR2CK接入脉冲单元PLS1,PCCK接入PLS2中。用长8位扁平电缆把PC-IN与CPT-B板上的二进制开关单元中J03相连(对应二进制开关H0~H7),PC-OUT用短8

位扁平电缆连接地址总线AJ1,其他控制信号请按下表接线。

信号定义 接入开关位号 IR1CK PLS1 孔 IR2CK PLS1 孔 PCCK PLS2 孔 EIR1 H20 孔 EIR2 H19 孔 IR2-0 H18 孔 PC-O H17 孔 ELP H16 孔 JS0 H15 孔 JS1 H14 孔 JZ H13 孔

图2-7-2

实验1、PC计数器置数

? 二进制开关H0~H7作为数据输入,置05H(对应开关如下表)。 H7 H6 H5 H4 H3 H2 H1 H0 数据总线值 D7 D6 D5 D4 0 0 0 0 ? 置控制信号如下: H20 H19 H18 D3 0 D2 1 H17 D1 0 H16 D0 1 8位数据 05H H15 H14 EIR1 EIR2 IR2-O PC-O ELP JS0 JS1 1 0 1 1 0 1 1 ? 按启停单元中的运行按键,使实验平台处于运行状态。 ? 按脉冲单元中的PLS1脉冲按键,在IR2CK上产生一个上升沿,把当前数据总线数据

打入IR2锁存器,按脉冲单元中的PLS2脉冲按键,在PCCK上产生一个上升沿,将IR2锁存器中的地址打入PC计数器(2片74LS161)中,这样的操作过程可实现无条件跳转指令。若要观测输出结果,再置信号PC-O=0,此时PC计数器把其内容作为地址输出到地址总线上,地址总线上的指示灯IAB0~IAB7应显示05H。 实验2、PC计数器加1

? 完成实验1后,重置各控制信号如下: H20 H19 H18 H17 H16 H15 H14 EIR1 EIR2 IR2-O PC-O ELP JS0 JS1 1 1 1 0 1 1 1 ? 按脉冲单元中的PLS2脉冲按键,在PCCK上产生一个上升沿,因PC-O=0,PC计数

器将加1,PC计数器为06H,并且输出至地址总线。此时地址总线上的指示灯IAB0~IAB7应显示06H。 实验3、置当前指令寄存器

? 二进制开关H0~H7作为数据输入,置5FH(对应开关如下表)。 H7 H6 H5 H4 H3 H2 H1 H0 数据总线值 D7 D6 D5 D4 0 1 0 1 ? 置控制信号如下: H20 H19 H18 D3 1 D2 1 H17 D1 1 H16 D0 1 8位数据 5FH H15 H14 EIR1 EIR2 IR2-O PC-O ELP JS0 JS1 0 1 1 1 1 0 0 ? 按启停单元中的运行按键,使实验平台处于运行状态。 ? 按脉冲单元中的PLS1脉冲按键,在IR1CK上产生一个上升沿,把当前数据总线数据

5FH打入IR1锁存器,表示当前运行的指令码为5FH。此时指令寄存器的指示灯I0~I7应显示5FH。

2.8 时序与启停实验

2.8.1实验目的

1. 掌握时序产生器的组成方式 2. 熟悉起停电路的原理

2.8.2 实验要求

按照实验步骤完成实验项目,了解程序如何开始、停止运行,用示波器观察时序,并且画出时序图。

2.8.3 实验说明

2.8.3.1 时序与启停单元的构成:

1、 启停电路由1片7474、1片

74LS08组成,1个LED(RUN)表示当前实验平台的状态(运行LED亮、停止LED灭)。(如图2-8-1) 2、 时序电路由1片74LS157、2

片74LS00、4个LED脉冲指示灯(PLS1、PLS2、PLS3、PLS4)组成。当LED发光时,表示有上升沿产生。(如图2-8-2)

图2-8-1

图2-8-2

2.8.3.2 启停、脉冲单元的原理:

启停原理:(如图:2-8-3)

起停电路由1片7474组成,当按下RUN按钮,信号输出RUN =1、STOP=0,表示当

前实验平台为运行状态。当按下STOP按钮,信号RUN =0、 信号STOP=1,表示当前实验平台为停止状态。当系统处于停机状态时,微地址、进位寄存器都被清零,并且可通过监控单元来读写内存和微程序。在停止状态下,当HALT上有1个高电平,同时HCK有1个上升沿,此时高电平被打入寄存器中,信号RUN =1、STOP=0,使实验平台处于运行状态。

图2-8-3

时序电路:

时序电路由监控单元来控制时序输出(PLS1、PLS2、PLS3、PLS4)。实验所用的时序电路(如图2-8-4)可产生4个等间隔的时序信号PLS1、PLS2、PLS3、PLS4。为了便于监控程序流程,由监控单元输出PO信号和SIGN脉冲来实现STEP(微单步) 、GO(全速)和 HALT(暂停)。当实验平台处于运行状态,并且是微单步执行,PLS1、PLS2、PLS3、PLS4 分别发出一个脉冲,全速执行时PLS1、PLS2、PLS3、PLS4脉冲将周而复始的发送出去。在时序单元中也提供了4个按钮,实验者可手动给出4个独立的脉冲,以便实验者单拍调试模型机。

图2-8-4

2.8.4 实验步骤:

? 交替按下“运行”和“暂停”,观察运行灯的变化(运行:RUN亮 暂停:RUN灭)。 ? 把HALT信号接入二进制拨位开关,HCK接入脉冲单元的PLS1。(请按下表接线)。

信号定义 接入开关位号 HCK PLS1 孔 HALT H13 孔 ? 按启停单元中的停止按键,使实验平台处于停机状态,置HALT=1。 ? 按脉冲单元中的PLS1脉冲按键,在HCK上产生一个上升沿的脉冲,把HALT=1打入

74LS74,使RUN=1、STOP=0,RUN亮表示当前实验平台处于运行状态。 ? 在实验平台处于运行状态时,置HALT=0。 ? 按脉冲单元中的PLS1脉冲按键,在HCK上产生一个上升沿的脉冲,把HALT=0打入

74LS74,使RUN=0、STOP=1,RUN灭表示当前实验平台处于停止状态。因此可通过HALT和HCK来控制实验平台的启、停状态。

? 按启停单元中的停止按键,使实验平台处于停机状态,置HALT=1。再次按下脉冲单

元中的PLS1脉冲按键,使实验平台处于运行状态。此时按监控单元中键盘上的GO/STOP键,置PC=00,运行程序。请用示波器观察PLS1、PLS1、PLS3、PLS4的波形(见后图2-9-2)。

2.9 模型机的总体设计

2.9.1 实验目的

1、 掌握了各个单元模块的工作原理,进一步将其组成完整的系统,构造成1台基本的模

型计算机。

2、 在本试验中,我们将规划读写内存、寄存器、数值计算等功能,并且编写相应的微程

序。请具体上机调试各个模块单元以便进一步掌握整机的概念。 2.9.2 实验原理

在各个模块实验中,各模块的控制信号都是由实验者手动模拟产生的。而在真正

的实验系统中,模型机的运行是在微程序的控制下,实现特定指令的功能。在本实验平台中,模型机从内存中取出、解释、执行机器指令都将由微指令和与之相配合的时序来完成,即1条机器指令对应1个微程序。

2.9.3 模型机的总体设计

2.9.3.1 设计整机逻辑框图

根据设计要求,对实验仪硬件资源进行逻辑组合,便可设计出该模型机的整机逻辑框图。如图2-9-1是较典型的实验计算机整机逻辑框图。

简单的模型计算机是由算术逻辑运算单元、微程序单元、堆栈寄存器单元、累加器、启停、时序单元、总线和存储器单元组成。

在模型机中,我们将要实现RAM的读写指令,寄存器的读写指令,跳转指令,ALU的加、减、与、或指令。把通用寄存器作为累加器A,进行左、右移等指令,整体构成一个单累加器多寄存器的系统。

图2-9-1

2.9.3.2 设计指令系统

本实验平台内采用的是8位数据总线和8位地址总线方式,在设计指令系统时,应考虑有哪几种类型的指令,哪几种寻址方式和编码方式。 2.9.3.2.1 指令类型:

1、算术/逻辑运算类指令:

如:加法、减法、取反、逻辑运算 ADD A,Ri,SUB A,Ri 2、移位操作类指令:

带进位或不带进位的移位指令。 RRC A,RR A 3、数据传送类指令:

CPU内部寄存器之间数据传递 MOV A,Ri MOV Ri,A 4、程序跳转指令

跳转指令分为无条件跳转指令和有条件跳转指令。可根据寄存器内容为零来标志(ZD)、有无进位来标志(CY),也可根据用户自定义标志。

JMP addr 无条件跳转 JZ addr ZD=0 时跳转 JC addr CY=0 时跳转 JN addr 自定义 5、存储器操作类指令

存储器读/写指令。把内存某单元内容写入寄存器中或把寄存器中的内容写入存储器。如:

LDA addr (addr)->A STA addr (A)->addr

2.9.3.2.2 操作数寻址方式及编码 1、直接地址寻址:

如:双字节指令

LDA addr (addr)->A STA addr (A)->addr

第1字节 第2字节 I7 I6 I5 I4 I3 I2 I1 I0 A7 A6 A5 A4 A3 A2 操作码 操作数地址addr A1

2、寄存器直接寻址:

指令字节中含有寄存器选择码,决定选哪个寄存器进行操作。 如:单字节指令

MOV A,Ri (Ri)->A 单字节 I7 I6 I5 I4 I3 操作码与Ri选择码

I2 I1 I0 如:双字节指令

MOV Ri,#data data->Ri

第1字节 第2字节 I7 I6 I4 I3 I2 I1 I0 D7 D6 D5 D4 D3 D2 D1 D0 操作码及Ri选择码 data

3、寄存器间接寻址

如:单字节指令:

MOV A,@Ri (Ri)->A Ri选择码 I7 I6 I5 I4 I3 操作码

I2 I1 I0

4、立即数寻址

如: MOV A,#data data->A

MOV Ri,#data data->Ri

第1字节 第2字节 I4 I3 I2 I1 I0 D7 D6 D5 D4 D3 D2 D1 D0 操作码及Ri选择码 data I7 I6 I5 2.9.4 设计微程序及其实现方法 在本实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至多可有24个微操作控制信号,可由微代码直接实现。如果采用多组编码译码,那么24位微代码通过二进制译码可实现2 n个互斥的微操作控制信号。 由于模型机指令系统规模较小,功能也不太复杂,所以采用全水平不编码纯控制场的微指令格式。在模型机中,用指令操作码的高4位作为核心扩展成8位的微程序入口地址 MD0~MD7,这种方法称为“按操作码散转”(如下表所示)。

MD7 0 MD6 0 MD5 I7 微程序首地址形成 MD4 MD3 I6 I5 MD2 I4 MD1 1 MD0 1 按操作码散转 指令操作码 微程序首地址 I4 MD1、MD0 MD7~MD0 MD7、MD6 I7 I6 I5 0 0 0 0 0 1 003H 0 0 0 0 1 1 007H 0 0 0 1 0 1 00BH 0 0 0 1 1 1 00FH 0 0 1 0 0 1 013H 0 0 1 0 1 1 017H 0 0 1 1 0 1 01BH 0 0 1 1 1 1 01FH 0 1 0 0 0 1 023H 0 1 0 0 1 1 027H 0 1 0 1 0 1 02BH 0 1 0 1 1 1 02FH 0 1 1 0 0 1 033H 0 1 1 0 1 1 037H 0 1 1 1 0 1 03BH 0 1 1 1 1 1 03FH 每条指令由不超过4条的微指令组成,那么可根据下表组成每条微程序的首地址。微指令的运行顺序为下地址确定法,即采用计数增量方法,每条微指令执行过后微地址自动加1,指向下一条微指令地址。例如:确定了一条程序的微程序入口地址为07H,那么当执行完07H这条微指令后微地址加1,指向08H微地址。微地址寄存器由2片74LS161组成,当模型机在停止状态下,微地址被清零。当实验平台开始运行时,微地址从00H开始运行。且00H放置一条取指指令,根据程序开始地址从内存中读出第一条指令。 00 取指微指令 01 02 03 减法指令微程序(1) 04 减法指令微程序(2) 05 06 07 MOV指令微程序(1) 08 MOV指令微程序(2) 09 MOV指令微程序(3) 0A 0B 0C 0D 0E 0D 。。。 。。。

2.9.5 设计实验平台运行中时序安排

由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,微程序的入口地址采用操作码散转方式,微地址采用计数增量方式,所以可确定模型机中时序单元中所产生的每一拍的作用。

在本实验中为了让实验者更好地观察实验的各个中间过程中各寄存器的值,由监控单元产生一个PLS-O的信号来控制时序产生(如图2-9-2)。PLS-O信号经过时序单元的处理产生了4个脉冲信号。4个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲。

图2-9-2

PLS1: 微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。 PLS2: PC 计数器的工作脉冲,根据微指令的控制实现PC 计数器加1和重置PC 计数器(跳转指令)等功能。

PLS3: 把24位微指令打入3片微指令锁存器。

PLS4: 把当前总线上的数据打入微指令选通的寄存器中。

2.9.6 设计指令执行流程 根据模型机整机逻辑图和目前硬件条件来设计指令系统中每条指令的执行流程。在每个系统中,一条指令从内存取出到执行完毕,需要若干个机器周期,任何指令中都必须有一个机器周期作为“取指令周期”,称为公操作周期。而一条指令共需几个机器周期取决于指令在机器内实现的复杂程度。

对于微程序控制的计算机,在设计指令执行流程时,要保证每条微指令所含的微操作的必要性和合理性,还应知道总线IAB,IDB,OAB,ODB仅是传输信息的通路,没有寄存信息的功能,而且必须保证总线传输信息时信息的唯一性。 以下描述取指微指令执行过程:

在模型机处于停机状态时,模型机的微地址寄存器被清零,微指令锁存器输出无效(为高)。在处于停机状态时,脉冲PLS1对微地址寄存器(74LS161)无效,微地址寄存器保持为零。脉冲PLS2对PC 计数器无效,同时PLS2把HALT=1打入启停单元中的运行状态寄存器(74LS74)中,把模型机置为运行状态,使微程序锁存器输出有效。PLS3把微程序存储器00H单元(00H单元存放着取指微指令)中的内容打入微指令锁存器中,并且输出取指微指令。PLS4把从程序存储器中读出的数据打入指令寄存器中。

在模型机处于运行状态时,脉冲PLS1将微地址寄存器(74LS161)加1,脉冲PLS2

本文来源:https://www.bwwdw.com/article/oiog.html

Top