计算机组成原理实验:系统总线与系统接口

学生实验报告

实验课名称:计算机组成原理
实验项目名称:系统总线与系统接口

一、实验名称:

(1)系统总线和具有基本输入输出功能的总线接口实验
(2)具有中断控制功能的总线接口实验
(3)具有DMA控制功能的总线接口实验

二、实验目的:

1)系统总线和具有基本输入输出功能的总线接口实验
(1)理解总线的概念及其特性。
(2)掌握控制总线的功能和应用。
2)具有中断控制功能的总线接口实验
(1)掌握中断控制信号线的功能和应用
(2)掌握在系统总线上设计中断控制信号线的方法
3)具有DMA控制功能的总线接口实验
(1)掌握DMA控制信号线的功能和应用
(2)掌握在系统总线上设计DMA控制信号线的方法

三、实验要求:

总线是计算机中连接各个功能部件的纽带,是计算机各部件之间进行信息传输的公共通路。总线不只是一组简单的信号传输线,它还是- -组协议。分时与共享是总线的两大特征。所谓共.享,在总线上可以挂接多个部件,它们都可以使用这一信息通路来和其他部件传送信息。所谓分时,同一总线在同一时刻,只能有一个部件占领总线发送信息,其他部件要发送信息得在该部件发送完释放总线后才能申请使用。总线结构是决定计算机性能、功能、可扩展性和标准化程度的重要因素。本章安排了三个实验:系统总线和具有基本输入输出功能的总线接口实验、具有中断控制功能的总线接口实验和具有DMA控制功能的总线接口实验。

四、实验内容:

1)系统总线和具有输入输出功能的总线接口实验
由于存储器和输入、输出设备最终是要挂接到外部总线上,所以需要外部总线提供数据信号、地址信号以及控制信号。在该实验平台中,外部总线分为数据总线、地址总线、和控制总线,分别为外设提供上述信号。外部总线和CPU内总线之间通过三态门连接,同时实现了内外总线的分离和对于数据流向的控制。地址总线可以为外部设备提供地址信号和片选信号。由地址总线的高位进行译码,系统的I/O地址译码原理见图4-1-1 (在地址总线单元)。由于使用A6、A7进行译码,I/O 地址空间被分为四个区,如表4-1-1所示:
《计算机组成原理实验:系统总线与系统接口》

为了实现对于MEM和外设的读写操作,还需要一个读写控制逻辑,使得CPU能控制MEM和I/O设备的读写,实验中的读写控制逻辑如图4-1-2所示,T3的参与,可以保证写脉宽与T3-致,T3由时序单元的TS3给出(时序单元的介绍见附录2)。IOM用来选择是对I/O设备还是对MEM进行读写操作,IOM=1 时对I/O设备进行读写操作,IOM=0时对MEM进行读写操作。RD=1时为读,WR=1时为写。
《计算机组成原理实验:系统总线与系统接口》

在理解读写控制逻辑的基础上我们设计一个总线传输的实验。它将几种不同的设备挂至总线上,有存储器、输入设备、输出设备、寄存器。这些设备都需要有三态输出控制,按照传输要求恰当有序的控制它们,就可实现总线信息传输。
《计算机组成原理实验:系统总线与系统接口》

2)具有中断控制功能的总线接口实验
为了实现中断控制,CPU必须有一个中断使能寄存器,并且可以通过指令对该寄存器进行操作。设计下述中断使能寄存器,其原理如图4-2-1所示。其中EI为中断允许信号,CPU开中断指令STI对其置1,而CPU关中断指令CLI对其置0。每条指令执行完时,若允许中断,CPU给出开中断使能标志STI,打开中断使能寄存器,EI有效。EI 再和外部给出的中断请求信号一起参与指令译码,使程序进入中断处理流程。本实验要求设计的系统总线具备有类X86的中断功能,当外部中断请求有效、CPU允许响应中断,在当前指令执行完时,CPU将响应中断。当CPU响应中断时,将会向8259发送两个连续的INTA号,请注意,8259是在接收到第一个INTA信号后锁住向CPU的中断请求信号INTR (高电平有效),并且在第二个INTA信号到达后将其变为低电平(自动EOI方式),所以,中断请求信号IR0应该维持一段时间,直到CPU发送出第一个INTA信号,这才是一个有效的中断请求。8259 在收到第二个INTA信号后,就会将中断向量号发送到数据总线,CPU读取中断向量号,并转入相应的中断处理程序中。在读取中断向量时,需要从数据总线向CPU内总线传送数据。所以需要设计数据缓冲控制逻辑,在INTA信号有效时,允许数据从数据总线流向CPU内总线。其原理图如图4-2-2所示。其中RD为CPU从外部读取数据的控制信号。
《计算机组成原理实验:系统总线与系统接口》

