WO2012012961A1 - 总线调度方法及装置 - Google Patents

总线调度方法及装置 Download PDF

Info

Publication number
WO2012012961A1
WO2012012961A1 PCT/CN2010/076953 CN2010076953W WO2012012961A1 WO 2012012961 A1 WO2012012961 A1 WO 2012012961A1 CN 2010076953 W CN2010076953 W CN 2010076953W WO 2012012961 A1 WO2012012961 A1 WO 2012012961A1
Authority
WO
WIPO (PCT)
Prior art keywords
bus
node
priority
nodes
data
Prior art date
Application number
PCT/CN2010/076953
Other languages
English (en)
French (fr)
Inventor
李峰
马慧
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012012961A1 publication Critical patent/WO2012012961A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/4015Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node

Definitions

  • the present invention relates to the field of communications, and in particular to a bus scheduling method and apparatus. Background technique
  • Rapid IO Rapid IO Architecture
  • Rapid IO Rapid IO Architecture
  • Speeds up to 10 Gbps or higher.
  • Embedded market In a multiprocessor system shared by the Rapid IO bus, all nodes share the same transmission medium. In general, data transmission between nodes can be divided into data driving and timing driving. Data driving usually means that a node can initiate a data transmission request only after processing a certain amount of data.
  • Timing drivers generally require that data transmission information be initiated at a specific point in time and that transmission must be completed within a specified time period.
  • timing information, control data streams, and some high-speed data streams are transmitted in a time-driven manner.
  • each node in the Rapid IO shared bus system usually uses the polling method to obtain the right to use the bus. The disadvantage of this method is that when the delay requirements of each node are different, the node with higher delay requirement and the lower node occupy the bus fairly, resulting in low overall transmission efficiency and poor real-time performance.
  • a primary object of the present invention is to provide a bus scheduling method and apparatus to solve at least the above-mentioned problem that the overall transmission efficiency of the system is not high and the real-time performance is poor.
  • a bus scheduling method including: simultaneously receiving a bus allocation request sent by a plurality of nodes, wherein the plurality of nodes share the bus;
  • the priority of each node is to allocate bus resources in turn for each node.
  • the priority of each node is set according to the size of the transmission delay of the data transmitted by each node.
  • the bus scheduling method further comprises: after the node that obtains the bus resource sends the data by using the bus resource, determining whether the node has a real-time transmission request (so-called real-time transmission means that the data must be started to be sent within a specified time period, and The transmission is completed within the specified time period, that is, the timing drive transmission type mentioned above; if yes, the priority of the node is kept unchanged, and if not, the priority of the node is minimized.
  • the bus scheduling method further includes: after the node that obtains the bus resource sends the data by using the bus resource, determining whether the delay of sending the data by the node is less than or equal to the set delay; if yes, maintaining the priority of the node.
  • the bus scheduling method further comprises: determining a priority of each of the nodes other than the plurality of nodes among the nodes of the shared bus; if the determined node has a lower priority than the current priority of the bus, and If there is no real-time transmission requirement, the priority of the node is increased by one level; otherwise, the priority of the node is kept unchanged; wherein, the current priority is the priority of the node to which the current data of the bus is currently transmitted.
  • the bus scheduling method further comprises: if there is a node that needs to urgently transmit data; after the current data is sent, the bus resource is allocated to the node.
  • the bus is a fast input and output Rapid IO bus.
  • a bus scheduling apparatus including: a receiving module, configured to simultaneously receive a bus allocation request sent by a plurality of nodes, wherein the plurality of nodes share the bus; and an allocation module, configured to follow The priority of each of the plurality of nodes assigns bus resources to each node in turn.
  • the priority of each node is set according to the size of the transmission delay of the data transmitted by each node.
  • the bus scheduling apparatus further includes: a first priority updating module, configured to: after the node that obtains the bus resource uses the bus resource to send the data, determine whether the node has a real-time transmission request; if yes, maintain the priority of the node The level is unchanged, if not, the priority of the node is reduced to the minimum; and/or the second priority update module is used to send the bus resource after the node that obtains the bus resource After the data, it is determined whether the delay of sending the data by the node is less than or equal to the set delay; if yes, the priority of the node is kept unchanged, and if not, the priority of the node is set to the lowest priority.
  • a first priority updating module configured to: after the node that obtains the bus resource uses the bus resource to send the data, determine whether the node has a real-time transmission request; if yes, maintain the priority of the node The level is unchanged, if not, the priority of the node is reduced to the minimum; and/or the second priority update module is used to
  • the bus scheduling apparatus further includes: a third priority updating module, configured to determine a priority of each of the nodes other than the plurality of nodes among the nodes of the shared bus; if the priority of the determined node If the current priority of the bus is lower than the current priority of the bus, and there is no real-time transmission requirement, the priority of the node is increased by one level; otherwise, the priority of the node is kept unchanged; wherein the current priority of the bus is the current data of the bus. The priority of the node.
  • a third priority updating module configured to determine a priority of each of the nodes other than the plurality of nodes among the nodes of the shared bus; if the priority of the determined node If the current priority of the bus is lower than the current priority of the bus, and there is no real-time transmission requirement, the priority of the node is increased by one level; otherwise, the priority of the node is kept unchanged; wherein the current priority of the bus is the current data of the bus. The priority of the node.
  • the bus scheduling device further includes: an emergency sending module, configured to allocate a bus resource to the node after the current data is sent, if the node needs to urgently transmit data;
  • the bus is a fast input and output Rapid IO bus.
  • the bus resources are allocated to a plurality of nodes requesting the bus at the same time according to the priority of each node, and the nodes with higher delay requirements have higher priority, and the bus is applied simultaneously at multiple nodes.
  • the bus resources are allocated according to the priority of each node, so that the nodes with high latency requirements are preferentially allocated to the bus resources, thereby preferentially performing data transmission, thereby realizing the real-time performance of data transmission of nodes with high delay requirements.
  • the nodes in the Rapid IO shared bus in the related art use the polling method to obtain the usage rights of the bus, the node with higher delay requirement and the lower node occupy the bus fairly, resulting in low overall transmission efficiency of the system.
  • the problem of poor real-time performance in order to effectively ensure that the nodes with high delay requirements transmit data in time, thereby improving the overall transmission efficiency of the system and the real-time performance of data transmission.
  • FIG. 1 is a flow chart showing the steps of a bus scheduling method according to a first embodiment of the present invention
  • FIG. 2 is a flow chart showing the steps of a bus scheduling method according to a second embodiment of the present invention
  • FIG. 4 is a flow chart showing the steps of a bus arbitration method according to an embodiment of the present invention
  • FIG. 5 is a structural block diagram of a bus scheduling apparatus according to Embodiment 4 of the present invention
  • FIG. 6 is a schematic structural diagram of a bus scheduling apparatus according to Embodiment 5 of the present invention.
  • Step S102 Simultaneously receive a bus allocation request sent by multiple nodes; The above multiple nodes share the same bus.
  • the system sharing the bus simultaneously receives a partial allocation of all the nodes (including the case of multiple nodes and a single node, and the present embodiment is mainly for the case of multiple nodes), and a bus allocation request for allocating bus resources.
  • Step S104 sequentially allocate bus resources for each node according to the priority of each of the plurality of nodes.
  • the priority of each node can be preset and adjusted during the bus allocation process, that is, the system sharing the bus initially sets priorities for all nodes sharing the bus; it is also possible to allocate and adjust nodes during bus allocation.
  • Priority The priority setting can be set according to the real-time requirement of each node, that is, the size of the transmission delay, and the node with high real-time requirement (small transmission delay) is assigned a higher priority, and the real-time requirement is low ( Nodes with large transmission delays are assigned lower priority, and smaller transmission delays have higher priority.
  • nodes with urgent data transmission requirements can be set to a higher priority to ensure timely delivery of urgent data.
  • the system sharing the bus allocates bus resources to each node according to a preset priority of each of the plurality of nodes. If the system sharing the bus receives three bus allocation requests at the same time, the priority is 1, 2, 3 respectively, then the system sharing the bus is the three request bus resources.
  • the node allocates bus resources, preferentially transmits the data of the node with the priority of 1, and sequentially transmits the data of the nodes with the priority of 2 and 3.
  • each node in the system sharing the bus obtains the use right of the bus by means of polling.
  • Embodiment 2 Referring to FIG. 2, a flow chart of steps of a bus scheduling method according to Embodiment 2 of the present invention is shown.
  • a bus allocation module is set in the Rapid IO system sharing the bus for allocating and managing bus resources; and each node in the Rapid IO system sets a scheduling request module for requesting bus resources.
  • the bus scheduling method of this embodiment includes the following steps: Step S202: The bus allocation module allocates an initial priority to each node in the Rapid IO system; the bus allocation module allocates an initial priority to each node's scheduling request module, The priority depends on the real-time requirement of the current node to transmit data (transmission delay size), and is adjusted in real time according to whether the node has pending data and whether the bus is obtained during the bus resource allocation process.
  • Step S204 The node of the data to be sent detects whether the system bus is idle.
  • step S206 is performed; if no, indicating that the bus is busy, step S204 is continued; in this embodiment, multiple nodes of the Rapid IO system need to be sent.
  • Data request bus resources.
  • step S206 The node that is to send data sends a bus allocation request to the bus allocation module. In this step, when it is confirmed that the bus is idle, a plurality of nodes that need to transmit data send a bus allocation request to the bus allocation module, requesting to occupy the bus.
  • Step S208 The bus allocation module simultaneously receives a bus allocation request of a plurality of nodes to be sent data, and sequentially allocates bus resources for the nodes to be sent data according to the bus arbitration algorithm; in this step, the plurality of nodes simultaneously request the bus
  • the bus allocation module sequentially allocates bus resources for the plurality of nodes according to the arbitration algorithm, that is, determines the priority use node of the current bus, and the order of use of other nodes.
  • the arbitration algorithm that is, determines the priority use node of the current bus, and the order of use of other nodes.
  • Step S210 The nodes in which the plurality of data to be transmitted are allocated in the order of the bus are sent to the bus.
  • Step S212 Update the priority of the node.
  • the update criterion is that, when the system works, the bus allocation module detects that the system Rapid IO bus is transmitting data, and notifies the bus request module of all nodes of the shared bus to maintain the current state.
  • the bus priority remains unchanged, and always occupy the top n priority with the highest priority (n is the number of nodes with higher real-time requirements, which can be based on the time allowed by the node to send data.
  • the upper limit and the set delay are compared and determined, and the n nodes whose delay is less than the set value are set as the first n nodes with the highest priority, for example, the set delay is 2 seconds, if there are 3 nodes A , B, C, the allowable upper limit of delay is 1 second for A, 1.5 seconds for B, and 2.5 seconds for C. Then A and B occupy the first and second priority with the highest priority, respectively.
  • the upper limit cannot be guaranteed to remain unchanged because it is greater than the set 2 seconds.
  • the designer can also flexibly specify certain nodes as nodes for real-time transmission by setting the real-time transmission flag rtf.
  • the node with lower priority can obtain the bus usage right by setting the emergency transmission flag when there is urgent data to be transmitted, and the bus allocation module detects that the node with low priority sets emergency transmission. After the flag is transmitted, the data of the node where the emergency transmission flag is set is started to be transmitted after the current data is transmitted. For each node with low real-time requirements, in order to balance the fairness of bus usage, the system is finished.
  • the priority of each node is updated, and the priority of the node that has completed the data transfer (or the bus usage right for this arbitration) is minimized, which will be in the system.
  • the priority of the node with the current priority of the bus is increased by one level, and the priority of the node higher than the current priority of the system bus remains unchanged, ensuring that the priority of each node is uniquely determined, and the priorities of multiple nodes are not the same.
  • the current priority of the system bus refers to the priority of the node to which the system bus currently transmits data. If the system bus is currently idle, it is the priority of the node to which the last data sent before the idle state belongs.
  • the setting of the emergency transmission flag does not change the priority of the current node.
  • the bus allocation module can be degraded into a bus fair competition model, and the bus priority is adjusted to achieve fair scheduling;
  • the real-time transmission flag (rtf) is set to be valid.
  • the priority of each node will remain unchanged, and the bus allocation module evolves into a fixed priority transmission mode, thereby greatly enhancing The practicability and extensibility of the invention reduce the difficulty of implementation.
  • the fairness of transmission between nodes on the Rapid IO link can be considered on the basis of ensuring the transmission efficiency of the Rapid IO; and the bus allocation module can be flexibly configured according to whether or not there is a real-time requirement.
  • Embodiment 3 Referring to FIG. 3, a flow chart of steps of a bus scheduling method according to Embodiment 3 of the present invention is shown.
  • a total of N nodes are set in the Rapid IO system.
  • an initial priority is set for each node's scheduling request module, and the initial priorities are different from N1 to Nn.
  • the bus allocation module assigns bus usage rights to each node according to the bus request status of each node.
  • Step S302 The bus allocation module sets an initial priority for each node's scheduling request module.
  • a priority update signal is provided for updating the priority of each node.
  • the priority update signal may be an electrical signal sent by the bus after the current data transmission is completed. After receiving the signal, each node may perform priority update of each node.
  • Step S304 The data node to be sent detects the state of the bus before transmitting the data. If the bus is idle, the process goes to step S306; otherwise, the current state of the node is maintained, and it is continued to detect whether the bus is idle.
  • Step S306 The data node to be sent requests the bus from the bus allocation module. In this step, the data node to be transmitted requests the bus by sending a bus allocation request to the bus allocation module.
  • Step S308 The bus allocation module allocates a bus according to the application status of each node.
  • step S310 If only one node applies for the bus, the bus is allocated to the node for use, and the process proceeds to step S310. If multiple nodes apply for the bus, the bus arbitration is performed, that is, the bus is determined. The bus usage order of the plurality of nodes is followed by step 4 to S310.
  • the step 4 can include: Step S308A: determining whether the arbitration logic of the bus system allocates a bus, if yes, executing step S310, if not, executing step S308B; when only one node requests the bus, assigning the bus to the node Use; When there are multiple nodes applying at the same time, it is necessary to determine whether the bus system allocates resources for the node.
  • Step S308B Adjust the priority and wait for the next round of bus scheduling; this step adjusts the priority of the node that does not get the bus resource.
  • Step S308C determining whether it is necessary to initiate emergency transmission, if yes, proceeding to step S308D, if not, returning to step 4 to gather S306; step S308D: setting the emergency transmission flag crf bit, and returning to step S306.
  • Step S310 After the node acquires the bus, the data is sent through the bus, and after the data is sent, the process proceeds to step S302.
  • Step S312 After the data transmission is completed, each node updates its own priority, and returns to step S304.
  • a plurality of nodes in the embodiment apply for resources to the bus at the same time. If the plurality of nodes are nodes with higher real-time requirements, each of the plurality of nodes sends data after using the bus, and the bus The system determines that the delay required by the node to send data is less than or equal to the set delay, that is, the node that belongs to the top N priorities that always occupy the highest priority, and still keeps the original priority of the node unchanged. If some of the nodes belong to a node with higher real-time requirements and the other part belongs to a node with low real-time requirements, the bus system judges each node that has sent the data, if the node requests the delay of sending data.
  • the bus allocation system determines each node that has sent the data, minimizes the priority of the node that has currently sent the data, and sequentially increases the other nodes that have been sent before. The priority of the node of the data.
  • the bus distribution system can also pass It is judged whether each node that has sent data has a real-time transmission request, that is, whether the real-time transmission flag bit rtf is set to adjust the priority of the node. If the judged node sets the rtf bit, the priority of the node is kept unchanged. If the node being judged does not set the rtf bit, the priority of the node is minimized.
  • the bus allocation system determines the priority of each node among the nodes of the shared bus other than the plurality of nodes transmitting the data without the real-time transmission requirement. If the current priority of the bus is lower than the current priority of the bus, the priority of the node to be judged is increased by one level. If the current priority of the bus is higher than the current priority of the bus, the node to be judged is maintained. The priority of the node is unchanged; the priority of other nodes with real-time transmission requirements remains unchanged.
  • the emergency transmission flag can be set to inform the system that it has urgent data transmission requirements, so that the bus resources are preferentially obtained, but setting the emergency transmission flag does not change its priority. level.
  • Step S402 The bus system determines whether there is an emergency transfer request, and if yes, executes step S404; if not, executes step S406; in this step, the bus system determines whether there is an urgent transfer request by using an emergency transfer flag set by the data node to be transmitted.
  • Step S404 The bus system allocates the bus to the highest priority request in the emergency transfer request, and proceeds to step 4 to gather S412. In this step, if there is only one emergency transfer request, the bus is allocated to the emergency transfer request. If there are multiple emergency transfer requests at the same time, the bus is assigned to the highest priority among the multiple emergency transfer requests.
  • Step S406 The bus system determines whether there is a real-time transmission request, and if yes, executes step S408; if not, executes step S410; in this step, if multiple nodes simultaneously apply for resources to the bus and send a bus allocation request to the bus, The bus system determines whether there is a real-time transfer request (the rtf bit is set), that is, the request sent by the node with higher real-time requirement, and if yes, executing step S408, assigning the bus to the highest priority in the real-time transfer request (if If there is only one real-time transfer request, the bus is directly allocated to the request; if not, step S410 is executed to allocate the bus to the highest priority among the plurality of non-real-time transfer requests.
  • a real-time transfer request the rtf bit is set
  • Step S408 The bus system assigns the bus to the highest priority in the real-time transfer request, and proceeds to step S412;
  • Step S410 the bus system assigns the bus to the non-real-time transfer request with the highest priority, and proceeds to step 4 S412;
  • Step S412 Adjust the priority of each node and wait for the next round of bus pre-scheduling.
  • Embodiment 4 Referring to FIG. 5, a block diagram of a bus scheduling apparatus according to Embodiment 4 of the present invention is shown, including: a receiving module 502, configured to simultaneously receive a bus allocation request sent by multiple nodes, where multiple nodes Sharing the same bus; an allocation module 504 for prioritizing each of the plurality of nodes The level allocates bus resources for each node.
  • the priority of each node is set according to the real-time requirement of each node to send data, that is, the size of the transmission delay, and the higher the real-time requirement, the higher the priority.
  • the bus scheduling apparatus of this embodiment further includes: a first priority updating module 506, configured to: after the node that obtains the bus resource uses the bus resource to send the data, determine whether the node has a real-time transmission flag, and if so, maintain the The priority of the node is unchanged, if not, the priority of the node is reduced to a minimum; and/or the second priority update module 508 is configured to determine, after the node that obtains the bus resource sends the data using the bus resource.
  • the bus scheduling apparatus of this embodiment further includes: an emergency sending module 510, configured to allocate a bus resource to the node after the current data is sent, if the node needs to urgently transmit data.
  • the bus scheduling apparatus of this embodiment further includes: a third priority updating module 512, configured to determine a priority of each of the nodes other than the plurality of nodes among the nodes of the shared bus; If the priority of the node is lower than the current priority of the bus, and there is no real-time transmission requirement, the priority of the node is increased by one level; if the priority of the determined node is higher than the current priority of the bus, then the node is maintained. The priority is unchanged; where the current priority of the bus is the priority of the node to which the bus is currently transmitting data.
  • the bus of this embodiment is a Rapid IO bus.
  • FIG. 6 a schematic structural diagram of a bus scheduling apparatus according to Embodiment 5 of the present invention is shown.
  • a node 0 to a node n of the shared bus are provided with a bus requesting module for transmitting a bus allocation request to the bus to apply for a bus resource.
  • the global bus arbitration module is used to arbitrate the bus allocation request sent by the node.
  • the receiving module in the bus scheduling device simultaneously receives the requests of the nodes, and the global bus arbitration module arbitrates the requests.
  • the arbitration The allocation module preferentially allocates the bus resource with the highest priority among the nodes of the urgent transfer request; if there is a real-time transfer request among the requests of the plurality of nodes, the arbitration allocation module gives priority to the highest priority allocated bus resource among the nodes transmitting the request in real time; If the request of multiple nodes is a general transfer request, the arbitration allocation module preferentially allocates the bus resource with the highest priority among the nodes of the general transfer request. In FIG.
  • i_crf_0 represents the emergency transmission signal of node
  • i_rtf_0 represents the real-time transmission signal of node
  • i_bus_req_0 represents the bus allocation request signal of node
  • i_busy_0 represents the busy signal of node
  • i_prio_0 represents node 0.
  • o_bus_state represents the bus status signal
  • o_bus_grant represents the bus ⁇ ⁇ authorized signal
  • o_c_prio represents the current system bus priority signal.
  • the present invention is particularly applicable to a Rapid IO link, the same applies to other bus system scenarios in which different data rates are unbalanced and real-time requirements are different, and the node data has a certain adaptability to burst transmission. .
  • the above multiple embodiments of the present invention are directed to a scenario in which multiple nodes occupy the same Rapid IO bus in a multi-processor system, and a dynamic priority-based bus scheduling mechanism is proposed.
  • each node When the bus needs to be occupied, the system can dynamically allocate the bus according to the priority, ensuring that each node can transmit data in a timely and efficient manner and at the same time; when the instantaneous transmission rate of a node changes, the buffer pressure becomes larger, and when the current data needs to be transmitted, By enabling the emergency transmission flag (crf) to preferentially transmit the current node data, the ability to cope with burst transmission within a certain range is achieved. When other nodes are idle, a node can monopolize the Rapid IO bus to improve bus transmission efficiency.
  • modules or steps of the present invention can be implemented by a general-purpose computing device, which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device, such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps are fabricated as a single integrated circuit module.
  • the invention is not limited to any specific combination of hardware and software.
  • the above is only the preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes can be made to the present invention. Where in the invention ⁇ " God and Within the W principle, any modifications, equivalent substitutions, improvements, etc., are intended to be included within the scope of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bus Control (AREA)

Description

总线调度方法^置 技术领域 本发明涉及通信领域, 具体而言, 涉及一种总线调度方法及装置。 背景技术
Rapid IO ( Rapid InputOutput , 快速 IO 架构) 是由 Rapid IO Trade Association ( Rapid IO行业协会 ) 于 2001年 12月提出的一套用于芯片级和 板级互连的高速全双工级联方案, 其传输速度可达 lOGbps甚至更高。 由于 其具有硬件检测和管理差错能力、 低协议开销、 高吞吐率、 高可靠性、 低引 脚数、 低功耗、 低延迟的优势, 广泛应用于网络和通信设备、 高速存储和其 它高性能的嵌入式市场。 在 Rapid IO总线共享的多处理器系统中, 所有节点共享同一传输介质。 一般而言, 节点间的数据传输方式可分为数据驱动和时序驱动两种。 数据驱 动通常是指某节点只在处理完一定量的数据之后, 方可发起数据传输请求, 该传输类型没有严格的发送时序要求, 只需保证下一次的数据不会覆盖上次 的结果或者确保数据緩存不会产生溢出即可。 而时序驱动一般要求在特定时 间点必须启动发送数据信息, 并且要求在规定时间段内必须传输完毕。 通常 定时信息、 控制数据流和一些高速数据流即釆用时序驱动的方式进行传输。 目前, Rapid IO共享总线的系统中各节点通常是利用轮询的方式取得总 线的使用权。 这种方式的弊端是, 当各个节点对时延要求不同时, 时延要求 较高的节点与较低的节点公平占用总线, 导致系统总体的传输效率不高, 实 时性较差。 发明内容 本发明的主要目的在于提供一种总线调度方法及装置, 以至少解决上述 的系统总体的传输效率不高, 实时性较差问题。 根据本发明的一个方面, 提供了一种总线调度方法, 包括: 同时接收多 个节点发送的总线分配请求, 所述多个节点共享所述总线; 按照多个节点中 每个节点的优先级为每个节点依次分配总线资源。 优选的, 每个节点的优先级根据每个节点发送数据的传输时延的大小设 定。 优选的, 该总线调度方法还包括: 在得到总线资源的节点使用总线资源 发送完数据后, 判断该节点是否有实时传输要求 (所谓实时传输指的是数据 必须在指定时间段启动发送, 并且必须在规定时间段内传输完毕, 也就是前 面所说的时序驱动传输类型); 若是, 则保持该节点的优先级不变, 若否, 则 将该节点的优先级降为最低。 优选的, 该总线调度方法还包括: 在得到总线资源的节点使用总线资源 发送完数据后, 判断该节点发送数据的时延是否小于或等于设定时延; 若是, 则保持该节点的优先级不变, 若否, 则将该节点的优先级设置为最低优先级。 优选的, 该总线调度方法还包括: 判断共享总线的所有节点中除多个节 点外的其它节点中每个节点的优先级; 若被判断的节点的优先级低于总线的 当前优先级, 并且无实时传输要求, 则将该节点的优先级提高一级; 否则, 保持该节点的优先级不变; 其中, 当前优先级为总线当前发送数据的所属节 点的优先级。 优选的, 该总线调度方法还包括: 如果有节点需要紧急传送数据; 在发 送完当前数据后, 为该节点分配总线资源。 优选的, 总线为快速输入输出 Rapid IO总线。 根据本发明的另一方面, 提供了一种总线调度装置, 包括: 接收模块, 用于同时接收多个节点发送的总线分配请求, 所述多个节点共享所述总线; 分配模块, 用于按照多个节点中每个节点的优先级为每个节点依次分配总线 资源。 优选的, 每个节点的优先级根据每个节点发送数据的传输时延的大小设 定。 优选的, 该总线调度装置还包括: 第一优先级更新模块, 用于在得到总 线资源的节点使用总线资源发送完数据后,判断该节点是否有实时传输要求; 若是, 则保持该节点的优先级不变, 若否, 则将该节点的优先级降为最低; 和 /或第二优先级更新模块,用于在得到总线资源的节点使用总线资源发送完 数据后, 判断该节点发送数据的时延是否小于或等于设定时延; 若是, 则保 持该节点的优先级不变, 若否, 则将该节点的优先级设置为最低优先级。 优选的, 该总线调度装置还包括: 第三优先级更新模块, 用于判断共享 总线的所有节点中除多个节点外的其它节点中每个节点的优先级; 若被判断 的节点的优先级低于总线的当前优先级, 并且无实时传输要求, 则将该节点 的优先级提高一级; 否则, 保持该节点的优先级不变; 其中, 总线的当前优 先级为总线当前发送数据的所属节点的优先级。 优选的, 该总线调度装置还包括: 紧急发送模块, 用于如果有节点需要 紧急传送数据; 则在发送完当前数据后, 为该节点分配总线资源。 优选的, 总线为快速输入输出 Rapid IO总线。 通过本发明, 釆用根据每个节点的优先级, 为同时请求总线的多个节点 分配总线资源, 对于时延要求较高的节点, 其优先级也较高, 在有多个节点 同时申请总线资源时, 按照每个节点的优先级分配总线资源, 这样, 时延要 求高的节点优先分配到总线资源, 进而优先进行数据传输, 从而实现了时延 要求高的节点的数据传输的实时性, 解决了相关技术中 Rapid IO共享总线的 系统中各节点利用轮询的方式取得总线的使用权时, 时延要求较高的节点与 较低的节点公平占用总线, 导致的系统总体的传输效率不高, 实时性较差的 问题, 进而达到了有效保证时延要求高的节点及时发送数据, 从而提高了系 统总体的传输效率和数据传输实时性的效果。 附图说明 此处所说明的附图用来提供对本发明的进一步理解, 构成本申请的一部 分, 本发明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的 不当限定。 在附图中: 图 1是根据本发明实施例一的一种总线调度方法的步骤流程图; 图 2是根据本发明实施例二的一种总线调度方法的步骤流程图; 图 3是根据本发明实施例三的一种总线调度方法的步骤流程图; 图 4是 居本发明实施例的一种总线仲裁方法的步骤流程图; 图 5是根据本发明实施例四的一种总线调度装置的结构框图; 图 6是根据本发明实施例五的一种总线调度装置的结构示意图。 具体实施方式 下文中将参考附图并结合实施例来详细说明本发明。 需要说明的是, 在 不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互组合。 实施例一 参照图 1 , 示出了根据本发明实施例一的一种总线调度方法的步骤流程 图, 包括以下步 4聚: 步骤 S 102: 同时接收多个节点发送的总线分配请求; 其中, 上述多个节点共享同一总线。 本步骤中, 共享总线的系统同时接收到所有节点中的部分节点 (包括多 个节点和单个节点的情形, 本实施例主要针对多个节点的情形) 发送的要求 分配总线资源的总线分配请求。 步骤 S 104:按照多个节点中每个节点的优先级为每个节点依次分配总线 资源。 每个节点的优先级可以预先设定, 并在总线分配过程中调整, 即共享总 线的系统在初始时为共享该总线的所有节点设定优先级; 也可以在总线分配 过程中分配和调整节点的优先级。 优先级的设定可以 据每个节点的实时性 要求, 即传输时延的大小设定, 对于实时性要求高 (传输时延小) 的节点分 配较高的优先级, 对于实时性要求低 (传输时延大) 的节点分配较低的优先 级, 传输时延越小则优先级越高。 在总线资源分配过程中, 可以为有紧急数 据发送需求的节点设定较高的优先级, 以保证紧急数据的及时发送。 当然, 本领域技术人员也可以才艮据实际需求, 适当选用设定优先级的标准, 本发明 对此不作限制。 本步骤中, 共享总线的系统按照多个节点中每个节点的预先设定的优先 级为每个节点分配总线资源。 如共享总线的系统同时接收到 3个总线分配请 求, 其优先级分别为 1、 2、 3 , 则共享总线的系统为这 3个请求总线资源的 节点分配总线资源, 优先发送优先级为 1的节点的数据, 再依次发送优先级 为 2和 3的节点的数据。 相关技术中, 共享总线的系统中各节点利用轮询的方式取得总线的使用 权, 因此, 当各个节点对时延要求不同时, 时延要求较高的节点与较低的节 点公平占用总线, 导致系统总体的传输效率不高, 实时性较差。 通过本实施 例, 为各节点分配优先级, 时延要求高的节点优先级也较高, 居优先级为 多个节点分配资源, 有效保证了时延要求高的节点的数据的及时发送, 提高 了系统总体的传输效率和数据传输实时性。 实施例二 参照图 2 , 示出了才艮据本发明实施例二的一种总线调度方法的步骤流程 图。 本实施例中, 在共享总线的 Rapid IO系统中设置总线分配模块, 用以分 配和管理总线资源; 在 Rapid IO系统中的各个节点设置调度请求模块, 用以 请求总线资源。 本实施例的总线调度方法包括以下步 4聚: 步骤 S202: 总线分配模块为 Rapid IO 系统中的各个节点分配初始优先 级; 总线分配模块为每一个节点的调度请求模块分配一个初始优先级, 该优 先级取决于当前节点发送数据的实时性要求(传输时延大小), 并在总线资源 分配过程中根据该节点有无待发数据以及是否得到总线而实时调整。 步骤 S204: 待发送数据的节点检测系统总线是否空闲, 若是, 则执行步 骤 S206; 若否, 表示总线忙, 则继续执行步骤 S204; 本实施例中, 设定 Rapid IO系统的多个节点需要发送数据, 请求总线资 源。 在多个节点准备发送数据前, 先检测总线是否空闲, 若空闲, 则进入步 骤 S206 进行总线申请; 若总线忙, 则保持当前状态, 继续检测系统总线是 否空闲。 步骤 S206: 待发送数据的节点向总线分配模块发送总线分配请求; 本步骤中, 在确认总线空闲时, 需要发送数据的多个节点向总线分配模 块发送总线分配请求, 请求占用总线。 步骤 S208: 总线分配模块同时接收多个待发送数据的节点的总线分配请 求, 按照总线仲裁算法, 为多个待发送数据的节点依次分配总线资源; 本步骤中, 在出现多个节点同时请求总线时, 启动总线分配模块, 总线 分配模块根据仲裁算法为多个节点依次分配总线资源, 即判定当前总线的优 先使用节点, 以及其它节点的使用顺序。 具体的仲裁算法可以参照图 4所示 实施例, 在此不再赘述。 步骤 S210: 多个待发送数据的节点 居总线分配的先后顺序向总线发送 数据; 本步骤中, 根据步骤 S208 的总线资源分配结果, 优先获取总线使用权 的节点优先向总线发送数据。 在该结点发送完数据后, 其它结点根据优先级 依次使用分配的总线资源发送数据。 步骤 S212: 更新节点的优先级。 更新准则为, 在系统工作时, 总线分配模块一旦检测到系统 Rapid IO总 线正在发送数据, 则通知共享总线的所有节点的总线申请模块, 保持当前状 态。 对于实时性要求较高的节点, 其总线优先级保持不变, 且始终占据优先 级最高的前 n个优先级 ( n为实时性要求较高的节点数, 可以根据节点发送 数据所允许的时延上限和设定的时延进行比较确定, 将时延小于设定值的 n 个节点设为优先级最高的前 n个节点, 如, 设定时延为 2秒, 若有 3个节点 A、 B、 C, 允许的时延上限分别为 A为 1秒、 B为 1.5秒、 C为 2.5秒, 则 A和 B分别占据优先级最高的第一个和第二个优先级, C的时延上限因为大 于设定的 2秒而无法保证其优先级保持不变; 当然设计者也可以通过设置实 时传输标志 rtf来灵活指定某些节点为实时传输的节点)。 为避免优先级高的节点长期占用总线, 优先级低的节点在有紧急数据需 要传输时, 可以通过设置紧急传输标志来获得总线使用权, 总线分配模块检 测到优先级低的节点设置了紧急传输标志后, 在传输完当前数据后, 即开始 传输该设置了紧急传输标志的节点的数据。 对于实时性要求不高的各节点, 为了兼顾总线使用的公平性, 在系统完 成一次数据传送后(或者完成本次总线仲裁后), 更新各节点的优先级, 将当 前已完成数据传送(或者本次仲裁取得总线使用权)的节点优先级降为最低, 将氐于系统总线当前优先级的节点的优先级提升一级, 高于系统总线当前优 先级的节点的优先级保持不变, 确保各节点的优先级是唯一确定的, 不会出 现多个节点的优先级相同的问题。 其中, 系统总线当前优先级是指系统总线 当前发送数据的所属节点的优先级。 若系统总线当前空闲, 则为该空闲状态 前最后一次发送的数据所属节点的优先级。 在这里需要说明的是, 紧急传输 标志的设置并不会改变当前节点的优先级。 需要说明的是, 当各节点无实时性要求或者实时性传输要求相同(相近) 时, 总线分配模块可以退化成总线公平竟争的模型,进行总线优先级的调整, 从而实现公平调度; 当需要配置成固定优先级传输模式时, 则将实时传输标 志 (rtf)设置为有效即可, 此时各节点的优先级将始终保持不变, 总线分配 模块演化为固定优先级传输模式, 从而大大增强发明的实用性和扩展性, 降 低实现难度。 通过本实施例, 能够在保证 Rapid IO传输效率的基础上, 兼顾 Rapid IO 链路上各个节点间传输的公平性; 能够根据是否存在实时性要求, 灵活配置 使用总线分配模块。 实施例三 参照图 3 , 示出了才艮据本发明实施例三的一种总线调度方法的步骤流程 图。 本实施例中, 设定 Rapid IO系统中共有 N个节点, 首先根据 Rapid IO 系统的需求, 为每个节点的调度请求模块设置初始优先级, 初始优先级从 N1 到 Nn不等。 总线分配模块根据各个节点的总线请求情况, 为各个节点分配 总线使用权。 当某一个节点要发送数据时, 首先检测总线, 如果总线空闲则 请求总线, 如果在单位时间内申请到总线, 则开始发送数据; 如果没有申请 到总线, 表示存在多个节点同时请求总线的情况, 而总线分配模块将总线使 用权分配给了其它节点, 此时该节点重新进入总线检测状态, 等待其它节点 传输完毕之后, 根据总线分配模块的指示, 进行本节点优先级的更新, 重新 尝试请求总线, 进而发送数据。 本实施例的总线调度方法包括以下步 4聚: 步骤 S302: 总线分配模块为各个节点的调度请求模块设置初始优先级, 并提供优先级更新信号, 用于实现各节点优先级的更新。 其中, 优先级更新信号可以为总线完成当前数据传输后发送的电信号, 各个节点收到该信号后, 可以进行各节点的优先级更新。 步骤 S304: 待发送数据节点在发送数据前, 先检测总线的状态, 若总线 空闲, 则进入步骤 S306; 否则, 保持节点当前状态, 继续检测总线是否空闲。 步骤 S306: 待发送数据节点向总线分配模块申请总线。 本步骤中, 待发送数据节点通过向总线分配模块发送总线分配请求申请 总线。 步骤 S308: 总线分配模块根据各个节点的申请情况分配总线, 如果只有 一个节点申请总线, 则将总线分配给该节点使用, 进入步骤 S310; 如果有多 个节点申请总线, 则执行总线仲裁, 即确定多个节点的总线使用顺序, 之后 进入步 4聚 S310。 本步 4聚可以包括: 步骤 S308A: 判断总线系统的仲裁逻辑是否分配总线, 若是, 则执行步 l S310, 若否, 则执行步骤 S308B; 当只有一个节点申请总线时, 将总线分配给该节点使用; 当有多个节点 同时申请时, 则需要判断总线系统是否为本节点分配资源。 步骤 S308B: 调整优先级, 等待下一轮总线调度; 本步骤调整未得到总线资源的节点的优先级。 步骤 S308C: 判断是否需要启动紧急传送, 若是, 则执行步骤 S308D, 若否, 则返回步 4聚 S306; 步骤 S308D: 设置紧急传送标志 crf位, 返回步骤 S306。 步骤 S310: 节点获取总线后, 通过总线发送数据, 数据发送完毕, 则进 入步 4聚 S312。 步骤 S312: 数据发送完毕, 各节点更新各自的优先级, 返回步骤 S304。 例如, 设定本实施例有多个节点同时向总线申请资源, 若该多个节点均 为实时性要求较高的节点, 则多个节点中的每个节点在使用总线发送完数据 后, 总线系统判断该节点要求发送数据的时延小于或等于设定的时延, 即属 于始终占据优先级最高的前 N个优先级的节点, 则仍保持该节点原来的优先 级不改变。 若多个节点中部分属于实时性要求较高的节点, 而另一部分属于实时性 要求不高的节点, 则总线系统对每个发送完数据的节点进行判断, 若该节点 要求发送数据的时延小于或等于设定的时延, 则保持该节点原来的优先级不 改变; 否则, 将该节点的优先级降为最低。 若多个节点均属于实时性要求不高的节点, 则总线分配系统判断每个发 送完数据的节点, 将当前发完数据的节点的优先级降为最低, 并顺次提高其 它之前已发送完数据的节点的优先级。 对于多个节点中部分属于实时性要求较高的节点, 而另一部分属于实时 性要求不高的节点, 或者, 多个节点均属于实时性要求不高的节点的情形, 总线分配系统还可以通过判断每个发送完数据的节点是否有实时传输要求, 即是否设置了实时传输标志位 rtf, 来调整节点的优先级。 若被判断的节点设 置了 rtf位, 则保持该节点的优先级不变, 若被判断的节点没有设置 rtf位, 则将该节点的优先级降为最低。 在对上述多个发送数据的节点进行优先级更新的同时, 总线分配系统判 断共享总线的所有节点中除上述多个发送数据的节点外的其它无实时传输需 求的节点中每个节点的优先级, 若低于总线的当前优先级, 即总线当前发送 数据的所属节点的优先级, 则将被判断的节点的优先级提高一级, 若高于总 线的当前优先级, 则保持被判断的节点的优先级不变; 其它有实时传输需求 的节点的优先级, 则保持不变。 若低于总线的当前优先级的节点有紧急数据 传输需求,可以通过设置紧急传输标志位,告知系统其有紧急数据传输需求, 从而优先获取总线资源, 但设置紧急传输标志位不会改变其优先级。 通过步骤 S304 S312 的重复操作, 整个系统可以有序、 高效、 公平的 实现数据传输。 参照图 4, 示出了 居本发明实施例的一种总线仲裁方法的步骤流程图, 包括以下步 4聚: 步骤 S402:总线系统判断是否有紧急传送请求,若是,则执行步骤 S404; 若否, 则执行步骤 S406; 本步骤中, 总线系统通过待发送数据节点设置的紧急传输标志位判断是 否有紧急传送请求。 步骤 S404: 总线系统将总线分配给紧急传送请求中优先级最高的请求, 进入步 4聚 S412; 本步骤中,若只有一个紧急传送请求, 则将总线分配给该紧急传送请求。 若同时有多个紧急传送请求, 则将总线分配给多个紧急传送请求中优先级最 高的。 步骤 S406:总线系统判断是否有实时传送请求,若是,则执行步骤 S408; 若否, 则执行步骤 S410; 本步骤中, 若同时有多个节点向总线申请资源, 向总线发送总线分配请 求, 则总线系统判断其中是否有实时传送请求 (设置了 rtf位), 即实时性要 求较高的节点发送的请求, 若有, 则执行步骤 S408, 将总线分配给实时传送 请求中优先级最高的 (若仅有一个实时传送请求, 则直接将总线分配给该请 求); 若没有, 则执行步骤 S410, 将总线分配给多个非实时性传送请求中优 先级最高的。 步骤 S408: 总线系统将总线分配给实时传送请求中优先级最高的, 进入 步骤 S412; 步骤 S410: 总线系统将总线分配给非实时性传送请求中优先级最高的, 进入步 4聚 S412; 步骤 S412: 调整各节点的优先级, 等待下一轮总线预调度。 实施例四 参照图 5 , 示出了根据本发明实施例四的一种总线调度装置的结构框图, 包括: 接收模块 502 , 用于同时接收多个节点发送的总线分配请求, 其中, 多 个节点共享同一总线; 分配模块 504 , 用于按照多个节点中每个节点的优先 级为每个节点分配总线资源。 优选的, 每个节点的优先级根据每个节点发送数据的实时性要求, 即传 输时延的大小设定, 实时性要求越高则优先级越高。 优选的, 本实施例的总线调度装置还包括: 第一优先级更新模块 506 , 用于在得到总线资源的节点使用总线资源发送完数据后, 判断节点是否有实 时传输标志, 若是, 则保持该节点的优先级不变, 若否, 则将该节点的优先 级降为最低; 和 /或第二优先级更新模块 508, 用于在得到总线资源的节点使 用总线资源发送完数据后, 判断该节点发送数据的时延是否小于或等于设定 时延; 若是, 则保持该节点的优先级不变, 若否, 则将该节点的优先级设置 为最低优先级。 优选的, 本实施例的总线调度装置还包括: 紧急发送模块 510, 用于如 果有节点需要紧急传送数据; 则在发送完当前数据后, 为该节点分配总线资 源。 优选的, 本实施例的总线调度装置还包括: 第三优先级更新模块 512 , 用于判断共享总线的所有节点中除多个节点外的其它节点中每个节点的优先 级; 若被判断的节点的优先级低于总线的当前优先级, 并且无实时传输要求, 则将该节点的优先级提高一级; 若被判断的节点的优先级高于总线的当前优 先级, 则保持该节点的优先级不变; 其中, 总线的当前优先级为总线当前发 送数据的所属节点的优先级。 优选的, 本实施例的总线为 Rapid IO总线。 实施例五 参照图 6 , 示出了根据本发明实施例五的一种总线调度装置的结构示意 图。 如图 6中所示, 本实施例中, 共享总线的节点 0到节点 n, 每个节点中 都设置有总线请求模块, 用以向总线发送总线分配请求, 申请总线资源。 全 局总线仲裁模块, 用以对节点发送的总线分配请求进行仲裁。 当节点 0到节点 n中的多个节点同时通过总线请求模块, 向总线请求资 源时, 总线调度装置中的接收模块同时接收这些节点的请求, 由全局总线仲 裁模块对这些请求进行仲裁, 若多个节点的请求中有紧急传送请求, 则仲裁 分配模块优先为紧急传送请求的节点中优先级最高的分配总线资源; 若多个 节点的请求中有实时传送请求, 则仲裁分配模块优先为实时传送请求的节点 中优先级最高的分配总线资源; 若多个节点的请求中均为一般传送请求, 则 仲裁分配模块优先为一般传送请求的节点中优先级最高的分配总线资源。 图 6中, 以节点 0为例, i_crf_0表示节点 0的紧急传输信号, i_rtf_0表 示节点 0 的实时传输信号, i_bus_req_0表示节点 0 的总线分配请求信号, i_busy_0表示节点 0的忙碌信号, i_prio_0表示节点 0的优先级信号。 图 6中, o_bus_state表示总线状态信号, o_bus_grant表示总线 ·ί受权信号, o_c_prio表示当前系统总线优先级信号。 需要说明的是, 本发明虽然特别适用于 Rapid IO链路中, 但同样适用于 其它各节点数据率不均衡和实时性要求不同的总线系统场景, 并且对节点数 据突发传输有一定的适应能力。 本发明的上述多个实施例针对多处理器系统中出现多个节点抢占同一 Rapid IO总线的场景,提出了一种基于动态优先级的总线调度机制,在 Rapid IO系统数据交互过程中, 各个节点都需要占用总线时, 系统能够根据优先级 动态分配总线, 保证各节点实时高效同时兼顾公平地传输数据; 当某节点的 瞬时传输速率发生改变, 緩存压力变大, 亟需传输当前数据时, 可以通过使 能紧急传输标志 ( crf )优先传输当前节点数据, 实现在一定范围内应对突发 传输的能力。 而当其他节点空闲时, 某节点可以独占 Rapid IO总线, 提高总 线传输效率。 显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤可 以用通用的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布 在多个计算装置所组成的网络上, 可选地, 它们可以用计算装置可执行的程 序代码来实现, 从而, 可以将它们存储在存储装置中由计算装置来执行, 并 且在某些情况下, 可以以不同于此处的顺序执行所示出或描述的步骤, 或者 将它们分别制作成各个集成电路模块, 或者将它们中的多个模块或步骤制作 成单个集成电路模块来实现。 这样, 本发明不限制于任何特定的硬件和软件 结合。 以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本 领域的技术人员来说, 本发明可以有各种更改和变化。 凡在本发明的 ^"神和 W 原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的保护 范围之内。

Claims

权 利 要 求 书
1. 一种总线调度方法, 其特征在于, 包括:
同时接收多个节点发送的总线分配请求, 所述多个节点共享所述总 线;
按照所述多个节点中每个节点的优先级为所述每个节点依次分配总 线资源。
2. 根据权利要求 1所述的方法, 其特征在于, 所述优先级根据所述每个节 点发送数据的传输时延的大小设定。
3. 根据权利要求 1所述的方法, 其特征在于, 还包括: 在得到总线资源的节点使用所述总线资源发送完数据后, 判断该节 点是否有实时传输要求;
若是, 则保持该节点的优先级不变, 若否, 则将该节点的优先级降 为最低。
4. 根据权利要求 1所述的方法, 其特征在于, 还包括: 在得到总线资源的节点使用所述总线资源发送完数据后, 判断该节 点发送数据的时延是否小于或等于设定时延;
若是, 则保持该节点的优先级不变, 若否, 则将该节点的优先级设 置为最低优先级。
5. 根据权利要求 4所述的方法, 其特征在于, 还包括:
判断共享所述总线的所有节点中除所述多个节点外的其它节点中每 个节点的优先级;
若被判断的节点的优先级氏于所述总线的当前优先级, 并且无实时 传输要求, 则将该节点的优先级提高一级; 否则, 保持该节点的优先级 不变;
其中, 所述当前优先级为所述总线当前发送数据的所属节点的优先 级。
6. 根据权利要求 1所述的方法, 其特征在于, 还包括:
如果有节点需要紧急传送数据; 在发送完当前数据后, 为该节点分配总线资源。
7. 根据权利要求 1至 6任一项所述的方法, 其特征在于, 所述总线为快速 输入输出 Rapid IO总线。
8. —种总线调度装置, 其特征在于, 包括:
接收模块, 用于同时接收多个节点发送的总线分配请求, 所述多个 节点共享所述总线; 分配模块, 用于按照所述多个节点中每个节点的优先级为所述每个 节点依次分配总线资源。
9. 根据权利要求 8所述的装置, 其特征在于, 所述优先级根据所述每个节 点发送数据的传输时延的大小设定。
10. 根据权利要求 8所述的装置, 其特征在于, 还包括:
第一优先级更新模块, 用于在得到总线资源的节点使用所述总线资 源发送完数据后, 判断该节点是否有实时传输要求; 若是, 则保持该节 点的优先级不变, 若否, 则将该节点的优先级降为最低;
和 /或
第二优先级更新模块, 用于在得到总线资源的节点使用所述总线资 源发送完数据后,判断该节点发送数据的时延是否小于或等于设定时延; 若是, 则保持该节点的优先级不变, 若否, 则将该节点的优先级设置为 最氐优先级。
11. 根据权利要求 10所述的装置, 其特征在于, 还包括:
第三优先级更新模块, 用于判断共享所述总线的所有节点中除所述 多个节点外的其它节点中每个节点的优先级; 若被判断的节点的优先级 低于所述总线的当前优先级, 并且无实时传输要求, 则将该节点的优先 级提高一级; 否则, 保持该节点的优先级不变;
其中, 所述总线的当前优先级为所述总线当前发送数据的所属节点 的优先级。
2. 根据权利要求 8所述的装置, 其特征在于, 还包括: 紧急发送模块, 用于如果有节点需要紧急传送数据; 则在发送完当 前数据后, 为该节点分配总线资源。
PCT/CN2010/076953 2010-07-30 2010-09-15 总线调度方法及装置 WO2012012961A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010243005.9 2010-07-30
CN2010102430059A CN102347877A (zh) 2010-07-30 2010-07-30 总线调度方法及装置

Publications (1)

Publication Number Publication Date
WO2012012961A1 true WO2012012961A1 (zh) 2012-02-02

Family

ID=45529373

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/076953 WO2012012961A1 (zh) 2010-07-30 2010-09-15 总线调度方法及装置

Country Status (2)

Country Link
CN (1) CN102347877A (zh)
WO (1) WO2012012961A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107528798A (zh) * 2016-06-22 2017-12-29 宁波工程学院 基于rs485总线系统的优化调度方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103823780B (zh) * 2014-03-03 2016-10-12 东南大学 一种实时现场总线控制调度方法
CN104199405A (zh) * 2014-08-25 2014-12-10 上海雷尼威尔技术有限公司 液化天然气站监控系统
CN109687925A (zh) * 2019-02-01 2019-04-26 中电科仪器仪表有限公司 一种多通道基带信道模拟装置及方法
CN110609803B (zh) * 2019-09-17 2021-02-02 上海钧正网络科技有限公司 主从通信方法、装置、系统、计算机设备和可读存储介质
CN110674065B (zh) * 2019-10-09 2021-01-15 上海钧正网络科技有限公司 一种在总线上的竞争仲裁方法和系统
CN112949247B (zh) * 2021-02-01 2022-05-20 上海天数智芯半导体有限公司 一种基于相位的芯片片上总线调度装置及调度方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866702A (en) * 1987-09-22 1989-09-12 Nec Corporation Star topology local area network
US5359320A (en) * 1990-03-29 1994-10-25 Mti Technology Corporation Method and apparatus for scheduling access to a CSMA communication medium of a node having arbitration circuit
CN1134207A (zh) * 1993-09-20 1996-10-23 特兰斯伟奇公司 异步数据传送和源业务量控制系统
GB2372916A (en) * 2001-02-28 2002-09-04 Motorola Inc Dynamic bus arbitration for shared bus architecture

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100525233C (zh) * 2007-08-28 2009-08-05 杭州电子科技大学 一种基于can总线的信号实时性处理方法
CN101676890B (zh) * 2008-08-15 2012-05-16 北京北大众志微系统科技有限责任公司 一种动态调整带宽分配的总线仲裁方法及仲裁器
CN101510181A (zh) * 2009-03-19 2009-08-19 北京中星微电子有限公司 一种总线仲裁方法和总线仲裁装置
CN101719793B (zh) * 2009-12-07 2012-12-12 浙江工业大学 基于优先级动态调整的单向光总线网络访问控制系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866702A (en) * 1987-09-22 1989-09-12 Nec Corporation Star topology local area network
US5359320A (en) * 1990-03-29 1994-10-25 Mti Technology Corporation Method and apparatus for scheduling access to a CSMA communication medium of a node having arbitration circuit
CN1134207A (zh) * 1993-09-20 1996-10-23 特兰斯伟奇公司 异步数据传送和源业务量控制系统
GB2372916A (en) * 2001-02-28 2002-09-04 Motorola Inc Dynamic bus arbitration for shared bus architecture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107528798A (zh) * 2016-06-22 2017-12-29 宁波工程学院 基于rs485总线系统的优化调度方法
CN107528798B (zh) * 2016-06-22 2020-09-08 宁波工程学院 基于rs485总线系统的优化调度方法

Also Published As

Publication number Publication date
CN102347877A (zh) 2012-02-08

Similar Documents

Publication Publication Date Title
WO2012012961A1 (zh) 总线调度方法及装置
JP5036920B1 (ja) 中継装置、中継装置の制御方法、およびプログラム
US9571402B2 (en) Congestion control and QoS in NoC by regulating the injection traffic
CN107220200B (zh) 基于动态优先级的时间触发以太网数据管理系统及方法
JP2008536391A (ja) 待ち時間の削減のためのネットワークオンチップ環境及び方法
JP5793690B2 (ja) インタフェース装置、およびメモリバスシステム
US10248615B2 (en) Distributed processing in a network
US20150052283A1 (en) Interface apparatus and memory bus system
EP3461086B1 (en) Communication apparatus, communication method and computer-readable medium
JP5975446B2 (ja) アクセス制御装置、中継装置、アクセス制御方法、コンピュータプログラム
WO2013073172A1 (ja) 中継装置、中継装置の制御方法、およびコンピュータプログラム
TW201001975A (en) Network system with quality of service management and associated management method
WO2014075556A1 (zh) 一种时隙资源的碰撞处理方法及装置
WO2015035955A1 (zh) 内存模组访问方法及装置
CN107766267B (zh) 一种i2c总线的仲裁方法及系统
CN104904169A (zh) 调整线程优先级以改进点到点(p2p)器件之间的吞吐量
TWI717373B (zh) 用於通用序列匯流排2.0頻寬保留之方法及系統
CN111836370B (zh) 一种基于竞争的资源预约方法及设备
CN1191700C (zh) 通信控制方法及设备
JP2018516489A (ja) マルチチャネルネットワークにおけるアービトレーションおよび適応的電力サイクリングのための方法
CN109450817B (zh) 时间触发以太网多业务消息发送的混合调度方法
JP4684031B2 (ja) バス・システム、バス管理装置、ノード装置、およびバス管理装置用のプログラム
KR20170024876A (ko) 실시간 공유 인터페이스를 포함하는 시스템 온 칩의 스케쥴링 방법
Fasiku et al. A Centralized Token-based Medium Access Control Mechanism for Wireless Network-on-Chip
JPH04256246A (ja) バス優先占有方式およびその方式を使用した通信ネットワーク接続装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10855189

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10855189

Country of ref document: EP

Kind code of ref document: A1