总线控制方法、装置和用 于存储总线控制程序的存储介质 本发明一般涉及一种总线控制方法,总线控制装置,还有用于在其中存储总线控制程序的存储介质。特别是,本发明涉及这样一种总线控制方法/系统,这种总线控制方法/系统能够在有多个与总线相连的数据输入/输出装置的控制系统中,根据各自数据输入/输出装置发出的总线分配请求,控制将哪个总线分配给哪一个数据输入/输出装置(存储器,局域网卡,调制解调器等),还涉及用来将总线控制程序存储在其中的存储介质。
上面描述的这种总线控制装置在本领域是熟知的。例如,1994年发表的日本特开专利申请号平-6-332841公开了应用于计算机系统的总线控制装置。即,图12是用来表示该常规计算机系统的内部结构的示意方框图。
这种计算机系统主要由CPU(中央处理单元)1,存储器2,多个数据输入/输出装置3到5,和总线控制装置6组成。这些结构单元通过总线7彼此相连。
在CPU 1和这些数据输入/输出装置3到5(此后将统称为“设备”)请求通过总线7访问存储器2和其它设备的情况下,CPU 1和数据输入/输出装置3到5分别向总线控制装置6发出分配请求信号REQ1到REQ4。结果,为了避免多个设备通过总线7进行同时访问的危险,总线控制装置6确定允许哪一个设备通过总线7进行访问。这时,该总线控制装置6发出分配权限信号6NT1到6NT4给确定的设备。该收到分配权限信号GNT的设备通过总线7访问存储器2,或者另外的设备。当完成该访问操作时,该设备向总线控制装置6发出一个结束信号DON。另外,当总线控制装置6在检测哪一个设备被允许分配使用总线7的过程中检测到错误时,该总线控制装置6向CPU 1发出一个错误信号ERR。
虽然在图中没有给出,总线控制装置6主要由仲裁控制器,仲裁存储器,和历史寄存器构成。
当分配请求信号REQ1到REQ4中的任一个被提供给仲裁控制器时,该仲裁控制器将4位数据(请求位)提供给仲裁存储器作为仲裁存储器地址的低段位。通过将对应于提供的分配请求信号REQ的位设置为“1”来形成该4位请求数据。另一方面,关于各自装置的过去的分配权限历史以先入-先出(FIFO)方式存储到历史寄存器中。在该例中,因为一次只允许分配一个设备,该过去分配权限历史由4组紧邻4位数据的数据构成,即16位数据。通过只将对应于分配权限设备的位设置为“1”来形成该4位数据。该过去分配权限历史被提供给仲裁存储器作为仲裁存储器地址地高段位。
在该仲裁存储器中,存储了多种算法。即,存储了优先顺序分配权限算法和像循环算法这样的其它的分配权限算法。该优先顺序分配权限算法对应于各个设备提供的当前分配请求(请求位)和历史寄存器提供的过去分配权限历史之间的各种组合相。换句话说,该优先顺序分配权限算法意味着,虽然优先顺序以前被提供给多个与总线连接的设备,但是当从多个设备同时发出分配请求信号REQ时,只允许分配给具有最高优先顺序的设备。
另一方面,循环算法对应于这样一种算法,即在完成了一次对所有设备的分配权限之前,当多个设备同时发出分配请求信号REQ时,分配权限被提供给过去没有接收到分配权限的设备。在完成了一次对所有这些设备的分配权限后,在这些设备同时发出分配请求信号REQ的情况下,分配权限被提供给在第一循环最早阶段给予分配权限、同时具有最高优先权的设备。
结果,由于从仲裁存储器中读取了对应于20位数据的分配权限,仲裁存储器根据读取分配权限将分配权限信号GNT提供给这些设备的任一个。这时,通过FIFO方式,当前读取的分配权限被作为最新分配权限存储在历史寄存器中。应该清楚,存储在历史寄存器中的过去的分配权限的一部分可以随着各自的设备而变化。
通过使用这样的结构,仲裁控制器能够以时-时方式接收各自设备发出的分配请求,同时保持它的灵活特性。因此,仲裁控制器能够高效地使用总线。
在上面解释的常规总线控制装置中,作为仲裁存储器地址的高段位,使用彼此紧邻的4组分配权限,而且进一步,作为仲裁存储器地址的低段位,使用各自设备发出的当前的分配请求(请求位)来选择分配权限。在该仲裁存储器中,存储了分配权限算法,然而4组分配权限被存储在历史寄存器中。在本文中,措辞“相互立即提供4组分配权限”表示这样一种记录,即分配被一次允许这些设备的每一个。结果,能够连接到总线的设备总数将限制为仲裁存储器地址的位数。因此,在上面解释的常规总线控制装置中,如此确定这样的一个数量要求的历史寄存器的总位数,即请求位数加上2的设备数次方。需要指出的是,请求的位数等于这些设备的总数。
因此,为了使用户能够自由地将任何设备添加到计算机系统中,即较高的灵活性,要求使用这样具有等于总线连接设备总数的位数的仲裁存储器。进一步,即使增加了一个附加的设备,每一次都应该以指数方式增加历史寄存器的附加存储范围。例如,当总线设计为最多可以连接8组设备时,历史寄存器将要求存储范围能够存储72位数据,而历史寄存器的地址将变为8位,即256字节。在这样的情况下,即使当该用户只将4组设备连接到总线时,也假设现在总线上原则上连接了8组设备,需要的分配权限算法必须预先存储在仲裁存储器中。另外,256字节构成的地址,即8位地址必须连续地提供给该仲裁存储器,导致较低的效率。
另外,在上面解释的常规总线控制装置中,由于使用优先-顺序分配权限算法作为分配权限算法,在系统设计阶段预先确定了设备的优先顺序。结果,当总线7上实际安装了多个设备时,用户必须预见各自设备的优先顺序从而实际上将这些设备连接到该总线7上。然而,在设备已经实际上连接到总线之后,即使当使用条件改变,从具有低优先顺序的设备中发出的分配请求总数大于从具有高优先顺序的其它设备中发出的分配请求总数时,这些设备的优先顺序也不会改变。为避免该困难,必须改变设备与总线的连接以便改变分配请求数增加了的这些设备的优先顺序。这样会导致麻烦操作。
另外,由于使用循环算法作为分配权限算法,偶尔会发生这样的特别现实情况下的问题。即,首先发出分配请求的这样一个设备的优先顺序可能会在过去4个分配请求过程中变为最高优先权。
另外,上面描述的常规总线控制装置中,通过简单地仅仅考虑过去的分配权限历史和当前的分配请求来执行总线分配权限。结果,在从各自设备发出的分配请求快速变化以及/或者某设备被另外的设备替换的这样一种情况下,存在进一步的问题,即该常规总线控制装置不能立刻对这些分配请求和设备连接的突然变化作出响应。
为了解决常规总线控制装置的上述各种问题提出本发明,因此,本发明的一个目的是提供一种总线控制方法,总线控制装置,计算机系统,以及用于存储总线控制程序的存储介质,它们能够立即接收从各种数据输入/输出装置发出的分配请求中的各种变化。
本发明的另一个目的是提供一种总线控制方法,和总线控制装置,它们能够通过简单的结构和没有麻烦的操作有效地处理总线分配请求。
本发明的进一步的目的是提供一种总线控制方法和总线控制装置,它们能够增加连接了多个数据输入/输出装置的总线的使用效率。
为实现上述目的,根据本发明的第一个方面,一种总线控制方法包括下面的步骤:
在预定的时间内对多个多数据输入/输出装置发出的总线分配请求进行计数;
对每一个多数据输入/输出装置发出总线分配请求后,总线分配请求被允许的等待时间进行测量;和
这样进行分配,即在多个数据输入/输出装置连接到至少一条总线时,根据至少一个计数的总线请求数和测量的等待时间,将至少一条总线分配给已经发出总线分配请求的数据输入/输出装置。
为实现上述目的,根据本发明的第二方面,一种总线控制方法包括下面的步骤:
在预定的时间内对多个多数据输入/输出装置发出的总线分配请求进行计数;
对每一个多数据输入/输出装置发出总线分配请求后,总线分配请求被允许的等待时间进行测量;和
这样进行分配,即在多个数据输入/输出装置连接到至少一条总线时,根据至少一个计数的总线请求数和测量的等待时间,将至少一条总线分配给已经发出总线分配请求的数据输入/输出装置。
另外,在根据本发明第一和第二方面的总线控制方法中,通过任意执行至少一个分配请求计数步骤和等待时间测量步骤来构成另一种总线控制方法。
另外,在根据本发明第一和第二方面的总线控制方法中,通过可变的预定时间周期来构成另一种总线控制方法。
另外,在根据本发明第一和第二方面的总线控制方法中,通过在总线分配步骤执行的总线分配临时可变来构成另一种总线控制方法。
另外,在根据本发明第一和第二方面的总线控制方法中,另一种总线控制方法进一步包括这样的步骤,即事先将相对于总线分配权限的优先顺序提供给多个数据输入/输出装置;和不仅仅根据一个计数的分配请求数和测量的等待时间,还根据提供的优先顺序控制数据输入/输出装置的总线分配。
为实现本发明的上述目的,根据本发明第三方面的总线控制系统包括:
连接到至少一条总线的多个数据输入/输出装置,用来发出多个总线分配请求;
用于在预定的时间周期内对多个数据输入/输出装置发出的总线分配请求计数的多个计数装置;和
总线控制装置,它用来至少根据从多个计数装置得到的计数的总线分配请求数量来控制将总线分配给哪一个数据输入/输出装置。
为实现本发明的上述目的,根据本发明第四方面的总线控制系统包括:
连接到至少一条总线的多个数据输入/输出装置,用来发出多个总线分配请求;
对多个数据输入/输出装置发出多个总线分配请求后,直到总线分配请求被允许的多个等待时间进行测量的多个等待时间测量电路;和
总线控制装置,它用来至少根据从多个等待时间测量电路得到的测量的等待时间来控制将总线分配给哪一个数据输入/输出装置。
另外,在根据本发明第三和第四方面的总线控制系统中,另一种总线控制系统进一步包括:
协议选择模式产生装置,它用来产生表示选择的总线分配协议的协议选择模式数据;和
协议控制装置,它用来将多个计数的总线分配请求数相互比较来产生顺序数据,还用来根据顺序数据和协议选择模式数据来产生总线分配权限数据,从而:
总线分配控制装置根据总线分配权限数据控制将总线分配给数据输入/输出装置。
另外,在根据本发明第三和第四方面的总线控制系统中,另一种总线控制系统的特点是,协议选择模式产生装置是用来存储协议选择模式数据的协议选择模式寄存器;和
协议选择模式数据能够选择特有的协议。
另外,在根据本发明第三和第四方面的总线控制系统中,另一种总线控制系统进一步包括:
比较电路,它用来将通过多个计数装置得到的计数的总线分配请求数相互比较;和
分配协议数据产生电路,它用来处理比较过的总线分配请求数据和协议选择模式数据,从而产生分配协议数据。
另外,在根据本发明第三和第四方面的总线控制系统中,另一种总线控制系统的特点是,总线分配控制装置至少包括:
一个分配请求判断电路,用来根据从多个数据输入/输出装置发出的总线分配请求判断要求哪一个协议,从而产生一个协议选择信号;
一个分配协议产生电路,用来根据协议选择信号产生一条总线分配协议;和
一条总线分配权限数据产生电路,用来根据总线分配协议来产生总线分配权限数据,从而:
总线分配控制装置根据总线分配权限数据控制将总线分配给数据输入/输出装置。
另外,在根据本发明第三和第四方面的总线控制系统中,另一种总线控制系统的特点是具有用来预先存储协议更换循环值的协议更换循环设置寄存器;和
一个计时器,它当协议更换循环值被加载到计时器中时开始时钟计时操作,当时钟计时操作达到预选计时值时,还用于将溢出信号提供给多个计数装置。
另外,在根据本发明第三和第四方面的总线控制系统中,另一种总线控制系统进一步包括:
优先顺序提供装置,用来将对应于总线分配权限的优先顺序事先提供给多个数据输入/输出装置;从而:
总线分配控制装置不但根据计数的总线分配请求数,还根据提供的优先顺序控制总线分配权限。
另外,在根据本发明第三和第四方面的总线控制系统中,另一种总线控制系统的特点是,从存储器,显示器,键盘,声卡,调制解调器,显示卡,和LAN(局域网)卡中选择数据输入/输出装置。
进一步,为实现上面解释的目的,根据本发明第五方面的计算机系统包括:
至少一条总线;
连接到至少一条总线的多个数据输入/输出装置,它用来发出多个总线分配请求;
总线控制装置包括:在预定的时间周期内对多个数据输入/输出装置发出的总线分配请求进行计数的多个计数装置;和总线分配控制装置,它用来至少根据由多个计数装置得到的计数的总线分配请求数来控制将总线分配给哪一个数据输入/输出装置。
用来至少控制总线分配控制装置的CPU(中央处理单元)。
进一步,为实现上面解释的目的,根据本发明第六方面的计算机系统包括:
至少一条总线;
连接到至少一条总线的多个数据输入/输出装置,它用来发出多个总线分配请求;
总线控制装置包括:对多个数据输入/输出装置发出多个总线分配请求后,直到总线分配请求被允许的多个等待时间进行测量的多个等待时间测量电路;和总线分配控制装置,它至少根据从多个等待时间测量电路测量的等待时间控制将总线分配个哪一个数据输入/输出装置;以及
用来至少控制总线分配控制装置的CPU。
为实现上述目的,根据本发明第七方面的存储介质是这样一种存储介质,它用来存储总线控制程序,该程序使计算机执行下面的总线控制步骤:
在预定的时间周期内对多个多数据输入/输出装置发出的总线分配请求进行计数;
测量每一个多数据输入/输出装置发出总线分配请求后,直到总线分配请求被允许的等待时间;和
在多个数据输入/输出装置连接到至少一条总线时,根据至少一个计数的总线分配请求数和测量的等待时间,将至少一条总线分配给已经发出总线分配请求的哪一个数据输入/输出装置。
为实现上述目的,根据本发明第八方面的存储介质是这样一种存储介质,它用来存储总线控制程序,该程序使计算机执行下面的总线控制步骤:
在预定的时间周期内对多个多数据输入/输出装置发出的总线分配请求进行计数;
测量每一个多数据输入/输出装置发出总线分配请求后,直到总线分配请求被允许的等待时间;和
在多个数据输入/输出装置连接到至少一条总线时,根据计数的总线分配请求数和测量的等待时间,将至少一条总线分配给已经发出总线分配请求的哪一个数据输入/输出装置。
如前面的详细描述,根据本发明,能够使用简单的结构构成总线控制系统,并且还能够高效地进行操作。进一步,本发明的总线控制系统即使当各自数据输入/输出装置发出多个分配请求时,也能够以较高的适应性快速操作。结果,能够增加总线的使用效率。
通过下面结合附图的描述,本发明的上面以及其它目的,优点和特性将更加明显。
图1是表示根据本发明第一实施例的总线控制装置的内部结构的示意方框图;
图2简要给出了使用第一实施例的总线控制装置的计算机系统的内部结构;
图3是解释根据固定顺序分配协议的优先顺序提供操作的一个例子的解释图;
图4是解释根据可变顺序分配协议的优先顺序提供操作的一个例子的解释图;
图5是用于表示在根据第一实施例的总线控制装置中使用的协议控制电路的内部结构的示意方框图;
图6是用于表示在根据第一实施例的总线控制装置中使用的分配控制电路的内部结构的示意方框图;
图7是用于描述图6中所示分配控制电路的操作的流程图;
图8是用于表示根据本发明第二实施例的总线控制装置的内部结构的示意方框图;
图9是用于表示根据本发明第三实施例的总线控制装置的内部结构的示意方框图;
图10是用于表示在第三实施例的总线控制装置中使用的分配控制电路的内部结构的示意方框图;
图11简要表示包括应用本发明的总线控制装置的两个总线的计算机系统的内部结构;和
图12简要表示应用常规总线控制装置的计算机系统的内部结构。
参照附图,将使用具体的例子描述本发明的各种优选实施例。
第一实施例综述
图1是表示根据本发明第一实施例的总线控制装置的内部结构的示意方框图。图2简要给出了使用第一实施例的总线控制装置的计算机系统的内部结构。
如图2所示,该计算机系统主要由CPU(中央处理单元)11,存储器12,总线控制装置13,显示器14,键盘15,声卡16,调制解调器17,和显示卡18组成。
CPU 11连接到总线控制装置13上。存储器12,总线控制装置13,显示器14,键盘15,声卡16,调制解调器17,和显示卡18通过总线19彼此相连。另外,一个插槽20被安装在该总线19上,从而,例如使一个局域网(LAN)卡21通过该插槽20能够与总线19连接。需要理解的是,如果需要,上面所述声卡16,调制解调器17,显示卡18,和局域网卡21在下面提到的说明中将选择性地称为“数据输入/输出装置”。
第一实施例的结构功能
当用于请求总线19的分配的分配请求信号RQ1到RQ4被提供给总线控制装置13,以使一个数据输入/输出装置通过总线19访问存储器12,或者其它数据输入/输出装置时,该总线控制装置13确定哪一个数据输入/输出装置被允许分配给总线19,并且接着将任何一个分配权限信号GNT1到CNT4提供给有关的数据输入/输出装置。
显示器14是一个CRT显示器或者是一个液晶(LCD)显示器。该显示器14在CPU 11的控制下能够显示显示卡18产生的字符,图像,或者图案。键盘15由10键盘和功能键以及按扭等多种键构成。在CPU 11的控制下,声卡16通过总线19访问存储器12来根据存储器12存储的音乐数据产生音乐信号,并且接着由扬声器22重放音乐声音。
另外,在CPU 11的控制下,调制解调器17通过总线19访问存储器12从而通过电话线(未示出)发送调制数据,并且将解调数据存储在存储器12中。通过调制存储在该存储器12中的数据得到调制数据,而解调的数据是通过对从一个外部设备通过电话线发送的调制数据进行调制得到的。
另外,在CPU 11的控制下,显示卡18通过总线19访问存储器12从而根据存储在存储器12中的图像数据产生一个图像,或者图案,并且接着使显示器14显示该产生的图像。LAN卡21通过电缆与其它计算机系统(未示出)相连。在CPU 11的控制下,该LAN卡21通过总线19访问存储器12以便将存储在存储器12中的数据通过电缆(也没有示出)发送给其它的计算机系统。进一步,在CPU 11的控制下,该LAN卡21接收从另一个计算机系统通过电缆发送的数据,并且接着将该接收的数据存储在存储器12中。
还需要注意的是,上面解释的数据输入/输出装置并不是局限与上述声卡16、调制解调器17、显示卡18和LAN卡21,而是能够另外通过例如存储器控制电路来实现。此外,如图2所示,这些数据输入/输出装置并不局限于四组这些设备。
总线控制装置13的内部结构
如图1所示,总线控制装置13主要由计数器311到314构成,协议更换循环设置寄存器32,协议控制电路35,和分配控制电路36构成。
计数器311到314与声卡16、调制解调器17、显示卡18和LAN卡21对应,这些计数器311到314对相应数据输入/输出装置发出的脉冲形式的分配请求信号REQ1到REQ4计数,并且此后将计数值CN1到CN4提供给协议控制电路35。协议更换循环值被CPU 11设置给协议更换循环设置寄存器32。一个协议更换循环值与计时器33计数的系统时钟的时钟脉冲数相对应。该系统时钟表示在哪一个循环更换与总线19的分配权限有关的协议。根据该协议,当某一个条件被满足时,总线19被允许分配给具有最高优先权的数据输入/输出装置。该协议更换循环值在20个时钟脉冲到1000个时钟脉冲的范围内被CPU 11任意更换。从设置给协议更换循环设置寄存器32的协议更换循环值被加载到该计时器33开始,计时器33从0开始每一个系统时钟脉冲地计数系统时钟脉冲。当该计数值变为等于加载的协议更换循环值时,计数器33提供一个溢出信号SOF给计数器311到314,以及协议控制电路35,并且进一步该计数值被复原为0。
在协议选择模式寄存器34中,CPU 11设置协议选择模式PSM。相应于这样数据的该协议选择模式PSM能够指令选择哪一个协议。作为协议,这里提供了固定顺序分配协议和可变顺序分配协议,等待。
优先顺序分配协议
上述固定顺序分配协议相应于这样一种协议,当优先顺序被预先提供给数据输入/输出装置时,不考虑计数值CN1到CN4的不同,预选时间周期每过去一次,都根据有关优先顺序允许总线19的分配。还需注意的是,具体地说,预先提供给数据输入/输出装置的优先顺序表示,这样的优先顺序被提供给安装了计算机系统的数据输入/输出装置的各自端口。另外,优先顺序能够用作识别各自数据输入/输出装置的识别号。结果,如图2所示,在第一(最高)优先顺序被提供给声卡16的情况下,该声卡16被安装在这样的一个端口上,即在计算机系统的多个端口中,该第一优先顺序被提供给该端口。能够简单地将该优先顺序申请提供给其它数据输入/输出装置。
如图3所示,作为固定顺序分配协议,提供了完善型固定顺序分配协议,顺序旋转型固定顺序分配协议和顺序强调型固定顺序分配协议。在该图中,参考号①到④表示优先顺序和提供给数据输入/输出装置的识别号。在该第一实施例中,较高的优先顺序代表较小(较小)号,而第一优先顺序设置为参考号(1)。
在该情况下,如图3(1)所示,完善型固定顺序分配协议对应于这样一个协议,即仅仅根据连续提供给数据输入/输出装置的优先顺序来允许总线19的分配。该完善型固定顺序分配协议适合于应用在这样情况下,即虽然总线19的使用条件在该协议中没有反映,但是要求强调的是这些数据输入/输出装置的优先顺序,而不是总线19的使用条件。另外,如图3(2)所示,顺序旋转型固定顺序分配协议对应于这样一个协议,即在一个时间周期内,以旋转的方式确定数据输入/输出装置,该装置将根据提供给各自数据输入/输出装置的优先顺序被分配优先权。该顺序旋转型固定顺序分配协议适合于这样一种情况,即当提供给各自数据输入/输出装置的优先顺序以及总线19的使用条件只有较小的差别时,不十分强调初始(开始)优先顺序。进一步,如图3(3)所示,顺序强调型固定顺序分配协议对应于这样一个协议,即在一个时间周期内,虽然根据每一个时间周期提供给各自数据输入/输出装置的优先顺序以旋转方式确定第一优先顺序,但是根据预先提供的优先顺序确定在该时间周期内的第二优先顺序和随后的优先顺序。该顺序强调型固定顺序分配协议适合于用在这样的情况,即与顺序旋转型固定顺序分配协议相比,强调各自数据输入/输出装置的初始优先顺序。
上面解释的固定顺序分配协议能够用于这样的一种情况,即总线19相对各自数据输入/输出装置的使用条件不会相对实际的总线使用条件发生很大变化,在实际的总线使用条件下各自数据输入/输出装置的优先顺序必须改变。首先提到的总线使用条件由用户在安装计算机系统时最初预见。
与上面解释的固定顺序分配协议相反,上述可变顺序分配协议可以用于这样的情况,即总线19相对各自数据输入/输出装置的使用条件相对实际的总线使用条件发生很大变化,在实际的总线使用条件下各自数据输入/输出装置的优先顺序必须改变。首先提到的总线使用条件由用户在安装计算机系统时最初预见。换言之,可变顺序分配协议可以用于这样的情况,即新添加像图2所示LAN卡21这样的数据输入/输出装置的情况。
上述可变顺序分配协议对应于这样一种协议,即当优先顺序被预先提供给数据输入/输出装置时,每一次根据计数值CN1到CN4的差别经过一个预选的时间周期后,根据相关的优先顺序允许总线19的分配。如图4所示,作为可变顺序分配协议,提供了完善型可变顺序分配协议,顺序旋转型可变顺序分配协议,顺序强调型可变顺序分配协议,以及复合型可变顺序分配协议。在该图中,参考号①到④表示优先顺序和提供给数据输入/输出装置的识别号,与图3类似。在该第一实施例中,较高的优先顺序代表较小(较小)号,而第一优先顺序设置为参考号(1)。另外,在图4中,进行了下面的假设。即,在特定协议更换循环中,计数值CN1到CN4从CN2,CN4,CN1和CN3的较高顺序开始排序。
在该情况下,如图4(1)所示,完善型可变顺序分配协议对应于这样一个协议,即仅仅根据计数值CN1到CN4来允许总线19的分配,而忽略初始提供给相应数据输入/输出装置的优先顺序。总线19的使用条件能够非常反映该完善型可变顺序分配协议。该协议适合于应用在这样情况下,即总线19的使用条件是偶然发生的,用户不能在安装计算机系统时完全预见它。另外,如图4(2)所示,顺序旋转型可变顺序分配协议对应于这样一个协议,即在奇数时间周期内,以旋转的方式确定数据输入/输出装置,该装置将根据提供给各自数据输入/输出装置的优先顺序被分配优先权(注意具有最大计数值CN的数据输入/输出装置没有被分配第一顺序),而在偶数时间周期内仅仅根据计数值CN1到CN4的差值来进行总线19的分配,从而允许总线19的分配。该顺序旋转型可变顺序分配协议适合于这样一种情况,即虽然要求改变各自数据输入/输出装置的优先顺序,当提供给各自数据输入/输出装置的优先顺序只有较小的差别时,不十分强调初始(开始)优先顺序。
进一步,如图4(3)所示,顺序强调型可变顺序分配协议对应于这样一个协议,即在奇数时间周期内,根据奇数时间周期提供给各自数据输入/输出装置的优先顺序以旋转方式确定第一优先顺序(除了具有最大计数值CN的数据输入/输出装置),并且仅仅根据预先提供的优先顺序确定在该偶数时间周期内的第二优先顺序和随后的优先顺序,更进一步,偶数时间周期内仅仅根据这些计数值CN1到CN4来确定优先顺序,从而允许总线19的分配。在该协议适合于用在这样的情况,即虽然要求改变各自数据输入/输出装置的优先顺序,与顺序旋转型可变顺序分配协议相比,强调各自数据输入/输出装置的初始优先顺序。
如图4(4)所示,复合型顺序可变分配协议对应于这样一个协议,即在奇数时间周期内,根据提供给各自数据输入/输出装置的优先顺序以旋转方式确定奇数时间周期内的第一顺序(除了具有最大奇数值CN的这样的数据输入/输出装置),并且在该奇数时间周期内,仅仅根据计数值CN1到CN4的差别来确定第二优先顺序和它随后的优先顺序,更进一步,偶数时间周期内仅仅根据这些计数值CN1到CN4来确定优先顺序,从而允许总线19的分配。该复合型协议适合于用在这样的情况下,即当各自数据输入/输出装置的优先顺序保持不变时,最大限度地反映了总线19的使用条件。
在上面的解释中,为了解释简单的缘故,在同一时间周期内连续提供所有分配请求信号REQ1到REQ4。然而,在实际情况下,依赖于时间周期,这些提供的分配请求信号REQ的总数是不同的。在这样的实际情况下,低于未提供的分配请求信号REQ的已分配的分配请求信号REQ的顺序依次前移。例如,在图3(1)中分配请求信号REQ2在第一时间周期(左端)没有提供的情况下,在该第一时间周期中的分配请求信号拥有这样的顺序①,③,和④。
协议控制电路35/分配控制电路36的内部结构
如图5所示,图1的第一总线控制装置13中使用的协议控制电路35由比较电路41和分配协议/数据产生电路42构成。比较电路41将每次执行协议更换循环时计数器311到314提供的计数值CN1到CN4互相比较,从而将这些计数值从大到小重新排列。这时,该比较电路41产生表示这些重排的计数值CN顺序的顺序数据“OD”,即该顺序数据OD代表识别号的顺序。分配协议/数据产生电路42根据顺序数据OD和从协议选择模式寄存器34加载的协议选择模式PSM来产生分配协议/数据“APD”,并且接着将该分配协议数据APD提供给分配控制电路36。
如图6所示,另一方面,通过分配请求判断电路51,可变顺序分配协议产生电路52,固定顺序分配协议产生电路53,多路复用器54,和分配权限信号产生电路55构成分配控制电路36。
分配请求判断电路51判断在预选时间周期内提供多少个分配请求信号REQ1到REQ4。当仅仅提供一个分配请求信号REQ时,该分配请求判断电路51提供一个识别号给多路复用器54。该识别号被提供给这样一个数据输入/输出装置,即它提供了该分配请求信号REQ。另外,在提供多个分配请求信号REQ的情况下,分配请求判断电路51提供相对与可变顺序分配协议产生电路52和固定顺序分配协议产生电路53的识别号。需要理解的是,由于在分配权限信号GNT已经输出给这些数据输入/输出装置中的任何一个的情况下,分配请求判断电路51不能允许总线19的双重分配,因此该数据输入/输出装置占据该总线19,即使其它数据输入/输出装置提出分配请求信号REQ,分配请求判断电路51也不会作出反映。
可变顺序分配协议产生电路52包括一个存储单元,用来事先存储上面解释的完善型可变顺序分配协议,顺序强调型可变顺序分配协议,顺序旋转型可变顺序分配协议,和复合型可变顺序分配协议。当包含提供的分配协议数据APD的这样一个协议选择模式PSM指令一个由上述任何可变顺序分配协议确定的分配时,该可变顺序分配协议产生电路52从存储单元中读出指令的可变顺序分配协议。这时,可变顺序分配协议产生电路52在相关的时间周期内,根据读可变顺序分配协议和顺序数据OD确定具有最高优先顺序的识别号,用来在数据输入/输出装置提供的多个识别号中,构成提供的分配协议数据APD。此后,该可变顺序分配协议产生电路52将该确定的识别号提供给多路复用器54。
固定顺序分配协议产生电路53包括用来事先存储上面解释的完善型固定顺序分配协议、顺序强调型固定顺序分配协议、和顺序旋转型固定顺序分配协议的存储单元。当包含提供的分配协议数据APD的这样一个协议选择模式PSM指令一个由上述任何固定顺序分配协议确定的分配时,该固定顺序分配协议产生电路53从存储单元中读出指令的固定顺序分配协议。这时,固定顺序分配协议产生电路53在相关的时间周期内,根据读固定顺序分配协议和顺序数据OD确定具有最高优先顺序的识别号,用来在数据输入/输出装置提供的多个识别号中,构成提供的分配协议数据APD。此后,该固定顺序分配协议产生电路53将该确定的识别号提供给多路复用器54。
多路复用器54在预选的时限,将分配请求判断电路51,可变顺序分配协议产生电路52,或者固定顺序分配协议产生电路53连续提供的识别号,连续提供给分配信号产生电路55。
分配权限信号产生电路55临时产生对应于提供的识别号的分配权限信号GNT,并且接着在预选的时限,将该产生的分配权限信号GNT提供给各自数据输入/输出装置。
使用第一总线控制装置的计算机系统的全面操作
下面,参照图1到图7,将描述使用上述结构的计算机系统的全面操作。
首先,假设下面的初始条件。就是说,用户最近购买了该计算机系统,并且如图2所示,例如,将声卡16,调制解调器17,和显示卡18顺序安装在提供了第一优先顺序到第三优先顺序的端上。另外,用户将显示器14和键盘15通过总线19电连接到该计算机系统。此后,当用户打开该计算机系统的电源时,CPU 11对该计算机系统使用的各种结构单元进行控制操作,例如,CPU 11通过总线控制装置13从存储器12中读取操作系统(OS)软件,以便初始化该计算机系统。
在这种情况下,CPU 11将协议更换循环值和协议选择模式PSM提供给总线控制装置13。开始,假设提供500个时钟脉冲作为协议更换循环值的初始值,并且还提供图3(1)所示完善型固定顺序分配协议作为协议选择模式PSM。接着,500个时钟脉冲作为协议更换循环值被设置到协议更换循环设置寄存器32,并且进一步,将完善型固定顺序分配协议作为协议选择模式PSM设置到协议选择模式寄存器34。
总线控制装置13的总线控制操作
在这样一种情况下,总线控制装置13进行下述的操作:
首先,由于加载了设置在协议更换循环设置寄存器32中的协议更换循环值(在该情况下,现在加载了500个时钟脉冲),所以计时器33从零开始每一个时钟脉冲地计数系统时钟。当计数值等于500个时钟脉冲时,该计时器33提供溢出信号SOF给计计数器311到313,以及协议控制电路35。另外,该计数值被复原为零。计数器311到313对相应的数据输入/输出装置提供的分配请求信号REQ1到REQ3进行计数,并且接着将计数值CN1到CN3提供给协议控制电路35。现在假设在特定协议更换循环(在该情况下,具有500个时钟脉冲的时间周期)中,这些计数值CN1到CN3具有最大值CN2,中间值CN1和最小值CN3。还需要注意的是,在该情况下,由于相应的数据输入/输出装置没有通过总线19连接到计算机系统中,所以相关的计数器314没有操作。
结果,在该协议更换循环中,协议控制电路35的比较电路41顺序地将计数器311到313提供的计数值CN1到CN3进行相互比较,从而以CN2,CN1和CN3这样的顺序重新排列这些计数值CN1到CN3,即较大值顺序。接着,该比较电路41产生顺序数据OD,它表示重排计数值CN的顺序,即该情况下的识别号的顺序,即②,①,和③。
结果,分配协议/数据产生电路42根据顺序数据OD,和从协议选择模式寄存器34加载的协议选择模式PSM来产生分配协议数据APD。接着,该分配协议数据产生电路42将产生的分配协议数据APD提供给分配控制电路36。在该情况下,由于完善型固定顺序分配协议被设置为协议选择模式PSM,所以该分配协议数据产生电路42根据表示②,①,和③的顺序数据OD和代表完善型固定顺序分配协议的协议选择模式PSM来产生分配协议数据APD。这时,分配协议数据产生电路42将该分配协议数据APD提供给分配控制电路36。
分配控制电路36的分配控制
现在参考图7的流程图,将描述分配控制电路36的分配控制操作。
首先,当从像调制解调器17这样的相关的数据输入/输出装置中提供上述分配请求信号REQ1到REQ3时,分配请求判断电路51的分配控制操作进行到该流程图的步骤SP1。在该步骤SP1,分配请求判断电路51判断是否已经将分配权限信号GNT1到GNT3中的任何一个输出给相应的数据输入/输出装置。当该判断结果是“是”(即,已经输出分配权限信号GNT)时,由于分配控制电路36不能再次允许其它数据输入/输出装置分配总线19,所以完成该分配控制处理。
相反,当上面的步骤SP1中该判断结果是“否”时,即分配权限信号GNT没有输出给这些数据输入/输出装置中的任一个的情况下,分配请求判断电路51的分配控制处理操作进行到进一步的步骤SP2。在该步骤SP2,分配请求判断电路51判断在预定的时间周期内是否提供了多个分配请求信号REQ1到REQ3。当该判断是“是”时,处理操作进行到步骤SP3。现在假设提供了分配请求信号REQ1和分配请求信号REQ3,则步骤SP2的判断结果变为“是”。结果,分配请求判断电路51将对应于这些分配请求信号REQ1到REQ3的识别号,即在该情况下的识别号①和③,提供给可变顺序分配协议产生电路52和固定顺序分配协议产生电路53。此后,在分配控制电路36中执行步骤SP3的处理操作。
在该步骤SP3,作为对用于构成分配协议数据APD的协议选择模式PSM的响应,只有一个可变顺序分配协议产生电路52和固定顺序分配协议产生电路53是可用的。结果,当从存储单元已经读出指定的协议后,该分配协议产生电路在该时间周期内,根据读协议和用来构成提供的分配协议数据APD的顺序数据OD,从提供的多个数据输入/输出装置的这些识别号中确定这样一个具有最高优先权的识别号。此后,该分配协议产生电路将确定的识别号提供给多路复用器54。应该理解的是,当用来构成分配协议数据APD的协议选择模式PSM没有改变这样一个协议时,在多个时间周期内两个协议都被使用,不从存储单元读取协议,但是只有优先顺序仅仅改变为下一个时间周期将要使用的顺序。例如,在使用图3(2)所示固定顺序分配协议的情况下,当前一个时间周期的优先顺序等于左端一列(即,①,②,③,和④这样的顺序)时,下一个时间周期的优先顺序改变为左端第二列(即,②,③,④,和①这样的顺序)。根据改变的时间周期,分配协议产生电路在提供的多个数据输入/输出装置的识别号中,确定下一个时间周期内的具有最高优先权的识别号。接着,分配控制电路36执行步骤SP3定义的处理操作。
在该情况下,由于分配协议数据APD表示完善型固定顺序分配协议,可变顺序分配协议产生电路52不工作。由于构成提供的分配协议数据APD的协议选择模式PSM表示完善型固定顺序分配协议,固定顺序分配协议产生电路53从存储单元读出指定的完善型固定顺序分配协议。此后,根据读完善型固定顺序分配协议,和构成提供的分配协议数据APD的顺序数据OD(在该情况下,以②,①,和③这样的顺序),该固定顺序分配协议产生电路53在提供的多个数据输入/输出装置的识别号(在该情况下,以①和③)中确定下一个时间周期内具有最高优先权的识别号。接着,该固定顺序分配协议产生电路53将该确定的识别号(即,该情况下的①)提供给多路复用器54。接着,分配控制电路36执行步骤SP4定义的处理操作。
在该步骤SP4,多路复用器54在预选的定时将识别号提供给分配权限信号产生电路55。该识别信号是从可变顺序分配协议产生电路52或者固定顺序分配协议产生电路53提供的。结果,分配权限信号产生电路55产生对应于提供的识别号的分配权限信号GNT,并且接着在预定的计时将该分配权限信号GNT提供给数据输入/输出装置。此后,结束分配控制处理操作。在该情况下,由于识别号①是从固定顺序分配协议产生电路53提供给多路复用器54的,因此该识别号①在预选的定时被提供给分配权限信号产生电路55。结果,分配权限信号产生电路55产生一个对应于提供的识别号(即,在该情况下是①)的分配权限信号GNT1,并且接着,在预选的定时将该分配权限信号GNT1提供给相应的数据输入/输出装置(即,声卡16)。接着,声卡16通过总线19访问存储器16来根据存储在存储器12中的音乐数据产生音乐信号,并且在CPU 11的控制下通过扬声器22重放音乐声音。这时,当声卡16完成音乐信号的重放并且完成总线19的占据时,该声卡16还产生一个表示该完成的信号,并且将这样一个信号提供给总线控制13。另外,声卡16将分配请求信号REQ1带入非作用状态,并且接着,将该非作用状态通知给总线控制装置13。
相反,当步骤SP2的判断结果是“否”时,换句话说,当在预定的时间内没有提供多个分配请求信号REQ1到REQ3,而是只提供了一个分配请求信号REQ时,分配控制电路36执行步骤SP5定义的处理操作。在该步骤SP5,多路复用器54在预选的定时将识别号提供给分配权限信号产生电路55。该识别信号是从分配请求判断电路51提供的。结果,分配权限信号产生电路55产生一个对应于提供的识别号的分配权限信号GNT,并且结果在预定的定时将该分配权限信号GNT提供给数据输入/输出装置。此后,结束分配控制处理操作。
下面,在用户曾经关闭计算机系统的电源,并且如图2所示,用户新将一个LAN卡21安装在插槽20上,并且此后,用户再一次打开计算机系统的电影的情况下,CPU11进行对该计算机系统的各自结构单元的控制操作,例如,CPU11通过总线控制装置13从存储器12中读取操作系统(OS)软件,从而初始化该计算机系统。
在该情况下,CPU 11将协议更换循环值和协议选择模式PSM提供给总线控制装置13。此后,由于LAN卡21是新安装到插槽20上的,因此CPU 11可以识别该LAN卡21。还假设作为协议更换循环值,例如,提供300个时钟脉冲作为协议选择模式PSM,并且例如,提供顺序旋转型可变顺序分配协议。换言之,用户可以使用键盘15设置协议更换循环值和协议选择模式PSM。
结果,300个时钟脉冲作为协议更换循环值被设置到协议更换循环设置寄存器32中,而顺序旋转型可变顺序分配协议作为协议选择模式PSM被设置到协议选择模式寄存器34中。
在这样的情况下,总线控制装置13进行下述操作:
首先,由于加载了设置在协议更换循环设置寄存器32中的协议更换循环值(在该情况下,现在加载了300个时钟脉冲),所以计时器33从零开始每一个时钟脉冲地计数系统时钟。当计数值等于300个时钟脉冲时,该计时器33提供溢出信号SOF给计计数器311到313,以及协议控制电路35。另外,该计数值被复原为零。计数器311到313对相应的数据输入/输出装置提供的分配请求信号REQ1到REQ4进行计数,并且接着将计数值CN1到CN4提供给协议控制电路35。现在假设假设在特定协议更换循环(在该情况下,具有300个时钟脉冲的时间周期)中,这些计数值CN1到CN4具有最大值CN2,中间值CN4和CN1以及最小值CN3。
结果,在该协议更换循环中,协议控制电路35的比较电路41顺序地将计数器311到314提供的计数值CN1到CN4进行相互比较,从而以CN2,CN4,CN1和CN3这样的顺序重新排列这些计数值CN1到CN4,即较大值顺序。接着,该比较电路41产生顺序数据OD,它表示重排计数值CN的顺序,即该情况下的识别号的顺序,即②,④,①,和③。结果,分配协议/数据产生电路42根据顺序数据OD,和从协议选择模式寄存器34加载的协议选择模式PSM来产生分配协议数据APD。接着,该分配协议数据产生电路42将产生的分配协议数据APD提供给分配控制电路36。在该情况下,由于顺序旋转型可变顺序分配协议被设置为协议选择模式PSM,所以该分配协议数据产生电路42根据表示②,④,①,和③的顺序数据OD和代表顺序旋转型可变顺序分配协议的协议选择模式PSM来产生分配协议数据APD。这时,分配协议数据产生电路42将该分配协议数据APD提供给分配控制电路36。
接着,当在预选的时间周期内提供了多个分配请求信号REQ时,例如,当提供了分配请求信号REQ1,REQ3,和REQ4时,分配控制电路36的分配请求判断电路51将对应于这些分配请求信号的识别号,即在该情况下①,③,和④,提供给可变顺序分配协议产生电路52和固定顺序分配协议产生电路53。接着,作为对用于构成分配协议数据APD的协议选择模式PSM的响应,只有一个可变顺序分配协议产生电路52和固定顺序分配协议产生电路53是可用的。在该情况下,由于分配协议数据APD表示顺序旋转型可变顺序分配协议,因此固定顺序分配协议产生电路53是不可用的。由于用来构成提供的分配协议数据APD的协议选择模式PSM表示顺序旋转型可变顺序分配协议,因此可变顺序分配协议产生电路52在第一时间周期内从存储单元读取指定的顺序旋转型可变顺序分配协议。此后,根据读顺序旋转型固定顺序分配协议,和用于构成提供的分配协议数据APD的顺序数据OD(在该情况下,以②,④,①,和③的顺序),该可变顺序分配协议产生电路52在提供的多个数据输入/输出装置的识别号(在该情况下,是①,③,和④)中,确定在下一个时间周期中具有最高优先权的识别号。这时,该可变顺序分配协议产生电路52提供该确定的识别号(参考图4(2),即,④,假设其下一个时间周期等于第二时间周期)。接着,该确定的识别号被提供给调制解调器54。
结果,调制解调器54在预选的定时将识别号提供给分配权限信号产生电路55。该识别信号(该情况下的④)是从可变顺序分配协议产生电路52中提供的。结果,分配权限信号产生电路55产生一个对应于提供的识别号(该情况下的④)的分配权限信号GNT4,并且接着在预定的定时将该分配权限信号GNT4提供给相应的数据输入/输出装置,即LAN卡21。结果,LAN卡21通过总线19访问存储器16来将存储在存储器12中的数据通过电缆发送到其它的计算机系统。另外,该LAN卡21通过电缆接收从其它计算机系统发送的数据并将接收的数据存储在存储器12中。当完成数据发送/接收并结束总线19的占据时,该LAN卡21还产生一个表示该完成的信号,并将这样一个信号提供给总线控制装置13。另外,LAN卡19将分配请求信号REQ4带入非作用状态,并且接着,将该非作用状态通知给总线控制装置13。
像前面详细解释的一样,根据第一总线控制装置,仅仅提供了多个计数器31,其总数等于连接于该总线19的数据输入/输出装置(例如,LAN卡和调制解调器)数。此外,即使当用户将多个数据输入/输出装置连接到该总线19,其总数小于能够与总线19连接的这些数据输入/输出装置的最大数量时,仅仅停止计数器相应于未连接的数据输入/输出装置的计数操作。另外,对于协议,在图3和图4所示的实施例中,为了解释简单的缘故,这里显示的连续顺序是这样的一种情况,即允许对连接到总线19的所有数据输入/输出装置分配总线。然而,根据该第一实施例,不再通过考虑这些数据输入/输出装置的总量来产生协议,即,在现有技术中考虑数据输入/输出装置的总数来产生协议。结果,根据第一总线控制装置的结构,能够通过使用一般目的的结构单元和一般目的的操作来实现该总线控制装置。
此外,根据该具有上述结构的第一总线控制装置,当使用可变顺序分配协议时,在特定协议更换循环中根据计数值CN能够确定优先顺序,但是在现有技术中是不固定的。结果,即使当总线19的使用条件改变很大从而改变优先顺序,以及/或者数据输入/输出装置新连接到总线19时,与现有技术相反,不需要改变数据输入/输出装置的连接。进一步,为了快速接受这样一种情况,即总线19的使用条件快速改变时,设置到协议更换循环设置寄存器32的协议更换循环值可以简单地选择为一个较小的值。
第二总线控制装置的结构/操作
下面,将解释本发明的第二实施例。图8是表示根据本发明该第二实施例的总线控制装置61的内部结构的示意方框图。应该指出的是,将使用图1中相同的参考号来表示图8中相同,或类似的结构单元,因此,省略它的详细描述。从图8中清楚地看出,该第二总线控制装置61新使用等待时间检测电路621到624,以及协议控制电路63,用来代替图1中第一总线控制装置13中使用的上面解释的计数器311到314和协议控制电路35。
这些等待时间检测电路621到624与声卡16,调制解调器17,显示卡18,和LAN卡21相对应。当从相应的数据输入/输出装置中提供了整形的脉冲分配请求信号REQ1到REQ4时,等待时间检测电路621到624执行系统时钟的计时操作,而当分配控制电路36提供了相应的分配权限信号GNT1到GNT4时,这些等待时间检测电路621到624停止系统时钟的计时操作。接着,等待时间检测电路621到624将各自的系统时钟计数值提供给协议控制电路63作为等待时间LAT1到LAT4。
另一方面,协议控制电路63由比较电路(未示出)和分配协议数据产生电路(也未示出)构成。每执行一次协议更换循环,该比较电路将等待时间LAT1到LAT4互相比较。等待时间LAT1到LAT4是从等待时间检测电路621到624提供的。作为该比较操作的结果,等待时间LAT1到LAT4按较长时间的顺序重排。这时,比较电路产生重排的等待时间LAT的顺序,即顺序数据OD表示识别号的顺序,并且此后将该顺序数据OD输出给分配协议数据产生电路。接着,该分配协议数据产生电路根据数学数据OD,以及从协议选择模式寄存器34加载的协议选择模式PSM来产生分配协议数据APD。
应该清楚的是,除了各自结构单元的参数处理简单地从计数值CN1到CN4改变为等待时间LAT1到LAT4外,使用上面解释的电路结构的第二总线控制装置61的操作与第一总线控制装置13的操作相同的。因此,省略该第二总线控制装置61的详细操作。
正如前面详细解释的,根据第二线控制装置,由于总线19的分配是根据等待时间LAT的长/短时间周期来允许的,因此不仅增加了总线19的使用效率,而且增加了各自数据输入/输出装置的运算速度。
第三总线控制装置的结构/操作
接着,将解释本发明的第三实施例。图9是表示根据本发明该第三实施例的总线控制装置71的内部结构的示意方框图。应该指出的是,将使用图1中相同的参考号来表示图9中相同,或类似的结构单元,因此,省略它的详细描述。从图9中清楚地看出,该第三总线控制装置71新使用协议选择模式寄存器72,协议控制电路73,分配控制电路74,并且还有,手动协议设置寄存器75,和分配请求屏蔽寄存器76,用来代替上面解释的图1所示的协议控制电路35和分配控制电路36,以及协议选择模式寄存器34。
手动协议“MP”被设置到手动协议设置寄存器75。该手动协议MP表示这样的数据,它表示各自数据输入/输出装置的优先顺序。即,当用户不考虑总线19当前的使用条件,要手动暂时设置各自数据输入/输出装置的分配给总线19时,该用户操作键盘15来输入数据输入/输出装置的这些优先顺序。
类似于上述第一实施例,CPU 11将协议选择模式PSM设置到协议选择模式寄存器72。作为协议选择模式PSM,不仅仅将指令选择上述固定顺序分配协议和可变顺序分配协议的数据,而且还将手动协议MP的选择设置给手动协议设置寄存器75。固定顺序分配协议包括完善型,顺序旋转型和顺序强调型分配协议,而可变顺序分配协议包括完善型,顺序旋转型,顺序强调型和复合型分配协议。
另一方面,协议控制电路73由比较电路(未示出)和分配协议数据产生电路(也未示出)构成。该比较电路可以以上面解释的图5所示比较电路41类似的方式工作。然而,协议控制电路73中使用的该分配协议数据产生电路以不同方式工作。即,该分配协议数据产生电路根据顺序数据OD,从协议选择模式寄存器72加载的手动协议MP,以及从协议选择模式寄存器34加载的协议选择模式PSM来产生分配协议数据APD。这时,分配协议数据产生电路将产生的该分配协议数据APD提供给分配控制电路74。换句话说,当协议选择模式PSM不等于指令选择手动协议MP的数据时,该分配协议数据产生电路的工作方式与第一实施例的上述分配协议数据产生电路42的工作方式相同。当协议选择模式PSM等于用来指令选择手动协议MP的数据时,该分配协议数据产生电路根据顺序OD和手动协议MP来产生分配协议数据APD,从而将该分配协议数据APD提供给分配控制电路74。
在分配请求屏蔽寄存器76中,设置这样的数据输入/输出装置的识别号,并且由用户或者CPU 11指定该数据输入/输出装置的分配请求无效。例如,当CPU 11指令显示卡18根据存储器12的预定区域中存储的数据来形成图像,或图案时,用户在例如数据自身有差错,或者指令的存储器12的存储区域不正确的条件下要停止显示卡18的图像形成操作的情况下,该显示卡18的识别号③作为识别号MN被设置到分配请求屏蔽寄存器76,以便不将该显示卡18发出的分配请求信号REQ3提供给分配控制电路74。
如图10所示,分配控制电路74由门电路81,分配请求判断电路51,可变顺序分配协议产生电路52,固定顺序分配协议产生电路53,手动设置分配协议产生电路82,多路复用器83,和分配权限信号产生电路55构成。在这些内部电路中,除了门电路81,手动设置分配协议产生电路82和多路复用器83外,其它结构单元的结构和操作基本上与图6所示分配控制电路中使用的各自结构单元的结构和操作相同。因此,省略这些相同的结构单元的描述。门电路81只能够使除了对应于识别号MN的分配请求信号REQ之外的分配请求信号REQ3通过。最后提到的分配请求信号REQ是从分配请求屏蔽寄存器76中加载的。因为对应于识别号MN的分配请求信号REQ不提供给分配请求判断电路51后面的任何电路,所以总线19不允许分配给相应的数据输入输出装置。
另外,在提供的分配协议数据APD是由顺序数据OD和手动协议MP构成的这样一种情况下,手动设置分配协议产生电路82根据顺序数据OD和手动协议MP,在多个数据输入/输出装置提供的识别号中,确定具有最高优先顺序的识别号。该手动设置分配协议产生电路82将该确定的识别号提供给多路复用器83。多路复用器83接着在预选的定时将识别号提供给分配权限信号产生电路55。这些识别号从可变顺序分配协议产生电路52,固定顺序分配协议产生电路53,和手动设置分配协议产生电路82顺序提供。
还应该指出的是,上述总线控制装置71特别适合于这样的工作,即允许根据用户暂时和手动设置的协议分配总线19,并且进一步使特定数据输入/输出装置发出的分配请求无效。然而,由于该总线控制装置71的其它操作基本上与上述根据第一实施例的总线控制装置13的操作相同,因此在该描述中省略对它更详细的描述。
正如前面解释的,在使用上述结构的第三总线控制装置中,在用户要允许这样一个特定的输入/输出装置占用总线19的紧急情况下,用户通过操作键盘15暂时提供第一优先顺序给打印机(未示出)。例如,当该打印机15连接到总线19时,用户要紧急使用该打印机将存储在存储器12中的数据打印出来。结果,即使当该打印机的优先顺序低于其它数据输入/输出装置时,由于只有当数据被打印出来时才将第一优先顺序提供给该打印机,所有该操作能够满足用户的紧急要求。在该情况下,打印机的打印操作之后,总线19相对于其它数据输入/输出装置的分配权限保持与先前的优先顺序一样。结果,用户不需要进行复杂的处理操作,例如,不要求用户停止其它数据输入输出装置的操作。
另外,根据该第三总线控制装置,在不希望的事件恰巧发生了,从而要求对特定的数据输入/输出装置允许总线分配的这样一种情况下,如果该特定的数据输入/输出装置的识别号被设置到分配请屏蔽寄存器76中,那么从该数据输入/输出装置发出的分配请求信号REQ将不被提供给分配控制电路74。结果,能够避免错误的和无用的操作。还应该清楚的是,分配请求屏蔽寄存器76和门电路81都能够类似地用于第一和第二实施例的结构中。
虽然参照多种优先实施例详细描述了本发明,但是根据本发明的总线控制装置,总线控制方法,以及存储介质并不局限于此,在不脱离本发明的技术范围和精神的情况下是可以改进,改变,和替换的。
例如,如图2所示,在上面描述的实施例中,根据本发明的总线控制装置已经被用于具有一组总线19的计算机系统中。很明显,本发明的总线控制装置可以类似地用在使用多个总线的其它的计算机系统中。例如,如图11所示,本发明的该总线控制装置可以作为选择用在下面的计算机系统中。就是说,该计算机系统由CPU 91,总线控制装置92,存储器93,数据输入/输出装置941到944,以及两组总线951和952。CPU 91连接于总线控制装置92。该总线控制装置92,存储器93,和数据输入/输出装置944通过总线总线951相互连接。该总线951能够发送32位数据和类似数据。类似地,该总线控制装置92通过能够发送16位数据和类似数据的总线952连接到数据输入/输出装置941到943。在该计算机系统中,总线控制装置92可以允许总线951和952的分配,并且总线951或总线952的分配相对于数据输入/输出装置941到944。
另外,作为用来选择适当协议的参数,只有计数值CN1到CN4被用在第一和第三实施例中,并且只有等待时间LAT1到LAT4被用在第二实施例中。然而,本发明并不局限这些参数。例如,作为用来选择协议的参数,等待时间LAT1到LAT4可以用在第一和第三实施例中,而类似地,计数值CN1到CN4可以用在第二实施例中。在该情况下,例如,可以根据这些参数的有关关系确定优先顺序,其方式是,具有较小计数值CN和较长等待时间LAT的数据输入/输出装置的优先顺序比具有较大计数值CN和较短等待时间LAT的其它数据输入/输出装置的优先顺序高。进一步,作为用来选择适当协议的参数,不但可以使用上面解释的计数值CN/等待时间LAT,还可以使用各自数据输入/输出装置的总线使用条件。
作为总线的使用条件,可以包括下面的条件:在一次循环内完成的数据读/写操作,和在第一循环中读出的数据,以及此后,在下一个循环写入的数据。
另外,在上述实施例中,较高优先顺序被提供给具有较大值的计数值CN,并且较高优先顺序被提供给具有较长值的等待时间LAT。本发明不局限于此,而是可以修改,例如,优先顺序可以选择性地提供给具有较小值的计数值CN,或者具有较短值的等待时间LAT。该选择性的优先顺序提供可以在非常特定的事件,例如断电,恰巧发生时,用于后处理操作。
进一步,在上面解释的实施例中,总线控制装置允许根据CPU设置的协议进行总线分配,但是本发明并不局限于此。例如,协议控制电路可以选择性地以这样一种方式构成,即该协议控制电路在很长的时间周期内存储了计数值CN,等待时间LAT,或者顺序数据OD,并且此后对这些存储的数据进行编译统计,从而确定使用哪一个协议。换言之,该协议控制电路自身可以根据这些统计数据产生适当的协议。另外,它可以选择性地以这样一种方式构成,即CPU在很长的时间周期内从总线控制装置接收计数值CN,等待时间LAT,或者顺序数据OD,并将接收的数据存储到存储器。此后,CPU可以对这些存储的数据进行编译统计,从而产生一个适当的协议。该适当的协议可以被设置为,例如图9所示手动协议设置寄存器75。
另外,在上面解释的实施例中,使用图3和图4所示的7种协议作为协议。本发明并不局限于这些协议。例如,对于图4(2)到图4(4)表示的可变顺序分配协议,在两个时间周期内仅仅根据计数值CN的值和等待时间LAT的值一次确定优先顺序,换言之,优先顺序的确定可以在三个时间周期内一次进行,或者在时间周期中连续地进行。
另外,在上面解释的实施例中,根据本发明的总线控制装置被用在计算机系统中。换言之,根据本发明的该总线控制装置可以用在这样一个单片微型计算机中,即在同一半导体芯片中形成例如图2表示的CPU 11,存储器12,总线控制装置13,总线19,和各自数据输入/输出装置的接口。另外,根据本发明的总线控制装置可以类似地用于LAN系统,即CPU,存储器,总线控制装置,和各自数据输入/输出装置被独立型装置所代替,并且总线由电缆构成。
这时,在总线控制装置被应用于LAN系统的独立型装置所代替的情况下,该总线控制装置可以由这样的一台计算机构成,它包括CPU;象ROM和RAM这样的内部存储装置;象软盘驱动器(FDD),硬盘驱动器(HDD)和CD-ROM驱动器这样的外部存储器;输出装置;以及输入装置。上面解释的计数器,计时器,协议控制电路,和分配控制电路可以由CPU构成。这些功能作为总线控制程序被存储在象ROM这样的半导体存储器,以及/或者象软盘,硬盘,和CD-ROM这样的存储介质中。在该另外的情况下,上面解释的内部存储装置,或者外部存储装置可以构成协议更换循环设置寄存器,协议选择模式寄存器,或者手动协议设置寄存器。总线控制程序被从存储介质中读入CPU,以便控制该CPU的操作。当总线控制程序被初始化时,该CPU可以作为计数器,计时器,协议控制电路,和分配控制电路,并且在总线控制程序的控制下可以执行上述处理操作。
正如前面详细描述的,根据本发明,能够使用简单的结构构成总线控制装置,并且进一步能够以高效率操作。另外,即使从各自数据输入/输出装置中发出各种分配请求时,本发明的总线控制装置也能够以很高的灵活性快速操作。结果,能够增加总线的使用效率。
很明显本发明并不局限于上面的实施例,在不脱离本发明的范围和精神的情况下是可以改变和改进的。
最后,本申请要求1998年3月5日授权的日本专利申请No.平10-053296的优先权,将其引入本文以作参考。