在控制总线部分表现为当CPU开中断允许信号STI有效、关中断允许信号CLI无效时,中断标志EI有效,当CPU开中断允许信号STI无效、关中断允许信号CLI有效时,中断标志EI无效。EI无效时,外部的中断请求信号不能发送给CPU。
3)具有DMA控制功能的总线接口实验
有一类外设在使用时需要占用总线,其中的典型代表是DMA控制机。在使用这类外设时,总线的控制权要在CPU和外设之间进行切换,这就需要总线具有相应的信号来实现这种切换,避免总线竞争,使CPU和外设能够正常工作。下面以DMA操作为例,设计相应的总线控制信号线。实验原理图如图4-3-1所示。
《计算机组成原理实验:系统总线与系统接口》

进行DMA操作时,外设向DMAC(DMA控制机)发出DMA传送请求,DMAC通过总线上的HOLD信号向CPU提出DMA请求。CPU在完成当前总线周期后对DMA请求做出响应。CPU的响应包括两个方面,一方面让出总线控制权,一方面将有效的HALD信号加到DMAC 上,通知DMAC可以使用总线进行数据传输。此时DMAC进行DMA传输,传输完成后,停岣CPU发HOLD信号,撤消总线请求,交还总线控制权。CPU在收到无效的HOLD信号后,一方面使HALD无效,另一方面又重新开始控制总线,实现正常的运行。
如图4-3-1 所示,在每个机器周期的T4时刻根据HOLD信号来判断是否有DMA请求,如果有,则产生有效的HALD信号,HALD信号-方面锁死CPU的时钟信号,使CPU保持当前状态,等待DMA操作的结束。另-方面使控制缓冲、数据缓冲、地址缓冲都处于高阻状态,隔断CPU与外总线的联系,将外总线交由DMAC控制。当DMA操作结束后,DMAC将HOLD信号置为无效,DMA控制逻辑在T4时刻将HALD信号置为无效,HALD信号一方面打开CPU的时钟信号,使CPU开始正常运行。另一方面把控制缓冲、数据缓冲和地址缓冲交由CPU控制,恢复CPU对总线的控制权。

五、实验设备及工具:

PC机一台,TD-CMA实验系统一套

六、实验过程详述:

1)系统总线和具有输入输出功能的总线接口实验
1.读写控制逻辑设计实验。
(1) 按照图4-1-4实验接线图进行连线。
《计算机组成原理实验:系统总线与系统接口》

(2)具体操作步骤图示如下:
首先将时序与操作台单元的开关KKl、KK3置为‘运行’档,开关KK2置为‘单拍’档,按动CON单元的总清按钮CLR,并执行下述操作。
①对MEM进行读操作(WR=0, RD=1, IOM=0),此时E0灭,表示存储器读功能信号有效。
②对MEM进行写操作(WR=1, RD=0, IOM=0),连续按动开关ST,观察扩展单元数据指示灯,指示灯显示为T3时刻时,E1灭,表示存储器写功能信号有效。
③对I/O进行读操作(WR=0, RD=1, IOM=1),此时E2灭,表示I/O读功能信号有效。
④对I/O进行写操作(WR=1, RD=0, IOM=1),连续按动开关ST,观察扩展单元数据指示灯,指示灯显示为T3时刻时,E3灭,表示I/O写功能信号有效。
2.基本输入输出功能的总线接口实验。
(1)根据挂在总线上的几个基本部件,设计一个简单的流程:
①输入设备将-一个数打入RO寄存器。
②输入设备将另一个数打入地址寄存器。
③将R0寄存器中的数写入到当前地址的存储器中。
④将当前地址的存储器中的数用LED数码管显示。
(2)按照图4-1-5实验接线图进行连线。
(3)具体操作步骤图示如下:
进入软件界面,选择菜单命令“[实验] – [简单模型机]”,打开简单模型机实验数据通路图。将时序与操作台单元的开关KK1、KK3置为‘ 运行’档,开关KK2置为‘单拍’档,CON单元所有开关置0 (由于总线有总线竞争报警功能,在操作中应当先关闭应关闭的输出开关,再打开应打开的输出开关,否则可能由于总线竞争导致实验出错),按动CON单元的总清按钮CLR,然后通过运行程序,在数据通路图中观测程序的执行过程。
①输入设备将11H打入R0寄存器。
将IN单元置00010001,K7置为1,关闭R0寄存器的输出;K6置为1,打开RO寄存器的输入; WR、RD、IOM分别置为0、1、1,对IN单元进行读操作; LDAR置为0,不将数据总线的数打入地址寄存器。连续四次点图形界面上的“单节拍运行”按扭(运行一个机器周期),观察图形界面,在T4时刻完成对寄存器R0的写入操作。
②将R0中的数据11H打入存储器01H单元。
将IN单元置00000001 (或其他数值)。K7置为1,关闭RO寄存器的输出; K6置为0,关闭R0寄存器的输入; WR、RD、IOM分别置为0、1、1,对IN单元进行读操作; LDAR置为1,将数据总线的数打入地址寄存器。连续四次点击图形界面上的“单节拍运行”按扭,观察图形界面,在T3时刻完成对地址寄存器的写入操作。先将WR、RD、IOM分别置为1、0、0,对存储器进行写操作;再把K7置为0,打开R0寄存器的输出; K6置为0,关闭RO寄存器的输入; LDAR 置为0,不将数据总线的数打入地址寄存器。连续四次点击图形界面上的“单节拍运行”按扭,观察图形界面,在T3时刻完成对存储器的写入操作。
2)具有中断控制功能的总线接口实验
(1)按照图4-2-3实验接线图进行连线。
《计算机组成原理实验:系统总线与系统接口》

