当前位置: 首页 > 专利查询>惠普公司专利>正文

用于向处理器给出输入/输出通知的装置制造方法及图纸

技术编号:2893869 阅读:144 留言:0更新日期:2012-04-11 18:40
一种用于数据传输完成后通知处理器的方法和装置.I/O设备与存贮器内指令链表相联,在各指令链表中设置指令单元,其中包括专用于报告数据传输状态的单元,指令单元包含指向某状态记录的指针,状态记录由I/O设备修改时被置入存贮器内的状态链表,一个以上I/O设备共用一状态链表.状态记录包含状态信息.硬件可把状态记录插入状态链表,然后通知处理器新单元已被加到第二链表中,该通知将使处理器中断运行.(*该技术在2006年保护过期,可自由使用*)

【技术实现步骤摘要】
本专利技术涉及在计算机系统内的数据传输。一般说来,当输入/输出(I/0)设备准备好可以运行接受处理器的服务时,例如在向存储器或从存储器的一次数据存取之后,I/0设备将通知处理器。通常,这个通知是由通过特殊硬件线路的信号来完成的。例如可以从每个I/0设备连一条中断线到系统处理器,当I/0设备中的某一个准备好运行时,它便通过中断线路发送一个信号,处理器即可调用合适的软件子程序为该I/0设备服务。一般而言,处理器要采用某种类型的中断优先级结构。指定一I/0设备具有哪一个优先级是由硬件来设置的。适当的优先级数目常常是基于对为提供每一个优先级所需的硬件费用和能够识别优先级,对更有效地完成它的任务的处理器的重要性这两个因素进行平衡、分析来选择的。如果一处理器正运行一具有高优先级的I/0设备时,便不允许具有较低优先级的I/0设备去中断该处理器。因而处理器必须对来自I/0设备的中断提供缓冲或是排队,或者I/0设备需要继续不断的将它需要服务通知处理器。实现这样一种缓冲方案的硬件可能是十分复杂的。按照本专利技术所推荐的实施方案,给出了一个用于向处理器发出数据传输完成通知的方法和装置。输入/输出(I/0)设备单独地或者多个地与它们的位于系统存储器中的指令链表相关联。在每一个处理器中都已置放了指令单元。通常每个单元规定了在I/0设备和存储器的存储单元之间的数据传输的方向、长度和存储器地址。一指令单元组的子集包含了专用于报告数据传输状态的单元。在这个指令单元组的子集中的每一个指令单元都包含一个指示某个状态记录的指针。状态记录当它被一I/0设备修改时,被置入一个存放在存储器内的状态链表中。一个I/0设备可以有自己的状态链表,也可以与若干其它的设备共享一个状态链表。一般而言,共享一个状态链表的I/0设备在关于接受处理器的服务方面是处于同一优先级的。状态记录包含一I/0设备和存储器的存储单元之间传输状态的信息。将状态记录插入状态链表是由硬件的一系列不间断操作完成的。根据执行I/0的情况,硬件即可向在处理器内的控制程序给出新的单元已加到第二个链表中的非同步通知。这个通知将使在处理器中目前正运行的过程产生中断。本专利技术比先有技术具有多种优点。指令链表和状态链表的数目是由软件决定的,因而能容易地加以改变。与状态链表相关的I/0设备可以根据过程的相关性、服务的优先级、资源的临界状态或某个其它判据或判据的组合加以选择。处理器中的控制程序选择在指令链表的何处存放用于报告状态的指令单元以及哪个信息将被存放到状态记录中去,从而可以利用它们识别等待过程和监视在特定的状态表上的过程的状态。此外,当一新的状态记录被存放到状态链表中去时,控制程序还具有拒绝接受中断的选择,使处理器能控制何时为I/0服务。无论如何,状态信息不会丢失,而是保存在状态链表中直到处理器引用它们。图1给出在总线上的处理器和各种I/0设备的方块图。图2给出了一个按照本专利技术所推荐的实施方案的指令链表。图3给出了一个按照本专利技术所推荐的实施方案的指令单元。图4给出了按照本专利技术所推荐的实施方案的指令单元,状态记录和状态记录链表。图5给出了一个按照本专利技术所推荐的实施方案的新的状态记录。图6A-6C给出了按照本专利技术所推荐的实施方案的被加到状态记录链表中去的图5所给出的新的状态记录。图7给出了按照本专利技术所推荐的实施方案的图4所给出的状态记录链表的首部。图1给出了计算机系统的简化方块图,它包括处理器11、输入/输出(I/0)设备12、I/0设备13、I/0设备14和系统存储器15,它们都连接到数据传输总线16上。I/0设备12、13和14都是直接存取存储器(DMA)装置,即它们能够从系统存储器15存取数据。图2是一个由指令单元21、22、23、24、25、26和27组成的在系统存储器15中的指令链表。在所推荐的实施方案中,每个指令单元系4个32位的字,如图3和图4中所示。指令单元21、22、23、25和27都有同样的格式。作为一典型的例子,图3给出了指令单元23的格式。指令单元23包含一个32位字31、一个32位字32、一个32位字33和一个32位字34。字31是一个指针,它存放指令单元24的存储器地址,指令单元24是链表20中指令单元23的下一个指令单元。字32是一个编码指令,它指示一I/0设备去完成哪个操作,例如,是向存储器写入还是从存储器读出。字33是系统存储器15中的一个据以写入或读出数据的地址。字34是一个字节计数,它提供了要传输的数据字节的数目。在图4中给出了指令单元24的格式。指令单元24是一个被用来报告状态的特殊指令单元。指令单元24包含一个32位字41、一个32位字42、一个32位字43和一个32位字44。字41是一个指针,它包含了指令单元25,即在链表20中的下一个指令单元的存储器地址。字42是一个编码指令,它指示I/0设备去完成哪个操作。字43是状态链表69的首部60在系统存储器15中的地址。状态链表69包括状态记录61、62和64。字44是一个新状态记录63的地址,I/0设备将存放状态信息到该状态记录中去,并且这个状态记录将被插入到状态链表69中去。处理器11把指令单元,例如指令单元21-27存放到指令链表20中。指令单元21-27控制包含单个I/0设备,例如I/0设备12的数据传输。I/0设备12从头至尾地通过指令链表20,完成由指令单元所规定的传输。当I/0设备12执行到指令单元24时,它读取在首部60中的数据,并且将该数据和其它各种状态信息存放到新的记录63中去。新的记录63可包含关于I/0设备12是否已经检测到任何在输送过程中发生差错的信息,如果有的话,它们是什么类型的差错。I/0设备12也可将剩余的字节计数送入新的记录63中。例如,图5表示一个新的记录63,它包含一个32位字51、一个32位字52、一个32位字53和一个32位字54。可以把在首部60中的数据,即状态记录62的地址装入字51中。在字52中可以装入编码的状态信息。字53可以是不确定的,除非有差错发生。如果一个差错发生时,那末一个标志在差错发生时正在执行着的指令单元的标识符便被装入字53。在字54中可以装入所传输的字节的数量或者一剩余的字节计数。在字52中的状态信息可以包含有关差错终止的信息。状态信息可以区别不同类型的差错。例如,在字52中可以规定三种类型差错的编码。第一种差错表示有不完全的数据传输,没有传输的字节数保存在字54的剩余计数中。第二类差错指出正在进行数据传输的某个特定的I/0设备中有设备故障,被正在执行指令单元的I/0设备检测到的设备故障作为状态被报告给处理器11。例如,如果一设备故障被正在执行指令单元21、22、或23的一个I/0设备检测到后,该设备故障作为在指令单元24的字44中的状态被报告。如果发现设备故障将使I/0设备停止执行指令单元,直到处理器干预I/0设备重新起动数据交换为止。第三类差错指出存在一电气连接故障,例如,传送数据的总线可能有缺陷。这种差错通常可以通过奇偶校验来发现。当I/0设备检测到这类差错时,它停止进一步的数据交换以避免系统存储器15进一步讹误。处理器11通过查询每个I/0设备的状态寄存器发现这种类型的差错。当新的记录63被赋值后,新的记录63便被置放到状态链本文档来自技高网...

【技术保护点】
一种用于将数据传输的状态通知处理器的方法,其特征在于该方法包括:将状态信息装入第一个存储段;将第一个存储段加到一个链表中;并且,用处理器去访问该链表。。

【技术特征摘要】
US 1985-6-28 750,5651.一种用于将数据传输的状态通知处理器的方法,其特征在于该方法包括将状态信息装入第一个存储段;将第一个存储段加到一个链表中;并且,用处理器去访问该链表。2.根据权利要求1的方法,其中将第一个存储段加到链表中的步骤包括在一个处理器计算周期中在第一个存储段里读取和设置信号量;修改第一个存储段的一部份用作链表中下一个记录的指针;并且,修改链表的首部使它指示第一个存储段并且在同一个处理器的计算周期中使信号量复位。3.根据权利要求1的方法,它进一步包括...

【专利技术属性】
技术研发人员:戴威V詹姆斯费尔南多A卢兹
申请(专利权)人:惠普公司
类型:发明
国别省市:US[美国]

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

1