数据处理系统中串行通信控制器的可度量的调度器技术方案

技术编号:3536897 阅读:210 留言:0更新日期:2012-04-11 18:40
一种串行通信适配器向物理通信端口提供一个接口。在该适配器上执行的一个调度程度调度不同优先级上的任务,使得时间性关键的任务足够快地被执行以防止数据丢失。要通过一个通信端口发送或接收的数据是存储在适配器上的缓冲器中的,并且在该适配器与宿主系统之间的数据与命令通信是很好地在一条DMA通道上执行的。(*该技术在2011年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术一般涉及数字计算机系统,更具体地涉及用于以串行通信线路与宿主计算机系统进行接口的子系统。对于现代计算机系统,与外部世界的通信是至关重要的。某些系统具有若干同时操作的串行通信链路。控制多条同时操作的链路能增加系统处理器的需求而降低总的系统性能。对这一性能问题的一种解决方法是采用“聪明”的通信适配器。这些适配器处理一次通信对话的所有低级细节。适配器在与它们的宿主系统通信时以相对大的块传送数据。无论接收的数据还是要发送的数据都是采用块传送方式在适配器与宿主系统之间传送的。直接存储器存取(DMA)可用于这种传送以进一步减轻加在宿主中央处理器上的处理负担。为了在仅有有限数量适配器的一个系统中提供多个通信端口,若干个端口可以设置在单个适配器上。然而,这一方法可能导致明显的问题。对若干独立端口的数据与命令处理可能变得相当复杂,尤其是在高通信率时。当不同的速度与协议使用在不同的通信端口上时,这一问题便大为恶化。使得适配器难于保证所有的通信端口都能以适时方式处理。提供一种能够处理多个独立端口而不丢失数据的适合于用作通信端口适配器的系统将是令人满意的。因而,本专利技术的目的之一便是提供一种适合于在一台宿主计算机系统中用作一个通信端口适配器的系统。本专利技术的另一个目的是提供这样一种系统,其中在单个适配器上支持多个通信端口,以及其中各端口互相独立地操作。本专利技术的又一目的是提供这样一种系统,其中的通信端口是以这样一种方式被处理的,使得在任何端口上都保证不丢失数据。所以,根据本专利技术,一种串行通信适配器提供对物理通信端口的一个接口。在适配器上执行的一个调度程序调度不同优先级的任务,使得时间性要求高的任务得到足够快速的执行以防止数据丢失。通过一个通信端口将要发送的或已经接收到的数据是存储在适配器上的缓冲器中的,而适配器与宿主系统之间的数据与命令通信则是较佳地通过一条DMA通道完成的。本专利技术据信为新颖特征的性质在所附的权利要求书中列举。然而,专利技术本身,以及作为一种较佳的使用方式及其其它的目的和优点则可以结合附图参照对一个示例性实施例的以下详细说明得到最好的了解,附图中附图说明图1是一台宿主计算机系统的块图;图2是用于图1中的系统的一个较佳串行通信适配器的块图;图3示出了按照本专利技术的一个较佳调度程序工作表;图4是一组展示在一个较佳适配器系统上执行任务与中断的流程图;图5示出了包含在一个较佳适配器上的一个存储器的内容;以及图6至图12为展示按照本专利技术所能调度的被选中的功能的操作的流程图。参见图1,参考号10指示一台一般称为宿主系统的计算机系统。系统10包含连接在一条系统总线16上的一个中央处理器12及一个主存储器14。一个或多个用户接口输入/输出设备18也连接在总线16上。这些用户接口设备18中典型地包括一台显示器与键盘,且通常包含一个指示设备诸如一个鼠标。一个大容量存储器输入/输出设备20也最好连接在总线16上,並将一个或多个大容量存储器设备与系统10接口。这些设备典型地包括磁盘或光盘驱动器。某些系统並不包含这些大容量存储器设备20,而依靠连接在一个网络上的远程大容量存储器。用于串行输入/输出设备的一个适配器22最好连接在系统总线16上。在一个较佳实施例中,这一适配器22提供系统10与多个串行通信端口之间的通信。如本
内所知,各种其它设备也可包括在系统10中。图1中的系统示出了所有的输入/输出设备为连接在主系统总线16上的。许多高性能系统在中央处理器12与主存储器14之间提供一条高速总线。在这种系统中,一个输入/输出控制器(未示出)连接在高速总线上,並且再通过一独立的输入/输出总线(未示出)连接到各种输入/输出设备18、20、22。在这些系统中,主存储器14与各种输入/输出设备之间的数据传送是经由並受控于该输入/输出控制器的。下述多端口串行适配器在两种系统中都能工作得一样好。只需要向适配器与总线之间提供一个容许在许多不同类型的计算机系统中使用的适当的接口便可。参见图2,其中示出了一个较佳串行输入/输出适配器22。适配器22是通过一个系统总线接口24与系统总线16相连的。接口24连接到一条适配器总线26上,这是一条高速总线。同时连接到适配器总线26上的有一台中央处理器26与一个适配器存储器30。中央处理器28可以是市场供应的微处理器,诸如英特尔(INTEL)80186处理器。适配器存储器30是本领域内已知的计算机系统存储器,並使其容量足以支持下述功能。在正常的应用中,512K字节的适配器存储器30足供四个通信端口使用。中央处理器28用存储在存储器30中的程序执行适配器22的功能。同时连接在适配器总线26上的有四个串行端口接口32、34、36和38。虽然在图2中只示出了四个端口,需要时在一个适配器上可包括更多的端口。一个适配器卡22上所能包含的端口数只受服务于端口所能利用的处理能力以及适配器卡22上所能设置的物理端口引线数的限制。在适配器总线26上连有一个串行端口DMA控制器40,用于控制端口32、34、36、38与适配器存储器30之间的DMA传送。每一端口有两条直接与DMA控制器40相连的信号线用于指示什么时候在一个接受缓冲器中已经有了数据以及什么时候一个发送缓冲器已可用于接收数据。DMA控制器40使用这些信号来确定什么时候在一个通信端口与适配器存储器30之间启动一次DMA传送。为了实行DMA传送,DMA控制器40与系统总线接口24两者都能作为适配器总线26的总线主。系统总线接口24与DMA控制器40采用DMA向适配器存储器30传送数据和接收来自适配器存储器30的数据。此外,接口24也能成为系统总线16的一个总线主,並使用一条DMA通道向主存储器14传送数据和接受来自主存储器14的数据。在这里所描述的实施例中,系统总线接口24使用单一的DMA通道来为所有的通信端口32、34、36和38传送数据。为了控制适配器22的操作,中央处理器28执行若干下面将要说明的不同例行程序。具有显著重要作用的是一个任务调度程序,它确定下一个要执行的是哪一个任务。中央处理器28执行各种例行程序来建立通过系统总线接口24去往和来自系统总线16的DMA传送,建立适配器存储器30与通信端口之间的发送与接收操作,以及处理各种错误状态。图3示出了能很好地用于在适配器上调度任务的一个调度程序工作表50。不同的任务在不同的优先级上操作,图3中示出了优先级0-6。实际使用的优先级数可根据满足特定实现的需要而变化。优先级0为最高优先级,而优先级6为最低优先级。每一个优先级有一个表项用来指示等待执行的那些任务。优先级1-6各由一个位示图组成,位示图中每一项对应于在适配器上的每一个通信端口。如果任一特定位为1,对应的端口调度对应任务。调度程序工作表50中的位是由各中断处理程序或执行中的任务设置的,如下面将详细说明的。当出现一个硬件中断时,适当的处理程序确定需要调用哪一个例行程序来处理它,並以在调度程序工作表50中设置一位来调度这一例行程序。当一个例行程序执行时,它能以在表50中设置位来调度其它例行程序,而一般将以复位其本身的位来解除调度它自己。最高优先级,级0,用作指示该优先级的当前受调度的任务的数目的一个计数器。这一操作上的差别将在下面详细说明。在某些本文档来自技高网
...

【技术保护点】
一种用于控制多个通信端口与一个宿主系统之间的数据传输的方法,其特征在于下述步骤:定义多个任务用于执行这些端口与一个中间存储器之间,以及该中间存储器与宿主系统之间的数据传输部分;赋予已定义的任务以优先级;响应出现在端口处及宿主系统 内的事件调度要执行的任务;以及当一个任务完成时,选择一个在所有被调度的任务中具有最高优先级的任务接着执行。

【技术特征摘要】

【专利技术属性】
技术研发人员:约翰图尔曼阿德金斯詹姆斯斯坦利波格塞尔斯基贾克兰海格修斯威尔森
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利