(2)具体操作步骤图示如下:
①对总线进行置中断操作(K6=1, K7=0),观察控制总线部分的中断允许指示灯EI,此时EI亮,表示允许响应外部中断。按动时序与操作台单元的开关KK,观察控制总线单元的指示灯INTR,发现当开关KK按下时INTR变亮,表示总线将外部的中断请求送到CPU。
②对总线进行清中断操作(K6=0, K7=1),观察控制总线部分的中断允许指示灯EI,此时EI灭,表示禁止响应外部中断。按动时序与操作台单元的开关KK,观察控制总线单元的指示灯INTR,发现当开关KK按下时INTR不变,仍然为灭,表示总线锁死了外部的中断请求。
③对总线进行置中断操作(K6=1, K7=0),当CPU给出的中断应答信号INTA’(K5=0)有效时,使用电压表测量数据缓冲74LS245的DIR (第1脚),显示为低,表示CPU允许外部送中断向量号。3)具有DMA控制功能的总线接口实验
(1)按照图4-3-2实验接线图进行连线。
《计算机组成原理实验:系统总线与系统接口》

(2)具体操作步骤如下:
①将时序与操作台单元的开关KK1、KK3置为‘运行’档,开关KK2置为‘单拍’档,按动CON单元的总清按钮CLR,将CON单元的WR、RD、IOM 分别置为“0”、“1”、 “0”,此时XMRD为低,相应的指示灯E0灭。使用电压表测量数据总线和地址总线左侧的芯片74LS245的使能控制信号(第19脚),发现电压为低,说明数据总线和地址总线与CPU连通。
②然后将CON单元的K7置为1,连续按动时序与操作台单元的开关ST,T4时刻控制总线的指示灯HALD为亮,继续按动开关ST,发现控制总线单元的时钟信号指示灯T1一-T4 保持不变,说明CPU的时钟被锁死。此时XMRD为高阻态,相应的指示灯E0亮。使用万用表测量数据总线和地址总线左侧的芯片74LS245的使能控制信号(第19脚),发现电压为高,说明总线和CPU的连接被阻断。③将CON单元的K7置为0,按动时序与操作台单元的开关ST,当时序信号走到T4时刻时,控制总线的指示灯HALD为灭,继续按动开关ST,发现控制总线单元的时钟信号指示灯T1–T4开始变化,说明CPU的时钟被接通。此时XMRD受CPU控制,恢复有效为低,相应的指示灯E0灭。使用万用表测量数据总线和地址总线左侧的芯片74LS245的使能控制信号(第19脚),发现电压为低,说明总线和CPU恢复连通。

六、实验结果与分析

        在三个不同的实验中,都可以正确的得出运行结果,证明数据传输是没有问题的,三种数据的输入输出方式有着本质上的区别,也就造成了CPU不同的工作效率。

七、心得体会:

        通过这次实验,使得自己对系统总线和总线接口有了更深的了解。总线作为CPU与外设、存储器之间传递数据的“桥梁”,有着举足轻重的作用。在数据/地址多路复用总线上,可以输入输出数据,起着沟通的作用。在不同的总线周期,执行不同的指令操作,总线上也传递着不同的数据。为了使CPU能够具有更高的工作效率,产生了中断这种技术。原来CPU必须不断查询外设,询问其状态,以便在需要的时候运行子程序。但是这种方法特别耗时,CPU一直在查询外设状态,无法执行自己的工作。有了中断之后,CPU可以做着自己的工作,一旦外设发出中断请求,CPU便转向子程序,执行指令,执行完后再回到中断处,这里一来CPU的工作效率大大提高。虽然中断的产生使得CPU在需要的时候执行子程序,但是在传送数据的时候,都是由CPU进行监控,一旦数据量非常大的时候,这时对CPU的负担是非常大的。因为请求都是“外设-CPU-存储器”或者“存储器-CPU-外设”,无论何种方式,CPU都必须无时无刻对每一个数据进行监控。DMA是一直使得数据可以直接从“外设-存储器”或者“存储器-外设”,这样一来,CPU便可以在数据传输过程中,继续执行自己的操作,数据传送过程则由DMA控制。这样一来CPU的工作效率又大大提高了许多。通过这次的三个实验,自己对计算机内部数据传递的方式有了深刻的了解,不同是方式有着不同的优缺点,在不同的需求场合下,需要合理的选择适合的方法。

    原文作者:海轰Pro
    原文地址: https://blog.csdn.net/weixin_44225182/article/details/113741845
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