CN108604208B - 用以促进与不可访问的输入/输出(i/o)设备的处理器通信的中继机制 - Google Patents

用以促进与不可访问的输入/输出(i/o)设备的处理器通信的中继机制 Download PDF

Info

Publication number
CN108604208B
CN108604208B CN201780009782.7A CN201780009782A CN108604208B CN 108604208 B CN108604208 B CN 108604208B CN 201780009782 A CN201780009782 A CN 201780009782A CN 108604208 B CN108604208 B CN 108604208B
Authority
CN
China
Prior art keywords
processing device
input
relay
relay processing
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780009782.7A
Other languages
English (en)
Other versions
CN108604208A (zh
Inventor
E.拉克林
D.L.柯克
A.克里什纳墨菲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honeywell International Inc
Original Assignee
Honeywell International Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell International Inc filed Critical Honeywell International Inc
Publication of CN108604208A publication Critical patent/CN108604208A/zh
Application granted granted Critical
Publication of CN108604208B publication Critical patent/CN108604208B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • Selective Calling Equipment (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Systems (AREA)

Abstract

一种方法包括由第一处理设备(142、148、204)向第二中继处理设备(216、326)传输(404)信号。该信号包括针对第二中继处理设备的用以向不可由第一处理设备访问的I/O设备(104a、104b、312)传输读取命令和/或写入命令的消息。该方法还包括由第一处理设备接收(406)第二中继处理设备已经向I/O设备传输了读取命令和/或写入命令的指示。

Description

用以促进与不可访问的输入/输出(I/O)设备的处理器通信的 中继机制
技术领域
本公开一般地涉及计算设备。更具体地,本公开涉及用以促进与不可访问的输入/输出(I/O)设备的处理器通信的中继机制。
背景技术
在工业过程控制和自动化系统中,计算设备例行地需要与输入/输出(I/O)设备进行通信。然而,工业过程控制和自动化系统中的一些计算设备可能不能够与各种I/O设备进行通信,诸如当较旧的I/O设备在电或逻辑方面不可由较新的计算设备访问时。作为特定的示例,可能在一些情况下存在针对特定的计算设备与具体I/O设备进行交互的需要,但是由于宽泛的设计问题或其他问题计算设备可能不能够访问该I/O设备。
发明内容
本公开涉及用以促进与不可访问的输入/输出(I/O)设备的处理器通信的中继机制。
在第一实施例中,一种方法包括由第一处理设备向第二中继处理设备传输信号。该信号包括用于第二中继处理设备的用以向不可由第一处理设备访问的I/O设备传输读取命令和/或写入命令的消息。该方法还包括由第一处理设备接收第二中继处理设备已经向I/O设备传输了读取命令和/或写入命令的指示。
在第二实施例中,一种装置包括被配置成向第二中继处理设备传输信号的第一处理设备。该信号包括用于第二中继处理设备的用以向不可由第一处理设备访问的I/O设备传输读取命令和/或写入命令的消息。第一处理设备还被配置成接收第二中继处理设备已经向I/O设备传输了读取命令和/或写入命令的指示。
在第三实施例中,一种方法包括在第二中继处理设备处接收来自第一处理设备的信号。该信号包括用于第二中继处理设备的用以向不可由第一处理设备访问的I/O设备传输读取命令和/或写入命令的消息。该方法还包括将该读取命令和/或写入命令从第二中继处理设备传输到I/O设备。该方法进一步包括向第一处理设备传输第二中继处理设备已经向I/O设备传输了读取命令和/或写入命令的指示。
在第四实施例中,一种用于与第一处理设备一起使用的装置包括被配置成接收来自第一处理设备的信号的第二中继处理设备。该信号包括用于第二中继处理设备的用以向不可由第一处理设备访问的I/O设备传输读取命令和/或写入命令的消息。第二中继处理设备还被配置成向I/O设备传输读取命令和/或写入命令。第二中继处理设备进一步被配置成向第一处理设备传输第二中继处理设备已经向I/O设备传输了读取命令和/或写入命令的指示。
根据以下附图、说明书和权利要求,其他技术特征对于本领域技术人员可以容易地清楚。
附图说明
为了更完整的理解本公开,现在参考应结合附图进行的以下描述,其中:
图1图示了根据本公开的示例工业过程控制和自动化系统;
图2图示了根据本公开的促进与不可访问的输入/输出(I/O)设备的处理器通信的示例计算设备;
图3图示了根据本公开的促进与不可访问的I/O设备的处理器通信的计算设备的具体示例;以及
图4和5图示了根据本公开的用于促进与不可访问的I/O设备的处理器通信的示例方法。
具体实施方式
下文所讨论的图1到图5以及用来描述本专利文档中的本发明的原理的各种实施例仅是作为说明,并且不应当以任何方式被理解成限制本发明的范围。本领域技术人员将理解的是,可以以任何类型的适合地布置的设备或系统来实现本发明的原理。
图1图示了根据本公开的示例工业过程控制和自动化系统100。如在图1中示出的,系统100包括促进至少一个产品或其他材料的生产或处理的各种部件。例如,系统100在此被用来促进对一个或多个工厂102a-102n中的部件的控制。每个工厂102a-102n表示一个或多个处理设施(或者其一个或多个部分),诸如用于生产至少一个产品或其他材料的一个或多个制造设施。一般而言,每个工厂102a-102n可以实现一个或多个过程,并且可以单独地或统一地被称为过程系统。过程系统一般地表示被配置成以某种方式来处理一个或多个产品或其他材料的任何系统或其部分。
在图1中,使用过程控制的Purdue模型来实现系统100。在Purdue模型中,“级别0”可以包括一个或多个输入/输出(I/O)设备104a-104b。I/O设备104a-104b表示过程系统中可以执行各种各样的功能中的任何功能的部件。I/O设备104a-104b可以包括传感器、致动器或诸如此类。传感器可以测量过程系统中的各种各样的特性,诸如温度、压强或流量。致动器可以更改过程系统中的各种各样的特性。传感器包括用于测量过程系统中的一个或多个特性的任何适合的结构。致动器包括用于对过程系统中的一个或多个条件进行操作或者影响过程系统中的一个或多个条件的任何适合的结构。I/O设备104a-104b可以表示任何适合的过程系统中的任何其他的或附加的部件。
在Purdue模型中,“级别1”可以包括至少两个控制器106a-106b。除其他之外,每个控制器106a-106b可以使用来自一个或多个I/O设备(诸如一个或多个传感器)的测量来控制一个或多个其他I/O设备(诸如一个或多个致动器)的操作。每个控制器106a-106b包括用于与一个或多个I/O设备104a-104b进行交互的任何适合的结构。每个控制器106a-106b可以例如表示比例-积分-微分(PID)控制器或多变量(multivariable)控制器,诸如鲁棒多变量预测控制技术(RMPCT)控制器或者实现模型预测控制(MPC)或其他高级预测控制(APC)的其他类型的控制器。作为特定的示例,每个控制器106a-106b均可以表示运行实时操作系统的计算设备。
两个网络108耦合到控制器106a-106b。网络108诸如通过向和从控制器106a和106a传送数据来促进与控制器106a-106b的交互。网络108可以表示任何适合的网络或网络的组合。作为特定的示例,网络108可以表示冗余的以太网对,诸如来自HONEYWELLINTERNATIONAL INC的FAULT TOLERANT ETHERNET(容错以太网)(FTE)。
至少一个交换机/防火墙110将网络108耦合到两个网络112。交换机/防火墙110可以将业务从一个网络传送到另一个网络。交换机/防火墙110还可以阻止一个网络上的业务到达另一个网络。交换机/防火墙110包括用于提供网络之间的通信的任何适合的结构,诸如是HONEYWELL CONTROL FIREWALL(控制防火墙)(CF9)设备。网络112可以表示任何适合的网络,诸如FTE网络。
在Purdue模型中,“级别2”可以包括耦合到网络112的一个或多个机器级控制器114。机器级控制器114执行各种功能来支持可以与特定的工业装备件(诸如锅炉或其他机器)相关联的控制器106a-106b和I/O设备104a-104b的操作和控制。例如,机器级控制器114可以以日志记录(log)由控制器106a-106b收集或生成的信息,诸如来自传感器的测量数据或者用于致动器的控制信号。机器级控制器114还可以执行控制控制器106a-106b的操作的应用,由此控制I/O设备104a-104b的操作。此外,机器级控制器114可以提供对控制器106a-106b的边缘访问(edge access)。机器级控制器114中的每个均包括用于以下内容的任何适合的结构:提供对机器或其他单独装备件的访问、提供对机器或其他单独装备件的控制或者提供与机器或其他单独装备件相关的操作。机器级控制器114中的每个均可以例如表示运行MICROSOFT WINDOWS操作系统的服务器计算设备。虽然未示出,但是不同的机器级控制器114可以被用来控制过程系统中的不同装备件(其中每个装备件均与一个或多个控制器106a-106b以及I/O设备104a-104b相关联)。
一个或多个操作者站116耦合到网络112。操作者站116表示提供对机器级控制器114的用户访问的计算或通信设备,机器级控制器114然后可以提供对控制器106a-106b(以及可能地I/O设备104a-104b)的用户访问。作为特定的示例,操作者站116可以允许用户使用由控制器106a-106b和/或机器级控制器114所收集的信息来回顾I/O设备104a-104b的操作历史。操作者站116还可以允许用户调整I/O设备104a-104b、控制器106a-106b或机器级控制器114的操作。此外,操作者站116可以接收和显示由控制器106a-106b或机器级控制器114所生成的警告、警示或者其他消息或显示。操作者站116中的每个均包括用于支持系统100中的一个或多个部件的用户访问和控制的任何适合的结构。操作者站116中的每个均可以例如表示运行MICROSOFT WINDOWS操作系统的计算设备。
至少一个路由器/防火墙118将网络112耦合到两个网络120。路由器/防火墙118包括用于提供网络间通信的任何适合的结构,诸如安全路由器或组合路由器/防火墙。网络120可以表示任何适合的网络,诸如FTE网络。
在Purdue模型中,“级别3”可以包括耦合到网络120的一个或多个单元级控制器122。每个单元级控制器122通常与过程系统中的单元相关联,该过程系统中的单元表示一起操作来实现过程的至少一部分的不同机器的集合。单元级控制器122执行各种功能来支持更低级别中的部件的操作和控制。例如,单元级控制器122可以以日志记录由更低级别中的部件收集或生成的信息、执行控制更低级别中的部件的应用以及提供对更低级别中的部件的安全访问。单元级控制器122中的每个均包括用于以下内容的任何适合的结构:提供对过程单元中的一个或多个机器或其他装备件的访问、提供对过程单元中的一个或多个机器或其他装备件的控制或者提供与过程单元中的一个或多个机器或其他装备件相关的操作。单元级控制器122中的每个均可以例如表示运行MICROSOFT WINDOWS操作系统的服务器计算设备。虽然未示出,但是不同的单元级控制器122可以被用来控制过程系统中的不同单元(其中每个单元与一个或多个机器级控制器114、控制器106a-106b和I/O设备104a-104b相关联)。
可以由一个或多个操作者站124来提供对单元级控制器122的访问。操作者站124中的每个均包括用于支持系统100中的一个或多个部件的用户访问和控制的任何适合的结构。操作者站124中的每个均可以例如表示运行MICROSOFT WINDOWS操作系统的计算设备。
至少一个路由器/防火墙126将网络120耦合到两个网络128。路由器/防火墙126包括用于提供网络间通信的任何适合的结构,诸如安全路由器或组合路由器/防火墙。网络128可以表示任何适合的网络,诸如FTE网络。
在Purdue模型中,“级别4”可以包括耦合到网络128的一个或多个工厂级控制器130。每个工厂级控制器130通常与工厂102a-102n中的一个相关联,该工厂102a-102n中的一个可以包括实现相同的、类似的或不同的过程的一个或多个过程单元。工厂级控制器130执行各种功能来支持更低级别中的部件的操作和控制。作为特定的示例,工厂级控制器130可以执行一个或多个制造执行系统(MES)应用、调度应用或者其他的或附加的工厂或过程控制应用。工厂级控制器130中的每个包括用于以下内容的任何适合的结构:提供对过程工厂中的一个或多个过程单元的访问、提供对过程工厂中的一个或多个过程单元的控制或者提供与过程工厂中的一个或多个过程单元相关的操作。工厂级控制器130中的每个均可以例如表示运行MICROSOFT WINDOWS操作系统的服务器计算设备。
可以由一个或多个操作者站132来提供对工厂级控制器130的访问。操作者站132中的每个均包括用于支持系统100中的一个或多个部件的用户访问和控制的任何适合的结构。操作者站132中的每个均可以例如表示运行MICROSOFT WINDOWS操作系统的计算设备。
至少一个路由器/防火墙134将网络128耦合到一个或多个网络136。路由器/防火墙134包括用于提供网络间通信的任何适合的结构,诸如安全路由器或组合路由器/防火墙。网络136可以表示任何适合的网络,诸如企业范围的以太网或其他网络或者更大网络(诸如因特网)的全部或一部分。
在Purdue模型中,“级别5”可以包括耦合到网络136的一个或多个企业级控制器138。每个企业级控制器138通常能够执行针对多个工厂102a-102n的计划操作,并且能够控制工厂102a-102n的各个方面。企业级控制器138还可以执行各种功能来支持工厂102a-102n中的部件的操作和控制。作为特定的示例,企业级控制器138可以执行一个或多个订单处理应用、企业资源计划(ERP)应用、高级计划和调度(APS)应用,或任何其他的或附加的企业控制应用。企业级控制器138中的每个均包括用于以下内容的任何适合的结构:提供对一个或多个工厂的访问、提供对一个或多个工厂的控制或者提供与一个或多个工厂的控制相关的操作。企业级控制器138中的每个均可以例如表示运行MICROSOFT WINDOWS操作系统的服务器计算设备。在本文中,术语“企业”指代具有要被管理的一个或多个工厂或其他处理设施的组织。注意的是,如果仅要管理单个工厂102a,则可以将企业级控制器138的功能性结合到工厂级控制器130中。
可以由一个或多个操作者站140来提供对企业级控制器138的访问。操作者站140中的每个包括用于支持系统100中的一个或多个部件的用户访问和控制的任何适合的结构。操作者站140中的每个均可以例如表示运行MICROSOFT WINDOWS操作系统的计算设备。
Purdue模型的各种级别可以包括其他部件,诸如一个或多个数据库。与每个级别相关联的(一个或多个)数据库可以存储与系统100的该级别或一个或多个其他级别相关联的任何适合的信息。例如,历史记录器(historian)141可以耦合到网络136。历史记录器141可以表示存储关于系统100的各种信息的部件。历史记录器141可以例如存储在生产调度和优化期间所使用的信息。历史记录器141表示用于存储和促进信息的检索的任何适合的结构。虽然被示出为耦合到网络136的单个集中式部件,但是历史记录器141可以位于系统100中的其他地方,或者多个历史记录器可以分布在系统100中的不同位置。
在特定的实施例中,图1中的各种控制器和操作者站可以表示计算设备。例如,控制器106a、106b、114、122、130和138中的每个可以包括一个或多个处理设备142和用于存储由该(一个或多个)处理设备142所使用、生成或收集的指令和数据的一个或多个存储器144。控制器106a、106b、114、122、130和138中的每个还可以包括至少一个网络接口146,诸如一个或多个以太网接口或无线收发器。而且,操作者站116、124、132和140中的每个均可以包括一个或多个处理设备148和用于存储由该(一个或多个)处理设备148所使用、生成或收集的指令和数据的一个或多个存储器150。操作者站116、124、132和140中的每个还可以包括至少一个网络接口152,诸如一个或多个以太网接口或无线收发器。
如上所述,可能存在工业过程控制和自动化系统100中的具体计算设备不能与特定的I/O设备直接交互的一些实例。作为示例,控制器106a可能不能够与I/O设备104a直接通信,或者控制器106b可能不能够与I/O设备104b直接通信。这可能因为任何数量的原因而引起,任何数量的原因诸如(一个或多个)控制器或(一个或多个)I/O设备的设计。
根据本公开,控制器或其他计算设备可以配有至少一个中继处理器,其可以被放置得与计算设备的至少一个主处理器进行通信。中继处理器还可以被放置得与对主处理器而言否则在电或逻辑上不可访问的I/O设备进行通信。作为特定的示例,控制器106a可以包括促进与I/O设备104a进行通信的中继处理器,或者控制器106b可以包括促进与I/O设备104b进行通信的中继处理器。因此,控制器106a能够与I/O设备104a进行交互,或者控制器106b能够与I/O设备104b进行交互。
在一些实施例中,主处理器和中继处理器支持被用来在处理器之间共享数据的通信协议。例如,中继处理器可以被配置成向和从I/O设备写入数据以及读取数据。当主处理器需要对I/O设备进行访问时,主处理器可以向中继处理器传输信号,引导中继处理器向I/O设备传输命令(诸如读取命令或写入命令)。这使得主处理器能够将中继处理器用作代理来向I/O设备写入数据或从I/O设备接收数据,即使主处理器不能够在电或逻辑上访问该I/O设备。
取决于系统100中支持的功能,主处理器和中继处理器之间的具体交互可以变化。例如,当I/O设备代表传感器时,主处理器可以将中继处理器用作代理来获得来自传感器的测量数据。当I/O设备代表致动器时,主处理器可以将中继处理器用作代理来向致动器提供控制数据。可以在处理器之间支持任何其他适合的交互和数据传送来支持与I/O设备的中继。
存在各种方法来支持主处理器和中继处理器之间的通信。例如,可以提供可由两个处理器访问的共享存储器,并且共享存储器可以驻留在计算设备之内或之外。任何适合的机制也可以被用来帮助减少或防止两个处理器对相同存储器位置的同时访问。
由处理器使用的通信协议可以定义是否要执行读取或写入操作。在写入操作的情况下,通信协议可以定义要被写入的数据。在读取操作的情况下,通信协议可以在商定(agreed-upon)的存储器位置中提供新读取的数据。这样的通信协议还可以提供“返回状态”,其指示请求是否仍在进展中或该请求是否已经被完成。返回状态还可以指示操作的成功或失败。处于作为代理角色的中继处理器可以针对任何新请求周期性地或连续地检查共享存储器区域。主处理器可以监视共享存储器区域,以便确定何时可以做出新请求或者确定何时现有请求已经被完成。
该功能性的特定示例涉及向控制器106a或106b添加电路卡。电路卡可以包含未使用的处理器和门阵列两者。门阵列可以包含逻辑来将I/O路径驱动到通信网络上。例如,电路卡可以表示来自HONEYWELL INTERNATIONAL INC的LCNP4E电路卡,其被惯常地用来在工业过程控制和自动化系统中提供去往局域控制网络(LCN)的网络路径。该电路卡可以包括对于通过LCN的正常通信而言并不需要的处理器(诸如MOTOROLA 68040处理器)。该卡被放置到控制器中,以便给予该卡对由控制器使用的通信介质的访问。然而,诸如由于缺乏去往门阵列的存储器的任何直接路径,控制器的主处理器可能不能够访问门阵列。控制器的电路卡上的未使用的处理器因此可以被用作中继处理器。此处,控制器的主处理器请求另外未使用的处理器充当中继,作为针对主处理器的代理在门阵列中执行其期望的I/O操作。在完成期望的操作之后,代理将结果通知主处理器,该结果包括新读取的任何数据。
虽然图1图示了工业过程控制和自动化系统100的一个示例,但是可以对图1做出各种改变。例如,系统100可以包括任何数量的传感器、致动器、控制器、服务器、操作者站、网络和其他部件。而且,图1中的系统100的组成和布置仅用于说明。可以根据特定需要以任何其他适合的配置添加、省略、组合或放置部件。此外,特定功能已经被描述为由系统100的特定部件执行。这仅用于说明。一般而言,控制和自动化系统是高度可配置的,并且可以根据特定需要以任何适合的方式进行配置。此外,图1图示了一个示例操作环境,其中可以使用用以促进与不可访问的I/O设备的处理器通信的中继机制。该功能性可以被用在任何其他适合的系统中。
图2图示了根据本公开的促进与不可访问的I/O设备的处理器通信的示例计算设备200。图2中示出的计算设备200可以例如表示图1中示出的和上文描述的控制器106a-106b中的任一个。然而注意,也可以以任何其他适合的方式来实现控制器106a-106b。
如在图2中示出的,计算设备200包括总线系统202,其支持至少一个处理设备204、至少一个存储设备206、至少一个通信单元208与至少一个I/O单元210之间的通信。
处理设备204执行可以被加载到存储器212中的指令。处理设备204可以包括任何适合的布置的任何适合的(一个或多个)数量和(一个或多个)类型的处理器或其他设备。示例类型的处理设备204包括微处理器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路和分立电路系统。使用上文的术语,处理设备204可以被称为表示设备200的“主”处理器。
存储器212和永久存储设备214是存储设备206的示例,其表示能够存储信息(诸如在临时或永久基础上的数据、程序代码和/或其他适合的信息)和促进信息检索的任何(一个或多个)结构。存储器212可以表示随机存取存储器或(一个或多个)任何其他适合的易失性或非易失性存储设备。永久存储设备214可以包含支持数据的更长期存储的一个或多个部件或设备,诸如只读存储器、硬盘驱动器、闪速存储器或光盘。
通信单元208支持与其他系统或设备的通信。例如,通信单元208可以包括促进通过网络的通信的网络接口卡或无线收发器。通信单元208可以支持通过(一个或多个)任何适合的物理或无线通信链路的通信。
I/O单元210虑及数据的输入和输出。例如,I/O单元210可以通过键盘、鼠标、小键盘、触摸屏或其他适合的输入设备为用户输入提供连接。I/O单元210还可以向显示器、打印机或其他适合的输出设备发送输出。此外,I/O单元210可以支持与诸如一个或多个I/O设备104a或104b之类的I/O设备的通信和交互。
如上所述,至少一个中继处理设备216可以被用来支持处理设备204与另外对处理设备204而言不可访问的至少一个I/O设备之间的通信。特别地,中继处理设备216可以访问I/O设备并且充当中继器来向处理设备204提供信息或者接收来自处理设备204的信息。例如,至少一个中继处理设备216和至少一个I/O单元210可以驻留在可以耦合到设备200的电路卡上。处理设备204和216可以被配置成支持被用来在处理设备之间共享数据的通信协议。例如,通信协议可以允许处理设备204来请求中继处理设备216执行涉及I/O设备的读取或写入操作,其中处理设备204缺乏对I/O设备的访问。通信协议还可以允许中继处理设备216返回关于所请求的操作的信息,诸如成功的写入操作的确认或针对成功的读取操作的新读取数据。取决于是否使用共享存储器,处理设备204和216还可以支持对诸如在存储器212或永久存储设备214内的共享存储器的访问和使用。
虽然图2图示了促进与不可访问的I/O设备的处理器通信的计算设备200的一个示例,但是还可以对图2做出各种改变。例如,计算设备可以以各种各样的配置出现。图2中示出的计算设备意图图示一个示例实现方式并且不将本公开限制为特定类型的计算设备。
图3图示了根据本公开的促进与不可访问的I/O设备的处理器通信的计算设备300的具体示例。如在图3中示出的,计算设备300的该具体示例包括结合计算硬件304来运行的仿真架构302。计算设备300还包括接口卡306,其促进经由介质访问单元(MAU)310的对LCN308的访问。计算硬件304此处包括各种设备接口312,诸如小型计算机系统接口(SCSI)、HONEYWELL PDG视频接口、LCN接口(LCNI)和工作站接口(WSI)。计算硬件304还包括被用来存储信息的至少一个寄存器314,该信息与由计算硬件304生成的中断相关联。然而注意的是,计算硬件304可以包括任何其他的或附加的接口或存储器。
仿真架构302包括被用来对另一类型的处理器(诸如INTEL x86处理器)上的具体类型的处理器(在该示例中是68040处理器)进行仿真的仿真框架。该框架包括内核仿真器316、指令仿真器318和I/O仿真器320。如名称暗示的,内核仿真器316被用来对所谓的内核功能(通常不由主处理器执行的计算功能,在下文列举其示例)进行仿真。而且,指令仿真器318被用来对处理器上的指令的执行进行仿真,以及I/O仿真器320被用来对处理器上的输入和输出操作进行仿真。取决于被仿真的具体内核,内核仿真器316可以包括各种类型的仿真。例如,内核仿真器316可以包括用于68040处理器的通用异步接收器/发射器(UART)仿真器和时钟仿真器。指令仿真器318被用来实现没有在内核仿真器316内执行的各种指令。例如,指令仿真器318可以被用来执行旧有源代码中的各种指令,以便对68040处理器上的旧有源代码的执行进行仿真。在一些实施例中,指令仿真器318可以表示来自MICROAPL LTD的指令仿真器。
接口卡306在本示例中包括门阵列322和存储器324。门阵列322运转来提供到外部网络的物理连接,外部网络在该情况中是LCN。存储器324被用来存储流过接口卡306的数据。门阵列322包括提供到外部网络的连接的任何适合的电路系统。存储器324包括用于存储和促进信息的检索的任何适合的结构,诸如动态随机存取存储器(DRAM)。接口卡306还包括中继处理器326,其如上文描述的那样来充当主处理器(其执行仿真架构302)与接口312之间的中继。在该特定示例中,中继处理器326如上所述经由四个接口312(LCNI、SCSI、PDG和WSI)来提供对I/O设备的访问,虽然中继处理器326可以经由任何适合的接口来提供对任何适合的I/O设备的访问。
在本示例中,I/O仿真器320包括多个中继328,其运转来引导经由中继处理器326的去往和来自接口312的通信。每个类型的接口312可以具有其自己的中继328,使得在没有接口312通过正常通信可能实际上是不可访问的任何知识的情况下,执行作为仿真架构302的部分的程序可以经由中继328来访问接口312。
仿真器316-320传送和交换访问通知和中断通知。访问通知被用来指示一个仿真器需要访问与另一仿真器相关联的数据或其他信息。中断通知被一个仿真器用来通知另一仿真器已经发生中断,使得另一仿真器可以响应于该中断来采取适合的动作。中断监视线程330在此被用来针对来自计算硬件304的中断进行扫描以及向仿真器318提供附加的中断通知。
一个或多个共享存储器332a-332b可以被用来支持数据在图3中的计算设备300的各种部件之间的传送。每个共享存储器332a-332b表示能够存储数据的任何适合的结构。虽然在此被示为单独的存储器,但是共享存储器332a-332b可以表示单个存储器设备的不同部分。
虽然图3图示了促进与不可访问的I/O设备的处理器通信的计算设备300的一个具体示例,但是可以对图3做出各种改变。例如,图3中的各种部件可以被组合、进一步细分或省略,并且可以根据特定需要来添加附加的部件。而且,虽然图3图示了涉及68040处理器的一个具体仿真,但是还可以支持涉及不同处理器的任何其他适合的仿真。
图4和图5图示了根据本公开的用于促进与不可访问的I/O设备的处理器通信的示例方法。特别地,图4图示了由第一处理器(主处理器)使用的尝试访问不可由第一处理器直接访问的I/O设备的示例方法400,并且图5图示了由充当用于第一处理器的代理的第二处理器(中继处理器)使用的示例方法500。为了易于解释,关于在图1的系统100中操作的控制器106a-106b中的一个来描述方法400和方法500,虽然可以在任何其他适合的系统中并且与任何其他适合的设备一起使用该方法。
如在图4中示出的,在步骤402处,在第一处理器处做出需要或期望对I/O设备的访问的确定。这可以包括例如,控制器106a或106b的处理设备204确定需要对I/O设备104a或104b的读取或写入访问,诸如执行控制器106a或106b的控制逻辑。
所标识的I/O设备可能不可由第一处理器在电或逻辑上访问。在该情况下,在步骤404处,第一处理器向能够访问I/O设备的第二处理器传输信号。这可以包括例如:控制器106a或106b中的处理设备204向具有对I/O设备104a或104b的访问的中继处理设备216传输信号。第一处理器可以以任何适合的方式将第二处理器标识为I/O设备的代理,诸如通过使用存储在第一处理器处的表格或其他信息。取决于例如期望的命令是读取命令还是写入命令,被发送到第二处理器的信号可以具有任何适合的内容。
在步骤406处,在第一处理器处接收第二处理器已经向I/O设备传输了命令的指示。这可以包括例如:处理设备204接收返回状态,该返回状态指示已经将读取或写入命令从中继处理设备216传输到I/O设备104a或104b。在步骤408处,在第一处理器处接收命令是否被成功完成的指示。这可以包括例如:处理设备204接收返回状态,该返回状态指示是否使用I/O设备104a或104b成功执行读取或写入命令。如果需要,在步骤410处,访问共享存储器以获得命令的结果。这可以包括例如:处理设备204访问共享存储器位置来获得从I/O设备104a或104b读取的数据。注意的是,还可以经由共享存储器来接收返回状态指示符。
此时,第一处理器可以执行任何期望的功能。例如,第一处理器可以使用所获得的数据来执行控制逻辑。第一处理器还可以使用该数据来标识要经由相同代理处理器或不同代理处理器被直接地或间接地访问的另一I/O设备。
如在图5中示出的,在步骤502处,第二处理器接收来自第一处理器的信号。这可以包括例如:中继处理设备216接收来自处理设备204的信号,其中中继处理设备216具有对处理设备204希望访问的I/O设备104a或104b的访问。作为响应,在步骤504处,第二处理器代表第一处理器向I/O设备传输命令。这可以包括例如,中继处理设备216基于从处理设备204接收的信号来构建针对I/O设备104a或104b的读取或写入命令。
在步骤506处,第二处理器已经向I/O设备传输命令的指示被传输到第一处理器。这可以包括例如:中继处理设备216提供返回状态,该返回状态指示已经将读取或写入命令从中继处理设备216传输到I/O设备104a或104b。在步骤508处,该命令是否被成功完成的指示被传输到第一处理器。这可以包括例如:中继处理设备216提供返回状态,该返回状态指示是否使用I/O设备104a或104b成功执行读取或写入命令。如果需要,在步骤510处,访问共享存储器以存储命令的结果。这可以包括例如:中继处理设备216访问共享存储器位置来存储从I/O设备104a或104b读取的数据。注意的是,还可以经由共享存储器来提供返回状态指示符。
虽然图4和图5图示了用于促进与不可访问的I/O设备的处理器通信的方法400和500的示例,但是也可以对图4和图5做出各种改变。例如,虽然被示为一系列步骤,但是每个图中示出的各种步骤可以重叠、并行发生、以不同顺序发生或者发生多次。此外,可以组合或去除一些步骤,以及可以根据特定需要来添加附加的步骤。
注意的是,在以上描述中,中继处理器的使用经常被描述为为主处理器提供对I/O设备的访问,其中主处理器和中继处理器与相同的计算设备(诸如相同的控制器106a或106b)相关联。然而,不一定是该情况,并且在其他实例中,主处理器和中继处理器可以形成不同设备的部分。例如,一个控制器106a中的主处理器可以与另一控制器106b中的中继处理器进行通信来与I/O设备104b交互,或者一个控制器106b中的主处理器可以与另一控制器106a中的中继处理器进行通信来与I/O设备104a交互。可以支持适合的设备间通信来允许不同设备中的处理器以该方式交互。
在一些实施例中,由计算机程序来实现或支持本专利文档中描述的各种功能,该计算机程序由计算机可读程序代码形成并且被体现在计算机可读介质中。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够由计算机访问的任何类型的介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、压缩盘(CD)、数字视频盘(DVD)或任何其他类型的存储器。“非临时性”计算机可读介质排除传输临时性电信号或其他信号的有线通信链路、无线通信链路、光学通信链路或其他通信链路。非临时性计算机可读介质包括其中可以永久性地存储数据的介质和其中数据可以被存储并且之后被覆写的介质,诸如可重写光盘或可擦除存储器设备。
阐述遍及本专利文件所使用的某些词语和短语的定义可能是有利的。术语“应用”和“程序”指代适用于以适合的计算机代码(包括源代码、目标代码或可执行代码)的实现的一个或多个计算机程序、软件部件、指令集、过程、函数、对象、类、实例、相关数据或其一部分。术语“通信”及其衍生词涵盖直接通信和间接通信二者。主语“包括”和“包含”及其衍生词意指包括而没有限制。术语“或者”是包括性的,意为和/或。短语“与……相关联”及其衍生词可以意指包括、被包括在……内、与……互连、包含、被包含在……内、连接到或与……连接、耦合到或与……耦合、与……可通信、与……协作、交织、并置、与……接近、被结合到或与……结合、具有、具有……的性质、具有与或和……的关系或诸如此类。短语“……中的至少一个”当与项目列表一起使用时,意指可以使用所列出的项目中的一个或多个项目的不同组合,以及可能需要列表中的仅一个项目。例如,“A、B和C中的至少一个”包括以下组合中任何一个:A、B、C、A和B、A和C、B和C以及A和B和C。
不应当将本申请中的描述解读为暗示任何特定元素、步骤或功能是必须被包括在权利要求范围中的必要或关键的元素。仅由允许的权利要求来限定被专利的主题的范围。此外,没有权利要求意图关于任何所附权利要求或权利要求元素来引用35 U.S.C.§ 112(f),除非在特定权利要求中明确地使用后面是指明功能的分词短语的确切词语“用于……的装置”或“用于……的步骤”。在权利要求内对诸如(但不限于)“机构”、“模块”、“设备”、“单元”、“部件”、“元件”、“构件”、“装置”、“机器”、“系统”、“处理器”或“控制器”之类的术语的使用被理解为并且意图指代相关领域技术人员已知的结构,如由权利要求本身的特征进行进一步修改或增强的那样,并且没有打算引用35 U.S.C.§ 112(f)。
尽管本公开已经描述了某些实施例和一般相关联的方法,但这些实施例和方法的变更和排列对本领域技术人员将是清楚的。因而,示例实施例的以上描述没有限定或约束本公开。在不背离由以下权利要求书限定的本公开的精神和范围的情况下,其他改变、替代和变更也是可能的。

Claims (22)

1.一种方法,包括:
由第一处理设备向第二中继处理设备传输信号,所述信号包括针对所述第二中继处理设备的用以向不可由所述第一处理设备访问的输入/输出设备传输读取命令的消息;
由所述第一处理设备接收所述第二中继处理设备已经向所述输入/输出设备传输了所述读取命令的指示;以及
使用所述第一处理设备访问存储器来获得所述读取命令的结果,其中所述存储器包括与所述第二中继处理设备共享的存储器。
2.根据权利要求1所述的方法,进一步包括:
由所述第一处理设备接收已经使用所述输入/输出设备成功执行所述读取命令的第二指示。
3.根据权利要求1所述的方法,进一步包括:
由所述第一处理设备向所述第二中继处理设备传输第二信号,所述第二信号包括针对所述第二中继处理设备的用以向所述输入/输出设备传输写入命令的第二消息;以及
由所述第一处理设备接收所述第二中继处理设备已经向所述输入/输出设备传输所述写入命令的第二指示。
4.根据权利要求1所述的方法,进一步包括:
在所述第一处理设备处确定需要对所述输入/输出设备的访问;以及
将所述第二中继处理设备识别为用于与所述输入/输出设备通信的中继器。
5.根据权利要求1所述的方法,进一步包括:在计算设备中安装电路卡,所述计算设备包括所述第一处理设备,所述电路卡包括被配置成通过网络进行通信的电路系统和所述第二中继处理设备。
6.一种装置,包括:
第一处理设备,其被配置成向第二中继处理设备传输信号,所述信号包括针对所述第二中继处理设备的用以向不可由所述第一处理设备访问的输入/输出设备传输读取命令和写入命令中的至少一个的消息;
其中所述第一处理设备还被配置成接收所述第二中继处理设备已经向所述输入/输出设备传输了所述读取命令和所述写入命令中的至少一个的指示;以及
其中所述第一处理设备包括计算设备的处理设备,所述计算设备被配置为耦合到电路卡,所述电路卡包括所述第二中继处理设备和被配置为通过网络通信的电路。
7.根据权利要求6所述的装置,其中所述第一处理设备被进一步配置成接收已经使用所述输入/输出设备成功执行所述读取命令和所述写入命令中的至少一个的第二指示。
8.根据权利要求6所述的装置,其中:
所述第一处理设备被进一步配置成访问存储器来获得所述读取命令的结果;以及
所述存储器包括与所述第二中继处理设备共享的存储器。
9.根据权利要求6所述的装置,其中所述第一处理设备被进一步配置成:
确定需要对所述输入/输出设备的访问;和
将所述第二中继处理设备识别为用于与所述输入/输出设备通信的中继器。
10.根据权利要求6所述的装置,其中:
所述第一处理设备进一步被配置成执行仿真框架,所述仿真框架被配置成仿真与所述第二中继处理设备的类型而不是所述第一处理器设备的类型匹配的指定类型的处理器;以及
所述仿真框架包括多个仿真器,包括内核仿真器、指令仿真器和输入/输出仿真器。
11.根据权利要求10所述的装置,其中所述输入/输出仿真器包括被配置成经由所述第二中继处理设备与所述计算设备的多个接口通信的多个中继器。
12.根据权利要求10所述的装置,其中:
所述仿真器被配置成交换访问通知和中断通知;
每个访问通知指示所述仿真器中的一个需要访问与所述仿真器中的另一个相关联的信息;
每个中断通知被所述仿真器中的一个用来通知所述仿真器中的另一个中断已经发生;并且
仿真框架还包括中断监视线程,其被配置成检测来自所述计算设备的硬件的中断并向所述指令仿真器提供附加的中断通知。
13.一种方法,包括:
在第二中继处理设备处接收来自第一处理设备的信号,所述信号包括针对所述第二中继处理设备的用以向不可由所述第一处理设备访问的输入/输出设备传输读取命令的消息;
将所述读取命令从所述第二中继处理设备传输到所述输入/输出设备;
向所述第一处理设备传输所述第二中继处理设备已经向所述输入/输出设备传输了所述读取命令的指示;以及
使用所述第二中继处理设备访问存储器以存储所述读取命令的结果;
其中所述存储器包括与所述第一处理设备共享的存储器。
14.根据权利要求13所述的方法,进一步包括:
向所述第一处理设备传输已经使用所述输入/输出设备成功执行所述读取命令的第二指示。
15.根据权利要求13所述的方法,进一步包括:
在所述第二中继处理设备处接收来自所述第一处理设备的第二信号,所述第二信号包括针对所述第二中继处理设备的用以向所述输入/输出设备传输写入命令的第二消息;
从所述第二中继处理设备向所述输入/输出设备传输所述写入命令;以及
向所述第一处理设备传输所述第二中继处理设备已经向所述输入/输出设备传输所述写入命令的第二指示。
16.根据权利要求13所述的方法,进一步包括:
在计算设备中安装电路卡,所述计算设备包括所述第一处理设备,所述电路卡包括被配置成通过网络进行通信的电路系统和所述第二中继处理设备。
17.根据权利要求16所述的方法,其中所述电路卡的电路被配置成提供本地控制网络LCN接口。
18.一种用于与第一处理设备一起使用的装置,所述装置包括:
第二中继处理设备,其被配置成接收来自第一处理设备的信号,所述信号包括针对所述第二中继处理设备的用以向不可由所述第一处理设备访问的输入/输出设备传输读取命令和写入命令中的至少一个的消息;
其中所述第二中继处理设备还被配置成向所述输入/输出设备传输所述读取命令和所述写入命令中的至少一个;
其中所述第二中继处理设备进一步被配置成向所述第一处理设备传输所述第二中继处理设备已经向所述输入/输出设备传输了所述读取命令和所述写入命令中的至少一个的指示;以及
其中电路卡包括所述第二中继处理设备和被配置成通过网络通信的电路,所述电路卡被配置成安装在包括所述第一处理设备的计算设备中。
19.根据权利要求18所述的装置,其中所述第二中继处理设备被进一步配置成向所述第一处理设备传输已经使用所述输入/输出设备成功执行所述读取命令和所述写入命令中的至少一个的第二指示。
20.根据权利要求18所述的装置,其中:
所述第二中继处理设备进一步被配置成访问存储器以存储所述读取命令的结果;以及
所述存储器包括与所述第一处理设备共享的存储器。
21.根据权利要求18所述的装置,其中所述电路卡的电路被配置成提供本地控制网络LCN接口。
22.根据权利要求18所述的装置,其中:
所述第二中继处理设备被配置成与由所述第一处理设备执行的仿真框架通信,所述仿真框架被配置成仿真与所述第二中继处理设备的类型而不是所述第一处理器设备的类型匹配的指定类型的处理器;以及
所述仿真框架包括多个仿真器,包括内核仿真器、指令仿真器和输入/输出仿真器;以及
所述第二中继处理设备被配置成与所述输入/输出仿真器的多个中继器和所述计算设备的多个接口通信。
CN201780009782.7A 2016-02-05 2017-01-17 用以促进与不可访问的输入/输出(i/o)设备的处理器通信的中继机制 Active CN108604208B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/017,422 US10025727B2 (en) 2016-02-05 2016-02-05 Relay mechanism to facilitate processor communication with inaccessible input/output (I/O) device
US15/017422 2016-02-05
PCT/US2017/013696 WO2017136134A1 (en) 2016-02-05 2017-01-17 Relay mechanism to facilitate processor communication with inaccessible input/output (i/o) device

Publications (2)

Publication Number Publication Date
CN108604208A CN108604208A (zh) 2018-09-28
CN108604208B true CN108604208B (zh) 2023-06-30

Family

ID=59497689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780009782.7A Active CN108604208B (zh) 2016-02-05 2017-01-17 用以促进与不可访问的输入/输出(i/o)设备的处理器通信的中继机制

Country Status (6)

Country Link
US (1) US10025727B2 (zh)
EP (1) EP3411797B1 (zh)
JP (1) JP6938520B2 (zh)
CN (1) CN108604208B (zh)
AU (1) AU2017213664B2 (zh)
WO (1) WO2017136134A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6837145B2 (ja) * 2017-07-10 2021-03-03 株式会社Fuji 基板生産ライン
US10810086B2 (en) 2017-10-19 2020-10-20 Honeywell International Inc. System and method for emulation of enhanced application module redundancy (EAM-R)
US10783026B2 (en) 2018-02-15 2020-09-22 Honeywell International Inc. Apparatus and method for detecting network problems on redundant token bus control network using traffic sensor

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546546A (en) * 1994-05-20 1996-08-13 Intel Corporation Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge
US6536000B1 (en) * 1999-10-15 2003-03-18 Sun Microsystems, Inc. Communication error reporting mechanism in a multiprocessing computer system
CN1906601A (zh) * 2004-09-17 2007-01-31 索尼电脑娱乐公司 中继、娱乐装置、通信系统、通信方法和程序
CN101126993A (zh) * 2006-08-16 2008-02-20 富士通株式会社 数据处理系统、数据处理设备和数据处理方法
US7836328B1 (en) * 2006-05-04 2010-11-16 Oracle America, Inc. Method and apparatus for recovering from system bus transaction errors
CN101946244A (zh) * 2008-02-14 2011-01-12 国际商业机器公司 降低保留设备的访问竞争
CN102804155A (zh) * 2009-06-11 2012-11-28 英特尔公司 向另一设备委托轮询操作
CN103180816A (zh) * 2010-10-21 2013-06-26 马维尔国际贸易有限公司 Usb至sata的高速桥接器
CN103858116A (zh) * 2011-08-09 2014-06-11 Lsi公司 I/o设备及计算主机互操作
CN103946797A (zh) * 2011-12-06 2014-07-23 英特尔公司 用于转换矢量指令的系统、装置和方法
CN104246742A (zh) * 2012-01-17 2014-12-24 英特尔公司 用于远程客户端访问存储设备的命令验证的技术
CN105264505A (zh) * 2012-10-26 2016-01-20 美光科技公司 用于具有可变等待时间的存储器操作的设备及方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870614A (en) 1984-08-02 1989-09-26 Quatse Jesse T Programmable controller ("PC") with co-processing architecture
US5613071A (en) * 1995-07-14 1997-03-18 Intel Corporation Method and apparatus for providing remote memory access in a distributed memory multiprocessor system
US5883939A (en) 1996-08-29 1999-03-16 Cornell Research Foundation, Inc. Distributed architecture for an intelligent networking coprocessor
US6101563A (en) * 1998-05-15 2000-08-08 International Business Machines Corporation Configuration access system
US6295571B1 (en) 1999-03-19 2001-09-25 Times N Systems, Inc. Shared memory apparatus and method for multiprocessor systems
US7505455B1 (en) * 1999-03-19 2009-03-17 F5 Networks, Inc. Optimizations for tunneling between a bus and a network
US6519605B1 (en) 1999-04-27 2003-02-11 International Business Machines Corporation Run-time translation of legacy emulator high level language application programming interface (EHLLAPI) calls to object-based calls
US7826614B1 (en) * 2003-11-05 2010-11-02 Globalfoundries Inc. Methods and apparatus for passing initialization vector information from software to hardware to perform IPsec encryption operation
US7433987B2 (en) * 2004-06-14 2008-10-07 Honeywell International Inc. Computer apparatus for interconnecting an industry standard computer to a proprietary backplane and its associated peripherals
US7565631B1 (en) 2004-07-02 2009-07-21 Northwestern University Method and system for translating software binaries and assembly code onto hardware
JP2006293927A (ja) * 2005-04-14 2006-10-26 Toshiba Corp ダイレクトメモリアクセス制御装置及びダイレクトメモリアクセス制御装置を含むシステムlsi
US7543131B2 (en) * 2005-08-12 2009-06-02 Advanced Micro Devices, Inc. Controlling an I/O MMU
JP4219964B2 (ja) 2006-04-06 2009-02-04 ソニー株式会社 ブリッジ、プロセッサユニット、情報処理装置およびアクセス制御方法
US8001592B2 (en) * 2007-05-09 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for accessing resources using a multiprocessor in a trusted mode
EP2210153B1 (en) 2007-11-13 2013-04-24 Rockwell Automation Technologies, Inc. Industrial controller using shared memory multicore architecture
US7921178B2 (en) * 2008-12-04 2011-04-05 Voltaire Ltd. Device, system, and method of accessing storage
JP5320140B2 (ja) 2009-04-14 2013-10-23 株式会社日立製作所 計算機システム、割込み中継回路及び割込み中継方法
US9858235B2 (en) * 2012-11-15 2018-01-02 Advanced Micro Devices, Inc. Emulated legacy bus operation over a bit-serial bus
US8929277B2 (en) 2013-02-15 2015-01-06 General Dynamics C4 Systems, Inc. Communication units and methods for relay-assisted uplink communication
US20140280494A1 (en) 2013-03-14 2014-09-18 Microsoft Corporation Relay Service for Different Web Service Architectures
US9483431B2 (en) * 2013-04-17 2016-11-01 Apeiron Data Systems Method and apparatus for accessing multiple storage devices from multiple hosts without use of remote direct memory access (RDMA)
US9170939B1 (en) * 2013-09-26 2015-10-27 Western Digital Technologies, Inc. Early de-allocation of write buffer in an SSD
US9727503B2 (en) * 2014-03-17 2017-08-08 Mellanox Technologies, Ltd. Storage system and server
JP2016114968A (ja) * 2014-12-11 2016-06-23 株式会社東芝 半導体集積回路及びそれを用いたデータ転送方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546546A (en) * 1994-05-20 1996-08-13 Intel Corporation Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge
US6536000B1 (en) * 1999-10-15 2003-03-18 Sun Microsystems, Inc. Communication error reporting mechanism in a multiprocessing computer system
CN1906601A (zh) * 2004-09-17 2007-01-31 索尼电脑娱乐公司 中继、娱乐装置、通信系统、通信方法和程序
US7836328B1 (en) * 2006-05-04 2010-11-16 Oracle America, Inc. Method and apparatus for recovering from system bus transaction errors
CN101126993A (zh) * 2006-08-16 2008-02-20 富士通株式会社 数据处理系统、数据处理设备和数据处理方法
CN101946244A (zh) * 2008-02-14 2011-01-12 国际商业机器公司 降低保留设备的访问竞争
CN102804155A (zh) * 2009-06-11 2012-11-28 英特尔公司 向另一设备委托轮询操作
CN103180816A (zh) * 2010-10-21 2013-06-26 马维尔国际贸易有限公司 Usb至sata的高速桥接器
CN103858116A (zh) * 2011-08-09 2014-06-11 Lsi公司 I/o设备及计算主机互操作
CN103946797A (zh) * 2011-12-06 2014-07-23 英特尔公司 用于转换矢量指令的系统、装置和方法
CN104246742A (zh) * 2012-01-17 2014-12-24 英特尔公司 用于远程客户端访问存储设备的命令验证的技术
CN105264505A (zh) * 2012-10-26 2016-01-20 美光科技公司 用于具有可变等待时间的存储器操作的设备及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
访问键盘芯片获取PS/2键盘按键信息;高志新等;《信息安全与通信保密》;20110610;全文 *

Also Published As

Publication number Publication date
WO2017136134A1 (en) 2017-08-10
JP6938520B2 (ja) 2021-09-22
US20170228329A1 (en) 2017-08-10
EP3411797A1 (en) 2018-12-12
CN108604208A (zh) 2018-09-28
US10025727B2 (en) 2018-07-17
EP3411797B1 (en) 2023-09-13
AU2017213664B2 (en) 2022-01-27
EP3411797A4 (en) 2019-08-07
AU2017213664A1 (en) 2018-06-28
JP2019506680A (ja) 2019-03-07

Similar Documents

Publication Publication Date Title
US20230113527A1 (en) Centralized virtualization management node in process control systems
US11249464B2 (en) Industrial control system architecture for real-time simulation and process control
US20170228225A1 (en) System and method for preserving value and extending life of legacy software in face of processor unavailability, rising processor costs, or other issues
EP3469430B1 (en) System and method for legacy level 1 controller virtualization
CN108604208B (zh) 用以促进与不可访问的输入/输出(i/o)设备的处理器通信的中继机制
US20220121184A1 (en) Publish/subscribe protocol for real-time process control
US11960270B2 (en) Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems
CN110892348B (zh) Newgen控制器中传统控制功能与newgen控制功能
CN108604183B (zh) 用于高效同时使用的存储器映像的复制
US10810086B2 (en) System and method for emulation of enhanced application module redundancy (EAM-R)

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant